@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url('/assets/fonts/archivo-latin.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/ibm-plex-mono-regular.woff2') format('woff2')}
:root{--ink:#0d1014;--paper:#eef1f3;--blue:oklch(0.52 0.19 258);--mono:'IBM Plex Mono',monospace;--gutter:clamp(20px,4.4vw,56px);color:var(--ink);background:var(--ink);font-family:Archivo,Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0}
a{color:inherit;text-decoration:underline;text-underline-offset:4px}
a:hover{color:var(--blue)}
a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
::selection{background:var(--blue);color:white}
p,figure{margin:0}
address{font-style:normal}
.page{position:relative;max-width:1280px;margin:0 auto;background:var(--paper);overflow:hidden;isolation:isolate}
.skip-link{position:fixed;top:12px;left:12px;z-index:10;padding:12px 18px;background:var(--ink);color:white;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0);color:white}
.masthead{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;align-items:center;padding:24px var(--gutter);border-bottom:3px solid var(--ink);font-family:var(--mono);font-size:14px;letter-spacing:.04em}
.wordmark{font-family:Archivo,Arial,sans-serif;font-weight:900;font-stretch:125%;font-size:20px;letter-spacing:-.01em;text-decoration:none}
.masthead nav{display:flex;flex-wrap:wrap;gap:12px 32px}
.masthead nav a{text-decoration:none;padding:4px 0}
.issue{white-space:nowrap}
.hero{padding:56px var(--gutter) 72px}
.eyebrow{font-family:var(--mono);font-size:14px;line-height:1.6;font-weight:400}
.hero>.eyebrow{margin-bottom:24px}
h1{margin:0;font-weight:900;font-stretch:125%;font-size:clamp(44px,14.1vw,188px);line-height:.8;letter-spacing:-.05em;text-shadow:7px 5px 0 oklch(0.52 0.19 258 / .85)}
.hero-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:48px;margin-top:56px;align-items:flex-start}
.introduction{display:flex;flex-wrap:wrap;gap:32px;flex:1 1 380px;max-width:700px;align-items:flex-start}
.introduction>p{flex:1 1 300px;font-size:clamp(20px,2.2vw,26px);line-height:1.3;font-weight:500;text-wrap:pretty}
.stamp{flex:none;font-family:var(--mono);font-size:13px;line-height:1.6;border:2px solid var(--ink);padding:10px 14px;transform:rotate(-2deg)}
.mascot-photo{position:relative;flex:0 1 340px;width:340px;max-width:100%;height:400px;transform:rotate(3.5deg);background:#fff;padding:14px;box-shadow:0 2px 0 var(--ink),0 18px 30px -18px rgb(0 0 0 / .35)}
.mascot-photo img{width:100%;height:100%;object-fit:contain;display:block}
.tape{position:absolute;top:-18px;left:35%;width:41%;height:36px;background:rgb(205 218 232 / .75);transform:rotate(-4deg)}
.about{position:relative;background:var(--blue);color:#eef2f5;padding:72px var(--gutter);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px 56px;background-image:radial-gradient(rgb(13 16 20 / .28) 1.2px,transparent 1.6px);background-size:7px 7px}
.about h2{font-size:clamp(40px,4.4vw,56px);line-height:.9;letter-spacing:-.03em}
.about-copy{display:flex;flex-direction:column;gap:20px;font-size:clamp(18px,1.8vw,22px);line-height:1.45;max-width:720px;text-wrap:pretty}
.section{padding:80px var(--gutter)}
h2{margin:0;font-weight:900;font-stretch:125%;font-size:clamp(48px,7vw,88px);letter-spacing:-.04em;line-height:.9}
.games{border-bottom:3px solid var(--ink)}
.section-heading{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:baseline;margin-bottom:32px}
.game-slot{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));border:3px dashed var(--ink)}
.game-copy,.terminal{padding:clamp(24px,4vw,48px)}
.game-copy .eyebrow{margin-bottom:20px}
h3{margin:0;font-weight:800;font-size:clamp(32px,3.8vw,48px);line-height:1;letter-spacing:-.02em;text-wrap:balance}
.game-copy>p:last-child{margin-top:20px;font-size:20px;line-height:1.45;max-width:480px}
.terminal{background:var(--ink);color:#eef2f5;font-family:var(--mono);font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.terminal>span{display:block}
.terminal-warning{color:oklch(0.72 0.14 258)}
.cursor{animation:blink 1.2s step-end infinite}
@keyframes blink{50%{opacity:0}}
.press>h2{margin-bottom:40px}
.press-downloads{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px}
.download-card{text-decoration:none;display:flex;flex-direction:column;gap:12px;background:#fff;padding:24px;border:2px solid var(--ink);transform:rotate(-1deg);transition:transform .18s ease,box-shadow .18s ease}
.download-card:nth-child(2){transform:rotate(.8deg)}
.download-card:nth-child(3){transform:rotate(-.5deg)}
.download-card .eyebrow{font-size:13px}
.download-name{font-weight:800;font-size:30px;line-height:1.2}
.download-card:hover,.download-card:focus-visible{transform:rotate(0deg) translateY(-4px);box-shadow:5px 5px 0 var(--ink)}
.facts{margin:48px 0 0;font-family:var(--mono);font-size:16px;line-height:1.4;max-width:760px}
.facts>div{display:grid;grid-template-columns:minmax(110px,200px) minmax(0,1fr);gap:12px;border-top:2px solid var(--ink);padding:14px 0}
.facts>div:last-child{border-bottom:2px solid var(--ink)}
.facts dd{margin:0}
.contact{background:var(--ink);color:#eef2f5;padding-bottom:40px}
.contact>.eyebrow{margin-bottom:20px}
.contact-email{display:block;width:fit-content;max-width:100%;font-weight:900;font-stretch:125%;font-size:clamp(16px,5.3vw,68px);letter-spacing:-.04em;line-height:1.1;white-space:nowrap;text-decoration:none;color:#eef2f5;text-shadow:5px 4px 0 var(--blue)}
.contact-email:hover{color:white;text-decoration:underline}
.contact a:focus-visible{outline-color:#b1caff}
.colophon{display:flex;flex-wrap:wrap;gap:24px 32px;justify-content:space-between;margin-top:80px;padding-top:20px;border-top:1px solid #3a4048;font-family:var(--mono);font-size:13px;line-height:1.6}
.colophon p{flex:0 1 520px}
.grain{position:absolute;inset:0;pointer-events:none;z-index:2;mix-blend-mode:multiply;opacity:.55;background-image:url('/assets/grain.svg')}
@media(min-width:1280px){h1{font-size:184px}}
@media(max-width:600px){.wordmark{font-size:clamp(15px,5vw,20px)}.masthead{gap:16px;padding-block:20px}.masthead nav{gap:24px}.issue{font-size:11px}.hero{padding-top:40px;padding-bottom:56px}.hero>.eyebrow{font-size:11px}.hero-bottom{gap:48px;margin-top:36px}.mascot-photo{margin-inline:auto;width:min(300px,90%);height:350px;flex-basis:300px}.introduction{gap:24px;min-width:0}.introduction>p{flex-basis:100%}.section{padding-block:56px}.about{padding-block:48px}.terminal{font-size:13px}.facts{font-size:13px}.facts>div{grid-template-columns:100px minmax(0,1fr)}.contact-email{font-size:5.8vw;text-shadow:3px 2px 0 var(--blue)}.contact>.eyebrow{font-size:11px}.colophon{margin-top:48px;font-size:11px}.contact{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cursor{animation:none}.download-card{transition:none}}
