/* RuntimeMath · Electric Glass (Oct 2026). One dark theme for every page. */
:root{
  --bg:#030c16;--hero:#030e1a;--surface:#071726;--card:#0b1c2c;--field:#06141f;
  --ink:#f5f9ff;--h1:#f8fbff;--muted:#9aaec0;--muted2:#c3d0dd;--lead:#b9c9da;
  --line:rgba(137,187,216,.23);--line2:rgba(137,187,216,.12);--glass:rgba(138,190,223,.55);
  --accent:#44dff4;--eyebrow:#7ce8fa;--accent-ink:#041c28;--accent-soft:rgba(68,223,244,.08);
  --card-line:#28465b;--rec-line:#43b8d5;--card-bg:linear-gradient(145deg,#0c2031,#081928);
  --ok-bg:rgba(68,223,244,.12);--ok-fg:#7ce8fa;--bad-bg:rgba(255,140,105,.14);--bad-fg:#ffb59e;--warn-fg:#ffd98a;
  --band:#020912;--focus:#44dff4;
  --sans:Arial,Helvetica,sans-serif;--mono:Arial,Helvetica,sans-serif;
  --pad:48px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);font-variant-numeric:tabular-nums}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
img,svg{max-width:100%}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-0.01em;margin:0;color:var(--h1)}
h1{font-size:clamp(34px,4.4vw,56px);font-weight:700;letter-spacing:-1.5px;line-height:1.04}
h2{font-size:clamp(24px,2.6vw,34px);font-weight:700;letter-spacing:-.6px}
h3{font-size:20px;font-weight:700}
p{margin:0}
button,input,select,textarea{font-family:inherit}
.wrap{max-width:calc(1385px + 2 * var(--pad));margin:0 auto;padding-left:max(var(--pad),env(safe-area-inset-left,0px));padding-right:max(var(--pad),env(safe-area-inset-right,0px))}
.skip{position:absolute;left:-999px;top:0;background:var(--card);color:var(--ink);padding:10px 14px;z-index:50}
.skip:focus{left:12px;top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0;margin:-1px;border:0}

/* header */
.strip{background:var(--band);color:var(--muted);font:400 12px/1.5 var(--sans);text-align:center;padding-block:7px;padding-left:20px;padding-right:20px;margin:0;border-bottom:1px solid var(--line2)}
.strip a{color:var(--muted2)}
.strip .ss{display:none}
.site-head{background:rgba(3,12,22,.96);border-bottom:1px solid var(--line2);position:relative;z-index:5}
.top{display:flex;align-items:center;gap:10px 24px;min-height:72px}
.logo{font:750 29px/1 var(--sans);letter-spacing:-1.25px;text-decoration:none;color:var(--ink);font-weight:700}
.logo b{color:var(--accent);font-weight:700}
.logo:hover{color:var(--ink)}
.nav{display:flex;align-items:center;gap:6px 42px;font-size:16px;margin-left:auto}
.nav a{position:relative;text-decoration:none;color:var(--muted2);padding:10px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 160ms ease}
.nav a:hover{color:var(--ink)}
.nav a:hover::after{transform:scaleX(1)}
.nav a[aria-current]{color:var(--accent)}
.navsearch{display:inline-grid;place-items:center;width:40px;height:44px;padding:0;border-radius:9px;color:var(--ink);margin-left:-8px}
.navsearch svg{width:23px;height:23px}
.navsearch:hover{color:var(--accent)}

main{display:block}
.hero{padding:44px 0 24px;display:flex;flex-direction:column;gap:16px;max-width:860px}
.eyebrow{font:700 13px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--eyebrow)}
.lead{font-size:20px;line-height:1.55;max-width:760px;color:var(--lead)}
.meta{font:400 14px/1.5 var(--sans);color:var(--muted)}
.meta a{color:inherit}
.section{padding-block:44px;border-top:1px solid var(--line2);display:flex;flex-direction:column;gap:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.tiles a{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:var(--card-bg);border:1px solid var(--card-line);border-radius:14px;padding:20px;min-height:100%;transition:border-color 160ms,transform 160ms}
.tiles a:hover{border-color:var(--accent);color:inherit;transform:translateY(-2px)}
.tiles .t{font-size:19px;font-weight:700;color:var(--ink)}
.tiles .d{font-size:15px;color:var(--muted);line-height:1.5}
.tiles .k{font:700 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}

article.prose{max-width:760px;display:flex;flex-direction:column;gap:18px;padding-bottom:48px}
article.prose.wide{max-width:100%}
article.prose.wide>.hero{max-width:860px}
.prose h2{margin-top:22px}
.prose h3{margin-top:10px}
.prose p:where(:not(.eg-tool p,.eg-results p,.sgrid p,.pcard p)),.prose li:where(:not(.eg-tool li,.eg-results li,.sgrid li,.rtiles li)){font-size:18px;line-height:1.65}
.prose ul:where(:not(.eg-results ul,.sgrid,.rtiles)),.prose ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.prose p.meta{font-size:14px}
.prose p.note{font-size:15px;line-height:1.55}
.prose p.eyebrow{font:700 13px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.prose p.lead{font-size:20px;line-height:1.55}
.prose p.tnote{font-size:13px;line-height:1.5}
.wide{max-width:100%}
.formula{font:700 17px/1.5 var(--sans);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:16px 20px;overflow-x:auto}
.note{font-size:15px;line-height:1.55;color:var(--muted)}
.callout{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;font-size:16px;line-height:1.55}
.callout b{font-weight:700}
.toc{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:15px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}

/* tables */
.tbl{position:relative;overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:15px}
th{font:700 12px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:bottom}
td{padding:12px 14px;border-bottom:1px solid var(--line2);vertical-align:top}
tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;white-space:nowrap}
td.name{font-weight:700}
caption{caption-side:bottom;text-align:left;padding:10px 14px;font-size:13px;color:var(--muted)}
.tbl table{min-width:640px}
.tbl.compact table{min-width:0}
.tblw{display:flex;flex-direction:column;gap:6px;min-width:0}
.tnote{font-size:13px;line-height:1.5;color:var(--muted);padding:0 2px}
.sortbtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}
.sortbtn:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.sortbtn .arr::after{content:"↕";opacity:.45}
th[aria-sort="ascending"] .arr::after{content:"↑";opacity:1;color:var(--accent)}
th[aria-sort="descending"] .arr::after{content:"↓";opacity:1;color:var(--accent)}
th.n .sortbtn{justify-content:flex-end}
.tbl.vs table{table-layout:fixed;width:100%}
.tbl.vs th:first-child,.tbl.vs td:first-child{width:34%}
.cmp .tbl.vs table{min-width:0}
@media (min-width:861px){.tbl:not(.wide) td.name{min-width:190px}.tbl.wide td.name{min-width:170px}.tbl.wide th.n{white-space:normal}.tbl.wide th,.tbl.wide td{padding:12px 10px}}
@media (max-width:860px){
  .tbl:not(.compact) th:first-child,.tbl:not(.compact) td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--line)}
  .tbl:not(.compact) td:first-child{min-width:128px;max-width:150px}
}

