@font-face{font-family:'JetBrains Mono';src:url('../fonts/jetbrains-mono-var.woff2?v=20260921.1') format('woff2');font-weight:100 900;font-display:swap}

:root{
  --bg:#050505;
  --surface:#101010;
  --surface-2:#161616;
  --line:#1f1f1f;
  --frame:#3a3a3a;
  --hover:#252525;
  --text:#ffffff;
  --dim:#d2d2d2;
  --muted:#a3a3a3;
  --accent:#00D4FF;
  --accent-ink:#001018;
  --pink:#ec4899;
  --violet:#8b5cf6;
  --green:#22c55e;
  --red:#ff4340;
  --orange:#ff9f43;
  --cut:20px;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--mono);
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--accent);color:var(--accent-ink)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit}
strong{color:var(--text)}
.wrap{max-width:1440px;margin:0 auto;padding:0 24px}
@media(min-width:1024px){.wrap{padding:0 32px}}

section{scroll-margin-top:72px}
.section{padding:96px 0 0}
@media(max-width:767px){.section{padding-top:64px}}

/* ---------- CRT + decor ---------- */
.crt{
  position:fixed;inset:0;z-index:90;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.16) 2px 3px);
}
.crt::after{
  content:"";position:absolute;left:0;right:0;height:90px;top:-90px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.045),transparent);
  animation:crt-sweep 7s linear infinite;
}
@keyframes crt-sweep{0%{top:-90px}70%{top:110%}100%{top:110%}}
@media(max-width:1023px){.crt{display:none}}

.bg-decor{position:fixed;inset:0;z-index:0;pointer-events:none}
.bg-line{position:absolute;border:1px dashed rgba(255,255,255,.1);animation:drift 16s ease-in-out infinite alternate}
.bg-line--v{width:0;animation-name:drift-x}
.bg-line--h{height:0;animation-name:drift-y}
@keyframes drift-x{from{transform:translateX(-5px)}to{transform:translateX(6px)}}
@keyframes drift-y{from{transform:translateY(-5px)}to{transform:translateY(6px)}}
.binary{
  position:absolute;font-size:12px;letter-spacing:.05em;
  color:rgba(255,255,255,.14);white-space:nowrap;animation:drift-y 20s ease-in-out infinite alternate;
}

/* ---------- nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;height:56px;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:0 24px;background:rgba(5,5,5,.88);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
@media(min-width:1024px){.nav{padding:0 32px}}
.nav__logo{display:flex;align-items:center}
.nav__logo img{height:36px;width:auto;display:block}
.nav__links{display:flex;gap:26px}
.nav__links a{
  font-size:13px;font-weight:700;letter-spacing:.025em;color:var(--muted);
  transition:color .3s;position:relative;
}
.nav__links a:hover,.nav__links a.on{color:var(--accent)}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:-6px;height:3px;width:0;background:var(--accent);transition:width .25s;
}
.nav__links a:hover::after,.nav__links a.on::after{width:100%}
.nav__right{display:flex;align-items:center;gap:14px}
.nav__burger{display:none;font-size:22px;line-height:1;padding:4px 8px;color:var(--text)}
.nav__mobile{display:none}
@media(max-width:900px){
  .nav__links{display:none}
  .nav__burger{display:block}
  .nav__mobile{
    display:flex;flex-direction:column;position:fixed;top:56px;left:0;right:0;z-index:99;
    background:var(--surface);border-bottom:1px solid var(--line);
    transform:translateY(-110%);transition:transform .3s;
  }
  .nav__mobile.open{transform:translateY(0)}
  .nav__mobile a{padding:14px 24px;border-top:1px solid var(--line);font-weight:700;font-size:13px;color:var(--dim)}
  .nav__mobile a:hover{color:var(--accent)}
}

/* ---------- chips / eyebrow / headings ---------- */
.chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 12px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1.2;
}
.chip--ghost{border:1px solid var(--line);color:var(--muted);background:rgba(255,255,255,.02)}
.chip--accent{background:rgba(0,212,255,.1);color:var(--accent)}
.chip--ok{background:rgba(34,197,94,.1);color:var(--green)}
.pulse{width:6px;height:6px;border-radius:9999px;background:var(--green);box-shadow:0 0 6px rgba(34,197,94,.8);animation:pulse 2s steps(2,end) infinite}
@keyframes pulse{0%,60%{opacity:1}61%,100%{opacity:.35}}

