/* ============================================================
   HUGIN — Forge theme (migrated from the Odin landing template)
   Externalized from inline <style> to satisfy hugin-web CSP
   (style-src 'self'). Palette = Forge ember, kept verbatim.
   Loaded ONLY on / and /teams — does not touch the Wave style.css.
   ============================================================ */
/* ───────────────────────────────────────────────────────────
   ODIN — forged, not designed.
   0 frameworks · 0 trackers · fonts subset + embedded (~47 KB)
   ─────────────────────────────────────────────────────────── */

@font-face{
  font-family:"Martian Disp";
  src:url(data:font/woff2;base64,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) format("woff2");
  font-weight:800;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Ubuntu Mono";
  src:url(data:font/woff2;base64,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) format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Ubuntu Mono";
  src:url(data:font/woff2;base64,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) format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}
/* metric-matched fallbacks → no layout jump when webfonts land */
@font-face{
  font-family:"Martian FB";src:local("Courier New"),local("Courier");
  size-adjust:125%;ascent-override:80%;descent-override:22%;line-gap-override:0%;
}
@font-face{
  font-family:"Ubuntu FB";src:local("Courier New"),local("Courier");
  size-adjust:83.4%;ascent-override:83%;descent-override:17%;line-gap-override:0%;
}

:root{
  --bg:#1b1410;          --bg:oklch(16.5% .014 55);
  --bg2:#15100c;         --bg2:oklch(13.5% .012 55);
  --card:#231b14;        --card:oklch(19.5% .015 55);
  --line:#3a322a;        --line:oklch(30% .014 55);
  --ink:#f1ebdd;         --ink:oklch(94% .012 85);
  --mut:#b3a999;         --mut:oklch(73% .016 80);
  --dim:#8d8478;         --dim:oklch(61% .014 70);
  --ember:#ff7a2f;       --ember:oklch(72% .19 45);
  --hot:#ffa24f;         --hot:oklch(80% .16 60);
  --green:#5fe09a;       --green:oklch(82% .16 150);
  --f-disp:"Martian Disp","Martian FB",ui-monospace,"Cascadia Mono",monospace;
  --f-mono:"Ubuntu Mono","Ubuntu FB",ui-monospace,"SF Mono",monospace;
  --f-body:"Ubuntu Mono","Ubuntu FB",ui-monospace,"SF Mono",monospace;
  /* Framer-Motion-style spring (underdamped, ~8% overshoot, peaks at 62.5%) —
     a real spring curve, not a cubic-bezier. Generated from a damped harmonic
     oscillator (ζ=0.62) so the entrance overshoots and settles like FM's
     default spring. Used by the features spine row reveal. */
  --spring:linear(0, 0.0306 4.2%, 0.1092 8.3%, 0.2177 12.5%, 0.3417 16.7%, 0.4696 20.8%, 0.5929 25%, 0.7057 29.2%, 0.8044 33.3%, 0.8871 37.5%, 0.9534 41.7%, 1.0041 45.8%, 1.0405 50%, 1.0644 54.2%, 1.078 58.3%, 1.0833 62.5%, 1.0822 66.7%, 1.0767 70.8%, 1.0683 75%, 1.0582 79.2%, 1.0475 83.3%, 1.037 87.5%, 1.0273 91.7%, 1.0187 95.8%, 1);

  /* ── scale tokens — exact current values; responsive overrides go in @media ── */
  /* layout */
  --nav-h:47px;
  --wrap-max:1120px;
  --wrap-pad:24px;
  --section-pad-y:148px;
  --scroll-offset:64px;
  /* radii */
  --r-sm:4px;
  --r:6px;
  --r-card:10px;
  --r-lg:12px;
  --r-pill:999px;
  /* type scale */
  --fs-h1:clamp(2.05rem,8.1vw - 4px,5.5rem);
  --fs-h2:clamp(1.9rem,4.4vw,3.1rem);
  --fs-lead:17px;
  --fs-base:16px;
  --fs-mono:14px;
  --fs-sm:13px;
  --fs-xs:12px;
  /* motion */
  --dur:.18s;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font:var(--fs-base)/1.6 var(--f-body);
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
::selection{background:var(--ember);color:#190c04}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:2px}
a{color:inherit;text-decoration:none}
code,pre,kbd{font-family:var(--f-mono)}
.num,[data-n]{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.wrap{max-width:var(--wrap-max);margin:0 auto;padding:0 var(--wrap-pad)}
section{padding:var(--section-pad-y) 0;position:relative;overflow:clip}
section[id],div[id="specs"]{scroll-margin-top:var(--scroll-offset)}
/* Sub-page hero (#top, NOT the landing's .hero) stacks its bottom padding with
   the next section's top padding into a dead empty gap. Collapse to single
   spacing by dropping the following section's top padding. */
section#top:not(.hero)+section{padding-top:0}
.wrap{position:relative;z-index:1}
/* huge parallaxing section index, sunk behind the grid */
.ghost{
  position:absolute;right:-1vw;top:50%;z-index:0;pointer-events:none;user-select:none;
  font:800 clamp(150px,30vw,420px)/.8 var(--f-disp);color:transparent;
  -webkit-text-stroke:1.5px oklch(72% .19 45 / .11);letter-spacing:-.04em;
  transform:translateY(-50%);will-change:transform;
}
.sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
/* forged grain — static film noise over everything, pointer-transparent */
body::after{
  content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.05;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── status-bar nav ───────────────────────────────────────── */
.nav{
  position:fixed;inset:0 0 auto;z-index:60;height:var(--nav-h);
  background:color-mix(in oklab,var(--bg) 88%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
  font:13px/1 var(--f-mono);
}
.nav .wrap{display:flex;align-items:stretch;height:46px;gap:4px}
.brand{display:flex;align-items:center;gap:9px;margin-right:8px}
/* HUGIN wordmark — Martian Disp; white on the dark site, ember on light surfaces */
.brand b{font:800 14px var(--f-disp);letter-spacing:.06em;color:#fff}
footer .brand b{color:#fff}
@media print{.brand b,footer .brand b{color:#b34700}}
.brand .mark{width:13px;height:13px;background:var(--ember);position:relative;flex:none}
.brand .mark::after{content:"";position:absolute;inset:4px;background:var(--bg)}
.brand .v{color:var(--dim)}
.nav-links{display:flex;align-items:stretch;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-links a{
  position:relative;
  display:flex;align-items:center;padding:0 13px;color:var(--mut);
  border-bottom:1px solid transparent;white-space:nowrap;min-height:44px;
  transition:color .18s;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.on{color:var(--ember);border-bottom-color:var(--ember)}
/* thick vertical divider between adjacent nav links — chunks the labels for readability */
.nav-links a + a::before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:2px;height:20px;background:var(--line);border-radius:1px}
.nav-stat{display:flex;align-items:center;gap:14px;color:var(--dim);padding-left:14px;white-space:nowrap}
.nav-stat .pct{color:var(--mut);font-variant-numeric:tabular-nums;min-width:4.5ch;text-align:right}
.nav .pbar{
  position:absolute;left:0;bottom:-1px;height:1px;width:100%;
  background:var(--ember);transform:scaleX(0);transform-origin:0 50%;
  box-shadow:0 0 8px var(--ember);
}

/* ── hero ─────────────────────────────────────────────────── */
.hero{min-height:calc(100svh - var(--nav-h));margin-top:var(--nav-h);display:grid;align-items:center;padding:72px 0 64px;overflow:hidden}
#dots{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:42px 56px;align-items:start}
.hero-head{grid-column:1/-1}
.crumb{font:var(--fs-sm) var(--f-mono);color:var(--dim);margin-bottom:22px;display:flex;gap:10px;align-items:center}
.crumb em{font-style:normal;color:var(--ember)}
.crumb .ln{display:inline-block;width:34px;border-top:1px solid var(--line)}
h1{
  font:800 var(--fs-h1)/0.99 var(--f-disp);
  letter-spacing:-.015em;word-spacing:-.22em;text-transform:uppercase;color:var(--ink);
  text-wrap:balance;
}
h1 .em{color:var(--ember)}
@supports (-webkit-background-clip:text){
  h1 .em{
    background:linear-gradient(100deg,var(--ember) 0%,var(--hot) 35%,#ffd9a8 50%,var(--hot) 65%,var(--ember) 100%) 0 0/220% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:molten 6.5s linear infinite;
  }
}
@keyframes molten{to{background-position:220% 0}}
/* The landing hero title is now a short 2-line statement — bump it past the
   global h1 clamp (landing only) so the few words fill the hero instead of
   floating small. */
.hero h1{font-size:clamp(2.2rem,5.6vw,5rem)}
.sub{margin-top:0;max-width:54ch;color:var(--mut);font-size:var(--fs-lead)}
.sub code{font-size:15px;color:var(--ink);background:var(--card);border:1px solid var(--line);padding:1px 7px;border-radius:var(--r-sm)}
.ctas{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* landing "Drive it from your AI" section — the full skill in a scrollable card */
.skill-card{
  max-height:380px;overflow:auto;margin:26px 0 18px;
  background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-card);
  padding:18px 22px;color:var(--mut);
  font:13.5px/1.62 var(--f-mono);white-space:pre-wrap;word-break:break-word;
}
.skill-card::-webkit-scrollbar{width:10px}
.skill-card::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--r-pill)}
.skill-actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.skill-url{font:var(--fs-sm) var(--f-mono);color:var(--dim)}
.skill-url code{font-size:13px;color:var(--ember)}
.btn{
  position:relative;overflow:hidden;isolation:isolate;
  font:700 15px var(--f-mono);letter-spacing:.02em;
  background:var(--ember);color:#190c04;border:1px solid transparent;border-radius:var(--r);
  padding:14px 24px;min-height:48px;cursor:pointer;display:inline-flex;align-items:center;gap:9px;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  will-change:transform;
}
/* Traveling fascicule: a narrow, leaning light beam clipped to the button that
   sweeps across once on hover. Translucent + thin so it glints over the label
   as it passes rather than masking it — a beam crossing the surface, not a
   wash. Warm-white on the solid fill; ember on the transparent outline. */
.btn::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(105deg,transparent 38%,rgba(255,238,214,.6) 49%,rgba(255,255,255,.85) 50%,rgba(255,238,214,.6) 51%,transparent 62%);
  transform:translateX(-135%) skewX(-8deg);
  transition:transform .62s cubic-bezier(.45,0,.2,1);
}
.btn:hover::before{transform:translateX(135%) skewX(-8deg)}
.btn:hover{box-shadow:0 0 28px oklch(72% .19 45 / .42);transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.99)}
.btn svg{width:16px;height:16px;flex:none}
.btn.outline{background:transparent;border-color:var(--line);color:var(--ink)}
.btn.outline::before{background:linear-gradient(105deg,transparent 38%,oklch(80% .16 60 / .35) 49%,oklch(85% .14 70 / .6) 50%,oklch(80% .16 60 / .35) 51%,transparent 62%)}
.btn.outline:hover{border-color:var(--ember);color:var(--ember);box-shadow:0 0 22px oklch(72% .19 45 / .16)}
.install{
  margin-top:18px;display:inline-flex;align-items:center;gap:14px;max-width:100%;
  border:1px solid var(--line);background:var(--bg2);border-radius:var(--r);padding:11px 14px;
  font:var(--fs-mono) var(--f-mono);
}
.install .ps1{color:var(--ember);user-select:none}
.install code{color:var(--ink);white-space:nowrap;overflow-x:auto;scrollbar-width:none;display:block}
.install code::-webkit-scrollbar{display:none}
/* .cbtn is the SINGLE source for every copy button on the site (text or icon).
   Text by default ("copy", "copy config", …); add .icon for a compact square
   icon-only button (e.g. checkout's generated account number). Same border,
   radius, idle/hover colour and .ok success state across both — change it here
   and every copy button changes together. */
.cbtn{
  font:700 12px var(--f-mono);color:var(--mut);background:transparent;
  border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-width:8.5ch;min-height:32px;transition:color .18s,border-color .18s;flex:none;
}
.cbtn:hover{color:var(--ember);border-color:var(--ember)}
.cbtn:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.cbtn.ok{color:var(--green);border-color:color-mix(in oklab,var(--green) 50%,var(--line))}
.cbtn svg{width:15px;height:15px;display:block}
.cbtn.icon{min-width:0;width:32px;height:32px;padding:0}

/* ── terminal ─────────────────────────────────────────────── */
.term{
  background:var(--bg2);border:1px solid var(--line);border-radius:9px;
  box-shadow:0 32px 80px -36px rgba(0,0,0,.85);
  font-size:13.5px;min-width:0;
}
.term-bar{
  display:flex;align-items:center;gap:7px;padding:11px 14px;
  border-bottom:1px solid var(--line);font:var(--fs-xs) var(--f-mono);color:var(--dim);
}
.term-bar i{width:9px;height:9px;background:var(--line);flex:none}
.term-bar i:first-child{background:var(--ember)}
.term-bar span{margin-left:auto;letter-spacing:.04em}
.term-body{
  font-family:var(--f-mono);line-height:1.62;padding:16px 18px;
  min-height:336px;white-space:pre-wrap;word-break:break-word;
  overflow-x:auto;
}
.t-ps{color:var(--ember)}
.t-cmd{color:var(--ink)}
.t-out{color:var(--dim)}
.t-ok{color:var(--green)}
.t-acct{color:var(--green);font-weight:700;letter-spacing:.05em}
.t-cur{
  display:inline-block;width:.6em;height:1.1em;background:var(--green);
  vertical-align:text-bottom;animation:blink 1.06s steps(1,end) infinite;
}
@keyframes blink{50%{opacity:0}}

/* ── spec ticker ──────────────────────────────────────────── */
.tick{border-block:1px solid var(--line);overflow:hidden;background:var(--bg2);padding:0}
.tick-row{display:flex;width:max-content;animation:tickmove 36s linear infinite}
.tick:hover .tick-row,.tick.hold .tick-row{animation-play-state:paused}
.tick-item{
  display:flex;align-items:center;gap:9px;padding:15px 26px;white-space:nowrap;
  font:var(--fs-mono) var(--f-mono);color:var(--dim);
}
.tick-item b{color:var(--ink);font-weight:400;font-variant-numeric:tabular-nums}
.tick-item::after{content:"·";color:var(--ember);margin-left:26px}
@keyframes tickmove{to{transform:translateX(-50%)}}

/* ── section headers ──────────────────────────────────────── */
.sh{display:flex;align-items:baseline;gap:18px;margin-bottom:58px;font-family:var(--f-mono)}
.sh .no{font-size:14px;color:var(--ember)}
.sh h1,.sh h2{font:800 var(--fs-h2)/1.04 var(--f-disp);text-transform:uppercase;letter-spacing:-.015em;margin:0}
.sh .ln{flex:1;border-top:1px solid var(--line);transform:translateY(-4px)}
.sh .meta{font-size:12px;color:var(--dim);white-space:nowrap}

/* download — MCP + verify sub-sections share one block. Tighten the rhythm so
   each header sits with its content, give the content even breathing room, and
   keep a clear gap before the second sub-section header (which otherwise jams
   against the block above it). The JSON gets the same boxed treatment as the
   verify command instead of floating as bare text. */
.dl-config .sh{margin-bottom:22px}
.dl-config .sub{margin:0 0 14px}
.dl-config .install{margin:0 0 14px}
.dl-config pre.code{
  margin:0 0 16px;background:var(--bg2);border:1px solid var(--line);
  border-radius:var(--r);padding:14px 16px;color:var(--ink);
}
.dl-config .sub + .sh{margin-top:54px}

/* ── bento ────────────────────────────────────────────────── */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}

/* "Every tool, one binary" — the tools linked onto a glowing ember spine (the
   binary): a numbered node per tool, oversized display names, each row revealing
   1-by-1 on scroll and shimmering the name + node on hover. Not a card in sight. */
.modspine{position:relative;list-style:none;margin:22px 0 0;padding:0}
.modspine::before{content:"";position:absolute;left:20px;top:34px;bottom:34px;width:2px;border-radius:2px;
  background:linear-gradient(180deg,transparent,var(--ember) 7%,var(--hot) 50%,var(--ember) 93%,transparent);opacity:.5}
.modspine li{position:relative}
.modrow{display:flex;gap:26px;align-items:flex-start;text-decoration:none;
  padding:26px 18px 26px 0;border-bottom:1px solid var(--line);transition:transform .22s ease,background .25s ease}
.modspine li:last-child .modrow{border-bottom:none}
.modnum{position:relative;z-index:1;flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  font:700 13px var(--f-mono);color:var(--dim);background:var(--bg2);border:1.5px solid var(--line);
  margin-top:3px;transition:color .2s,border-color .2s,box-shadow .3s}
.modbody{min-width:0}
.modrow h3{margin:0 0 8px;font:800 clamp(23px,3.2vw,37px)/1.03 var(--f-disp);letter-spacing:-.022em;color:var(--ink);
  display:flex;align-items:baseline;flex-wrap:wrap;gap:0 12px;transition:color .2s}
.modrow .hw-pro-dot{margin-left:0;align-self:center}
.modrow .cap{margin:0;max-width:60ch;color:var(--mut);font-size:var(--fs-lead);line-height:1.5}
.modrow:hover{transform:translateX(7px);background:linear-gradient(90deg,color-mix(in srgb,var(--ember) 9%,transparent),transparent 52%)}
.modrow:hover .modnum{color:var(--ember);border-color:var(--ember);box-shadow:0 0 18px color-mix(in srgb,var(--ember) 60%,transparent)}
.modrow:hover h3{
  background:linear-gradient(100deg,var(--ember),var(--hot),#ffd9a8,var(--hot),var(--ember)) 0 0/220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:molten 3.5s linear infinite}
@media (max-width:560px){.modrow{gap:16px;padding:20px 4px}.modnum{width:34px;height:34px;font-size:11px}}
@media (prefers-reduced-motion:reduce){.modrow{transition:none}.modrow:hover{transform:none}.modrow:hover h3{animation:none}}

/* "// detail" evidence ledger — concrete, checkable rows under a feature's
   body copy. Ember left-accent reads as proof; a claim on the left, the
   substance on the right. Used where a page throws a hard contrast and has
   to back it. */
.detail-list{margin:24px 0 0;display:grid;gap:8px;max-width:78ch}
.detail-row{display:grid;grid-template-columns:minmax(170px,250px) 1fr;gap:8px 28px;align-items:baseline;
  padding:17px 20px;background:var(--card);border:1px solid var(--line);border-left:2px solid var(--ember);
  border-radius:var(--r-sm)}
.detail-k{font:800 14.5px var(--f-disp);letter-spacing:-.012em;color:var(--ink)}
.detail-v{margin:0;color:var(--mut);font-size:var(--fs-sm);line-height:1.55}
@media (max-width:620px){.detail-row{grid-template-columns:1fr;gap:5px;padding:15px 16px}}
.cell{
  grid-column:span 2;position:relative;overflow:hidden;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);
  padding:24px;min-height:196px;display:flex;flex-direction:column;gap:14px;
}
.cell.w3{grid-column:span 3}
.cell.w4{grid-column:span 4}
.cell.w6{grid-column:span 6}
.cell::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),oklch(72% .19 45 / .09),transparent 65%);
}
.cell::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  border:1px solid transparent;
  background:radial-gradient(210px circle at var(--mx,50%) var(--my,50%),oklch(72% .19 45 / .6),transparent 70%) border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
          mask-composite:exclude;
}
.cell:hover::before,.cell:hover::after{opacity:1}
.cell h3{font:700 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.cell .cap{font:var(--fs-sm) var(--f-mono);color:var(--dim);margin-top:auto}
.cell .cap b{color:var(--mut);font-weight:400}

.lat-v{font:800 46px/1 var(--f-disp);color:var(--ink);font-variant-numeric:tabular-nums}
.lat-v small{font:700 17px var(--f-mono);color:var(--ember);margin-left:4px}
.spark{display:flex;gap:3px;align-items:flex-end;height:36px}
.spark i{width:6px;background:oklch(72% .19 45 / .45);min-height:3px;transition:height .3s ease}

.szrow{display:grid;grid-template-columns:9ch 1fr;gap:8px 12px;align-items:center;font:var(--fs-sm) var(--f-mono)}
.szrow .nm{color:var(--mut)}
.szbar{height:20px;background:#ffffff0d;position:relative;border-radius:3px;overflow:hidden}
.szbar i{
  position:absolute;inset:0;transform:scaleX(var(--w,1));transform-origin:0 50%;
  transition:transform .38s cubic-bezier(.2,.7,.2,1);border-radius:3px;
}
html.js .szbar i{transform:scaleX(0)}
.szbar i.f-o{background:var(--ember);box-shadow:0 0 14px oklch(72% .19 45/.5)}
.szbar i.f-g{background:#564d42}
.szbar em{position:absolute;right:8px;top:50%;translate:0 -50%;font-style:normal;font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums}
html.js .in .szbar i{transform:scaleX(var(--w,1))}

.zero{
  font:800 clamp(72px,9vw,110px)/1 var(--f-disp);color:var(--ember);
  text-shadow:0 0 36px oklch(72% .19 45 / .35);
  animation:breathe 3.2s ease-in-out infinite;
}
@keyframes breathe{50%{text-shadow:0 0 58px oklch(72% .19 45 / .6)}}

pre.code{font:13.5px/1.6 var(--f-mono);overflow-x:auto;color:var(--mut)}
.code .k{color:var(--ember)}
.code .s{color:#e8c890}
.code .c{color:var(--dim)}
.code .i{color:var(--ink)}

.pipe{display:flex;align-items:center;gap:12px;font:var(--fs-sm) var(--f-mono);margin-block:auto}
.pipe .node{border:1px solid var(--line);border-radius:var(--r);padding:9px 13px;color:var(--mut);white-space:nowrap;background:var(--bg2)}
.pipe .stream{
  flex:1;overflow:hidden;color:var(--ember);opacity:.75;white-space:nowrap;
  font-size:11.5px;letter-spacing:1px;text-align:center;
}

.gitlog{font:13.5px/1.9 var(--f-mono);overflow-x:auto;white-space:nowrap}
.gitlog .h{color:var(--ember)}
.gitlog .d{color:var(--dim)}
.gitlog .tag{color:var(--green);border:1px solid color-mix(in oklab,var(--green) 35%,var(--line));border-radius:3px;padding:0 5px;font-size:11.5px}
.gitlog .tag.pro{color:var(--ember);border-color:color-mix(in oklab,var(--ember) 35%,var(--line))}

/* ── benchmarks ───────────────────────────────────────────── */
.bgrp{margin-bottom:44px}
.bgrp h3{font:700 13px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:6px}
.bgrp .bcap{font:12.5px var(--f-mono);color:var(--dim);margin-bottom:18px}
.brow{display:grid;grid-template-columns:188px 1fr 11ch;gap:16px;align-items:center;margin:11px 0;font:var(--fs-mono) var(--f-mono)}
.brow .nm{color:var(--mut);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brow.lead .nm{color:var(--ink)}
.btrack{height:15px;background:#ffffff08;border-radius:3px;overflow:hidden}
.btrack i{
  display:block;height:100%;transform:scaleX(var(--w,1));transform-origin:0 50%;border-radius:3px;
  transition:transform .38s cubic-bezier(.2,.7,.2,1);
}
html.js .btrack i{transform:scaleX(0)}
.brow.lead .btrack i{background:var(--ember);box-shadow:0 0 16px oklch(72% .19 45/.45)}
.brow .btrack i{background:#564d42}
html.js .in .btrack i{transform:scaleX(var(--w,1))}
.brow .val{color:var(--mut);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.brow.lead .val{color:var(--ember);font-weight:700}
.bfoot{font:12.5px var(--f-mono);color:var(--dim);border-top:1px solid var(--line);padding-top:14px;margin-top:8px}
.bfoot code{color:var(--ink)}
.bfoot .cbtn{margin-left:4px;vertical-align:1px}

/* ── licensing / account centerpiece ──────────────────────── */
.lic{background:var(--bg2);border-block:1px solid var(--line);overflow:hidden}
.acct-zone{text-align:center;padding:30px 0 14px;position:relative}
.acct-label{font:var(--fs-sm) var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}
.acct{
  display:inline-block;margin:22px 0 10px;border:0;background:none;cursor:pointer;
  font:800 clamp(1.9rem,5.9vw,4.2rem)/1.15 var(--f-disp);letter-spacing:.045em;
  color:var(--ink);font-variant-numeric:tabular-nums;
  text-shadow:0 0 44px oklch(72% .19 45 / .22);
  animation:acctglow 3.6s ease-in-out infinite;
  transition:color .2s;
}
.acct:hover{color:var(--hot)}
.acct .pair{white-space:nowrap}
@keyframes acctglow{50%{text-shadow:0 0 70px oklch(72% .19 45 / .5)}}
.acct-hint{font:var(--fs-sm) var(--f-mono);color:var(--dim);min-height:20px}
.acct-hint .ok{color:var(--green)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:64px}
.step{border-top:2px solid var(--line);padding-top:18px;position:relative}
.step::before{content:"";position:absolute;top:-2px;left:0;width:34px;border-top:2px solid var(--ember)}
.step .n{font:700 13px var(--f-mono);color:var(--ember)}
.step h3{font:700 17px var(--f-mono);margin:8px 0 8px;color:var(--ink)}
.step p{font-size:14.5px;color:var(--mut)}
.lic-note{margin-top:44px;text-align:center;font:var(--fs-mono) var(--f-mono);color:var(--dim)}
.lic-note b{color:var(--mut);font-weight:400}

/* ── pricing ──────────────────────────────────────────────── */
.pwrap{display:grid;justify-items:center;gap:34px}
.pcard{
  width:min(440px,100%);position:relative;overflow:hidden;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:38px 36px;
}
.pcard::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(300px circle at var(--mx,50%) var(--my,0%),oklch(72% .19 45 / .1),transparent 65%);
}
.pcard:hover::before{opacity:1}
.pcard .ptop{display:flex;align-items:baseline;gap:10px}
.pcard .amt{font:800 76px/1 var(--f-disp);color:var(--ink);font-variant-numeric:tabular-nums}
.pcard .per{font:15px var(--f-mono);color:var(--mut)}
.pcard .flat{font:var(--fs-xs) var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin-top:10px}
.pcard ul{list-style:none;margin:28px 0 30px;display:grid;gap:11px;font:14.5px var(--f-mono);color:var(--mut)}
.pcard li::before{content:"+ ";color:var(--ember)}
.pcard .btn{width:100%;justify-content:center}
.pfine{font:var(--fs-sm) var(--f-mono);color:var(--dim);text-align:center;max-width:52ch}
.pcard .pfine{max-width:none;margin-top:16px}
/* two-tier pricing: Community (miniature) + Pro */
.ptiers{display:flex;gap:18px;align-items:flex-start;justify-content:center;flex-wrap:wrap;width:100%}
.pcard.mini{width:min(300px,100%);padding:30px 28px}
.pcard.mini .amt{font-size:52px}
.pcard.mini ul{margin:22px 0 24px;gap:9px;font-size:13.5px}
@media(max-width:760px){.pcard.mini{width:min(440px,100%)}}

/* ── faq (definition list) ────────────────────────────────── */
.faq{display:grid;gap:0;max-width:80ch;border-top:1px solid var(--line)}
.faq>div{padding:22px 2px;border-bottom:1px solid var(--line)}
.faq dt{font:700 17px/1.2 var(--f-disp);color:var(--ink);letter-spacing:-.01em}
.faq dd{margin:11px 0 0;font:var(--fs-mono)/1.65 var(--f-mono);color:var(--mut);max-width:74ch}
.faq dd a{color:var(--ember)}
.faq dd a:hover{color:var(--hot)}
.faq dd code{font-size:13px;color:var(--ink);background:var(--card);border:1px solid var(--line);padding:1px 7px;border-radius:var(--r-sm)}

/* ── comparison matrix (/compare) ─────────────────────────── */
.compare-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card)}
.compare-table{display:grid;grid-template-columns:minmax(190px,1.7fr) repeat(6,minmax(78px,1fr));min-width:840px}
.compare-table.cmp4{grid-template-columns:minmax(240px,2.4fr) repeat(4,minmax(82px,1fr));min-width:660px}
.cmp-row{display:contents}
.cmp-feature,.cmp-col{padding:10px 13px;border-bottom:1px solid var(--line);font:var(--fs-sm) var(--f-mono);display:flex;align-items:center;min-height:42px}
.cmp-feature{color:var(--mut)}
.cmp-col{justify-content:center;text-align:center;gap:6px;color:var(--dim)}
.cmp-highlight{background:oklch(72% .19 45 / .055)}
.cmp-header .cmp-feature,.cmp-header .cmp-col{flex-direction:column;justify-content:center;gap:3px;padding:13px 10px;background:var(--bg2)}
.cmp-header .cmp-col strong{font:800 13px var(--f-disp);color:var(--ink);letter-spacing:-.01em}
.cmp-header .cmp-highlight{background:oklch(72% .19 45 / .1)}
.cmp-header .cmp-highlight strong{color:var(--ember)}
.cmp-tier{font:var(--fs-xs) var(--f-mono);color:var(--dim)}
.cmp-row:last-child .cmp-feature,.cmp-row:last-child .cmp-col{border-bottom:none}
.cmp-yes{color:var(--green);font-weight:700}
.cmp-no{color:var(--dim);opacity:.45}
.cmp-partial{color:var(--hot);font-weight:700}
/* detail blocks */
.cmp-detail{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cmp-block{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:24px 26px}
.cmp-block>h3{font:700 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.cmp-point{padding:15px 0;border-bottom:1px solid var(--line)}
.cmp-point:last-child{border-bottom:none;padding-bottom:0}
.cmp-point h4{font:700 15.5px var(--f-disp);color:var(--ink);letter-spacing:-.01em}
.cmp-point p{margin:7px 0 0;font:var(--fs-sm)/1.62 var(--f-mono);color:var(--mut)}
@media(max-width:820px){.cmp-detail{grid-template-columns:1fr}}

/* ── content note cards (about / openness / legal / …) ────── */
.sub a{color:var(--ember)}
.sub a:hover{color:var(--hot)}
.notes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.note{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:24px 26px}
.note h3{font:700 16px var(--f-disp);color:var(--ink);letter-spacing:-.01em;margin-bottom:9px}
.note p{font:var(--fs-sm)/1.62 var(--f-mono);color:var(--mut)}
.note p+p{margin-top:10px}
.note code{font-size:12.5px;color:var(--ink);background:var(--bg2);border:1px solid var(--line);padding:1px 6px;border-radius:var(--r-sm)}
.note a{color:var(--ember)}
.note a:hover{color:var(--hot)}
@media(max-width:760px){.notes{grid-template-columns:1fr}}

/* ── long-form / legal prose (privacy / terms / refund / …) ── */
.legal{max-width:80ch}
.legal h2{font:800 22px/1.18 var(--f-disp);color:var(--ink);letter-spacing:-.012em;margin:30px 0 13px;padding-top:30px;border-top:1px solid var(--line)}
.legal>h2:first-child{margin-top:0;padding-top:0;border-top:none}
.legal h3{font:700 15px var(--f-disp);color:var(--ink);letter-spacing:-.01em;margin:20px 0 7px}
.legal p{font:var(--fs-base)/1.7 var(--f-mono);color:var(--mut);margin:0 0 13px;max-width:78ch}
.legal ul{margin:0 0 13px;padding-left:20px;display:grid;gap:7px}
.legal li{font:var(--fs-base)/1.55 var(--f-mono);color:var(--mut);max-width:76ch}
.legal li::marker{color:var(--ember)}
.legal strong{color:var(--ink);font-weight:700}
.legal a{color:var(--ember)}
.legal a:hover{color:var(--hot)}
.legal code{font-size:13px;color:var(--ink);background:var(--bg2);border:1px solid var(--line);padding:1px 6px;border-radius:var(--r-sm)}
.legal .muted{color:var(--dim);font-size:var(--fs-sm);margin-top:8px}
.legal .section-divider{display:none}
.legal pre.code{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;color:var(--ink);margin:0 0 13px}

/* ── contact channels (/contact) ──────────────────────────── */
.contact-channels{display:grid;gap:10px;max-width:560px;margin:0 0 6px}
.contact-row{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);color:var(--ink);transition:border-color .15s,background .15s}
.contact-row:hover{border-color:var(--ember);background:var(--bg2)}
.contact-icon{flex:none;width:24px;height:24px;color:var(--ember);display:flex;align-items:center;justify-content:center}
.contact-icon svg{width:22px;height:22px}
.contact-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.contact-label{font:700 14px var(--f-mono);color:var(--ink)}
.contact-desc{font:var(--fs-sm) var(--f-mono);color:var(--dim)}

/* ── feature cross-links (/features hub grid + /features/* cards) ── */
a.cell,a.note{text-decoration:none;color:inherit}
a.note{display:block;transition:border-color .15s,background .15s}
a.note:hover{border-color:var(--ember)}
.feat-pro{font:700 9px/1 var(--f-mono);letter-spacing:.08em;color:var(--green);border:1px solid var(--green);border-radius:3px;padding:2px 4px;margin-left:7px;vertical-align:middle}

/* ── forms (security / students / checkout / account) ─────── */
.form-card{max-width:600px}
.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.form-group label{font:700 12px var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--mut)}
.form-group input[type=text],.form-group input[type=email],.form-group select,.form-group textarea{font:14px var(--f-mono);color:var(--ink);background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;outline:none;width:100%;transition:border-color .15s}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--dim)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ember)}
.form-group textarea{resize:vertical;min-height:120px;line-height:1.55}
.form-group select{appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%238d8478' stroke-width='1.6'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.form-group .hint{margin:0;font:var(--fs-sm) var(--f-mono);color:var(--dim)}
.form-group .btn{align-self:flex-start;cursor:pointer}

/* checkout — account builder, duration grid, payment */
.account-list{display:flex;flex-direction:column;gap:6px;margin:2px 0}
.account-item{display:flex;align-items:center;gap:7px;padding:6px 7px 6px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);transition:border-color .15s}
.account-item:hover{border-color:var(--mut)}
.account-item code{flex:1;min-width:0;font:14px var(--f-mono);letter-spacing:.04em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-item.generated{border-color:color-mix(in srgb,var(--ember) 36%,var(--line))}
/* The remove (×) button sits beside the .cbtn.icon copy button in an account
   row — same 32x32 square footprint and radius so the pair reads as twins,
   only the hover colour differs (ember copy / red remove). */
.account-item .btn-remove{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--dim);font:16px/1 var(--f-mono);cursor:pointer;line-height:1;transition:color .15s,border-color .15s,background .15s}
.account-item .btn-remove:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.account-item .btn-remove:hover{color:#f06e7d;border-color:color-mix(in srgb,#f06e7d 52%,transparent);background:color-mix(in srgb,#f06e7d 10%,transparent)}
.account-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}
.add-existing{display:flex;gap:7px;flex:1;min-width:200px}
.add-existing input{flex:1;font:13px var(--f-mono);color:var(--ink);background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;outline:none}
.add-existing input:focus{border-color:var(--ember)}
.duration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}
.duration-option{cursor:pointer}
.duration-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.duration-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:104px;padding:16px 12px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg2);text-align:center;transition:border-color .15s,background .15s}
.duration-option:hover .duration-card{border-color:var(--mut)}
.duration-option input:checked+.duration-card{border-color:var(--ember);background:color-mix(in srgb,var(--ember) 8%,transparent)}
.duration-option input:focus-visible+.duration-card{outline:2px solid var(--ember);outline-offset:2px}
.duration-months{font:800 28px/1 var(--f-disp);color:var(--ink)}
.duration-label{font:var(--fs-xs) var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--dim)}
.duration-price{font:600 14px var(--f-mono);color:var(--ember);margin-top:3px}
.duration-input-wrap{display:flex;align-items:center;gap:6px;margin-top:4px}
.duration-number-input{width:62px;font:600 16px var(--f-mono);color:var(--ink);background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:5px 8px;text-align:center;outline:none}
.duration-number-input:focus{border-color:var(--ember)}
.payment-buttons .btn{align-self:stretch;justify-content:center}
.payment-form-card{max-width:600px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);padding:22px}
.payment-form-card .btn{width:100%;justify-content:center;margin-top:14px}
.payment-error{color:#f06e7d;font:var(--fs-sm) var(--f-mono);margin:10px 0 0}
.hidden{display:none}

/* ── blog ─────────────────────────────────────────────────── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.blog-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;text-decoration:none;transition:border-color .15s,transform .15s}
.blog-card:hover{border-color:var(--ember);transform:translateY(-2px)}
.blog-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--bg2)}
.blog-card-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px}
.blog-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.blog-chip{font:700 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ember);border:1px solid color-mix(in srgb,var(--ember) 40%,transparent);border-radius:var(--r-pill);padding:2px 8px}
.blog-date{font:var(--fs-xs) var(--f-mono);color:var(--dim);white-space:nowrap}
.blog-card h3{font:700 17px/1.25 var(--f-disp);color:var(--ink);letter-spacing:-.01em}
.blog-card p{font:var(--fs-sm)/1.55 var(--f-mono);color:var(--mut)}
.blog-rows{display:flex;flex-direction:column;gap:8px}
.blog-row{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);text-decoration:none;transition:border-color .15s}
.blog-row:hover{border-color:var(--ember)}
.blog-row-auth{flex:none;width:118px;font:700 10px var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--dim)}
.blog-row>div{flex:1;min-width:0}
.blog-row h3{font:600 15px var(--f-disp);color:var(--ink)}
.blog-row p{font:var(--fs-sm) var(--f-mono);color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blog-empty{color:var(--mut)}
/* article reader */
.blog-article{max-width:80ch;margin:0 auto}
.blog-article-hero{width:100%;border-radius:var(--r-card);border:1px solid var(--line);margin-bottom:24px}
.blog-article .crumb{font:var(--fs-sm) var(--f-mono);color:var(--dim)}
.blog-article .crumb a{color:var(--ember)}
.blog-article h1{font:800 clamp(1.9rem,4.4vw,3rem)/1.06 var(--f-disp);letter-spacing:-.015em;color:var(--ink);margin:10px 0 14px}
.blog-article-meta{display:flex;flex-wrap:wrap;gap:10px;font:var(--fs-sm) var(--f-mono);color:var(--dim);margin-bottom:28px}
.blog-article-body{font:var(--fs-base)/1.75 var(--f-mono);color:var(--mut)}
.blog-article-body h2{font:800 24px/1.2 var(--f-disp);color:var(--ink);letter-spacing:-.01em;margin:32px 0 12px}
.blog-article-body h3{font:700 18px var(--f-disp);color:var(--ink);margin:24px 0 8px}
.blog-article-body p{margin:0 0 16px}
.blog-article-body ul,.blog-article-body ol{margin:0 0 16px;padding-left:22px;display:grid;gap:7px}
.blog-article-body li::marker{color:var(--ember)}
.blog-article-body a{color:var(--ember)}
.blog-article-body a:hover{color:var(--hot)}
.blog-article-body strong{color:var(--ink)}
.blog-article-body code{font-size:13px;color:var(--ink);background:var(--bg2);border:1px solid var(--line);padding:1px 6px;border-radius:var(--r-sm)}
.blog-article-body pre{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:16px;overflow-x:auto;margin:0 0 16px}
.blog-article-body pre code{background:none;border:0;padding:0}
.blog-article-body img{max-width:100%;border-radius:var(--r);border:1px solid var(--line)}
.blog-keypoints{margin:28px 0;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}
.blog-keypoints h2{font:700 13px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ember);margin:0 0 10px}
.blog-keypoints ul{margin:0;padding-left:20px;display:grid;gap:8px;font:var(--fs-sm)/1.5 var(--f-mono);color:var(--mut)}
.blog-keypoints li::marker{color:var(--ember)}
.blog-source{margin:24px 0 0;font:var(--fs-sm) var(--f-mono);color:var(--dim)}
.blog-source a{color:var(--ember)}
.blog-feedback{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:32px 0;padding-top:22px;border-top:1px solid var(--line);font:var(--fs-sm) var(--f-mono);color:var(--mut)}
.blog-related{margin-top:40px;border-top:1px solid var(--line);padding-top:8px}

