@font-face{font-family:"Press Start 2P";src:url(/fonts/press-start-2p-latin-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--green-dark:#1f3404;--green-mid:#3c8322;--green-bg:#51850a;--green-light:#52860b;--panel:#16260a;--panel-edge:#0c1605;--ink:#f1f7e6;--ink-dim:#c2d6a6;--accent:#a8d94e;--font-pixel:"Press Start 2P", "Courier New", monospace;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--slide-max:900px}*,:before,:after{box-sizing:border-box}html{scroll-snap-type:y mandatory;scroll-behavior:smooth}body,html{margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--green-bg);color:var(--green-dark);-webkit-text-size-adjust:100%;background:url(/media/bg-pattern.png);font-size:16px;line-height:1.6}.skip-link{z-index:10;background:var(--panel);color:var(--ink);font-family:var(--font-pixel);padding:10px 16px;font-size:10px;position:absolute;top:0;left:-9999px}.skip-link:focus{top:8px;left:8px}.infobar{background-color:var(--green-dark);color:var(--green-mid);text-align:center;width:100%;min-height:40px;line-height:40px}.slide{min-height:100vh;scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(3rem,8vh,5rem) clamp(1.25rem,5vw,3rem);display:flex}.slide-inner{width:100%;max-width:var(--slide-max);margin:0 auto}.eyebrow{font-family:var(--font-pixel);letter-spacing:.08em;color:var(--panel);background:var(--accent);border:3px solid var(--panel-edge);margin:0 0 clamp(1rem,3vh,1.75rem);padding:7px 10px 6px;font-size:clamp(8px,1.4vw,11px);display:inline-block;box-shadow:4px 4px #0c16054d}h1,h2,h3{font-family:var(--font-pixel);letter-spacing:.01em;margin:0;font-weight:400;line-height:1.35}h1{color:var(--panel);font-size:clamp(24px,6.5vw,52px)}h2{color:var(--ink);font-size:clamp(18px,4.2vw,34px)}h3{color:var(--accent);font-size:clamp(11px,1.8vw,14px)}.panel{background:var(--panel);color:var(--ink);border:4px solid var(--panel-edge);border-left-width:10px;border-left-color:var(--accent);padding:clamp(1.5rem,4vw,2.75rem);box-shadow:10px 10px #0c160547}.tagline{font-family:var(--font-body);color:var(--accent);margin:clamp(1rem,2.5vh,1.5rem) 0 0;font-size:clamp(15px,2.2vw,20px);font-weight:600}.panel p{color:var(--ink);max-width:62ch;margin:1rem 0 0;font-size:clamp(14px,1.7vw,17px)}.panel p.muted{color:var(--ink-dim)}.features{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:clamp(1.25rem,3vh,1.75rem) 0 0;padding:0;list-style:none;display:grid}.features li{color:var(--ink-dim);padding-left:22px;font-size:clamp(13px,1.5vw,15px);position:relative}.features li:before{content:"";background:var(--accent);width:8px;height:8px;position:absolute;top:.55em;left:0}.stack{font-family:var(--font-pixel);color:var(--ink-dim);margin:clamp(1.25rem,3vh,1.75rem) 0 0;font-size:clamp(8px,1.2vw,10px);line-height:1.9}.actions{flex-wrap:wrap;gap:12px;margin:clamp(1.5rem,3.5vh,2rem) 0 0;padding:0;list-style:none;display:flex}.btn{font-family:var(--font-pixel);border:3px solid var(--accent);background:var(--accent);color:var(--panel);padding:12px 14px;font-size:clamp(9px,1.3vw,11px);line-height:1.5;transition:transform 80ms ease-out,box-shadow 80ms ease-out;display:inline-block;box-shadow:4px 4px #0c160559}.btn.ghost{color:var(--accent);background:0 0}a.btn:hover,a.btn:focus{color:var(--panel);background:var(--ink);border-color:var(--ink);transform:translate(2px,2px);box-shadow:2px 2px #0c160559}a,a:link,a:active,a:visited{color:var(--green-dark);text-decoration:none}.panel a:not(.btn){color:var(--accent);text-underline-offset:3px;text-decoration:underline}a:hover,a:focus,.panel a:not(.btn):hover,.panel a:not(.btn):focus{color:var(--ink)}:focus-visible{outline:3px solid var(--panel);outline-offset:3px}.panel :focus-visible{outline-color:var(--accent)}.deck-nav{z-index:5;position:fixed;top:50%;right:clamp(10px,2vw,22px);transform:translateY(-50%)}.deck-nav ul{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.deck-nav a{justify-content:flex-end;align-items:center;padding:4px 0;display:flex;position:relative}.deck-nav .dot{border:3px solid var(--panel);background:0 0;flex:none;width:11px;height:11px}.deck-nav a:hover .dot,.deck-nav a:focus .dot,.deck-nav a[aria-current] .dot{background:var(--panel)}.deck-nav .dot-label{font-family:var(--font-pixel);color:var(--panel);background:var(--accent);border:2px solid var(--panel-edge);opacity:0;pointer-events:none;white-space:nowrap;padding:5px 6px 4px;font-size:8px;transition:opacity .12s ease-out,transform .12s ease-out;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)translate(6px)}.deck-nav a:hover .dot-label,.deck-nav a:focus .dot-label{opacity:1;transform:translateY(-50%)translate(0)}.hero{text-align:center}#logo{width:100%;max-width:232px;height:auto;image-rendering:pixelated}.hero h1 .wordmark{display:block}.hero .subtitle{font-family:var(--font-pixel);letter-spacing:normal;color:var(--green-dark);margin:clamp(1rem,3vh,1.75rem) 0 0;font-size:clamp(9px,1.6vw,13px);font-weight:400;line-height:2;display:block}.hero .actions{justify-content:center}.hero .btn{border-color:var(--panel);background:var(--panel);color:var(--ink)}.hero .btn.ghost{color:var(--panel);background:0 0}.hero a.btn:hover,.hero a.btn:focus{background:var(--ink);color:var(--panel);border-color:var(--panel)}.scroll-cue{font-family:var(--font-pixel);color:var(--green-dark);margin-top:clamp(2rem,6vh,4rem);font-size:9px}.scroll-cue span{margin-top:8px;font-size:16px;animation:1.8s ease-in-out infinite bob;display:block}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.not-found h1{color:var(--ink);font-size:clamp(18px,4.2vw,34px)}.not-found .glyph{font-family:var(--font-pixel);color:var(--accent);text-shadow:6px 6px 0 var(--panel-edge);margin:0 0 clamp(1rem,3vh,1.75rem);font-size:clamp(44px,13vw,104px);line-height:1}.cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:clamp(1.25rem,3vh,1.75rem) 0 0;padding:0;list-style:none;display:grid}.cards li{border:3px solid var(--panel-edge);background:#f1f7e60f;flex-direction:column;padding:18px;display:flex;position:relative}.cards li:hover,.cards li:focus-within{border-color:var(--accent);background:#f1f7e61f}.cards .card-title{font-size:11px;line-height:1.6}.cards .card-title a:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0}.panel .cards .card-title a,.panel .cards .card-title a:link,.panel .cards .card-title a:visited{color:var(--accent);text-decoration:none}.panel .cards li:hover .card-title a,.panel .cards .card-title a:focus{color:var(--ink)}.cards .card-desc{color:var(--ink-dim);margin:10px 0 0;font-size:14px}.cards .card-parts{flex-wrap:wrap;gap:6px;margin:12px 0 0;display:flex;position:relative}.panel .cards .card-parts a{font-family:var(--font-pixel);border:2px solid var(--accent);color:var(--accent);padding:8px 10px;font-size:10px;line-height:1;text-decoration:none}.panel .cards .card-parts a:hover,.panel .cards .card-parts a:focus{background:var(--accent);color:var(--panel)}@media screen and (max-height:720px){#logo{max-width:150px}.scroll-cue{margin-top:clamp(1rem,3vh,2rem)}.slide{padding:clamp(1.5rem,5vh,3rem) clamp(1.25rem,5vw,3rem)}.panel{padding:clamp(1.25rem,3vw,1.75rem)}.eyebrow{margin-bottom:.75rem}.tagline,.panel p{margin-top:.6rem}.features,.stack,.actions,.cards{margin-top:.9rem}.btn{padding:10px 12px}.cards li{padding:12px}.cards .card-desc,.cards .card-parts{margin-top:8px}.cards .card-desc{font-size:13px}.panel .cards .card-parts a{padding:7px 8px}}@media screen and (max-width:650px){.deck-nav{display:none}.slide{scroll-snap-align:none;scroll-snap-stop:normal;min-height:auto;padding:clamp(2.5rem,8vh,4rem) 1.25rem}.panel{border-left-width:6px;box-shadow:6px 6px #0c160547}.features{grid-template-columns:1fr}html{scroll-snap-type:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-cue span,.btn,.deck-nav .dot-label{transition:none;animation:none}}
