/* Schema Generator — tool-specific */
.page { padding: 40px 20px; max-width: 720px; margin: 0 auto; }
.page h1 { font-size: 26px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.page .subtitle { color: #888; margin-bottom: 20px; font-size: 14px; }

.form-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.opt-label { font-size: 11px; color: #aaa; text-transform: uppercase; letter-spacing: 1px; font-weight: 500; }
.form-row select, .form-row input, .form-row textarea {
  background: #0d0d0d; border: 1px solid #2a2a2a; color: #fff;
  padding: 9px 12px; border-radius: 6px; font-size: 14px;
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}
.form-row textarea { resize: vertical; line-height: 1.5; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-grid .full { grid-column: 1 / -1; }

.faq-list, .step-list { display: flex; flex-direction: column; gap: 8px; grid-column: 1 / -1; }
.faq-item, .step-item { display: flex; gap: 6px; flex-direction: column; padding: 8px; background: #0d0d0d; border: 1px solid #2a2a2a; border-radius: 6px; }
.faq-item input, .faq-item textarea, .step-item input { font-size: 13px; }
.faq-item .row, .step-item .row { display: flex; gap: 6px; align-items: center; }
.faq-item .row .num, .step-item .num { font-size: 11px; color: #888; font-family: 'SF Mono', monospace; min-width: 24px; }
.faq-item .x, .step-item .x { background: transparent; border: none; color: #555; cursor: pointer; font-size: 16px; padding: 0 8px; }
.faq-item .x:hover, .step-item .x:hover { color: #ff4444; }
.add-btn {
  background: transparent; border: 1px dashed #2a2a2a; color: #888;
  padding: 6px 12px; border-radius: 4px; cursor: pointer; font-size: 12px;
  align-self: flex-start;
}
.add-btn:hover { border-color: #ff4444; color: #ff4444; }

.output {
  background: #0d0d0d; border: 1px solid #2a2a2a; color: #4caf50;
  padding: 16px; border-radius: 8px; font-family: 'SF Mono', monospace;
  font-size: 12px; line-height: 1.6; white-space: pre-wrap; word-break: break-word;
  max-height: 500px; overflow-y: auto;
  margin: 8px 0 12px;
}

.action-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.action-row a.btn { display: inline-flex; align-items: center; gap: 4px; }
.status-msg { font-size: 13px; margin-left: 8px; }
.status-msg.ok { color: #4caf50; }

.schema-table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 12px 0; }
.schema-table th { text-align: left; padding: 6px 12px; color: #888; font-weight: 500; border-bottom: 1px solid #2a2a2a; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; }
.schema-table td { padding: 6px 12px; border-bottom: 1px solid #1f1f1f; color: #ccc; }
.schema-table td:first-child { font-family: 'SF Mono', monospace; color: #fff; }

@media (max-width: 600px) {
  .page { padding: 24px 12px; }
  .page h1 { font-size: 22px; }
  .form-grid { grid-template-columns: 1fr; }
}
