/* ═══════════════════════════════════════════════════════════
   NovaCard HTML — documentation site
   Landing page: Anton + Courier Prime.
   Docs pages:   Archivo Black + Archivo + JetBrains Mono.
   One red (#e5241c) across both.
   ═══════════════════════════════════════════════════════════ */
:root{
  --p:#f2f1ee; --i:#141414; --s:#4a4a48; --m:#69685f; --r:#dcdbd5; --w:#ffffff;
  --a:#e5241c;   /* FIELD red */
  --at:#b8170f;  /* INK red, small type only */
  --ai:#ffffff;
  --code:#141414; --codeink:#e8e6e0;
  --fd:'Archivo Black',Archivo,system-ui,sans-serif;
  --fb:Archivo,system-ui,sans-serif;
  --fm:'JetBrains Mono',ui-monospace,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --p:#0f0f0e; --i:#f2f1ee; --s:#b5b4ae; --m:#908f87; --r:#2b2b28; --w:#181817;
    --a:#e5241c; --at:#ff3b2e; --ai:#ffffff; --code:#080808; --codeink:#e8e6e0;
  }
}
:root[data-theme="dark"]{
  --p:#0f0f0e; --i:#f2f1ee; --s:#b5b4ae; --m:#908f87; --r:#2b2b28; --w:#181817;
  --a:#e5241c; --at:#ff3b2e; --ai:#ffffff; --code:#080808; --codeink:#e8e6e0;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--p);color:var(--i);font-family:var(--fb);
  font-size:15.5px;line-height:1.7;padding-top:54px;overflow-x:hidden}
:focus-visible{outline:2px solid var(--a);outline-offset:3px}
a{color:var(--at)}

/* ── masthead, shared by every route ── */
.top{position:fixed;inset:0 0 auto 0;z-index:60;
  background:color-mix(in srgb,var(--p) 90%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--r)}
.top nav{display:flex;align-items:center;gap:14px;height:54px;
  padding-inline:clamp(1rem,3vw,2rem);max-width:1600px;margin:0 auto}
.brand{font-family:var(--fd);font-size:1.15rem;letter-spacing:-.02em;text-transform:uppercase;
  color:var(--i);text-decoration:none;display:inline-flex;align-items:baseline;gap:7px;white-space:nowrap}
.brand em{font-style:normal;color:var(--at)}
.ver{font-family:var(--fm);font-weight:700;font-size:.6rem;letter-spacing:.1em;
  background:var(--a);color:var(--ai);padding:.1rem .34rem}
.sp{margin-left:auto}
.menu{display:flex;gap:16px;align-items:center}
.menu a{position:relative;white-space:nowrap;color:var(--m);text-decoration:none;
  font-family:var(--fb);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;
  background:var(--a);transition:right .18s ease}
.menu a:hover,.menu a[aria-current="true"]{color:var(--i)}
.menu a:hover::after,.menu a[aria-current="true"]::after{right:0}
.menu a.heart{color:var(--at)}
.tools{display:flex;gap:8px;align-items:center}
.searchbtn,.themebtn,.navtoggle{font-family:var(--fm);font-size:.72rem;font-weight:700;cursor:pointer;
  border:1px solid var(--r);background:var(--p);color:var(--m);padding:.36rem .55rem;
  display:inline-flex;align-items:center;gap:7px}
.searchbtn:hover,.themebtn:hover,.navtoggle:hover{border-color:var(--a);color:var(--i)}
.searchbtn kbd{font-family:var(--fm);font-size:.62rem;border:1px solid var(--r);padding:0 .25rem;color:var(--m)}
#progress{position:absolute;inset:auto auto -1px 0;height:2px;width:0;background:var(--a);
  transition:width .12s linear}
.navtoggle{display:none}
@media(max-width:1000px){.menu{display:none}.navtoggle{display:inline-flex}}

/* ── routes ── */
.route{display:none}
.route.on{display:block}
#home{font-family:'Courier Prime','Courier New',monospace;font-size:15px;line-height:1.7}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important}
}


