/* ============================================================
   carbuildcheck — design system V3 (drivenerve family)
   canvas #09090B · warm ink · diagnostic amber #FFD23F · INT.02
   ============================================================ */
@font-face{font-family:"Archivo";src:url("/assets/fonts/Archivo.woff2") format("woff2");font-weight:100 900;font-stretch:75% 125%;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/Inter.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("/assets/fonts/JetBrainsMono.woff2") format("woff2");font-weight:100 800;font-display:swap}

:root{
  --bg-0:#09090B; --bg-1:#0E0E11; --bg-2:#14141A;
  --ink-0:#F4F2ED; --ink-1:#B8B6B0; --ink-2:#7E7D83;
  --line:rgba(244,242,237,.08); --line-2:rgba(244,242,237,.16);
  --acc:#FFD23F; --acc-deep:#C79600;
  --ok:#2FEA8F; --bad:#FF315A;
  --r-s:6px; --r-m:12px; --r-l:20px;
  --ease:cubic-bezier(.22,1,.36,1); --t-fast:220ms; --t-slow:450ms;
  --f-disp:"Archivo",system-ui,sans-serif;
  --f-body:"Inter",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{
  background:var(--bg-0);color:var(--ink-0);font-family:var(--f-body);
  font-size:15px;line-height:1.55;min-height:100vh;
  background-image:radial-gradient(1100px 460px at 50% -180px,rgba(255,210,63,.045),transparent 65%);
  background-attachment:fixed;
}
::selection{background:var(--acc);color:#09090B}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--acc);color:#09090B;padding:10px 18px;font-weight:700;z-index:200;border-radius:0 0 var(--r-s) 0}
.skip:focus{left:0}

/* ---------- shell ---------- */
.wrap{max-width:680px;margin:0 auto;padding:0 18px 140px}
.wrap-page{max-width:680px;margin:0 auto;padding:0 18px 60px}
header.top{
  position:sticky;top:0;z-index:50;
  background:rgba(9,9,11,.84);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.top-in{max-width:680px;margin:0 auto;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;cursor:pointer;user-select:none}
.brand img{height:17px;width:auto;display:block}
.brand:hover{text-decoration:none;opacity:.9}
.top-nav{display:flex;gap:15px;align-items:center}
.top-nav a{font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;color:var(--ink-1);text-transform:uppercase}
.top-nav a:hover{color:var(--ink-0);text-decoration:none}
.top-nav a[aria-current]{color:var(--acc)}
.steps{display:flex;gap:6px;align-items:center}
.step-lbl{font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-1);margin-right:6px;white-space:nowrap}
.step-lbl b{color:var(--acc);font-weight:500}
.stp{width:26px;height:4px;border-radius:2px;background:var(--line-2);transition:background var(--t-fast) var(--ease);cursor:pointer;border:none;padding:0}
.stp.on{background:var(--acc)}
.stp.done{background:var(--acc-deep)}
.stp:disabled{cursor:default}

/* ---------- typography ---------- */
h1,h2{font-family:var(--f-disp);font-weight:800;font-stretch:112%;letter-spacing:-.014em;line-height:1.04;text-transform:uppercase}
h3{font-family:var(--f-disp);font-weight:800;font-stretch:112%;letter-spacing:-.01em;line-height:1.15}
.sec-label{font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-1);margin:26px 0 10px;display:flex;align-items:baseline;gap:8px}
.sec-label .n{color:var(--acc)}
.sec-label::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,var(--line),transparent)}
.muted{color:var(--ink-1)}
.small{font-size:13px}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}

