:root{--bg:#07060f;--bg-2:#0c0a1c;--panel:#0e0b20b8;--panel-line:#00f0ff47;--cyan:#00f0ff;--magenta:#ff2e88;--yellow:#ffd23f;--green:#39ff14;--purple:#b14eff;--ink:#e9e9ff;--ink-dim:#8f8fc0;--glow-cyan:0 0 4px #00f0ff, 0 0 12px #00f0ff8c;--glow-magenta:0 0 4px #ff2e88, 0 0 14px #ff2e888c;--glow-yellow:0 0 4px #ffd23f, 0 0 14px #ffd23f80;--font-pixel:"Press Start 2P", "Courier New", monospace;--font-term:"VT323", "Courier New", monospace;--maxw:980px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-term);-webkit-font-smoothing:none;text-rendering:optimizespeed;font-size:22px;line-height:1.35;overflow:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--magenta);color:#000}.bg-fx{z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 55% at 50% 118%, #b14eff4d, transparent 60%), radial-gradient(ellipse 70% 50% at 50% -10%, #00f0ff24, transparent 60%), linear-gradient(180deg, #05040c 0%, var(--bg) 45%, var(--bg-2) 100%);position:fixed;inset:0}.grid-floor{transform-origin:50% 100%;z-index:0;pointer-events:none;opacity:.6;background-image:linear-gradient(#00f0ff4d 1px,#0000 1px),linear-gradient(90deg,#00f0ff4d 1px,#0000 1px);background-size:5vmin 5vmin;width:220vw;height:60vh;animation:1.6s linear infinite grid-roll;position:fixed;bottom:-10%;left:50%;transform:translate(-50%)perspective(40vh)rotateX(74deg);mask-image:linear-gradient(#0000,#000 40%)}@keyframes grid-roll{0%{background-position-y:0,0}to{background-position-y:5vmin,5vmin}}.sun{background:linear-gradient(180deg, var(--yellow), var(--magenta) 55%, var(--purple));filter:blur(.5px);z-index:0;pointer-events:none;opacity:0;border-radius:50%;width:320px;max-width:70vw;height:320px;max-height:70vw;transition:opacity .6s;position:fixed;top:26%;left:50%;transform:translate(-50%,-50%);mask-image:repeating-linear-gradient(#000 0 8px,#0000 8px 13px)}body[data-screen=title] .sun{opacity:.85}.crt-scanlines{z-index:90;pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#00000047 3px,#0000 4px);position:fixed;inset:0}.crt-vignette{z-index:91;pointer-events:none;background:radial-gradient(#0000 60%,#00000080 100%);border-radius:14px;position:fixed;inset:0;box-shadow:inset 0 0 140px 30px #000000d9}.crt-flicker{z-index:92;pointer-events:none;background:#00f0ff04;animation:5s steps(2,end) infinite flicker;position:fixed;inset:0}@keyframes flicker{0%,97%,to{opacity:.1}98%{opacity:.35}99%{opacity:.05}}.cabinet{z-index:10;grid-template-rows:auto 1fr auto;width:100%;height:100dvh;display:grid;position:relative}.hud{font-family:var(--font-pixel);border-bottom:2px solid var(--panel-line);text-shadow:var(--glow-cyan);background:linear-gradient(#00f0ff0f,#0000);align-items:center;gap:18px;padding:12px 18px;font-size:11px;display:flex}.hud .p1{color:var(--cyan)}.hud .blink{color:var(--magenta);text-shadow:var(--glow-magenta)}.hud .spacer{flex:1}.hud .coins{color:var(--yellow);text-shadow:var(--glow-yellow)}.hud .lives{color:var(--green);letter-spacing:2px}.sound-btn{font-family:var(--font-pixel);cursor:pointer;color:var(--ink-dim);border:2px solid var(--panel-line);background:0 0;border-radius:4px;padding:5px 8px;font-size:11px}.sound-btn:hover{color:var(--cyan);border-color:var(--cyan);text-shadow:var(--glow-cyan)}.stage{scrollbar-width:thin;scrollbar-color:var(--cyan) transparent;place-items:center;padding:24px 18px;display:grid;position:relative;overflow:hidden auto}.stage::-webkit-scrollbar{width:8px}.stage::-webkit-scrollbar-thumb{background:var(--cyan)}.controls{font-family:var(--font-pixel);color:var(--ink-dim);border-top:2px solid var(--panel-line);background:linear-gradient(#0000,#b14eff0f);flex-wrap:wrap;justify-content:center;gap:14px;padding:9px 14px;font-size:9px;display:flex}.controls b{color:var(--yellow)}.controls .key{border:1px solid var(--ink-dim);color:var(--ink);border-radius:3px;padding:2px 5px}.screen{width:100%;max-width:var(--maxw);display:none}.screen.active{animation:.25s ease-out screen-in;display:block}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen-title-bar{font-family:var(--font-pixel);color:var(--yellow);text-shadow:var(--glow-yellow);text-align:center;margin-bottom:22px;font-size:18px}.screen-title-bar:before{content:"» ";color:var(--magenta)}#screen-boot{font-family:var(--font-term);color:var(--green);text-shadow:0 0 6px #39ff1480;max-width:720px;font-size:20px}#screen-boot .line{white-space:pre-wrap;opacity:0}#screen-boot .ok{color:var(--cyan)}#screen-title{text-align:center}.logo{font-family:var(--font-pixel);color:var(--cyan);text-shadow:3px 3px 0 var(--magenta), 6px 6px 0 #b14eff99, 0 0 18px #00f0ffb3;letter-spacing:2px;margin:8vh 0 10px;font-size:clamp(34px,11vw,92px);line-height:1.1}.logo .ext{color:var(--yellow);text-shadow:3px 3px 0 var(--magenta), 0 0 18px #ffd23fb3}.subtitle{font-family:var(--font-pixel);color:var(--ink);text-shadow:var(--glow-cyan);margin-bottom:4px;font-size:clamp(9px,2.4vw,13px)}.subtitle-2{color:var(--ink-dim);letter-spacing:1px;margin-bottom:8vh;font-size:clamp(14px,4vw,20px)}.press-start{font-family:var(--font-pixel);color:var(--yellow);text-shadow:var(--glow-yellow);cursor:pointer;font-size:clamp(12px,3vw,18px);animation:1s steps(2,end) infinite blink}.insert-coin{font-family:var(--font-pixel);color:var(--ink-dim);margin-top:18px;font-size:10px}.copyright{font-family:var(--font-pixel);color:var(--ink-dim);margin-top:6vh;font-size:9px}@keyframes blink{50%{opacity:0}}#screen-menu{text-align:center}.menu-list{flex-direction:column;gap:10px;margin-top:2vh;list-style:none;display:inline-flex}.menu-item{font-family:var(--font-pixel);color:var(--ink-dim);cursor:pointer;border-radius:6px;padding:10px 22px 10px 46px;font-size:clamp(13px,3.4vw,20px);transition:color .12s,transform .12s;position:relative}.menu-item .label-sub{font-family:var(--font-term);color:var(--ink-dim);opacity:0;height:0;margin-top:6px;font-size:16px;transition:opacity .15s;display:block;overflow:hidden}.menu-item.selected{color:var(--cyan);text-shadow:var(--glow-cyan);transform:translate(4px)}.menu-item.selected:before{content:"▶";color:var(--magenta);text-shadow:var(--glow-magenta);animation:.6s ease-in-out infinite alternate bob;position:absolute;left:16px}.menu-item.selected .label-sub{opacity:1;height:auto;color:var(--ink)}@keyframes bob{to{transform:translate(4px)}}.panel{background:var(--panel);border:2px solid var(--panel-line);backdrop-filter:blur(2px);border-radius:10px;margin:0 auto 18px;padding:22px 24px;box-shadow:inset 0 0 30px #00f0ff0f,0 0 0 1px #0006}.panel h3{font-family:var(--font-pixel);color:var(--magenta);text-shadow:var(--glow-magenta);letter-spacing:1px;margin-bottom:14px;font-size:12px}.panel p{color:var(--ink);margin-bottom:8px}.muted{color:var(--ink-dim)}.stat-row{grid-template-columns:130px 1fr 70px;align-items:center;gap:12px;margin:10px 0;display:grid}.stat-row .name{font-family:var(--font-pixel);color:var(--cyan);font-size:9px}.bar{border:1px solid var(--panel-line);background:#ffffff0f;border-radius:3px;height:14px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--cyan), var(--magenta));width:0;height:100%;transition:width 1s cubic-bezier(.2,.9,.2,1);display:block;box-shadow:0 0 10px #00f0ff99}.stat-row .val{font-family:var(--font-pixel);color:var(--yellow);text-align:right;font-size:9px}.domain-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.domain{border:1px dashed var(--panel-line);border-radius:8px;padding:12px 14px}.domain .nm{font-family:var(--font-pixel);color:var(--green);text-shadow:0 0 8px #39ff1480;margin-bottom:6px;font-size:10px}.sidequests{list-style:none}.sidequests li{color:var(--ink);margin:4px 0;padding-left:22px;position:relative}.sidequests li:before{content:"◆";color:var(--yellow);position:absolute;left:0}.skill-group{margin-bottom:16px}.skill-group .cat{font-family:var(--font-pixel);color:var(--cyan);text-shadow:var(--glow-cyan);margin-bottom:10px;font-size:10px}.skill-group .cat .ic{color:var(--magenta);margin-right:8px}.skill{grid-template-columns:180px 1fr 44px;align-items:center;gap:10px;margin:6px 0;display:grid}.skill .sn{color:var(--ink);font-size:19px}.skill .val{font-family:var(--font-pixel);color:var(--ink-dim);text-align:right;font-size:8px}.cart-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.cart{border:2px solid var(--panel-line);cursor:pointer;background:linear-gradient(160deg,#14102cf2,#080714f2);border-radius:10px;padding:16px;transition:transform .12s,border-color .12s,box-shadow .12s;display:block;position:relative}.cart:hover,.cart.selected{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan), 0 8px 24px #00f0ff2e;transform:translateY(-4px)}.cart .top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.cart .genre{font-family:var(--font-pixel);color:#000;background:var(--cyan);border-radius:3px;padding:4px 6px;font-size:8px}.cart .rank{font-family:var(--font-pixel);font-size:12px}.cart .rank.S{color:var(--yellow);text-shadow:var(--glow-yellow)}.cart .rank.A{color:var(--cyan)}.cart .rank.B{color:var(--ink-dim)}.cart h4{font-family:var(--font-pixel);color:var(--ink);margin-bottom:8px;font-size:12px;line-height:1.5}.cart .yr{font-family:var(--font-pixel);color:var(--magenta);font-size:8px}.cart .blurb{color:var(--ink-dim);margin:8px 0 10px;font-size:18px}.cart .tech{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.cart .tech span{color:var(--green);border:1px solid #39ff1459;border-radius:3px;padding:1px 6px;font-size:14px}.cart .btns{gap:8px;display:flex}.cart .btns a{font-family:var(--font-pixel);border:1px solid var(--magenta);color:var(--magenta);border-radius:4px;padding:6px 8px;font-size:8px}.cart .btns a:hover{background:var(--magenta);color:#000}.contact-list{flex-direction:column;gap:12px;max-width:520px;margin:0 auto;list-style:none;display:flex}.contact{border:2px solid var(--panel-line);border-radius:8px;align-items:center;gap:16px;padding:14px 18px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex}.contact:hover,.contact.selected{border-color:var(--magenta);box-shadow:0 0 0 1px var(--magenta), 0 0 18px #ff2e8833;transform:translate(4px)}.contact .ic{width:44px;height:44px;font-family:var(--font-pixel);color:#000;background:var(--cyan);border-radius:6px;flex:none;place-items:center;font-size:12px;display:grid}.contact .ic .ico{width:24px;height:24px}.contact .meta .l{font-family:var(--font-pixel);color:var(--yellow);font-size:9px}.contact .meta .v{color:var(--ink);font-size:19px}.cv-btn{font-family:var(--font-pixel);color:var(--green);border:2px solid var(--green);border-radius:6px;margin:18px auto 0;padding:12px 18px;font-size:10px;display:inline-block}.cv-btn:hover{background:var(--green);color:#000;box-shadow:0 0 18px #39ff1480}@media (width<=620px){body{font-size:19px}.hud{gap:10px;font-size:9px}.hud .hide-sm{display:none}.stat-row{grid-template-columns:90px 1fr 54px}.skill{grid-template-columns:120px 1fr 40px}.controls{gap:8px;font-size:8px}}@media (prefers-reduced-motion:reduce){.crt-flicker,.grid-floor,.menu-item.selected:before,.screen.active{animation:none}.press-start{animation:2s steps(2,end) infinite blink}}
