:root{--bg:#0b0b0b;--surface:#121212;--surface-2:#1b1b1b;--text:#f4f4f4;--muted:#9b9b9b;--line:#f4f4f4;--line-dim:#3a3a3a;--grid:#ffffff09;--border:var(--line);--accent:#00ff9c;--accent-ink:#0b0b0b;--accent-2:#b06cff;--ok:#00e06a;--warn:#ffb800;--info:#3d8bff;--bw:2px;--bw-thick:4px;--radius:0;--shadow:6px 6px 0 var(--line-dim);--shadow-loud:8px 8px 0 var(--accent);--font-sans:var(--font-flex,ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-display:var(--font-bitcount,var(--font-sans))}*{box-sizing:border-box}html{color-scheme:dark}body{background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);min-height:100dvh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-size:64px 64px;flex-direction:column;margin:0;font-size:1rem;line-height:1.55;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-weight:700;line-height:1.05}a{color:var(--accent);text-underline-offset:3px;box-decoration-break:clone;background-image:linear-gradient(var(--accent), var(--accent));background-position:0 0;background-repeat:no-repeat;background-size:0% 100%;margin:0 -2px;padding:0 2px;text-decoration:underline 2px;transition:background-size .24s linear,color 0s linear .12s}a:hover{color:var(--accent-ink);background-size:100% 100%;text-decoration:none}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:var(--accent-ink)}hr{border:0;border-top:var(--bw-thick) solid var(--line);height:0;margin:2.5rem 0}.container{flex:1;width:100%;max-width:960px;margin-inline:auto;padding:2rem 1.25rem 4rem}.site-header{z-index:10;background:var(--bg);border-bottom:var(--bw-thick) solid var(--line);position:sticky;top:0}.site-header .bar{align-items:center;gap:1.5rem;max-width:960px;margin-inline:auto;padding:.75rem 1.25rem;display:flex}.brand{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--text);font-size:1.25rem;font-weight:700;text-decoration:none}.brand span{color:var(--accent);transition:color 0s linear .12s}.brand:hover span{color:var(--accent-ink)}.nav-links{gap:.35rem;margin-left:auto;display:flex}.nav-links a{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text);border:var(--bw) solid transparent;margin:0;padding:.35rem .6rem;font-size:.78rem;font-weight:700;text-decoration:none}.nav-links a:hover{border-color:var(--accent);color:var(--accent-ink)}.nav-links a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.menu-btn{border:var(--bw) solid var(--line);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;margin-left:auto;padding:0 8px;display:none}.menu-btn span{background:var(--text);width:100%;height:3px;transition:transform .1s steps(2,end),opacity .1s steps(2,end)}.menu-btn[aria-expanded=true]{background:var(--accent);border-color:var(--accent)}.menu-btn[aria-expanded=true] span{background:var(--accent-ink)}.menu-btn[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=639px){.site-header .bar{flex-wrap:wrap;row-gap:0}.menu-btn{display:flex}.nav-links{flex-direction:column;flex-basis:100%;gap:0;padding:0 0 .5rem;display:none}.site-header:has(.menu-btn[aria-expanded=true]) .nav-links{display:flex}.nav-links a{border-color:var(--line-dim);border-width:0 0 var(--bw) 0;padding:.6rem}.nav-links a:hover{border-color:var(--line-dim)}}.site-footer{border-top:var(--bw-thick) solid var(--line);color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;text-align:center;padding:1.5rem 1.25rem;font-size:.75rem}.hero{border-bottom:var(--bw-thick) solid var(--line);margin-bottom:.5rem;padding:1.5rem 0 2rem}.hero h1{overflow-wrap:anywhere;margin:0 0 1rem;font-size:clamp(2.6rem,9vw,4.75rem)}.hero p{color:var(--muted);max-width:62ch;margin:0;font-size:1.05rem}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;display:grid}.card{background:var(--surface);border:var(--bw) solid var(--line);box-shadow:var(--shadow);color:var(--text);margin:0;padding:1.1rem;text-decoration:none;transition:transform 80ms steps(2,end),box-shadow 80ms steps(2,end);display:block}.card:hover{box-shadow:var(--shadow-loud);background:var(--surface);color:var(--text);text-decoration:none;transform:translate(-3px,-3px)}.card h3{margin:0 0 .5rem;font-size:1.2rem}.card:hover h3{color:var(--accent)}.card p{color:var(--muted);margin:0;font-size:.92rem}.card .meta{border-top:var(--bw) solid var(--line-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.9rem;padding-top:.7rem;font-size:.7rem;display:flex}.section-head{border-bottom:var(--bw-thick) solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin:3.25rem 0 1.5rem;padding-bottom:.5rem;display:flex}.section-head h2{margin:0;font-size:clamp(1.6rem,4vw,2.1rem)}.section-head a{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;border-bottom:var(--bw) solid var(--accent);font-size:.75rem;font-weight:700;text-decoration:none}.badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:var(--bw) solid var(--line-dim);color:var(--text);background:var(--surface-2);padding:.15rem .5rem;font-size:.68rem;font-weight:700;line-height:1.5;display:inline-block}.badge.status-playable,.badge.status-active{background:var(--ok);border-color:var(--ok);color:var(--accent-ink)}.badge.status-in-progress,.badge.status-wip{background:var(--warn);border-color:var(--warn);color:var(--accent-ink)}.badge.status-maintained{background:var(--info);border-color:var(--info);color:var(--accent-ink)}.badge.status-planned,.badge.status-archived{border-color:var(--line-dim);color:var(--muted);background:0 0}.badge.type-experiment{background:var(--accent-2);border-color:var(--accent-2);color:var(--text)}.prose{max-width:68ch}.prose h1{border-bottom:var(--bw-thick) solid var(--line);overflow-wrap:anywhere;margin:0 0 1rem;padding-bottom:.75rem;font-size:clamp(2.2rem,7vw,3.4rem)}.prose h2{border-top:var(--bw) solid var(--line-dim);margin-top:3rem;margin-bottom:1rem;padding-top:.75rem;font-size:clamp(1.5rem,4vw,1.9rem)}.prose h3{color:var(--accent);margin-top:2rem;font-size:1.2rem}.prose>.meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.72rem;display:flex}.prose img{border:var(--bw) solid var(--line);max-width:100%}.prose ul,.prose ol{padding-left:1.25rem}.prose li::marker{color:var(--accent)}.prose pre{background:var(--surface);border:var(--bw) solid var(--line);box-shadow:var(--shadow);padding:1rem;overflow-x:auto}.prose code{font-family:var(--font-mono);font-size:.88em}.prose :not(pre)>code{background:var(--surface-2);border:1px solid var(--line-dim);color:var(--accent);padding:.05rem .3rem}.prose blockquote{border-left:var(--bw-thick) solid var(--accent);color:var(--muted);margin:1.5rem 0;padding:.25rem 0 .25rem 1rem}.prose table{border-collapse:collapse;width:100%;font-size:.92rem}.prose th,.prose td{border:var(--bw) solid var(--line-dim);text-align:left;padding:.5rem .65rem}.prose th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;background:var(--surface-2);font-size:.72rem}.prose .code-wrap{position:relative}.prose .code-wrap .copy-btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text);background:var(--surface-2);border:0;border-left:var(--bw) solid var(--line);border-bottom:var(--bw) solid var(--line);cursor:pointer;padding:.4rem .6rem;font-size:.68rem;font-weight:700;line-height:1;position:absolute;top:0;right:0}.prose .code-wrap .copy-btn:hover{background:var(--accent);color:var(--accent-ink)}.back{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text);border:var(--bw) solid var(--line);margin:0 0 1.5rem;padding:.3rem .6rem;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-block}.back:hover{border-color:var(--accent)}@media (prefers-reduced-motion:reduce){a,.brand span,.card,.menu-btn span{transition:none}.card:hover{transform:none}}