/* ---------- hero ---------- */
.hero{padding:42px 0 26px;position:relative;overflow:visible}
.hero-art{
  position:absolute;top:-10px;right:-18px;width:min(62%,380px);height:105%;z-index:-1;
  border-radius:0 0 0 var(--r-l);overflow:hidden;opacity:.85;pointer-events:none;
  -webkit-mask-image:linear-gradient(100deg,transparent 0%,#000 45%);
          mask-image:linear-gradient(100deg,transparent 0%,#000 45%);
}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero h1{font-size:clamp(30px,7.8vw,46px);margin:0 0 12px}
.hero h1 .sl{color:var(--acc)}
.hero p.tag{font-size:clamp(16px,4.2vw,19px);color:var(--ink-0);font-weight:500;max-width:30ch}
.hero p.sub{color:var(--ink-1);margin-top:10px;font-size:14px;max-width:40ch}
.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.hbadge{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-1);border:1px solid var(--line);border-radius:99px;padding:5px 12px;background:rgba(14,14,17,.85)}
.hbadge b{color:var(--acc);font-weight:600}

/* ---------- cards & corner ticks ---------- */
.card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-m);padding:16px;position:relative}
.tick{--tk:rgba(255,210,63,.45)}
.tick::before,.tick::after{content:'';position:absolute;width:14px;height:14px;pointer-events:none}
.tick::before{top:-1px;left:-1px;border-top:2px solid var(--tk);border-left:2px solid var(--tk);border-top-left-radius:var(--r-m)}
.tick::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--tk);border-right:2px solid var(--tk);border-bottom-right-radius:var(--r-m)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* platform cards */
.pcard{
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-m);
  padding:14px;cursor:pointer;text-align:left;color:var(--ink-0);width:100%;
  transition:border-color var(--t-fast) var(--ease),transform 120ms var(--ease),background var(--t-fast) var(--ease);
  font-family:var(--f-body);position:relative;overflow:hidden;
}
.pcard:active{transform:scale(.975)}
.pcard:hover{border-color:var(--line-2);background:var(--bg-2)}
.pcard.sel{border-color:var(--acc);background:linear-gradient(180deg,rgba(255,210,63,.07),rgba(255,210,63,.02))}
.pcard.sel::after{content:'✓';position:absolute;top:10px;right:12px;color:var(--acc);font-weight:700;font-size:14px}
.pcard .mk{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
.pcard .nm{font-family:var(--f-disp);font-weight:800;font-stretch:106%;font-size:14.5px;margin:3px 0 2px}
.pcard .en{font-size:12px;color:var(--ink-1)}
.pcard .row{display:flex;gap:6px;margin-top:10px;align-items:center;flex-wrap:wrap}
.tag-s{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.06em;border-radius:4px;padding:2px 7px;background:var(--bg-0);border:1px solid var(--line);color:var(--ink-1);text-transform:uppercase}
.tag-s.hp{color:var(--acc);border-color:rgba(255,210,63,.28)}
.tag-s.awd{color:#8FD8E8}.tag-s.rwd{color:#E8B98F}.tag-s.fwd{color:#C0B4E8}

/* search + filter */
.search{
  width:100%;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-m);
  color:var(--ink-0);font:inherit;padding:13px 16px 13px 42px;outline:none;transition:border-color var(--t-fast) var(--ease);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23B8B6B0' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:15px center;
}
.search:focus{border-color:var(--acc-deep)}
.search::placeholder{color:var(--ink-2)}
.fchips{display:flex;gap:8px;margin:12px 0 14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.fchips::-webkit-scrollbar{display:none}
.fchip{flex:none;font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-1);background:var(--bg-1);border:1px solid var(--line);border-radius:99px;padding:7px 14px;cursor:pointer;transition:all var(--t-fast) var(--ease)}
.fchip[aria-pressed="true"]{color:#09090B;background:var(--acc);border-color:var(--acc)}

/* custom form */
.cform{margin-top:12px;border-color:var(--line-2)}
.cform .fr{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.cform label{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-1);display:block;margin-bottom:5px}
.inp,select.inp{width:100%;background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-s);color:var(--ink-0);font:inherit;padding:11px 12px;outline:none}
.inp:focus{border-color:var(--acc-deep)}
select.inp{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23B8B6B0' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}

/* mod chips */
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mchip{
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-m);padding:11px 12px;
  cursor:pointer;text-align:left;color:var(--ink-0);transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease),transform 100ms var(--ease);
  font-family:var(--f-body);position:relative;
}
.mchip:active{transform:scale(.96)}
.mchip .nm{font-weight:600;font-size:13.5px;display:flex;align-items:center;gap:6px;padding-right:16px}
.mchip .sb{font-size:11.5px;color:var(--ink-2);margin-top:2px}
.mchip .cost{position:absolute;top:10px;right:11px;font-family:var(--f-mono);font-size:10px;font-weight:500;color:var(--ink-2);letter-spacing:.05em}
.mchip[aria-pressed="true"]{border-color:var(--acc);background:linear-gradient(180deg,rgba(255,210,63,.09),rgba(255,210,63,.02))}
.mchip[aria-pressed="true"] .cost{color:var(--acc-deep)}
.mchip[aria-pressed="true"] .nm::before{content:'';width:6px;height:6px;background:var(--acc);flex:none}

