/* Feature-local transition timing from DSM --t-fast; existing styling retained. */
:root{--layer-hide-duration:.3s}
.layer-controls button[aria-pressed=true]{background:#30b0d021;color:var(--text);box-shadow:inset 0 -2px var(--accent)}
.layer-controls button{min-height:44px}
.quake-key,.quake-status{font:10px/1.6 var(--mono);color:var(--muted);margin:8px 0 0}
.quake-popup{font:11px/1.6 var(--mono);overflow-wrap:anywhere}
.quake-popup dl{margin:12px 0}.quake-popup dt{color:var(--muted);margin-top:8px}.quake-popup dd{margin:0;color:var(--text)}
.quake-popup a{color:var(--accent)}
@font-face{font-family:Oxanium;src:url('assets/Oxanium-wght.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Departure;src:url('assets/DepartureMono-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--bg:#050a0f;--panel:rgba(5,10,15,.91);--panel-solid:#050a0f;--line:rgba(48,176,208,.16);--line-strong:rgba(48,176,208,.34);--accent:#30b0d0;--accent-ink:#050a0f;--live:#30b0d0;--text:#f4f1ec;--muted:#9aaab5;--faint:#7b8e9b;--radius:0;--mono:Departure,monospace;--sans:Oxanium,system-ui,sans-serif}
body{font-size:14px}button{touch-action:manipulation}#map{inset:88px 16px 48px;border:1px solid var(--line)}
.hud{top:0;left:0;right:0;height:88px;padding:16px 28px;gap:20px;background:#050a0f;border:0;backdrop-filter:none;border-radius:0}
.brand{gap:12px;padding:0;margin-right:auto;text-decoration:none;color:var(--text);font:600 32px/1 Oxanium;letter-spacing:.12em}
.brand img{width:38px;height:44px;object-fit:contain;background:none;border:0}.brand:hover,.brand:focus-visible{color:var(--accent);filter:drop-shadow(0 0 8px #30b0d033)}
.brand small{display:block;font:11px/1.6 Departure;letter-spacing:.15em;color:var(--muted);margin-top:7px}
.hud-stat{font:11px Departure;padding:8px 16px;border-color:var(--line)}.hud-stat .dot{width:5px;height:5px;border-radius:0;box-shadow:0 0 10px #30b0d066}.hud-stat .unit{color:var(--muted)}
.hud-stat.rate-instrument{position:fixed;left:40px;bottom:78px;display:flex;flex-direction:column;gap:4px;border:0;padding:16px 24px 16px 16px;min-width:160px;background:#050a0fe8;border-left:1px solid var(--accent);pointer-events:none}
.rate-instrument:before{content:'IN VIEW';font:11px Departure;letter-spacing:.12em;color:var(--accent)}.rate-instrument #rate{font:500 64px/.95 Oxanium;letter-spacing:-.05em;color:var(--text)}.rate-instrument .unit{font:11px Departure;letter-spacing:.08em}
#clock{font-size:11px;color:var(--text);min-width:150px;text-align:right}
.panel{top:112px;right:40px;bottom:74px;width:324px;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:0;background:var(--panel);box-shadow:0 12px 48px #0005;backdrop-filter:blur(14px)}
.panel-body{padding:4px 18px 16px}.panel section{padding:16px 0}h2{font:11px Departure;color:var(--accent);letter-spacing:.1em;margin-bottom:12px}
.seg{border-radius:0;background:#30b0d006;padding:0}.seg button{border-radius:0;padding:9px 0;font:11px Departure;min-height:36px}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-checked=true]{background:#30b0d021;color:#b2edfa;box-shadow:inset 0 -2px var(--accent);font-weight:400}.seg.small button{min-height:32px;padding:3px 7px}
.legend{margin-top:14px}.ramp{height:2px;border-radius:0;background:linear-gradient(90deg,#fff,#b2edfa,#30b0d0,#20708a,#3a5264,#273440)}.ramp-labels{font-size:10px}
.link{font:11px Departure;text-transform:uppercase;font-size:10px}.bookmarks{gap:6px}.bm{border-radius:0;background:transparent;padding:10px 8px;gap:8px;grid-template-columns:18px 1fr auto}.bm.active{border-color:#30b0d080;background:#30b0d00d}.bm-idx{border:0;border-radius:0;color:var(--muted);font:11px Departure}.bm.active .bm-idx{color:var(--accent)}.bm-name{font:500 13px Oxanium}.bm-sub{font:9px Departure;margin-top:5px}.bm-empty .bm-name{font-style:normal}.icon-btn{border-radius:0;width:24px;min-height:32px}.icon-btn svg{width:13px;height:13px}.bm-go{min-height:38px}
.local-name{font:500 15px Oxanium;color:var(--text);margin-top:16px}.big .num{font:500 52px/1 Oxanium;letter-spacing:-.04em}.big .caption{font:10px/1.5 Departure}.local-grid{margin-top:16px}.rose .wedge{fill:#30b0d0}.closest{font:10px/1.7 Departure}.histo{height:32px;gap:3px}.histo span{border-radius:0;background:#30b0d0;opacity:.8}.histo-axis{font-size:9px}
.sources{font:10px/1.7 Departure}.sources li{gap:8px}.sources .dot{width:4px;height:4px;border-radius:0;box-shadow:none}.sources .ago{font-size:9px}.disclaimer{font:9px Departure;color:var(--faint);margin:12px 0 0}
.instrument-footer{position:fixed;left:28px;right:28px;bottom:0;height:48px;display:flex;align-items:center;justify-content:space-between;font:10px Departure;letter-spacing:.08em;color:var(--muted)}.instrument-footer a{color:inherit;text-decoration:none}.instrument-footer a:hover{color:var(--accent)}
.maplibregl-ctrl-top-right{right:356px;top:16px}.maplibregl-ctrl-group{border:1px solid var(--line)!important;border-radius:0;background:#050a0fe0}.maplibregl-ctrl-group button{width:36px;height:36px}.maplibregl-ctrl-bottom-left{left:12px;bottom:8px}.maplibregl-ctrl-bottom-right{right:12px;bottom:8px}.maplibregl-popup-content{font-family:Departure;border:1px solid var(--line);border-radius:0}.notice{font:11px Departure;bottom:62px;border-radius:0}
@media(min-width:1600px){.panel{right:48px;width:352px}.maplibregl-ctrl-top-right{right:390px}.hud{padding-inline:40px}}
@media(max-height:780px) and (min-width:721px){.panel{top:104px;bottom:64px}.panel section{padding:12px 0}.local-grid{margin-top:8px}.sources{font-size:9px}}
@media(max-width:900px){.hud{gap:8px;padding-inline:24px}.brand{font-size:26px}.brand img{width:30px;height:38px}.hud-stat{padding:6px 10px}.panel{right:28px;width:304px}.maplibregl-ctrl-top-right{right:324px}.rate-instrument #rate{font-size:48px}.hud-stat.rate-instrument{left:28px;bottom:66px}}
@media(max-width:720px){#map{inset:108px 8px 38px}.hud{height:108px;padding:14px 18px;display:grid;grid-template-columns:1fr auto;align-content:start;row-gap:9px}.brand{font-size:25px;gap:8px;grid-column:1;grid-row:1}.brand img{width:27px;height:34px}.brand small{font-size:9px;margin-top:4px}.hud-stat{border:0;padding:0;font-size:10px}.hud-stat:not(.rate-instrument):not(#clock){grid-column:2;grid-row:1;text-align:right;justify-content:end}#clock{grid-column:1 / -1;grid-row:2;min-width:0;text-align:left;color:var(--muted);font-size:10px}.hud-stat.rate-instrument{left:auto;right:18px;top:68px;bottom:auto;flex-direction:row;align-items:baseline;background:none;border:0;padding:0;min-width:0;gap:6px}.rate-instrument:before{display:none}.rate-instrument #rate{font-size:22px}.rate-instrument .unit{font-size:9px}.panel{top:auto;left:18px;right:18px;bottom:64px;width:auto;max-height:60dvh;border-top-width:1px}.panel-toggle{display:flex;border-radius:0;font:11px Departure;padding:14px 16px;min-height:44px;background:#050a0ff2}.panel.collapsed .panel-body{display:none}.panel-body{padding-inline:16px}.panel section{padding:14px 0}.maplibregl-ctrl-top-right{right:8px;top:8px}.instrument-footer{height:38px;left:18px;right:18px;font-size:9px}.notice{bottom:122px;left:18px;right:18px;max-width:none}.brand small{letter-spacing:.12em}}
/* Keep scale and credits below instrument overlays. */
@media(min-width:721px){.panel section{padding:12px 0}.bm{padding:8px}.local-name{margin-top:10px}.local-grid{margin-top:8px}.big .num{font-size:46px}.hud-stat.rate-instrument{bottom:108px}.maplibregl-ctrl-bottom-left{bottom:0}.maplibregl-ctrl-bottom-right{bottom:0}.panel{bottom:88px}}
@media(max-width:720px){#clock{display:block;justify-content:start;font-size:11px}.hud-stat:not(.rate-instrument):not(#clock){font-size:11px}.instrument-footer{font-size:10px}.maplibregl-ctrl-group button{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.brand{transition:none}}
.brand small{text-transform:none;letter-spacing:.035em;font-size:11px;line-height:1.4;max-width:320px}
.bm-actions{display:grid;grid-template-columns:repeat(2,28px);gap:1px}
.age-key{display:block;margin-top:16px}.age-gradient{height:6px;width:100%}.age-labels{display:flex;justify-content:space-between;gap:3px;margin-top:7px;font:9px Departure;color:#a4b6c4;white-space:nowrap}
#location-dialog{width:min(520px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:24px;border-top:2px solid var(--accent);border-radius:0}
#location-dialog h2{font:600 19px Oxanium;letter-spacing:.035em;text-transform:none;color:var(--text);margin-bottom:22px}
#location-dialog label{display:block;font:11px Departure;color:var(--muted);margin:16px 0 8px}
#location-dialog input{font:14px Oxanium;min-height:44px;border-radius:0;background:#070e15}
.location-search{display:flex;gap:8px}.location-search input{min-width:0;flex:1}.location-search button{padding:0 16px;background:#102330;border:1px solid #30b0d060;font:11px Departure;cursor:pointer}
#location-status{font:11px Departure;color:var(--muted);margin:16px 0;min-height:16px}
#location-results{display:grid;gap:6px}.location-result{padding:12px;border:1px solid var(--line);background:#0b151f;text-align:left;font:14px/1.4 Oxanium;cursor:pointer;min-height:44px}.location-result:hover,.location-result[aria-pressed=true]{border-color:var(--accent);background:#102633}
.location-credit{font:10px/1.5 Departure;color:var(--muted);margin-top:18px}.location-credit a{color:inherit}#location-dialog menu button{min-height:44px;font:11px Departure;border-radius:0;cursor:pointer}#location-dialog button:disabled{opacity:.35;cursor:default}
@media(max-width:720px){.brand small{max-width:220px;font-size:10px;letter-spacing:0}.hud{grid-template-columns:minmax(0,1fr) auto}.brand{min-width:0}.brand span{min-width:0}.instrument-footer{letter-spacing:0;font-size:9px;gap:8px}#location-dialog{padding:18px}.location-search{gap:6px}.location-search button{padding:0 10px}}
