html,body,#app{touch-action:none;overscroll-behavior:none;background:#000;width:100%;height:100dvh;margin:0;padding:0;overflow:hidden}canvas{touch-action:none;display:block}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #ffd54a}#rotate-device-overlay{z-index:1000;color:#fff;text-align:center;touch-action:none;background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;gap:18px;font-family:sans-serif;display:none;position:fixed;inset:0}#rotate-device-overlay[hidden],#fullscreen-toggle[hidden]{display:none}#rotate-device-overlay .rotate-icon{border:4px solid #fff;border-radius:10px;width:64px;height:96px;animation:1.6s ease-in-out infinite rotate-device-spin;position:relative}#rotate-device-overlay .rotate-icon:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;bottom:8px;left:50%}#rotate-device-overlay h2{letter-spacing:1px;margin:0;font-size:22px}#rotate-device-overlay p{color:#cfd8e3;margin:0;font-size:14px}@keyframes rotate-device-spin{0%,20%{transform:rotate(0)}50%,70%{transform:rotate(90deg)}to{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){#rotate-device-overlay .rotate-icon{animation:none;transform:rotate(90deg)}}@media (orientation:portrait) and (pointer:coarse){#rotate-device-overlay{display:flex}}#fullscreen-toggle{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:900;color:#fff;text-align:center;background:#00000073;border:none;border-radius:10px;width:44px;height:44px;padding:0;font-size:18px;line-height:44px;display:none;position:fixed}@media (pointer:coarse){#fullscreen-toggle:not(.unsupported){display:block}}#boot-overlay{z-index:2000;color:#fff;text-align:center;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#0a0f16;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-family:sans-serif;transition:opacity .2s;display:flex;position:fixed;inset:0}#boot-overlay.boot-hidden{opacity:0;pointer-events:none}#boot-overlay-content{flex-direction:column;align-items:center;gap:14px;max-width:min(90vw,440px);display:flex}#boot-spinner{border:4px solid #fff3;border-top-color:#ffd84d;border-radius:50%;width:40px;height:40px;animation:.9s linear infinite boot-spin}@media (prefers-reduced-motion:reduce){#boot-spinner{animation-duration:2.4s}}@keyframes boot-spin{to{transform:rotate(360deg)}}#boot-message{letter-spacing:.3px;margin:0;font-size:16px;font-weight:600}#boot-progress{color:#9db1c9;min-height:16px;margin:0;font-size:13px}#boot-error{flex-direction:column;align-items:center;gap:10px;display:flex}#boot-error-title{color:#ff8a8a;margin:0;font-size:16px;font-weight:700}#boot-error-detail{color:#cfd8e3;word-break:break-word;white-space:pre-wrap;max-height:120px;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow-y:auto}#boot-reload-button{color:#241a00;cursor:pointer;background:#ffd84d;border:none;border-radius:8px;min-height:44px;padding:10px 22px;font-size:15px;font-weight:700}#boot-reload-button:focus-visible{outline-offset:2px;outline:3px solid #fff}#boot-version{bottom:max(6px, env(safe-area-inset-bottom));right:max(8px, env(safe-area-inset-right));color:#55647a;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;position:absolute}#ios-install-hint{left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));z-index:1500;color:#fff;background:#14181ff0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-family:sans-serif;font-size:13px;display:flex;position:fixed;box-shadow:0 4px 16px #0006}#ios-install-hint p{flex:1;margin:0}#ios-install-hint[hidden]{display:none}#ios-install-hint-dismiss{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:8px;flex:none;width:32px;min-width:32px;height:32px;font-size:15px}#update-banner{top:max(8px, env(safe-area-inset-top));z-index:1600;color:#241a00;background:#ffd54a;border-radius:999px;align-items:center;gap:10px;padding:8px 10px 8px 14px;font-family:sans-serif;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}#update-banner p{margin:0;font-size:13px;font-weight:700}#update-banner[hidden]{display:none}#update-reload-button{color:#ffd54a;cursor:pointer;background:#241a00;border:none;border-radius:999px;min-height:32px;padding:6px 14px;font-size:13px;font-weight:700}
