[hidden]{display:none!important}
:root{
  --neon:#39ff14;--st-stroke:#262b30;--chrome:#0d151dE6;--chrome-line:#2b3a48;--card:#0b1219F2;--hl:#67e8f9;
  --bg:#0a0e13;--panel:#10161d;--panel2:#141b23;--line:#1f2933;--text:#e6edf3;--muted:#8b98a5;--faint:#56626e;
  --accent:#ff9933;--up:#3fb950;--down:#f85149;
  --security:#f85149;--disaster:#ff9933;--health:#b48cff;--economy:#3fb950;--politics:#58a6ff;--crime:#e3b341;--tech:#39c5cf;--sport:#db61a2;--general:#8b98a5;
  --r:10px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

.top{display:flex;align-items:center;gap:18px;padding:12px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0d131a,var(--bg))}
.brand{font-weight:500;letter-spacing:.14em;font-size:15px;display:flex;align-items:center;gap:10px}
.brand b{font-weight:700}
.mark{width:18px;height:18px;border-radius:4px;background:conic-gradient(from 200deg,var(--accent),#fff 35%,#138808 70%,var(--accent));box-shadow:0 0 12px #ff993355}
.live{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--down);border:1px solid #f8514940;border-radius:20px;padding:3px 9px}
.live .dot{width:7px;height:7px;border-radius:50%;background:var(--down);animation:pulse 1.6s infinite}
.live.snap{color:var(--accent);border-color:#ff993340}.live.snap .dot{background:var(--accent);animation:none}
@keyframes pulse{50%{opacity:.25}}
.views{display:flex;gap:2px;background:#0d1319;border:1px solid var(--line);border-radius:9px;padding:3px;margin-left:8px}
.views button{padding:6px 14px;border-radius:7px;font-size:13px;color:var(--muted);font-weight:500}
.views button:hover{color:var(--text)}
.views button.on{background:#1b2530;color:var(--text);box-shadow:inset 0 0 0 1px #2c3a47}
.clock{color:var(--muted);font-size:12px}
.updated{margin-left:auto;color:var(--faint);font-size:12px}

.ticker{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none;background:#0c1117}
.ticker::-webkit-scrollbar{display:none}
.tk{display:flex;align-items:center;gap:10px;padding:8px 18px;border-right:1px solid var(--line);white-space:nowrap;min-width:max-content}
.tk .n{color:var(--muted);font-size:12px}.tk .p{font-family:'JetBrains Mono',monospace;font-size:13px}
.tk .c{font-family:'JetBrains Mono',monospace;font-size:12px}
.up{color:var(--up)}.down{color:var(--down)}

.grid{display:grid;grid-template-columns:minmax(0,1fr) 0 76px;gap:0 14px;padding:14px 20px;height:calc(100vh - 128px);min-height:600px;transition:grid-template-columns .25s ease}
body.panel-open .grid{grid-template-columns:minmax(0,1.25fr) minmax(400px,1fr) 76px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mapcol{display:flex;flex-direction:column;gap:14px;min-height:0}
.mappanel{flex:1;display:flex;flex-direction:column;min-height:0}
.panelhead{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}
.layers{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:12px;padding:5px 11px;border-radius:20px;border:1px solid var(--line);color:var(--muted);transition:.15s}
.chip:hover{color:var(--text);border-color:#33414f}
.chip.on{background:#1b2530;color:var(--text);border-color:#3a4a5a}
.chip .sw{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.clear{margin-left:auto;font-size:12px;padding:5px 10px;border-radius:20px;background:#67e8f91a;color:#67e8f9;border:1px solid #67e8f955}
.mapwrap{position:relative;flex:1;min-height:0}
#map{width:100%;height:100%;display:block}
.st{stroke:var(--st-stroke);stroke-width:.7;vector-effect:non-scaling-stroke;transition:fill .25s;cursor:pointer}
.st:hover{stroke:var(--neon);stroke-width:1.6}
.st.sel{stroke:var(--neon);stroke-width:2.4;fill:#39ff1414 !important}
#map{cursor:grab;touch-action:none}#map.panning{cursor:grabbing}
.plane{cursor:pointer;transition:fill .2s}.plane:hover{fill:#67e8f9}
.lbl{font:600 10.5px Inter,sans-serif;fill:#cfe9f5;paint-order:stroke;stroke:#0a0e13;stroke-width:3px;pointer-events:none}
.lbl-ap{fill:#67e8f9;font-size:11.5px}
.zoomctl{position:absolute;left:10px;bottom:10px;display:flex;gap:4px;align-items:center;z-index:4}
.zoomctl button{width:30px;height:30px;border-radius:7px;background:var(--chrome);border:1px solid var(--chrome-line);color:var(--text);font-size:16px;line-height:1}
.zoomctl button:hover{border-color:#67e8f9;color:#67e8f9}
.zoomctl select{height:30px;border-radius:7px;background:var(--chrome);border:1px solid var(--chrome-line);color:var(--text);font:inherit;font-size:12.5px;padding:0 8px;margin-left:4px}
.zl{font-size:11px;color:var(--faint);margin-left:6px;font-family:'JetBrains Mono',monospace}
.fcard{position:absolute;right:10px;top:10px;width:320px;max-width:calc(100% - 20px);max-height:calc(100% - 20px);overflow:auto;background:var(--card);border:1px solid #24485c;border-radius:12px;padding:14px;box-shadow:0 12px 40px #000a,0 0 0 1px #67e8f914;z-index:6;backdrop-filter:blur(6px)}
.fc-x{position:absolute;right:8px;top:8px;width:26px;height:26px;border-radius:6px;color:var(--muted)}.fc-x:hover{background:#1b2530;color:var(--text)}
.fc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-right:26px}
.fc-cs{font:700 22px 'JetBrains Mono',monospace;letter-spacing:.02em}
.fc-air{color:var(--muted);font-size:12.5px;margin-top:2px}
.fc-live{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.1em;color:#67e8f9}
.fc-live i{width:7px;height:7px;border-radius:50%;background:#67e8f9;animation:pulse 1.6s infinite}
.fc-em{font-size:10.5px;font-weight:700;color:#ff7b72;background:#f8514926;border:1px solid #f8514966;border-radius:5px;padding:2px 6px}
.fc-route{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:14px 0 6px}
.fc-ap b{display:block;font:700 18px 'JetBrains Mono',monospace}.fc-ap span{font-size:11.5px;color:var(--muted)}.fc-ap.r{text-align:right}
.fc-bar{position:relative;height:4px;background:#1f2d3a;border-radius:2px}
.fc-bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#0e7490,#67e8f9);border-radius:2px}
.fc-bar em{position:absolute;top:-9px;transform:translateX(-50%) rotate(90deg);font-style:normal;color:#67e8f9;font-size:13px}
.fc-bar small{position:absolute;top:10px;left:0;right:0;text-align:center;font-size:10.5px;color:var(--faint)}
.fc-photo{width:100%;border-radius:8px;margin:12px 0 4px;display:block}
.fc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:12px}
.fc-grid span{display:block;font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}
.fc-grid b{font-size:13px;font-weight:600}
.fc-note{font-size:12px;color:var(--muted);margin-top:10px}
.fc-links{display:flex;gap:12px;margin-top:12px;font-size:12px;align-items:center;flex-wrap:wrap}
.fc-links a{color:#67e8f9}.fc-links button{margin-left:auto;font-size:12px;border:1px solid #2b3a48;border-radius:6px;padding:3px 9px}.fc-links button:hover{border-color:#67e8f9}
.movers{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px 14px 6px}
.movers h4{margin:0 0 6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:500}
.mv{display:flex;justify-content:space-between;font-size:12.5px;padding:4px 0;border-bottom:1px solid #1a242e}
.mv span:last-child{font-family:'JetBrains Mono',monospace}
.stk{display:inline-flex;gap:5px;align-items:center;font-size:11px;border:1px solid #24323f;border-radius:5px;padding:0 6px;font-family:'JetBrains Mono',monospace;color:#cfe9f5;white-space:nowrap}
.chip.stkchip{font-family:'JetBrains Mono',monospace;font-size:11px}
tr.fr{cursor:pointer}tr.fr:hover td{background:var(--panel2)}
.sportnote{padding:10px 14px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.sportnote a{color:#67e8f9}
.tip{position:absolute;pointer-events:none;background:#0b1016f2;border:1px solid #2c3a47;border-radius:8px;padding:8px 10px;font-size:12px;max-width:260px;box-shadow:0 8px 24px #0008;z-index:5}
.tip b{display:block;font-size:13px;margin-bottom:2px}
.legend{display:flex;gap:14px;align-items:center;padding:8px 12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);flex-wrap:wrap}
.ramp{display:inline-block;width:110px;height:8px;border-radius:4px;vertical-align:middle;margin:0 6px}

.pulse{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.stat .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.stat .v{font-size:22px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat .s{font-size:12px;color:var(--faint);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.side{display:flex;flex-direction:column;min-height:0}
.tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none;flex-shrink:0}
.tabs::-webkit-scrollbar{display:none}
.tab{padding:11px 14px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}
.tab:hover{color:var(--text)}
.tab.on{color:var(--text);border-bottom-color:var(--accent)}
.tab .k{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--faint);margin-right:5px}
.tabbody{flex:1;overflow-y:auto;min-height:0}
.tabbody::-webkit-scrollbar{width:8px}.tabbody::-webkit-scrollbar-thumb{background:#222c36;border-radius:4px}

.toolbar{position:sticky;top:0;background:var(--panel);z-index:2;padding:10px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.search{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px 11px;color:var(--text);font:inherit;outline:none}
.search:focus{border-color:#3a4a5a}
.cats{display:flex;gap:5px;flex-wrap:wrap}
.cats .chip{font-size:11px;padding:3px 9px}

.item{display:block;padding:11px 14px;border-bottom:1px solid var(--line)}
.item:hover{background:var(--panel2)}
.item .t{font-size:14px;line-height:1.4}
.meta{display:flex;gap:8px;align-items:center;margin-top:5px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}
.tag{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.pl{color:#67e8f9}
.multi{color:var(--text);background:#1c2630;border-radius:4px;padding:0 5px}
.empty{padding:30px 16px;color:var(--muted);text-align:center}
.sec{padding:14px 14px 4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

.brief{padding:16px}
.brief h2{font-size:19px;line-height:1.3;margin:0 0 8px}
.brief .sum{color:#c3ccd5;margin:0 0 14px}
.bi{padding:12px 0;border-top:1px solid var(--line)}
.bi .h{font-weight:600;display:flex;gap:8px;align-items:baseline}
.bi p{margin:4px 0 0;color:#c3ccd5}
.bi .links{margin-top:5px;font-size:12px;color:var(--muted)}
.bi .links a{text-decoration:underline;text-decoration-color:#33414f;margin-right:10px}
.watch{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-top:10px}
.watch li{margin:4px 0;color:#c3ccd5}
.note{font-size:12px;color:var(--faint);margin-top:12px}

.rows{width:100%;border-collapse:collapse;font-size:13px}
.rows td,.rows th{padding:9px 14px;border-bottom:1px solid var(--line);text-align:left}
.rows th{font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.rows td.r,.rows th.r{text-align:right;font-variant-numeric:tabular-nums}
.aqi{display:inline-block;min-width:38px;text-align:center;border-radius:5px;padding:1px 6px;font-weight:600;font-size:12px;color:#0a0e13}
.spark{vertical-align:middle}
.mag{display:inline-block;min-width:36px;text-align:center;border-radius:5px;padding:1px 5px;font-weight:600;font-size:12px;font-family:'JetBrains Mono',monospace}
.lvl{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:4px;text-transform:uppercase}
.lvl.Red{background:#f8514933;color:#ff7b72}.lvl.Orange{background:#ff993333;color:#ffb366}.lvl.Green{background:#3fb95026;color:#56d364}
.gauge{padding:16px 14px}
.gbar{height:10px;border-radius:5px;background:linear-gradient(90deg,#3fb950,#e3b341,#ff9933,#f85149);position:relative;margin:10px 0 4px}
.gbar i{position:absolute;top:-4px;width:4px;height:18px;background:#fff;border-radius:2px;box-shadow:0 0 6px #000}
.gl{display:flex;justify-content:space-between;font-size:11px;color:var(--faint)}

.alertbar{display:flex;gap:10px;align-items:center;padding:9px 20px;background:linear-gradient(90deg,#f8514926,#f8514908);border-bottom:1px solid #f8514955;font-size:13.5px;cursor:pointer}
.alertbar.Orange{background:linear-gradient(90deg,#ff993326,#ff993308);border-bottom-color:#ff993355}
.alertbar b{color:#ff7b72;letter-spacing:.06em;font-size:11.5px}.alertbar.Orange b{color:#ffb366}
.alertbar .more{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}
.wireview{display:grid;grid-template-columns:240px minmax(0,1fr) 340px;gap:14px;padding:14px 20px;height:calc(100vh - 170px);min-height:600px}
.wside,.wmain{overflow-y:auto}
.wmain .item .t{font-size:15.5px}
.slist button{display:flex;justify-content:space-between;width:100%;padding:7px 14px;font-size:13px;color:#c3ccd5;text-align:left}
.slist button:hover{background:var(--panel2)}
.slist button.on{background:#ff99331a;color:var(--accent)}
.slist .n{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--faint)}
.globeview{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;padding:14px 20px;height:calc(100vh - 170px);min-height:600px}
.globepanel{display:flex;flex-direction:column;min-height:0}
#globe{width:100%;height:100%;display:block;cursor:grab;touch-action:none}
#globe:active{cursor:grabbing}
.ghint{margin-left:auto;font-size:11.5px;color:var(--faint)}
.gside{display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.gside .stat .v{font-size:26px}
.bars{padding:6px 14px 12px}
.bar{display:grid;grid-template-columns:130px 1fr 34px;gap:8px;align-items:center;font-size:12.5px;margin:5px 0}
.bar i{display:block;height:8px;border-radius:4px;background:#58a6ff}
.bar span:last-child{text-align:right;font-family:'JetBrains Mono',monospace;color:var(--muted);font-size:11.5px}
.foot{display:flex;justify-content:space-between;gap:20px;padding:4px 20px 14px;color:var(--faint);font-size:11.5px;flex-wrap:wrap}

@media (max-width:1000px){
  .grid{grid-template-columns:1fr;height:auto}
  .mappanel{height:62vh}
  .side{height:80vh}
  .pulse{grid-template-columns:repeat(2,1fr)}
  .updated,.clock{display:none}
  .top{gap:10px;padding:10px 14px;flex-wrap:wrap}.brand{font-size:13px}.grid{padding:12px}
  .views{order:5;width:100%;margin:0}.views button{flex:1;padding:6px 4px}
  .wireview,.globeview{grid-template-columns:1fr;height:auto;padding:12px}#wireSide{display:none}.globepanel{height:70vh}
  .alertbar .more{display:none}
}

/* ---------- theme toggle, flight search, good news ---------- */
.themebtn{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);font-size:16px;display:grid;place-items:center;color:var(--muted)}
.themebtn:hover{color:var(--text);border-color:var(--chrome-line)}
.fsearch{position:absolute;left:10px;top:10px;width:min(380px,calc(100% - 350px));min-width:240px;z-index:7}
.fsearch input{width:100%;height:40px;border-radius:10px;border:1px solid #58a6ff;background:var(--card);color:var(--text);font:inherit;font-size:14px;padding:0 38px 0 36px;outline:none;box-shadow:0 8px 30px #0006,0 0 0 3px #58a6ff22}
.fsearch .ic{position:absolute;left:12px;top:11px;color:#58a6ff;font-size:14px}
.fsearch .x{position:absolute;right:8px;top:7px;width:26px;height:26px;border-radius:6px;color:var(--muted)}
.fres{margin-top:6px;background:var(--card);border:1px solid var(--chrome-line);border-radius:10px;overflow:hidden;box-shadow:0 12px 30px #0007;max-height:320px;overflow-y:auto}
.fres button{display:grid;grid-template-columns:96px 1fr auto;gap:10px;width:100%;text-align:left;padding:8px 12px;border-bottom:1px solid var(--line);font-size:12.5px;align-items:center}
.fres button:hover,.fres button.act{background:var(--panel2)}
.fres b{font-family:'JetBrains Mono',monospace;font-size:13px}
.fres .m{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fres .r{color:var(--faint);font-family:'JetBrains Mono',monospace;font-size:11.5px}
.fres .none{padding:12px;font-size:12.5px;color:var(--muted)}.fres .none a{color:#58a6ff}
.goodhead{margin:12px 14px 4px;padding:12px 14px;border-radius:10px;background:linear-gradient(135deg,#3fb95022,#eab30822);border:1px solid #3fb95044;font-size:13px;line-height:1.45}
.goodhead b{font-size:15px}
.rgn{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#7aa2f7}
.inang{font-size:10.5px;font-weight:700;color:#ff9933;border:1px solid #ff993355;border-radius:4px;padding:0 4px}

/* ---------- light theme ---------- */
[data-theme="light"]{
  --bg:#f3f5f8;--panel:#ffffff;--panel2:#f1f4f8;--line:#e2e7ed;--text:#111a24;--muted:#56626f;--faint:#8792a0;
  --neon:#0aa83c;--st-stroke:#c5ccd3;--chrome:#ffffffEE;--chrome-line:#cdd6df;--card:#ffffffF5;--hl:#0b7fa6;
  --up:#16a34a;--down:#dc2626;--general:#6b7785;
}
[data-theme="light"] .top{background:linear-gradient(180deg,#ffffff,var(--bg))}
[data-theme="light"] .ticker{background:#ffffff}
[data-theme="light"] .views{background:#eef2f6}
[data-theme="light"] .views button.on,[data-theme="light"] .chip.on{background:#e4eaf1;box-shadow:inset 0 0 0 1px #c9d3dd}
[data-theme="light"] .chip:hover{border-color:#c2ccd6}
[data-theme="light"] .tip{background:#ffffffF5;border-color:#cdd6df;box-shadow:0 8px 24px #0002;color:var(--text)}
[data-theme="light"] .lbl{fill:#14202b;stroke:#ffffff}
[data-theme="light"] .lbl-ap{fill:#0b7fa6}
[data-theme="light"] .fcard,[data-theme="light"] .fres{box-shadow:0 12px 40px #0002}
[data-theme="light"] .fc-live,[data-theme="light"] .fc-links a,[data-theme="light"] .pl{color:#0b7fa6}
[data-theme="light"] .fc-live i{background:#0b7fa6}
[data-theme="light"] .brief .sum,[data-theme="light"] .bi p,[data-theme="light"] .watch li{color:#2c3946}
[data-theme="light"] .multi{background:#e8edf3}
[data-theme="light"] .stk{border-color:#d3dbe3;color:#1f2d3a}
[data-theme="light"] .mv{border-bottom-color:#edf1f5}
[data-theme="light"] .alertbar{background:linear-gradient(90deg,#fde8e8,#fff6f6)}
[data-theme="light"] .alertbar b{color:#c81e1e}
[data-theme="light"] .slist button{color:#2c3946}
[data-theme="light"] .tabbody::-webkit-scrollbar-thumb{background:#cfd8e1}
[data-theme="light"] .sportnote a{color:#0b7fa6}

@media (max-width:1000px){.fsearch{width:calc(100% - 20px)}.fcard{top:60px}}

/* floating news list */
.ncard{width:360px;padding:0;display:flex;flex-direction:column}
.ncard:not([hidden]){display:flex}
.nc-head{padding:14px 40px 10px 14px;border-bottom:1px solid var(--line)}
.nc-title{font-size:19px;font-weight:700}
.nc-sub{font-size:12px;color:var(--muted);margin-top:2px;display:flex;align-items:center;flex-wrap:wrap}
.nc-cats{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.nc-list{overflow-y:auto;max-height:min(52vh,460px)}
.nc-item{display:grid;grid-template-columns:8px 1fr;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.nc-item:hover{background:var(--panel2)}
.nc-item:hover .nc-t{text-decoration:underline;text-decoration-color:var(--faint)}
.nc-dot{width:7px;height:7px;border-radius:50%;margin-top:6px}
.nc-t{display:block;font-size:13.5px;line-height:1.38}
.nc-item .meta{margin-top:3px}
.nc-more{padding:10px 14px;font-size:12.5px;color:var(--hl);text-align:left}
.nc-more:hover{background:var(--panel2)}
.hit{cursor:pointer}

/* ---------- India-first layout: rail + collapsible panel ---------- */
.side{overflow:hidden;min-width:0;opacity:0;pointer-events:none;transition:opacity .2s}
body.panel-open .side{opacity:1;pointer-events:auto}
.phead{display:flex;align-items:center;border-bottom:1px solid var(--line);flex-shrink:0;min-width:0}
.phead .tabs{flex:1;border-bottom:0;min-width:0}
.phead .pclose{margin:0 8px;flex-shrink:0}
.pclose{width:28px;height:28px;border-radius:7px;color:var(--muted)}.pclose:hover{background:var(--panel2);color:var(--text)}
.rail{display:flex;flex-direction:column;gap:2px;overflow-y:auto;scrollbar-width:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:6px 4px}
.rail::-webkit-scrollbar{display:none}
.rl{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;border-radius:8px;color:var(--muted);font-size:10.5px;line-height:1.15;text-align:center}
.rl:hover{background:var(--panel2);color:var(--text)}
.rl.on{background:var(--panel2);color:var(--text);box-shadow:inset 3px 0 0 #1d4ed8}
.ri{font-size:17px;line-height:1}
.rn{max-width:68px}
.pulse{display:none}
body.panel-open .pulse{display:none}
.bn{font:700 9.5px Inter,sans-serif;fill:#fff;paint-order:stroke;stroke:#0008;stroke-width:2px;pointer-events:none}
@media (max-width:1000px){
  .grid,body.panel-open .grid{grid-template-columns:1fr;height:auto;padding-bottom:70px}
  .rail{position:fixed;left:0;right:0;bottom:0;flex-direction:row;border-radius:0;z-index:20;padding:4px;overflow-x:auto}
  .rl{min-width:64px}
  .side{position:fixed;left:0;right:0;bottom:62px;top:30vh;z-index:19;border-radius:14px 14px 0 0;display:none}
  body.panel-open .side{display:flex}
  .mappanel{height:calc(100vh - 210px)}
}

/* no text-selection wash when dragging / double-clicking the map */
#map,#globe,.mapwrap,.panelhead,.zoomctl,.rail{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
#map *::selection,#globe *::selection{background:transparent}

.lbl-isl{font-size:9.5px;fill:var(--muted)}