/* ═════════ LANDING (#home) ═════════ */
@media (prefers-color-scheme:dark){}
#home h1,#home h2,#home h3,#home h4{margin:0;font-family:var(--fd);font-weight:400;text-wrap:balance}
#home p{margin:0}
#home a{color:var(--at)}
#home .wrap{max-width:1240px;margin:0 auto;padding:0 clamp(1rem,4vw,3.5rem)}
#home .red{color:var(--a)}
#home .mk{background:var(--a);color:var(--ai);padding:0 .28em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
#home .eyebrow{
  font-family:var(--fm);font-weight:700;font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--at);
}
#home .tnum{font-variant-numeric:tabular-nums}
#home .reveal{opacity:0;transform:translateY(20px)}
#home .reveal.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
@media (prefers-reduced-motion:reduce){#home .reveal{opacity:1;transform:none}
#home .marq-in{animation:none !important}}
@media(max-width:1040px){}
@media(max-width:560px){#home .searchbtn span{display:none}}
#home .hero{padding:clamp(2.2rem,5vw,3.4rem) 0 clamp(1.6rem,3vw,2.2rem)}
#home .hero .mark{display:block;width:min(30rem,78vw);height:auto;margin:0 0 1.4rem}
#home .giant{
  font-size:clamp(3.6rem,15.5vw,13rem);
  line-height:.76;letter-spacing:-.035em;text-transform:uppercase;
  margin:.55rem 0 0;
}
#home .giant .line{display:block;overflow:hidden}
#home .giant .line > span{display:block;transform:translateY(102%);
  transition:transform .95s cubic-bezier(.16,1,.3,1)}
#home.lit .giant .line > span{transform:none}
#home .giant .line:nth-child(2) > span{transition-delay:.1s}
#home .hero .bigrule{height:4px;background:var(--i);margin-top:clamp(1.4rem,3vw,2.2rem)}
#home .hero .intro{
  display:grid;gap:clamp(1.2rem,4vw,3.5rem);margin-top:1.4rem;
  grid-template-columns:minmax(0,1fr);
}
@media(min-width:820px){#home .hero .intro{grid-template-columns:1fr 1fr}}
#home .hero .intro p{max-width:46ch;color:var(--i);font-size:clamp(.92rem,1.2vw,1.02rem);line-height:1.85}
#home .hero .acts{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:clamp(1.6rem,3vw,2.2rem)}
#home .btn{
  font-family:var(--fm);font-size:.82rem;font-weight:700;text-decoration:none;cursor:pointer;
  padding:.72rem 1.1rem;border:2px solid var(--i);background:var(--i);color:var(--p);
  display:inline-flex;align-items:center;gap:.5rem;
  transition:transform .15s cubic-bezier(.2,.9,.3,1.3);
}
#home .btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--a)}
#home .btn.alt{background:transparent;color:var(--i)}
#home .btn.acc{background:var(--a);border-color:var(--a);color:var(--ai)}
#home .inst{
  font-family:var(--fm);font-size:.8rem;border:2px solid var(--r);
  padding:.66rem .8rem;color:var(--s);white-space:nowrap;overflow-x:auto;max-width:100%;
}
#home .inst b{color:var(--at)}
#home .marq{
  border-top:2px solid var(--i);border-bottom:2px solid var(--i);
  background:var(--w);overflow:hidden;white-space:nowrap;
  padding:.85rem 0;margin-top:clamp(1.6rem,4vw,2.6rem);
  position:relative;
}
#home .marq-in{display:inline-flex;gap:2.6rem;animation:slide 42s linear infinite;will-change:transform}
#home .marq:hover .marq-in{animation-play-state:paused}
#home .marq-in span{font-family:var(--fm);font-size:.92rem;color:var(--i);font-weight:400}
#home .marq-in span b{color:var(--at);font-weight:700}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
#home .marq::before,#home .marq::after{
  content:"";position:absolute;top:0;bottom:0;width:clamp(28px,6vw,80px);z-index:2;pointer-events:none;
}
#home .marq::before{left:0;background:linear-gradient(90deg,var(--w),transparent)}
#home .marq::after{right:0;background:linear-gradient(270deg,var(--w),transparent)}
#home .four{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  border-left:1px solid var(--r);margin-top:clamp(2.4rem,6vw,4rem);
}
#home .four .col{padding:clamp(1.3rem,2.5vw,1.9rem) clamp(1.2rem,2.2vw,1.7rem);
  border-right:1px solid var(--r)}
#home .four h3{
  font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.015em;text-transform:uppercase;
  line-height:1;margin-bottom:.85rem;
}
#home .four h3 em{font-style:normal;color:var(--a)}
#home .four p{font-size:.86rem;line-height:1.75;color:var(--s)}
#home .four p code{font-family:var(--fm);color:var(--i);font-weight:700}
#home .band{padding:clamp(3rem,7vw,5.5rem) 0;border-top:2px solid var(--i)}
#home .band.soft{border-top:1px solid var(--r)}
#home .band.nb{border-top:0}
#home .band-head{display:grid;gap:.85rem;margin-bottom:clamp(1.8rem,4vw,2.8rem);max-width:62ch}
#home .h2{font-size:clamp(2rem,5.4vw,3.6rem);line-height:.94;letter-spacing:-.03em;text-transform:uppercase}
#home .h2 em{font-style:normal;color:var(--a)}
#home .lede{color:var(--s);line-height:1.8;font-size:.98rem}
#home .lede code,#home .band p code{font-family:var(--fm);color:var(--at);font-weight:700}
#home .dash{border:2px solid var(--i);background:var(--w);padding:.85rem}
#home .dash-bar{display:flex;align-items:center;gap:.4rem;padding:0 .2rem .7rem}
#home .dash-bar i{width:.5rem;height:.5rem;background:var(--r);display:block}
#home .dash-bar span{margin-left:auto;font-family:var(--fm);font-size:.6rem;color:var(--m);
  letter-spacing:.11em;text-transform:uppercase}
