:root{--bg:#0a0d0a;--bg-2:#10160f;--panel:#0c110b;--text:#e7f0e2;--muted:#7c8877;--faint:#49543f;--accent:#4eff3a;--accent-dim:#1e3a1c;--accent-ink:#06140a;--line:#e7f0e21a;--display:"Pixelify Sans", system-ui, sans-serif;--term:"VT323", ui-monospace, monospace;--body:"Instrument Sans", system-ui, sans-serif;--pad:clamp(18px, 5vw, 88px)}*{box-sizing:border-box;margin:0;padding:0;border-radius:0!important}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.crt{z-index:60;pointer-events:none;opacity:.6;background:repeating-linear-gradient(0deg,#0000 0 2px,#00000029 3px,#0000 4px);position:fixed;inset:0}.vignette{z-index:59;pointer-events:none;background:radial-gradient(130% 100% at 50% 40%,#0000 58%,#0009 100%);position:fixed;inset:0}#gl{z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.no-webgl #gl{display:none}main{z-index:10;position:relative}.wrap{max-width:1180px;padding:0 var(--pad);margin:0 auto}.nav{z-index:50;height:60px;padding:0 var(--pad);background:linear-gradient(var(--bg), #0a0d0a00);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav .mark{font-family:var(--term);letter-spacing:.02em;font-size:26px;line-height:1}.nav .mark .g{color:var(--accent)}.nav .links{font-family:var(--term);color:var(--muted);gap:26px;font-size:20px;display:none}.nav .links a{transition:color .2s}.nav .links a:hover{color:var(--accent)}@media (width>=720px){.nav .links{display:flex}}.btn{font-family:var(--term);background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent);box-shadow:5px 5px 0 var(--accent-dim);align-items:center;gap:10px;padding:13px 24px;font-size:20px;transition:transform .12s steps(2,end),box-shadow .12s steps(2,end);display:inline-flex}.btn:hover{box-shadow:3px 3px 0 var(--accent-dim);transform:translate(2px,2px)}.btn:active{box-shadow:0 0 0 var(--accent-dim);transform:translate(5px,5px)}.btn.ghost{color:var(--accent);box-shadow:5px 5px 0 var(--accent-dim);background:0 0}.hero{min-height:100dvh;padding:0 var(--pad) clamp(44px,8vh,84px);align-items:flex-end;display:flex;position:relative}.hero-fallback{font-family:var(--display);color:var(--accent);font-size:clamp(56px,15vw,180px);font-weight:700;display:none;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.no-webgl .hero-fallback{display:block}.hero-copy{z-index:2;max-width:min(720px,92vw);position:relative}.prompt{font-family:var(--term);color:var(--muted);margin-bottom:18px;font-size:clamp(17px,2.2vw,22px)}.prompt .g{color:var(--accent)}.prompt .cur{background:var(--accent);width:.55ch;height:1em;animation:1.1s steps(2,end) infinite blink;display:inline-block;transform:translateY(3px)}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.hero-copy h1{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(34px,6.4vw,74px);font-weight:700;line-height:1}.hero-copy p{max-width:52ch;color:var(--muted);margin-top:20px;font-size:clamp(15px,1.7vw,18px)}.hero-cta{margin-top:30px}.section{background:linear-gradient(180deg, #0a0d0a00 0%, var(--bg) 12%, var(--bg) 100%);padding:clamp(90px,14vh,170px) 0;position:relative}.section.solid{background:var(--bg)}.sec-head{flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:clamp(34px,5vw,56px);display:flex}.sec-head .tag{font-family:var(--term);color:var(--accent);font-size:20px}.h2{font-family:var(--display);font-size:clamp(28px,5vw,52px);font-weight:700;line-height:1}.sec-note{font-family:var(--term);color:var(--muted);text-align:right;max-width:34ch;margin-left:auto;font-size:19px}.repo-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=720px){.repo-grid{grid-template-columns:1fr 1fr}.repo.feature{grid-column:1/-1}}.repo{border:2px solid var(--accent-dim);background:var(--panel);padding:22px;transition:border-color .2s,transform .2s,box-shadow .2s;display:block}.repo:hover{border-color:var(--accent);box-shadow:4px 4px 0 var(--accent-dim);transform:translate(-2px,-2px)}.repo .top{justify-content:space-between;align-items:center;gap:12px;display:flex}.repo .rname{font-family:var(--display);flex-wrap:wrap;align-items:baseline;gap:.5em;font-size:clamp(18px,2.2vw,24px);font-weight:600;display:flex}.repo .rname .zh{font-family:var(--body);color:var(--accent);font-size:.6em}.repo .ext{font-family:var(--term);color:var(--faint);font-size:20px;transition:color .2s,transform .2s}.repo:hover .ext{color:var(--accent);transform:translate(3px,-3px)}.repo .rdesc{color:var(--muted);max-width:60ch;margin-top:10px;font-size:15px}.repo .rmeta{font-family:var(--term);color:var(--muted);align-items:center;gap:18px;margin-top:16px;font-size:18px;display:flex}.repo .lang{align-items:center;gap:7px;display:inline-flex}.repo .lang i{background:var(--accent);width:11px;height:11px;display:inline-block}.repo.feature .rname{font-size:clamp(24px,3.4vw,36px)}.repo.feature .rdesc{font-size:16px}.all-repos{font-family:var(--term);color:var(--muted);margin-top:22px;font-size:20px}.all-repos a{color:var(--accent)}.shelf{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width>=640px){.shelf{grid-template-columns:repeat(4,1fr)}}.game{aspect-ratio:2/3;border:2px solid var(--accent-dim);background:var(--bg-2);transition:border-color .2s,transform .2s;position:relative;overflow:hidden}.game:hover{border-color:var(--accent);transform:translateY(-4px)}.game img{object-fit:cover;image-rendering:auto;width:100%;height:100%}.game .lbl{font-family:var(--term);color:var(--text);background:linear-gradient(#0000,#060a06e6);padding:8px 10px;font-size:17px;position:absolute;bottom:0;left:0;right:0}.game.locked{justify-content:center;align-items:center;display:flex}.game.locked .q{font-family:var(--display);color:var(--accent-dim);font-size:34px;font-weight:700}.game.locked:hover .q{color:var(--accent)}.shelf-note{font-family:var(--term);color:var(--muted);margin-top:22px;font-size:20px}.shelf-note a{color:var(--accent)}.about-lead{font-family:var(--display);max-width:22ch;font-size:clamp(22px,3.4vw,36px);font-weight:600;line-height:1.2}.about-lead .em{color:var(--accent)}.about-cols{grid-template-columns:1fr;gap:clamp(26px,4vw,52px);margin-top:clamp(34px,5vw,56px);display:grid}@media (width>=820px){.about-cols{grid-template-columns:1.5fr 1fr}}.about-body{color:var(--muted);max-width:60ch;font-size:clamp(15px,1.6vw,17px)}.about-body p{margin-bottom:1.05em}.about-meta{grid-template-columns:1fr 1fr;align-self:start;gap:22px 18px;display:grid}@media (width>=820px){.about-meta{grid-template-columns:1fr;gap:20px}}.about-meta .k{font-family:var(--term);color:var(--faint);font-size:18px}.about-meta .v{font-family:var(--term);color:var(--text);margin-top:2px;font-size:21px}.about-meta .v.g{color:var(--accent)}.setup-grid{grid-template-columns:1fr;gap:clamp(28px,4vw,48px);display:grid}@media (width>=720px){.setup-grid{grid-template-columns:1fr 1fr}}.setup-label{font-family:var(--term);color:var(--accent);margin-bottom:14px;font-size:19px}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{font-family:var(--term);color:var(--text);border:2px solid var(--accent-dim);padding:6px 15px;font-size:19px;transition:border-color .2s,color .2s}.chip:hover{border-color:var(--accent);color:var(--accent)}.find{text-align:center;padding:clamp(110px,18vh,200px) 0 clamp(80px,10vh,120px)}.find h2{font-family:var(--display);font-size:clamp(38px,8vw,100px);font-weight:700;line-height:.95}.find .sub{font-family:var(--term);color:var(--muted);margin-top:22px;max-width:46ch;margin-inline:auto;font-size:clamp(18px,2vw,22px)}.find-links{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:40px;display:flex}footer{z-index:10;border-top:2px solid var(--accent-dim);padding:22px var(--pad);font-family:var(--term);color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:18px;display:flex;position:relative}footer .g{color:var(--accent)}[data-reveal]{opacity:0;transform:translateY(24px)}.no-anim [data-reveal]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.crt{display:none}[data-reveal]{opacity:1;transform:none}html{scroll-behavior:auto}}
