.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:7px;border:0;background:transparent;color:var(--muted);border-radius:50%;cursor:pointer}
.theme-toggle:hover{background:var(--soft);color:var(--accent)}
.theme-toggle .line-icon{width:22px;height:22px}
html[data-theme=dark]{color-scheme:dark;background:#000000;--bg:#000000;--panel:#111316;--soft:#1c2026;--line:#333940;--text:#e4ecf4;--muted:#a1b2c8;--accent:#a5c6ee}
html[data-theme=dark] body{background:var(--bg);color:var(--text)}
html[data-theme=dark] .winter-landing{background:var(--bg)}
html[data-theme=dark] .winter-landing:after{background:linear-gradient(90deg,#000000f2 0,#000000bd 20%,#00000038 44%,transparent 68%)}
html[data-theme=dark] .landing-model:after{background:linear-gradient(0deg,#00000066,transparent 90%)}
html[data-theme=dark] .landing-model canvas{filter:brightness(.76) saturate(.8)}
html[data-theme=dark] .landing-header,html[data-theme=dark] .landing-outline{border-color:var(--line)}
html[data-theme=dark] .landing-controls button{background:#1c2026bb;color:var(--text)}
html[data-theme=dark] .topbar{background:#000000f5;border-color:var(--line)}
html[data-theme=dark] :is(.detail-card,.budget-row,.check-row,.day-btn.active,.metro-dialog,.metro-leg,.metro-route-summary){background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-theme=dark] :is(.day-btn:hover,.metro-direction,.metro-event-button,.reminder-card,.callout,.day-note,.badge,.toast){background:var(--soft);border-color:var(--line);color:var(--text)}
html[data-theme=dark] :is(.rail-btn,.day-btn,.quick-fact,.day-end,.events .event-text:after,.flight-line,.metro-header,.metro-footer,.hotel-terms){border-color:var(--line)}
html[data-theme=dark] :is(.landing-primary,.metro-entry-button,.metro-step,.skip-link){color:#172a44}
html[data-theme=dark] :is(.badge.paid,.place-cn,.airport,.money,.budget-total,.detail-card h3,.day-btn.active .day-num,.day-btn.active small,.metro-label,.metro-direction .metro-label,.metro-direction-hint){color:var(--accent)}
html[data-theme=dark] :is(.detail-card p,.intro,.card-meta,.hotel-terms,.place-pinyin,.source-note,.check-row small,.metro-note){color:var(--muted)}
html[data-theme=dark] :is(input,select){background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-theme=dark] .site-loader{background:var(--bg);color:var(--text)}
html[data-theme=dark] .loader-crystal{stroke:#cee1ed}
html[data-theme=dark] .loader-wordmark{color:#bed0e1}
html[data-theme=dark] .loader-orbit,html[data-theme=dark] .loader-core{stroke:#d8c69c}
@media(max-width:600px){.landing-header>div{gap:12px}.landing-header .theme-toggle{width:30px;height:32px;padding:5px}html[data-theme=dark] .winter-landing:after{background:linear-gradient(90deg,#000000a0 0,#00000040 25%,transparent 60%)}}
html[data-theme=dark] .flight-line .line-icon{background:var(--panel)}
html[data-theme=dark] :is(.metro-header,.metro-line-chip,#metroRouteSelect){background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-theme=dark] :is(.metro-note,.check-row:has(input:checked)){background:var(--soft);color:var(--text)}
html[data-theme=dark] :is(.metro-header p,.metro-station small,.metro-fare small,.metro-select-label){color:var(--muted)}
@media(max-width:600px){.header-inner{gap:10px}.header-inner .theme-toggle{width:30px;padding:5px}}