/* ── account portal ───────────────────────────────────────── */
.acct-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:22px 24px;margin-bottom:14px;max-width:600px}
.acct-card h3{font:700 15px var(--f-disp);color:var(--ink);margin-bottom:8px}
.acct-card>p{font:var(--fs-sm)/1.6 var(--f-mono);color:var(--mut)}
.kv{display:grid;gap:0}
.kv .status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.kv .status-row:last-child{border-bottom:none}
.kv .label{font:var(--fs-sm) var(--f-mono);color:var(--dim)}
.kv .value{font:600 var(--fs-base) var(--f-mono);color:var(--ink)}
.badge{font:700 10px var(--f-mono);text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--line);color:var(--mut)}
.badge.pro,.badge.active{color:var(--green);border-color:var(--green)}
.badge.expired{color:var(--hot);border-color:var(--hot)}
.paid-until{display:flex;flex-direction:column;gap:5px;text-align:center;padding:6px 0}
.paid-label{font:700 11px var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
.paid-date{font:800 26px var(--f-disp);color:var(--ink)}
.paid-date.expired{color:var(--hot);font-size:18px}
.paid-remaining{font:var(--fs-sm) var(--f-mono);color:var(--green)}
.device-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.device-info{display:flex;flex-direction:column;gap:3px}
.device-name{font:600 15px var(--f-mono);color:var(--ink)}
.device-date,.device-seen{font:var(--fs-sm) var(--f-mono);color:var(--dim)}
.device-details{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.device-details .label{font:700 10px var(--f-mono);letter-spacing:.06em;color:var(--dim)}
.device-details pre.code{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;margin:0;font-size:11px;color:var(--mut);overflow-x:auto}
.acct-warn{border-color:color-mix(in srgb,var(--ember) 45%,transparent)}
.acct-warn .warning{color:var(--hot);font:var(--fs-sm)/1.55 var(--f-mono);margin-bottom:6px}
.copy-group{display:flex;gap:8px;align-items:stretch;margin:10px 0}
.copy-group pre.code{flex:1;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;margin:0;overflow-x:auto;color:var(--ink)}
.copy-group .account-id code{color:var(--ember);font-weight:700;letter-spacing:.02em}
.btn.btn-danger{color:#f06e7d;border-color:color-mix(in srgb,#f06e7d 50%,transparent)}
.btn.btn-danger:hover{border-color:#f06e7d;background:color-mix(in srgb,#f06e7d 12%,transparent);color:#f06e7d}
.btn.btn-sm{padding:6px 13px;font-size:11px}

/* ── status page (/status) ────────────────────────────────── */
.status-banner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-top:8px;padding:38px 24px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card)}
.status-banner-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-pill)}
.status-banner-icon svg{width:28px;height:28px}
.status-banner h2{font:800 clamp(1.4rem,3vw,2rem)/1.1 var(--f-disp);letter-spacing:-.01em;color:var(--ink)}
.status-banner .muted{color:var(--dim);font:var(--fs-sm) var(--f-mono)}
.status-banner.operational .status-banner-icon{color:var(--green);background:color-mix(in srgb,var(--green) 14%,transparent)}
.status-banner.degraded .status-banner-icon{color:var(--hot);background:color-mix(in srgb,var(--hot) 16%,transparent)}
.status-banner.down .status-banner-icon{color:#f06e7d;background:color-mix(in srgb,#f06e7d 15%,transparent)}
.status-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);overflow:hidden}
.status-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);font:700 12px var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--dim)}
.status-badge{font:700 10px var(--f-mono);padding:3px 9px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.04em;flex:none}
.status-badge.operational{color:var(--green);border:1px solid var(--green)}
.status-badge.degraded{color:var(--hot);border:1px solid var(--hot)}
.status-badge.down{color:#f06e7d;border:1px solid #f06e7d}
.status-service{padding:16px 18px;border-bottom:1px solid var(--line)}
.status-service:last-child{border-bottom:none}
.status-service-header{display:flex;align-items:center;gap:12px;margin-bottom:11px}
.status-service-left{display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.status-service-name{font:600 14px var(--f-mono);color:var(--ink)}
.status-dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--dim)}
.status-dot.operational{background:var(--green)}
.status-dot.degraded{background:var(--hot)}
.status-dot.down{background:#f06e7d}
.status-response-time,.status-uptime{font:var(--fs-sm) var(--f-mono);color:var(--dim);font-variant-numeric:tabular-nums}
.status-bars{display:flex;gap:2px;align-items:flex-end;height:34px}
.status-bar{flex:1;min-width:2px;height:100%;border-radius:1px;background:var(--green);opacity:.85}
.status-bar:hover{opacity:1}
.status-bar.degraded{background:var(--hot)}
.status-bar.down{background:#f06e7d}
.status-bar.no-data{background:var(--line);opacity:.5}
.status-bar-labels{display:flex;justify-content:space-between;margin-top:6px;font:var(--fs-xs) var(--f-mono);color:var(--dim)}

/* ── footer ───────────────────────────────────────────────── */
footer{border-top:1px solid var(--line);background:var(--bg2);padding:26px 0;font:var(--fs-sm) var(--f-mono);color:var(--dim)}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;max-width:1300px}
footer a{color:var(--mut);min-height:44px;display:inline-flex;align-items:center}
footer a:hover{color:var(--ember)}
footer .right{margin-left:auto;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
footer .sys{display:flex;align-items:center;gap:8px;color:var(--mut)}
footer .sys i{width:8px;height:8px;background:var(--ember);box-shadow:0 0 10px var(--ember);animation:breathe 3.2s ease-in-out infinite}
footer .wt b{color:var(--mut);font-weight:400;font-variant-numeric:tabular-nums}
footer .foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;flex:1 1 100%;margin:2px 0 4px}
footer .foot-links .fg{display:flex;flex-wrap:wrap;gap:5px 16px;align-items:center}
footer .foot-links a{min-height:30px}
footer .foot-links .fg a{position:relative}
/* thick vertical divider between adjacent links within each footer group */
footer .foot-links .fg a + a::before{content:"";position:absolute;left:-9px;top:50%;transform:translateY(-50%);width:2px;height:13px;background:var(--line);border-radius:1px}
footer .foot-social{margin-left:auto;display:flex;gap:14px;align-items:center}
footer .foot-social a{color:var(--mut);display:inline-flex;align-items:center;min-height:30px;transition:color .15s ease}
footer .foot-social a:hover{color:var(--ember)}
footer .foot-social svg{width:18px;height:18px;display:block}

/* ── reveals ──────────────────────────────────────────────── */
html.js .rv{opacity:0;translate:0 34px;scale:.985;filter:blur(2px)}
html.js .rv.in{opacity:1;translate:0 0;scale:1;filter:none;transition:opacity .55s ease,translate .6s cubic-bezier(.2,.7,.2,1),scale .6s ease,filter .55s ease;transition-delay:var(--d,0s)}
/* The features spine rows get the Framer-Motion spring instead of the house
   ease: a deeper rise (52px) + slight scale, transformed on --spring so each
   row overshoots ~8% and settles. Opacity/blur stay on a plain ease so only
   the motion springs (a bouncing fade reads as a glitch). Per-row --d carries
   the 1-by-1 stagger. */
html.js .modspine .rv{translate:0 52px;scale:.965;filter:blur(3px)}
html.js .modspine .rv.in{translate:0 0;scale:1;filter:none;
  transition:opacity .5s ease var(--d,0s),filter .5s ease var(--d,0s),
    translate .66s var(--spring) var(--d,0s),scale .66s var(--spring) var(--d,0s)}
/* Reveal is driven by IntersectionObserver in forge.js (always on, with a
   safety-net so content can never stay hidden). The CSS scroll-timeline path
   was removed: animation-fill-mode:both left the last section stuck at
   opacity:0 and blanked the page before any scroll. */

/* ── motion respect ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  html.js .rv{opacity:0;translate:none;scale:1;filter:none;animation:none}
  html.js .rv.in{opacity:1;transition:opacity .5s ease}
  html.js .modspine .rv{translate:none;scale:1;filter:none}
  html.js .modspine .rv.in{transition:opacity .5s ease}
  .ghost{transform:translateY(-50%) !important}
  .tick-row{animation:none}
  .zero,.acct,footer .sys i,h1 .em{animation:none}
  .t-cur{animation:none}
  .btn,.btn:hover{transform:none}
  .btn::before{display:none}
  .szbar i,.btrack i{transition:none;transform:scaleX(var(--w,1))}
}

/* ── responsive ───────────────────────────────────────────── */
@media (max-width:960px){
  .hero .wrap{grid-template-columns:1fr;gap:40px}
  .hero-head{grid-column:auto}
  .term{max-width:640px}
  .brow{grid-template-columns:110px 1fr 9ch}
  .brow .nm{font-size:12.5px}
}
@media print{
  #dots,.nav,.tick,.t-cur,.cbtn,body::after{display:none}
  :root{--bg:#fff;--bg2:#fff;--card:#fff;--ink:#000;--mut:#333;--dim:#555;--ember:#b34700;--line:#bbb;--green:#0a6b3d}
  .hero{min-height:auto;margin-top:0;padding:24px 0}
  section{padding:34px 0}
  .zero,.acct,footer .sys i{animation:none;text-shadow:none}
  h1 .em{background:none;color:#b34700;-webkit-background-clip:initial}
  .term{box-shadow:none}
  .cell::before,.cell::after,.pcard::before{display:none}
  footer a[href]::after{content:" (" attr(href) ")";color:#555;font-size:.85em}
}

@media (max-width:760px){
  section{padding:92px 0}
  .ghost{font-size:34vw;opacity:.7}
  .sh{margin-bottom:40px}
  .bento{grid-template-columns:1fr}
  .cell,.cell.w3,.cell.w4,.cell.w6{grid-column:span 1}
  .steps{grid-template-columns:1fr}
  .nav-stat .lbl{display:none}
  .sh{flex-wrap:wrap;gap:10px}
  .sh .meta{display:none}
  .acct{letter-spacing:.02em}
  h1 br{display:none}
  .term-body{font-size:12.5px;min-height:312px}
}

/* ═══ boot / forge-compile preloader ═════════════════════════ */
.boot{display:none}
html.booting{overflow:hidden}
html.booting body{overflow:hidden;height:100vh}
html.booting .boot{
  display:block;position:fixed;inset:0;z-index:9999;pointer-events:none;
  font-family:var(--f-mono);
}
.boot-panel{
  position:absolute;left:0;right:0;height:50%;background:var(--bg2);overflow:hidden;
  transition:transform .82s cubic-bezier(.76,0,.24,1);
  background-image:radial-gradient(circle at 1px 1px,#ffffff0a 1px,transparent 0);
  background-size:26px 26px;
  will-change:transform;
}
.boot-top{top:0;box-shadow:inset 0 -1px 0 var(--line)}
.boot-bot{bottom:0;box-shadow:inset 0 1px 0 var(--line)}
.boot-seam{
  position:absolute;left:0;right:0;top:50%;height:1px;background:var(--ember);
  transform:translateY(-50%) scaleX(0);transform-origin:50% 50%;
  box-shadow:0 0 22px 1px var(--ember);transition:transform .5s ease,opacity .5s ease;z-index:2;
}
.boot-core{
  position:absolute;inset:0;z-index:3;display:grid;place-content:center;justify-items:start;
  gap:18px;padding:0 9vw;max-width:760px;margin:0 auto;
  transition:opacity .32s ease,transform .5s ease;
}
.boot-core .mk{display:flex;align-items:center;gap:14px}
.boot-core .mk i{
  width:30px;height:30px;background:var(--ember);position:relative;flex:none;
  box-shadow:0 0 30px var(--ember);animation:bootpulse 1.1s ease-in-out infinite;
}
.boot-core .mk i::after{content:"";position:absolute;inset:9px;background:var(--bg2)}
.boot-core .mk b{font:800 30px/1 var(--f-disp);letter-spacing:.1em;color:var(--ink)}
.boot-core .mk span{font:var(--fs-sm) var(--f-mono);color:var(--dim);align-self:flex-end;padding-bottom:3px}
@keyframes bootpulse{50%{box-shadow:0 0 46px var(--ember);transform:scale(.94)}}
.boot-log{
  font:12.5px/1.85 var(--f-mono);color:var(--dim);white-space:pre;min-height:148px;
  width:100%;overflow:hidden;
}
.boot-log .ok{color:var(--green)}
.boot-log .em{color:var(--ember)}
.boot-log .in{color:var(--mut)}
.boot-meter{width:100%;max-width:520px;height:3px;background:#ffffff12;border-radius:3px;overflow:hidden}
.boot-meter i{display:block;height:100%;width:0;background:var(--ember);box-shadow:0 0 12px var(--ember)}
.boot-foot{display:flex;align-items:flex-end;justify-content:space-between;width:100%;max-width:520px;gap:20px}
.boot-cap{font:var(--fs-xs) var(--f-mono);color:var(--dim);letter-spacing:.04em;max-width:34ch}
.boot-pct{font:800 clamp(46px,8vw,86px)/.85 var(--f-disp);color:var(--ember);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.boot-pct b{font:700 .3em var(--f-mono);color:var(--dim);vertical-align:super;margin-left:2px}
html.boot-open .boot-top{transform:translateY(-100.5%)}
html.boot-open .boot-bot{transform:translateY(100.5%)}
html.boot-open .boot-core{opacity:0;transform:translateY(-12px)}
html.boot-open .boot-seam{opacity:0;transform:translateY(-50%) scaleX(1.2)}
/* reduced-motion: no door slide, no seam drama — a calm fade */
html.calm .boot,html.calm .boot-panel,html.calm .boot-core{transition:opacity .45s ease}
html.calm .boot-seam{display:none}
html.calm.boot-open .boot-top,html.calm.boot-open .boot-bot{transform:none;opacity:0}
html.calm.boot-open .boot-core{opacity:0;transform:none}
html.calm.boot-open .boot{opacity:0}
@media (max-width:640px){
  .boot-foot{flex-direction:column;align-items:flex-start;gap:14px}
  .boot-pct{font-size:64px}
}

/* ═══ interactive layer: nav buttons, palette, terminal input, roll ═══ */
.navbtn{
  font:700 12px var(--f-mono);color:var(--mut);background:transparent;
  border:1px solid var(--line);border-radius:5px;padding:6px 9px;min-height:30px;cursor:pointer;
  letter-spacing:.02em;transition:color .16s,border-color .16s,background .16s;white-space:nowrap;
}
.navbtn:hover{color:var(--ember);border-color:var(--ember)}
/* download nav link — no box; on hover the label + a left-to-right underline
   shimmer in the same molten ember gradient as the hero title. */
.navbtn.navdl{position:relative;border-color:transparent;background:transparent;display:inline-flex;align-items:center;gap:5px}
.navbtn.navdl svg{width:14px;height:14px;flex:none;transition:color .16s}
.navbtn.navdl::after{
  content:"";position:absolute;left:9px;right:9px;bottom:4px;height:1.5px;border-radius:1px;
  background:linear-gradient(100deg,var(--ember),var(--hot),#ffd9a8,var(--hot),var(--ember)) 0 0/220% 100%;
  transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none;
}
.navbtn.navdl:hover{color:var(--ember)}
.navbtn.navdl:hover svg{color:var(--ember)}
.navbtn.navdl:hover::after{transform:scaleX(1);animation:molten 3.5s linear infinite}
.navbtn.navdl:hover .navdl-t{
  background:linear-gradient(100deg,var(--ember),var(--hot),#ffd9a8,var(--hot),var(--ember)) 0 0/220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:molten 3.5s linear infinite;
}
@media (prefers-reduced-motion:reduce){
  .navbtn.navdl::after{transition:none}
  .navbtn.navdl:hover::after,.navbtn.navdl:hover .navdl-t{animation:none}
}
#motionbtn::before{content:"◉ ";color:var(--green)}
#motionbtn[aria-pressed="false"]::before{content:"○ ";color:var(--dim)}
@media (max-width:760px){#palettebtn{display:none}.navbtn#motionbtn{padding:6px 7px}}

/* roll button + seed line under the account centerpiece */
.acct-actions{margin-top:22px;display:flex;flex-direction:column;align-items:center;gap:9px}
.rollbtn{
  font:700 13px var(--f-mono);color:var(--ink);background:var(--bg2);
  border:1px solid var(--line);border-radius:var(--r);padding:10px 18px;min-height:42px;cursor:pointer;
  letter-spacing:.02em;transition:color .16s,border-color .16s,box-shadow .16s,transform .16s;
}
.rollbtn:hover{color:var(--ember);border-color:var(--ember);box-shadow:0 0 22px oklch(72% .19 45 / .18)}
.rollbtn:active{transform:translateY(1px)}
.rollbtn.spin{pointer-events:none;opacity:.85}
.acct-seed{font:11.5px var(--f-mono);color:var(--dim);letter-spacing:.04em}
.acct-seed sup{font-size:.7em}

/* terminal interactive prompt */
.term-body{cursor:text}
.t-form{display:inline}
.t-input{
  font:inherit;color:var(--ink);background:transparent;border:0;outline:0;padding:0;margin:0;
  caret-color:var(--ember);width:62%;min-width:8ch;
}
.t-line{display:flex;gap:.55ch;align-items:baseline}
.t-input::placeholder{color:var(--dim)}
.t-live .t-cur{background:var(--green)}
.t-err{color:var(--ember)}
.t-hint{color:var(--dim)}
.t-acct{color:var(--green);font-weight:700;letter-spacing:.05em}

/* command palette */
.palette{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center}
.palette[hidden]{display:none}
.palette-scrim{position:absolute;inset:0;background:oklch(10% .01 55 / .62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:palfade .16s ease}
.palette-box{
  position:relative;margin-top:13vh;width:min(620px,92vw);background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 40px 120px -30px rgba(0,0,0,.85);animation:palpop .18s cubic-bezier(.2,.7,.2,1);
}
@keyframes palfade{from{opacity:0}}
@keyframes palpop{from{opacity:0;transform:translateY(-8px) scale(.99)}}
html.calm .palette-scrim,html.calm .palette-box{animation:none}
.palette-in{display:flex;align-items:center;gap:11px;padding:15px 16px;border-bottom:1px solid var(--line)}
.palette-ps{font:700 18px var(--f-mono);color:var(--ember)}
.palette-in input{
  flex:1;font:15px var(--f-mono);color:var(--ink);background:transparent;border:0;outline:0;
}
.palette-esc{font:11px var(--f-mono);color:var(--dim);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 6px}
.palette-list{list-style:none;margin:0;padding:7px;max-height:46vh;overflow-y:auto;scrollbar-width:thin}
.palette-list li{
  display:flex;align-items:center;gap:13px;padding:11px 12px;border-radius:8px;cursor:pointer;
  font:var(--fs-mono) var(--f-mono);color:var(--mut);
}
.palette-list li .ico{width:18px;text-align:center;color:var(--ember);flex:none}
.palette-list li .lab{color:var(--ink)}
.palette-list li .hint{margin-left:auto;font-size:12px;color:var(--dim);white-space:nowrap}
.palette-list li[aria-selected="true"]{background:oklch(72% .19 45 / .12);color:var(--ink)}
.palette-list li[aria-selected="true"] .hint{color:var(--mut)}
.palette-list .empty{padding:18px 12px;color:var(--dim);font-size:13px}
.palette-foot{display:flex;gap:18px;padding:10px 16px;border-top:1px solid var(--line);font:11.5px var(--f-mono);color:var(--dim)}
.palette-foot kbd{border:1px solid var(--line);border-radius:3px;padding:0 4px;margin-right:3px;color:var(--mut)}
.palette-foot span:last-child{margin-left:auto}
@media (prefers-reduced-motion:reduce){.palette-scrim,.palette-box{animation:none}}
.toast{
  position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(8px);z-index:300;
  background:var(--card);border:1px solid var(--line);border-radius:8px;padding:11px 18px;
  font:var(--fs-sm) var(--f-mono);color:var(--ink);box-shadow:0 18px 50px -18px rgba(0,0,0,.8);
  opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;
}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
@media (prefers-reduced-motion:reduce){.toast{transition:opacity .2s ease}}

/* ===== product-UI showcase (.ish) — from index/teams interface mock ===== */
      /* ── product-UI showcase — fully scoped under .ish, self-contained ───── */
      .iface-lede{max-width:62ch;color:var(--mut);font:15px/1.65 var(--f-body);margin:18px 0 30px}
      .iface-lede + .iface-stage{margin-top:0}
      .ish-win{
        --c-app:#14151b;--c-2:#1a1b24;--c-panel:#1f2029;--c-tert:#2a2c36;--c-elev:#363844;
        --c-line:#2a2c36;--c-hover:rgba(255,255,255,.04);
        --c-text:#f2f4f8;--c-text2:#a9acc0;--c-dim:#6a6c7e;
        --c-blue:#88ace8;--c-red:#f06e7d;--c-green:#a8d06f;--c-yellow:#f0ce88;--c-orange:#f29c6e;--c-aqua:#85c2b6;
        --r:6px;
        border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;background:var(--c-app);
        box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(0,0,0,.4);
        color:var(--c-text);font:13px/1.5 var(--f-body);
        container-type:inline-size;
      }
      .ish-win[data-th="dragon"]{
        --c-app:#181615;--c-2:#1d1b19;--c-panel:#23211e;--c-tert:#2c2925;--c-elev:#38332e;--c-line:#2c2925;
        --c-text:#e0dccf;--c-text2:#aca596;--c-dim:#6c655b;
        --c-blue:#94b8cc;--c-red:#e88a7e;--c-green:#a8c47c;--c-yellow:#e4c98c;--c-orange:#e6a172;--c-aqua:#96c7b2;
      }
      .ish-win[data-th="abyss"]{
        --c-app:#0b0d13;--c-2:#0f1119;--c-panel:#141826;--c-tert:#1c2133;--c-elev:#262d44;--c-line:#1c2133;
        --c-hover:rgba(255,255,255,.05);
        --c-text:#f6f8ff;--c-text2:#9aa3c4;--c-dim:#56618a;
        --c-blue:#7ba6ff;--c-red:#ff7587;--c-green:#8fdf72;--c-yellow:#f5d27a;--c-orange:#ffa06b;--c-aqua:#5fd4c6;
      }
      /* light Kanagawa family — values copied verbatim from the app's design_tokens.css
         so the mock re-resolves through the real shipping tokens, not approximations */
      .ish-win[data-th="lotus"]{
        --c-app:#e0e0e6;--c-2:#eaeaef;--c-panel:#f4f4f7;--c-tert:#e2e3e8;--c-elev:#d4d5dc;--c-line:#e2e3e8;
        --c-hover:rgba(0,0,0,.04);
        --c-text:#2a2c3a;--c-text2:#5c5e6e;--c-dim:#9a9ca8;
        --c-blue:#3a60c4;--c-red:#c53d50;--c-green:#5a8a3e;--c-yellow:#d89400;--c-orange:#c76a00;--c-aqua:#3f7e72;
      }
      .ish-win[data-th="paper"]{
        --c-app:#e7e1c2;--c-2:#efe8cb;--c-panel:#f6f0d6;--c-tert:#e0d9b8;--c-elev:#d4cdab;--c-line:#e0d9b8;
        --c-hover:rgba(0,0,0,.04);
        --c-text:#393948;--c-text2:#66667a;--c-dim:#a09e8c;
        --c-blue:#4567b8;--c-red:#c84053;--c-green:#5e8a3a;--c-yellow:#c98a00;--c-orange:#cc6d00;--c-aqua:#3f7d70;
      }
      .ish-win[data-th="frost"]{
        --c-app:#eef1f6;--c-2:#f4f6fa;--c-panel:#ffffff;--c-tert:#eaedf3;--c-elev:#dde2ea;--c-line:#eaedf3;
        --c-hover:rgba(0,0,0,.04);
        --c-text:#11141f;--c-text2:#4a5063;--c-dim:#939aac;
        --c-blue:#2f6bf0;--c-red:#e03250;--c-green:#1f9d57;--c-yellow:#c98a00;--c-orange:#e0700f;--c-aqua:#0e9488;
      }
      /* light windows float crisp on the dark page — glossy top edge, softer drop, faint ring */
      .ish-win[data-th="lotus"],.ish-win[data-th="paper"],.ish-win[data-th="frost"]{
        box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 30px 70px -34px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.16);
      }
      /* titlebar */
      .ish-bar{display:flex;align-items:center;gap:12px;height:38px;padding:0 13px;background:var(--c-2);border-bottom:1px solid var(--c-app)}
      .ish-dots{display:flex;gap:7px}
      .ish-dots i{width:11px;height:11px;border-radius:50%;background:var(--c-tert)}
      .ish-dots i:first-child{background:#f06e7d55}.ish-dots i:nth-child(2){background:#f0ce8855}.ish-dots i:nth-child(3){background:#a8d06f55}
      .ish-wm{font:800 12px var(--f-disp);letter-spacing:.14em;color:var(--c-text)}
      .ish-wm small{color:var(--c-dim);font-weight:400;letter-spacing:.04em;margin-left:6px}
      .ish-seg{margin-left:auto;display:flex;gap:2px;padding:2px;background:var(--c-app);border:1px solid var(--c-line);border-radius:var(--r-pill)}
      .ish-seg button{font:600 10px/1 var(--f-mono);letter-spacing:.04em;color:var(--c-text2);background:none;border:0;border-radius:var(--r-pill);padding:5px 10px;cursor:pointer;transition:.18s}
      .ish-seg button[aria-pressed="true"]{color:var(--c-app);background:var(--c-blue)}
      .ish-seg-sep{width:1px;align-self:stretch;flex:none;margin:4px 3px;border-radius:1px;background:var(--c-line);opacity:.8}
      /* app chrome row */
      .ish-chrome{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:var(--c-app);border-bottom:1px solid var(--c-app);font:11px var(--f-mono)}
      .ish-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--c-line);color:var(--c-text2)}
      .ish-pill b{font-weight:700;color:var(--c-text)}
      .ish-pill .d{width:6px;height:6px;border-radius:50%;background:var(--c-green);box-shadow:0 0 7px var(--c-green)}
      .ish-pill.on{color:var(--c-green);border-color:transparent;background:color-mix(in srgb,var(--c-green) 14%,transparent)}
      .ish-pill.ai{color:var(--c-blue);border-color:transparent;background:color-mix(in srgb,var(--c-blue) 14%,transparent)}
      .ish-chrome .sp{margin-left:auto}
      .ish-stat{display:flex;gap:5px;align-items:baseline;color:var(--c-dim)}
      .ish-stat b{color:var(--c-text);font-weight:700;font-variant-numeric:tabular-nums}
      /* body */
      .ish-body{display:flex;height:430px;background:var(--c-app)}
      .ish-nav{width:188px;flex:none;padding:8px;display:flex;flex-direction:column;gap:1px;border-right:1px solid var(--c-app);background:var(--c-app)}
      .ish-grp{font:700 9px/1 var(--f-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--c-dim);padding:11px 9px 5px}
      .ish-item{display:flex;align-items:center;gap:9px;height:30px;padding:0 10px;border-radius:5px;color:var(--c-text2);cursor:pointer;position:relative;transition:.16s;font-size:12.5px;background:none;border:0;width:100%;text-align:left}
      .ish-item:hover{color:var(--c-text);background:var(--c-hover)}
      .ish-item .ic{width:15px;height:15px;flex:none;opacity:.85}
      .ish-item .bdg{margin-left:auto;font:700 10px var(--f-mono);min-width:17px;height:17px;display:flex;align-items:center;justify-content:center;padding:0 5px;border-radius:var(--r-pill);background:var(--c-red);color:#fff}
      .ish-item.on{color:var(--c-blue);background:color-mix(in srgb,var(--c-blue) 12%,transparent)}
      .ish-item.on::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:56%;border-radius:0 2px 2px 0;background:var(--c-blue)}
      .ish-work{flex:1;min-width:0;display:flex;flex-direction:column}
      .ish-tb{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-bottom:1px solid var(--c-app);background:var(--c-app)}
      .ish-tb .ttl{font-weight:600;color:var(--c-text);font-size:12.5px}
      .ish-tb .sp{margin-left:auto}
      .ish-listen{display:inline-flex;align-items:center;gap:6px;font:600 10px var(--f-mono);color:var(--c-green);padding:3px 9px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--c-green) 13%,transparent)}
      .ish-listen .d{width:6px;height:6px;border-radius:50%;background:var(--c-green);box-shadow:0 0 7px var(--c-green)}
      .ish-btn{font:600 11px var(--f-body);color:var(--c-text2);background:var(--c-tert);border:1px solid var(--c-line);border-radius:5px;padding:5px 11px;cursor:pointer;transition:.16s}
      .ish-btn:hover{color:var(--c-text);border-color:var(--c-blue)}
      .ish-btn.pri{color:var(--c-app);background:var(--c-blue);border-color:transparent}
      .ish-view{flex:1;min-height:0;display:none}
      .ish-view.on{display:flex}
      /* table */
      .ish-tablewrap{flex:1.5;min-width:0;display:flex;flex-direction:column;overflow:hidden}
      .ish-thead,.ish-row{display:grid;grid-template-columns:38px 62px 1.7fr 1.2fr 56px 64px;align-items:center;gap:8px;padding:0 13px}
      .ish-thead{height:30px;font:700 10px var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--c-dim);border-bottom:1px solid var(--c-app);background:var(--c-2)}
      .ish-rows{overflow:auto}
      .ish-row{height:30px;font:var(--fs-xs) var(--f-mono);color:var(--c-text2);border-bottom:1px solid var(--c-app);cursor:pointer;position:relative;white-space:nowrap}
      .ish-row:hover{background:var(--c-hover)}
      .ish-row.sel{background:color-mix(in srgb,var(--c-blue) 11%,transparent)}
      .ish-row.sel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--c-blue)}
      .ish-row .p{color:var(--c-text);overflow:hidden;text-overflow:ellipsis}
      .ish-row .h{overflow:hidden;text-overflow:ellipsis}
      .ish-m{font:700 10px var(--f-mono);padding:2px 6px;border-radius:3px;justify-self:start}
      .m-get{color:var(--c-green);background:color-mix(in srgb,var(--c-green) 16%,transparent)}
      .m-post{color:var(--c-blue);background:color-mix(in srgb,var(--c-blue) 16%,transparent)}
      .m-del{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 16%,transparent)}
      .m-put{color:var(--c-yellow);background:color-mix(in srgb,var(--c-yellow) 16%,transparent)}
      .s2{color:var(--c-green)}.s3{color:var(--c-blue)}.s4{color:var(--c-red)}.s4y{color:var(--c-yellow)}
      /* detail card */
      .ish-detail{width:38cqw;max-width:340px;flex:none;border-left:1px solid var(--c-app);display:flex;flex-direction:column;background:var(--c-panel)}
      .ish-detail .dh{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-bottom:1px solid var(--c-app);font-weight:600;font-size:12px}
      .ish-detail .db{padding:12px;font:12px/1.7 var(--f-mono);color:var(--c-text2);overflow:auto}
      .ish-detail .db b{color:var(--c-text);font-weight:600}
      .ish-detail .db .k{color:var(--c-aqua)}
      .ish-detail .db .ok{color:var(--c-green)}
      /* scanner */
      .ish-scan{flex:1;flex-direction:column;min-width:0}
      .ish-cov{display:flex;gap:9px;padding:12px 13px;border-bottom:1px solid var(--c-app)}
      .ish-cell{display:flex;flex-direction:column;gap:3px;padding:9px 13px;background:var(--c-panel);border:1px solid var(--c-line);border-radius:var(--r);min-width:92px}
      .ish-cell .l{font:9px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-dim)}
      .ish-cell .v{font:700 19px var(--f-mono);color:var(--c-text);font-variant-numeric:tabular-nums}
      .ish-cell .v.crit{color:var(--c-red)}
      .ish-finds{overflow:auto;flex:1}
      .ish-find{display:flex;align-items:center;gap:11px;padding:10px 13px;border-bottom:1px solid var(--c-app);cursor:pointer}
      .ish-find:hover{background:var(--c-hover)}
      .ish-sev{font:700 9px/1 var(--f-mono);letter-spacing:.06em;padding:3px 7px;border-radius:3px;flex:none;width:46px;text-align:center}
      .sv-crit{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 17%,transparent)}
      .sv-high{color:var(--c-orange);background:color-mix(in srgb,var(--c-orange) 17%,transparent)}
      .sv-med{color:var(--c-yellow);background:color-mix(in srgb,var(--c-yellow) 16%,transparent)}
      .sv-low{color:var(--c-blue);background:color-mix(in srgb,var(--c-blue) 15%,transparent)}
      .ish-find .ft{min-width:0}
      .ish-find .ft .t{color:var(--c-text);font-size:12.5px;font-weight:500}
      .ish-find .ft .u{color:var(--c-dim);font:11px var(--f-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
      .ish-find .ct{margin-left:auto;color:var(--c-dim);font:11px var(--f-mono);flex:none}
      /* repeater */
      .ish-rep{flex:1;min-width:0}
      .ish-pane{flex:1;min-width:0;display:flex;flex-direction:column}
      .ish-pane+.ish-pane{border-left:1px solid var(--c-app)}
      .ish-pane .ph{display:flex;align-items:center;gap:8px;height:30px;padding:0 12px;font:700 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-dim);border-bottom:1px solid var(--c-app);background:var(--c-2)}
      .ish-pane pre{margin:0;padding:12px;font:12px/1.75 var(--f-mono);color:var(--c-text2);overflow:auto;flex:1}
      .ish-pane pre .k{color:var(--c-aqua)}.ish-pane pre .v{color:var(--c-text)}.ish-pane pre .s{color:var(--c-green)}.ish-pane pre .ok{color:var(--c-green)}.ish-pane pre .c{color:var(--c-dim)}
      .iface-cap{color:var(--dim);font:13px/1.6 var(--f-mono);margin-top:18px}
      .iface-more{margin-top:13px;font-size:var(--fs-sm)}
      .iface-cap b{color:var(--mut)}
      @container (max-width:640px){.ish-detail,.ish-pane+.ish-pane{display:none}.ish-nav{width:54px}.ish-item .lbl,.ish-grp{display:none}}

/* ===== teams-only components (hero-team, stat-chip, gov-card, ish-collab) ===== */
/* ── teams page — custom components on the established tokens ───────────── */
.hero-team .wrap{display:block}
.hero-team .hero-head{max-width:none}
.team-tag{display:inline-flex;align-items:center;gap:7px;font:600 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ember);border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 12px;background:color-mix(in oklab,var(--ember) 8%,transparent)}
.hero-stats{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px}
.stat-chip{display:flex;flex-direction:column;gap:2px;padding:11px 16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card)}
.stat-chip b{font:800 19px var(--f-disp);color:var(--ink);letter-spacing:.01em}
.stat-chip span{font:11px var(--f-mono);color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.feat-ico{width:30px;height:30px;color:var(--ember);margin-bottom:12px}
.feat-ico svg{width:30px;height:30px}
/* Governance cards share the site card system (matches the features .cell grid
   above): same iron-black surface, --r-card corners, mono heading + ember icon.
   The "planned" badge stays — it's a governance-only marker. */
.gov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:8px}
.gov-card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:24px;display:flex;flex-direction:column;gap:11px;transition:border-color .25s,transform .25s}
.gov-card:hover{border-color:color-mix(in oklab,var(--ember) 45%,var(--line));transform:translateY(-2px)}
.gov-card .gi{width:30px;height:30px;color:var(--ember)}
.gov-card .gi svg{width:30px;height:30px}
.gov-card h3{font:700 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.gov-card p{font:var(--fs-sm)/1.65 var(--f-mono);color:var(--dim)}
.gov-card .opt{position:absolute;top:16px;right:16px;font:600 9px var(--f-mono);letter-spacing:.08em;color:var(--dim);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 8px}
.cta-band{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:18px;padding:28px 30px;background:linear-gradient(120deg,var(--card),color-mix(in oklab,var(--ember) 6%,var(--card)))}
.cta-band p{font:600 18px var(--f-body);color:var(--ink);max-width:46ch}
/* collaboration view inside the .ish app window (inherits --c-* theme vars) */
.ish-collab{flex:1;min-width:0;display:flex}
.ish-roster{width:46%;max-width:340px;border-right:1px solid var(--c-app);display:flex;flex-direction:column;background:var(--c-app)}
.ish-rhdr{display:flex;align-items:center;gap:8px;height:30px;padding:0 13px;font:700 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-dim);border-bottom:1px solid var(--c-app);background:var(--c-2)}
.ish-rhdr .gov{margin-left:auto;color:var(--c-green);border:1px solid color-mix(in srgb,var(--c-green) 40%,transparent);border-radius:var(--r-pill);padding:2px 7px;font-size:9px}
.ish-rmember{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:1px solid var(--c-app)}
.ish-av{width:26px;height:26px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;font:700 11px var(--f-mono);color:var(--c-app)}
.ish-mn{min-width:0;flex:1}
.ish-mn .nm{color:var(--c-text);font-size:12.5px;font-weight:600;display:flex;align-items:center;gap:6px}
.ish-mn .rl{color:var(--c-dim);font:11px var(--f-mono)}
.ish-sig{font:9px var(--f-mono);color:var(--c-green)}
.ish-sig.un{color:var(--c-yellow)}
.ish-capset{display:flex;gap:3px;flex-wrap:wrap;margin-top:3px}
.ish-cc{font:9px var(--f-mono);padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--c-blue) 14%,transparent);color:var(--c-blue)}
.ish-cc.off{background:color-mix(in srgb,var(--c-dim) 18%,transparent);color:var(--c-dim);text-decoration:line-through}
.ish-feed{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--c-app)}
.ish-evt{display:flex;gap:9px;padding:8px 13px;border-bottom:1px solid var(--c-app);font:12px var(--f-body);color:var(--c-text2);align-items:baseline}
.ish-evt time{font:10px var(--f-mono);color:var(--c-dim);flex:none;width:42px}
.ish-evt b{color:var(--c-text);font-weight:600}
.ish-evt .tag{margin-left:auto;font:9px var(--f-mono);color:var(--c-dim);flex:none}
@container (max-width:640px){.ish-roster{display:none}}

