:root{--bg:#0b0b1e;--bg-2:#14142f;--bg-3:#1d1d42;--ink:#f2f0e4;--muted:#8f8fb8;--gold:#ffd23f;--red:#ff4d4d;--green:#45e06f;--cyan:#4dd8ff;--px:4px;--font-display:"Press Start 2P", monospace;--font-body:"VT323", monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:none;margin:0;font-size:21px;line-height:1.55}img,svg{image-rendering:pixelated;display:block}a{color:var(--cyan);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{color:var(--gold)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}body:after{content:"";pointer-events:none;z-index:999;background:repeating-linear-gradient(#00000024 0 2px,#0000 2px 4px);position:fixed;inset:0}.pixel-border{border:var(--px) solid var(--ink);box-shadow:0 0 0 var(--px) var(--bg), var(--px) var(--px) 0 var(--px) #0000008c;position:relative}.wrap{max-width:1040px;margin-inline:auto;padding-inline:20px}.display{font-family:var(--font-display);letter-spacing:.5px;line-height:1.6}.t-gold{color:var(--gold)}.t-red{color:var(--red)}.t-green{color:var(--green)}.t-cyan{color:var(--cyan)}.t-muted{color:var(--muted)}.dots{justify-content:center;gap:22px;padding:44px 0 8px;display:flex}.dots i{background:var(--gold);opacity:.7;width:8px;height:8px}.btn{font-family:var(--font-display);color:var(--bg);background:var(--gold);border:var(--px) solid var(--ink);box-shadow:var(--px) var(--px) 0 0 #0009;cursor:pointer;padding:12px 16px;font-size:11px;text-decoration:none;display:inline-block}.btn:hover{box-shadow:calc(var(--px) + 2px) calc(var(--px) + 2px) 0 0 #0009;color:var(--bg);transform:translate(-2px,-2px)}.btn:active{transform:translate(2px,2px);box-shadow:0 0 #0009}.btn--red{background:var(--red);color:var(--ink)}.btn--cyan{background:var(--cyan)}.btn--ghost{background:var(--bg-2);color:var(--ink)}.hud{z-index:50;background:var(--bg);border-bottom:var(--px) solid var(--bg-3);position:sticky;top:0}.hud__inner{align-items:center;gap:18px;padding-block:12px;display:flex}.hud__logo{font-family:var(--font-display);color:var(--bg);background:var(--gold);border:var(--px) solid var(--ink);padding:8px 10px;font-size:13px;text-decoration:none}.hud__nav{flex-wrap:wrap;gap:6px 16px;margin-left:auto;display:flex}.hud__nav a{font-family:var(--font-display);color:var(--ink);padding:6px 2px;font-size:9px;text-decoration:none}.hud__nav a:hover{color:var(--gold)}.hud__coins{font-family:var(--font-display);color:var(--gold);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-size:9px;display:flex}.coin{background:var(--gold);border:3px solid #b8860b;border-radius:50%;width:16px;height:16px;display:inline-block}.hud__coins:hover .coin{animation:.5s linear infinite coinspin}@keyframes coinspin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.hero{text-align:center;flex-direction:column;justify-content:center;min-height:calc(100svh - 64px);padding-bottom:120px;display:flex;position:relative;overflow:hidden}.hero__hiscore{font-family:var(--font-display);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:28px;margin-bottom:40px;font-size:10px;display:flex}.hero__hiscore b{color:var(--gold);font-weight:400}.hero__player{font-family:var(--font-display);color:var(--green);margin:0 0 20px;font-size:clamp(9px,1.6vw,12px)}.hero__title{font-family:var(--font-display);color:var(--gold);text-shadow:3px 3px 0 var(--red);margin:0;font-size:clamp(20px,4.2vw,40px);line-height:1.45}.hero__sub{font-family:var(--font-display);color:var(--cyan);margin-top:26px;font-size:clamp(10px,2vw,14px)}.hero__start{font-family:var(--font-display);color:var(--ink);cursor:pointer;background:0 0;border:none;margin-top:56px;font-size:clamp(11px,2vw,15px);animation:1.1s step-end infinite blink}.hero__start:hover{color:var(--gold);animation-play-state:paused}@keyframes blink{50%{opacity:0}}.ground{border-top:var(--px) solid var(--ink);background:repeating-linear-gradient(90deg,#7a4a1f 0 44px,#5c3717 44px 48px);height:72px;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 10px #ffffff14}.walker{animation:16s linear infinite walk;position:absolute;bottom:72px;left:0}@keyframes walk{0%{transform:translate(-64px)}to{transform:translate(calc(100vw + 64px))}}.walker .legA,.walker .legB{animation:.5s step-end infinite steps-a}.walker .legB{animation-name:steps-b}@keyframes steps-a{0%,to{opacity:1}50%{opacity:0}}@keyframes steps-b{0%,to{opacity:0}50%{opacity:1}}.world{padding:56px 0 24px}.world__label{font-family:var(--font-display);color:var(--red);margin:0 0 10px;font-size:10px}.world__title{font-family:var(--font-display);color:var(--ink);margin:0 0 30px;font-size:clamp(17px,3.4vw,26px)}.level{background:var(--bg-2);margin-bottom:26px;padding:22px 24px}.level__head{flex-wrap:wrap;align-items:baseline;gap:8px 18px;display:flex}.level__tag{font-family:var(--font-display);color:var(--bg);background:var(--green);padding:5px 8px;font-size:9px}.level__tag--done{background:var(--muted)}.level__role{font-family:var(--font-display);color:var(--gold);margin:0;font-size:13px}.level__meta{color:var(--muted);font-size:20px}.level ul{margin:14px 0 0;padding-left:22px}.level li{margin-bottom:6px}.cabinets{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:30px;display:grid}.cabinet{background:var(--bg-2);flex-direction:column;padding:22px;display:flex}.cabinet__title{font-family:var(--font-display);color:var(--cyan);margin:0 0 14px;font-size:12px;line-height:1.7}.cabinet p{margin:0 0 16px}.cabinet__items{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.cabinet__items span{color:var(--green);background:var(--bg-3);padding:3px 9px;font-size:17px}.cabinet__links{gap:12px;margin-top:auto;display:flex}.cabinet--empty{text-align:center;color:var(--muted);min-height:220px;font-family:var(--font-display);border-style:dashed;justify-content:center;align-items:center;font-size:10px;line-height:2}.powerups{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:30px;display:grid}.powerup{background:var(--bg-2);padding:20px}.powerup__name{font-family:var(--font-display);color:var(--gold);margin:12px 0 10px;font-size:10px}.powerup p{color:var(--ink);margin:0}.badges{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:30px;display:grid}.badge{background:var(--bg-2);align-items:flex-start;gap:16px;padding:20px;display:flex}.badge__icon{flex:none}.badge__unlock{font-family:var(--font-display);color:var(--green);margin:0 0 8px;font-size:8px}.badge__name{font-family:var(--font-display);color:var(--ink);margin:0 0 8px;font-size:11px;line-height:1.7}.badge p{color:var(--muted);margin:0;font-size:19px}.log-entry{background:var(--bg-2);margin-bottom:22px;padding:18px 22px;text-decoration:none;display:block}.log-entry:hover .log-entry__title{color:var(--gold)}.log-entry__date{font-family:var(--font-display);color:var(--muted);font-size:9px}.log-entry__title{font-family:var(--font-display);color:var(--cyan);margin:10px 0 8px;font-size:13px;line-height:1.7}.log-entry p{color:var(--ink);margin:0}.log-entry__tags{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.log-entry__tags span{color:var(--green);background:var(--bg-3);padding:2px 8px;font-size:16px}.prose{max-width:760px}.prose h1{font-family:var(--font-display);color:var(--gold);font-size:clamp(18px,4vw,28px);line-height:1.5}.prose h2{font-family:var(--font-display);color:var(--cyan);margin-top:44px;font-size:15px;line-height:1.7}.prose h3{font-family:var(--font-display);color:var(--ink);margin-top:34px;font-size:12px}.prose code{background:var(--bg-3);font-family:var(--font-body);color:var(--green);padding:2px 7px}.prose pre{border:var(--px) solid var(--bg-3);padding:18px;overflow-x:auto;background:var(--bg-2)!important}.prose pre code{background:0 0;padding:0}.prose blockquote{border-left:var(--px) solid var(--gold);color:var(--muted);margin-left:0;padding-left:20px}.prose hr{border:none;border-top:var(--px) dashed var(--bg-3);margin:40px 0}.footer{border-top:var(--px) solid var(--bg-3);text-align:center;color:var(--muted);margin-top:70px;padding:34px 0 46px}.footer .display{font-size:9px}.toast{z-index:1000;color:var(--gold);background:var(--bg-2);border:var(--px) solid var(--gold);box-shadow:var(--px) var(--px) 0 0 #0009;text-align:center;max-width:calc(100vw - 40px);padding:14px 18px;font-size:10px;animation:.3s steps(3,end) both toast-in;position:fixed;bottom:36px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.walker,.walker .legA,.walker .legB,.hero__start,.hud__coins:hover .coin,.toast{animation:none}}@media (width<=560px){body{font-size:20px}.hud__nav{gap:4px 12px}.hero__hiscore{gap:14px}}