#home .cards{display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem}
#home .c{background:var(--p);border:1px solid var(--r);padding:.7rem .75rem;min-height:96px;
  position:relative;overflow:hidden;transition:border-color .3s ease}
#home .c[data-w="2"]{grid-column:span 2}
#home .c[data-w="3"]{grid-column:span 3}
#home .c[data-w="6"]{grid-column:span 6}
@media(max-width:720px){#home .c[data-w="2"],#home .c[data-w="3"]{grid-column:span 3}}
#home .c .tag{font-family:var(--fm);font-size:.56rem;color:var(--m);letter-spacing:.1em;
  text-transform:uppercase;display:block}
#home .skel{display:grid;gap:.42rem;margin-top:.55rem;transition:opacity .45s ease}
#home .skel i{display:block;height:.5rem;
  background:linear-gradient(90deg,var(--r) 25%,var(--w) 37%,var(--r) 63%);
  background-size:400% 100%;animation:shim 1.3s ease infinite}
@keyframes shim{0%{background-position:100% 50%}100%{background-position:0 50%}}
#home .real{position:absolute;inset:.7rem .75rem auto;opacity:0;pointer-events:none;transition:opacity .45s ease}
#home .c.done .skel{opacity:0}
#home .c.done .real{opacity:1}
#home .c.done{border-color:var(--a)}
#home .big{font-family:var(--fd);font-size:1.8rem;letter-spacing:-.02em;line-height:1;margin-top:.45rem}
#home .big small{font-family:var(--fm);font-size:.6rem;font-weight:700;color:var(--at);margin-left:.4rem}
#home .spark{display:flex;gap:2px;align-items:flex-end;height:34px;margin-top:.5rem}
#home .spark i{flex:1;background:var(--a);display:block;transform-origin:bottom;transform:scaleY(0);
  transition:transform .55s cubic-bezier(.2,.9,.3,1.2)}
#home .c.done .spark i{transform:scaleY(1)}
#home .mini{width:100%;border-collapse:collapse;margin-top:.4rem;font-size:.66rem}
#home .mini td{padding:.16rem .3rem;border-bottom:1px solid var(--r)}
#home .mini td:last-child{text-align:right;font-weight:700}
#home .dash-note{margin-top:.8rem;font-family:var(--fm);font-size:.66rem;color:var(--m);
  display:flex;gap:.5rem;align-items:center}
#home .dash-note b{color:var(--at)}
#home .srcs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
#home .src{font-family:var(--fm);font-size:.78rem;font-weight:700;cursor:pointer;
  padding:.4rem .66rem;border:2px solid var(--r);background:var(--p);color:var(--m)}
#home .src:hover{border-color:var(--a);color:var(--i)}
#home .src[aria-pressed="true"]{background:var(--a);border-color:var(--a);color:var(--ai)}
#home .payload{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
@media(min-width:920px){#home .payload{grid-template-columns:1fr 1fr}}
#home .pane{border:2px solid var(--i);background:var(--w);display:flex;flex-direction:column;overflow:hidden}
#home .pane-h{display:flex;gap:.5rem;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--r);
  font-family:var(--fm);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:var(--m)}
#home .pane-h b{color:var(--at)}
#home .code{padding:.95rem;font-family:var(--fm);font-size:.78rem;line-height:1.8;margin:0;
  white-space:pre-wrap;word-break:break-word;flex:1;min-height:250px;color:var(--s);overflow-x:auto}
#home .code .k{color:var(--at);font-weight:700}
#home .code .f{color:var(--i);font-weight:700}
#home .code .st{color:var(--m)}
#home .code .cm{color:var(--m);font-style:italic}
#home .caret{display:inline-block;width:.5em;height:1.05em;vertical-align:-.18em;background:var(--a);
  animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
#home .out{padding:1rem;flex:1;display:flex;align-items:center}
#home .outcard{background:var(--p);border:1px solid var(--r);border-left:4px solid var(--a);
  padding:1rem 1.1rem;width:100%;opacity:0;transform:translateX(12px);
  transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
