:root{--bg:#111111;--panel:#161616;--line:#2a2a2a;--lime:#ccff00;--cyan:#00ffff;--text:#e5e5e5;--muted:#a3a3a3}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:inter,system-ui,sans-serif;background-image:linear-gradient(rgba(204,255,0,4%) 1px,transparent 1px),linear-gradient(90deg,rgba(204,255,0,4%) 1px,transparent 1px);background-size:48px 48px;min-height:100vh;display:flex;flex-direction:column}main{flex:1}.wrap{max-width:72rem;margin:0 auto;padding:0 1rem}h1,h2,h3{font-family:space grotesk,sans-serif}a{color:inherit}header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(17,17,17,.92);backdrop-filter:blur(6px)}.header-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none}.brand-mark{background:var(--lime);color:#111;font-family:jetbrains mono,monospace;font-weight:700;padding:.25rem .4rem;font-size:.8rem}.brand-name{font-family:space grotesk,sans-serif;font-weight:700}.brand-dot{color:var(--lime);font-size:.8em;letter-spacing:.05em}nav{display:flex;gap:1rem;font-family:jetbrains mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}nav a{color:var(--muted);text-decoration:none}nav a:hover{color:var(--lime)}.hero{padding:5rem 0}.kicker{font-family:jetbrains mono,monospace;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan)}.hero h1{font-size:clamp(2.5rem,8vw,5rem);line-height:.95;margin-top:1rem}.accent{color:var(--lime)}.lede{color:var(--muted);max-width:36rem;margin-top:1.5rem;line-height:1.7}.section-title{margin-top:3rem}.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));margin:1.5rem 0 4rem}.card{border:1px solid var(--line);background:var(--panel);padding:1.25rem;text-decoration:none;display:block}.card:hover{border-color:var(--lime)}.card-code{font-family:jetbrains mono,monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.card h3{margin-top:.75rem}.card-zh,.zh{color:var(--cyan);font-family:jetbrains mono,monospace;font-size:.8em;font-weight:400;margin-left:.4rem}.card-tagline{color:var(--muted);font-size:.875rem;margin-top:.5rem;line-height:1.6}.breadcrumb{font-family:jetbrains mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:2rem 0}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{color:var(--lime)}.entry h1{font-size:clamp(2rem,5vw,3rem)}.tagline{color:var(--muted);margin-top:.5rem}.entry-body{display:flex;gap:2rem;margin-top:2rem}.entry-body .content{flex:1;min-width:0}.entry-body h2{color:var(--lime);border-bottom:2px solid var(--lime);padding-bottom:.4rem;margin:2.5rem 0 1rem;font-size:1.25rem}.entry-body p,.entry-body li{color:var(--muted);line-height:1.75;margin-bottom:.75rem}.infobox{width:19rem;flex-shrink:0;position:sticky;top:4.5rem;align-self:flex-start;border:1px solid var(--line);background:var(--panel);font-size:.875rem}.infobox-head{padding:.75rem 1rem;border-bottom:1px solid var(--line)}.infobox-cat{font-family:jetbrains mono,monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.infobox-title{font-family:space grotesk,sans-serif;font-weight:700;font-size:1.1rem;margin-top:.25rem}.infobox-zh{color:var(--cyan);font-family:jetbrains mono,monospace;font-size:.8rem}.infobox-ribbon{background:var(--lime);color:#111;font-family:jetbrains mono,monospace;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.25em;padding:.35rem 1rem}.infobox dl{display:grid;grid-template-columns:6rem 1fr}.infobox dt{font-family:jetbrains mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--lime);padding:.6rem 0 .6rem 1rem}.infobox dd{padding:.6rem 1rem .6rem 0;color:var(--text)}footer{border-top:1px solid var(--line);padding:2rem 0}.footer-line{font-family:jetbrains mono,monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#666}@media(max-width:800px){.entry-body{flex-direction:column-reverse}.infobox{width:100%;position:static}nav{gap:.6rem;font-size:.6rem}}