:root{
  --bg:#05090d; --panel:rgba(6,14,20,.78); --line:rgba(80,220,255,.28);
  --cy:#4fe3ff; --gr:#5dff9a; --am:#ffc14d; --rd:#ff4d5e; --tx:#d8f3ff; --mu:#7fa3b3;
  --mono: ui-monospace, "SF Mono", "Roboto Mono", Menlo, Consolas, monospace;
  --safe-t: env(safe-area-inset-top, 0px); --safe-b: env(safe-area-inset-bottom, 0px);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--tx);font:13px/1.35 var(--mono);overflow:hidden;
  -webkit-tap-highlight-color:transparent;overscroll-behavior:none}
/* page pinch-zoom stays available for the HUD; double-tap zoom is off on controls so they respond instantly.
   (Not on <html>: Chrome then hands the globe non-cancelable touchmoves.) The globe canvas handles its own gestures. */
button,a,input,.chip,.legend,.wx,.hud-bottom,.hud-top,.sheet,.wxcard{touch-action:manipulation}
button{font:inherit;color:inherit}
#map{position:fixed;inset:0;background:radial-gradient(ellipse at center,#0a1a26 0%,#03060a 70%)}
.scan{pointer-events:none;position:fixed;inset:0;z-index:1;
  background:repeating-linear-gradient(0deg,rgba(79,227,255,.035) 0 1px,transparent 1px 3px);
  box-shadow: inset 0 0 120px rgba(0,0,0,.75)}
.hud-top{position:fixed;z-index:3;top:var(--safe-t);left:0;right:0;display:flex;justify-content:space-between;align-items:center;
  padding:8px 12px;background:linear-gradient(180deg,rgba(3,8,12,.92),rgba(3,8,12,0));letter-spacing:.06em}
.brand b{color:var(--cy);font-size:14px;letter-spacing:.18em}
.brand .sub{color:var(--mu);margin-left:6px;font-size:12px}
.clocks{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;color:var(--mu)}
.clocks #clkUtc{color:var(--gr)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mu);margin-right:6px;vertical-align:1px}
.dot.live{background:var(--rd);box-shadow:0 0 8px var(--rd);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}

.wx{position:fixed;z-index:3;top:calc(var(--safe-t) + 46px);left:10px;width:min(68vw,250px);padding:8px 10px;
  background:var(--panel);border:1px solid var(--line);border-radius:6px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.wx::before,.wx::after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--cy)}