.eyebrow{font-size:13px;font-weight:700;letter-spacing:.05em;color:var(--accent)}
.sl{color:var(--muted)}
.glow{text-shadow:0 0 8px rgba(255,255,255,.55)}
.glow-c{text-shadow:0 0 8px rgba(0,212,255,.55)}
.accent{color:var(--accent)}

.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.sec-title{font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.sec-sub{color:var(--muted);max-width:720px;margin-bottom:28px}
@media(min-width:1024px){.sec-title{font-size:24px}}

/* ---------- panels ---------- */
.panel{
  --cut:20px;
  position:relative;padding:1px;background:var(--frame);
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
}
.panel--dots .panel__in::after{
  content:"";position:absolute;top:12px;right:12px;width:3px;height:3px;
  background:rgba(255,255,255,.5);box-shadow:6px 0 rgba(255,255,255,.5),0 6px rgba(255,255,255,.5),6px 6px rgba(255,255,255,.5);
}
.panel__in{
  position:relative;background:var(--surface);height:100%;padding:24px;
}
@media(min-width:1024px){.panel__in{padding:28px}}

/* ---------- buttons ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:46px;padding:0 24px;font-size:14px;font-weight:700;letter-spacing:.025em;text-transform:uppercase;
  transition:background .3s,color .3s,border-color .3s;white-space:nowrap;
}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(4px)}
.btn--primary{background:#fff;color:#000}
.btn--primary:hover{background:var(--accent);color:var(--accent-ink)}
.btn--ghost{border:1px solid var(--frame);color:var(--text);background:transparent}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}
.ck{position:absolute;width:11px;height:11px;border:0 solid var(--accent);opacity:0;transform:scale(0);transition:transform .25s,opacity .25s}
.ck--tl{top:-6px;left:-6px;border-top-width:2px;border-left-width:2px;transform-origin:top left}
.ck--tr{top:-6px;right:-6px;border-top-width:2px;border-right-width:2px;transform-origin:top right}
.ck--bl{bottom:-6px;left:-6px;border-bottom-width:2px;border-left-width:2px;transform-origin:bottom left}
.ck--br{bottom:-6px;right:-6px;border-bottom-width:2px;border-right-width:2px;transform-origin:bottom right}
.btn:hover .ck{opacity:1;transform:scale(1)}

/* ---------- hero ---------- */
.hero{position:relative;padding:150px 0 64px}
.hero .wrap{position:relative;z-index:1}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:"left right" "cta cta" "meta meta" "term term";column-gap:40px;align-items:center}
.hero__left{grid-area:left;align-self:start}
.hero__right{grid-area:right;align-self:center;justify-self:end}
.hero__cta{grid-area:cta}
.hero__meta{grid-area:meta}
.term{grid-area:term}
.hero__title{
  font-size:clamp(42px,7.2vw,86px);font-weight:800;line-height:1.04;letter-spacing:-.01em;
  text-transform:uppercase;margin:18px 0 22px;
}
.hero__sub{color:var(--muted);font-size:15px;max-width:680px;margin-bottom:32px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.hero__meta{
  font-size:12px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase;margin-bottom:48px;
}
.dot-sep{color:var(--frame);margin:0 6px}

.term{max-width:860px}
.term .panel__in{padding:0}

/* ---------- sprint rotator ---------- */
.sprint{position:relative;padding:28px 30px;border:1px solid var(--line);background:rgba(16,16,16,.72);max-width:620px}
.sprint::before,.sprint::after{content:"";position:absolute;width:12px;height:12px;border:0 solid var(--accent);opacity:.8}
.sprint::before{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}
.sprint::after{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}
.sprint__tag{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--muted);margin-bottom:14px}
.sprint__line{
  display:flex;flex-direction:column;gap:2px;min-height:2.2em;
  transition:transform .22s steps(2,end),opacity .22s steps(2,end),filter .22s steps(2,end);
}
.sprint-swap{transform:translateY(-10px);opacity:.15;filter:contrast(1.5)}
.sprint__a,.sprint__b{
  display:block;font-size:clamp(34px,4vw,58px);font-weight:800;line-height:1.06;
  text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap;
}
.sprint__a{color:var(--text);text-shadow:0 0 8px rgba(255,255,255,.5)}
.sprint__b{color:var(--accent);text-shadow:0 0 12px rgba(0,212,255,.55)}
.sprint__meta{margin-top:16px;font-size:12px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:8px}
@media(max-width:1023px){
  .hero__grid{display:block}
  .hero__right{margin:26px 0 6px;justify-self:start}
  .sprint{max-width:640px;padding:22px 22px}
  .sprint__a,.sprint__b{font-size:clamp(28px,7.6vw,44px)}
}
.term__bar{
  display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--line);
  background:var(--surface-2);
}
.term__dot{width:10px;height:10px;border-radius:9999px;background:var(--frame)}
.term__dot:first-child{background:var(--red)}
.term__dot:nth-child(2){background:var(--orange)}
.term__dot:nth-child(3){background:var(--green)}
.term__title{margin-left:10px;font-size:12px;color:var(--muted);flex:1}
.term__body{
  padding:20px 22px;min-height:280px;font-size:13px;line-height:1.9;color:var(--dim);
}
.term__body .t-cmd{color:var(--text);font-weight:700}
.term__body .t-cmd::before{content:"$ ";color:var(--accent)}
.term__body .t-out{color:var(--muted);white-space:pre-wrap}
.term__body .t-out .v{color:var(--accent)}
.term__body .t-ok{color:var(--green);font-weight:700}
.term__body .t-err{color:var(--red)}
.cursor{
  display:inline-block;width:8px;height:15px;background:var(--accent);
  vertical-align:text-bottom;animation:blink 1s steps(2,start) infinite;
}
@keyframes blink{to{visibility:hidden}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px;align-items:start}
@media(max-width:1023px){.stats{grid-template-columns:1fr}}

