*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#0a0a0a;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#f0f0f0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-text-size-adjust:100%;overscroll-behavior:none}#app{position:relative;width:100vw;height:100vh;height:100dvh}#ar-container{position:absolute;inset:0;z-index:1}#ar-container video{object-fit:cover}#ui-overlay{position:absolute;inset:0;z-index:4;pointer-events:none}#controls-root{position:absolute;inset:0;z-index:3;pointer-events:none}#ui-overlay>*{pointer-events:auto}#loading-screen{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#0a0a0aeb;text-align:center;padding:2rem;transition:opacity .4s ease}#loading-screen.is-hidden{opacity:0;pointer-events:none}.loading-title{font-size:1.5rem;font-weight:600;margin:0;letter-spacing:.04em}#loading-status{margin:0;opacity:.75;max-width:28rem;line-height:1.5;min-height:1.5em}.loading-progress{width:min(18rem,80vw);display:flex;flex-direction:column;align-items:stretch;gap:.4rem}.loading-progress-track{height:6px;border-radius:999px;background:#ffffff1f;overflow:hidden}.loading-progress-bar{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#4ade80,#22d3ee);transition:width .25s ease}.loading-progress-label{font-size:.75rem;opacity:.6;text-align:right}#start-btn,.icon-btn,.dpad-btn,.gba-btn{touch-action:none}#start-btn{margin-top:.5rem;padding:.85rem 1.6rem;border:none;border-radius:999px;background:#4ade80;color:#052e16;font-size:1rem;font-weight:600;cursor:pointer}.top-bar{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:env(safe-area-inset-top,12px) 12px 0;gap:8px}.status-badge{padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:500;backdrop-filter:blur(8px);background:#00000073}.status-badge--active{background:#4ade8040;color:#bbf7d0}.status-badge--paused{background:#fbbf2440;color:#fde68a}.status-badge--idle{background:#ffffff1f}.icon-btn{padding:6px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#00000073;color:inherit;font-size:.8rem;cursor:pointer;backdrop-filter:blur(8px);touch-action:manipulation;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.controls-layer{position:absolute;inset:0;pointer-events:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.dpad{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:max(52px,calc(env(safe-area-inset-bottom) + 28px));display:grid;grid-template-columns:54px 54px 54px;grid-template-rows:54px 54px 54px;gap:4px;pointer-events:auto;-webkit-touch-callout:none}.dpad-btn{display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.22);border-radius:10px;background:#00000085;color:transparent;font-size:0;touch-action:manipulation;cursor:pointer;backdrop-filter:blur(6px);padding:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.dpad-btn:before{content:"";display:block;width:0;height:0;border:solid transparent;pointer-events:none}.dpad-up:before{border-width:0 9px 14px 9px;border-bottom-color:#ffffffe6}.dpad-down:before{border-width:14px 9px 0 9px;border-top-color:#ffffffe6}.dpad-left:before{border-width:9px 14px 9px 0;border-right-color:#ffffffe6}.dpad-right:before{border-width:9px 0 9px 14px;border-left-color:#ffffffe6}.dpad-up{grid-column:2;grid-row:1}.dpad-left{grid-column:1;grid-row:2}.dpad-right{grid-column:3;grid-row:2}.dpad-down{grid-column:2;grid-row:3}.dpad-btn.is-pressed,.dpad-btn:active{transform:scale(.92);background:#ffffff2e}.system-buttons{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:10px;pointer-events:auto}.ab-buttons{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(64px,calc(env(safe-area-inset-bottom) + 24px));width:138px;height:140px;pointer-events:none}.gba-btn{border:2px solid rgba(255,255,255,.22);background:#00000085;color:#fff;font-weight:700;touch-action:manipulation;cursor:pointer;backdrop-filter:blur(6px);pointer-events:auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.gba-btn--small{min-height:30px;padding:5px 12px;border-radius:999px;font-size:.62rem;letter-spacing:.02em;text-transform:uppercase}.gba-btn--round{position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem}.gba-btn--b{width:74px;height:74px;left:0;bottom:0;border-color:#60a5faa6}.gba-btn--a{width:74px;height:74px;right:0;top:0;border-color:#f87171a6}.gba-btn.is-pressed,.gba-btn:active{transform:scale(.92);background:#ffffff2e}@media (orientation: landscape){.dpad{bottom:max(36px,calc(env(safe-area-inset-bottom) + 12px));grid-template-columns:48px 48px 48px;grid-template-rows:48px 48px 48px}.ab-buttons{bottom:max(32px,calc(env(safe-area-inset-bottom) + 8px));width:108px;height:92px}.gba-btn--b{width:60px;height:60px;left:20px;bottom:4px}.gba-btn--a{width:68px;height:68px}}#debug-gba-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none;display:flex;justify-content:center;padding-top:max(12px,env(safe-area-inset-top))}#debug-gba-overlay[hidden]{display:none}.debug-gba-panel{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 10px;border-radius:12px;background:#000000b8;border:2px solid #f59e0b;backdrop-filter:blur(6px);box-shadow:0 8px 32px #00000073}.debug-gba-label{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fbbf24}.debug-gba-screen canvas{display:block;width:360px;height:240px;image-rendering:pixelated;image-rendering:crisp-edges;border:1px solid rgba(255,255,255,.2);background:#000}
