@font-face{font-family:"Inter";src:url(/fonts/Inter-Variable.woff) format("woff");font-weight:100 900;font-display:swap}
@font-face{font-family:"Bricolage";src:url(/fonts/brico-700.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Bricolage";src:url(/fonts/brico-800.ttf) format("truetype");font-weight:800;font-display:swap}
:root{
  --bg:#050e12;--ink:#e8f3f4;--muted:#8fb1b8;--dim:#5c8088;
  --glass-b:rgba(255,255,255,.1);--water:#5ad6ef;--ember:#ff8a4c;--glacier:#c9f3ff;
  --low:#7aa7d9;--fun:#3ddc97;--pushy:#ffb020;--high:#ff5370;--r:22px;
  --disp:"Bricolage","Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{min-height:100vh;background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-feature-settings:"tnum" 1,"cv11" 1;-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.45}
a{color:inherit}
code{font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(255,255,255,.07);padding:1px 6px;border-radius:6px;color:var(--glacier)}
small{font-size:.8em}
.muted{color:var(--muted)}.sm{font-size:13px}.warn{color:#ffd37a}.fine{font-size:11.5px;color:var(--dim);margin-top:8px;line-height:1.5}
.pad{padding:18px}

/* ---- background ---- */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 80% at 70% -10%,#0f3a4d 0%,#08222e 42%,#050e12 100%)}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:drift 24s ease-in-out infinite alternate}
.o1{width:420px;height:420px;background:#0e7490;top:-140px;left:-140px}
.o2{width:380px;height:380px;background:#b4421c;top:-60px;right:-160px;opacity:.2;animation-duration:30s}
.o3{width:340px;height:340px;background:#0f766e;bottom:-140px;left:25%;opacity:.3;animation-duration:34s}
@keyframes drift{to{transform:translate(40px,60px) scale(1.12)}}
.volcano{position:absolute;top:0;right:0;width:min(560px,100vw);height:300px;opacity:.55;mask-image:linear-gradient(#000 40%,transparent)}
.vpulse{animation:vp 5s ease-in-out infinite alternate}@keyframes vp{from{opacity:.55}to{opacity:1}}
.smoke circle{fill:#cfeaf0;opacity:.14;animation:smk 7s ease-in infinite}.smoke circle:nth-child(2){animation-delay:2s}.smoke circle:nth-child(3){animation-delay:4s}
@keyframes smk{0%{transform:translate(0,6px);opacity:0}30%{opacity:.18}100%{transform:translate(14px,-26px);opacity:0}}
.waves{position:absolute;left:0;bottom:0;width:100%;height:170px}
.w{fill:rgba(90,214,239,.06)}.w1{animation:sway 14s ease-in-out infinite alternate}
.w2{fill:rgba(45,212,191,.05);animation:sway 19s ease-in-out infinite alternate-reverse}
.w3{fill:rgba(90,214,239,.05);animation:sway 25s ease-in-out infinite alternate}
@keyframes sway{to{transform:translateX(-70px)}}

/* ---- layout ---- */
.wrap{max-width:1120px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 14px max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px}
.brand{display:flex;gap:11px;align-items:center;text-decoration:none;min-width:0}
.logo{width:42px;height:42px;flex:none;filter:drop-shadow(0 4px 16px rgba(255,138,76,.35))}
h1{font:800 22px/1.05 var(--disp);letter-spacing:-.02em}h1 span{color:var(--water);font-weight:700}
.sub{font-size:11.5px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;gap:8px;align-items:center;flex:none}
.proto{font:700 9.5px Inter;letter-spacing:.12em;color:#ffd37a;border:1px solid rgba(255,211,122,.4);padding:4px 7px;border-radius:99px}
.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--glass-b);background:rgba(255,255,255,.055);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:.2s}
.icon-btn:hover{background:rgba(255,255,255,.12)}.icon-btn.spin svg{animation:rot .8s linear infinite}@keyframes rot{to{transform:rotate(360deg)}}
.glass{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.032));border:1px solid var(--glass-b);border-radius:var(--r);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:0 10px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08)}

.tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:5px;border-radius:99px;background:rgba(255,255,255,.045);border:1px solid var(--glass-b);position:sticky;top:8px;z-index:20;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);scroll-snap-type:x proximity}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;padding:9px 16px;border-radius:99px;text-decoration:none;font:650 13.5px Inter;color:var(--muted);transition:.25s;scroll-snap-align:center;white-space:nowrap}
.tabs a sup{color:#ffb020;font-size:10px;margin-left:1px}
.tabs a:hover{color:var(--ink)}
.tabs a.on{color:#04222b;background:linear-gradient(135deg,#9be9f8,#5ad6ef 60%,#3bb8d6);box-shadow:0 2px 16px rgba(90,214,239,.4)}
.tabs a.on sup{color:#7a4a00}
.view{display:flex;flex-direction:column;gap:14px;animation:rise .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* banners */
#banner{display:flex;flex-direction:column;gap:8px}
.bn{padding:10px 14px;border-radius:14px;font-size:13px;border:1px solid rgba(255,176,32,.4);background:rgba(255,176,32,.1);color:#ffe2a3}
.bn.mock{border-color:rgba(255,83,112,.55);background:repeating-linear-gradient(135deg,rgba(255,83,112,.14) 0 10px,rgba(255,83,112,.07) 10px 20px);color:#ffd0d8}
.bn button{margin-left:6px;border:1px solid currentColor;background:none;color:inherit;border-radius:99px;padding:3px 10px;font:600 12px Inter;cursor:pointer}

/* intro */
.intro h2{font:800 30px/1.1 var(--disp);letter-spacing:-.025em}
.intro h2 em{font-style:normal;background:linear-gradient(90deg,#9be9f8,var(--water),#ffb48a);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro p{color:var(--muted);margin-top:6px;font-size:14px;max-width:62ch}.intro b{color:var(--ink)}
.wxline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:12px 6px}
.wxline>div{padding:2px 12px;border-left:1px solid rgba(255,255,255,.08);font-size:13px;color:var(--muted)}.wxline>div:first-child{border-left:0}
.wxline .k{display:block;font:600 10px Inter;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:2px}
.wxline b{font:800 22px var(--disp);color:var(--ink)}
.legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.lg-t{margin-right:4px}.ph{font:700 10px Inter;letter-spacing:.08em;color:#ffd37a;border:1px dashed rgba(255,211,122,.55);padding:2px 6px;border-radius:6px}

/* chips & badges */
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:99px;font:750 13px Inter;color:var(--c);background:color-mix(in srgb,var(--c) 15%,transparent);border:1.5px solid color-mix(in srgb,var(--c) 55%,transparent)}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.chip.est{border-style:dashed;background:color-mix(in srgb,var(--c) 8%,transparent)}
.chip.sm{padding:3px 10px;font-size:11.5px}.chip.lg{font-size:16px;padding:8px 18px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:99px;font:700 10.5px Inter;letter-spacing:.03em;white-space:nowrap}
.badge.live{color:#8ff5c4;background:rgba(61,220,151,.12);border:1px solid rgba(61,220,151,.4)}
.badge.live i{width:7px;height:7px;border-radius:50%;background:#3ddc97;animation:ping 1.8s ease-out infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(61,220,151,.7)}100%{box-shadow:0 0 0 8px rgba(61,220,151,0)}}
.badge.proxy{color:#ffd37a;background:repeating-linear-gradient(135deg,rgba(255,176,32,.16) 0 6px,rgba(255,176,32,.07) 6px 12px);border:1px dashed rgba(255,176,32,.6)}
.badge.mock,.tg.t-mock{color:#fff;background:#d63a56;border:1px solid #ff8da0}
.badge.model{color:#d8c4ff;background:rgba(160,120,255,.14);border:1px solid rgba(160,120,255,.45);margin-left:6px;vertical-align:2px}
.badge.soft{color:var(--muted);background:rgba(255,255,255,.06);border:1px solid var(--glass-b);font-weight:600}
.badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.tag{font:700 9.5px Inter;letter-spacing:.06em;padding:2px 6px;border-radius:5px;margin-left:4px;vertical-align:1px}
.tag.est{color:#d8c4ff;background:rgba(160,120,255,.15)}.tag.warn{color:#ffd37a;background:rgba(255,176,32,.15)}.tag.bad{color:#ffb0bd;background:rgba(255,83,112,.18)}
.mk{color:#ff8da0}
.prov{font-size:10.5px;color:var(--dim);letter-spacing:.02em;margin-top:8px}

/* cards */
.cards{display:grid;grid-template-columns:1fr;gap:14px}
.rcard{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:9px;padding:18px 18px 14px;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;animation:rise .7s calc(var(--i)*.07s) cubic-bezier(.2,.8,.2,1) both;border-color:color-mix(in srgb,var(--st) 25%,rgba(255,255,255,.1))}
.rcard:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--st) 65%,transparent);box-shadow:0 14px 50px rgba(0,0,0,.4),0 0 40px color-mix(in srgb,var(--st) 25%,transparent)}
.rcard>*{position:relative;z-index:1}
.tide{position:absolute!important;left:0;right:0;bottom:0;height:var(--lvl,40%);z-index:0!important;background:linear-gradient(180deg,color-mix(in srgb,var(--st) 20%,transparent),color-mix(in srgb,var(--st) 6%,transparent));transition:height 1s;pointer-events:none}
.tide::before{content:"";position:absolute;left:0;right:0;top:-9px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M0 5 Q15 0 30 5 T60 5 T90 5 T120 5 V10 H0Z' fill='%23fff' fill-opacity='.0'/%3E%3C/svg%3E");}
.tide::after{content:"";position:absolute;left:-100%;right:-100%;top:-8px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='16' viewBox='0 0 160 16'%3E%3Cpath d='M0 8 Q20 0 40 8 T80 8 T120 8 T160 8 V16 H0Z' fill='%23ffffff' fill-opacity='.07'/%3E%3C/svg%3E") repeat-x;animation:tidew 7s linear infinite}
@keyframes tidew{to{transform:translateX(160px)}}
.is-proxy .tide{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--st) 12%,transparent) 0 8px,transparent 8px 16px)}
.rc-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.rc-top h3{font:800 26px/1 var(--disp);letter-spacing:-.02em}.rc-top p{font-size:12px;color:var(--muted);margin-top:4px}
.rc-mid{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;min-height:62px}
.big{font:800 52px/1 var(--disp);letter-spacing:-.03em;background:linear-gradient(180deg,#fff 20%,color-mix(in srgb,var(--st) 55%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent}
.u{font:600 14px Inter;color:var(--muted);margin-left:6px;-webkit-text-fill-color:var(--muted);letter-spacing:0}
.rc-chip{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.pc{font-size:10.5px;color:var(--dim)}
.nogauge{font:800 26px var(--disp);color:var(--muted);letter-spacing:-.01em}.nogauge.lg{font-size:28px;margin-bottom:6px}
.proxyval{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;padding:6px 10px;border:1px dashed rgba(255,176,32,.55);border-radius:12px;background:rgba(255,176,32,.06)}
.proxyval span{font:800 9.5px Inter;letter-spacing:.1em;color:#1a1000;background:#ffb020;padding:1px 6px;border-radius:5px;margin-right:4px}
.proxyval b{color:#ffe2a3;font-size:15px}.proxyval.lg{font-size:14px;padding:9px 12px}
.rc-mid .proxy-col{flex:1}
.rc-mid:has(.nogauge){flex-direction:column;align-items:flex-start;gap:8px}
.rc-mid:has(.nogauge) .rc-chip{flex-direction:row;align-items:center;order:-1;align-self:stretch;justify-content:space-between;order:2}
.trend{font:650 13px Inter;display:inline-flex;gap:6px;align-items:baseline;color:var(--glacier)}.trend b{font-size:14px}.trend small{color:var(--dim);font-weight:500}
.trend.surge,.trend.plunge{color:#ffcf6b}.trend.down{color:#9fc4ff}
.sp{position:relative;height:56px;margin:2px -4px 0}.spark{width:100%;height:100%}.splab{position:absolute;right:4px;top:-2px;font-size:9.5px;color:var(--dim);letter-spacing:.04em}
.rc-foot{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--muted);flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.07);padding-top:9px}
.rc-foot small{color:var(--dim)}
.mini3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mini{position:relative;padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column}
.mini .mn{font:600 9.5px Inter;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);padding-right:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini b{font:800 20px var(--disp)}.mini small{color:var(--muted);font-size:10px}
.mini i{position:absolute;right:9px;bottom:12px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}

/* network panel */
.netpanel{display:grid;gap:14px;grid-template-columns:1fr}
.netpanel h2,.sec-h h2{font:800 19px var(--disp);letter-spacing:-.01em}
.keys{display:flex;flex-wrap:wrap;gap:14px;list-style:none;margin-top:10px;font-size:12px;color:var(--muted);padding:0}
.keys i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-2px}
.k1{background:var(--fun);box-shadow:0 0 8px var(--fun)}.k2{border:2px dashed #ffb020}.k3{background:#5c8088}
.net{width:100%;max-width:440px;margin:0 auto;display:block;height:auto}
.rv-base{fill:none;stroke:#1d7f9e;stroke-opacity:.5;stroke-linecap:round}
.rv-flow{fill:none;stroke:#bff3ff;stroke-opacity:.8;stroke-linecap:round;stroke-dasharray:1 14;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-15}}
.trib .rv-base{stroke:#3c6877;stroke-opacity:.6}.trib .rv-flow{stroke-opacity:.35}.faint .rv-base{stroke-dasharray:3 6;stroke-opacity:.4}.faint .rv-flow{display:none}
.rv-base.palguin,.rv-base.nevados,.rv-base.puesco{stroke:#2d7f8c}
.dim{opacity:.4}
.net .nl{font:700 12.5px Inter;fill:#e8f3f4}.net .nv{font:600 10.5px Inter;fill:#8fb1b8}.net .nv.warn{fill:#ffd37a}
.net .ml{font:500 10px Inter;fill:#8fb1b8}.net .ml.faint{fill:#5c8088}.net .ml.bold{fill:#c9f3ff;font-weight:700}
.net .lakel{font:700 12px Inter;fill:#d8f6ff}.net .lakel.s{font-size:9px}.net .lkw{stroke:#bff3ff;stroke-opacity:.5;stroke-width:1.5;animation:lkw 4s ease-in-out infinite alternate}@keyframes lkw{to{transform:translateX(6px)}}
.net .nd{cursor:pointer}.net .nd:hover circle{filter:brightness(1.3)}.net .ring{animation:ringp 2.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes ringp{0%{transform:scale(.7);opacity:.5}100%{transform:scale(1.5);opacity:0}}
.netmini{display:flex;align-items:center;justify-content:center}.netmini .net{max-width:340px}

/* river page */
.back{font:600 13px Inter;color:var(--muted);text-decoration:none;align-self:flex-start;padding:4px 2px}.back:hover{color:var(--ink)}
.hero{position:relative;overflow:hidden;padding:20px 18px 16px;border-color:color-mix(in srgb,var(--st) 35%,rgba(255,255,255,.1))}
.hero>*{position:relative;z-index:1}.hero .tide{height:22%;opacity:.8}
.hero-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.hero-head h2{font:800 34px/1 var(--disp);letter-spacing:-.025em}
.hero-nums{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}
.label{font:650 10.5px Inter;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.bigger{font:800 76px/1 var(--disp);letter-spacing:-.04em;background:linear-gradient(180deg,#fff 15%,color-mix(in srgb,var(--st) 60%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:4px}
.big2{font:800 44px/1 var(--disp);letter-spacing:-.03em;margin-top:6px}.big2 .u,.bigger .u{font-size:16px}
.sub2{font-size:12px;color:var(--muted);display:block;margin-top:4px}
.hero-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:14px}
.meter{position:relative;height:12px;border-radius:99px;margin-top:20px;overflow:hidden;background:rgba(255,255,255,.06)}
.meter .segs i{position:absolute;top:0;bottom:0;opacity:.75}
.pin{position:absolute;top:-4px;width:6px;height:20px;border-radius:4px;background:#fff;margin-left:-3px;box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 45%,transparent),0 0 14px var(--c);transition:left .8s}
.meter{overflow:visible}.meter .segs{position:absolute;inset:0;border-radius:99px;overflow:hidden}
.mlabs{position:relative;height:16px;margin-top:5px;font-size:10.5px;color:var(--dim)}.mlabs span{position:absolute;transform:translateX(-50%)}
.ph-note{margin-top:2px}
.deltas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.deltas .k{display:block;font:600 10px Inter;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.deltas .v{font:700 14px Inter}.deltas .v small{color:var(--muted);font-weight:500}
.deltas .v.up{color:#a8e8ff}.deltas .v.dn{color:#a6c4ff}
.proxyhero .proxybox{margin-top:14px;padding:14px;border-radius:16px;border:1px dashed rgba(255,176,32,.5);background:rgba(255,176,32,.05)}
.warnline{font-size:12.5px;color:#ffd37a;margin-top:8px}
.pctbar{margin-top:18px}.pb{position:relative;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--low),var(--fun) 40%,var(--pushy) 75%,var(--high));opacity:.7}
.pb i{position:absolute;top:-5px;width:6px;height:20px;border-radius:4px;background:#fff;margin-left:-3px;box-shadow:0 0 12px #fff}
.pbl{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);margin-top:8px;gap:6px}.pbl b{color:var(--muted);font-weight:600;text-align:center}

.sec-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ctl{display:flex;gap:8px;flex-wrap:wrap}
.seg-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid var(--glass-b)}
.seg-toggle button{border:0;background:none;color:var(--muted);padding:6px 12px;border-radius:99px;font:650 12px Inter;cursor:pointer;transition:.2s}
.seg-toggle button.on{background:linear-gradient(135deg,rgba(90,214,239,.4),rgba(59,130,246,.4));color:#fff}
.chart,.wxc{position:relative;touch-action:pan-y}
.chart svg,.wxc svg{display:block;width:100%;height:auto;overflow:visible}
.chart .grid,.wxc .grid{stroke:rgba(255,255,255,.07)}.chart .grid.v,.wxc .grid.v{stroke:rgba(255,255,255,.04)}
.chart text,.wxc text{fill:var(--dim);font:500 10.5px Inter}
.chart .thr,.wxc .thr{font-size:9.5px;font-weight:600}
.chart .line{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(90,214,239,.4))}.chart .line.proxy{stroke-dasharray:7 5;filter:none}
.chart .wm{fill:rgba(255,255,255,.35);font:700 9.5px Inter;letter-spacing:.1em}.chart .wm.big{font-size:20px;fill:rgba(255,176,32,.28);letter-spacing:.14em}.chart .wm.big.mock{fill:rgba(255,83,112,.4)}
.chart .pulse{animation:pls 2s ease-out infinite;transform-box:fill-box;transform-origin:center}@keyframes pls{0%{opacity:.6;transform:scale(.8)}100%{opacity:0;transform:scale(3)}}
.chart .cursor line{stroke:rgba(255,255,255,.4);stroke-dasharray:3 3}.chart .cursor circle{fill:#fff;stroke:var(--water);stroke-width:3}
.tip{position:absolute;top:0;pointer-events:none;padding:8px 11px;border-radius:12px;background:rgba(5,15,24,.9);border:1px solid rgba(255,255,255,.15);font-size:12px;line-height:1.45;white-space:nowrap;transform:translateX(-50%);z-index:3}
.tip b{font-size:14px}.tip span{color:var(--muted)}.tip i{font-style:normal;font-weight:700}
.chart-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--dim);margin-top:8px;flex-wrap:wrap}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.tile{padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.07)}
.tile .k{display:block;font:600 10px Inter;letter-spacing:.07em;text-transform:uppercase;color:var(--dim)}.tile b{font:800 24px var(--disp)}.tile small{color:var(--muted);margin-left:3px}
.wxleg{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:6px}.wxleg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.wxleg i.dash{background:none;border-top:2px dashed;height:0;width:14px;border-radius:0;vertical-align:3px}
.mbars{display:flex;gap:6px;align-items:flex-end;height:130px;padding-top:6px}
.mb em{font:700 9.5px Inter;font-style:normal;color:var(--muted)}.mb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:5px}.mb i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#b79cff,#6b4fd6);opacity:.55}
.mb.past i{opacity:.35}.mb.today i{opacity:1;box-shadow:0 0 14px rgba(160,120,255,.6)}.mb span{font-size:10px;color:var(--dim)}.mb.today span{color:#d8c4ff;font-weight:700}

.grid2{display:grid;grid-template-columns:1fr;gap:14px}
.blurb{font-size:14px;color:var(--muted);line-height:1.6}
.ctx{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.ctx h4{font:700 10.5px Inter;letter-spacing:.09em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.ctx ul,.howto ul,.plain{list-style:none;padding:0;display:flex;flex-direction:column;gap:7px}.ctx li,.howto li,.plain li{font-size:13px;color:var(--muted);padding-left:14px;position:relative}
.ctx li::before,.howto li::before,.plain li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--water);opacity:.7}
.runs{list-style:none;padding:0;margin-top:10px;display:flex;flex-direction:column;gap:2px}
.runs li{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.07);font-size:13px;color:var(--muted)}.runs li:first-child{border-top:0}
.rk{font-weight:650;color:var(--ink)}em.unv,em.beta{font:700 9px Inter;letter-spacing:.07em;font-style:normal;padding:2px 5px;border-radius:5px;margin-left:5px;vertical-align:1px;display:inline-block}
em.unv{color:#ffd37a;background:rgba(255,176,32,.15)}em.beta{color:#b8d6ff;background:rgba(80,140,255,.18)}
.stns{display:grid;gap:12px;grid-template-columns:1fr}
.stn{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px;background:rgba(0,0,0,.18)}
.stn header{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.stn header b{font:800 17px var(--disp)}.role{font:700 9.5px Inter;letter-spacing:.08em;color:var(--water);margin-left:auto}
dl>div{display:grid;grid-template-columns:118px 1fr;gap:10px;padding:6px 0;border-top:1px solid rgba(255,255,255,.05);font-size:12.5px}dl>div:first-child{border-top:0}
dt{color:var(--dim);font-weight:600}dd{margin:0;color:var(--muted);word-break:break-word}dd a{color:var(--glacier)}
.vet>div{grid-template-columns:1fr;gap:3px;padding:10px 0}.vet dt{color:var(--ink);font-weight:700;font-size:13px}.vet dd{font-size:13px}
.tbl{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12.5px}th{text-align:left;font:700 10px Inter;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding:6px 10px 8px 0}td{padding:8px 10px 8px 0;border-top:1px solid rgba(255,255,255,.06);color:var(--muted);white-space:nowrap}
.o-live{color:#8ff5c4}.o-fallback{color:#ffd37a}.o-cached{color:#9fc4ff}
.mxl{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.mxl li{display:flex;gap:12px;align-items:flex-start}.mxl b{display:block;font-size:13.5px}.mxl span:not(.tg){display:block;font-size:12.5px;color:var(--muted)}
.tg{flex:none;min-width:96px;text-align:center;font:800 9.5px Inter;letter-spacing:.07em;padding:4px 7px;border-radius:7px;margin-top:1px;display:inline-block;color:#04222b;background:#8ff5c4}
.tg.t-placeholder,.tg.t-beta,.tg.t-estimate{background:#ffd37a}.tg.t-model{background:#c9b6ff}.tg.t-src{min-width:0;margin-left:6px;background:rgba(255,255,255,.12);color:var(--muted)}
.foot{text-align:center;color:var(--dim);font-size:11.5px;line-height:1.7;padding:10px 8px}
.demo{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:center;margin-bottom:10px;padding:6px 8px 6px 14px;border-radius:99px;border:1px dashed rgba(255,83,112,.45);background:rgba(255,83,112,.06)}
.demo button{border:1px solid var(--glass-b);background:rgba(255,255,255,.05);color:var(--muted);border-radius:99px;padding:5px 12px;font:650 12px Inter;cursor:pointer}.demo button.on{background:#d63a56;color:#fff;border-color:#ff8da0}
.skeleton{animation:pulse 1.4s ease-in-out infinite;color:var(--muted)}@keyframes pulse{50%{opacity:.45}}
.empty{padding:40px;text-align:center;color:var(--dim)}.err{color:#ffb0bd}

@media (min-width:700px){
  .wrap{padding-top:30px;gap:18px}.cards{grid-template-columns:repeat(2,1fr)}.rcard.feat{grid-column:span 2}
  .netpanel{grid-template-columns:1fr 1fr;align-items:center}.grid2{grid-template-columns:1.2fr 1fr}.stns{grid-template-columns:repeat(2,1fr)}
  .intro h2{font-size:40px}.pad{padding:22px}.hero{padding:26px 26px 20px}.hero-head h2{font-size:44px}.bigger{font-size:96px}
  .sub{font-size:12.5px}h1{font-size:26px}
}
@media (min-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}.rcard.feat{grid-column:span 2}.stns{grid-template-columns:repeat(3,1fr)}.stns:has(.stn:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.stns:has(.stn:only-child){grid-template-columns:minmax(0,640px)}}
@media (max-width:520px){
  .sub{display:none}.proto{display:none}.big{font-size:46px}.bigger{font-size:64px}.big2{font-size:36px}.hero-head h2{font-size:30px}
  .wxline{grid-template-columns:repeat(2,1fr);row-gap:10px}.wxline>div:nth-child(3){border-left:0}
  .tiles{grid-template-columns:repeat(2,1fr)}.deltas{grid-template-columns:repeat(2,1fr);row-gap:12px}
  .runs li{grid-template-columns:1fr;gap:3px}dl>div{grid-template-columns:1fr;gap:1px}.ctx{grid-template-columns:1fr}
  .hero-nums{grid-template-columns:1fr 1fr;gap:10px}.mini b{font-size:17px}.intro h2{font-size:27px}
  .tabs a{padding:9px 13px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