/* usage cards */
.ucard{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-m);padding:14px;cursor:pointer;text-align:left;color:var(--ink-0);transition:all var(--t-fast) var(--ease);font-family:var(--f-body)}
.ucard:active{transform:scale(.97)}
.ucard .ic{font-size:20px;line-height:1}
.ucard .nm{font-family:var(--f-disp);font-weight:800;font-stretch:106%;font-size:14px;margin:8px 0 2px}
.ucard .ds{font-size:12px;color:var(--ink-1)}
.ucard[aria-pressed="true"]{border-color:var(--acc);background:linear-gradient(180deg,rgba(255,210,63,.08),rgba(255,210,63,.02))}

/* segmented */
.seg{display:flex;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-m);padding:4px;gap:4px}
.seg button{flex:1;border:none;background:transparent;color:var(--ink-1);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:10px 6px;border-radius:var(--r-s);cursor:pointer;transition:all var(--t-fast) var(--ease)}
.seg button[aria-pressed="true"]{background:var(--acc);color:#09090B}

/* slider */
.slider-card{padding:20px 18px}
.tgt-val{font-family:var(--f-disp);font-stretch:112%;font-size:44px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.tgt-val small{font-size:15px;color:var(--ink-1);font-weight:500;font-stretch:100%}
input[type=range]{width:100%;appearance:none;-webkit-appearance:none;height:34px;background:transparent;margin:14px 0 4px;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--acc) var(--fill,30%),var(--line-2) var(--fill,30%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--acc);border:5px solid #09090B;box-shadow:0 0 0 1.5px var(--acc);margin-top:-10px}
input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--line-2)}
input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--acc)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--acc);border:4px solid #09090B;box-shadow:0 0 0 1.5px var(--acc)}
.presets{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.preset{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--ink-1);background:var(--bg-0);border:1px solid var(--line);border-radius:99px;padding:6px 13px;cursor:pointer;transition:all var(--t-fast) var(--ease)}
.preset:hover{border-color:var(--acc-deep);color:var(--ink-0)}

/* ---------- dock ---------- */
.dock{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(11,11,14,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid var(--line);transform:translateY(110%);transition:transform var(--t-slow) var(--ease);
  padding-bottom:env(safe-area-inset-bottom);
}
.dock.show{transform:translateY(0)}
.dock-in{max-width:680px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:14px}
.dock-est{flex:1;min-width:0}
.dock-est .l{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
.dock-est .v{font-family:var(--f-disp);font-stretch:112%;font-weight:800;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}
.dock-est .v small{font-size:13px;color:var(--ink-1);font-weight:500;font-stretch:100%}
.btn{
  font-family:var(--f-disp);font-weight:800;font-stretch:106%;font-size:14px;letter-spacing:.02em;
  border-radius:var(--r-m);padding:14px 22px;cursor:pointer;border:none;transition:all var(--t-fast) var(--ease);
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;
}
.btn:hover{text-decoration:none}
.btn:active{transform:scale(.96)}
.btn-p{background:var(--acc);color:#09090B}
.btn-p:hover{background:#FFDD66;color:#09090B}
.btn-p:disabled{background:var(--line-2);color:var(--ink-2);cursor:default}
.btn-g{background:transparent;color:var(--ink-1);border:1px solid var(--line-2)}
.btn-g:hover{color:var(--ink-0);border-color:var(--ink-2)}
.btn-blk{width:100%}

/* ---------- report ---------- */
.rep-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 16px}
.rep-head h2{font-size:clamp(20px,5.2vw,25px);width:100%}
.rchip{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-1);border:1px solid var(--line);background:var(--bg-1);border-radius:4px;padding:4px 9px}
.rchip.acc{color:var(--acc);border-color:rgba(255,210,63,.3)}

.score-card{display:flex;align-items:center;gap:20px;padding:20px;overflow:hidden}
.score-card::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0 14px,rgba(244,242,237,.012) 14px 15px);pointer-events:none;border-radius:var(--r-m)}
.ring-wrap{position:relative;width:132px;height:132px;flex:none}
.ring-wrap svg{transform:rotate(-90deg)}
.ring-bg{stroke:var(--line-2);fill:none}
.ring-fg{fill:none;stroke-linecap:square;transition:stroke-dashoffset 1.1s var(--ease)}
.ring-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-num .n{font-family:var(--f-disp);font-stretch:112%;font-weight:800;font-size:38px;line-height:1;font-variant-numeric:tabular-nums}
.ring-num .d{font-family:var(--f-mono);font-size:9px;letter-spacing:.14em;color:var(--ink-2);text-transform:uppercase;font-weight:500;margin-top:2px}
.grade{
  font-family:var(--f-mono);font-weight:500;font-size:13px;letter-spacing:.14em;
  border:1.5px dashed currentColor;border-radius:var(--r-s);padding:4px 12px;display:inline-block;margin-bottom:9px;
  transform:rotate(-2deg);text-transform:uppercase;
}
.verdict{font-family:var(--f-disp);font-weight:800;font-stretch:106%;font-size:16px;line-height:1.3}