#home .outcard.in{opacity:1;transform:none}
#home .outcard h4{font-family:var(--fm);font-size:.9rem;font-weight:700}
#home .outcard .n{font-family:var(--fd);font-size:2.4rem;color:var(--a);line-height:1.1;letter-spacing:-.02em}
#home .outcard .n.as-heading{font-family:var(--fm);font-weight:700;font-size:1.15rem;
  color:var(--i);letter-spacing:0;line-height:1.5}
#home .outcard p{font-size:.78rem;color:var(--s);line-height:1.6;margin-top:.3rem}
#home .chart{border:2px solid var(--i);background:var(--w);padding:clamp(1.1rem,3vw,1.9rem)}
#home .lane{margin-bottom:1.5rem}
#home .lane:last-of-type{margin-bottom:0}
#home .lane-h{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.5rem;flex-wrap:wrap;
  font-family:var(--fm);font-size:.78rem}
#home .lane-h b{font-weight:700;color:var(--i)}
#home .lane-h em{font-style:normal;color:var(--m);font-size:.72rem}
#home .lane-h .t{margin-left:auto;color:var(--m);font-size:.72rem}
#home .lane-h .t u{text-decoration:none;color:var(--at);font-weight:700}
#home .track{position:relative;height:2.4rem;background:var(--p);border:1px solid var(--r);overflow:hidden}
#home .seg{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 .55rem;
  font-family:var(--fm);font-size:.64rem;white-space:nowrap;
  transform:scaleX(0);transform-origin:left;transition:transform .85s cubic-bezier(.25,.8,.3,1)}
#home.lit .seg{transform:scaleX(1)}
#home .seg span{opacity:0;transition:opacity .3s ease .55s}
#home.lit .seg span{opacity:1}
#home .seg.q{background:color-mix(in srgb,var(--m) 30%,var(--w));color:var(--i)}
#home .seg.paint{background:var(--a);color:var(--ai)}
#home .seg.fetch{background:color-mix(in srgb,var(--a) 34%,var(--w));color:var(--i)}
#home .axis{display:flex;justify-content:space-between;margin-top:.55rem;padding-top:.4rem;
  border-top:1px solid var(--r);font-family:var(--fm);font-size:.62rem;color:var(--m)}
#home .verdict{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--r);
  display:flex;gap:1.6rem;flex-wrap:wrap;align-items:baseline}
#home .verdict .saved{font-family:var(--fd);font-size:clamp(2.4rem,5vw,3.4rem);color:var(--a);
  line-height:1;letter-spacing:-.03em}
#home .verdict p{color:var(--s);max-width:44ch;line-height:1.7;font-size:.86rem}
#home .apis{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:1.5rem}
#home .api{font-family:var(--fm);font-size:.74rem;padding:.38rem .62rem;border:1px solid var(--r);
  background:var(--w);color:var(--at);font-weight:700}
#home .sheet{border:2px solid var(--i);background:var(--w);padding:clamp(1.1rem,3vw,2rem) clamp(1.1rem,3vw,2rem) 2.4rem;
  position:relative;box-shadow:6px 6px 0 var(--r)}
#home .sheet::after{content:"SCALE 1:1 · NOVA DASHBOARD GRID";position:absolute;right:.9rem;bottom:.6rem;
  font-family:var(--fm);font-size:.56rem;letter-spacing:.14em;color:var(--m)}
#home .ruler{display:grid;grid-template-columns:5.4rem 1fr;gap:.9rem;align-items:end;margin-bottom:.7rem}
#home .ruler .ticks{display:grid;grid-template-columns:repeat(12,1fr);border-left:1px solid var(--r)}
#home .ruler .ticks i{border-right:1px solid var(--r);height:1.1rem;display:block;position:relative}
#home .ruler .ticks i::after{content:attr(data-n);position:absolute;bottom:.15rem;left:50%;transform:translateX(-50%);
  font-family:var(--fm);font-size:.5rem;color:var(--m)}
#home .specs{display:grid;gap:1.5rem}
#home .spec{display:grid;grid-template-columns:5.4rem 1fr;gap:.9rem;align-items:center}
#home .spec .lbl{font-family:var(--fd);font-size:1.25rem;color:var(--i);text-align:right;line-height:1;
  text-transform:uppercase}
#home .spec .lbl small{display:block;font-family:var(--fm);font-size:.58rem;color:var(--m);
  letter-spacing:.1em;margin-top:.22rem}