.wx::before{top:-2px;left:-2px;border-right:0;border-bottom:0}
.wx::after{bottom:-2px;right:-2px;border-left:0;border-top:0}
.wx-loc{display:flex;gap:6px;align-items:center;background:none;border:0;padding:0;cursor:pointer;width:100%;min-height:44px;color:var(--tx);text-align:left}
.locwrap{display:flex;flex-direction:column;min-width:0;flex:1}
.wx-loc #locName{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2}
#locSub{font-size:12px;color:var(--mu)}#locSub:empty{display:none}
.tag{font-size:12px;color:var(--bg);background:var(--cy);padding:1px 4px;border-radius:2px;letter-spacing:.06em;flex:none}
.chev{color:var(--mu)}
.wx-main{display:flex;gap:10px;align-items:center;margin-top:4px}
.wx-temp{font-size:34px;color:#fff;font-weight:600;line-height:1}
.wx-temp small{font-size:13px;color:var(--mu)}
.wx-desc{font-size:12px}
.muted{color:var(--mu)}
.wx-hours{display:flex;gap:4px;margin-top:6px;overflow:hidden}
.wx-hours div{flex:1;text-align:center;font-size:12px;border-top:1px solid var(--line);padding-top:3px;color:var(--mu)}
.wx-hours div b{display:block;color:var(--tx);font-weight:500;font-size:12px}
.upd{font-size:12px;color:var(--mu);margin-top:4px;letter-spacing:.02em}
.upd.err{color:#ff8a94}

.stack-right{position:fixed;z-index:4;right:8px;top:calc(var(--safe-t) + 50px);display:flex;flex-direction:column;gap:6px}
.iconbtn{width:44px;height:44px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--cy);font-size:18px;cursor:pointer;position:relative}
#btnInfo{font-weight:700;font-size:19px}
/* visible tooltips */
.iconbtn[data-tip]::after{content:attr(data-tip);position:absolute;right:52px;top:50%;transform:translateY(-50%);white-space:nowrap;pointer-events:none;
  background:rgba(3,8,12,.94);border:1px solid var(--line);color:var(--tx);font:12px var(--mono);padding:5px 8px;border-radius:4px;opacity:0;transition:opacity .12s}
@media (hover:hover){.iconbtn[data-tip]:hover::after{opacity:1}}
.iconbtn[data-tip]:focus-visible::after,.iconbtn.tip-show::after{opacity:1}
.iconbtn.on{background:rgba(79,227,255,.18);box-shadow:0 0 10px rgba(79,227,255,.35)}

.hud-bottom{position:fixed;z-index:3;left:0;right:0;bottom:0;padding:6px 0 calc(var(--safe-b) + 8px);
  background:linear-gradient(0deg,rgba(3,8,12,.95) 55%,rgba(3,8,12,0))}
.statusline{padding:0 12px 2px;font-size:12px;color:var(--gr);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.statusline .paused,.paused{color:#ffd27a;font-weight:600}
.legend{display:flex;align-items:center;gap:10px;width:calc(100% - 20px);margin:0 10px 6px;min-height:44px;padding:6px 10px;font-size:12px;color:var(--mu);
  background:rgba(6,14,20,.6);border:1px solid var(--line);border-radius:6px;cursor:pointer;text-align:left}
.legend span{display:inline-flex;align-items:center;gap:4px;min-width:0}
.legend .key{margin-left:auto;color:var(--cy);font-weight:600;letter-spacing:.08em;flex:none}
.legend i,.keylist i{display:inline-block;width:10px;height:10px;border-radius:50%}
.legend i.sq,.keylist i.sq{border-radius:1px}
.keylist{list-style:none;margin:0;padding:0}
.keylist li{padding:8px 0;border-bottom:1px solid rgba(80,220,255,.12);font-size:13px}
.keylist .kl{display:inline-block;min-width:96px;color:var(--cy)}
.keylist .ks{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.keylist small{display:block;color:var(--mu);font-size:12px;margin-top:3px}
.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 10px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);
  background:rgba(6,14,20,.85);color:var(--mu);font-size:12px;letter-spacing:.04em;cursor:pointer;white-space:nowrap}
.chip .st{width:7px;height:7px;border-radius:50%;background:#2a3b44}
.chip.on{color:var(--tx);border-color:var(--cy);background:rgba(79,227,255,.14)}
.chip.on .st{background:var(--am)}
.chip.on.ok .st{background:var(--gr);box-shadow:0 0 6px var(--gr)}
.chip.on.err .st{background:var(--rd);box-shadow:0 0 6px var(--rd)}
.chip.on.paused .st{background:#ffd27a;box-shadow:0 0 6px #ffd27a}
.chip.on.loading .st{background:var(--am);animation:pulse .8s ease-in-out infinite alternate}
@keyframes pulse{from{opacity:.25;transform:scale(.7)}to{opacity:1;transform:scale(1.15)}}
.chip .n{color:var(--cy);font-size:12px}

.sheet{position:fixed;z-index:5;left:0;right:0;bottom:0;max-height:58vh;display:flex;flex-direction:column;
  background:rgba(4,10,15,.97);border-top:1px solid var(--cy);box-shadow:0 -10px 30px rgba(0,0,0,.6);
  padding-bottom:var(--safe-b);animation:up .18s ease-out}
@keyframes up{from{transform:translateY(30px);opacity:0}}
.sheet[hidden]{display:none}
.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 2px 14px;border-bottom:1px solid var(--line);
  color:var(--cy);letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.x{background:none;border:0;color:var(--mu);font-size:18px;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;flex:none}
.sheet-body{overflow:auto;padding:8px 14px 14px;-webkit-overflow-scrolling:touch}
.sheet-body h4{margin:12px 0 4px;color:var(--cy);font-weight:500;letter-spacing:.1em;font-size:12px;text-transform:uppercase}
.sheet-body a{color:var(--cy)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:12.5px}
.kv dt{color:var(--mu)} .kv dd{margin:0}
.tabs{display:flex;gap:6px;margin-bottom:8px;position:sticky;top:-8px;background:rgba(4,10,15,.97);padding:6px 0}
.tabs button{flex:1;min-height:44px;padding:7px 0;border:1px solid var(--line);background:none;border-radius:4px;color:var(--mu);cursor:pointer}
.tabs button.on{color:var(--tx);border-color:var(--cy);background:rgba(79,227,255,.12)}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:flex;gap:10px;align-items:center;padding:8px 2px;border-bottom:1px solid rgba(80,220,255,.1);cursor:pointer}
.rows li:active{background:rgba(79,227,255,.08)}
.rows .m{min-width:38px;text-align:center;font-weight:700;border-radius:3px;padding:2px 0;color:#000}
.rows .main{flex:1;min-width:0}
.rows .main div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rows .r{color:var(--mu);font-size:12px;text-align:right;white-space:nowrap}
.search{display:flex;gap:6px;margin:6px 0}
.search input{flex:1;padding:10px;border-radius:4px;border:1px solid var(--line);background:#071219;color:var(--tx);font:inherit;font-size:16px}
.btn{min-height:44px;padding:9px 12px;border-radius:4px;border:1px solid var(--cy);background:rgba(79,227,255,.12);color:var(--tx);cursor:pointer}
.src li{margin:6px 0;font-size:12px;color:var(--tx)}
.src li small{color:var(--mu);display:block}
.err{color:#ff8a94}

/* MapLibre overrides */
.maplibregl-ctrl-attrib{background:rgba(3,8,12,.78)!important;color:#a9c4cf!important;font:12px var(--mono)}
.maplibregl-ctrl-attrib a{color:#a9c4cf!important}
/* map credits button shows © (the ? button is About), 44px target */
.maplibregl-ctrl-attrib.maplibregl-compact{min-height:44px;min-width:44px}
.maplibregl-ctrl-attrib-button{background-image:none!important;width:44px!important;height:44px!important;top:0!important;right:0!important;border-radius:22px!important}
.maplibregl-ctrl-attrib-button::before{content:"©";display:grid;place-items:center;height:100%;color:#cfe6ee;font:600 18px var(--mono)}
.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:6px 48px 6px 10px!important;min-height:44px}
.maplibregl-ctrl-bottom-right{bottom:calc(var(--hud-h, 120px) + 2px)}
.maplibregl-ctrl-attrib.maplibregl-compact-show{max-width:calc(100vw - 20px)}
.maplibregl-ctrl-bottom-left{display:none}
.maplibregl-popup-content{background:rgba(4,10,15,.95);color:var(--tx);border:1px solid var(--cy);border-radius:4px;font:12px var(--mono);padding:8px 10px}
.maplibregl-popup-tip{display:none}

/* ---------- group tabs + creepy switch ---------- */
.seg{display:flex;gap:6px;padding:0 10px 6px;align-items:stretch}
.tabs-g{display:flex;gap:6px}
.seg button{min-height:44px;padding:6px 12px;border-radius:4px;border:1px solid var(--line);background:rgba(6,14,20,.85);color:var(--mu);font-size:12px;letter-spacing:.1em;cursor:pointer}
.seg button.on{color:var(--tx);border-color:var(--cy);background:rgba(79,227,255,.14)}
.seg .creepy-sw{margin-left:auto;display:flex;align-items:center;gap:6px}
.creepy-sw .knob{width:22px;height:12px;border-radius:6px;background:#1c2a30;position:relative;transition:.2s}
.creepy-sw .knob::after{content:"";position:absolute;top:1px;left:1px;width:10px;height:10px;border-radius:50%;background:var(--mu);transition:.2s}
.creepy-sw.on{color:#39ff14;border-color:#39ff14}
.creepy-sw.on .knob{background:#0d3a07}.creepy-sw.on .knob::after{left:11px;background:#39ff14;box-shadow:0 0 6px #39ff14}
.myst-banner{color:#ffc56b!important;letter-spacing:.02em;display:block!important;line-height:1.3}
.badge{display:inline-block;padding:2px 7px;border-radius:3px;background:var(--c);color:#000;font-weight:700;font-size:12px;letter-spacing:.06em}
.warnbox{border:1px solid #39ff14;color:#b9ffb0;padding:8px;border-radius:4px;background:rgba(57,255,20,.07);font-size:12px}

/* ---------- Creepy Mode: original retro green CRT look ---------- */
body.creepy{--panel:rgba(2,14,4,.82);--line:rgba(57,255,20,.35);--cy:#39ff14;--gr:#7dff5a;--tx:#c9ffbf;--mu:#5fae55;--am:#d8ff3a;background:#010601}
body.creepy #map canvas{filter:grayscale(1) sepia(1) hue-rotate(58deg) saturate(3.2) brightness(.8) contrast(1.25)}
body.creepy .scan{background:repeating-linear-gradient(0deg,rgba(57,255,20,.07) 0 1px,transparent 1px 3px);
  box-shadow:inset 0 0 160px rgba(0,0,0,.95), inset 0 0 40px rgba(57,255,20,.12);animation:flick 5s infinite steps(1)}
@keyframes flick{0%,96%,100%{opacity:1}97%{opacity:.75}98%{opacity:.95}}
body.creepy, body.creepy .chip, body.creepy .seg button, body.creepy .wx-temp{text-shadow:0 0 4px rgba(57,255,20,.55)}
body.creepy .brand b{color:#39ff14;text-shadow:0 0 8px #39ff14}
body.creepy .dot.live{background:#39ff14;box-shadow:0 0 8px #39ff14}
body.creepy .wx-temp,body.creepy .clocks #clkUtc{color:#9dff80}
body.creepy .chip.on{background:rgba(57,255,20,.14)}
body.creepy .sheet{background:rgba(1,10,2,.97)}
body.creepy .tag{background:#39ff14}
body.creepy .maplibregl-popup-content{border-color:#39ff14}
/* tip button (About sheet only) */
.tipbox{margin:10px 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:rgba(255,184,77,.06)}
.tipbox p{margin:0 0 8px;color:var(--mu)}
.btn.tip{display:inline-block;text-decoration:none;border-color:#ffb84d;background:rgba(255,184,77,.14);color:#ffe2b0;font-weight:600}
/* first-run touch hint */
.hint{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(0,4,8,.55);padding:20px}
.hint-card{max-width:320px;width:100%;background:var(--panel);border:1px solid var(--cy);border-radius:10px;padding:16px 16px 14px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 24px rgba(79,227,255,.18)}
.hint-card b{color:var(--cy);letter-spacing:.14em}
.hint-card ul{list-style:none;padding:0;margin:10px 0 14px}
.hint-card li{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.hint-card li span{width:24px;text-align:center;font-size:16px}
.hint-card .btn{width:100%}
.sheet-body a.btn{display:inline-block;text-decoration:none}
.brand{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clocks{flex-shrink:0;white-space:nowrap;margin-left:8px}
.brand .logo{display:inline-block;width:26px;height:17px;vertical-align:-4px;margin-right:6px;--logo-bg:#05090d}
body.creepy .brand .logo{--logo-bg:#010601}

/* weather-at-point card: sits above the control strip, never over it */
.wxcard{position:fixed;z-index:4;left:10px;right:62px;max-width:380px;bottom:calc(var(--hud-h, 170px) + 8px);padding:8px 10px 8px 12px;
  background:rgba(4,10,15,.95);border:1px solid var(--am);border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.6);font-size:12.5px;animation:up .16s ease-out;touch-action:pan-y}
.wxcard[hidden]{display:none}
.wxcard .x{position:absolute;top:0;right:0}
.wxcard > div > div{margin:2px 44px 2px 0}
.wc-where{color:var(--am);font-size:12px;letter-spacing:.04em}
.wc-now b{font-size:22px;color:#fff;font-weight:600}
.wc-hrs{display:flex;gap:10px;flex-wrap:wrap;color:var(--mu)}.wc-hrs b{color:var(--tx);font-weight:500}
.wxcard .muted{font-size:12px}
/* loading pill for Mystery data */
.busy{position:fixed;z-index:4;left:50%;transform:translateX(-50%);top:calc(var(--safe-t) + 52px);display:flex;align-items:center;gap:8px;
  padding:7px 12px;border-radius:999px;background:rgba(4,10,15,.92);border:1px solid var(--am);color:#ffe2b0;font-size:12px;white-space:nowrap}
.busy[hidden]{display:none}
.busy .spin{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,193,77,.3);border-top-color:var(--am);animation:rot .8s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
/* offline notice */
.offline{position:fixed;z-index:6;left:10px;right:10px;top:calc(var(--safe-t) + 50px);max-width:460px;margin:0 auto;padding:12px 14px;border-radius:8px;
  background:rgba(40,24,4,.96);border:1px solid var(--am);color:#ffe2b0;font-size:13px;box-shadow:0 6px 24px rgba(0,0,0,.6)}
.offline[hidden]{display:none}
.offline b{color:#ffd27a}
/* Creepy Mode switch-on: a short CRT flicker */
body.crt-flick #map,body.crt-flick .scan{animation:crt .5s steps(6,end) 1}
@keyframes crt{0%{filter:brightness(2.2) contrast(1.6)}20%{filter:brightness(.25)}35%{filter:brightness(1.6)}55%{filter:brightness(.5)}75%{filter:brightness(1.2)}100%{filter:none}}
@media (prefers-reduced-motion: reduce){
  .dot.live,body.creepy .scan,.chip.on.loading .st,.busy .spin{animation:none!important}
  body.crt-flick #map,body.crt-flick .scan{animation:none!important}
  .sheet,.wxcard{animation:none}
}
/* small phones: keep the header on one line */
@media (max-width:380px){ .brand b{letter-spacing:.12em} .brand .sub{margin-left:3px} .brand .logo{margin-right:4px} }
/* no flash of the credits box while the map boots; © opens it */
body:not(.attrib-ready) .maplibregl-ctrl-attrib-inner{opacity:0}
/* © credits button: dark, matching the HUD */
.maplibregl-ctrl-attrib.maplibregl-compact:not(.maplibregl-compact-show){background:transparent!important}
.maplibregl-ctrl-attrib-button{background-color:rgba(6,14,20,.85)!important;border:1px solid var(--line)!important}
@media (max-width:370px){ .brand b{letter-spacing:.07em} .brand .sub{margin-left:2px;letter-spacing:0} .brand .logo{width:22px;margin-right:3px} .hud-top{padding:8px 8px} }
/* Mystery date filter (Key sheet) */
.whenrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 12px}
.whenrow .kl{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.seg-when{display:flex;flex-wrap:wrap;gap:6px}
.seg-when button{min-height:44px;padding:0 12px;border-radius:22px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:inherit;font:inherit;font-size:13px;touch-action:manipulation}
.seg-when button.on{background:#b6ff3b;color:#111;border-color:#b6ff3b;font-weight:600}
.whenrow small{flex-basis:100%;font-size:12px}
.myst-banner .when{color:#b6ff3b;font-weight:600;white-space:nowrap}
/* Weather card folds into a LOC chip */
.wx[hidden],.wx-mini[hidden]{display:none}
.wx .wx-loc{padding-right:40px}
.wx-fold{position:absolute;top:0;right:0;width:44px;height:44px;background:none;border:0;color:var(--mu);font-size:16px;cursor:pointer}
.wx-fold:hover,.wx-fold:focus-visible{color:var(--cy)}
.wx-mini{position:fixed;z-index:3;top:calc(var(--safe-t) + 46px);left:10px;display:flex;align-items:center;gap:8px;min-height:44px;max-width:min(60vw,240px);
  padding:0 12px 0 8px;background:var(--panel);border:1px solid var(--line);border-radius:22px;color:var(--tx);font:inherit;font-size:13px;cursor:pointer;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.wx-mini #wxMiniName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wx-mini b{color:#fff;font-weight:600}
.wx-mini .chev{color:var(--mu)}
body.creepy .wx-mini{border-color:rgba(57,255,20,.35)}
/* Promo capture mode (scripts/promo.js only): globe + header logo + detail card */
body.clean .stack-right,body.clean .hud-bottom,body.clean .wx,body.clean .wx-mini,body.clean .clocks,body.clean .busy,body.clean .hint,
body.clean .wxcard,body.clean .maplibregl-ctrl-bottom-right,body.clean .maplibregl-ctrl-bottom-left,body.clean .offline{display:none!important}
body.clean .sheet{max-height:40vh}
#cleanCredit{position:fixed;z-index:2;left:0;right:0;bottom:6px;text-align:center;font-size:9px;color:rgba(255,255,255,.45);padding:0 10px;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:not(.clean) #cleanCredit{display:none}
body.clean #sheet:not([hidden]) ~ #cleanCredit{display:none}

/* Oct 10: WX chip divider, Fringe chip, Solar Storm badge */
.chip-div{flex:0 0 auto;align-self:center;font-size:10px;letter-spacing:.14em;color:var(--mu);padding:0 2px 0 6px;border-left:1px solid var(--line)}
.chip.info{border-style:dashed}
.solar-badge{position:fixed;z-index:3;left:10px;bottom:calc(var(--hud-h, 170px) + 8px);display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;
  background:var(--panel,rgba(5,12,18,.82));border:1px solid rgba(255,170,60,.55);color:#ffe3b0;font:12px/1.2 inherit;font-family:inherit;cursor:pointer}
.solar-badge[hidden]{display:none}
.solar-badge .sun{color:#ffc14d;font-size:14px}
.solar-badge b{color:#ffc14d}
.solar-badge[data-g="2"] b{color:#ff9a3d}.solar-badge[data-g="3"] b,.solar-badge[data-g="4"] b,.solar-badge[data-g="5"] b{color:#ff4df0}
.solar-badge.hot{border-color:#ff4df0;animation:solarPulse 1.6s ease-in-out infinite}
@keyframes solarPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,77,240,.55)}50%{box-shadow:0 0 0 7px rgba(255,77,240,0)}}
@media (prefers-reduced-motion: reduce){.solar-badge.hot{animation:none}}
body.clean .solar-badge{display:none!important}
body.clean #wx,body.clean #wxMini,body.clean #wxcard,body.clean #locBtn{display:none!important} /* never a place name or temperature in captures */
body.clean.clean-badge .solar-badge:not([hidden]){display:flex!important;left:14px;bottom:22px;pointer-events:none}
.warnbox.solar{border-color:#ff9a3d;color:#ffd9b0;background:rgba(255,154,61,.08)}
.ak{font-size:10.5px;letter-spacing:.08em}.ak-warning,.ak-alert{color:#ff9a3d}.ak-watch{color:#ffe14d}.ak-summary{color:var(--mu)}

/* Odd Orbit Dot (fringe fun) */
.oodot{display:inline-block;width:18px;height:18px;border-radius:50%;flex:0 0 auto;background:#7a8590;box-shadow:0 0 10px 2px rgba(122,133,144,.55)}
.oodot.sm{width:10px;height:10px;margin-right:6px;box-shadow:0 0 6px 1px rgba(122,133,144,.5)}
.oodot[data-c=blue]{background:#3d8bff;box-shadow:0 0 10px 3px rgba(61,139,255,.6)}
.oodot[data-c=green]{background:#39e07a;box-shadow:0 0 10px 3px rgba(57,224,122,.55)}
.oodot[data-c=yellow]{background:#ffe14d;box-shadow:0 0 10px 3px rgba(255,225,77,.55)}
.oodot[data-c=orange]{background:#ff9a3d;box-shadow:0 0 10px 3px rgba(255,154,61,.6)}
.oodot[data-c=red]{background:#ff3b3b;box-shadow:0 0 12px 4px rgba(255,59,59,.65)}
.oodot-row{display:flex;align-items:center;gap:10px;margin:6px 0 8px;font-size:13px}
