/* Shared appearance tokens. Existing light colours remain each rule's fallback. */
:root{color-scheme:light;font-size:18px;--theme-text-soft:#85758f}
:root[data-theme=dark]{color-scheme:dark;--ink:#f0e8f8;--muted:#c4b6d2;--purple:#c4a1f0;--purple-dark:#ac85df;--border:#46364f;--paper:#17121f;--theme-surface:#231b2d;--theme-surface-soft:#2b2036;--theme-surface-tint:#372641;--theme-line:#493853;--theme-focus-glow:#4d3565;--theme-text-strong:#f0e8f8;--theme-text-body:#d7c3e9;--theme-text-soft:#bcadcb}
.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;border:1px solid var(--border);background:var(--theme-surface,white);color:var(--ink);border-radius:24px;padding:10px 14px;min-height:44px;font-size:14px;white-space:nowrap}
.theme-toggle:hover{border-color:var(--purple)}
.theme-toggle .icon{width:18px;height:18px}
.header-inner{gap:18px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.site-header{height:auto;min-height:88px}
.header-inner nav{gap:18px;margin-left:12px;min-height:48px}
.header-inner .sample-link{display:none}
.field input:not([type=checkbox]),.field select{min-height:48px}
.input-icon>.icon{top:16px}
.field .checkbox-label{flex-wrap:wrap}
.field label{line-height:1.5}
.forecast-details .field input:not([type=checkbox]),.forecast-details .field select{font-size:16px;min-height:48px}
.forecast-details .date-fields{grid-template-columns:.75fr 1.3fr 1fr}
.forecast-details .date-fields select{padding-left:7px;padding-right:21px;font-size:15px}
.forecast-details .field-hint{font-size:14px}
.primary-button{min-height:52px}
.personal-picker button{min-height:88px}
.personal-picker small{line-height:1.6}
.forecast-birth-sign{min-width:0;flex-wrap:wrap}
.forecast-sign-copy{min-width:0}
.forecast-position-row{flex-wrap:wrap}
:root[data-theme=dark] .primary-button{color:#21132e;background:#c4a1f0;border-color:#c4a1f0}
:root[data-theme=dark] .primary-button:hover{background:#d3b7f5}
:root[data-theme=dark] input:disabled{background:#302738!important;color:#a69ab1!important}
:root[data-theme=dark] input[type=time]{color:#e0cfee!important}
:root[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{opacity:.8}
:root[data-theme=dark] input:focus,:root[data-theme=dark] select:focus,:root[data-theme=dark] textarea:focus{box-shadow:0 0 0 3px #4d3565}
:root[data-theme=dark] dialog::backdrop{background:#08040dcc}
:root[data-theme=dark] .person-a{--person-color:#c6a3ef}
:root[data-theme=dark] .person-b{--person-color:#b6b7f1}
@media(max-width:1100px){.header-inner nav{order:3;flex:1 0 100%;margin:8px 0 0;flex-wrap:wrap;height:auto;justify-content:flex-start;gap:0 22px}.header-inner nav a{min-height:46px}.theme-toggle{margin-left:auto}.header-inner nav .text-button{margin-left:auto}}
@media(max-width:820px){.header-inner{padding-top:15px;padding-bottom:0}.forecast-birth-sign{flex-wrap:nowrap}.theme-toggle{font-size:14px}.header-inner nav{gap:0 20px}.header-inner nav a{font-size:15px}.header-inner nav .text-button{font-size:14px}}
@media(max-width:540px){.header-inner nav{gap:0 18px}.header-inner nav .text-button{margin-left:0}.theme-toggle{padding:9px 12px;min-height:44px}.forecast-details .date-fields select{font-size:16px}.personal-picker{grid-template-columns:1fr 1fr}.personal-picker button{padding:15px 11px;gap:8px}.personal-picker strong{font-size:15px}.personal-picker small{font-size:14px}.personal-picker .icon,.personal-option-icon{width:20px;flex-shrink:0}.personal-placements{grid-template-columns:1fr}.forecast-birth-sign{flex-wrap:nowrap}.forecast-sign-copy small{font-size:13px}.forecast-position-row{align-items:flex-start}.forecast-position-row dd{flex:1}.forecast-contact{font-size:14px}.forecast-contact small{font-size:13px}.personal-aspect summary>small{font-size:13px}}