#home .gtrack{position:relative;padding-bottom:1.4rem;
  background:repeating-linear-gradient(90deg,transparent 0 calc(100%/12 - 1px),var(--r) calc(100%/12 - 1px) calc(100%/12))}
#home .cardmock{width:0;overflow:hidden;border:2px solid var(--i);background:var(--p);
  transition:width .9s cubic-bezier(.2,.8,.2,1)}
#home .cardmock .cbar{background:var(--a);color:var(--ai);padding:.3rem .5rem}
#home .cardmock .cbar span{font-family:var(--fm);font-size:.56rem;letter-spacing:.09em;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
#home .cardmock .cbody{padding:.55rem .6rem;display:grid;gap:.34rem;min-height:3.1rem}
#home .cardmock .cbody i{display:block;height:.42rem;background:var(--r)}
#home .cardmock .cbody .meta{font-family:var(--fm);font-size:.5rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#home .gdim{position:absolute;left:0;bottom:.4rem;height:1px;background:var(--i);width:0;
  transition:width .9s cubic-bezier(.2,.8,.2,1)}
#home .gdim::before,#home .gdim::after{content:"";position:absolute;top:-3px;width:1px;height:7px;background:var(--i)}
#home .gdim::before{left:0}
#home .gdim::after{right:0}
#home .gdimtxt{position:absolute;bottom:.6rem;font-family:var(--fm);font-size:.58rem;color:var(--at);
  background:var(--w);padding:0 .3rem;opacity:0;transition:opacity .35s ease .5s;white-space:nowrap}
#home.lit .gdimtxt{opacity:1}
#home .ctrls{display:grid;gap:.8rem}
#home .grp{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
#home .gl{font-family:var(--fm);font-size:.62rem;font-weight:700;letter-spacing:.14em;color:var(--m);
  width:4.6rem;flex:none}
#home .opt{font-family:var(--fm);font-size:.7rem;font-weight:700;padding:.3rem .58rem;cursor:pointer;
  border:2px solid var(--r);background:var(--p);color:var(--s);
  transition:border-color .16s,color .16s,background .16s,transform .16s}
#home .opt:hover{transform:translateY(-1px);border-color:var(--i);color:var(--i)}
#home .opt[aria-pressed="true"]{background:var(--a);border-color:var(--a);color:var(--ai)}
#home .opt[aria-pressed="true"].sw-default{background:#44443f;border-color:#44443f}
#home .opt[aria-pressed="true"].sw-info{background:#12508f;border-color:#12508f}
#home .opt[aria-pressed="true"].sw-success{background:#1a5c31;border-color:#1a5c31}
#home .opt[aria-pressed="true"].sw-warning{background:#7d5200;border-color:#7d5200}
#home .opt[aria-pressed="true"].sw-danger{background:#a5211a;border-color:#a5211a}
#home .specimen{margin-top:1.3rem;display:grid;gap:.9rem;grid-template-columns:minmax(0,1fr)}
@media(min-width:780px){#home .specimen{grid-template-columns:minmax(0,330px) minmax(0,1fr);align-items:start}}
#home .live{border:2px solid var(--live,#12508f);background:var(--p);transition:border-color .3s ease}
#home .livebar{background:var(--live,#12508f);color:#fff;padding:.4rem .6rem;transition:background .3s ease}
#home .livebar span{font-family:var(--fm);font-size:.6rem;letter-spacing:.09em;text-transform:uppercase}
#home .livebody{padding:.75rem .8rem;font-family:var(--fm);font-size:.78rem;color:var(--i);line-height:1.6;
  transition:max-height .35s ease}
#home .livebody.scrolls{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--live,#12508f) transparent}
#home .livebody.scrolls::-webkit-scrollbar{width:5px}
#home .livebody.scrolls::-webkit-scrollbar-thumb{background:var(--live,#12508f)}
#home .livebody h5{font-family:var(--fd);font-size:2rem;margin:0 0 .2rem;color:var(--i);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;line-height:1}
#home .livebody table{width:100%;border-collapse:collapse;margin-top:.5rem;font-variant-numeric:tabular-nums;
  font-size:.72rem}
#home .livebody td{padding:.18rem .25rem;border-bottom:1px solid var(--r)}
#home .livebody td:last-child{text-align:right;font-weight:700}
#home .livehint{font-family:var(--fm);font-size:.58rem;color:var(--m);margin-top:.45rem;letter-spacing:.05em}
#home .livebar{display:flex;align-items:center;gap:.45rem}
#home .liveicon{width:.85rem;height:.85rem;flex:none;display:none}
#home .live.has-icon .liveicon{display:block}
#home .livebar .chev{margin-left:auto;font-size:.7rem;display:none;transition:transform .25s ease}
#home .live.has-collapsible .livebar{cursor:pointer}
#home .live.has-collapsible .livebar .chev{display:block}
#home .live.collapsed .livebar .chev{transform:rotate(-90deg)}
#home .livebar .pulse{width:.4rem;height:.4rem;border-radius:50%;background:#fff;display:none;
  animation:pulse 1.6s ease-in-out infinite}
