/* Warm paper and forest ink, shared by the new entry and story editor. */
.family-theme { --bg:#f5f3ec; --bg-alt:#eeece3; --bg-card:#fffef9; --surface:#eeece3; --border:#cecfc3; --border-light:#deded3; --text:#303d34; --text-secondary:#596259; --text-muted:#697167; --text-inverse:#fffef9; --gold:#435a47; --gold-dark:#314534; --gold-light:#617662; --gold-bg:#e6e9de; --accent:#435a47; --accent-hover:#314534; --error:#a13d35; --font-serif:Georgia,'Times New Roman',serif; --font-sans:'Outfit','Segoe UI',system-ui,sans-serif; font-family:var(--font-sans); }
.family-theme .navbar { background:rgba(245,243,236,.96); backdrop-filter:blur(12px); }
.family-theme .btn--primary { color:#fffef9; box-shadow:none; }
.family-theme .btn--primary:hover { background:#314534; box-shadow:0 4px 14px #34473718; }
.family-theme .btn { border-radius:5px; }
.family-theme .navbar__logo .logo-icon { background:var(--gold); }
.family-theme .form-hero { background:var(--bg); }
.family-theme .wizard-progress { background:var(--bg-card); }
.family-theme .wizard-step { background:var(--bg-card); }
.family-theme .form-input,.family-theme .form-select,.family-theme .form-textarea { background:var(--bg-card); }
.family-theme .form-hero h1 { letter-spacing:-.045em; }
.family-theme .form-product-badge { border-radius:3px; }
.family-theme [hidden] { display:none !important; }
.story-context { margin-bottom:2rem; padding:1.3rem; background:var(--bg-alt); border-radius:8px; }
.story-context select { width:100%; }
.story-context .form-hint { display:block; margin-top:.7rem; }

/* The editor uses a compact sans-serif hierarchy and inline field feedback. */
.family-theme.form-page h1, .family-theme.form-page h2, .family-theme.form-page h3, .family-theme.form-page h4 { font-family: var(--font-sans); }
.family-theme .form-hero h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; font-weight: 500; }
.family-theme .wizard-step__header h2 { font-size: 1.65rem; letter-spacing: -.03em; font-weight: 500; }
.family-theme .form-label { margin-bottom: 8px; font-weight: 500; }
.family-theme .form-input, .family-theme .form-select, .family-theme .form-textarea { border-radius: 5px; }
.family-theme [aria-invalid="true"] { border-color: var(--error); }
.family-theme .form-error { margin-top: 8px; color: var(--error); font-size: .85rem; line-height: 1.5; }
.family-theme .btn { transition: background-color .25s, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .25s; }
.family-theme .btn:active { transform: scale(.98); }
@media (max-width: 767px) {
  .family-theme .navbar__mobile-toggle { margin-left: auto; }
  .family-theme .autosave-indicator { display: none; }
  .family-theme.form-page .form-hero { padding-top: 100px; }
}
