:root{--bg:#0a0a12;--bg-2:#0f0f1e;--panel:#12122a;--ink:#e8e8f0;--dim:#8a8ab0;--green:#39ff14;--magenta:#ff2e97;--amber:#ffb020;--cyan:#24e0ff;--line:#2a2a55;--px:4px;--font-pixel:"Press Start 2P", monospace;--font-body:"VT323", monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:none;image-rendering:pixelated;text-shadow:0 0 1px #ffffff26;font-size:22px;line-height:1.35;overflow-x:hidden}canvas{image-rendering:pixelated;image-rendering:crisp-edges}img{image-rendering:pixelated;max-width:100%}::selection{background:var(--magenta);color:#000}a{color:var(--cyan);text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.pixel{font-family:var(--font-pixel);letter-spacing:.02em;line-height:1.5}h1,h2,h3{font-family:var(--font-pixel);font-weight:400;line-height:1.4}.pxborder{border:var(--px) solid var(--line);box-shadow:0 0 0 var(--px) var(--bg), 0 0 0 calc(var(--px) * 2) var(--line);position:relative}.crt-scanlines{pointer-events:none;z-index:9001;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#00000038 3px 4px);position:fixed;inset:0}.crt-vignette{pointer-events:none;z-index:9002;background:radial-gradient(120% 120%,#0000 55%,#0000008c 100%);position:fixed;inset:0}.crt-flicker{pointer-events:none;z-index:9003;background:#78b4ff08;animation:6s steps(30,end) infinite flick;position:fixed;inset:0}@keyframes flick{0%,97%,to{opacity:.25}98%{opacity:.55}99%{opacity:.1}}.chromo{text-shadow:-1.5px 0 #ff2e97b3,1.5px 0 #24e0ffb3}.crt-roll{z-index:9004;pointer-events:none;background:linear-gradient(#0000,#78c8ff0a,#0000);height:120px;animation:8s linear infinite roll;position:fixed;left:0;right:0}@keyframes roll{0%{top:-120px}to{top:100%}}.shell{z-index:1;min-height:100vh;position:relative}.hud-bar{z-index:500;border-bottom:var(--px) solid var(--line);background:linear-gradient(#101026,#0a0a16);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.hud-stat{font-family:var(--font-pixel);white-space:nowrap;font-size:10px;line-height:1.6}.hud-stat .label{color:var(--dim)}.hud-stat .val{color:var(--amber)}.hud-stat.hi .val{color:var(--green)}.hud-stat.credit .val{color:var(--magenta)}.hud-lives{align-items:center;gap:4px;display:inline-flex}.life-pip{background:var(--magenta);width:12px;height:12px;box-shadow:0 0 0 2px #000, 0 0 8px var(--magenta);clip-path:polygon(50% 0,100% 40%,82% 100%,18% 100%,0 40%)}.blink{animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.screen{max-width:1200px;margin:0 auto;padding:clamp(40px,8vh,96px) clamp(16px,4vw,48px);scroll-margin-top:60px}.screen-tag{font-family:var(--font-pixel);color:var(--green);border:3px solid var(--green);background:#39ff140f;align-items:center;gap:10px;margin-bottom:28px;padding:8px 12px;font-size:11px;display:inline-flex;box-shadow:0 0 14px #39ff1433}.screen-tag .arrow{color:var(--magenta)}.screen-title{font-family:var(--font-pixel);margin-bottom:14px;font-size:clamp(18px,3.4vw,34px);line-height:1.4}.screen-sub{color:var(--dim);max-width:60ch;margin-bottom:40px;font-size:24px}.c-green{color:var(--green)}.c-mag{color:var(--magenta)}.c-amber{color:var(--amber)}.c-cyan{color:var(--cyan)}.c-dim{color:var(--dim)}.boot{grid-template-columns:1fr;align-items:center;gap:28px;max-width:1200px;min-height:calc(100vh - 60px);margin:0 auto;padding:clamp(20px,4vh,48px) clamp(16px,4vw,48px);display:grid}@media (width>=900px){.boot{grid-template-columns:1fr 1.05fr}}.boot-title{font-family:var(--font-pixel);letter-spacing:.02em;font-size:clamp(30px,8vw,76px);line-height:1.05}.boot-title .l1{color:var(--amber);display:block}.boot-title .l2{color:var(--magenta);display:block}.boot-sub{font-family:var(--font-pixel);color:var(--green);margin:20px 0;font-size:12px;line-height:1.9}.boot-lede{color:var(--ink);max-width:42ch;margin-bottom:22px;font-size:26px}.press-start{font-family:var(--font-pixel);color:var(--cyan);font-size:13px}.game-cab{border:var(--px) solid var(--magenta);background:#05050c;padding:14px;position:relative;box-shadow:0 0 0 4px #000,0 0 30px #ff2e9759,inset 0 0 40px #000c}.game-holder{aspect-ratio:4/3;background:#02020a;border:2px solid #1a1a3a;width:100%;position:relative;overflow:hidden}.game-holder canvas{display:block;width:100%!important;height:100%!important}.game-cap{font-family:var(--font-pixel);color:var(--dim);justify-content:space-between;align-items:center;margin-top:10px;font-size:9px;display:flex}.game-cap .live{color:var(--green)}.mute-btn{font-family:var(--font-pixel);color:var(--amber);border:2px solid var(--amber);padding:5px 8px;font-size:9px;transition:background .1s}.mute-btn:hover,.mute-btn:focus-visible{background:#ffb02026}.gate{border:3px dashed var(--line);text-align:center;margin-top:22px;padding:16px}.gate.locked{color:var(--dim)}.gate.unlocked{border-color:var(--green);background:#39ff140f;border-style:solid;box-shadow:0 0 20px #39ff1440}.gate .g-label{font-family:var(--font-pixel);margin-bottom:12px;font-size:11px;display:block}.gate-bar{border:2px solid var(--line);background:#0a0a1a;height:14px;margin:10px 0 14px;overflow:hidden}.gate-bar>i{background:repeating-linear-gradient(90deg, var(--green) 0, var(--green) 6px, #2bd60f 6px, #2bd60f 12px);width:0;height:100%;transition:width .25s steps(8,end);display:block}.btn{font-family:var(--font-pixel);color:#05050c;background:var(--green);box-shadow:4px 4px 0 var(--magenta), 0 0 0 3px var(--green);border:3px solid #05050c;align-items:center;gap:10px;padding:14px 20px;font-size:12px;transition:transform 60ms,box-shadow 60ms;display:inline-flex}.btn:hover,.btn:focus-visible{box-shadow:6px 6px 0 var(--magenta), 0 0 0 3px var(--green);outline:none;transform:translate(-2px,-2px)}.btn:active{box-shadow:1px 1px 0 var(--magenta), 0 0 0 3px var(--green);transform:translate(2px,2px)}.btn.ghost{color:var(--cyan);box-shadow:4px 4px 0 var(--line), 0 0 0 3px var(--cyan);border-color:var(--cyan);background:0 0}.btn.ghost:hover,.btn.ghost:focus-visible{box-shadow:6px 6px 0 var(--line), 0 0 0 3px var(--cyan)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.6)}.level-select{gap:6px;max-width:560px;display:grid}.level-row{font-family:var(--font-pixel);color:var(--dim);text-align:left;border:3px solid #0000;align-items:center;gap:14px;width:100%;padding:12px 16px;font-size:13px;transition:color 80ms,background 80ms,transform 80ms;display:flex}.level-row:hover,.level-row:focus-visible,.level-row.active{color:var(--ink);border-color:var(--line);background:#ff2e9714;outline:none;transform:translate(6px)}.level-row .sel{color:var(--magenta);opacity:0;width:20px}.level-row:hover .sel,.level-row:focus-visible .sel,.level-row.active .sel{opacity:1;animation:.8s steps(2,end) infinite blink}.level-row .num{color:var(--amber);font-size:11px}.level-row .go{color:var(--green);opacity:0;margin-left:auto;font-size:10px}.level-row:hover .go,.level-row.active .go{opacity:1}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.work-card{background:var(--panel);border:var(--px) solid var(--line);padding:0 0 16px;transition:transform .1s,box-shadow .1s;overflow:hidden;box-shadow:0 0 0 4px #05050c}.work-card:hover,.work-card:focus-within{box-shadow:0 0 0 4px #05050c, 0 8px 0 -2px var(--magenta), 0 0 26px #ff2e9740;transform:translateY(-4px)}.work-thumb{aspect-ratio:16/10;width:100%;image-rendering:pixelated;border-bottom:var(--px) solid var(--line);display:block}.work-body{padding:14px 16px 0}.work-name{font-family:var(--font-pixel);color:var(--amber);margin-bottom:8px;font-size:13px}.work-genre{font-family:var(--font-pixel);color:var(--green);letter-spacing:.1em;margin-bottom:10px;font-size:8px}.work-desc{color:var(--dim);margin-bottom:12px;font-size:20px;line-height:1.3}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag{font-family:var(--font-pixel);color:var(--cyan);border:2px solid var(--line);padding:4px 6px;font-size:8px}.boss-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.boss-card{border:var(--px) solid var(--magenta);background:linear-gradient(#16163a,#0c0c22);padding:16px;box-shadow:0 0 0 4px #05050c}.boss-portrait{width:96px;height:96px;image-rendering:pixelated;border:3px solid var(--line);background:#05050c;margin:0 auto 12px;display:block}.boss-name{font-family:var(--font-pixel);text-align:center;color:var(--amber);margin-bottom:4px;font-size:13px}.boss-class{font-family:var(--font-pixel);text-align:center;color:var(--green);letter-spacing:.12em;margin-bottom:14px;font-size:8px}.stat-line{font-family:var(--font-pixel);grid-template-columns:42px 1fr 34px;align-items:center;gap:8px;margin-bottom:7px;font-size:8px;display:grid}.stat-line .sk{color:var(--dim)}.stat-line .sv{color:var(--cyan);text-align:right}.stat-bar{border:2px solid var(--line);background:#05050c;height:10px;overflow:hidden}.stat-bar>i{height:100%;display:block}.stat-bar.hp>i{background:var(--green)}.stat-bar.atk>i{background:var(--magenta)}.stat-bar.def>i{background:var(--amber)}.stat-bar.spd>i{background:var(--cyan)}.boss-flavor{color:var(--dim);border-top:2px dashed var(--line);margin-top:12px;padding-top:10px;font-size:19px;line-height:1.25}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.shop-item{background:var(--panel);border:var(--px) solid var(--line);align-items:flex-start;gap:14px;padding:16px;transition:border-color .1s;display:flex;box-shadow:0 0 0 4px #05050c}.shop-item:hover{border-color:var(--amber)}.shop-icon{border:3px solid var(--amber);width:48px;height:48px;color:var(--amber);background:#ffb02014;flex:none;place-items:center;display:grid}.shop-name{font-family:var(--font-pixel);color:var(--amber);margin-bottom:8px;font-size:12px}.shop-desc{color:var(--dim);margin-bottom:10px;font-size:20px;line-height:1.3}.shop-price{font-family:var(--font-pixel);color:var(--green);font-size:9px}.score-wrap{border:var(--px) solid var(--green);overflow-x:auto;box-shadow:0 0 0 4px #05050c}.score-table{border-collapse:collapse;width:100%;min-width:620px;font-family:var(--font-pixel);font-size:11px}.score-table thead th{color:var(--green);text-align:left;letter-spacing:.08em;border-bottom:3px solid var(--green);background:#39ff141a;padding:14px 12px;font-size:9px}.score-table td{border-bottom:2px solid var(--line);vertical-align:top;padding:14px 12px}.score-table tbody tr:hover{background:#ff2e970f}.score-rank{color:var(--amber)}.score-name{color:var(--cyan)}.score-quote{font-family:var(--font-body);color:var(--dim);font-size:20px;line-height:1.25}.score-pts{color:var(--green);text-align:right;white-space:nowrap}.continue{text-align:center;border:var(--px) solid var(--magenta);background:radial-gradient(at 50% 0,#1a0a22,#08080f);padding:clamp(32px,6vw,72px) 24px;box-shadow:0 0 0 4px #05050c}.continue-count{font-family:var(--font-pixel);color:var(--magenta);margin:10px 0;font-size:clamp(40px,12vw,96px);line-height:1}.continue h2{color:var(--amber);margin-bottom:18px;font-size:clamp(18px,3.6vw,32px)}.continue p{color:var(--dim);max-width:46ch;margin:0 auto 26px;font-size:24px}.continue .cta-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.credits{border-top:var(--px) solid var(--line);background:#05050c;padding:40px 16px 20px;overflow:hidden}.credits-inner{text-align:center;max-width:700px;margin:0 auto}.credits-roll{font-family:var(--font-pixel);color:var(--dim);font-size:10px;line-height:2.4}.credits-roll .role{color:var(--green)}.credits-roll .who{color:var(--ink)}.credits-logo{font-family:var(--font-pixel);color:var(--amber);margin:28px 0 10px;font-size:20px}.credits-fine{color:var(--dim);border-top:2px dashed var(--line);margin-top:20px;padding-top:16px;font-size:18px}.toast{z-index:8000;font-family:var(--font-pixel);color:#05050c;background:var(--green);box-shadow:4px 4px 0 var(--magenta);border:3px solid #05050c;padding:14px 20px;font-size:11px;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}.skip{z-index:9999;position:absolute;top:8px;left:-999px}.skip:focus{background:var(--amber);color:#000;font-family:var(--font-pixel);padding:8px 12px;font-size:10px;left:8px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.crt-flicker,.crt-roll{display:none}.blink,.level-row:hover .sel{opacity:1;animation:none}}
