@import"https://fonts.googleapis.com/css2?family=Silkscreen&family=Fredoka:wght@400;700&family=Inter:wght@400;600&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body,#root,.App{height:100%;width:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0a0a0a;overflow:hidden}:root{--gba-purple: #16213e;--gba-cyan: #00bcd4;--chroma-red: #e8343a;--chroma-blue: #6db3f2;--dark-bg: #0f0f1a;--dark-surface: #1a1a2e;--dark-surface-light: #2a2a4a;--dark-border: #3a3a5a;--text-primary: #ffffff;--text-secondary: #b0b0c0;--text-muted: #808090;--primary: var(--gba-cyan)}.App{display:flex;align-items:center;justify-content:center;background:#0a0a0a}.splash-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:#fff;padding:1rem}.splash-icon{width:min(192px,40vw);image-rendering:pixelated}.splash-logo{width:min(780px,90vw);image-rendering:pixelated}.play-button{background:var(--chroma-red);color:#fff;border:none;padding:.9rem 2.75rem;font-family:Silkscreen,monospace;font-size:1.5rem;cursor:pointer;text-transform:uppercase;letter-spacing:2px;border-radius:4px;box-shadow:0 4px #a01f24;transition:transform .1s ease}.play-button:hover{transform:scale(1.05)}.play-button:active{transform:translateY(3px);box-shadow:0 1px #a01f24}.splash-controls{font-family:Silkscreen,monospace;font-size:.8rem;color:gray;text-align:center}@media (max-width: 768px),(pointer: coarse){.splash-controls{display:none}}.emulator-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0}.emulator-frame{width:100%;height:100%;max-width:none;max-height:none;background:#0a0a0a}.screen{width:100%;height:100%;background:#0a0a0a;display:flex;align-items:center;justify-content:center;position:relative}.screen-content{text-align:center;color:var(--primary)}.loading-icon{width:12rem;height:12rem;margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto;animation:blink 2s infinite;object-fit:contain;image-rendering:pixelated}.load-rom-btn{background:var(--primary);color:var(--dark-bg);border:none;padding:.75rem 1.5rem;font-family:Fredoka,sans-serif;font-weight:700;font-size:.875rem;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:all .2s ease}.load-rom-btn:hover{background:var(--chroma-blue)}@media (max-width: 768px){.loading-icon{width:8rem;height:8rem}}@media (max-width: 480px){.loading-icon{width:6rem;height:6rem}}.gba-emulator{width:100%;height:100%;display:flex;flex-direction:column}.emulator-screen{position:relative;width:100%;height:100%;background:#0a0a0a;overflow:hidden;display:flex;align-items:center;justify-content:center}.emulator-screen canvas{display:block;width:100%!important;height:100%!important;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;outline:none}.emulator-overlay{position:absolute;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;color:#00bcd4;z-index:10}.emulator-overlay.error{background:#140000f2;color:#e8343a}.loading-content,.error-content{text-align:center;padding:2rem}.loading-icon{width:8rem;height:8rem;margin:0 auto 1rem;display:block;animation:blink 2s infinite;object-fit:contain;image-rendering:pixelated}.error-icon{font-size:2rem;margin-bottom:1rem;display:block}.error-text{font-family:Fredoka,sans-serif;font-size:.875rem;margin-bottom:1rem}.error-content button{background:#e8343a;color:#0f0f1a;border:none;padding:.5rem 1rem;font-family:Fredoka,sans-serif;font-weight:700;font-size:.75rem;cursor:pointer;text-transform:uppercase}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.7}}.gba-emulator.mobile{background:linear-gradient(145deg,#4a1a6b,#2d1040);padding:0;height:100%;width:100%;box-sizing:border-box}.gba-shell{display:flex;align-items:stretch;justify-content:center;height:100%;width:100%;gap:0;user-select:none;-webkit-user-select:none;touch-action:manipulation}.gba-side{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:.5rem;min-width:100px;flex-shrink:0}.gba-side>*{align-self:center}.gba-side>.shoulder-btn{align-self:stretch}.gba-center{flex:0 0 auto;display:flex;height:100%;aspect-ratio:3/2}.gba-center .emulator-screen{width:100%;height:100%}.gba-left,.gba-right{flex:1}.shoulder-btn{background:linear-gradient(180deg,#6b3a8c,#4a2066);border:none;border-radius:6px;color:#fffc;font-family:Fredoka,sans-serif;font-size:.9rem;font-weight:700;padding:.8rem 0;width:100%;cursor:pointer;box-shadow:0 3px #2d1040,0 4px 8px #0000004d;transition:all .1s ease;text-shadow:0 1px 2px rgba(0,0,0,.5)}.shoulder-btn:active{transform:translateY(2px);box-shadow:0 1px #2d1040,0 2px 4px #0000004d}.dpad{position:relative;width:160px;height:160px;display:grid;grid-template-areas:". up ." "left center right" ". down .";grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:2px;margin-bottom:2rem}.dpad-center{grid-area:center;background:#3a3a3a;border-radius:2px}.dpad-btn{background:linear-gradient(145deg,#4a4a4a,#3a3a3a);border:none;border-radius:2px;cursor:pointer;box-shadow:0 2px #2a2a2a,inset 0 1px #ffffff1a;transition:all .05s ease}.dpad-btn:active{transform:translateY(1px);box-shadow:0 1px #2a2a2a;background:linear-gradient(145deg,#3a3a3a,#2a2a2a)}.dpad-up{grid-area:up;border-radius:4px 4px 2px 2px}.dpad-down{grid-area:down;border-radius:2px 2px 4px 4px}.dpad-left{grid-area:left;border-radius:4px 2px 2px 4px}.dpad-right{grid-area:right;border-radius:2px 4px 4px 2px}.action-buttons{display:flex;flex-direction:column;gap:.5rem;transform:rotate(-25deg);margin-bottom:2rem}.action-btn{width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;box-shadow:0 4px #2a2a2a,0 6px 12px #0000004d;transition:all .05s ease;background:linear-gradient(145deg,#5a5a5a,#4a4a4a);font-family:Fredoka,sans-serif;font-size:1.1rem;font-weight:700;color:#ffffffb3}.action-btn:active{transform:translateY(3px);box-shadow:0 1px #2a2a2a,0 2px 4px #0000004d;background:linear-gradient(145deg,#4a4a4a,#3a3a3a)}.a-btn{margin-left:4rem}.b-btn{margin-right:4rem}.system-btn{background:linear-gradient(180deg,#4a4a4a,#2a2a2a);border:none;border-radius:10px;color:#fff9;font-family:Fredoka,sans-serif;font-size:.7rem;font-weight:600;padding:.5rem 1.1rem;cursor:pointer;box-shadow:0 2px #1a1a1a;transition:all .05s ease;text-transform:uppercase;letter-spacing:.5px}.system-btn:active{transform:translateY(1px);box-shadow:0 1px #1a1a1a}.portrait-controls{display:none}@media (orientation: portrait){.gba-shell{flex-direction:column}.gba-left,.gba-right{display:none}.gba-center{flex:1;width:100%;height:auto;aspect-ratio:auto;order:1}.portrait-controls{display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;padding:.5rem 1rem 2rem;width:100%;box-sizing:border-box;order:2;flex:0 0 auto;min-height:250px}.portrait-left{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.portrait-left .dpad{align-self:center;margin-bottom:1rem}.portrait-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.portrait-right{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;height:100%}.portrait-right .action-buttons{align-self:center;margin-bottom:1rem}.portrait-controls .a-btn{margin-top:-1.5rem}.portrait-controls .b-btn{margin-bottom:1.5rem}.portrait-controls .dpad{width:120px;height:120px;margin-bottom:0}.portrait-controls .action-buttons{flex-direction:row;transform:rotate(0);margin-bottom:0}.portrait-controls .action-btn{width:62px;height:62px}.portrait-controls .a-btn{margin-left:0}.portrait-controls .b-btn{margin-right:0}.portrait-controls .shoulder-btn{width:auto;padding:.5rem 1rem;font-size:.8rem}.portrait-controls .system-btn{padding:.4rem .8rem;font-size:.65rem}}@media (orientation: landscape) and (max-height: 500px){.gba-side{min-width:80px;padding:.25rem}.dpad{width:120px;height:120px}.action-btn{width:50px;height:50px;font-size:.875rem}.shoulder-btn{padding:.4rem .8rem;font-size:.65rem}.loading-icon{width:5rem;height:5rem}}@media (orientation: portrait) and (max-width: 400px){.portrait-controls .dpad{width:90px;height:90px}.portrait-controls .action-btn{width:40px;height:40px;font-size:.7rem}.portrait-controls .shoulder-btn{padding:.4rem .8rem;font-size:.7rem}.portrait-controls .system-btn{padding:.3rem .6rem;font-size:.6rem}}