.morelink{color:var(--ember);font:var(--fs-sm) var(--f-mono)}
.morelink:hover{color:var(--hot)}

/* ═══ feature-demo (labs) — sandboxed Repeater + Intruder walkthrough ═══════
   .fd-rep / .fd-intr reuse the .ish-win frame (so they inherit the real theme
   tokens), with their own request/response and results-table bodies. The
   .fd-code blocks also appear outside the window (the JWT card), so every
   --c-* read carries a forge-token fallback for that context. */
/* The realness/authorisation note: plain text, no card — an orange "(!)" marks
   it as a caveat without boxing it off against the "LAB" watermark behind it. */
.lab-real{margin:24px 0 0;max-width:76ch;color:var(--mut);font:14px/1.7 var(--f-body);text-indent:-1.55em;padding-left:1.55em}
.lab-real b{color:var(--ink)}
.lab-bang{color:var(--ember);font:800 14px var(--f-mono);margin-right:8px}

.fd-rep,.fd-intr{margin-top:30px}
.fd-seg{margin-left:auto;display:flex;gap:2px;padding:2px;background:var(--c-app);border:1px solid var(--c-line);border-radius:var(--r-pill)}
.fd-seg button{font:600 10px/1 var(--f-mono);letter-spacing:.03em;color:var(--c-text2);background:none;border:0;border-radius:var(--r-pill);padding:6px 11px;cursor:pointer;transition:.16s}
.fd-seg button[aria-pressed="true"]{color:var(--c-app);background:var(--c-blue)}
.fd-target{margin-left:auto;font:11px var(--f-mono);color:var(--c-text2)}
.fd-target code{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 13%,transparent);padding:1px 5px;border-radius:3px}

