:root{color-scheme:dark;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#1a1a2e;color:#fafafa}.shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(circle at 50% 40%,#16213e,#0f0f23)}.gameboy{position:relative;width:380px;background:#c8c8c8;border-radius:18px 18px 18px 60px;padding:24px 20px 40px;box-shadow:0 4px #a0a0a0,0 8px #888,0 12px 30px #00000080,inset 0 2px #ffffff4d}.gameboy-label{position:absolute;top:8px;left:24px;font-size:8px;color:#666;letter-spacing:.15em;text-transform:uppercase}.gameboy-brand{position:absolute;top:8px;right:24px;font-size:10px;color:#900;font-weight:700;letter-spacing:.1em}.screen-bezel{background:#5a5a6e;border-radius:10px;padding:16px 14px 10px;margin-bottom:16px;box-shadow:inset 0 2px 6px #0006}.screen-dot{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:6px;height:6px;background:#333;border-radius:50%;box-shadow:inset 0 1px 2px #00000080}.screen-inner{position:relative;background:#0f380f;border-radius:6px;padding:8px;box-shadow:inset 0 3px 8px #0009}.screen-label{text-align:center;font-size:7px;color:#888;margin-top:6px;letter-spacing:.2em}canvas{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:4px}.controls{display:flex;justify-content:space-between;align-items:center;padding:0 8px}.dpad{position:relative;width:80px;height:80px}.dpad-btn{position:absolute;background:#333;border:none;cursor:pointer;border-radius:3px;box-shadow:0 2px #222,inset 0 1px #ffffff1a;transition:transform .05s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.dpad-btn:active,.dpad-btn.pressed{transform:translateY(1px);box-shadow:0 1px #222;background:#444}.dpad-up{top:0;left:25px;width:28px;height:28px}.dpad-down{bottom:0;left:25px;width:28px;height:28px}.dpad-left{top:25px;left:0;width:28px;height:28px}.dpad-right{top:25px;right:0;width:28px;height:28px}.dpad-center{top:25px;left:25px;width:28px;height:28px;background:#2a2a2a}.ab-buttons{display:flex;gap:14px;transform:rotate(-20deg)}.action-btn{width:40px;height:40px;border-radius:50%;background:#8b1a4a;border:none;cursor:pointer;color:#ddd;font-size:14px;font-weight:700;font-family:inherit;box-shadow:0 3px #5a0f30,inset 0 2px #ffffff26;transition:transform .05s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.action-btn:active,.action-btn.pressed{transform:translateY(2px);box-shadow:0 1px #5a0f30}.bottom-bar{display:flex;justify-content:center;gap:16px;margin-top:12px}.select-btn,.start-btn{width:40px;height:12px;border-radius:6px;background:#555;border:none;cursor:pointer;box-shadow:0 2px #333;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.speaker{position:absolute;bottom:12px;right:16px;display:flex;flex-direction:column;gap:3px}.speaker-line{width:24px;height:2px;background:#999;border-radius:1px}.title-bar{font-size:10px;color:#666;text-align:center;margin-bottom:8px;letter-spacing:.15em}.instructions{font-size:11px;color:#555;text-align:center;margin-top:16px;max-width:380px;line-height:1.6}.instructions kbd{background:#333;padding:1px 5px;border-radius:3px;font-size:10px;border:1px solid #555}
