/* goattech style tokens v1. pure neutral grayscale, no hue anywhere. r=g=b on every value. */
:root{
  /* ramp (dark to light) */
  --n-0:#000000; --n-50:#0a0a0a; --n-100:#141414; --n-200:#1f1f1f; --n-300:#333333;
  --n-400:#4d4d4d; --n-500:#626262; --n-600:#8f8f8f; --n-700:#b3b3b3; --n-800:#d4d4d4;
  --n-900:#e8e8e8; --n-950:#f2f2f2; --n-1000:#ffffff;

  /* dark surface (default for TV, HUD, panels, apps) */
  --bg:var(--n-50); --surface:var(--n-100); --surface-2:var(--n-200);
  --line:var(--n-300); --dim:var(--n-600); --text:var(--n-950); --text-strong:var(--n-1000);
  --focus:var(--n-1000);

  /* type */
  --font-sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* spacing, 4px base */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;

  /* shape */
  --radius-0:0; --radius-1:4px; --radius-pill:999px; --hairline:1px;

  /* motion */
  --ease:cubic-bezier(.2,.8,.2,1); --t-fast:150ms; --t-base:300ms; --t-slow:900ms;
}
/* light surface (marketing pages, docs). swap, never add a color */
.theme-light{ --bg:var(--n-950); --surface:var(--n-900); --surface-2:var(--n-800);
  --line:#cdcdcd; --dim:var(--n-500); --text:var(--n-50); --text-strong:var(--n-0); --focus:var(--n-0); }
/* focus is a 2px ring in --focus with 3px offset (4px ring, 4px offset on TV at 10ft) */
:focus-visible{ outline:2px solid var(--focus); outline-offset:3px; }
@media (prefers-reduced-motion:reduce){ :root{ --t-fast:0ms; --t-base:0ms; --t-slow:0ms; } }
:root{--ink:var(--text);--muted:var(--dim);--accent:var(--text-strong);--notice:var(--surface-2);--bad:var(--text-strong);font-family:var(--font-sans);color:var(--ink);background:var(--bg);color-scheme:dark;font-size:17px;line-height:1.55}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}header,main,footer{max-width:1480px;margin:auto;padding-inline:32px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px}.brand{font-size:28px;font-weight:700;letter-spacing:-1px;text-decoration:none}nav{display:flex;gap:28px}main{padding-bottom:60px}.intro{max-width:960px;margin:28px 0 48px}h1{font-size:clamp(30px,4.1vw,58px);line-height:1.04;letter-spacing:-.04em;margin:0 0 20px;max-width:24ch}h2{font-size:28px;line-height:1.2;letter-spacing:-.025em;margin:0 0 20px}h3{font-size:18px;margin:24px 0 10px}p{margin:10px 0 18px;max-width:78ch}.intro>p{font-size:20px;max-width:65ch}.notice{padding:16px 20px;background:var(--notice);max-width:82ch}strong{font-weight:700}section{margin-bottom:60px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:16px}.sectionhead h2,.sectionhead h3{margin:0}.sectionhead+ p{margin-top:16px}#engine{color:var(--accent);font-size:14px}.workbench{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:var(--surface);padding:24px}label{display:block;font-weight:600;margin:0 0 8px}input,textarea,select,button{font:inherit;color:var(--ink);border-radius:4px}input,textarea,select{width:100%;background:var(--surface);border:1px solid var(--line);padding:10px 12px}select{height:46px}textarea{resize:vertical;min-height:150px;overflow-wrap:anywhere}#key,#output{font-family:var(--font-mono)}.keyrow{display:grid;grid-template-columns:1fr auto;gap:8px}button{background:var(--bg);border:1px solid var(--line);padding:10px 14px;min-height:44px;cursor:pointer;white-space:nowrap}button:hover{border-color:var(--ink)}button:active{transform:translateY(1px)}button:disabled{color:var(--muted);cursor:not-allowed}#enc{background:var(--text-strong);color:var(--bg)}#enc:disabled{background:var(--surface-2);color:var(--dim)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}#mode-note,#key-note,#stats,#status,.output>p{font-size:14px;color:var(--muted)}#status{min-height:24px}#status.error{color:var(--bad)}.output .sectionhead{margin-bottom:12px}#output{height:288px}.finding{font-size:24px;line-height:1.3;color:var(--bad)}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{text-align:right;padding:14px 16px;border-bottom:1px solid var(--line)}th:first-child{text-align:left}thead th{font-weight:400;color:var(--muted)}tbody th{font-weight:500}.tablewrap{overflow-x:auto}.researchgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px}details{background:var(--notice);padding:16px 20px;margin:24px 0}summary{cursor:pointer;font-weight:600;min-height:32px}footer{padding-block:24px 40px}footer span{font-weight:700;font-size:28px}footer p{color:var(--muted)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--notice)}@media(max-width:800px){header,main,footer{padding-inline:20px}.workbench,.researchgrid{grid-template-columns:1fr}.workbench{padding:20px;gap:24px}.sectionhead{align-items:flex-start}nav{gap:16px;font-size:14px}.intro{margin-top:20px}#engine{max-width:130px;text-align:right}.keyrow{grid-template-columns:1fr}.researchgrid{gap:0}.tablewrap{margin-inline:-4px}th,td{padding:12px 8px;font-size:14px}h2{font-size:26px}}@media(prefers-reduced-motion:reduce){button:active{transform:none}}

button{transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}button:hover:not(:disabled){background:var(--surface-2)}#enc:hover:not(:disabled){background:var(--n-800)}#status.error{font-weight:600}#status.error::before{content:"[failed] ";}.finding{font-weight:600}#engine::before{content:"[engine] ";}::selection{background:var(--text);color:var(--bg)}
nav a{display:inline-flex;align-items:center;min-height:44px}summary{min-height:44px}input{min-height:44px}
