:root{--surface:#1c2027;--raised:#292e37;--ink:#f3f4f6;--muted:#b2bac6;--line:#3d4550;--accent:#ff8c88;--action:#c52a31;--wash:#38282d;color-scheme:dark}
:root[data-theme=urban]{--surface:#191919;--raised:#292929;--ink:#fafafa;--muted:#bdbdbd;--line:#404040;--accent:#ff9292;--action:#c32129;--wash:#362124}
:root[data-theme=day]{--surface:#fffdf9;--raised:#eeeae4;--ink:#252b34;--muted:#596371;--line:#d8d3cd;--accent:#ad2029;--action:#c32129;--wash:#fbe9e7;color-scheme:light}
html,body,#app{background:var(--surface);color:var(--ink)}
.sheet,.modal-card,.pin-card,.community-card,.nav-top>div:not(.nav-maneuver),.nav-bottom,.scale-legend,.community-fab,.maplibregl-popup-content{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:0 6px 24px #0005!important}
.suggestion,.ghost,.truck-pill,.where-to,.quick-grid button,.secondary,.recent,.field,.truck-grid>label,.map-zoom button,.recenter,.close-btn,.nav-exit,.community-head button,.community-label select,.community-label textarea,.status-grid button,.stop-row input{background:var(--raised)!important;color:var(--ink)!important;border-color:var(--line)!important}
.field input,.truck-grid input{color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.primary,.community-submit,.scale-report-button,.nav-maneuver,#navRecenter[aria-pressed=true]{background:var(--action)!important;color:white!important;box-shadow:none}
.eyebrow,.link-btn,.back-btn,.community-kicker,.layers-button,.nav-road[data-highway],.nav-step-hint[data-previewing=true]{color:var(--accent)!important}
.route-badge,#directionsDetail,#navVoice,.status-grid button.selected,#navRecenter[aria-pressed=false]{background:var(--wash)!important;color:var(--accent)!important;border-color:var(--accent)!important}
.empty,.hint,.muted,.route-meta,.recent small,.suggestion small,.field>span,.nav-road,.nav-step-hint,.nav-route-chip,.nav-bottom span,.layers-help,.layer-row small,.community-context,.community-label,.community-count,.toggle-note,.scale-popup small,.scale-popup-kicker{color:var(--muted)!important}
.layer-row{border-color:var(--line)}.layer-row input,.toggle input{accent-color:var(--action)}
.route-option{background:var(--raised)!important;color:var(--ink)!important;border-color:var(--line)!important}.route-option.selected{border-color:var(--accent)!important;background:var(--wash)!important}
.route-directions,.community-report{background:var(--raised)!important;color:var(--ink)!important;border-color:var(--line)!important}.community-report small{color:var(--muted)!important}
.scale-legend b,.scale-popup-note{background:var(--raised);color:var(--ink)}.scale-popup,.layer-popup{color:var(--ink)}.layer-popup a{color:var(--accent)}
.warning{background:#493711;color:#ffe0a0}.error,.community-error{background:#47262c;color:#ffc6c9}.nav-exit{color:var(--ink)!important}.maplibregl-popup-close-button{color:var(--ink)}
.maplibregl-ctrl-group{background:var(--raised)}.maplibregl-ctrl-group button+button{border-color:var(--line)}html:not([data-theme=day]) .maplibregl-ctrl-icon{filter:invert(1)}
.theme-picker{border:0;margin:12px 0 18px;padding:0}.theme-picker legend{font-size:12px;font-weight:750;color:var(--muted);margin-bottom:8px}.theme-choices{display:flex;gap:8px}.theme-choices button{flex:1;min-height:60px;border:1px solid var(--line);border-radius:14px;background:var(--raised);color:var(--ink);font:600 12px -apple-system,sans-serif}.theme-choices button[aria-pressed=true]{border:2px solid var(--accent);background:var(--wash)}.theme-choices i{display:block;width:28px;height:5px;background:#ff625e;border-radius:5px;margin:5px auto 8px}.theme-choices [data-map-theme=urban] i{background:#eee}.theme-choices [data-map-theme=day] i{background:#c32129}
.staging-ribbon{font-size:10px;letter-spacing:.08em;border:1px solid #ffffff22;background:#17191f}
.route-choice{background:var(--raised)!important;color:var(--ink)!important;border-color:var(--line)!important}.route-choice[aria-pressed=true]{border-color:var(--accent)!important;background:var(--wash)!important}.route-choice small{color:var(--muted)!important}

.route-directions summary{color:var(--accent)}.community-empty{color:var(--muted)}
.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--surface)}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--surface)}
.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface)}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface)}

/* Opaque themed surfaces do not need to blur the moving map behind them. */
.sheet,.scale-legend,.community-fab,.nav-top>div:not(.nav-maneuver),.nav-bottom{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