.stats__toprow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.stats__label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.stats__label--dim{color:var(--muted);font-weight:400}
.stats__label--dim strong{color:var(--text);font-weight:700}

.bignum-row{display:flex;gap:40px;flex-wrap:wrap;margin-bottom:14px}
.bignum{display:flex;flex-direction:column;gap:4px}
.bignum--row{flex-direction:row;align-items:baseline;gap:14px;flex-wrap:wrap}
.bignum__val{
  font-size:clamp(40px,5.2vw,64px);font-weight:800;letter-spacing:-.01em;line-height:1;
  font-variant-numeric:tabular-nums;
}
.bignum__val--pink{color:var(--pink);text-shadow:0 0 12px rgba(236,72,153,.35)}
.bignum__cap{font-size:12px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.bignum__cap2{font-size:clamp(20px,2.4vw,28px);color:var(--muted);font-weight:400}
.bignum__val.clear{color:var(--green);text-shadow:0 0 10px rgba(34,197,94,.45)}

.replay{
  align-self:flex-start;display:inline-block;margin:2px 0 16px;
  border:1px solid var(--line);background:var(--surface-2);color:var(--dim);
  padding:9px 18px;font-size:12px;font-weight:700;letter-spacing:.05em;
  transition:border-color .3s,color .3s;
}
.replay:hover{border-color:var(--accent);color:var(--accent)}

.hist{display:flex;align-items:flex-end;gap:2px;height:130px;border-bottom:1px solid var(--line);padding-bottom:1px}
.hist i{
  flex:1;min-width:0;transform-origin:bottom;background:var(--accent);
  transform:scaleY(0);transition:transform .3s ease-out;
}
.hist.on i{transform:scaleY(1)}
.hist__annotations{position:relative;height:26px;margin-bottom:14px}
.hist__annotations span{
  position:absolute;top:8px;font-size:11px;color:var(--muted);transform:translateX(-50%);
}
.hist__annotations span::before{
  content:"";position:absolute;left:50%;top:-9px;height:9px;border-left:1px dashed rgba(255,255,255,.35);
}

.logbox{border:1px solid var(--line);background:var(--surface-2);padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.logbox p{display:flex;gap:16px;font-size:13px;color:var(--dim)}
.logbox p span{flex:1;width:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logbox em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
.logbox em.up{color:var(--green)}
.logbox em.dn{color:var(--red)}

.heat-num{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}
.heat-num__cap{font-size:clamp(16px,1.8vw,22px);color:var(--muted)}
.heat{display:grid;grid-template-columns:repeat(24,1fr);gap:3px;margin-bottom:12px}
@media(min-width:1024px){.heat{grid-template-columns:repeat(24,13px);justify-content:start;gap:4px}}
.heat i{aspect-ratio:1;background:var(--surface-2);opacity:0;transition:opacity .3s}
.heat.on i{opacity:1}
.heat i[data-l="1"]{background:#2c1a5e}
.heat i[data-l="2"]{background:#7c3aed}
.heat i[data-l="3"]{background:#c026d3}
.heat i[data-l="4"]{background:#ec4899}
.heat i[data-l="5"]{background:var(--accent);box-shadow:0 0 8px rgba(0,212,255,.6)}
.heat__scale{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.heat__scale i{width:11px;height:11px;background:var(--surface-2)}
.heat__scale i[data-l="1"]{background:#2c1a5e}
.heat__scale i[data-l="2"]{background:#7c3aed}
.heat__scale i[data-l="3"]{background:#c026d3}
.heat__scale i[data-l="4"]{background:#ec4899}
.heat__scale i[data-l="5"]{background:var(--accent)}

.strips{display:flex;flex-direction:column;gap:10px}
.strip{display:grid;grid-template-columns:96px 1fr 20px;align-items:center;gap:10px}
.strip__name{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.strip__cells{display:flex;gap:2px;height:14px;position:relative}
.strip__cells i{flex:1;min-width:1px;opacity:0;transition:opacity .2s}
.strip__cells.on i{opacity:1}
.strip__cells i.f{background:var(--red)}
.strip__cells i.w{background:var(--orange)}
.strip__cells i.g{background:var(--green)}
.strip__cells i.d{background:rgba(34,197,94,.28)}
.strip__cells::after{
  content:"";position:absolute;top:-4px;bottom:-4px;left:var(--fix,0);width:2px;background:#fff;
  opacity:0;transition:opacity .3s;
}
.strip__cells.on::after{opacity:.85}
.strip__check{color:var(--frame);font-weight:700;opacity:0;transition:color .3s,opacity .3s}
.strip.done .strip__check{opacity:1;color:var(--green)}
.strip__legend{display:flex;align-items:center;gap:16px;margin-top:14px;font-size:11px;color:var(--muted);flex-wrap:wrap}
.strip__legend span{display:inline-flex;align-items:center;gap:6px}
.strip__legend i{width:11px;height:11px;display:inline-block}
.strip__legend i.f{background:var(--red)}
.strip__legend i.w{background:var(--orange)}
.strip__legend i.g{background:var(--green)}
.strip__legend i.d{background:rgba(34,197,94,.28)}

.errlog{border:1px solid var(--line);background:#0b0b0b;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-height:196px}
.errlog p{display:flex;gap:10px;font-size:12px;line-height:1.5;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s,color .3s}
.errlog p.on{opacity:1;transform:none}
.errlog p .et{color:var(--red);font-weight:700;white-space:nowrap}
.errlog p .em{width:0;flex:1;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.errlog p.fix .et{color:var(--green)}
.errlog p.fix .em{color:#6b7280;text-decoration:line-through}

/* ---------- pipeline ---------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
@media(max-width:1279px){.steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:899px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:599px){.steps{grid-template-columns:1fr}}
.step__num{display:block;font-size:12px;color:var(--frame);font-weight:700;letter-spacing:.05em}
.step__tag{display:inline-block;font-size:12px;font-weight:700;color:var(--accent);margin:10px 0 6px}
.step h3{font-size:15px;font-weight:700;letter-spacing:.02em;margin-bottom:10px;text-transform:uppercase}
.step p{font-size:13px;color:var(--muted)}
.step--final .panel__in{background:linear-gradient(180deg,var(--surface),#0b1e26)}
.step--final h3{color:var(--accent)}
.flow-line{margin-top:22px;color:var(--muted);font-size:13px;overflow-x:auto;white-space:nowrap;padding-bottom:4px}

/* ---------- agents ---------- */
.agents{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:1023px){.agents{grid-template-columns:repeat(2,1fr)}}
@media(max-width:599px){.agents{grid-template-columns:1fr}}
.agent{transition:opacity .35s,transform .35s}
.agents:hover .agent{opacity:.42}
.agents .agent:hover{opacity:1;transform:translateY(-4px)}
.agent h3{font-size:16px;font-weight:700;margin:12px 0 8px}
.agent p{font-size:13px;color:var(--muted)}
.agent--more .panel__in{background:var(--surface-2)}
.agent--more h3{color:var(--accent)}
.agent--more:hover h3{text-shadow:0 0 8px rgba(0,212,255,.55)}

/* ---------- platforms ---------- */
.platforms{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
@media(max-width:1023px){.platforms{grid-template-columns:repeat(4,1fr)}}
@media(max-width:599px){.platforms{grid-template-columns:repeat(2,1fr)}}
.pf{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:64px;border:1px solid var(--line);background:var(--surface);
  font-size:13px;font-weight:700;letter-spacing:.05em;color:var(--dim);
  transition:border-color .3s,color .3s,background .3s;
}
.pf::before,.pf::after{
  content:"";position:absolute;width:8px;height:8px;border:0 solid var(--accent);
  opacity:0;transition:opacity .25s;
}
.pf::before{top:5px;left:5px;border-top-width:2px;border-left-width:2px}
.pf::after{bottom:5px;right:5px;border-bottom-width:2px;border-right-width:2px}
.pf:hover{border-color:var(--accent);color:var(--accent)}
.pf:hover::before,.pf:hover::after{opacity:1}
.pf--accent{border-color:rgba(0,212,255,.4);color:var(--accent);background:rgba(0,212,255,.06)}
.platforms__note{margin-top:16px;margin-bottom:0;font-size:12px}

/* ---------- principles ---------- */
.prin{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.prin__row{
  display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;
  padding:30px 0;border-bottom:1px solid var(--line);align-items:start;
}
@media(max-width:599px){.prin__row{grid-template-columns:56px 1fr;gap:14px}}
.prin__num{
  font-size:clamp(28px,3.4vw,44px);font-weight:800;color:var(--frame);line-height:1;
  font-variant-numeric:tabular-nums;transition:color .3s,text-shadow .3s;
}
.prin__row:hover .prin__num{color:var(--accent);text-shadow:0 0 12px rgba(0,212,255,.5)}
.prin__body h3{font-size:16px;font-weight:700;letter-spacing:.02em;margin-bottom:8px;text-transform:uppercase}
.prin__body p{color:var(--muted);max-width:720px}

/* ---------- faq ---------- */
.faq{display:flex;flex-direction:column;gap:14px;max-width:900px}
.faq__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 24px;text-align:left;font-size:14px;font-weight:700;letter-spacing:.02em;
  transition:color .3s;
}
.faq__q:hover{color:var(--accent)}
.faq__plus{color:var(--muted);font-weight:700;transition:color .3s}
.faq__q[aria-expanded="true"] .faq__plus{color:var(--accent)}
.faq__a{
  display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;
}
.faq__item.open .faq__a{grid-template-rows:1fr}
.faq__a p{
  overflow:hidden;color:var(--muted);font-size:13px;padding:0 24px;transition:padding .35s;
}
.faq__item.open .faq__a p{padding-bottom:22px}

/* ---------- cta ---------- */
.cta{padding-bottom:110px;text-align:left}
.cta__title{font-size:clamp(36px,6vw,72px);font-weight:800;line-height:1.06;text-transform:uppercase;margin:16px 0 18px}
.cta .sec-sub{margin-bottom:30px}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line);background:var(--surface);padding:56px 0 0}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-bottom:48px}
@media(max-width:899px){.footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:599px){.footer__grid{grid-template-columns:1fr}}
.footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer__brand img{height:44px;width:auto}
.footer__tag{font-size:12px;color:var(--muted);letter-spacing:.05em}
.footer__col{display:flex;flex-direction:column;gap:12px}
.footer__h{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.05em;margin-bottom:4px}
.footer__col a{font-size:13px;font-weight:700;color:var(--dim);transition:color .3s}
.footer__col a:hover{color:var(--accent)}
.footer__legal{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding-top:20px;padding-bottom:24px;border-top:1px solid var(--line);
  font-size:12px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;
}

/* ---------- reveal ---------- */
.rv{opacity:0}
.rv.on{animation:card-glitch .6s steps(3,end) forwards}
@keyframes card-glitch{
  0%{opacity:0;transform:translateY(10px) translateX(0);filter:contrast(1.35)}
  40%{opacity:1;transform:translateY(0) translateX(-2px)}
  60%{transform:translateX(2px)}
  100%{opacity:1;transform:none;filter:none}
}

/* ---------- deploy modal ---------- */
.modal{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(0,0,0,.74);backdrop-filter:blur(7px);
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s .25s;
}
.modal.open{opacity:1;visibility:visible;transition:opacity .25s ease}
.modal__panel{width:min(460px,100%)}
.modal.open .modal__panel{animation:card-glitch .55s steps(3,end) both}
.modal__title{font-size:clamp(30px,7vw,42px);font-weight:800;text-transform:uppercase;line-height:1.1;margin:16px 0 12px}
.modal__copy{color:var(--muted);font-size:13px;margin-bottom:16px}
.modal__line{font-size:13px;margin-bottom:26px}
.m-dim{color:var(--muted)}
.modal__close{align-self:flex-start}
body.modal-lock{overflow:hidden}

:focus-visible{outline:1px solid var(--accent);outline-offset:3px}

/* ---------- fleet ---------- */
.fleet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
@media(max-width:1023px){.fleet{grid-template-columns:minmax(0,1fr)}}
.wtable{display:flex;flex-direction:column;--wcols:18px 168px minmax(0,1fr) 64px 64px;--wgap:14px}
.whead{
  display:grid;grid-template-columns:var(--wcols);gap:var(--wgap);align-items:center;
  padding:4px 0 10px;border-bottom:1px solid var(--line);
  font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--muted);
}
.whead span:nth-child(4),.whead span:nth-child(5){text-align:center}
.wrow{
  display:grid;grid-template-columns:var(--wcols);gap:var(--wgap);align-items:center;
  padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;
}
.wrow:first-of-type{padding-top:12px}
.wrow:last-of-type{border-bottom:none}
.wrow img{width:18px;height:18px}
.wrow__cmd{color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wrow__name{font-weight:700;letter-spacing:.03em}
.wrow__ok,.wrow__no{text-align:center;font-weight:700}
.wrow__ok{color:var(--green)}
.wrow__no{color:var(--frame)}
.wrow--legacy{opacity:.45}
.wrow__legacy-tag{grid-column:span 2;text-align:center;color:var(--muted)}
.wtable__foot{margin-top:14px;font-size:12px;color:var(--muted)}
.wtable__link{
  display:inline-block;margin-top:8px;font-size:12px;font-weight:700;color:var(--accent);
  transition:color .3s;text-shadow:0 0 6px rgba(0,212,255,.35);
}
.wtable__link:hover{color:#fff;text-shadow:0 0 8px rgba(0,212,255,.6)}
.envbox{margin-top:16px;border:1px solid var(--line);background:#0b0b0b;padding:12px 16px;overflow-x:auto}
.envbox__h{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-bottom:8px;white-space:nowrap}
.envbox pre{font-family:var(--mono);font-size:11px;line-height:1.6;color:var(--dim);white-space:pre}
.envbox pre b{color:var(--green);font-weight:700}
.envbox pre em{color:var(--pink);font-style:normal;font-weight:700}
.envbox pre i{color:var(--muted);font-style:normal}
.ledger{display:flex;flex-direction:column;gap:9px;margin-top:18px}
.lrow{display:grid;grid-template-columns:96px 84px minmax(0,1fr) 66px;align-items:center;gap:10px;font-size:12px}
.lrow .ln{color:var(--dim);font-weight:700;letter-spacing:.03em}
.lrow .lt{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.lrow .lb{height:10px;background:var(--surface-2);overflow:hidden}
.lrow .lb i{display:block;height:100%;min-width:3px}
.lrow .lc{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.opt{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.opt__cell{border:1px solid var(--line);background:var(--surface);padding:18px 20px;transition:border-color .3s}
.opt__cell:hover{border-color:var(--accent)}
.opt__cell h4{font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--accent);margin-bottom:7px;text-transform:uppercase}
.opt__cell p{font-size:12px;color:var(--muted);line-height:1.55}
@media(max-width:1023px){.opt{grid-template-columns:repeat(2,1fr)}}
@media(max-width:599px){
  .opt{grid-template-columns:1fr}
  .wtable{--wcols:15px 104px minmax(0,1fr) 30px 30px;--wgap:8px}
  .whead span:nth-child(4),.whead span:nth-child(5),.wrow__ok,.wrow__no{font-size:10px}
  .wrow img{width:15px;height:15px}
  .wrow__cmd{font-size:10px}
  .wrow__name{font-size:11px}
  .envbox pre{font-size:10px}
  .lrow{grid-template-columns:78px 72px minmax(0,1fr) 58px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .rv{opacity:1}
  .hist i,.heat i,.strip__cells i,.errlog p{opacity:1;transform:none}
  .strip__check,.strip__cells::after{opacity:1}
}

@media(max-width:599px){
  .bignum__val{font-size:34px}
  .bignum-row{gap:20px}
  .hist{gap:1px;height:104px}
  .hist i{min-width:0}
  .hist__annotations{display:none}
  .logbox p{gap:10px;font-size:12px}
  .strip{grid-template-columns:64px 1fr 16px;gap:6px}
  .strip__cells{gap:1px}
  .term__body{padding:16px 14px;font-size:12px}
}