.weak-card{border-left:3px solid var(--bad);margin-top:12px;display:flex;gap:12px;align-items:flex-start}
.weak-card.ok{border-left-color:var(--ok)}
.weak-card .wi{font-size:18px;line-height:1.3}
.weak-card .wt{font-family:var(--f-mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.weak-card .wb{font-size:13px;color:var(--ink-1);margin-top:3px}

/* power ladder + vitals */
.ladder{padding:18px}
.lad-track{position:relative;height:10px;border-radius:5px;background:var(--line-2);margin:34px 4px 8px}
.lad-fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:linear-gradient(90deg,var(--acc-deep),var(--acc));transition:width 1s var(--ease)}
.lad-tick{position:absolute;top:-7px;width:2px;height:24px;background:var(--ink-2);border-radius:1px}
.lad-tick.goal{background:var(--ink-0)}
.lad-lbl{position:absolute;top:-30px;transform:translateX(-50%);font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.08em;color:var(--ink-2);text-transform:uppercase;white-space:nowrap}
.lad-lbl b{color:var(--ink-0)}
.lad-legend{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:10.5px;color:var(--ink-2);margin-top:10px}
.lad-nums{display:flex;gap:18px;margin-bottom:6px;flex-wrap:wrap}
.lad-num .l{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
.lad-num .v{font-family:var(--f-disp);font-stretch:112%;font-weight:800;font-size:21px;font-variant-numeric:tabular-nums}
.lad-num .v.acc{color:var(--acc)}
.vitals{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);margin-top:16px}
.vital{background:var(--bg-1);padding:10px 12px}
.vital .l{font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
.vital .v{font-family:var(--f-disp);font-stretch:112%;font-weight:800;font-size:16px;margin-top:2px;font-variant-numeric:tabular-nums}
.vital .v small{font-size:11px;color:var(--ink-1);font-weight:500;font-stretch:100%}
.vital-note{font-size:10.5px;color:var(--ink-2);margin-top:8px}

/* subsystem bars */
.sysrow{display:grid;grid-template-columns:118px 1fr;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.sysrow:last-child{border-bottom:none}
.sysrow .sl{font-size:12px;font-weight:800;font-stretch:106%;color:var(--ink-0);font-family:var(--f-disp)}
.sysbar{height:7px;border-radius:4px;background:var(--line-2);overflow:hidden;position:relative}
.sysbar i{display:block;height:100%;border-radius:4px;transition:width .9s var(--ease)}
.sysnote{font-size:11px;color:var(--ink-2);margin-top:4px}
.sysnote b{font-weight:600;font-family:var(--f-mono)}
.s-ok i{background:var(--ok)}.s-warn i{background:var(--acc)}.s-crit i{background:var(--bad)}
.s-ok .sysnote b{color:var(--ok)}.s-warn .sysnote b{color:var(--acc)}.s-crit .sysnote b{color:var(--bad)}

/* risks */
.risk{border-left:3px solid;margin-bottom:9px;padding:12px 14px}
.risk.crit{border-left-color:var(--bad)}
.risk.warn{border-left-color:var(--acc)}
.risk.adv{border-left-color:var(--ink-2)}
.risk .rt{font-family:var(--f-disp);font-weight:800;font-stretch:106%;font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.risk .rb{font-size:12.5px;color:var(--ink-1);margin-top:3px;line-height:1.5}
.sev{font-family:var(--f-mono);font-size:9px;font-weight:500;letter-spacing:.12em;border-radius:4px;padding:2px 6px;text-transform:uppercase}
.sev.crit{background:rgba(255,49,90,.14);color:var(--bad)}
.sev.warn{background:rgba(255,210,63,.13);color:var(--acc)}
.sev.adv{background:rgba(244,242,237,.08);color:var(--ink-1)}

/* roadmap */
.step-it{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}
.step-it:last-child{border-bottom:none}
.step-n{flex:none;width:28px;height:28px;border-radius:var(--r-s);background:var(--acc);color:#09090B;font-family:var(--f-disp);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.step-it.fix .step-n{background:transparent;border:1.5px solid var(--acc);color:var(--acc)}
.step-t{font-family:var(--f-disp);font-weight:800;font-stretch:106%;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.step-w{font-size:12.5px;color:var(--ink-1);margin-top:2px;line-height:1.5}
.costtag{font-family:var(--f-mono);font-size:10.5px;font-weight:500;color:var(--acc-deep);letter-spacing:.08em}
.hp-to{font-family:var(--f-mono);font-size:10px;font-weight:500;color:var(--acc);background:rgba(255,210,63,.09);border-radius:4px;padding:1.5px 7px}

/* intel */
.intel-it{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink-1);line-height:1.55}
.intel-it:last-child{border-bottom:none}
.intel-it .fl{flex:none;color:var(--acc);font-size:13px;margin-top:1px}

/* share */
.share-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.share-row .btn{padding:13px 10px;font-size:13px}
.share-full{grid-column:1/-1}

/* toast */
.toast{
  position:fixed;left:50%;bottom:96px;transform:translate(-50%,20px);z-index:99;
  background:var(--ink-0);color:#09090B;font-weight:500;font-size:11px;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;
  border-radius:99px;padding:11px 22px;opacity:0;pointer-events:none;transition:all var(--t-fast) var(--ease);white-space:nowrap;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* analyzing overlay */
.scan{position:fixed;inset:0;z-index:80;background:rgba(9,9,11,.94);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease)}
.scan.show{opacity:1;pointer-events:auto}
.scan .st{font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-1)}
.scan-bar{width:min(280px,70vw);height:4px;border-radius:2px;background:var(--line-2);overflow:hidden}
.scan-bar i{display:block;height:100%;width:40%;border-radius:2px;background:var(--acc);animation:scan .9s var(--ease) infinite}
@keyframes scan{0%{transform:translateX(-100%)}100%{transform:translateX(280%)}}

/* shared banner */
.shared-banner{background:linear-gradient(90deg,rgba(255,210,63,.12),rgba(255,210,63,.03));border:1px solid rgba(255,210,63,.3);border-radius:var(--r-m);padding:11px 14px;font-size:13px;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.shared-banner b{font-family:var(--f-disp);font-weight:800}

/* entrance anim */
.in{animation:up var(--t-slow) var(--ease) both}
.in.d1{animation-delay:.05s}.in.d2{animation-delay:.1s}.in.d3{animation-delay:.16s}.in.d4{animation-delay:.22s}.in.d5{animation-delay:.28s}.in.d6{animation-delay:.34s}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- static content pages ---------- */
.page-hd{padding:36px 0 8px}
.page-hd h1{font-size:clamp(24px,6.4vw,34px);margin:0 0 10px}
.page-hd .lede{color:var(--ink-1);font-size:15px;max-width:52ch}
.crumbs{font-family:var(--f-mono);font-size:10px;color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;padding-top:22px}
.crumbs a{color:var(--ink-2)}
.crumbs a:hover{color:var(--acc)}
.prose{color:var(--ink-1);font-size:14.5px;line-height:1.7}
.prose h2{color:var(--ink-0);font-size:17px;margin:30px 0 10px}
.prose h3{color:var(--ink-0);font-size:15px;margin:20px 0 8px}
.prose p{margin:0 0 12px}
.prose ul{margin:0 0 12px 18px}
.prose li{margin-bottom:6px}
.prose strong{color:var(--ink-0)}
.spec{width:100%;border-collapse:collapse;margin:14px 0}
.spec th,.spec td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);font-size:13px}
.spec th{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
.spec td.v{font-family:var(--f-mono);color:var(--ink-0);font-weight:500;text-align:right;white-space:nowrap}
.leader{display:flex;align-items:baseline;gap:8px;padding:8px 0;font-size:13px}
.leader .k{color:var(--ink-1)}
.leader .dots{flex:1;border-bottom:1px dotted var(--line-2);transform:translateY(-3px)}
.leader .v{font-family:var(--f-mono);color:var(--ink-0);font-weight:500}
.cta-band{margin:28px 0;padding:22px 18px;text-align:center}
.cta-band .t{font-family:var(--f-disp);font-weight:800;font-stretch:112%;text-transform:uppercase;font-size:18px;margin-bottom:6px}
.cta-band .s{color:var(--ink-1);font-size:13px;margin-bottom:16px}
.rel-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:12px}
@media(max-width:520px){.rel-grid{grid-template-columns:1fr}}
.rel-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-s);padding:12px;color:var(--ink-0);display:block}
.rel-card:hover{border-color:var(--acc-deep);text-decoration:none}
.rel-card .mk{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.rel-card .nm{font-family:var(--f-disp);font-weight:800;font-stretch:106%;font-size:13px;margin-top:2px}

/* landing content section */
.seo-sec{margin-top:44px;border-top:1px solid var(--line);padding-top:8px}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.feat{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-s);padding:13px}
.feat .t{font-family:var(--f-disp);font-weight:800;font-stretch:106%;font-size:13px;display:flex;gap:7px;align-items:center}
.feat .t::before{content:'';width:5px;height:5px;background:var(--acc);flex:none}
.feat .d{font-size:12px;color:var(--ink-1);margin-top:3px}
.faq-it{border-bottom:1px solid var(--line);padding:13px 0}
.faq-it .q{font-family:var(--f-disp);font-weight:800;font-stretch:106%;font-size:13.5px}
.faq-it .a{font-size:13px;color:var(--ink-1);margin-top:5px;line-height:1.6}

/* footer */
footer{border-top:1px solid var(--line);margin-top:50px}
.foot-in{max-width:680px;margin:0 auto;padding:26px 18px 40px;color:var(--ink-2);font-size:12px;line-height:1.6}
.foot-brand img{height:15px;width:auto;display:block;margin-bottom:8px}
.foot-code{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:16px}
.foot-links{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.foot-links a{color:var(--ink-1);font-size:12.5px}
.plat-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin:10px 0 18px}
.plat-links a{color:var(--ink-2);font-size:11.5px;line-height:1.8}
.plat-links a:hover{color:var(--acc)}
.seal{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-1);border:1px solid var(--line);border-radius:99px;padding:7px 14px;margin:2px 0 18px}
.seal:hover{border-color:var(--line-2);color:var(--ink-0);text-decoration:none}
.seal svg{display:block}
.dis{border-top:1px solid var(--line);padding-top:14px;font-size:11.5px}
.dis b{color:var(--ink-1)}

