/* Theme controls are shared by the normal app and its isolated screen preview. */
.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.theme-options button[data-theme-option]{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;min-height:100px;padding:12px 10px;border:1px solid #dce5f2;border-radius:12px;background:#fff;color:#526780;font:inherit;font-size:12px;line-height:1.5;text-align:left;overflow-wrap:anywhere}
.theme-preview{display:block;position:relative;overflow:hidden;width:100%;height:40px;flex:none;border:1px solid #d7e1ef;border-radius:7px;background:#f5f8fd;box-sizing:border-box}
.theme-preview-bar{display:block;position:absolute;left:0;top:0;bottom:0;width:22%;background:#e1eafa}
.theme-preview-card{display:block;position:absolute;left:33%;right:10%;top:9px;height:21px;border:1px solid #dfe7f3;border-radius:4px;background:#fff}
.theme-preview[data-preview=dark]{background:#111b2b;border-color:#3b4f6d}
.theme-preview[data-preview=dark] .theme-preview-bar{background:#24344f}
.theme-preview[data-preview=dark] .theme-preview-card{background:#24354e;border-color:#405675}
.theme-preview[data-preview=system]{background:linear-gradient(90deg,#f4f7fc 50%,#18253b 50%)}
.theme-preview[data-preview=system] .theme-preview-card{background:linear-gradient(90deg,#fff 30%,#2b405d 30%);border-color:#8a9cb5}
.theme-options button[data-theme-option][aria-pressed=true]{border-color:#3977e8;box-shadow:inset 0 0 0 1px #3977e8;background:#f0f5ff;color:#2158bb}
.theme-options button[data-theme-option]:focus-visible{outline:3px solid #8ab3ff;outline-offset:2px}
.theme-options button[data-theme-option]:disabled{opacity:.55;cursor:default}
.theme-options button[data-theme-option] strong{font-size:12px;color:inherit}
.theme-options button[data-theme-option] small{font-size:10px;color:#7b8ca4}
.theme-option-name{font-size:12px;font-weight:650;color:inherit;line-height:1.5}
.theme-option-note{font-size:10px;color:#7b8ca4;line-height:1.5}
.theme-description{font-size:11px;line-height:1.8;color:#7b8ca4;margin:12px 0 0}

html[data-theme=dark]{color-scheme:dark;--bg:#0c1421;--ink:#e4edf9;--muted:#9aadc4;--line:#2a3a51;--green:#8bb9ff;--green-dark:#619bf7;--mint:#1b3150;--blue:#8bb9ff;--theme-surface:#151f30;--theme-raised:#1b293e;--theme-subtle:#202f46;--theme-accent:#8bb9ff;--theme-action:#2867dd;--theme-soft-blue:#1c3557;--theme-secondary:#b2c2d7}
html[data-theme=dark] body{background:var(--bg);color:var(--ink)}
html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4{color:var(--ink)}
html[data-theme=dark] a{color:var(--theme-accent)}
html[data-theme=dark] input,html[data-theme=dark] textarea,html[data-theme=dark] select{accent-color:#73a9ff;caret-color:#9ac5ff}
html[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]),html[data-theme=dark] textarea,html[data-theme=dark] select{background:var(--theme-surface);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#8194ae}
html[data-theme=dark] :focus-visible{outline-color:#8db9ff}
html[data-theme=dark] .app-header,html[data-theme=dark] .app-header .top-nav{background:rgba(12,20,33,.97);border-color:var(--line);box-shadow:none}
html[data-theme=dark] .release-brand,html[data-theme=dark] .brand,html[data-theme=dark] .information-brand-card strong{color:#9bc4ff}
html[data-theme=dark] .release-region,html[data-theme=dark] .header-region,html[data-theme=dark] .nav-item{color:#9badc5}
html[data-theme=dark] .app-header .nav-item.active{color:#8ebaff;background:#1c3250}
html[data-theme=dark] .nav-item:hover:not(.active),html[data-theme=dark] .icon-button:hover,html[data-theme=dark] .context-info-button:hover,html[data-theme=dark] .favorite-add:hover:not(:disabled){background:var(--theme-subtle);color:var(--ink)}
html[data-theme=dark] .showcase-note{background:#162941;border-color:#253b58;color:#abc8ed}
html[data-theme=dark] .showcase-note small,html[data-theme=dark] .showcase-note button{color:#98afcc}
html[data-theme=dark] .favorite-tab{color:#a2b4cd}
html[data-theme=dark] .favorite-tab[aria-pressed=true]{background:#203b60;color:#a2c8ff}
html[data-theme=dark] .favorite-number,html[data-theme=dark] .saved-number,html[data-theme=dark] .saved-route .saved-number{background:#25364f;color:#aac8f3}
html[data-theme=dark] .favorite-tab:hover:not(:disabled){background:#253a59}
html[data-theme=dark] .favorite-add,html[data-theme=dark] .context-info-button{color:#9eb3cf}
html[data-theme=dark] .home-route-card,html[data-theme=dark] .session-station,html[data-theme=dark] .session-metrics>div,html[data-theme=dark] .saved-route,html[data-theme=dark] #saved-routes .saved-route,html[data-theme=dark] .schedule-row,html[data-theme=dark] .information-brand-card{background:var(--theme-surface);border-color:var(--line);box-shadow:none}
html[data-theme=dark] .chosen-stop strong,html[data-theme=dark] .summary-duration strong,html[data-theme=dark] .saved-route .saved-custom-name,html[data-theme=dark] .session-metrics strong{color:var(--ink)}
html[data-theme=dark] .chosen-stop strong.is-placeholder,html[data-theme=dark] .chosen-stop small,html[data-theme=dark] .summary-duration small,html[data-theme=dark] .summary-meta,html[data-theme=dark] .home-empty-hint{color:var(--muted)}
html[data-theme=dark] .chosen-arrow{background:#203047;color:#a1b8d4}
html[data-theme=dark] .home-line-name{color:#c6d9f2;border-left:3px solid var(--route-color);padding-left:5px}
html[data-theme=dark] .home-primary-actions,html[data-theme=dark] .home-primary-actions .home-save{border-color:var(--line)}
html[data-theme=dark] .home-primary-actions button{color:#adbed6}
html[data-theme=dark] .home-primary-actions button:hover:not(:disabled){background:var(--theme-raised)}
html[data-theme=dark] .home-primary-actions .home-save{color:var(--theme-accent)}
html[data-theme=dark] .home-route-modes,html[data-theme=dark] .map-route-options{background:#1b293e}
html[data-theme=dark] .home-mode,html[data-theme=dark] .map-route-options .option{color:#a0b2cb}
html[data-theme=dark] .home-mode.active,html[data-theme=dark] .map-route-options .option.active{background:#2a3c58;color:#e5efff;box-shadow:none}
html[data-theme=dark] .power-stage{background:linear-gradient(0deg,#0c1421 55%,#0c142100)}
html[data-theme=dark] .primary-button,html[data-theme=dark] .power-button,html[data-theme=dark] .journey-settings-done,html[data-theme=dark] .permission-done,html[data-theme=dark] .wifi-primary{background:var(--theme-action);color:#fff;box-shadow:none}
html[data-theme=dark] .primary-button:hover:not(:disabled),html[data-theme=dark] .power-button:hover:not(:disabled){background:#3574e9;color:#fff}
html[data-theme=dark] .power-button:disabled,html[data-theme=dark] .primary-button:disabled{background:#273c5b;color:#95abc9;box-shadow:none;opacity:1}
html[data-theme=dark] .power-button[aria-pressed=true]{background:#243650;color:#bfd0e6}
html[data-theme=dark] .secondary-button,html[data-theme=dark] .home-first-favorite .primary-button{background:#1b3150;color:#9fc6ff;border-color:#355075}
html[data-theme=dark] .secondary-button:hover:not(:disabled){background:#244064}

/* Keep every service label and train identifier legible without changing its line identity. */
html[data-theme=dark] .arrivals-heading>strong{color:var(--ink)}
html[data-theme=dark] .arrivals-count{background:#263a56;color:#bed4f4}
html[data-theme=dark] .arrivals-heading button,html[data-theme=dark] .arrival-group-heading h3,html[data-theme=dark] .arrival-group-heading>span,html[data-theme=dark] .arrival-group-note,html[data-theme=dark] .arrival-observation-note,html[data-theme=dark] .arrivals-help{color:#a2b4cd}
html[data-theme=dark] .arrival-group+.arrival-group{border-color:var(--line)}
html[data-theme=dark] .train-arrivals .arrival-option{background:var(--theme-surface);border-color:#33455f;color:var(--ink)}
html[data-theme=dark] .train-arrivals .arrival-option[aria-pressed=true]{background:#1a355a;border-color:#79aaff;box-shadow:inset 0 0 0 1px #79aaff}
html[data-theme=dark] .train-arrivals .arrival-choice{background:#18263a;border-color:#48607f}
html[data-theme=dark] .train-arrivals .arrival-option[aria-pressed=true] .arrival-choice{background:#6aa4ff;border-color:#6aa4ff;color:#071526}
html[data-theme=dark] .train-arrivals .arrival-detail strong{color:var(--ink)}
html[data-theme=dark] .train-arrivals .arrival-detail b{color:#94beff}
html[data-theme=dark] .train-arrivals .arrival-type{background:#273a55;color:#b6cff1}
html[data-theme=dark] .train-arrivals .arrival-type[data-service-type=express],html[data-theme=dark] .train-arrivals .arrival-type[data-service-type=limited-express],html[data-theme=dark] .train-arrivals .arrival-type[data-service-type=itx]{background:#4b3020;color:#ffcca0}
html[data-theme=dark] .train-arrivals .arrival-line,html[data-theme=dark] .train-arrivals .arrival-group-route,html[data-theme=dark] .train-arrivals .arrival-main>.arrival-train-id,html[data-theme=dark] .train-arrivals .arrival-detail .arrival-observed{color:#a9bbd3}
html[data-theme=dark] .train-arrivals .arrival-stop-pattern{color:#b4d0ff}
html[data-theme=dark] .train-arrivals .arrival-boarded{background:#263f61;color:#c0d8f8}
html[data-theme=dark] .train-arrivals .arrival-departed .arrival-detail b{color:#adc2df}
html[data-theme=dark] .train-arrivals .arrival-option.arrival-unavailable:disabled{background:#182334;color:#97abc5;border-color:#2c3d54}
html[data-theme=dark] .arrival-unavailable-reason{color:#a4b3c7}
html[data-theme=dark] .arrivals-note,html[data-theme=dark] .arrival-group-empty,html[data-theme=dark] .train-arrivals .arrivals-preview-link{background:#19283e;border-color:#334963;color:#b1c6e2}
html[data-theme=dark] .arrivals-preview-link>small{color:#a0b6d4}

html[data-theme=dark] .favorites-pinned{background:var(--bg);border-color:var(--line)}
html[data-theme=dark] .favorites-commute-actions button{background:#203a5d;color:#a4caff}
html[data-theme=dark] .favorites-commute-actions button:hover:not(:disabled){background:#294a75}
html[data-theme=dark] .favorites-commute-actions button:disabled,html[data-theme=dark] .favorites-commute-actions button:disabled:hover{background:#1e2c40;color:#8b9db6;border-color:#2c3c53}
html[data-theme=dark] .saved-route .saved-stations{color:#a5b6ce!important}
html[data-theme=dark] .saved-main>span{color:#c7d8ed!important}
html[data-theme=dark] .saved-main small,html[data-theme=dark] .schedule-name,html[data-theme=dark] .schedule-meta,html[data-theme=dark] .schedule-row-actions button,html[data-theme=dark] .schedule-route>span{color:#a7b8cf}
html[data-theme=dark] .schedule-row.is-off .schedule-time,html[data-theme=dark] .schedule-row.is-off .schedule-name,html[data-theme=dark] .schedule-row.is-off .schedule-route{color:#879bb6}
html[data-theme=dark] .schedule-saved,html[data-theme=dark] .rename-saved,html[data-theme=dark] .saved-route .schedule-saved,html[data-theme=dark] .saved-route .rename-saved{color:#9cc4ff}
html[data-theme=dark] .remove-saved,html[data-theme=dark] .schedule-row-actions .schedule-delete{color:#9aabc2}
html[data-theme=dark] .schedule-readiness,html[data-theme=dark] .schedule-count{background:#1e2e45;color:#b1c5df}
html[data-theme=dark] .schedule-conflict-label,html[data-theme=dark] .schedule-editor-warning{background:#3d3020;color:#f3cf92}
html[data-theme=dark] .schedule-route-issue,html[data-theme=dark] .schedule-overlap-note{color:#e5c38c}
html[data-theme=dark] .schedule-field label,html[data-theme=dark] .schedule-days legend,html[data-theme=dark] .schedule-enable-field{color:#b2c4dd}
html[data-theme=dark] .schedule-presets button,html[data-theme=dark] .schedule-day-buttons button,html[data-theme=dark] .schedule-station{background:#1b2a40;color:#b5c7df;border-color:#344860}
html[data-theme=dark] .schedule-day-buttons button[aria-pressed=true]{background:#23446c;color:#c7dfff;border-color:#658bc0}
html[data-theme=dark] .schedule-station>span:first-child,html[data-theme=dark] .schedule-station>span:last-child,html[data-theme=dark] .schedule-day-presets button{color:#a1b5d0}
html[data-theme=dark] .schedule-station strong{color:var(--ink)}

/* Settings, information and every modal use the same raised surface. */
html[data-theme=dark] .modal,html[data-theme=dark] .journey-settings-dialog,html[data-theme=dark] .permission-dialog,html[data-theme=dark] .wifi-settings-dialog{background:var(--theme-surface);color:var(--ink);border-color:#34465f;box-shadow:0 24px 90px #0007}
html[data-theme=dark] dialog::backdrop{background:#020815a8}
html[data-theme=dark] .modal p,html[data-theme=dark] .modal>p,html[data-theme=dark] .modal-top .icon-button,html[data-theme=dark] .journey-settings-close,html[data-theme=dark] .journey-settings-eyebrow,html[data-theme=dark] .journey-settings-device-note,html[data-theme=dark] .journey-settings-platform-note,html[data-theme=dark] .journey-settings-feedback{color:#a7b9d1}
html[data-theme=dark] .information-brand-card p,html[data-theme=dark] .information-brand-card>span,html[data-theme=dark] .release-section-heading>p,html[data-theme=dark] .information-group h2,html[data-theme=dark] .information-group small,html[data-theme=dark] .information-footer{color:#9caec7}
html[data-theme=dark] .information-group>a,html[data-theme=dark] .information-group>button{background:var(--theme-surface);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] .information-icon{background:#223b5c;color:#a5caff}
html[data-theme=dark] .information-group b{color:#90a5c1}
html[data-theme=dark] .information-source-status{background:#192d48;border-color:#2d4666}
html[data-theme=dark] .information-source-status>strong{color:#b2cff4}
html[data-theme=dark] .information-source-status>p,html[data-theme=dark] .information-source-status>small{color:#a6bddc}
html[data-theme=dark] .journey-settings-preview{background:#192e4c;border-color:#2b466c}
html[data-theme=dark] .journey-settings-preview>strong,html[data-theme=dark] .journey-settings-heading h2,html[data-theme=dark] .journey-settings-section-title h3,html[data-theme=dark] .journey-setting-row label,html[data-theme=dark] .journey-settings-link strong{color:var(--ink)}
html[data-theme=dark] .journey-settings-preview-label,html[data-theme=dark] .journey-settings-timeline>div,html[data-theme=dark] .journey-settings-timeline small,html[data-theme=dark] .journey-setting-row p,html[data-theme=dark] .journey-settings-link small,html[data-theme=dark] .journey-settings-ios-note{color:#a8bdd8}
html[data-theme=dark] .journey-settings-timeline:before{background:#3a5476}
html[data-theme=dark] .journey-settings-timeline i{background:#192e4c;border-color:#7086a5}
html[data-theme=dark] .journey-settings-timeline .is-on i{background:#8fbaff;border-color:#8fbaff;box-shadow:0 0 0 4px #192e4c}
html[data-theme=dark] .journey-settings-timeline .is-on span{color:#add0ff}
html[data-theme=dark] .journey-settings-presets button,html[data-theme=dark] .journey-settings-surface,html[data-theme=dark] .journey-settings-entry{background:var(--theme-surface);border-color:var(--line);color:#c7d7ec}
html[data-theme=dark] .journey-settings-presets button[aria-pressed=true]{background:#24456d;border-color:#648fc7;color:#d1e4ff}
html[data-theme=dark] .journey-settings-presets span,html[data-theme=dark] .journey-settings-presets button[aria-pressed=true] span{color:#abc3e0}
html[data-theme=dark] .journey-settings-before{background:#1b2b42}
html[data-theme=dark] .journey-settings-before button{color:#a7bbd5}
html[data-theme=dark] .journey-settings-before button[aria-pressed=true]{background:#314d72;color:#d4e8ff;box-shadow:none}
html[data-theme=dark] .journey-setting-switch:before{background:#61738e}
html[data-theme=dark] .journey-setting-switch[aria-checked=true]:before{background:#4c88eb}
html[data-theme=dark] .journey-setting-switch>span{background:#f2f7ff}
html[data-theme=dark] .switch{background:#42536d}
html[data-theme=dark] .switch[aria-checked=true]{background:#4e89ec}
html[data-theme=dark] .journey-settings-inline-note,html[data-theme=dark] .alarm-config{background:#1b2b42;border-color:var(--line);color:#a7bdd8}
html[data-theme=dark] .journey-settings-footer{background:var(--theme-surface);border-color:var(--line)}
html[data-theme=dark] .journey-settings-heading,html[data-theme=dark] .journey-setting-row,html[data-theme=dark] .journey-settings-before+.journey-setting-row,html[data-theme=dark] .journey-settings-link{border-color:var(--line)}
html[data-theme=dark] .journey-settings-listen,html[data-theme=dark] .journey-settings-inline,html[data-theme=dark] .journey-settings-link-icon,html[data-theme=dark] .journey-settings-entry-label{color:#a0c6ff}
html[data-theme=dark] .theme-options button[data-theme-option]{background:#1b2a40;border-color:#3b4e6c;color:#bbcee8}
html[data-theme=dark] .theme-options button[data-theme-option][aria-pressed=true]{background:#234269;border-color:#85b3fc;box-shadow:inset 0 0 0 1px #85b3fc;color:#e0edff}
html[data-theme=dark] .theme-options button[data-theme-option] small,html[data-theme=dark] .theme-option-note,html[data-theme=dark] .theme-description{color:#a7bbd7}
html[data-theme=dark] .station-picker-search,html[data-theme=dark] .suggestions,html[data-theme=dark] .station-popover{background:var(--theme-surface);border-color:var(--line);box-shadow:none}
html[data-theme=dark] #station-picker-input{background:var(--theme-surface);border-color:#61738e;color:var(--ink)}
html[data-theme=dark] #station-picker-input::placeholder{color:var(--muted)}
html[data-theme=dark] button.station-choice{color:var(--ink);background:transparent}
html[data-theme=dark] button.station-choice:hover,html[data-theme=dark] button.station-choice.selected,html[data-theme=dark] button.station-choice[aria-selected=true]{background:#223d61;border-color:#648fc7}
html[data-theme=dark] .suggestion:hover,html[data-theme=dark] .suggestion.selected{background:#223d61}
html[data-theme=dark] .station-choice-lines,html[data-theme=dark] .station-picker-empty,html[data-theme=dark] .suggestion-empty{color:#a1b5d0}
html[data-theme=dark] .favorite-save-route,html[data-theme=dark] .favorite-save-schedule small,html[data-theme=dark] #favorite-name-route,html[data-theme=dark] #favorite-name-hint,html[data-theme=dark] .favorite-name-dialog form>label{color:#a6b9d2}
html[data-theme=dark] .permission-card,html[data-theme=dark] .native-floating-badge,html[data-theme=dark] .boarding-candidate{background:var(--theme-raised);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] .permission-intro,html[data-theme=dark] .permission-row p,html[data-theme=dark] .permission-group h3,html[data-theme=dark] .permission-card p,html[data-theme=dark] .permission-group-note,html[data-theme=dark] .native-settings p,html[data-theme=dark] .native-connection-note,html[data-theme=dark] .boarding-candidate span{color:#a2b6d0}
html[data-theme=dark] .permission-action,html[data-theme=dark] .permission-feedback,html[data-theme=dark] .permission-channel-list button,html[data-theme=dark] .permission-group-heading>span{background:#223a59;color:#b3d2fb}
html[data-theme=dark] .permission-action:disabled{background:#233147;color:#91a2bc}
html[data-theme=dark] .permission-card-icon,html[data-theme=dark] .journey-settings-entry-icon{background:#223b5b;color:#a7ceff}
html[data-theme=dark] .permission-row{border-color:var(--line)}
html[data-theme=dark] .wifi-intro{background:#1c3456}
html[data-theme=dark] .wifi-intro svg{stroke:var(--theme-accent)}
html[data-theme=dark] .wifi-intro>span,html[data-theme=dark] .wifi-footer button,html[data-theme=dark] .wifi-secondary{background:#253e60;border-color:#3c5a7f;color:#bdd7fa}
html[data-theme=dark] .wifi-intro p,html[data-theme=dark] .wifi-section dt,html[data-theme=dark] .wifi-section dd,html[data-theme=dark] .wifi-heading p,html[data-theme=dark] .wifi-explanation,html[data-theme=dark] .wifi-help,html[data-theme=dark] .wifi-check,html[data-theme=dark] .wifi-footer p{color:#a9bdd8}
html[data-theme=dark] .wifi-warning{background:#423320;color:#f1d29f}
html[data-theme=dark] .wifi-network,html[data-theme=dark] .wifi-delete,html[data-theme=dark] .wifi-footer,
html[data-theme=dark] .wifi-heading,html[data-theme=dark] .wifi-section dl>div,html[data-theme=dark] .wifi-enabled,html[data-theme=dark] .wifi-actions button{border-color:var(--line)}
html[data-theme=dark] .wifi-heading button,html[data-theme=dark] .wifi-enabled small{color:var(--muted)}
html[data-theme=dark] .wifi-enabled strong,html[data-theme=dark] .wifi-enabled button{color:var(--theme-accent)}
html[data-theme=dark] .wifi-delete>button,html[data-theme=dark] .wifi-actions button:last-child,html[data-theme=dark] .wifi-footer .is-error{color:#ffaca6}
html[data-theme=dark] .wifi-actions button:last-child{border-color:#9f6b72}

/* Route lines retain their operator colors; only the map's paper and label halos change. */
html[data-theme=dark] .sidebar,html[data-theme=dark] .workspace{background:transparent;border-color:var(--line)}
html[data-theme=dark] .map-card,html[data-theme=dark] .map-top,html[data-theme=dark] .map-legend{background:var(--theme-surface);border-color:var(--line)}
html[data-theme=dark] .map-canvas{background:#111c2c;background-image:none}
html[data-theme=dark] .map-label,html[data-theme=dark] .map-reset,html[data-theme=dark] .legend-item{color:#a6bcd7;border-color:#3a4c66}
html[data-theme=dark] .map-selection button{background:#1b293e;border-color:#354860;color:var(--ink)}
html[data-theme=dark] .map-selection button[aria-pressed=true]{background:#233f63;border-color:#7fa8e4}
html[data-theme=dark] .map-selection button span,html[data-theme=dark] .map-selection button>[data-icon],html[data-theme=dark] .map-selection-status p{color:#a7bad4}
html[data-theme=dark] .station-label{fill:#b8cbe2;stroke:#111c2c}
html[data-theme=dark] .station-transfer .station-label{fill:#e3efff}
html[data-theme=dark] .map-station circle:not(.station-hit-target),html[data-theme=dark] #subway-map [data-endpoint] circle{fill:#111c2c}
html[data-theme=dark] .station-transfer circle:not(.station-hit-target){stroke:#a4b9d3}
html[data-theme=dark] #subway-map>g>path:first-child{stroke:#1d3548}
html[data-theme=dark] .river-label{fill:#6b96b1}
html[data-theme=dark] .popover-actions button{background:#243f61;color:#bad8ff}
html[data-theme=dark] .popover-actions button:last-child{background:#2867dd;color:#fff}
html[data-theme=dark] .has-search #route-result,html[data-theme=dark] .route-result{background:var(--theme-surface);border-color:var(--line)}
html[data-theme=dark] .route-summary strong,html[data-theme=dark] .segment-copy strong,html[data-theme=dark] .result-top>span{color:var(--ink)}
html[data-theme=dark] .route-summary>small,html[data-theme=dark] .result-meta,html[data-theme=dark] .segment-copy p,html[data-theme=dark] .segment-end,html[data-theme=dark] .route-disclaimer,html[data-theme=dark] .recent-names i{color:#a3b6cf}
html[data-theme=dark] .recent-route,html[data-theme=dark] .route-timeline{border-color:var(--line)}
html[data-theme=dark] .recent-route>span:first-child{background:var(--theme-raised);border-color:var(--line);color:#a3bbdc}
html[data-theme=dark] .recent-route:hover,html[data-theme=dark] .saved-route:hover{background:#1d304b}

html[data-theme=dark] .session-status{color:#9cc8f4}
html[data-theme=dark] .session-station p,html[data-theme=dark] .session-metrics>div>span,html[data-theme=dark] .session-metrics>div>small{color:#a3b9d4}
html[data-theme=dark] .session-actions button{background:var(--theme-raised);color:#a9cfff}
html[data-theme=dark] .release-lockscreen,html[data-theme=dark] .release-widget-preview{background:#1b293c}
html[data-theme=dark] .release-lockscreen>span{color:#a3b7d0}
html[data-theme=dark] .release-capsule{background:#080e19;border:1px solid #35465e;box-shadow:none}
html[data-theme=dark] .release-capsule strong{color:#e9f2ff}
html[data-theme=dark] .release-capsule small{color:#a8bdd9}
html[data-theme=dark] .release-widgets-dialog .release-capsule>b{color:#081912}
html[data-theme=dark] .showcase-controls{background:#172a44;border-color:#3b5579}
html[data-theme=dark] .showcase-controls strong,html[data-theme=dark] .showcase-controls [data-showcase-next]{color:#a3c8fa}
html[data-theme=dark] .showcase-controls [data-scene]{background:#20334f;border-color:#395170;color:#b4c8e5}
html[data-theme=dark] .showcase-controls [data-scene][aria-pressed=true]{background:#2b507b;border-color:#7ca7e2;color:#e6f0ff}
html[data-theme=dark] .journey-mode{background:#263e5d;color:#bad5fa}
html[data-theme=dark] .journey-current>small,html[data-theme=dark] .journey-current p,html[data-theme=dark] .journey-stop,html[data-theme=dark] .alarm-row>label{color:#a4b8d2}
html[data-theme=dark] .journey-line:before{background:#344e6e}
html[data-theme=dark] .journey-stop i{background:#152238;border-color:#506784}
html[data-theme=dark] .journey-stop.current i{background:#122139;border-color:#8ab8ff;box-shadow:0 0 0 5px #253e60}
html[data-theme=dark] .journey-stop.current{color:#b3d3ff}
html[data-theme=dark] .release-widget-platforms{background:#1b2a3f}
html[data-theme=dark] .release-widget-platforms button{color:#a0b4ce}
html[data-theme=dark] .release-widget-platforms button[aria-pressed=true]{background:#314d72;color:#cde2ff;box-shadow:inset 0 0 0 1px #648fc7}
html[data-theme=dark] .release-widget-small,html[data-theme=dark] .release-widget-wide,html[data-theme=dark] .release-widget-preview[data-platform=android] .release-widget-small,html[data-theme=dark] .release-widget-preview[data-platform=android] .release-widget-wide{background:#152238;border-color:#3b4f6c}
html[data-theme=dark] .release-widget-small>span:first-child,html[data-theme=dark] .release-widget-wide>span:first-child{color:#a6cbff}
html[data-theme=dark] .release-widget-small small,html[data-theme=dark] .release-widget-wide>span small,html[data-theme=dark] .release-widget-small>strong,html[data-theme=dark] .release-widget-wide>strong{color:#a5b9d4}
html[data-theme=dark] .widget-example-start{background:#284972;color:#d2e6ff}
html[data-theme=dark] .service-notice,html[data-theme=dark] .notice-box{background:#1a304d;border-color:#3b587e;color:#d8e8ff}
html[data-theme=dark] .service-notice p,html[data-theme=dark] .service-notice small,html[data-theme=dark] .notice-box p{color:#b9cde8}
html[data-theme=dark] .service-notice.is-blocking,html[data-theme=dark] .arrival-banner{background:#3b2e1e;border-color:#7a6038;color:#f4d49c}
html[data-theme=dark] .service-notice.is-blocking strong,html[data-theme=dark] .notice-box strong{color:#f4d49c}
html[data-theme=dark] .form-error,html[data-theme=dark] .schedule-form-error,html[data-theme=dark] .journey-settings-feedback.is-error,html[data-theme=dark] #favorite-name-error{color:#ffaca6}
html[data-theme=dark] .toast{background:#dceaff;color:#10233f;box-shadow:0 8px 28px #0005}

/* The same saved choice can follow links to support and policy documents. */
html[data-theme=dark] body>main:not(.app-layout):not(.support-shell){background:var(--theme-surface);border-color:var(--line)}
html[data-theme=dark] .support-shell{background:transparent;color:var(--ink);--line:#2a3a51;--muted:#9aadc4}
html[data-theme=dark] .back-link,html[data-theme=dark] .policy-link,html[data-theme=dark] .support-intro>p:last-child{color:#aabdd7}
html[data-theme=dark] .support-intro .eyebrow,html[data-theme=dark] .support-shell .field-label>span:not(.optional),html[data-theme=dark] .support-shell .text-button{color:var(--theme-accent)}
html[data-theme=dark] .banner,html[data-theme=dark] .contact-card,html[data-theme=dark] .notice{background:#1b3557;border-color:#344e73;color:#bfd5f2}
html[data-theme=dark] .banner strong,html[data-theme=dark] .contact-card{color:#d3e5ff}
html[data-theme=dark] .demo-banner{background:#302944;border-color:#514368;color:#cbbde3}
html[data-theme=dark] .demo-banner strong{color:#dfcff9}
html[data-theme=dark] .warning{background:#3e3120;border-color:#6d5735;color:#f1d19c}
html[data-theme=dark] .warning strong{color:#ffdaa5}
html[data-theme=dark] .warning button{color:inherit;text-decoration:underline}
html[data-theme=dark] .support-tabs{background:#1a293e;border-color:var(--line)}
html[data-theme=dark] .support-tabs>button{color:#a1b7d2}
html[data-theme=dark] .support-tabs>button[aria-selected=true]{background:#2b466b;color:#cfe4ff;box-shadow:none}
html[data-theme=dark] .faq-list,html[data-theme=dark] .inquiry-card,html[data-theme=dark] .empty-inbox,html[data-theme=dark] .message-body{background:var(--theme-surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .faq-list details+details{border-color:var(--line)}
html[data-theme=dark] .faq-list details p,html[data-theme=dark] .contact-card small,html[data-theme=dark] .inbox-description,html[data-theme=dark] .field-help,html[data-theme=dark] .privacy-note p,html[data-theme=dark] .empty-inbox p,html[data-theme=dark] .inquiry-category,html[data-theme=dark] .inquiry-meta,html[data-theme=dark] .message-label,html[data-theme=dark] .message-label time,html[data-theme=dark] .detail-date{color:#a6b9d3}
html[data-theme=dark] .contact-icon,html[data-theme=dark] .empty-icon,html[data-theme=dark] .tab-count{background:#2a466b;color:#bdd8ff}
html[data-theme=dark] .empty-inbox strong{color:var(--ink)}
html[data-theme=dark] .empty-inbox button{background:var(--theme-soft-blue);color:var(--theme-accent)}
html[data-theme=dark] .category-grid label>span{background:var(--theme-surface);border-color:#3c506e;color:#b3c6e1}
html[data-theme=dark] .category-grid label>span:before{background:#18263b;border-color:#6d84a4}
html[data-theme=dark] .category-grid input:checked+span{background:#24466e;border-color:#779ed2;color:#dceaff}
html[data-theme=dark] .category-grid input:checked+span:before{border-color:var(--theme-accent)}
html[data-theme=dark] .character-count{background:var(--theme-surface);color:#97abc6}
html[data-theme=dark] .status-badge{background:#26374f;color:#b6c8df}
html[data-theme=dark] .status-badge[data-status=answered]{background:#25466d;color:#c0dcff}
html[data-theme=dark] .status-badge[data-status=in_progress]{background:#483620;color:#f4d39e}
html[data-theme=dark] .message[data-role=admin] .message-body{background:#203a5b;border-color:#38567c;color:#c6ddfb}
html[data-theme=dark] .message[data-role=admin] .message-label{color:#a6caff}
html[data-theme=dark] .feedback{background:#1d3d34;color:#b9e5d2}
html[data-theme=dark] .feedback[data-error=true]{background:#492a2b;color:#ffbbb4}
html[data-theme=dark] .support-preview-note{background:#203b5d!important;color:#bfd8fa!important}
html[data-theme=dark] .support-example-thread>div{background:#1d2e45}
html[data-theme=dark] .support-example-thread>div strong{color:#bad5fa}
html[data-theme=dark] .support-example-thread>div p{color:#b4c6df}
html[data-theme=dark] .release-support-dialog form>[role=status]{color:#b6cde9!important}
html[data-theme=dark] .support-answer-badge{background:#23466f;color:#cee3ff}
html[data-theme=dark] .support-footer,html[data-theme=dark] footer{border-color:var(--line);color:#99afcc}

@media(max-width:720px){html[data-theme=dark] .app-header .nav-item.active{background:transparent}html[data-theme=dark] .power-stage{background:linear-gradient(0deg,#0c1421 55%,#0c142100)}}
@media(max-width:359px){.theme-options{gap:6px}.theme-options button[data-theme-option]{padding:10px 8px;font-size:11px;min-height:92px}}
.theme-setting-note{font-size:11px;font-weight:400;line-height:1.8;color:#71839b;margin:12px 0 0}
html[data-theme=dark] .theme-setting-note{color:var(--muted)}
html[data-theme=dark] .modal-top .icon-button{background:var(--theme-raised);color:#b8cce6}
html[data-theme=dark] #subway-map g[data-line]>polyline{opacity:.95}