/* repeater two-pane body */
.fd-rep-body{display:grid;grid-template-columns:1fr 1fr;background:var(--c-app)}
.fd-pane{display:flex;flex-direction:column;min-width:0}
.fd-pane+.fd-pane{border-left:1px solid var(--c-app)}
.fd-ph{display:flex;justify-content:space-between;align-items:center;height:32px;padding:0 14px;font:700 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-dim);border-bottom:1px solid var(--c-app);background:var(--c-2)}
.fd-ph-meta{font:600 11px var(--f-mono);text-transform:none;letter-spacing:0;color:var(--c-text2)}
.fd-pane-resp{min-height:188px}
.fd-resp-idle,.fd-resp-wait{display:none;padding:16px 14px;font:13px var(--f-mono);color:var(--c-dim)}
.fd-rep:not([data-sent]):not([data-sending]) .fd-resp-idle{display:block}
.fd-rep[data-sending] .fd-resp-wait{display:flex;align-items:center;gap:9px;color:var(--c-text2)}
.fd-rep:not([data-sent]) .fd-resp-out{display:none}
.fd-rep:not([data-sent]) .fd-when-sent{visibility:hidden}
.fd-spin{width:13px;height:13px;flex:none;border-radius:50%;border:2px solid var(--c-line);border-top-color:var(--c-blue);animation:fd-sp .7s linear infinite}
@keyframes fd-sp{to{transform:rotate(360deg)}}