/* buttons and small parts */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:9px;border:1px solid #61e6f8;background:linear-gradient(115deg,#5de5f5,#3cd7f2);color:var(--accent-ink);font:700 16px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:transform 160ms,box-shadow 160ms}
.btn:hover{color:var(--accent-ink);transform:translateY(-1px);box-shadow:0 8px 24px rgba(68,223,244,.22)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{color:var(--accent);border-color:var(--accent);box-shadow:none}
.btn.small{min-height:40px;padding:0 14px;font-size:14px}
.btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.paid{font:400 12px/1.4 var(--sans);color:var(--muted);white-space:nowrap}
.buy{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}
.alink{font-size:14px;font-weight:700}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;border:1px solid transparent}
.pill.ok{background:var(--ok-bg);color:var(--ok-fg)}
.pill.bad{background:var(--bad-bg);color:var(--bad-fg)}
.pill.na{background:rgba(137,187,216,.1);color:var(--muted2);border-color:var(--line)}
.pill.warn{background:rgba(255,217,138,.1);color:var(--warn-fg);border-color:rgba(255,217,138,.35)}
.pill.bad{border-color:rgba(255,181,158,.35)}
.nojs{font-size:15px;color:var(--muted)}
.crumbs{font-size:13px;color:var(--muted);padding-top:20px;display:flex;flex-wrap:wrap;gap:4px}
.crumbs a{color:inherit}
.pd summary{cursor:pointer;font:700 13px var(--sans);color:var(--muted)}
.pd p{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
.err{display:block;margin-top:4px;color:var(--bad-fg);font:700 13px/1.3 var(--sans)}
input[aria-invalid="true"]{border-color:var(--bad-fg) !important;outline-color:var(--bad-fg)}
input[type=text],input[type=number],input[type=search],select{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--ink);font:400 16px var(--sans)}
label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.x{display:inline-grid;place-items:center;min-width:40px;min-height:40px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink);cursor:pointer;padding:0}
.x:hover{border-color:var(--accent);color:var(--accent)}