/* ---------- print: the build sheet ---------- */
@media print{
  @page{margin:14mm}
  body{background:#fff;color:#141416;font-size:11.5pt}
  header.top,.dock,.toast,.scan,.share-row,.seo-sec,footer .plat-links,.foot-links,.hero-art,.no-print{display:none!important}
  .wrap{max-width:100%;padding:0}
  .card{background:#fff;border:1px solid #bbb;box-shadow:none;break-inside:avoid}
  .card::before{display:none}
  .rep-head h2,.verdict,.step-t,.risk .rt,.weak-card .wt{color:#141416}
  .rchip{color:#333;border-color:#bbb;background:#fff}
  .muted,.rb,.step-w,.sysnote,.intel-it,.wb{color:#444!important}
  .grade{color:#141416;border-color:#141416}
  .ring-num .n{color:#141416}.ring-num .d{color:#666}
  .ring-bg{stroke:#ddd}
  .sec-label{color:#666}
  .lad-num .v{color:#141416}.lad-num .v.acc{color:#141416}
  .lad-track{background:#e5e5e5}.lad-fill{background:#141416}
  .vital{background:#fff}.vital .v{color:#141416}
  .vitals{background:#ddd;border-color:#ddd}
  .sysbar{background:#e5e5e5}
  .step-n{background:#141416;color:#fff}
  .step-it.fix .step-n{background:#fff;border-color:#141416;color:#141416}
  .risk{border-color:#999}
  .sev{border:1px solid #999;background:#fff!important;color:#333!important}
  .intel-it .fl{color:#141416}
  .in{animation:none}
  a{color:#141416}
  .print-only{display:block!important}
}
.print-only{display:none;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#666;margin-top:20px;border-top:1px solid #bbb;padding-top:8px}

@media(max-width:420px){
  .vitals{grid-template-columns:1fr 1fr}
  .top-nav{gap:11px}
  .top-nav a{font-size:10px}
  .brand img{height:15px}
  .stp{width:18px}
}
