:root{--gb-light:#9bbc0f;--gb-medium:#8bac0f;--gb-dark:#306230;--gb-darkest:#0f380f;font-family:"Press Start 2P",system-ui,sans-serif}.theme-gb{--gb-light:#9bbc0f;--gb-medium:#8bac0f;--gb-dark:#306230;--gb-darkest:#0f380f;--bg-glow:#306230;--bg-accent:#0f380f;--bg-base:#050a05}.theme-cyberpunk{--gb-light:#0d0221;--gb-medium:#261447;--gb-dark:#f05;--gb-darkest:#00f5ff;--bg-glow:#f05;--bg-accent:#261447;--bg-base:#050005}.theme-amber{--gb-light:#000;--gb-medium:#201500;--gb-dark:#503500;--gb-darkest:#ffb000;--bg-glow:#503500;--bg-accent:#201500;--bg-base:#0a0500}.theme-slate{--gb-light:#1a1b26;--gb-medium:#24283b;--gb-dark:#414868;--gb-darkest:#c0caf5;--bg-glow:#414868;--bg-accent:#24283b;--bg-base:#05050a}.theme-synthwave{--gb-light:#2b0b3d;--gb-medium:#6b1d9c;--gb-dark:#f0f;--gb-darkest:#0ff;--bg-glow:#f0f;--bg-accent:#6b1d9c;--bg-base:#050005}.theme-bloodmoon{--gb-light:#1a0505;--gb-medium:#4a0000;--gb-dark:#8b0000;--gb-darkest:#ff4d4d;--bg-glow:#8b0000;--bg-accent:#4a0000;--bg-base:#0a0000}.theme-emerald{--gb-light:#0a1f1c;--gb-medium:#1b4d3e;--gb-dark:#2ecc71;--gb-darkest:#d1f2eb;--bg-glow:#2ecc71;--bg-accent:#1b4d3e;--bg-base:#000502}.theme-royal{--gb-light:#000;--gb-medium:#3d2b1f;--gb-dark:#996515;--gb-darkest:gold;--bg-glow:#996515;--bg-accent:#3d2b1f;--bg-base:#0a0500}.theme-pocket{--gb-light:#c4cfa1;--gb-medium:#8b956d;--gb-dark:#4d533c;--gb-darkest:#1f1f1f;--bg-glow:#4d533c;--bg-accent:#1f1f1f;--bg-base:#050505}.theme-ice{--gb-light:#05161d;--gb-medium:#0d3b4c;--gb-dark:#20a4d5;--gb-darkest:#e0f7fa;--bg-glow:#20a4d5;--bg-accent:#0d3b4c;--bg-base:#000508}.theme-sunset{--gb-light:#150a06;--gb-medium:#4e1d09;--gb-dark:#f39c12;--gb-darkest:#fef5e7;--bg-glow:#f39c12;--bg-accent:#4e1d09;--bg-base:#050200}.theme-neon{--gb-light:#120108;--gb-medium:#4d0221;--gb-dark:#ff006e;--gb-darkest:#fff;--bg-glow:#ff006e;--bg-accent:#4d0221;--bg-base:#050002}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:#000;background-image:linear-gradient(to right, #000c 0%, transparent 20%, transparent 80%, #000c 100%), linear-gradient(to bottom, #000c 0%, transparent 20%, transparent 80%, #000c 100%), linear-gradient(to bottom, var(--gb-dark) 0%, transparent 50%), linear-gradient(to top, var(--gb-dark) 0%, transparent 50%), linear-gradient(to right, var(--gb-dark) 0%, transparent 50%), linear-gradient(to left, var(--gb-dark) 0%, transparent 50%);background-attachment:fixed;justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:0;transition:background-color .8s;animation:15s ease-in-out infinite alternate nebula-pulse;display:flex;position:relative;overflow:hidden}body:after{content:"";background-image:radial-gradient(circle at center, var(--gb-medium) 0px, transparent 80%);opacity:.15;pointer-events:none;z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0}body:before{content:"";opacity:.15;z-index:-2;background-image:radial-gradient(2px 2px at 20px 30px,#eee,#0000),radial-gradient(2px 2px at 40px 70px,#fff,#0000),radial-gradient(2px 2px at 50px 160px,#ddd,#0000),radial-gradient(2px 2px at 90px 40px,#fff,#0000),radial-gradient(2px 2px at 130px 80px,#fff,#0000),radial-gradient(2px 2px at 160px 120px,#ddd,#0000);background-repeat:repeat;background-size:200px 200px;width:200%;height:200%;animation:120s linear infinite star-rotation;position:absolute;top:-50%;left:-50%}@keyframes nebula-pulse{0%{background-position:0 0}to{background-position:10% 10%}}@keyframes star-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes background-drift{0%{background-position:0 0}to{background-position:400px 400px}}#root{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.crt-frame{box-shadow:inset 0 0 60px #000c, 0 0 50px #00000080, 0 0 100px var(--gb-dark);background:#1a1a1a;border:16px solid #2a2a2a;border-radius:24px;padding:24px;transition:box-shadow .5s;position:relative}.game-viewport{background-color:var(--gb-light);width:800px;height:550px;animation:8s infinite flicker;position:relative;overflow:hidden}.scanline-overlay{z-index:100;pointer-events:none;background:repeating-linear-gradient(#0000,#0000 1.5px,#00000026 1.5px 3px);width:100%;height:100%;position:absolute;top:0;left:0}.game-content{color:var(--gb-darkest);flex-direction:column;height:100%;padding:40px;display:flex}.pixel-btn{background:var(--gb-medium);border:4px solid var(--gb-darkest);color:var(--gb-darkest);cursor:pointer;box-shadow:4px 4px 0 var(--gb-dark);text-transform:uppercase;align-items:center;gap:15px;padding:10px 20px;font-family:inherit;font-size:16px;transition:transform .1s;display:flex}.pixel-btn:hover{background:var(--gb-light);box-shadow:6px 6px 0 var(--gb-dark);transform:translate(-2px,-2px)}.pixel-btn:active{box-shadow:0 0 0 var(--gb-dark);transform:translate(2px,2px)}.pixel-btn:before{content:">";color:var(--gb-darkest)}.blink{animation:1s step-end infinite blink-anim}@keyframes blink-anim{50%{opacity:0}}@keyframes flicker{0%{opacity:1}50%{opacity:.96}to{opacity:1}}@keyframes leg-walk{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes idle-bob{0%{transform:translateY(0)}to{transform:translateY(-1px)}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.monitor-cursor{animation:1s step-end infinite cursor-blink}@keyframes slow-flicker{0%,to{opacity:1}50%{opacity:.6}}.chandelier-light{animation:1.5s ease-in-out infinite slow-flicker}@keyframes arcade-pulse{0%,to{opacity:1}50%{opacity:.7}}.arcade-screen{animation:1s ease-in-out infinite arcade-pulse}@keyframes marquee-blink{0%,to{border-color:var(--gb-light)}50%{border-color:var(--gb-darkest)}}.marquee-sign{animation:.5s step-end infinite alternate marquee-blink}@keyframes flag-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}.mailbox-flag{animation:2s step-end infinite flag-wave}@keyframes bird-fly{0%{left:-50px}to{left:900px}}.bird-container{animation:8s linear infinite bird-fly}@keyframes board-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.sway-board{transform-origin:bottom;animation:2s ease-in-out infinite board-sway}@keyframes slide-up-dialogue{0%{transform:translateY(120px)}to{transform:translateY(0)}}.dialogue-slide-up{animation:.4s steps(6,end) forwards slide-up-dialogue}@keyframes blink-fast{0%,to{opacity:1}50%{opacity:0}}.blink-fast{animation:.5s step-end infinite blink-fast}@keyframes exclamation-blink{0%,to{opacity:1}50%{opacity:0}}.exclamation-mark{animation:.4s step-end infinite exclamation-blink}@keyframes confetti-burst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(0);opacity:0}}.confetti-particle{animation:1s cubic-bezier(.25,1,.5,1) forwards confetti-burst}@keyframes room-transition-fade{0%{opacity:0}50%{opacity:1}to{opacity:0}}.transition-overlay{animation:.8s steps(4,end) forwards room-transition-fade}@keyframes tech-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.tech-marquee-container{white-space:nowrap;width:100%;position:relative;overflow:hidden}.tech-marquee-content{animation:10s linear infinite tech-scroll;display:inline-block}.tech-marquee-content span{padding-right:40px}.mobile-controls{display:none}.nav-btn{-webkit-user-select:none;user-select:none;transition:all .1s steps(2,end)}.nav-btn:hover{transform:scale(1.1);background:var(--gb-darkest)!important;color:var(--gb-light)!important}.nav-btn:active{transform:scale(.9)translate(2px,2px);box-shadow:none!important}@media (width<=768px){.mobile-controls{display:flex!important}}canvas,img{image-rendering:pixelated}@keyframes slide-bounce-left{0%,to{transform:translate(0)}50%{transform:translate(-4px)}}.animate-bounce-left{animation:.8s steps(2,end) infinite slide-bounce-left;display:inline-block}@keyframes slide-bounce-right{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.animate-bounce-right{animation:.8s steps(2,end) infinite slide-bounce-right;display:inline-block}
