:root{--step--1:clamp(.8rem, .78rem + .1vw, .875rem);--step-0:clamp(1rem, .96rem + .2vw, 1.125rem);--step-1:clamp(1.2rem, 1.1rem + .5vw, 1.4rem);--step-2:clamp(1.45rem, 1.25rem + 1vw, 1.9rem);--step-3:clamp(1.75rem, 1.4rem + 1.75vw, 2.6rem);--step-4:clamp(2.1rem, 1.5rem + 3vw, 3.6rem);--step-5:clamp(2.5rem, 1.5rem + 5vw, 5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:5rem;--radius-0:0;--radius-1:2px;--border-w:1px;--motion:1;--dur-fast:calc(.12s * var(--motion));--dur-med:calc(.25s * var(--motion));--dur-slow:calc(.6s * var(--motion));--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-glitch:steps(2, jump-none);--z-header:100;--z-toast:200;--z-dialog:300;--shell-header-h:3.5rem;--measure:68ch;--grid-max:1100px;--gutter:clamp(1rem, 4vw, 2rem)}@media (prefers-reduced-motion:reduce){:root{--motion:0}}:root[data-motion=reduced]{--motion:0}:root:not([data-theme]),:root[data-theme=light]{--c-bg:#f3f6f6;--c-surface:#fff;--c-sunken:#e7eded;--c-fg:#0e1314;--c-fg-muted:#4b5557;--c-fg-subtle:#8a9597;--c-border:#d3dbdc;--c-border-strong:#778385;--c-grid:#0e131408;--c-accent:#c8102e;--c-accent-fg:#fff;--c-accent-soft:#c8102e14;--c-focus:#c8102e;--c-tile-correct:#2e7d4f;--c-tile-present:#a37a00;--c-tile-absent:#6b7678;--c-tile-fg:#fff;--c-tile-correct-hc:#d4560f;--c-tile-present-hc:#1f6fd1;--c-tile-hc-fg:#fff;--c-lie:#c8102e;--c-redact:#0e1314;--c-hell-surface:#1c0a07;--c-hell-grid:#ff8a5c0c;--c-hell-fg:#ffe3d1;--c-hell-fg-muted:#e5a98a;--c-hell-accent:#ff7a2e;--c-hell-lie:#ff4d4d;--marks-opacity:1;--scanline-opacity:0}:root[data-theme=dark]{--c-bg:#0b0d0e;--c-surface:#121517;--c-sunken:#070809;--c-fg:#e4e7e5;--c-fg-muted:#9aa19f;--c-fg-subtle:#5f6866;--c-border:#23292b;--c-border-strong:#6a7578;--c-grid:#e4e7e505;--c-accent:#ff4136;--c-accent-fg:#0b0d0e;--c-accent-soft:#ff413620;--c-focus:#ff4136;--c-tile-correct:#2f8f57;--c-tile-present:#a88420;--c-tile-absent:#3a3f42;--c-tile-fg:#fff;--c-tile-correct-hc:#f5793a;--c-tile-present-hc:#85c0f9;--c-tile-hc-fg:#0b0d0e;--c-lie:#ff4136;--c-redact:#3b4346;--c-hell-surface:#130607;--c-hell-grid:#ff8a5c08;--c-hell-fg:#ffd9c4;--c-hell-fg-muted:#d9977c;--c-hell-accent:#ff6a1f;--c-hell-lie:#ff3b3b;--marks-opacity:0;--scanline-opacity:1}@media (prefers-color-scheme:dark){:root:not([data-theme]){--c-bg:#0b0d0e;--c-surface:#121517;--c-sunken:#070809;--c-fg:#e4e7e5;--c-fg-muted:#9aa19f;--c-fg-subtle:#5f6866;--c-border:#23292b;--c-border-strong:#6a7578;--c-grid:#e4e7e505;--c-accent:#ff4136;--c-accent-fg:#0b0d0e;--c-accent-soft:#ff413620;--c-focus:#ff4136;--c-tile-correct:#2f8f57;--c-tile-present:#a88420;--c-tile-absent:#3a3f42;--c-tile-fg:#fff;--c-tile-correct-hc:#f5793a;--c-tile-present-hc:#85c0f9;--c-tile-hc-fg:#0b0d0e;--c-lie:#ff4136;--c-redact:#3b4346;--c-hell-surface:#130607;--c-hell-grid:#ff8a5c08;--c-hell-fg:#ffd9c4;--c-hell-fg-muted:#d9977c;--c-hell-accent:#ff6a1f;--c-hell-lie:#ff3b3b;--marks-opacity:0;--scanline-opacity:1}}:root[data-contrast=high]{--c-tile-correct:var(--c-tile-correct-hc);--c-tile-present:var(--c-tile-present-hc);--c-tile-fg:var(--c-tile-hc-fg);--c-hell-surface:#0a0202;--c-hell-grid:#ffb08a1a;--c-hell-fg:#fff;--c-hell-fg-muted:#ffd0b8;--c-hell-accent:#ffa040;--c-hell-lie:#ff6b6b}*,:before,:after{box-sizing:border-box}:root{color-scheme:light dark;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--shell-header-h) + var(--space-4))}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduced]){scroll-behavior:smooth}}body{background-color:var(--c-bg);background-image:linear-gradient(var(--c-grid) 1px, transparent 1px), linear-gradient(90deg, var(--c-grid) 1px, transparent 1px);min-height:100dvh;color:var(--c-fg);font-family:var(--font-sans);font-size:var(--step-0);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;background-size:24px 24px;margin:0;line-height:1.6}body:after{content:"";z-index:var(--z-toast);pointer-events:none;opacity:var(--scanline-opacity);background-image:repeating-linear-gradient(to bottom, var(--c-grid) 0, var(--c-grid) 1px, transparent 1px, transparent 3px);position:fixed;inset:0}h1,h2,h3,h4,button,input,select,textarea,.mono{font-family:var(--font-mono)}h1,h2,h3,h4{margin:0 0 var(--space-3);letter-spacing:-.01em;text-wrap:balance;line-height:1.15}h1{font-size:var(--step-4);font-weight:700}h2{font-size:var(--step-2);font-weight:700}h3{font-size:var(--step-1);font-weight:600}p{margin:0 0 var(--space-4);text-wrap:pretty}img,svg{max-width:100%;display:block}button{font-size:inherit;color:inherit}a{color:var(--c-accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}hr{border:0;border-top:var(--border-w) solid var(--c-border)}::selection{background:var(--c-accent);color:var(--c-accent-fg)}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px;border-radius:var(--radius-1)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{top:var(--space-2);left:var(--space-2);z-index:var(--z-dialog);padding:var(--space-2) var(--space-4);background:var(--c-accent);color:var(--c-accent-fg);font-family:var(--font-mono);font-size:var(--step--1);text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.container{width:100%;max-width:var(--grid-max);padding-inline:var(--gutter);margin-inline:auto}.label{margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--c-fg-muted);font-weight:500}.label:before{content:"["}.label:after{content:"]"}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-5);border:var(--border-w) solid var(--c-accent);border-radius:var(--radius-0);background:var(--c-accent);color:var(--c-accent-fg);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:0 0 0 3px var(--c-accent-soft);text-decoration:none}.btn:focus-visible{box-shadow:0 0 0 5px var(--c-accent-soft)}.btn[aria-disabled=true]{border-color:var(--c-border-strong);color:var(--c-fg-muted);cursor:not-allowed;box-shadow:none;background:0 0}.icon-btn{justify-content:center;align-items:center;gap:var(--space-2);min-width:2.5rem;min-height:2.5rem;padding:0 var(--space-2);border:var(--border-w) solid var(--c-border-strong);border-radius:var(--radius-0);color:var(--c-fg);font-family:var(--font-mono);font-size:var(--step--1);cursor:pointer;background:0 0;display:inline-flex}.icon-btn:hover{background:var(--c-accent-soft)}@media (pointer:coarse){.icon-btn{min-width:2.75rem;min-height:2.75rem}}.icon-btn[aria-disabled=true]{color:var(--c-fg-muted);cursor:not-allowed}.icon-btn[aria-disabled=true]:hover{background:0 0}.icon-btn svg{width:1.25rem;height:1.25rem}.prose{max-width:var(--measure)}.prose h2{margin-top:var(--space-6);font-size:var(--step-1)}.prose ul,.prose ol{margin:0 0 var(--space-4);padding-left:1.25em}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes flicker{0%,to{opacity:1}8%{opacity:.55}10%{opacity:1}44%{opacity:1}46%{opacity:.7}48%{opacity:1}}@keyframes glitch-tear{0%{clip-path:inset(0);transform:translate(0)}20%{clip-path:inset(10% 0 55%);transform:translate(-3px)}40%{clip-path:inset(60% 0 10%);transform:translate(3px)}60%{clip-path:inset(30% 0 35%);transform:translate(-2px)}80%{clip-path:inset(0 0 70%);transform:translate(2px)}to{clip-path:inset(0);transform:translate(0)}}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=reduced]) .cursor{animation:cursor-blink 1.1s var(--ease-glitch) infinite}:root:not([data-motion=reduced]) .glitch-once{animation:flicker .3s var(--ease-glitch) 1}:root[data-theme=dark]:not([data-motion=reduced]) .glitch-once{animation:glitch-tear .3s var(--ease-glitch) 1;position:relative}:root:not([data-motion=reduced]) .logo-flicker:hover,:root:not([data-motion=reduced]) a:focus-visible .logo-flicker{animation:flicker .4s var(--ease-glitch) 1}:root[data-theme=dark]:not([data-motion=reduced]) .redact{animation:7s linear infinite flicker}}