#home .live.has-refresh .livebar .pulse{display:block}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}
#home .livehead,#home .livefoot{display:none;font-family:var(--fm);font-size:.6rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--m);padding:.4rem .6rem;background:var(--w)}
#home .livehead{border-bottom:1px solid var(--r);justify-content:space-between}
#home .livefoot{border-top:1px solid var(--r)}
#home .live.has-header .livehead{display:flex}
#home .live.has-footer .livefoot{display:block}
#home .live.collapsed .livebody,#home .live.collapsed .livehead,#home .live.collapsed .livefoot{display:none}
#home .live.bare{border:0;background:none;box-shadow:none}
#home .live.bare .livebar{background:none;color:var(--i);padding-left:0;padding-right:0}
#home .live.bare .livebody{padding-left:0;padding-right:0}
#home .live.bare .livehead,#home .live.bare .livefoot{background:none;padding-left:0;padding-right:0}
#home .live.has-styles #livetable tr:nth-child(odd) td{background:color-mix(in srgb,var(--live,#44443f) 12%,transparent)}
#home .live.has-styles #livetable td:last-child{color:var(--live,#44443f);font-weight:700}
#home .skel{display:none;gap:.45rem;padding:.2rem 0}
#home .skel i{display:block;height:.55rem;background:linear-gradient(90deg,var(--r) 25%,var(--w) 37%,var(--r) 63%);
  background-size:400% 100%;animation:shim 1.3s ease infinite}
@keyframes shim{0%{background-position:100% 50%}100%{background-position:0 50%}}
#home .live.loading .skel{display:grid}
#home .live.loading .realbody{display:none}
#home .live.loading .ph{display:block}
#home .ph{display:none;font-family:var(--fm);font-size:.72rem;color:var(--m);padding:.3rem 0}
#home .usr{display:none;margin-top:.7rem;padding-top:.6rem;border-top:1px dashed var(--r)}
#home .live.has-sanitize .usr,#home .live.show-usr .usr{display:block}
#home .usrlab{display:block;font-family:var(--fm);font-size:.55rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--m);margin-bottom:.3rem}
#home .usr blockquote{margin:0;font-size:.78rem;color:var(--s);padding-left:.6rem;
  border-left:2px solid var(--r)}
#home .usr.unsafe blockquote{border-left-color:var(--a);color:var(--at)}
#home .livecode{font-family:var(--fm);font-size:.72rem;line-height:1.95;background:#141414;color:#e8e6e0;
  border:1px solid var(--r);padding:.9rem;white-space:pre-wrap;word-break:break-word;margin:0}
#home .livecode b{color:#ffb84d;font-weight:400}
#home .livecode u{text-decoration:none;color:#7fd1a0}
#home .livecode em{font-style:normal;color:#ff6f64}
@media(max-width:620px){#home .spec,#home .ruler{grid-template-columns:3.6rem 1fr;gap:.6rem}}
#home .vs{display:grid;gap:0;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--r)}
@media(min-width:860px){#home .vs{grid-template-columns:1fr 1fr}}
#home .vs .side{padding:clamp(1.4rem,3vw,2rem);border-bottom:1px solid var(--r)}
@media(min-width:860px){#home .vs .side:first-child{border-right:1px solid var(--r)}}
#home .vs h3{font-size:clamp(1.4rem,2.4vw,1.9rem);text-transform:uppercase;letter-spacing:-.015em;
  line-height:1;margin-bottom:.9rem}
#home .vs h3 em{font-style:normal;color:var(--a)}
#home .vs ul{margin:0;padding-left:1.1rem;display:grid;gap:.5rem}
#home .vs li{font-size:.88rem;line-height:1.7;color:var(--s)}
#home .vs li b{color:var(--i)}
#home .vs code{font-family:var(--fm);color:var(--at);font-weight:700}
#home .reqs{display:flex;flex-wrap:wrap;border:2px solid var(--i);margin-bottom:1.6rem}
#home .reqs div{flex:1 1 160px;padding:.9rem 1.05rem;border-right:1px solid var(--r);background:var(--w)}
#home .reqs div:last-child{border-right:0}
#home .reqs b{display:block;font-family:var(--fm);font-size:.6rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--m);margin-bottom:.25rem}
#home .reqs span{font-family:var(--fd);font-size:1.3rem;letter-spacing:-.01em}
#home .steps{display:grid;gap:.85rem}
#home .step{display:grid;grid-template-columns:auto 1fr;gap:.95rem;align-items:start}
#home .step i{font-family:var(--fd);font-style:normal;font-size:.9rem;background:var(--a);color:var(--ai);
  width:1.7rem;height:1.7rem;display:grid;place-items:center;margin-top:.1rem}
#home .cmdline{font-family:var(--fm);font-size:.82rem;border:1px solid var(--r);background:var(--w);
  padding:.6rem .75rem;overflow-x:auto;white-space:nowrap}