.fd-code{margin:0;padding:14px;font:12.5px/1.7 var(--f-mono);color:var(--c-text2,var(--mut));overflow:auto;white-space:pre-wrap;word-break:break-word}
.fd-code .ln1{display:block}
.fd-code .hk{color:var(--c-dim,var(--dim))}
.fd-code .k{color:var(--c-aqua,#8fb5c9)}
.fd-code .s{color:var(--c-green,var(--green))}
.fd-code .v{color:var(--c-orange,#e0a060)}
.fd-code .dim{color:var(--c-dim,var(--dim))}
.fd-code .ok{color:var(--c-green,var(--green))}
.fd-code .mp{color:var(--c-blue,#88ace8)}
.fd-code .inj{color:var(--c-red,#f06e7d);background:color-mix(in srgb,var(--c-red,#f06e7d) 17%,transparent);border-radius:3px;padding:0 3px}
.st-ok{color:var(--c-green,var(--green))}
.st-err{color:var(--c-red,#f06e7d)}
.st-warn{color:var(--c-yellow,#f0ce88)}

/* request/response state toggle (reject 401 / bypass 200 / db-error 500) */
.fd-rep .fd-atk,.fd-rep .fd-err{display:none}
.fd-rep[data-state="inject"] .fd-norm{display:none}
.fd-rep[data-state="inject"] .fd-atk{display:inline}
.fd-rep[data-state="error"] .fd-norm{display:none}
.fd-rep[data-state="error"] .fd-err{display:inline}
/* editable email field in the request body */
.fd-email{color:var(--c-green,var(--green));outline:none;border-radius:3px;padding:0 2px;border-bottom:1px dashed color-mix(in srgb,var(--c-blue,#88ace8) 60%,transparent);cursor:text;white-space:pre;min-width:4ch}
.fd-email:focus{background:color-mix(in srgb,var(--c-blue,#88ace8) 16%,transparent);border-bottom-color:var(--c-blue,#88ace8)}
.fd-email.inj{color:var(--c-red,#f06e7d);border-bottom-color:var(--c-red,#f06e7d)}

.fd-bar2{display:flex;align-items:center;gap:14px;padding:11px 14px;border-top:1px solid var(--c-app);background:var(--c-2);flex-wrap:wrap}
.fd-send,.fd-start,.fd-sort{font:600 12px var(--f-mono);color:var(--c-app);background:var(--c-blue);border:0;border-radius:5px;padding:7px 16px;cursor:pointer;transition:.16s;flex:none}
.fd-send:hover,.fd-start:hover{filter:brightness(1.09)}
.fd-sort{color:var(--c-text2);background:var(--c-tert);border:1px solid var(--c-line)}
.fd-sort:disabled{opacity:.45;cursor:not-allowed}
.fd-hint{color:var(--c-dim);font:12px/1.5 var(--f-mono)}
.fd-hint code{color:var(--c-text2)}
.fd-rep .fd-hint.fd-atk,.fd-rep .fd-hint.fd-err{display:none}
.fd-rep[data-state="inject"] .fd-hint.fd-norm{display:none}
.fd-rep[data-state="inject"] .fd-hint.fd-atk{display:inline}
.fd-rep[data-state="error"] .fd-hint.fd-norm{display:none}
.fd-rep[data-state="error"] .fd-hint.fd-err{display:inline}
/* intruder · custom payload input */
.fd-iadd{display:flex;gap:7px;align-items:center;flex:1;min-width:170px}
.fd-iadd input{flex:1;min-width:110px;font:12px var(--f-mono);color:var(--c-text,var(--ink));background:var(--c-app);border:1px solid var(--c-line);border-radius:5px;padding:6px 10px;outline:none}
.fd-iadd input:focus{border-color:var(--c-blue)}
.fd-addbtn{font:600 12px var(--f-mono);color:var(--c-text2);background:var(--c-tert);border:1px solid var(--c-line);border-radius:5px;padding:7px 14px;cursor:pointer;flex:none}
.fd-addbtn:hover{filter:brightness(1.1)}

/* repeater outcome card (outside the window — forge tokens) */
.fd-out{margin-top:22px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card)}
.fd-out h3{margin:0;font:800 16px/1.2 var(--f-disp);letter-spacing:.02em;color:var(--ink);display:flex;align-items:center;gap:9px}
.fd-out h3 .st-ok{color:var(--green)}
.fd-out p{margin:11px 0 0;color:var(--mut);font:14px/1.65 var(--f-body)}
.fd-out .cap{font-size:13px;color:var(--dim)}
.fd-out code,.fd-tk code,.lab-real code{color:var(--ink);background:var(--bg2);padding:1px 5px;border-radius:3px;font:12.5px var(--f-mono)}
.fd-jwt{margin:13px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);white-space:pre;line-height:1.7}

/* intruder results table */
.fd-itable{background:var(--c-app)}
.fd-ihead,.fd-irow{display:grid;grid-template-columns:36px minmax(0,1.5fr) 66px 78px minmax(0,1.6fr);align-items:center;gap:10px;padding:0 15px}
.fd-ihead{height:32px;font:700 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-dim);border-bottom:1px solid var(--c-app);background:var(--c-2)}
.fd-irows{display:flex;flex-direction:column}
.fd-irow{height:38px;font:13px var(--f-mono);color:var(--c-text2);border-bottom:1px solid var(--c-app);transition:opacity .22s,background .2s}
.fd-intr.running .fd-irow{opacity:.18}
.fd-intr.running .fd-irow.in{opacity:1}
.fd-intr.sorted .fd-irow{order:var(--ord)}
.fd-irow .pl{color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fd-irow .len{font-variant-numeric:tabular-nums;color:var(--c-text2)}
.fd-irow .st i{font-style:normal;font:700 11px var(--f-mono);padding:2px 7px;border-radius:3px}
.fd-irow .st .st-ok{background:color-mix(in srgb,var(--c-green) 16%,transparent)}
.fd-irow .st .st-err{background:color-mix(in srgb,var(--c-red) 13%,transparent)}
.fd-irow .st .st-warn{background:color-mix(in srgb,var(--c-yellow) 15%,transparent)}
.fd-note-col{color:var(--c-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fd-irow.hit{background:color-mix(in srgb,var(--c-green) 9%,transparent)}
.fd-irow.hit .pl,.fd-irow.hit .len{color:var(--c-text)}
.fd-irow.err{background:color-mix(in srgb,var(--c-yellow) 7%,transparent)}
.fd-intr .fd-hint.fd-ran{display:none}
.fd-intr.done .fd-hint.fd-idle{display:none}
.fd-intr.done .fd-hint.fd-ran{display:inline}

/* takeaways + footer */
.fd-takeaways{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.fd-tk{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--card)}
.fd-tk-k{display:inline-block;font:700 11px var(--f-mono);letter-spacing:.05em;color:var(--ember);margin-bottom:9px}
.fd-tk p{margin:0;color:var(--mut);font:13.5px/1.6 var(--f-body)}
.fd-foot{margin-top:26px;color:var(--dim)}

@media (max-width:760px){
  .fd-rep-body{grid-template-columns:1fr}
  .fd-pane+.fd-pane{border-left:0;border-top:1px solid var(--c-app)}
  .fd-takeaways{grid-template-columns:1fr}
  .fd-ihead,.fd-irow{grid-template-columns:28px minmax(0,1.4fr) 54px 64px;gap:8px;padding:0 11px}
  .fd-note-col{display:none}
}

/* ═══ features · complete Hugin-window render (.hw-*) ═══════════════════════
   A full-fidelity recreation of the real desktop app: whole sidebar, real
   toolbar + status bar, six headline views. Theme tokens are the SAME real
   Kanagawa literals the binary ships (design_tokens.css), kept self-contained
   here so .hw is independent of the landing's .ish toy. */
.hw-win{
  --c-app:#14151b;--c-2:#1a1b24;--c-panel:#1f2029;--c-tert:#2a2c36;--c-elev:#363844;
  --c-line:#2a2c36;--c-hover:rgba(255,255,255,.04);
  --c-text:#f2f4f8;--c-text2:#a9acc0;--c-dim:#6a6c7e;
  --c-blue:#88ace8;--c-red:#f06e7d;--c-green:#a8d06f;--c-yellow:#f0ce88;--c-orange:#f29c6e;--c-aqua:#85c2b6;
  --hw-gap:3px;
  display:flex;flex-direction:column;gap:var(--hw-gap);padding:var(--hw-gap);
  margin-top:30px;border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;background:var(--c-app);
  color:var(--c-text);font:13px/1.5 var(--f-body);container-type:inline-size;
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 44px 90px -34px rgba(0,0,0,.72),0 0 0 1px rgba(0,0,0,.4);
}
.hw-win[data-th="dragon"]{--c-app:#181615;--c-2:#1d1b19;--c-panel:#23211e;--c-tert:#2c2925;--c-elev:#38332e;--c-line:#2c2925;--c-text:#e0dccf;--c-text2:#aca596;--c-dim:#6c655b;--c-blue:#94b8cc;--c-red:#e88a7e;--c-green:#a8c47c;--c-yellow:#e4c98c;--c-orange:#e6a172;--c-aqua:#96c7b2}
.hw-win[data-th="abyss"]{--c-app:#0b0d13;--c-2:#0f1119;--c-panel:#141826;--c-tert:#1c2133;--c-elev:#262d44;--c-line:#1c2133;--c-hover:rgba(255,255,255,.05);--c-text:#f6f8ff;--c-text2:#9aa3c4;--c-dim:#56618a;--c-blue:#7ba6ff;--c-red:#ff7587;--c-green:#8fdf72;--c-yellow:#f5d27a;--c-orange:#ffa06b;--c-aqua:#5fd4c6}
.hw-win[data-th="lotus"]{--c-app:#e0e0e6;--c-2:#eaeaef;--c-panel:#f4f4f7;--c-tert:#e2e3e8;--c-elev:#d4d5dc;--c-line:#e2e3e8;--c-hover:rgba(0,0,0,.04);--c-text:#2a2c3a;--c-text2:#5c5e6e;--c-dim:#9a9ca8;--c-blue:#3a60c4;--c-red:#c53d50;--c-green:#5a8a3e;--c-yellow:#d89400;--c-orange:#c76a00;--c-aqua:#3f7e72}
.hw-win[data-th="paper"]{--c-app:#e7e1c2;--c-2:#efe8cb;--c-panel:#f6f0d6;--c-tert:#e0d9b8;--c-elev:#d4cdab;--c-line:#e0d9b8;--c-hover:rgba(0,0,0,.04);--c-text:#393948;--c-text2:#66667a;--c-dim:#a09e8c;--c-blue:#4567b8;--c-red:#c84053;--c-green:#5e8a3a;--c-yellow:#c98a00;--c-orange:#cc6d00;--c-aqua:#3f7d70}
.hw-win[data-th="frost"]{--c-app:#eef1f6;--c-2:#f4f6fa;--c-panel:#ffffff;--c-tert:#eaedf3;--c-elev:#dde2ea;--c-line:#eaedf3;--c-hover:rgba(0,0,0,.04);--c-text:#11141f;--c-text2:#4a5063;--c-dim:#939aac;--c-blue:#2f6bf0;--c-red:#e03250;--c-green:#1f9d57;--c-yellow:#c98a00;--c-orange:#e0700f;--c-aqua:#0e9488}
.hw-win[data-th="lotus"],.hw-win[data-th="paper"],.hw-win[data-th="frost"]{box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 34px 80px -36px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.16)}

/* titlebar */
.hw-title{display:flex;align-items:center;gap:11px;height:40px;flex:none;padding:0 13px;background:var(--c-panel);border-radius:var(--r)}
.hw-dots{display:flex;gap:7px}
.hw-dots i{width:11px;height:11px;border-radius:50%}
.hw-dots i:first-child{background:#f06e7d80}.hw-dots i:nth-child(2){background:#f0ce8880}.hw-dots i:nth-child(3){background:#a8d06f80}
.hw-brand{font:800 13px var(--f-disp);letter-spacing:.13em;color:var(--c-text)}
.hw-gpills{display:flex;gap:6px;flex-wrap:wrap;overflow:hidden}
.hw-gpill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--c-line);color:var(--c-text2);font:10.5px var(--f-mono);white-space:nowrap}
.hw-gpill.rec{color:var(--c-red);border-color:transparent;background:color-mix(in srgb,var(--c-red) 13%,transparent)}
.hw-gpill.rec i{width:6px;height:6px;border-radius:50%;background:var(--c-red);box-shadow:0 0 7px var(--c-red)}
.hw-gpill.ai{color:var(--c-blue);border-color:transparent;background:color-mix(in srgb,var(--c-blue) 14%,transparent)}
.hw-themeseg{margin-left:auto;display:flex;gap:2px;padding:2px;background:var(--c-app);border:1px solid var(--c-line);border-radius:var(--r-pill);flex:none}
.hw-themeseg button{font:600 10px/1 var(--f-mono);letter-spacing:.03em;color:var(--c-text2);background:none;border:0;border-radius:var(--r-pill);padding:5px 9px;cursor:pointer;transition:.16s}
.hw-themeseg button[aria-pressed="true"]{color:var(--c-app);background:var(--c-blue)}
.hw-seg-sep{width:1px;align-self:stretch;flex:none;margin:4px 2px;background:var(--c-line);opacity:.8;border-radius:1px}

/* body + sidebar */
.hw-body{display:flex;gap:var(--hw-gap);height:482px;min-height:0}
.hw-side{width:210px;flex:none;overflow-y:auto;padding:8px;background:var(--c-panel);border-radius:var(--r)}
.hw-grp{font:700 9px/1 var(--f-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--c-dim);padding:12px 9px 5px}
.hw-nav{display:flex;align-items:center;gap:9px;width:100%;height:29px;padding:0 9px;border:0;border-radius:5px;background:none;color:var(--c-text2);cursor:pointer;text-align:left;font-size:12.5px;position:relative;transition:.14s}
.hw-nav:hover{color:var(--c-text);background:var(--c-hover)}
.hw-nav>span:not(.hw-bdg):not(.hw-pro-dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-ic{width:15px;height:15px;flex:none;opacity:.85;color:currentColor}
.hw-nav.on{color:var(--c-blue);background:var(--c-app)}
.hw-nav.on::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:58%;border-radius:0 2px 2px 0;background:var(--c-blue)}
.hw-bdg{margin-left:auto;font:700 10px var(--f-mono);min-width:18px;height:17px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border-radius:var(--r-pill);background:var(--c-tert);color:var(--c-text2)}
.hw-bdg.crit{background:var(--c-red);color:#fff}
.hw-pro-dot{margin-left:auto;font:800 8px/1 var(--f-mono);letter-spacing:.08em;padding:3px 5px;border-radius:3px;color:var(--c-app);background:var(--c-orange)}
.hw-vt .hw-pro-dot,.cell .hw-pro-dot{margin-left:7px;vertical-align:middle}

/* work area + toolbar + views */
.hw-work{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--c-panel);border-radius:var(--r);overflow:hidden}
.hw-tbar{display:flex;align-items:center;gap:8px;height:39px;flex:none;padding:0 14px;border-bottom:1px solid var(--c-app);background:var(--c-panel);overflow:hidden}
.hw-vt{font-weight:600;color:var(--c-text);font-size:13px;white-space:nowrap;flex:none}
.hw-sp{margin-left:auto}
.hw-cnt{color:var(--c-dim);font:11px var(--f-mono)}.hw-cnt b{color:var(--c-text)}
.hw-cnt code{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 13%,transparent);padding:1px 5px;border-radius:3px}
.hw-find{cursor:pointer}
.hw-chips{display:flex;gap:4px}
.hw-chips i{font:700 9px/1 var(--f-mono);padding:4px 6px;border-radius:3px;border:1px solid var(--c-line);color:var(--c-dim);font-style:normal}
.hw-chips i.on{color:var(--c-text2);background:var(--c-tert)}
.hw-seg2{display:flex;gap:2px;padding:2px;background:var(--c-tert);border-radius:5px}
.hw-seg2 i{font:600 10px/1 var(--f-mono);font-style:normal;padding:5px 9px;border-radius:4px;color:var(--c-text2);cursor:default}
.hw-seg2 i.on{color:var(--c-app);background:var(--c-blue)}
.hw-tab{font:600 11px var(--f-mono);padding:4px 10px;border-radius:5px 5px 0 0;color:var(--c-dim)}
.hw-tab.on{color:var(--c-text);background:var(--c-panel);border:1px solid var(--c-line);border-bottom:0}
.hw-find2{}
.hw-find{display:flex}
.hw-tbar .hw-find{display:inline;color:var(--c-dim);font:11px var(--f-mono)}
.hw-model{color:var(--c-dim);font:11px var(--f-mono)}
.hw-btn{font:600 11px var(--f-body);color:var(--c-text2);background:var(--c-tert);border:1px solid var(--c-line);border-radius:5px;padding:5px 11px;cursor:pointer}
.hw-btn.pri{color:var(--c-app);background:var(--c-blue);border-color:transparent}
/* .hw-view is a <section>, which the Forge stylesheet pads 148px top/bottom —
   kill that inside the window so views fill from the toolbar down. */
.hw-view{display:none;flex:1;min-height:0;flex-direction:column;padding:0}
.hw-view.on{display:flex}

/* HTTP history / intruder tables */
.hw-tablewrap{flex:1;min-height:0;display:flex;flex-direction:column}
.hw-thead,.hw-row{display:grid;grid-template-columns:34px 1.5fr 56px 2fr 52px 48px 48px 58px;align-items:center;gap:8px;padding:0 13px}
.hw-thead.i5,.hw-row.i5{grid-template-columns:34px 1.6fr 60px 70px 1.5fr}
.hw-thead{height:30px;flex:none;font:700 10px var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--c-dim);border-bottom:1px solid var(--c-app);background:var(--c-panel)}
.hw-rows{flex:1;overflow:auto;background:var(--c-2)}
.hw-row{height:30px;font:var(--fs-xs) var(--f-mono);color:var(--c-text2);border-bottom:1px solid var(--c-app);cursor:pointer;white-space:nowrap}
.hw-row:hover{background:var(--c-hover)}
.hw-row.sel{background:var(--c-app);position:relative}
.hw-row.sel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c-blue)}
.hw-row.hit{background:color-mix(in srgb,var(--c-green) 9%,transparent)}
.hw-row .h,.hw-row .p{overflow:hidden;text-overflow:ellipsis}
.hw-row .p{color:var(--c-text)}
.hw-row .okx{color:var(--c-green)}
/* method badge — markup uses class "m m-get"; size it to content so the tint
   is a tight pill, not a full-cell block */
.hw-m,.hw-row .m,.hw-eprow .m{font:700 10px var(--f-mono);line-height:1.3;padding:2px 7px;border-radius:3px;justify-self:start}
.m-get{color:var(--c-green);background:color-mix(in srgb,var(--c-green) 16%,transparent)}
.m-post{color:var(--c-blue);background:color-mix(in srgb,var(--c-blue) 16%,transparent)}
.m-del{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 16%,transparent)}
.m-put{color:var(--c-yellow);background:color-mix(in srgb,var(--c-yellow) 16%,transparent)}
.m-patch{color:var(--c-orange);background:color-mix(in srgb,var(--c-orange) 16%,transparent)}
.hw-row .st{font-weight:700}
.hw-row .s2{color:var(--c-green)}.hw-row .s3{color:var(--c-blue)}.hw-row .s4{color:var(--c-red)}.hw-row .s4y{color:var(--c-yellow)}.hw-row .s5{color:var(--c-red)}
.hw-row .dim{color:var(--c-dim)}

/* scanner */
.hw-scan{flex:1;display:flex;flex-direction:column;min-height:0}
.hw-cov{display:flex;gap:9px;padding:13px;border-bottom:1px solid var(--c-app);flex-wrap:wrap}
.hw-cell{display:flex;flex-direction:column;gap:3px;padding:9px 13px;background:var(--c-panel);border:1px solid var(--c-line);border-radius:var(--r);min-width:92px}
.hw-cell .l{font:9px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--c-dim)}
.hw-cell .v{font:700 19px var(--f-mono);color:var(--c-text);font-variant-numeric:tabular-nums}
.hw-cell .v.crit{color:var(--c-red)}
.hw-finds{overflow:auto;flex:1}
.hw-find{display:flex;align-items:center;gap:11px;padding:10px 13px;border-bottom:1px solid var(--c-app)}
.hw-find:hover{background:var(--c-hover)}
.hw-find .sev{font:700 9px/1 var(--f-mono);letter-spacing:.05em;padding:3px 7px;border-radius:3px;flex:none;width:42px;text-align:center}
.sv-crit{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 17%,transparent)}
.sv-high{color:var(--c-orange);background:color-mix(in srgb,var(--c-orange) 17%,transparent)}
.sv-med{color:var(--c-yellow);background:color-mix(in srgb,var(--c-yellow) 16%,transparent)}
.sv-low{color:var(--c-blue);background:color-mix(in srgb,var(--c-blue) 15%,transparent)}
.hw-find .ft{min-width:0;display:flex;flex-direction:column;gap:2px}
.hw-find .ft .t{color:var(--c-text);font-size:12.5px;font-weight:500}
.hw-find .ft .u{color:var(--c-dim);font:11px var(--f-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-find .ct{margin-left:auto;color:var(--c-dim);font:11px var(--f-mono);flex:none}

/* repeater two-pane */
.hw-2pane{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1px;min-height:0;background:var(--c-app)}
.hw-pane{display:flex;flex-direction:column;min-width:0}
.hw-pane+.hw-pane{border-left:0}
.hw-ph{display:flex;justify-content:space-between;align-items:center;height:30px;flex:none;padding:0 13px;font:700 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-dim);border-bottom:1px solid var(--c-app);background:var(--c-2)}
.hw-ph-meta{font:600 10px var(--f-mono);text-transform:none;letter-spacing:0;color:var(--c-text2)}
.hw-code{margin:0;padding:13px;font:12.5px/1.7 var(--f-mono);color:var(--c-text2);overflow:auto;white-space:pre-wrap;word-break:break-word}
.hw-code .ln1{display:block}.hw-code .hk{color:var(--c-dim)}.hw-code .k{color:var(--c-aqua)}.hw-code .s{color:var(--c-green)}.hw-code .v{color:var(--c-orange)}.hw-code .dim{color:var(--c-dim)}.hw-code .ok{color:var(--c-green)}.hw-code .mp{color:var(--c-blue)}

/* agent chat */
.hw-chat{flex:1;overflow:auto;padding:15px 16px;display:flex;flex-direction:column;gap:13px}
.hw-msg{max-width:84%}
.hw-msg .who{font:700 9px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--c-dim)}
.hw-msg p{margin:5px 0 0;font:13px/1.6 var(--f-body);color:var(--c-text)}
.hw-msg.user{align-self:flex-end;text-align:right}
.hw-msg.user p{background:color-mix(in srgb,var(--c-blue) 13%,transparent);padding:9px 13px;border-radius:9px 9px 2px 9px;display:inline-block;text-align:left}
.hw-msg.bot{align-self:flex-start}
.hw-msg.bot p{color:var(--c-text2)}
.hw-msg.bot code{color:var(--c-aqua);font:12px var(--f-mono)}
.hw-tool{display:flex;align-items:center;gap:9px;margin-top:7px;padding:7px 11px;background:var(--c-panel);border:1px solid var(--c-line);border-radius:6px;font:11px var(--f-mono)}
.hw-tool .tn{color:var(--c-blue);font-weight:700}
.hw-tool .ta{color:var(--c-text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-tool .tk{margin-left:auto;flex:none;color:var(--c-dim)}
.hw-tool .tk.ok{color:var(--c-green)}

/* ratrace */
.hw-race{flex:1;overflow:auto;padding:18px 20px;display:flex;flex-direction:column;gap:16px}
.hw-race-h{margin:0;font:13px/1.6 var(--f-body);color:var(--c-text2);max-width:62ch}
.hw-laneset{display:flex;gap:5px;height:64px;align-items:flex-end}
.hw-laneset .lane{flex:1;background:color-mix(in srgb,var(--c-blue) 32%,transparent);border-radius:2px 2px 0 0;height:100%}
.hw-laneset .lane:nth-child(3),.hw-laneset .lane:nth-child(7),.hw-laneset .lane:nth-child(9),.hw-laneset .lane:nth-child(10){background:var(--c-green)}
.hw-race-out{display:flex;gap:9px;flex-wrap:wrap}
.hw-race-f{margin:0;font:13px/1.6 var(--f-body);color:var(--c-text2)}
.okx{color:var(--c-green);font-weight:600}

/* generic view (every non-headline tool) */
.hw-generic .hw-gbody{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px;text-align:center}
.hw-gic{width:40px;height:40px;color:var(--c-dim);opacity:.7}
.hw-gdesc{margin:0;max-width:46ch;font:15px/1.6 var(--f-body);color:var(--c-text)}
.hw-ghint{margin:0;max-width:46ch;font:12px/1.6 var(--f-mono);color:var(--c-dim)}
.hw-tbar .hw-gpill{margin:0}

/* status bar */
.hw-status{display:flex;align-items:center;gap:13px;height:27px;flex:none;padding:0 13px;background:var(--c-panel);border-radius:var(--r);font:11px var(--f-mono);color:var(--c-dim)}
.hw-conn{display:inline-flex;align-items:center;gap:6px;color:var(--c-green)}
.hw-conn i{width:6px;height:6px;border-radius:50%;background:var(--c-green);box-shadow:0 0 6px var(--c-green)}
.hw-cmds b{color:var(--c-text2)}
.hw-proxy{color:var(--c-text2)}
.hw-pro{font:700 9px/1 var(--f-mono);letter-spacing:.06em;padding:3px 7px;border-radius:3px;color:var(--c-green);background:none;border:1px solid var(--c-green)}
.hw-cap{margin-top:18px;color:var(--dim);font:13px/1.6 var(--f-mono)}

@container (max-width:720px){
  .hw-side{width:54px}
  .hw-nav>span:not(.hw-bdg):not(.hw-pro-dot),.hw-grp,.hw-bdg,.hw-pro-dot{display:none}
  .hw-nav{justify-content:center;padding:0}
  .hw-2pane{grid-template-columns:1fr}
  .hw-pane+.hw-pane{border-left:0;border-top:1px solid var(--c-app)}
  .hw-gpills{display:none}
}
@media (max-width:680px){
  .hw-body{height:480px}
  .hw-thead,.hw-row{grid-template-columns:26px 1.4fr 50px 1.6fr 44px;gap:7px;padding:0 10px}
  .hw-thead span:nth-child(6),.hw-thead span:nth-child(7),.hw-thead span:nth-child(8),.hw-row span:nth-child(6),.hw-row span:nth-child(7),.hw-row span:nth-child(8){display:none}
}

/* ═══ features calibration — matched to live ui_command screenshots ════════ */
/* titlebar control cluster (right side, like the real header) */
.hw-topctl{display:flex;align-items:center;gap:6px;overflow:hidden}
.hw-ctl{display:inline-flex;align-items:center;gap:6px;padding:0 10px;height:24px;border-radius:var(--r-pill);border:1px solid var(--c-line);color:var(--c-text2);font:11px var(--f-mono);white-space:nowrap;cursor:pointer;transition:border-color .16s,color .16s,background .16s}
.hw-ctl:hover{border-color:color-mix(in srgb,var(--c-text2) 60%,transparent);color:var(--c-text)}
.hw-ctl .hw-ci{width:13px;height:13px;flex:none;opacity:.9}
.hw-ctl .d{width:6px;height:6px;border-radius:50%;flex:none}
.hw-ctl .d.red{background:var(--c-red);box-shadow:0 0 6px var(--c-red)}
.hw-ctl .d.blue{background:var(--c-blue);box-shadow:0 0 6px var(--c-blue)}
.hw-ctl .d.green{background:var(--c-green);box-shadow:0 0 6px var(--c-green)}
/* proxy listener pill — subtle, recessed (matches the real bg-tertiary chip) */
.hw-ctl.proxy{background:var(--c-tert);border-color:var(--c-line);color:var(--c-text2)}
/* intercept-off shown in red, AI-on in blue (the real toggle states) */
.hw-ctl.intercept{color:var(--c-red);border-color:color-mix(in srgb,var(--c-red) 42%,transparent)}
.hw-ctl.intercept .hw-ci{color:var(--c-red);opacity:1}
.hw-ctl.ai{color:var(--c-blue);border-color:color-mix(in srgb,var(--c-blue) 42%,transparent)}
.hw-ctl.ai .chev{font:800 13px/1 var(--f-mono);font-style:normal}
.hw-ctl.icon{padding:0;width:26px;justify-content:center}
.hw-ctl .cv,.hw-mini .cv,.hw-fi .cv{font-size:8px;opacity:.7;margin-left:1px}

/* external theme selector (above the window — marketing affordance) */
.hw-themebar{display:flex;align-items:center;gap:3px;margin:30px 0 0;padding:4px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);width:max-content;max-width:100%;flex-wrap:wrap}
.hw-themebar-l{font:700 9px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:0 9px 0 7px}
.hw-themebar button{font:600 11px var(--f-mono);color:var(--mut);background:none;border:0;border-radius:var(--r-pill);padding:6px 13px;cursor:pointer;transition:.16s}
.hw-themebar button:hover{color:var(--ink)}
.hw-themebar button[aria-pressed="true"]{color:var(--bg);background:var(--ember)}
.hw-themebar .hw-seg-sep{width:1px;align-self:stretch;flex:none;margin:3px 3px;background:var(--line)}
.hw-themebar + .hw-win{margin-top:14px}

/* HTTP history toolbar extras */
.hw-tabm{font:600 11px var(--f-mono);padding:4px 9px;border-radius:5px;color:var(--c-dim)}
.hw-tabm.on{color:var(--c-text);background:var(--c-tert)}
.hw-mini{font:11px var(--f-mono);color:var(--c-dim);padding:4px 7px;border-radius:5px;white-space:nowrap}
.hw-mini.on{color:var(--c-text2)}
.hw-chips i{font-style:normal}
.hw-tbar .hw-find{flex:0 1 auto;min-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-tbar .hw-chips,.hw-tbar .hw-tabm,.hw-tbar .hw-mini,.hw-tbar .hw-cnt{flex:none}

/* dense HTTP history table (dot + # + host + method + path + status + ext + size + time + sent) */
.hw-thead.d,.hw-row.d{grid-template-columns:16px 26px 1.25fr 52px 1.9fr 46px 42px 48px 54px 64px;gap:7px;align-items:center}
.hw-row.d{height:24px;font-size:11px}
.hw-thead.d{height:26px}
.hw-row .dot{width:7px;height:7px;border-radius:50%;justify-self:center}
.hw-row .dot.g{background:var(--c-green)}.hw-row .dot.y{background:var(--c-yellow)}.hw-row .dot.r{background:var(--c-red)}.hw-row .dot.b{background:var(--c-blue)}
.hw-row .ts{color:var(--c-dim)}

/* sub-tabs (scanner) + tab bar (repeater/intruder/agent/ratrace) */
.hw-subtabs{display:flex;gap:2px;flex:none;padding:0 12px;height:30px;align-items:center;border-bottom:1px solid var(--c-app);background:var(--c-app)}
.hw-subtabs span{font:600 11px var(--f-mono);color:var(--c-dim);padding:5px 10px;border-radius:5px 5px 0 0;cursor:default}
.hw-subtabs span.on{color:var(--c-text);border-bottom:2px solid var(--c-blue)}
.hw-subtabs b{color:var(--c-text2);font-weight:700}
.hw-tabbar{display:flex;gap:2px;flex:none;height:32px;align-items:flex-end;padding:0 10px;border-bottom:1px solid var(--c-app);background:var(--c-2);overflow:hidden}
.hw-rtab{font:600 11px var(--f-mono);color:var(--c-dim);padding:6px 11px;border-radius:6px 6px 0 0;white-space:nowrap;cursor:default}
.hw-rtab.on{color:var(--c-text);background:var(--c-app);border:1px solid var(--c-line);border-bottom:0}
.hw-rtab b{color:var(--c-text2)}
.hw-rtab.plus{color:var(--c-dim);padding:6px 9px}
.hw-tbar.slim{height:36px}
.hw-tbar.slim .hw-find{flex:1;color:var(--c-text2)}

/* toggles + warm button */
.hw-toggles{display:flex;gap:4px;flex-wrap:wrap}
.hw-tg{font:600 10px var(--f-mono);color:var(--c-dim);padding:5px 9px;border-radius:5px;border:1px solid var(--c-line);white-space:nowrap}
.hw-tg.on{color:var(--c-blue);border-color:transparent;background:color-mix(in srgb,var(--c-blue) 14%,transparent)}
.hw-btn.warm{color:#fff;background:var(--c-orange);border-color:transparent}
.hw-btn.wide{width:100%;justify-content:center;text-align:center;margin-top:4px}

/* scanner body: findings + Current Output side panel */
.hw-scan{flex:1;display:flex;flex-direction:row;gap:1px;min-height:0;background:var(--c-app)}
.hw-scan-main{flex:1.7;min-width:0;display:flex;flex-direction:column}
.hw-scan-side{flex:1;max-width:280px;padding:13px;overflow:auto;background:var(--c-2)}
.hw-prog{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--c-app);font:11px var(--f-mono);color:var(--c-dim)}
.hw-prog-l{flex:none}.hw-prog-l b{color:var(--c-text2)}
.hw-bar{flex:1;height:5px;border-radius:3px;background:var(--c-tert);overflow:hidden}
.hw-bar i{display:block;height:100%;width:calc(var(--w)*100%);background:var(--c-blue)}
.hw-prog-p{flex:none;color:var(--c-text2);font-weight:700}
.hw-side-h{font:700 9px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c-dim);margin:0 0 9px}
.hw-scan-side .hw-side-h:not(:first-child){margin-top:18px}
.hw-sevgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.hw-sevgrid.race{grid-template-columns:1fr 1fr}
.hw-sevcell{display:flex;flex-direction:column;gap:2px;padding:9px 11px;border:1px solid var(--c-line);border-radius:var(--r);font:10px var(--f-mono);color:var(--c-dim);background:var(--c-panel)}
.hw-sevcell b{font:700 18px var(--f-mono);color:var(--c-text);font-variant-numeric:tabular-nums}
.hw-sevcell.crit b{color:var(--c-red)}.hw-sevcell.high b{color:var(--c-orange)}.hw-sevcell.med b{color:var(--c-yellow)}.hw-sevcell.low b{color:var(--c-blue)}.hw-sevcell.info b{color:var(--c-dim)}
.hw-covline{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font:11px var(--f-mono);color:var(--c-text2);border-bottom:1px solid var(--c-app)}
.hw-covline b{color:var(--c-text);font-variant-numeric:tabular-nums}

/* agent run manager */
.hw-agent{flex:1;display:flex;gap:1px;min-height:0;background:var(--c-app)}
.hw-runs{flex:1.5;min-width:0;display:flex;flex-direction:column;padding:13px 14px;gap:9px;overflow:auto}
.hw-runs-h{display:flex;align-items:center;justify-content:space-between}
.hw-runs-h span{font:600 12px var(--f-body);color:var(--c-text)}.hw-runs-h b{color:var(--c-dim);font-weight:600}
.hw-runfilters{display:flex;gap:3px}
.hw-runfilters span{font:600 10px var(--f-mono);color:var(--c-dim);padding:4px 9px;border-radius:var(--r-pill)}
.hw-runfilters span.on{color:var(--c-text);background:var(--c-tert)}
.hw-runrow{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--c-line);border-radius:6px;background:var(--c-panel)}
.hw-runrow.run{border-color:color-mix(in srgb,var(--c-blue) 40%,var(--c-line))}
.hw-runrow .rn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12.5px var(--f-body);color:var(--c-text)}
.hw-runrow .rb{font:700 9px var(--f-mono);letter-spacing:.04em;padding:3px 7px;border-radius:3px;flex:none}
.hw-runrow .rb.done{color:var(--c-green);background:color-mix(in srgb,var(--c-green) 15%,transparent)}
.hw-runrow .rb.running{color:var(--c-blue);background:color-mix(in srgb,var(--c-blue) 15%,transparent)}
.hw-runrow .rb.budget{color:var(--c-orange);background:color-mix(in srgb,var(--c-orange) 15%,transparent)}
.hw-runrow .rb.err{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 15%,transparent)}
.hw-runrow .rs{flex:none;font:11px var(--f-mono);color:var(--c-dim);width:58px;text-align:right}
.hw-newrun{flex:1;max-width:300px;padding:14px;overflow:auto;background:var(--c-2)}
.hw-ta{min-height:70px;padding:10px 12px;border:1px solid var(--c-line);border-radius:6px;background:var(--c-panel);color:var(--c-dim);font:12px var(--f-body);margin-bottom:16px}
.hw-budget{display:flex;gap:3px;margin-bottom:14px;padding:3px;background:var(--c-tert);border-radius:6px}
.hw-budget span{flex:1;text-align:center;font:600 11px var(--f-mono);color:var(--c-text2);padding:6px;border-radius:4px}
.hw-budget span.on{color:var(--c-app);background:var(--c-blue)}
.hw-newrun-note{margin:16px 0 0;font:11px/1.6 var(--f-mono);color:var(--c-dim)}.hw-newrun-note b{color:var(--c-text2)}

/* ratrace config form + results */
.hw-race2{flex:1;display:flex;gap:1px;min-height:0;background:var(--c-app)}
.hw-form{flex:1;max-width:340px;padding:15px 16px;overflow:auto;background:var(--c-2)}
.hw-fl{display:block;font:600 10px var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--c-dim);margin:13px 0 5px}
.hw-form .hw-fl:first-of-type{margin-top:9px}
.hw-fi{padding:8px 11px;border:1px solid var(--c-line);border-radius:6px;background:var(--c-panel);color:var(--c-text);font:12px var(--f-body);display:flex;align-items:center;justify-content:space-between}
.hw-fi.mono{font:12px var(--f-mono);color:var(--c-text2)}
.hw-fi.tall{min-height:46px;align-items:flex-start}
.hw-frow{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.hw-enh{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0 16px}
.hw-results{flex:1;min-width:0;padding:16px 18px;overflow:auto;display:flex;flex-direction:column;gap:15px}
.hw-results .hw-laneset{display:flex;gap:5px;height:60px;align-items:flex-end}
.hw-results .lane{flex:1;background:color-mix(in srgb,var(--c-blue) 32%,transparent);border-radius:2px 2px 0 0;height:100%}
.hw-results .lane:nth-child(3),.hw-results .lane:nth-child(7),.hw-results .lane:nth-child(9),.hw-results .lane:nth-child(10){background:var(--c-green)}
.hw-race-f{margin:0;font:13px/1.6 var(--f-body);color:var(--c-text2)}

/* status bar extras */
.hw-traf{color:var(--c-dim);font:11px var(--f-mono)}
.hw-ver{color:var(--c-dim);font:11px var(--f-mono)}

/* sitemap — 3-pane (hosts tree · endpoints · detail) */
.hw-3pane{flex:1;display:flex;gap:1px;min-height:0;background:var(--c-app)}
.hw-pane3{display:flex;flex-direction:column;min-width:0;min-height:0}
.hw-pane3+.hw-pane3{border-left:0}
.hw-pane3.tree{flex:1.05;min-width:172px;max-width:248px;background:var(--c-2)}
.hw-pane3.mid{flex:1.5}
.hw-pane3.detail{flex:1.6;background:var(--c-panel)}
.hw-pane3 .hw-ph .pth{text-transform:none;letter-spacing:.01em;color:var(--c-text2);font-weight:600;margin-left:5px}
.hw-tree{flex:1;overflow:auto;padding:7px}
.hw-tnode{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:5px;font:12.5px var(--f-mono);color:var(--c-text);cursor:pointer}
.hw-tnode:hover{background:var(--c-hover)}
.hw-tnode .tw{font-style:normal;font-size:9px;color:var(--c-dim);width:9px}
.hw-tnode .hh{flex:1;overflow:hidden;text-overflow:ellipsis}
.hw-tnode .tc{color:var(--c-dim);font-size:11px}
.hw-tleaf{padding:5px 8px 5px 26px;border-radius:5px;font:12px var(--f-mono);color:var(--c-text2);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-tleaf:hover{background:var(--c-hover);color:var(--c-text)}
.hw-tleaf.sel{color:var(--c-blue);background:color-mix(in srgb,var(--c-blue) 12%,transparent)}
.hw-eptable{flex:1;display:flex;flex-direction:column;overflow:auto;min-height:0}
.hw-ephead,.hw-eprow{display:grid;grid-template-columns:62px 54px 1fr 78px;gap:9px;padding:0 13px;align-items:center}
.hw-ephead{height:30px;flex:none;font:700 10px var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--c-dim);border-bottom:1px solid var(--c-app);background:var(--c-2)}
.hw-eprow{height:32px;font:12px var(--f-mono);color:var(--c-text2);border-bottom:1px solid var(--c-app);cursor:pointer}
.hw-eprow:hover{background:var(--c-hover)}
.hw-eprow.sel{background:color-mix(in srgb,var(--c-blue) 11%,transparent)}
.hw-eprow .st{font-weight:700}
.hw-eprow .pr{color:var(--c-text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-eprow .ts{color:var(--c-dim)}
.hw-pane3.detail .hw-code{flex:1}
@container (max-width:720px){
  .hw-pane3.tree{display:none}
}

/* ═══ HTTP History detail pass — toolbar controls, status chips, flow panel ══ */
.hw-search{display:inline-flex;align-items:center;gap:7px;flex:0 1 250px;min-width:80px;height:26px;padding:0 11px;border:1px solid var(--c-line);border-radius:6px;background:var(--c-2);color:var(--c-dim);font:11px var(--f-mono);overflow:hidden}
.hw-search .hw-ci{width:13px;height:13px;flex:none}
.hw-search .ph{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:27px;height:26px;flex:none;border-radius:6px;color:var(--c-dim);cursor:pointer;transition:.16s}
.hw-iconbtn:hover{color:var(--c-text);background:var(--c-hover)}
.hw-iconbtn .hw-ci{width:14px;height:14px}
.hw-chk{display:inline-flex;align-items:center;gap:6px;font:11px var(--f-mono);color:var(--c-dim);white-space:nowrap;flex:none;cursor:pointer}
.hw-chk .box{width:13px;height:13px;border:1px solid var(--c-line);border-radius:3px;flex:none}
.hw-chk.on{color:var(--c-text2)}
.hw-chk.on .box{background:var(--c-blue);border-color:transparent;position:relative}
.hw-chk.on .box::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--c-app)}
.hw-chips i.on.c2{color:var(--c-green);border-color:color-mix(in srgb,var(--c-green) 40%,transparent);background:color-mix(in srgb,var(--c-green) 13%,transparent)}
.hw-chips i.on.c3{color:var(--c-blue);border-color:color-mix(in srgb,var(--c-blue) 40%,transparent);background:color-mix(in srgb,var(--c-blue) 13%,transparent)}
.hw-chips i.on.c4{color:var(--c-yellow);border-color:color-mix(in srgb,var(--c-yellow) 40%,transparent);background:color-mix(in srgb,var(--c-yellow) 13%,transparent)}
.hw-chips i.on.c5{color:var(--c-red);border-color:color-mix(in srgb,var(--c-red) 40%,transparent);background:color-mix(in srgb,var(--c-red) 13%,transparent)}

/* status as a tight chip (matches the real table) */
.hw-row .st,.hw-eprow .st{justify-self:start;padding:1px 7px;border-radius:3px;font-weight:700;line-height:1.4}
.hw-row .st.s2,.hw-eprow .st.s2{color:var(--c-green);background:color-mix(in srgb,var(--c-green) 12%,transparent)}
.hw-row .st.s3,.hw-eprow .st.s3{color:var(--c-blue);background:color-mix(in srgb,var(--c-blue) 12%,transparent)}
.hw-row .st.s4{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 12%,transparent)}
.hw-row .st.s4y{color:var(--c-yellow);background:color-mix(in srgb,var(--c-yellow) 12%,transparent)}
.hw-row .st.s5{color:var(--c-red);background:color-mix(in srgb,var(--c-red) 14%,transparent)}

/* pagination footer */
.hw-pagi{display:flex;align-items:center;gap:10px;flex:none;height:31px;padding:0 14px;border-top:1px solid var(--c-app);background:var(--c-2);font:11px var(--f-mono);color:var(--c-dim)}
.hw-pagi b{color:var(--c-text2)}
.hw-pg{font:600 11px var(--f-mono);color:var(--c-text2);background:var(--c-tert);border:1px solid var(--c-line);border-radius:5px;padding:4px 11px;cursor:pointer}
.hw-pg:disabled{opacity:.4;cursor:not-allowed}

/* HTTP History 2-col: table + flow detail */
.hw-dash{flex:1;display:flex;min-height:0}
.hw-dash .hw-tablewrap{flex:1;min-width:0}
.hw-flow{flex:none;width:42%;max-width:460px;min-width:300px;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--c-app);background:var(--c-2)}
.hw-flow[hidden]{display:none}
.hw-flow-h{display:flex;align-items:center;gap:8px;flex:none;height:38px;padding:0 12px;border-bottom:1px solid var(--c-app);background:var(--c-2)}
.hw-flow-t{font:600 12px var(--f-body);color:var(--c-text2);white-space:nowrap}
.hw-flow-t b{color:var(--c-text);font-family:var(--f-mono);font-weight:600;margin-left:4px}
.hw-flow-h .hw-btn{padding:4px 9px;font-size:10px}
.hw-flow-x{width:24px;height:24px;flex:none;border:0;background:none;color:var(--c-dim);cursor:pointer;border-radius:5px;font-size:13px;line-height:1}
.hw-flow-x:hover{color:var(--c-text);background:var(--c-hover)}
.hw-flow-url{display:flex;align-items:center;gap:9px;flex:none;padding:9px 12px;border-bottom:1px solid var(--c-app);font:11px var(--f-mono)}
.hw-flow-url .u{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text2)}
.hw-flow-tabs{display:flex;gap:2px;flex:none;padding:0 10px;height:32px;align-items:center;border-bottom:1px solid var(--c-app)}
.hw-flow-tabs span{font:600 11px var(--f-mono);color:var(--c-dim);padding:6px 9px;border-radius:5px 5px 0 0;cursor:default}
.hw-flow-tabs span.on{color:var(--c-text);border-bottom:2px solid var(--c-blue)}
.hw-flow-body{flex:1;margin:0;overflow:auto}
@container (max-width:760px){ .hw-flow{display:none} }

/* uniform toolbar control height + shape (one 27px row) */
.hw-tbar .hw-tabm,.hw-tbar .hw-mini,.hw-tbar .hw-chk,.hw-tbar .hw-search,
.hw-tbar .hw-iconbtn,.hw-tbar .hw-chips i{height:27px;box-sizing:border-box;display:inline-flex;align-items:center;border-radius:6px}
.hw-tbar .hw-chips i{padding:0 9px}
.hw-tbar .hw-tabm{padding:0 11px}
.hw-tbar .hw-mini{padding:0 9px}
.hw-tbar .hw-iconbtn{width:27px;padding:0}
.hw-tbar .hw-search{padding:0 11px}
.hw-tbar .hw-chips{gap:5px}

/* footer command items with leading icons */
.hw-cmds{display:flex;align-items:center;gap:14px}
.hw-cmds .ci{display:inline-flex;align-items:center;gap:5px;color:var(--c-dim);white-space:nowrap}
.hw-cmds .ci.on{color:var(--c-text2)}
.hw-cmds .ci .hw-ci{width:12px;height:12px;flex:none;opacity:.85}