/* station pages */
.plate{background:var(--surface);color:var(--muted2);border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:10px}
.plate .pn{font:700 22px/1.2 var(--sans);color:var(--ink)}
.plate dl{margin:0;display:grid;grid-template-columns:auto auto;gap:6px 14px;font-size:14px}
.plate dt{white-space:nowrap;color:var(--muted)}
.plate dd{margin:0;text-align:right;color:var(--ink)}
.split{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;padding-bottom:40px}
.split>.main{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:18px}
.split>.side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:14px}
.split>.main>h2{margin-top:10px}
.faq{display:flex;flex-direction:column;gap:14px}
.faq h3{font-size:18px}
.pimg{margin:0;background:radial-gradient(ellipse 70% 60% at 50% 55%,rgba(68,223,244,.16),transparent 72%),var(--card-bg);border:1px solid var(--card-line);border-radius:14px;overflow:hidden}
.pimg img{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 18px rgba(0,0,0,.55))}
.pimg figcaption{padding:6px 10px;font:400 12px/1.4 var(--sans);color:var(--muted);background:transparent}
.shero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:center;padding:36px 0 28px}
.shero .txt{display:flex;flex-direction:column;gap:16px;min-width:0}
.shero .pimg{align-self:center}
.shero.noimg{grid-template-columns:minmax(0,1fr)}
.shero.noimg .txt{max-width:860px}
.kpis{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kpis li{background:var(--card-bg);border:1px solid var(--card-line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.kpis b{font:700 20px/1.2 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.kpis span{font-size:13px;color:var(--muted);line-height:1.3}
.illo-fig{background:var(--surface)}
.illo{display:block;width:100%;height:auto;color:var(--muted2);padding:18px 18px 6px;--surface:#0b1c2c;--band:#041c28}
.fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.fit>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.fit>div:first-child{border-top:3px solid var(--accent)}
.fit>div:last-child{border-top:3px solid var(--bad-fg)}
.fit h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.fit ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:16px;line-height:1.5}
.flow{margin:0;display:flex;flex-direction:column;gap:6px}
.flow svg{width:100%;height:auto;max-width:720px;--surface:#0b1c2c;--band:#041c28}
.flow figcaption{font-size:14px;color:var(--muted)}
.proof{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px;font:400 14px/1.4 var(--sans);color:var(--muted)}
.proof li{border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:rgba(7,23,38,.7)}
.proof b{color:var(--ink);font-weight:700}
.proof a{color:inherit}
.gloss>div{scroll-margin-top:20px;padding-top:6px;border-top:1px solid var(--line2)}
.gloss>div:first-child{border-top:0}
.gloss p{margin-top:4px}
.cmp{display:flex;flex-direction:column;gap:16px}
.cmp-pick{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}
.cmp-pick select{min-width:240px}
.cmp-vs{font:700 15px var(--sans);color:var(--muted);padding-bottom:10px}
.cmp .tbl table{min-width:520px}
.wbuys{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.wbuy{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px dashed var(--line);border-radius:12px}
.wbuy p{font-size:15px;margin:0}
.hero + .section{border-top:0}
.bcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.bcard{background:var(--card-bg);border:1px solid var(--card-line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.bcard .k{font:700 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}
.bcard .t{font-size:20px;font-weight:700;line-height:1.25}
.bcard .t a{text-decoration:none}
.bcard .d{font-size:15px;color:var(--muted);line-height:1.5}
.bcard .pr{font-size:15px;margin-top:4px}
.bcard .btns{margin-top:6px}
.pickline{font-size:17px;line-height:1.55;border-left:3px solid var(--accent);padding-left:12px}
.hub h2{margin-top:52px;margin-bottom:16px}
.hub h2:first-child{margin-top:8px}
.athumb{display:block;flex:none;width:80px;height:50px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.acell{display:flex;align-items:center;gap:12px;min-width:220px}
.tbl td .buy{display:inline-flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.tbl td .sub{display:block;font:400 12px/1.3 var(--sans);color:var(--muted)}
p > .athumb{float:left;margin:2px 14px 6px 0;width:96px;height:60px}
.tight{background:var(--accent-soft);border-left:3px solid var(--accent);padding:8px 12px;border-radius:6px;font-size:15px;line-height:1.5}

/* footer */
footer.site{background:var(--band);color:var(--muted);margin-top:24px;border-top:1px solid var(--line2)}
footer.site .wrap{padding-top:40px;padding-bottom:40px;display:flex;flex-direction:column;gap:16px;font-size:14px;line-height:1.6}
footer.site a{color:var(--muted2)}
footer.site nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:24px 28px;padding-bottom:14px;border-bottom:1px solid var(--line2)}
footer.site .fgrid nav{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
footer.site .fh{font:700 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow);margin-bottom:4px}
footer.site .fgrid a{text-decoration:none}
footer.site .fgrid a:hover{text-decoration:underline;color:var(--ink)}

/* ---------- Electric Glass home hero ---------- */
.ico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ico.sm{width:16px;height:16px}
.eg-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:34px;min-height:746px;
  padding:47px max(var(--pad),calc((100% - 1385px) / 2)) 33px;background:var(--hero)}
.eg-hero::before{content:"";position:absolute;inset:0;z-index:-2;background-color:var(--hero);background-image:var(--hero-img,none);background-size:cover;background-position:center;background-repeat:no-repeat}
.eg-hero:not(.has-img)::before{background-image:radial-gradient(42% 46% at 76% 70%,rgba(68,223,244,.17),transparent 70%),radial-gradient(36% 40% at 96% 8%,rgba(40,120,170,.22),transparent 72%),radial-gradient(50% 50% at 10% 100%,rgba(20,70,110,.25),transparent 70%),linear-gradient(180deg,#041322,#030e1a)}
.eg-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(2,9,17,.32),rgba(2,9,17,.13) 47%,transparent 70%)}
.hero-copy{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:0;margin-bottom:24px;min-width:0}
.hero-copy .eyebrow{font-size:11px;font-weight:500;letter-spacing:3.6px;margin-bottom:12px}
.hero-copy h1{font-size:clamp(54px,5.3vw,80px);line-height:.98;letter-spacing:-3.6px;color:var(--h1);font-weight:700}
.hero-copy .lead{margin-top:16px;font-size:clamp(17px,1.55vw,23px);line-height:1.45;letter-spacing:-.25px;color:var(--lead);max-width:660px}
.hero-panel{grid-column:1;grid-row:2;min-width:0;align-self:start}
.hero-scene{grid-column:2;grid-row:1 / 3;position:relative;display:flex;flex-direction:column;align-self:stretch;min-height:640px;min-width:0}
.scene-wrap{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}

/* glass panel */
.controls-panel{position:relative;display:flex;flex-direction:column;gap:0;padding:25px 30px 24px;border:1px solid var(--glass);border-radius:17px;
  background:linear-gradient(145deg,rgba(9,27,43,.77),rgba(7,24,40,.68));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(200,235,255,.025),0 12px 38px rgba(0,0,0,.1)}
.controls-panel.nojs p{color:var(--muted2);font-size:16px}
.corner{position:absolute;right:-1px;top:-1px;width:41px;height:42px;border-top:2px solid #65e8ff;border-right:2px solid #65e8ff;border-radius:0 17px 0 0;filter:drop-shadow(0 0 5px #17c4f1);opacity:.9;pointer-events:none}
.ptitle{font-size:18px;line-height:1.35;letter-spacing:-.25px;margin:0 0 12px}
.grp{min-width:0}
.ghead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 8px}
.ghead h3{font-size:16px;line-height:1.35;letter-spacing:-.2px}
.lbl{display:block;margin:0 0 8px;font:700 16px/1.35 var(--sans);letter-spacing:-.2px;color:var(--ink)}
.textbtn{border:0;background:transparent;color:#a8cbdf;padding:0;min-height:26px;font:400 13px var(--sans);cursor:pointer;text-decoration:none}
.textbtn span{color:var(--muted)}
.textbtn:hover{color:#7ceaff;text-decoration:underline;text-underline-offset:3px}
.ghead .textbtn{color:#9edce9}
.scen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:23px}
.sc{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:58px;padding:10px 12px;border-radius:9px;border:1px solid rgba(138,185,214,.58);background:rgba(9,23,37,.55);color:#c5d2e1;font:400 14px/1.2 var(--sans);cursor:pointer;transition:border-color 160ms,background 160ms,box-shadow 160ms,color 160ms}
.sc .ico{width:28px;height:28px;color:#bdcddd}
.sc:hover{border-color:var(--accent);background:rgba(24,62,81,.4)}
.sc[aria-pressed="true"]{color:#67efff;border-color:#6cecff;background:rgba(11,57,73,.38);box-shadow:inset 0 0 16px rgba(29,211,255,.12),0 0 13px rgba(15,193,239,.1);font-weight:700}
.sc[aria-pressed="true"] .ico{color:#56e5ff;filter:drop-shadow(0 0 4px rgba(55,212,243,.3))}
.devs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.dev{display:flex;align-items:center;gap:11px;min-height:50px;min-width:0;padding:11px 13px;border-radius:8px;border:1px solid rgba(137,182,212,.53);background:rgba(15,32,49,.7);color:var(--ink);font:400 14px/1.3 var(--sans);text-align:left;cursor:pointer;transition:border-color 150ms,background 150ms}
.dev .ico{width:25px;height:25px;color:#dae9f7}
.dev .ico.sm{width:15px;height:15px;margin-left:auto;color:#d7e4f0}
.dev .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dev .q{color:var(--accent);white-space:nowrap}
.dev:hover{border-color:#77cce5;background:rgba(18,48,67,.84)}
.dev.empty{grid-column:1 / -1;justify-content:center;border-style:dashed;border-color:#416174;color:#a7e7f4;background:rgba(15,44,62,.4)}
.dev.empty .ico{color:var(--accent)}
.dev.empty .n{flex:none}
.grp + .grp{margin-top:18px}
.sel{position:relative}
.sel select{width:100%;min-height:49px;padding:12px 40px 12px 58px;border-radius:8px;border:1px solid rgba(138,183,213,.5);-webkit-appearance:none;appearance:none;background:rgba(15,33,50,.83);color:#edf5ff;font:400 15px var(--sans);cursor:pointer}
.sel select:hover{border-color:#72bed8}
.sel option,.more-grid option{background:#0e2334;color:#f5f9ff}
.sel .ico{position:absolute;left:17px;top:50%;width:25px;height:25px;transform:translateY(-50%);pointer-events:none;color:#bdcfe2}
.sel .ico.chev{left:auto;right:14px;width:18px;height:18px;color:var(--muted)}
.setup-opts{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
.setup-opts .textbtn{color:#b9d6e7}
.est{color:#96b8cb;font-size:13px}
.est b{color:#cee8f5;font-weight:400}
.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:rgba(5,18,30,.45)}
.more-grid label.f{font-size:13px;color:var(--muted2)}
.more-grid select{width:100%;font-size:15px;background:rgba(15,33,50,.83)}
.more-grid .hint{grid-column:1 / -1}
.hint{font-size:13px;line-height:1.45;color:var(--muted)}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 19px;border-radius:9px;border:1px solid #61e6f8;background:linear-gradient(115deg,#5de5f5,#3cd7f2);color:var(--accent-ink);font:700 15px/1.35 var(--sans);text-decoration:none;cursor:pointer;box-shadow:0 4px 20px rgba(21,183,223,.16),inset 0 1px 0 rgba(233,253,255,.2);transition:background 160ms,transform 160ms,box-shadow 160ms}
.primary:hover:not(:disabled){background:#85f0ff;border-color:#b3f8ff;box-shadow:0 5px 25px rgba(35,211,248,.24);transform:translateY(-1px);color:var(--accent-ink)}
.primary:disabled{cursor:not-allowed;box-shadow:none;background:#14293a;border-color:var(--line);color:var(--muted)}
.go{width:100%;min-height:56px;margin-top:17px;font-size:18px;letter-spacing:-.3px}
.go .ico{width:24px;height:24px}
.primary.sm{min-height:44px;width:auto;padding:0 16px;font-size:15px}
.why{font-size:13px;color:var(--muted2);margin-top:8px;text-align:center}

/* scene: device nodes and energy lines */
.scene-bar{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:28px;padding:0 15px;color:#a7d7ef;font-size:12px;letter-spacing:1.5px}
.scene-bar>span{margin-left:auto;margin-right:auto;text-transform:uppercase}
.pulse-btn{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:3px 0;border:0;background:transparent;color:#82b6cf;font:400 12px var(--sans);letter-spacing:0;white-space:nowrap;cursor:pointer}
.pulse-btn:hover{color:#8aefff}
.stage{position:relative;flex:1;min-height:590px;isolation:isolate}
.energy{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.energy-path{fill:none;stroke:#49dfff;stroke-width:1.6;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(40,202,245,.48))}
.beam-pulse{fill:none;stroke:#d8fbff;stroke-width:4.3;stroke-linecap:round;stroke-dasharray:17 983;stroke-dashoffset:1000;opacity:0;filter:drop-shadow(0 0 5px #35ddff);animation:eg-pulse 3.2s linear 3 forwards;pointer-events:none}
@keyframes eg-pulse{0%{stroke-dashoffset:1000;opacity:0}8%{opacity:1}90%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.hidden-tab .beam-pulse{animation-play-state:paused}
.anchor{position:absolute;left:50%;top:56%;width:75%;height:44%;transform:translate(-50%,-50%);pointer-events:none}
.nodes{position:absolute;inset:0;z-index:2}
.dcard{position:absolute;width:100px;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;color:#f0f8ff}
.tile{display:flex;align-items:center;justify-content:center;width:77px;height:68px;margin:0 auto 8px;border-radius:11px;border:1px solid rgba(108,216,248,.72);background:linear-gradient(150deg,rgba(10,39,60,.52),rgba(11,34,51,.24));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:inset 0 0 18px rgba(46,176,231,.06),0 4px 22px rgba(0,0,0,.18);transition:transform 180ms ease,box-shadow 180ms,border-color 180ms}
.tile .ico{width:39px;height:39px;stroke-width:1.4;color:#f2faff;filter:drop-shadow(0 0 5px rgba(122,206,252,.5))}
.dcard:hover .tile{transform:translateY(-3px);border-color:#b7f6ff;box-shadow:0 0 24px rgba(37,190,244,.23)}
.dn{display:block;font:400 14px/1.3 var(--sans);color:#edf6ff;text-shadow:0 2px 5px #02121c}
.dw{display:block;margin-top:3px;font-size:11px;line-height:1.3;color:#96bbce}
.busy .dcard{width:84px}
.busy .tile{width:62px;height:56px}
.busy .tile .ico{width:31px;height:31px}
.busy .dn{font-size:12px}
.more-pill{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);border:1px solid #387c96;border-radius:30px;padding:6px 12px;background:rgba(5,32,49,.9);color:#a9eaff;font-size:12px;white-space:nowrap;cursor:pointer}
.empty-scene{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding-top:65px;text-align:center;gap:6px;color:#a3c6da;font-size:13px}
.empty-scene b{color:var(--ink);font-size:15px}
.empty-scene .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 15px #38cce7;margin-bottom:5px}
.scene-cap{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:7px;width:fit-content;max-width:100%;margin:4px auto 0;padding:3px 10px;border-radius:999px;background:rgba(3,14,26,.62);color:#9cbfd2;font-size:12px;text-align:center}
.scene-cap .dot{flex:0 0 4px;height:4px;border-radius:50%;background:#5bc8e8}
.eg-station{position:absolute;left:50%;top:56%;width:min(320px,62%);height:auto;transform:translate(-50%,-30%);filter:drop-shadow(0 0 30px rgba(68,223,244,.18));pointer-events:none;z-index:0}
.has-img .eg-station{display:none}

/* results */
.eg-results{padding-top:56px;padding-bottom:24px;display:flex;flex-direction:column;gap:20px;scroll-margin-top:12px}
.rhead{display:flex;flex-direction:column;gap:8px;max-width:900px}
.rhead h2{font-size:clamp(28px,3vw,40px);letter-spacing:-1px}
.rhead h2:focus{outline:none}
.rhead p{font-size:17px;color:var(--lead)}
.rhead b{color:var(--ink)}
.rgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rcard{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:14px;border:1px solid var(--card-line);background:var(--card-bg);min-width:0}
.rcard.rec{border-color:var(--rec-line);box-shadow:0 0 0 1px rgba(67,184,213,.25),0 14px 40px rgba(0,0,0,.25)}
.rcard .tag{font:700 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}
.rimg{border-radius:10px;overflow:hidden;background:radial-gradient(ellipse 72% 62% at 50% 56%,rgba(68,223,244,.14),transparent 75%);aspect-ratio:16 / 10}
.rimg img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.55))}
.noimg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;background:#0a1d2d;color:var(--muted);font-size:13px;text-align:center;padding:10px}
.rimg:has(.noimg){background:#0a1d2d}
.rcard h3{font-size:19px;line-height:1.25}
.rcard h3 a{text-decoration:none}
.rcard h3 a:hover{text-decoration:underline}
.rprice{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.rprice b{font-size:24px;font-weight:700;color:var(--ink)}
.rprice span:not(.pill){font-size:13px;color:var(--muted)}
.rspec{font-size:15px;color:var(--muted2)}
.cov .bar{height:6px;border-radius:3px;background:rgba(137,187,216,.18);overflow:hidden}
.cov .bar span{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#3cd7f2,#7ce8fa);transition:width 300ms ease}
.rcard.short .cov .bar span{background:var(--bad-fg)}
.cov p{font-size:13px;color:var(--muted);margin-top:6px}
.cov p b{color:var(--ink)}
.rwhy{font-size:14px;line-height:1.5;color:var(--muted2)}
.rwhy.warn{color:var(--warn-fg)}
.rwhy.bad{color:var(--bad-fg)}
.ract{display:flex;gap:8px;margin-top:auto;padding-top:4px}
.ract>*{flex:1}
.ghostbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--ink);font:700 14px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:border-color 160ms,color 160ms}
.ghostbtn:hover{border-color:var(--accent);color:var(--accent)}
.ghostbtn[aria-pressed="true"]{border-color:var(--accent);color:var(--accent);background:rgba(68,223,244,.07)}
.ghostbtn.sm{min-height:40px;font-size:13px}
.ghostbtn.wide{align-self:center;min-width:240px}
.buys{display:flex;flex-direction:column;gap:8px}
.buys .buy{justify-content:space-between}
.buys .buy{flex-wrap:wrap}
.buys .buy>a{flex:1 1 190px}
.rcard .buys .primary.sm{font-size:14px;padding:0 12px}
.miss{border:1px solid var(--rec-line);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:12px;background:rgba(68,223,244,.04)}
.miss ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--muted2)}
.cmpbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.cmpbar p{color:var(--muted2);font-size:15px}
.cmpbox{display:flex;flex-direction:column;gap:12px;scroll-margin-top:12px}
.cmpbox h3:focus{outline:none}
.cmpbox th[scope="row"]{color:var(--muted);font-size:12px;width:180px}
.cmpbox thead th{text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink)}
.cmpbox thead th .x{min-width:32px;min-height:32px;margin-left:6px;vertical-align:middle}
.cmpbox td .buys{min-width:190px}
.eg-results>.note{max-width:900px}

/* steps */
.eg-how{padding:31px 0 35px;border-top:1px solid #2a4d63;background:linear-gradient(115deg,#04111d,#061524 57%,#04101c)}
.eg-how>.wrap{display:flex;flex-direction:column;gap:24px}
.eg-how h2{text-align:center;font-size:clamp(26px,2.5vw,34px);line-height:1.2;letter-spacing:-1.1px}
.steps3{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;max-width:1050px;width:100%}
.steps3 li{position:relative;display:flex;gap:20px;align-items:flex-start}
.steps3 li:not(:last-child)::after{content:"";position:absolute;width:35px;height:1px;top:24px;right:-29px;background:linear-gradient(90deg,#54768c,#1b3549)}
.steps3 .num{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid #4bbfdf;color:#f0f8ff;font:300 22px/1 var(--sans)}
.steps3 h3{font-size:17px;line-height:1.3;margin-top:3px;font-weight:700}
.steps3 p{color:#afc0d3;font-size:14px;line-height:1.55;margin-top:6px}
.eg-how .proof{justify-content:center}

/* dialogs and toast */
.eg-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;border:1px solid var(--glass);border-radius:17px;background:linear-gradient(145deg,#0c2031,#081928);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.eg-dialog::backdrop{background:rgba(1,6,12,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.dhead{display:flex;align-items:center;gap:10px;padding:16px 18px 16px 20px;border-bottom:1px solid var(--line)}
.dhead>.ico{color:var(--eyebrow)}
.dhead h2{flex:1;font-size:20px;letter-spacing:-.3px}
.dbody{padding:18px 20px;display:flex;flex-direction:column;gap:14px;max-height:62vh;overflow:auto}
.dbody label.f>span:first-child{font-weight:700;color:var(--muted2)}
.inp{position:relative;display:block}
.inp input{width:100%;min-height:48px;padding-right:40px;font-size:18px}
.inp .u{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:15px;pointer-events:none}
.dsum{font-size:15px;color:var(--muted2)}
.dsum b{color:var(--ink)}
.dfoot{display:flex;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}
.dbody input[type=search]{width:100%}
.lib{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lib button{display:flex;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 12px;border-radius:9px;border:1px solid var(--line);background:rgba(5,18,30,.55);color:var(--ink);font:700 14px/1.25 var(--sans);text-align:left;cursor:pointer}
.lib button:hover{border-color:var(--accent)}
.lib button>.ico:first-child{color:var(--eyebrow)}
.lib .n{flex:1;min-width:0}
.lib .s{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:2px}
.lib .added{flex:none;font-size:12px;font-weight:700;color:var(--accent);border:1px solid rgba(68,223,244,.5);border-radius:999px;padding:2px 8px}
.toast{position:fixed;left:50%;bottom:22px;z-index:60;transform:translate(-50%,12px);opacity:0;pointer-events:none;padding:10px 18px;border-radius:999px;border:1px solid rgba(68,223,244,.6);background:#0b1c2c;color:var(--ink);font:700 14px var(--sans);box-shadow:0 12px 30px rgba(0,0,0,.4);transition:opacity 200ms,transform 200ms}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* calculator on article pages */
article .eg-tool{max-width:760px}
article .eg-results{padding-top:24px;padding-left:0;padding-right:0}
article .eg-results .rgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}

/* review fixes */
.dev.bad{border-color:var(--bad-fg);background:rgba(255,140,105,.08)}
.dev .flag{display:block;font-size:12px;font-weight:700;color:var(--bad-fg)}
.rgroup{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.rgroup h3{font-size:20px;letter-spacing:-.3px}
.rgroup h3 span{color:var(--muted);font-weight:400;font-size:16px;margin-left:4px}
.busy .dcard{transform:translate(-50%,0)}
.busy .dcard.r0{top:1%}
.busy .dcard.r1{top:21%}
.lib .none{grid-column:1 / -1;color:var(--muted);font-size:14px;padding:6px 2px}
.eg-dialog{width:min(520px,calc(100vw - 32px))}
.dev{font-size:13px}
.dw{font-size:10px}
.pd summary{padding:4px 0}
@media (max-width:640px){
  .stage.busy{min-height:440px}
  .busy .dcard.r1{top:22%}
  .busy .dn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .busy .dw{display:none}
  .textbtn{min-height:36px}
  .pulse-btn{min-height:36px}
  .pd summary{padding:8px 0}
}

/* picture grids (station cards) */
.sgrid-wrap{display:flex;flex-direction:column;gap:14px;min-width:0}
.sgrid-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sgrid-tools>span{font-size:14px;color:var(--muted);margin-right:2px}
.sgrid-tools button{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted2);font:700 14px var(--sans);cursor:pointer;transition:border-color 160ms,color 160ms,background 160ms}
.sgrid-tools button:hover{border-color:var(--accent);color:var(--ink)}
.sgrid-tools button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent);background:rgba(68,223,244,.08)}
.sgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.prose .sgrid{padding:0;display:grid;gap:16px}
.scard{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px 12px 14px;border:1px solid var(--card-line);border-radius:14px;background:var(--card-bg);transition:border-color 160ms,transform 160ms}
.scard:hover{border-color:var(--rec-line);transform:translateY(-2px)}
.sc-pic{display:block;margin-bottom:4px}
.sc-img{display:block;aspect-ratio:16 / 10;border-radius:10px;overflow:hidden;background:radial-gradient(ellipse 72% 62% at 50% 56%,rgba(68,223,244,.14),rgba(68,223,244,.03) 55%,transparent 75%)}
.sc-img img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.55))}
.sc-noimg{position:relative;display:grid;place-items:center;background:#0a1d2d;border:1px solid var(--line2)}
.sc-illo{width:80%;height:auto;padding:4px;--surface:#0b1c2c;--band:#041c28}
.sc-ill{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:rgba(3,12,22,.75);font-size:12px;color:var(--muted2)}
.scard .sc-name{font-size:16px;line-height:1.3;margin:0}
.sc-name a{text-decoration:none}
.sc-name a:hover{text-decoration:underline}
.scard p{margin:0}
.scard .sc-big{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;font-size:13px;line-height:1.35}
.sc-big b{font-size:27px;line-height:1.1;letter-spacing:-.6px;color:var(--accent)}
.sc-big span{color:var(--muted)}
.sc-na .sc-big b{font-size:19px;color:var(--bad-fg)}
.scard .sc-sub{font-size:13px;line-height:1.4;color:var(--muted2)}
.scard .sc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:13px;line-height:1.4;color:var(--muted2);margin-top:2px}
.sc-meta .sc-price{font-size:17px;font-weight:700;color:var(--ink)}
.scard .sc-when{font-size:12px;line-height:1.3;color:var(--muted)}
.scard .buy{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;align-items:stretch;gap:3px}
.scard .paid{align-self:flex-end}
.scard .btn.small{flex:1;min-height:40px;padding:0 10px;font-size:14px}
.tdet{border-top:1px solid var(--line2);padding-top:6px}
.tdet summary{cursor:pointer;display:flex;align-items:center;gap:10px;min-height:40px;font-weight:700;font-size:15px;color:var(--muted2);list-style:none}
.tdet summary::-webkit-details-marker{display:none}
.tdet summary::before{content:"";flex:none;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform 160ms}
.tdet[open] summary::before{transform:rotate(45deg)}
.tdet summary:hover{color:var(--accent)}
.tdet[open] summary{margin-bottom:10px}
@media (max-width:640px){
  .sgrid,.prose .sgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .scard{padding:8px 8px 10px;gap:4px}
  .scard .sc-name{font-size:14px}
  .sc-big b{font-size:22px}
  .scard .sc-big{font-size:12px}
  .scard .sc-sub,.scard .sc-meta{font-size:12px}
  .sc-meta .sc-price{font-size:15px}
  .scard .sc-when{display:none}
  .scard .buy{flex-direction:column;align-items:stretch;gap:2px}
  .scard .btn.small{font-size:13px;min-height:40px;padding:0 6px}
  .scard .paid{text-align:center}
  .sgrid-tools button{padding:0 11px;font-size:13px}
}

/* featured picks and head-to-head pictures */
.pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.pcard{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 14px 16px;border:1px solid var(--rec-line);border-radius:16px;background:var(--card-bg);box-shadow:0 0 0 1px rgba(67,184,213,.15),0 14px 40px rgba(0,0,0,.22)}
.pcard p{margin:0}
.pcard .sc-pic{margin-bottom:6px}
.pcard .k{font:700 12px/1.35 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}
.pcard .t{font-size:20px;font-weight:700;line-height:1.25}
.pcard .t a{text-decoration:none}
.pcard .t a:hover{text-decoration:underline}
.pcard .d{font-size:15px;line-height:1.5;color:var(--muted2)}
.pcard .pr{font-size:14px;line-height:1.45;color:var(--muted)}
.pcard .pr b{font-size:20px;color:var(--ink)}
.pcard .btns{margin-top:auto;padding-top:8px;flex-direction:column;align-items:stretch}
.pcard .btns .buy{justify-content:space-between}
.pcard .btns .btn{flex:1}
.prose .pcard .sc-big b,.pcard .sc-big b{font-size:30px}
.vspics{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;max-width:900px}
.vspics .vs{font:700 22px var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
@media (max-width:640px){
  .pcards{grid-template-columns:minmax(0,1fr)}
  .vspics{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .vspics .vs{display:none}
  .vspics .pcard{padding:8px 8px 10px}
  .vspics .pcard .t{font-size:15px}
  .vspics .pcard .sc-big b{font-size:22px}
  .vspics .pcard .pr{font-size:12px}
  .vspics .pcard .btns .buy{flex-direction:column;align-items:stretch;gap:2px}
  .vspics .pcard .btn{font-size:12px;padding:6px 6px;min-height:40px;white-space:normal;text-align:center}
}

/* station pages: what it runs */
.rtiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.rtile{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 14px 12px;border:1px solid var(--card-line);border-radius:14px;background:var(--card-bg)}
.rt-ico{width:34px;height:34px;color:var(--eyebrow);margin-bottom:6px}
.rt-name{font-size:14px;line-height:1.3;color:var(--muted2)}
.rt-big{font-size:25px;line-height:1.15;letter-spacing:-.5px;color:var(--accent)}
.rt-w{font-size:12px;color:var(--muted)}
.rt-na .rt-big{font-size:17px;color:var(--bad-fg)}
.acard .sc-big b{font-size:24px}
.tdet h3{margin:14px 0 8px;font-size:17px}
@media (max-width:640px){
  .rtiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rtile{padding:12px 10px 10px}
  .rt-big{font-size:21px}
}

/* ---------- breakpoints ---------- */
@media (min-width:1700px){
  .eg-hero{min-height:790px;column-gap:50px;padding-top:52px;padding-bottom:40px}
  .hero-scene{min-height:670px}
}
@media (max-width:1279px){.rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1200px){
  :root{--pad:32px}
  .eg-hero{column-gap:25px;min-height:720px}
  .hero-copy h1{font-size:clamp(48px,5.4vw,66px);letter-spacing:-2.8px}
  .hero-copy .lead{font-size:17px}
  .controls-panel{padding:23px}
  .scen{gap:8px}
  .sc{gap:7px;font-size:13px;padding:9px 7px}
  .sc .ico{width:24px;height:24px}
  .devs{gap:8px}
  .dev{gap:8px;padding:11px 9px;font-size:13px}
  .dev .ico{width:22px;height:22px}
  .hero-scene{min-height:610px}
  .stage{min-height:560px}
  .dcard{width:87px}
  .tile{width:68px;height:62px}
  .tile .ico{width:34px;height:34px}
  .dn{font-size:13px}
  .nav{gap:6px 30px}
}
@media (max-width:1000px){
  .eg-hero{display:flex;flex-direction:column;min-height:0;padding:37px var(--pad) 0;background:radial-gradient(ellipse at 100% 0,#0b2840,transparent 60%),#030e1a}
  .eg-hero::before,.eg-hero::after{display:none}
  .hero-copy{margin-bottom:27px;max-width:740px}
  .hero-copy h1{font-size:clamp(52px,8.5vw,76px);letter-spacing:-3px}
  .hero-copy .lead{font-size:19px;max-width:620px}
  .hero-panel{width:100%;max-width:740px;align-self:center}
  .controls-panel{padding:26px 30px}
  .sc{min-height:58px;font-size:14px;gap:13px}
  .sc .ico{width:29px;height:29px}
  .dev{gap:12px;padding:12px 16px;font-size:14px}
  .hero-scene{align-self:stretch;min-height:540px;margin:28px calc(-1 * var(--pad)) 0;padding:25px 40px 10px;isolation:isolate}
  .has-img .hero-scene::before{content:"";position:absolute;inset:0;z-index:-2;background:#071a29 var(--hero-img) 100% 50% / 183% auto no-repeat;pointer-events:none}
  .has-img .hero-scene::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#030e1a 0,rgba(3,14,26,.12) 25%,transparent 65%,rgba(3,14,26,.2));pointer-events:none}
  .scene-wrap{width:100%;max-width:680px;align-self:center}
  .stage{min-height:480px}
  .dcard{width:100px}
  .tile{width:76px;height:68px}
  .tile .ico{width:39px;height:39px}
  .dn{font-size:14px}
  .steps3{grid-template-columns:minmax(0,1fr);gap:18px;max-width:560px;margin:0}
  .steps3 li::after{display:none}
  .eg-how h2{text-align:left}
  .eg-how .proof{justify-content:flex-start}
  .nav{gap:6px 26px}
}
@media (max-width:860px){
  .shero{grid-template-columns:1fr;gap:20px;padding-top:24px}
  .shero .pimg{max-width:520px;order:-1}
  .acell{flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
  .acell .athumb{width:64px;height:40px}
}
@media (max-width:699px){.rgrid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  :root{--pad:20px}
  body{font-size:16px}
  .eg-hero{padding-top:34px}
  .hero-copy{margin-bottom:25px}
  .hero-copy h1{font-size:clamp(43px,9.4vw,58px);line-height:1.01;letter-spacing:-2.3px}
  .hero-copy .lead{font-size:16px;margin-top:15px;line-height:1.5}
  .controls-panel{padding:20px 16px 18px}
  .scen{gap:8px;margin-bottom:22px}
  .sc{flex-direction:column;gap:7px;min-height:74px;padding:9px 5px;font-size:13px}
  .sc .ico{width:26px;height:26px}
  .ghead h3,.lbl{font-size:15px}
  .devs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .dev{font-size:13px;padding:10px 10px}
  .sel select{min-height:51px;font-size:16px;padding-left:51px}
  .sel .ico{left:14px}
  .go{min-height:53px;font-size:16px;padding:12px}
  .go .ico{width:21px;height:21px}
  .more-grid{grid-template-columns:minmax(0,1fr)}
  .hero-scene{margin:20px calc(-1 * var(--pad)) 0;padding:20px 20px 13px;min-height:440px}
  .has-img .hero-scene::before{background-size:205% auto;background-position:95% 47%}
  .stage{min-height:390px}
  .dcard{width:82px}
  .tile{width:59px;height:54px;margin-bottom:7px;border-radius:9px}
  .tile .ico{width:30px;height:30px}
  .dn{font-size:12px}
  .dw{font-size:10px}
  .busy .dcard{width:67px}
  .busy .tile{width:46px;height:44px}
  .busy .tile .ico{width:24px;height:24px}
  .busy .dn{font-size:11px}
  .busy .dw{font-size:9px}
  .scene-bar{font-size:11px;padding:0 4px}
  .prose p:where(:not(.eg-tool p,.eg-results p,.sgrid p,.pcard p)),.prose li:where(:not(.eg-tool li,.eg-results li,.sgrid li,.rtiles li)){font-size:17px}
  .card{padding:18px}
  .lead,.prose p.lead{font-size:18px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .top{gap:8px 14px;min-height:68px}
  .logo{font-size:23px;letter-spacing:-1.1px}
  .nav{gap:4px 20px;font-size:14px}
  .strip .hs{display:none}
  .strip .ss{display:inline}
  .strip{font-size:12px;padding-block:6px}
  .proof{gap:6px}
  .proof li{padding:4px 10px;font-size:13px}
  .tiles a{padding:14px 16px}
  .fgrid{grid-template-columns:1fr 1fr}
  footer.site .fgrid nav.flong{display:none}
  .crumbs{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
  .crumbs>*:last-child{overflow:hidden;text-overflow:ellipsis;min-width:0}
  .hub .tiles{grid-template-columns:1fr 1fr;gap:10px}
  .hub .tiles .d{display:none}
  .hub .tiles .t{font-size:16px}
  .hub h2{margin-top:36px}
  .illo-fig{display:none}
  .shero .pimg{order:0}
  .tbl.compact th,.tbl.compact td{padding:10px 8px}
  .tbl.compact th{font-size:11px;letter-spacing:.02em}
  .tbl.compact td.n{font-size:13px}
  .tbl.compact td.name{font-size:14px}
  .tbl.compact th.n{white-space:normal}
  .tbl.compact td:last-child{font-size:13px}
  .tbl.vs th:first-child,.tbl.vs td:first-child{width:30%}
  .tbl.vs th:last-child,.tbl.vs td:last-child{width:22%}
  .cmp .tbl.vs th:last-child,.cmp .tbl.vs td:last-child{display:none}
  .cmp .tbl.vs th:first-child,.cmp .tbl.vs td:first-child{width:38%}
  .cmpbox th[scope="row"]{width:auto}
  .lib{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .dfoot{flex-wrap:wrap}
}
@media (max-width:440px){
  :root{--pad:18px}
  .eg-hero{padding-top:29px}
  .hero-copy h1{font-size:42px;letter-spacing:-2px}
  .hero-copy .lead{font-size:15px}
  .top{flex-wrap:wrap;gap:6px 9px;padding:16px 0 0;min-height:68px}
  .logo{font-size:24px}
  .nav{order:3;width:100%;justify-content:center;gap:36px;margin-left:0;border-top:1px solid #1e394f;padding:4px 0 2px;margin-top:3px;font-size:14px}
  .nav a{padding:8px 0}
  .navsearch{margin-left:auto}
  .scen{gap:7px}
  .sc{font-size:12px}
  .dev{font-size:12px}
  .dev .ico.sm{display:none}
  .hero-scene{min-height:410px}
  .has-img .hero-scene::before{background-size:211% auto;background-position:96% 43%}
  .stage{min-height:360px}
  .tile{width:55px;height:51px}
  .dn{font-size:11px}
  .lib{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0s !important;animation-duration:0s !important;animation-iteration-count:1 !important;scroll-behavior:auto !important}
  .beam-pulse,.pulse-btn{display:none}
  .dcard:hover .tile,.tiles a:hover,.btn:hover,.primary:hover{transform:none}
}
.prose .eg-tool h2,.prose .eg-tool h3,.prose .eg-results h2,.prose .eg-results h3{margin-top:0}