#home .step small{display:block;color:var(--m);font-size:.78rem;margin-top:.35rem}
#home .sponsor{border-top:2px solid var(--i);padding:clamp(3rem,7vw,5rem) 0;background:var(--w)}
#home .sponsor .rule{height:3px;width:52px;background:var(--a);margin-bottom:.9rem}
#home .sponsor h2{font-size:clamp(2rem,5.4vw,3.6rem);line-height:.94;letter-spacing:-.03em;
  text-transform:uppercase;margin-bottom:1.1rem}
#home .spon-top{display:grid;gap:clamp(1.6rem,4vw,3rem);grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){#home .spon-top{grid-template-columns:1.25fr .75fr;align-items:start}}
#home .spon-top p{color:var(--s);line-height:1.8;font-size:.95rem;max-width:56ch}
#home .spon-top p + p{margin-top:.9rem}
#home .card-spon{border:2px solid var(--i);background:var(--p);padding:1.3rem}
#home .card-spon .price{font-family:var(--fd);font-size:3.4rem;line-height:1;letter-spacing:-.03em}
#home .card-spon .terms{font-family:var(--fm);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--m);margin:.3rem 0 1rem}
#home .card-spon .btn{width:100%;justify-content:center}
#home .card-spon .tiers{font-size:.78rem;color:var(--m);line-height:1.6;margin-top:.8rem}
#home .ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));
  border-left:1px solid var(--r);margin-top:clamp(2rem,4vw,3rem)}
#home .way{padding:1.2rem 1.25rem;border-right:1px solid var(--r);border-top:1px solid var(--r);position:relative}
#home .way .ic{font-size:1.2rem;line-height:1}
#home .way h4{font-family:var(--fm);font-weight:700;font-size:.9rem;margin:.55rem 0 .4rem}
#home .way p{font-size:.8rem;color:var(--s);line-height:1.65}
#home .way .free{position:absolute;top:1.2rem;right:1.25rem;font-family:var(--fm);font-size:.58rem;
  font-weight:700;letter-spacing:.13em;background:var(--a);color:var(--ai);padding:.1rem .34rem}
#home .why{border-left:4px solid var(--a);background:var(--p);padding:1.1rem 1.25rem;
  margin-top:clamp(1.6rem,3vw,2.2rem);font-size:.88rem;line-height:1.75;color:var(--s)}
#home .why b{color:var(--i)}
#home footer{border-top:2px solid var(--i);padding:clamp(2.4rem,5vw,3.4rem) 0 2.4rem}
#home .fcols{display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
#home .fcols h4{font-family:var(--fm);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--m);margin-bottom:.7rem}
#home .fcols a{display:block;color:var(--s);text-decoration:none;font-size:.85rem;padding:.18rem 0}
#home .fcols a:hover{color:var(--at)}
#home .fbase{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--r);display:flex;gap:1rem;
  flex-wrap:wrap;justify-content:space-between;font-size:.78rem;color:var(--m)}

/* ═════════ DOCS (#docs) ═════════ */
@media (prefers-color-scheme:dark){}
#docs a{color:var(--at)}
#docs h1,#docs h2,#docs h3,#docs h4{margin:0;font-family:var(--fd);font-weight:400;letter-spacing:-.025em;text-wrap:balance}
#docs p{margin:0}
#docs code{font-family:var(--fm)}
@media(max-width:1000px){}
#docs .docs{display:grid;max-width:1600px;margin:0 auto;
  grid-template-columns:minmax(0,1fr);gap:0}
