:root{--night:#0b0807;--night-2:#120d0c;--line:#2a201d;--skin:#f2e7df;--muted:#9a8b83;--neon:#ff3b3b;--neon-core:#ffd9d4;--neon-glow:0 0 6px #ff6a5c, 0 0 22px var(--neon), 0 0 60px #ff3b3b8c;--measure:66ch;--gutter:clamp(1rem, 5vw, 4rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--step-credit:.78rem;--step-data:.75rem;--step-body:1.0625rem;--step-card:clamp(2.75rem, 6vw, 4.5rem);--step-display:clamp(4rem, 11vw, 10.5rem);--display-optics:"opsz" 28;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--night);color:var(--skin);font-family:var(--font-text);letter-spacing:.005em;-webkit-text-size-adjust:100%;scrollbar-color:var(--line) var(--night);scrollbar-width:thin;font-size:100%;line-height:1.6}body{min-height:100dvh;font-size:var(--step-body);margin:0}::selection{background:var(--neon);color:var(--night)}:focus-visible{outline:2px solid var(--neon);outline-offset:3px}[tabindex="-1"]:focus{outline:none}a{color:inherit;text-decoration-color:var(--muted);text-underline-offset:.25em;transition:text-decoration-color .16s var(--ease-out);text-decoration-thickness:1px}a:hover{text-decoration-color:var(--skin)}img{max-width:100%;height:auto;display:block}h1,h2,h3,.display{font-variation-settings:var(--display-optics)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:400;line-height:1}p{text-wrap:pretty}.credit{font-family:var(--font-text);font-weight:500;font-size:var(--step-credit);letter-spacing:.32em;text-transform:uppercase}.data{font-family:var(--font-data);font-size:var(--step-data);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--muted)}.prose{max-width:var(--measure)}.neon{color:var(--neon-core);text-shadow:var(--neon-glow)}.skip-link{background:var(--skin);color:var(--night);z-index:10;padding:.5rem .75rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:5;padding:1.25rem var(--gutter);justify-content:space-between;align-items:baseline;display:flex;position:absolute;inset:0 0 auto}.brand{font-family:var(--font-display);font-variation-settings:var(--display-optics);font-size:1.5rem;font-style:italic;text-decoration:none}.brand b{font-style:normal;font-weight:400}main{--header-space:5.5rem;padding:var(--header-space) var(--gutter) clamp(3rem, 8vw, 6rem)}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.lang-hint{left:var(--gutter);z-index:70;max-width:calc(100vw - 2 * var(--gutter));background:var(--night-2);border:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;padding:.85rem 1.1rem;font-size:.9rem;display:flex;position:fixed;bottom:calc(10svh + 1rem)}.lang-hint[hidden]{display:none}.lang-hint a,.lang-hint button{color:var(--skin);cursor:pointer;font-family:var(--font-text);background:0 0;border:0;padding:.25rem 0;text-decoration:none}.lang-hint button{color:var(--muted)}.term{border:1px solid var(--line);background:var(--night-2);width:min(52rem,100vw - 2rem);height:min(32rem,100svh - 4rem);color:var(--skin);font-family:var(--font-data);font-variant-numeric:tabular-nums;padding:0;font-size:.85rem;line-height:1.6}.term[open]{flex-direction:column;display:flex}.term::backdrop{background:#0009}.term .t-log{white-space:pre-wrap;overscroll-behavior:contain;flex:1;padding:1.25rem 1.25rem .5rem;overflow-y:auto}.term .t-line{margin:0}.term .t-key{color:var(--muted);white-space:pre}.term .t-dim{color:var(--muted)}.term .t-echo{color:var(--muted);margin-top:.6rem}.term .t-err{color:var(--neon-core)}.term .t-ok{color:var(--neon-core);text-shadow:var(--neon-glow)}.term a{color:var(--skin)}.term .t-form{border-top:1px solid var(--line);align-items:baseline;gap:.75ch;padding:.75rem 1.25rem 1rem;display:flex}.term .t-prompt{color:var(--neon-core);white-space:nowrap}.term .t-input{min-width:0;color:var(--skin);font:inherit;caret-color:var(--neon);background:0 0;border:0;outline:none;flex:1}.achv{right:var(--gutter);z-index:70;pointer-events:none;justify-items:end;gap:.5rem;display:grid;position:fixed;bottom:calc(10svh + 1rem)}.achv-item{background:var(--night-2);border:1px solid var(--line);text-align:right;transition:opacity .4s var(--ease-out), translate .4s var(--ease-out);gap:.15rem;margin:0;padding:.7rem 1rem;display:grid}@starting-style{.achv-item{opacity:0;translate:0 8px}}.achv-item.out{opacity:0}.achv-item .credit{color:var(--muted)}.achv-name{font-family:var(--font-display);font-variation-settings:var(--display-optics);font-size:1.25rem;font-style:italic}
