/* Composed views. Shared controls live in components; no global !important overrides. */
@layer pages {
  .page-heading { padding: 12px 0 30px; }
  .page-kicker { margin: 0 0 12px; color: var(--brand); font-size: 12px; font-weight: 600; letter-spacing: .18em; }
  .page-heading h1 { font-size: var(--f-title-size); margin: 0; line-height: 1.4; letter-spacing: .04em; }
  .page-intro { margin: 10px 0 0; color: var(--ink-soft); font-size: 15px; }
  .form-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
  .form-heading-title { min-width:0; }
  .form-heading-title .flow-step-label { margin-bottom:3px; }
  .form-heading h2 { min-width:max-content; margin:0; font-size:21px; white-space:nowrap; }
  .sample-aux-link { display:inline-flex; align-items:center; min-height:44px; margin:0; padding:0; border:0; background:none; color:var(--ink-soft); font:14px var(--font-body); white-space:nowrap; text-align:left; cursor:pointer; text-underline-offset:5px; }
  .sample-aux-link:hover { color:var(--brand); text-decoration:underline; background:none; }
  #bazi-zone { max-width:760px; width:100%; margin-inline:auto; }
  #bazi-zone .mode-switch { width:100%; max-width:360px; margin:0 0 24px; }
  #profile-card { padding:32px; margin:0; border:1px solid var(--line); border-bottom:0; border-radius:12px 12px 0 0; background:var(--card); box-shadow:none; }
  #profile-actions-card { padding:0 32px 32px; margin:0 0 24px; border:1px solid var(--line); border-top:0; border-radius:0 0 12px 12px; background:var(--card); box-shadow:none; }
  #profile-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; padding-top:24px; }
  #profile-actions #gen { width:100%; min-height:52px; margin:0; white-space:nowrap; }
  #profile-cost { display:block; margin:0; padding:0; border:0; background:none; color:var(--ink-soft); font-size:13px; line-height:1.6; text-align:center; white-space:normal; }
  #profile-card .seg-switch { max-width:340px; margin:0 0 8px; }
  #profile-card .form-row { display:block; margin:24px 0 0; }
  #profile-card .date-time-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
  #profile-card .dt-cell { min-width:0; width:auto; margin:0; }
  #profile-card label { margin:0 0 10px; }
  #profile-card .dt-input-row { display:block; }
  #profile-card .dt-cell input { width:100%; min-height:50px; margin:0; font-size:16px; }
  #profile-card .zodiac-tag { display:block; background:none; border:0; padding:6px 0 0; font-size:13px; color:var(--ink-soft); }
  #profile-card .field-error:empty { display:none; }
  #profile-card .field-error { margin:6px 0 0; min-height:0; }
  .cal-hint, .time-exact-hint { color:var(--ink-soft); font-size:13px; line-height:1.65; margin:6px 0 0; }
  #approx-time-range { margin-top:16px; }
  #approx-time-range[hidden] { display:none; }
  .time-range-fields { display:flex; align-items:center; gap:8px; }
  .time-range-fields input { flex:1 1 0; min-width:0; }
  .time-range-fields span { color:var(--ink-soft); }
  .time-trigger-link { display:inline-flex; align-items:center; width:auto; min-height:44px; height:auto; margin:0; padding:8px 0; background:none; color:var(--btn-primary); border:0; font-size:14px; box-shadow:none; text-align:left; }
  .time-trigger-link:hover { background:none; text-decoration:underline; text-underline-offset:4px; }
  .gender-big { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; }
  .gender-big .gender-btn { width:100%; min-height:48px; height:auto; margin:0; padding:12px; border:1px solid var(--control-border); border-radius:8px; background:var(--card); color:var(--ink-soft); box-shadow:none; font-size:15px; font-weight:500; gap:10px; }
  .gender-big .gender-btn.is-active { background:var(--brand-light); border-color:var(--brand); color:var(--brand); box-shadow:none; }
  .gender-big .gender-sym { color:inherit; font-size:18px; }
  .subject-select { margin-top:24px; }
  .subject-select .ss-title { color:var(--ink); font-size:15px; font-weight:500; margin:0 0 10px; }
  .ss-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 8px; }
  .ss-btn { min-width:0; width:100%; min-height:44px; height:auto; margin:0; padding:10px 6px; border:1px solid var(--control-border); background:var(--card); color:var(--ink-soft); border-radius:8px; font-size:14px; line-height:1.4; }
  .ss-btn.is-active { border-color:var(--brand); background:var(--brand-light); color:var(--brand); box-shadow:none; }
  .advanced-details, .manual-feature { margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }
  .advanced-details > summary, .manual-feature > summary { min-height:44px; padding:10px 0; background:none; border:0; border-radius:0; color:var(--ink); font:500 15px/1.6 var(--font-body); }
  .optional-label { color:var(--ink-soft); font-size:12px; font-weight:400; margin-left:8px; }
  .advanced-details .row { gap:20px; padding-top:12px; }
  .advanced-details .row > div { flex-basis:calc(50% - 20px); min-width:0; }
  .image-interpret { padding:28px; background:var(--card); border:1px solid var(--line); border-radius:12px; }
  .ii-title { font:600 21px var(--font-title); color:var(--ink); }
  .ii-hint, .ii-fname { color:var(--ink-soft); font-size:14px; }
  .ii-file-btn { background:var(--card); border:1px dashed var(--control-border); color:var(--ink); border-radius:8px; }
  .ii-btn, .ii-btn.ii-stage1, .ii-btn.ii-confirm-btn { background:var(--btn-primary); color:var(--card); font-weight:500; border-radius:8px; }
  .ii-btn.ghost { background:var(--card); color:var(--ink); border:1px solid var(--control-border); }
  .ii-confirm, .ii-warn { border-width:1px; }
  .dropzone { border:1px dashed var(--control-border); background:var(--bg); color:var(--ink-soft); border-radius:8px; padding:24px 16px; }
  .dropzone.drag { background:var(--bg-subtle); border-color:var(--btn-primary); }
  .subtab { background:var(--card); color:var(--ink-soft); border:1px solid var(--control-border); border-radius:8px; min-height:44px; box-shadow:none; }
  .subtab.active,.subtab.is-active { background:var(--brand-light); border-color:var(--brand); color:var(--brand); }

  /* Daily: only show result anchors after usable results exist. */
  #daily-zone { padding:0; border:0; background:none; box-shadow:none; gap:0; }
  #daily-zone > .page-kicker { order:-3; padding-top:12px; }
  #daily-zone > h3 { order:-2; display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:0 0 28px; font-size:28px; line-height:1.5; }
  .daily-free-badge { padding:4px 10px; font:400 12px/1.5 var(--font-body); color:var(--ink-soft); background:var(--bg-subtle); border:0; border-radius:4px; }
  #daily-zone #daily-user-profile { order:0; padding:28px; margin:0 0 24px; background:var(--card); border:1px solid var(--line); border-radius:12px; }
  #daily-zone #daily-result { order:1; margin-top:0; }
  #daily-zone #daily-module-guide { order:2; }
  #daily-zone .daily-anchor-nav { order:-1; top:96px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:var(--bg); box-shadow:none; padding:8px 0; margin:0 0 24px; gap:12px; }
  .daily-anchor-nav a { display:inline-flex; align-items:center; min-height:44px; padding:6px 8px; color:var(--ink-soft); font-weight:500; border-radius:4px; }
  .daily-anchor-nav a:hover { color:var(--brand); background:var(--brand-light); }
  .daily-profile-capsule { display:flex; flex-wrap:wrap; gap:8px; background:none; border:0; padding:0; }
  .daily-profile-capsule strong { font-size:16px; color:var(--ink); font-weight:500; }
  .daily-profile-badge { color:var(--ink-soft); background:var(--bg-subtle); border:0; border-radius:4px; font-size:12px; font-weight:400; }
  .daily-profile-actions { display:flex; flex-direction:column; align-items:stretch; gap:16px; margin-top:24px; }
  .daily-member-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:14px; border:1px solid var(--line); border-radius:10px; background:var(--bg-subtle); }
  .daily-member-actions .daily-checkin-btn { min-height:48px; width:100%; margin:0; }
  .daily-retention-note { min-height:22px; color:var(--ink-soft); font-size:13px; line-height:1.6; }
  .daily-streak-progress { display:flex; align-items:center; gap:5px; min-height:20px; }
  .daily-streak-day { width:12px; height:12px; border:1px solid var(--control-border); border-radius:50%; background:var(--card); }
  .daily-streak-day.is-filled { background:var(--brand); border-color:var(--brand); }
  .daily-streak-label { color:var(--ink-soft); font-size:12px; white-space:nowrap; }
  .daily-reading-tier { margin:0 0 20px; }
  .daily-reading-tier > summary { min-height:48px; padding:12px 16px; border:1px solid var(--line); border-radius:10px; background:var(--card); color:var(--ink); font-weight:600; cursor:pointer; }
  .daily-reading-tier[open] > summary { margin-bottom:16px; }
  .daily-term-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
  .daily-term-chip { display:inline-block; }
  .daily-term-chip > summary { min-height:36px; padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:var(--bg-subtle); color:var(--ink-soft); font-size:12px; cursor:pointer; }
  .daily-term-chip > p { max-width:360px; margin:6px 0 0; padding:8px 10px; border-radius:8px; background:var(--bg-subtle); color:var(--ink-soft); font-size:12px; line-height:1.6; }
  .daily-quick-card { margin-top:16px; }
  .daily-quick-summary { margin:10px 0 0; color:var(--ink); font-size:15px; line-height:1.75; }
  .daily-quick-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
  .daily-quick-grid > div { min-width:0; padding:12px; border-radius:8px; background:var(--bg-subtle); }
  .daily-quick-grid span { display:block; margin-bottom:6px; color:var(--ink-soft); font-size:12px; }
  .daily-quick-grid ul { margin:0; padding-left:18px; color:var(--ink); font-size:13px; line-height:1.65; }
  .daily-quick-grid b { color:var(--ink); font-size:13px; line-height:1.6; }
  .daily-personal-gate { display:grid; gap:6px; margin-top:14px; padding:14px; border:1px solid var(--line); border-radius:10px; background:var(--bg-subtle); }
  .daily-personal-gate strong { color:var(--ink); font-size:14px; }
  .daily-personal-gate span { color:var(--ink-soft); font-size:13px; line-height:1.6; }
  .daily-personal-gate button { width:max-content; min-height:40px; margin:4px 0 0; }
  .daily-module-guide { margin:24px 0; padding:24px; border:1px solid var(--line); border-radius:12px; background:var(--card); }
  .daily-module-guide-heading h3 { margin:0; color:var(--ink); font:600 22px/1.45 var(--font-title); }
  .daily-module-guide-heading p:not(.page-kicker) { margin:8px 0 0; color:var(--ink-soft); font-size:14px; line-height:1.7; }
  .daily-module-guide-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:18px; }
  .daily-module-card { display:grid; align-content:start; justify-items:start; gap:6px; min-width:0; min-height:92px; margin:0; padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--bg-subtle); color:var(--ink); box-shadow:none; text-align:left; }
  .daily-module-card:hover { border-color:var(--brand); background:var(--brand-light); color:var(--ink); transform:none; box-shadow:none; }
  .daily-module-card-primary { grid-column:span 1; background:var(--accent-light); border-color:var(--accent-2); }
  .daily-module-card-kicker { color:var(--brand); font-size:11px; letter-spacing:.12em; }
  .daily-module-card strong { font-size:15px; font-weight:600; }
  .daily-module-card span:not(.daily-module-card-kicker) { color:var(--ink-soft); font-size:12px; line-height:1.55; }
  .daily-profile-extra > summary { min-height:36px; color:var(--ink-soft); font-size:13px; }
  .daily-profile-extra { margin-top:0; }
  .daily-hero, .daily-section, .daily-foundation { background:var(--card); border:1px solid var(--line); border-radius:12px; box-shadow:none; padding:24px; margin-bottom:20px; }
  .daily-energy-head, .daily-micro-card, .daily-sub-card, .daily-shichen-card { background:var(--bg-subtle); border:0; border-radius:8px; box-shadow:none; }
  .daily-energy-keyword { color:var(--ink); font-family:var(--font-title); }
  .daily-block-title { font:600 20px/1.5 var(--font-title); color:var(--ink); }
  .daily-hero > .daily-section { background:none; border:0; border-top:1px solid var(--line); padding:24px 0 0; border-radius:0; }
  .daily-hero-title { color:var(--brand); font-size:13px; font-weight:500; }
  .daily-hero-sub { color:var(--ink); font:600 26px/1.5 var(--font-title); }
  .daily-date-line { color:var(--ink); font-size:16px; }
  .daily-date-lunar,.daily-ritual-line,.daily-greeting,.daily-tagline { color:var(--ink-soft); font-size:14px; }
  .daily-hero-main { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
  .daily-hero-main > div:first-child { min-width:0; }
  .daily-live-time { flex:0 0 auto; min-width:184px; padding:14px 18px; border:1px solid var(--accent-2); border-radius:10px; background:var(--accent-light); text-align:center; }
  .daily-live-time span,.daily-live-time small { display:block; color:var(--ink-soft); font-size:12px; line-height:1.4; }
  .daily-live-time time { display:block; margin:2px 0; color:var(--brand); font:700 38px/1.1 var(--font-title); font-variant-numeric:tabular-nums; letter-spacing:.04em; }
  .daily-live-time.is-history strong { display:block; margin-top:6px; color:var(--ink); font-size:17px; font-variant-numeric:tabular-nums; }
  .daily-almanac { border-color:var(--accent-2); background:#fffaf0; }
  .daily-almanac-details > summary { display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; list-style:none; color:var(--ink); }
  .daily-almanac-details > summary::-webkit-details-marker { display:none; }
  .daily-almanac-details > summary span { display:grid; gap:4px; min-width:0; }
  .daily-almanac-details > summary b { font:700 21px/1.4 var(--font-title); }
  .daily-almanac-details > summary small { color:var(--ink-soft); font-size:13px; font-weight:400; }
  .daily-almanac-details > summary em { flex:0 0 auto; color:var(--brand); font-size:13px; font-style:normal; }
  .daily-almanac-details > summary em::after { content:' ▾'; }
  .daily-almanac-details[open] > summary em::after { content:' ▴'; }
  .daily-almanac-body { padding-top:20px; }
  .daily-almanac-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:18px; border-bottom:1px solid #e7d5ad; }
  .daily-almanac-kicker { display:block; color:var(--brand); font-size:12px; font-weight:600; letter-spacing:.15em; }
  .daily-almanac-head h4 { margin:5px 0 0; color:var(--ink); font:700 25px/1.4 var(--font-title); }
  .daily-almanac .daily-foundation-grid { margin-top:18px; }
  .daily-almanac .daily-foundation-item { background:#fffdf8; }
  .daily-almanac .daily-foundation-item span { font-size:13px; }
  .daily-almanac .daily-foundation-item b { font-size:16px; line-height:1.6; }
  .daily-almanac .daily-foundation-section { margin-top:20px; }
  .daily-almanac .daily-foundation-label { font-size:17px; }
  .daily-almanac .daily-raw-tag { min-height:34px; align-items:center; padding:6px 10px; font-size:15px; }
  .daily-almanac-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .daily-traditional-prose { margin:0; color:var(--ink); font-size:16px; line-height:1.8; }
  .daily-traditional-hours { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .daily-traditional-hour { display:grid; grid-template-columns:auto 1fr auto; gap:8px; align-items:center; min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#fffdf8; }
  .daily-traditional-hour strong { color:var(--ink); font-size:15px; }
  .daily-traditional-hour span { min-width:0; color:var(--ink-soft); font-size:12px; }
  .daily-traditional-hour b { color:var(--wu-mu); font-size:13px; }
  .daily-traditional-hour.is-cautious b { color:var(--brand); }
  .daily-almanac-note { margin:20px 0 0; padding-top:14px; border-top:1px solid #e7d5ad; color:var(--ink-soft); font-size:13px; line-height:1.7; }
  .daily-plain-heading { scroll-margin-top:150px; margin:34px 0 18px; padding-left:16px; border-left:4px solid var(--brand); }
  .daily-plain-heading span { color:var(--brand); font-size:12px; font-weight:600; letter-spacing:.16em; }
  .daily-plain-heading h4 { margin:4px 0; color:var(--ink); font:700 24px/1.45 var(--font-title); }
  .daily-plain-heading p { margin:0; color:var(--ink-soft); font-size:14px; line-height:1.7; }
  .daily-modern-overview .daily-energy-head { margin-top:0; }
  .daily-energy-head { order:0; }
  .daily-retention-actions button { box-shadow:none; border-radius:8px; }

  /* Account: one surface per group, one transaction action. */
  #settings-zone { background:none; border:0; padding:0; box-shadow:none; }
  .settings-hero { padding:12px 0 28px; background:none; border:0; border-radius:0; align-items:center; }
  .settings-hero h3 { font-size:32px; color:var(--ink); margin:0; }
  .settings-hero p { margin:10px 0 0; color:var(--ink-soft); font-size:15px; }
  .settings-hero .page-kicker { color:var(--brand); margin:0 0 12px; font-size:12px; }
  .settings-section { padding:24px; margin:0 0 24px; border:1px solid var(--line); background:var(--card); border-radius:12px; }
  .settings-section-title { color:var(--ink); font-weight:500; font-size:16px; margin-bottom:20px; flex-wrap:wrap; }
  .settings-section-title small { color:var(--ink-soft); font-size:13px; }
  .settings-account-row { flex-wrap:nowrap; gap:16px; }
  .settings-avatar { width:48px; height:48px; flex:0 0 48px; background:var(--bg-subtle); color:var(--btn-primary); }
  .settings-account-main { flex:1; min-width:0; }
  .settings-account-main strong { color:var(--ink); font-size:18px; font-weight:500; }
  .settings-account-main span { color:var(--ink-soft); font-size:13px; }
  .settings-actions { flex-shrink:0; }
  .settings-actions button, .settings-card button { min-height:44px; padding:10px 16px; margin:0; }
  .settings-grid { gap:24px; margin:0 0 24px; }
  .settings-card { border:1px solid var(--line); background:var(--card); padding:24px; border-radius:12px; }
  .settings-card h4 { font-size:20px; color:var(--ink); font-weight:600; margin:0 0 16px; }
  .settings-card p, .settings-muted { color:var(--ink-soft); font-size:13px; line-height:1.7; }
  .settings-card p { margin:12px 0; }
  .settings-balance { color:var(--ink); font-size:40px; font-weight:500; font-variant-numeric:tabular-nums; }
  .settings-metrics { margin:20px 0; gap:12px; }
  .settings-metric { background:none; text-align:left; padding:0; border-radius:0; }
  .settings-metric + .settings-metric { border-left:1px solid var(--line); padding-left:12px; }
  .settings-metric span { font-size:12px; color:var(--ink-soft); }
  .settings-metric b { color:var(--ink); font-size:16px; font-weight:500; }
  .recharge-picker { border:0; padding:0; margin:20px 0 16px; min-width:0; }
  .recharge-picker legend { color:var(--ink); font-size:14px; }
  .settings-package-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }
  .settings-package-row label { position:relative; display:block; margin:0; cursor:pointer; }
  .settings-package-row input { position:absolute; opacity:0; width:1px; height:1px; min-height:0; }
  .settings-package-row span { display:grid; place-items:center; padding:12px 4px; min-height:48px; border:1px solid var(--control-border); background:var(--card); border-radius:8px; color:var(--ink); font-size:16px; }
  .settings-package-row input:checked + span { border-color:var(--brand); color:var(--brand); background:var(--brand-light); box-shadow:inset 0 0 0 1px var(--brand); }
  .settings-package-row input:focus-visible + span { outline:2px solid var(--focus-ring); outline-offset:3px; }
  #settings-recharge-confirm { width:100%; }
  .settings-code { padding:8px 12px; background:var(--bg-subtle); border:0; border-radius:6px; color:var(--ink); font-weight:500; }
  .settings-record strong, .settings-record b { color:var(--ink); font-weight:500; }
  .settings-record small, .settings-records h4, .settings-record small { color:var(--ink-soft); }
  .settings-form-row input { min-height:44px; }
  .legacy-recovery-details { margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
  .legacy-recovery-details > summary { color:var(--ink-soft); font-size:13px; cursor:pointer; }
  .settings-section h4 { margin:16px 0 12px; }
  #settings-zone.is-guest .settings-metrics { display:none; }
  .settings-guest-gate { display:none; gap:8px; align-items:start; padding:20px; margin:0 0 20px; border:1px solid var(--line); border-radius:12px; background:var(--brand-light); }
  .settings-guest-gate strong { color:var(--ink); font-size:17px; }
  .settings-guest-gate span { color:var(--ink-soft); font-size:14px; line-height:1.65; }
  .settings-guest-gate button { width:max-content; min-height:44px; margin:6px 0 0; }
  #settings-zone.is-guest .settings-guest-gate { display:grid; }
  #settings-zone.is-guest [data-account-only] { display:none !important; }
  #settings-zone.is-guest .settings-actions { display:none !important; }

  .result-flow-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:6px; }
  .result-flow-heading h3 { margin:3px 0 0; }
  .flow-step-label { display:block; color:var(--brand); font-size:12px; font-weight:700; letter-spacing:.08em; }
  .result-flow-hint { margin:0 0 16px; color:var(--ink-soft); font-size:14px; line-height:1.65; }
  .result-next-action { flex:0 0 auto; width:auto; min-height:42px; margin:0; }
  #chart-zone-card,#ask-zone { scroll-margin-top:92px; outline:none; }
  #chart-zone-card:focus-visible,#ask-zone:focus-visible { outline:2px solid var(--focus-ring); outline-offset:4px; }

  /* Result reading and cultural references stay quiet and legible. */
  .readout, .readout p, .result-card .summary-text, .case-row { color:var(--ink); font-size:16px; line-height:1.8; }
  .readout h2, .fu-a .readout h2 { background:none; color:var(--ink); border:0; padding:0; margin:24px 0 12px; font:600 21px/1.5 var(--font-title); }
  .classic-quote { background:var(--bg-subtle); border-left:2px solid var(--accent); box-shadow:none; color:var(--ink); font:400 17px/1.9 var(--font-title); padding:20px 24px; }
  .classic-quote .classic-source { color:var(--ink-soft); background:none; font:13px var(--font-body); }
  .fu-q { background:var(--bg-subtle); border:0; color:var(--ink); }
  .fu-a { background:var(--card); border:1px solid var(--line); border-left:2px solid var(--accent); }
  .fu-a .fu-role { color:var(--ink-soft); border-color:var(--line); }
  .card.result-card { border:1px solid var(--line); border-top:2px solid var(--accent); box-shadow:none; }
  .privacy-note { border-top:1px solid var(--line); }
  footer { color:var(--ink-soft); }
}

@layer pages {
  /* Global staged-flow refresh: compact inputs, one visible next action, progressive detail. */
  .mobile-primary-action { display:none; }
  #liuyao-zone, #qimen-zone, #ziwei-zone, #xiang-zone { max-width:960px; width:100%; margin-inline:auto; }
  #liuyao-zone > h3, #qimen-zone > h3, #ziwei-zone > h3, #xiang-zone > h3 { margin-bottom:6px; font-size:24px; }
  #liuyao-zone > .muted, #qimen-zone > .muted, #ziwei-zone > .muted { max-width:760px; margin-bottom:16px !important; line-height:1.65; }

  .module-input-panel { margin-top:12px; padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--card); }
  .module-form-grid { display:grid; gap:16px; align-items:start; }
  .module-form-grid > div, .module-input-panel > .row > div { min-width:0; }
  .module-form-grid > div > label, .module-input-panel > .row > div > label { min-height:0 !important; margin:0 0 7px; font-size:14px; line-height:1.45; }
  .module-form-grid input, .module-form-grid select, .module-input-panel input, .module-input-panel select { min-height:46px; height:46px; padding:10px 12px; font-size:15px; }
  .qimen-form-grid { grid-template-columns:minmax(300px,1.7fr) minmax(180px,1fr) minmax(160px,.8fr); }
  .ziwei-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #qm-input-panel > .row:not(.qimen-form-grid) { display:grid; grid-template-columns:minmax(260px,2fr) minmax(160px,.8fr) minmax(190px,auto) minmax(190px,auto); gap:16px; }
  #zw-input-panel > .row:not(.ziwei-form-grid) { display:grid; grid-template-columns:minmax(280px,1fr) minmax(210px,auto) minmax(210px,auto); gap:16px; }
  .module-action-cell, .module-secondary-action { align-self:end; }
  .module-secondary-action:has(button:disabled) { display:none; }
  .module-action-cell .btn-free-wrap, .module-secondary-action .btn-free-wrap { display:flex; flex-direction:column; align-items:stretch; gap:5px; width:100%; }
  .module-action-cell .btn-primary, .module-secondary-action button { width:100%; min-height:46px; margin:0; white-space:nowrap; }
  .module-action-cell .cost-badge, .module-secondary-action .cost-badge { margin:0; text-align:center; overflow:visible; }
  .module-collapsed-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:16px 0 12px; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--brand-light); }
  .module-summary-copy { display:flex; align-items:center; gap:9px; min-width:0; color:var(--ink); font-size:14px; line-height:1.5; }
  .module-complete-mark { display:grid; place-items:center; flex:0 0 24px; width:24px; height:24px; border-radius:50%; background:var(--brand); color:#fff; font-weight:700; }
  .module-edit-input { flex:0 0 auto; width:auto; min-height:38px; margin:0; padding:7px 12px; }
  .module-result { scroll-margin-top:92px; outline:none; }
  .module-result:focus-visible { outline:2px solid var(--focus-ring); outline-offset:4px; border-radius:12px; }
  .module-result > .card { margin-top:12px; padding:20px; }
  .module-table-scroll { overflow-x:auto; padding:0 12px 12px; }
  .module-raw-data { margin-top:12px; }

  .liuyao-method-help { margin:10px 0 4px; border:1px solid var(--line); border-radius:10px; background:var(--bg-subtle); color:var(--ink-soft); }
  .liuyao-method-help > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 14px; cursor:pointer; color:var(--ink); }
  .liuyao-method-help > summary span { font-size:12px; font-weight:400; color:var(--ink-soft); }
  .liuyao-method-help .module-help-body { padding:0 14px 14px; border-top:1px solid var(--line); font-size:13px; line-height:1.7; }
  #liuyao-report { min-height:0; }
  #liuyao-report .service-failed-card { padding:16px; }
  #liuyao-zone #ly-ask:disabled { display:none; }

  #ziwei-zone .hint { min-height:0; margin:6px 0 0; font-size:12px; line-height:1.55; }
  #ziwei-zone .lunar-leap-control { min-height:46px !important; margin:0; align-items:center; }
  #ziwei-zone .zw-board, #qimen-zone .qm-grid { margin-top:14px; }

  #xiang-zone .simple-lead { margin:0 0 16px; }
  #xiang-zone .subtabs { margin-top:12px !important; }
  #xiang-zone .manual-feature { margin-top:16px; }
  #xiang-zone .manual-feature[open] { padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--bg-subtle); }
  #xiang-zone .manual-feature[open] > summary { margin-bottom:8px; color:var(--brand); }
  #xiang-zone .manual-mode > .xiang-photo-mode { display:none; }
  #xiang-zone .hint.xiang-photo-mode { padding:10px 12px; border-radius:8px; background:var(--bg-subtle); font-size:13px; line-height:1.65; }
  #xiang-zone .module-result, #xg-face-result, #xg-hand-result { scroll-margin-top:92px; outline:none; }
  #xg-face-result > .card, #xg-hand-result > .card { margin-top:16px; border-top:2px solid var(--accent); }

  /* Daily is a consumption page: keep identity compact and move useful guidance ahead of raw almanac. */
  #daily-zone #daily-user-profile { padding:14px 16px; margin-bottom:14px; }
  #daily-zone .daily-profile-capsule { align-items:center; }
  #daily-zone .daily-profile-actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:12px; margin-top:8px; }
  #daily-zone .daily-profile-extra > summary { min-height:32px; padding:4px 0; }
  #daily-zone #daily-result > .readout-card { display:flex; flex-direction:column; }
  #daily-zone #daily-result .daily-hero { order:-10; }
  #daily-zone #daily-result .daily-plain-heading { order:-9; margin-top:10px; }
  #daily-zone #daily-result .daily-modern-overview { order:-8; }
  #daily-zone #daily-result .daily-quick-card { order:-7; }
  #daily-zone #daily-result .daily-almanac { order:10; }
  #daily-zone .daily-hero, #daily-zone .daily-section, #daily-zone .daily-foundation { padding:20px; margin-bottom:14px; }
  #daily-zone .daily-anchor-nav { margin-bottom:14px; }
}