@media(min-width:1000px){#docs .docs{grid-template-columns:250px minmax(0,1fr)}}
@media(min-width:1280px){#docs .docs{grid-template-columns:250px minmax(0,1fr) 220px}}
#docs .sidenav{border-right:1px solid var(--r);padding:2rem 1.2rem 3rem;
  position:sticky;top:54px;align-self:start;max-height:calc(100vh - 54px);overflow-y:auto}
@media(max-width:999px){#docs .sidenav{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--r);display:none}
#docs .sidenav.open{display:block}}
#docs .navgroup{margin-bottom:1.5rem}
#docs .navgroup h4{font-family:var(--fm);font-weight:700;font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--m);margin-bottom:.55rem}
#docs .sidenav a{display:block;font-family:var(--fb);color:var(--s);text-decoration:none;font-size:.85rem;
  padding:.28rem 0 .28rem .7rem;border-left:2px solid transparent}
#docs .sidenav a:hover{color:var(--i)}
#docs .sidenav a[aria-current="page"]{color:var(--at);border-left-color:var(--a);font-weight:700}
#docs .content{padding:2.4rem clamp(1rem,3vw,2.6rem) 5rem;min-width:0}
#docs .content h1{font-size:2rem;letter-spacing:-.02em;text-transform:uppercase;line-height:1}
#docs .content h1 em{font-style:normal;color:var(--a)}
#docs .content .sub{font-family:var(--fb);color:var(--m);font-size:.95rem;margin-top:.6rem}
#docs .content h2{font-size:1.35rem;letter-spacing:-.01em;text-transform:uppercase;
  margin:2.6rem 0 .9rem;padding-top:.6rem;border-top:2px solid var(--i)}
#docs .content h2:first-of-type{margin-top:2rem}
#docs .content h3{font-family:var(--fb);font-weight:700;font-size:1rem;letter-spacing:0;margin:1.6rem 0 .5rem}
#docs .content p{margin:.8rem 0;color:var(--s);max-width:70ch}
#docs .content p strong,#docs .content li strong{color:var(--i)}
#docs .content ul{margin:.8rem 0;padding-left:1.1rem;max-width:70ch}
#docs .content li{color:var(--s);margin:.35rem 0}
#docs .content p code,#docs .content li code,#docs .content td code{color:var(--at);font-weight:700;font-size:.9em}
#docs .lead{color:var(--i) !important;font-size:1rem}
#docs .rail{padding:2.4rem 1.2rem 3rem;position:sticky;top:54px;align-self:start;
  max-height:calc(100vh - 54px);overflow-y:auto;border-left:1px solid var(--r)}
@media(max-width:1279px){#docs .rail{display:none}}
#docs .rail h4{font-family:var(--fm);font-weight:700;font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--m);margin-bottom:.7rem}
#docs .rail a{display:flex;gap:.5rem;font-family:var(--fb);color:var(--m);text-decoration:none;font-size:.78rem;padding:.24rem 0}
#docs .rail a i{font-style:normal;color:var(--r);font-weight:700}
#docs .rail a:hover{color:var(--i)}
#docs .rail a.on{color:var(--at);font-weight:700}
#docs .rail a.on i{color:var(--a)}
#docs pre.code{background:var(--code);color:var(--codeink);border:1px solid var(--r);
  font-family:var(--fm);padding:.9rem 1rem;overflow-x:auto;font-size:.82rem;line-height:1.8;margin:1rem 0;max-width:100%}
#docs pre.code .k{color:#ff6f64;font-weight:700}
#docs pre.code .f{color:#ffffff;font-weight:700}
#docs pre.code .st{color:#ffb84d}
#docs pre.code .cm{color:#8b8a84;font-style:italic}
#docs table.t{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.86rem;display:block;overflow-x:auto}
#docs table.t th{font-family:var(--fm);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--m);text-align:left;padding:.5rem .6rem;border-bottom:2px solid var(--i);white-space:nowrap}
#docs table.t td{font-family:var(--fb);padding:.5rem .6rem;border-bottom:1px solid var(--r);color:var(--s);vertical-align:top}
#docs table.t td:first-child{white-space:nowrap;color:var(--i)}
#docs .note{border-left:4px solid var(--a);background:var(--w);padding:.9rem 1.1rem;margin:1.2rem 0;
  font-family:var(--fb);font-size:.92rem;color:var(--s);max-width:70ch}
#docs .note b{color:var(--i)}
#docs .note.warn{border-left-color:#7d5200}
#docs .pill{display:inline-block;font-family:var(--fm);font-size:.58rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;background:var(--a);color:var(--ai);padding:.1rem .36rem;vertical-align:.1em}
#docs .pill.grey{background:var(--m)}
#docs .page{display:none}
#docs .page.on{display:block;animation:fade .35s ease both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#docs .pager{display:flex;gap:1rem;justify-content:space-between;margin-top:3rem;padding-top:1.2rem;
  border-top:2px solid var(--i);flex-wrap:wrap}
#docs .pager a{font-family:var(--fb);font-size:.85rem;font-weight:700;text-decoration:none;color:var(--at)}
#docs .pager a small{display:block;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--m);font-weight:400}
@media (prefers-reduced-motion:reduce){}