.asset-download-indicator{position:fixed;right:1.5rem;bottom:1.5rem;display:inline-flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background:#0c121cd9;border:1px solid rgba(92,222,255,.5);border-radius:.75rem;box-shadow:0 0 18px #16b7ff26;color:#d9f6ff;font-family:Inter,sans-serif;font-size:.85rem;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.asset-download-indicator--error{border-color:#ff638499;color:#ffc7cf}.asset-download-indicator__label{text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:#8ce4ff}.asset-download-indicator__status{font-weight:700;font-size:1.1rem}.asset-download-indicator__bundles{display:flex;flex-wrap:wrap;gap:.25rem .5rem}.asset-download-indicator__bundle{padding:.125rem .5rem;border-radius:999px;background:#8ce4ff26;color:#8ce4ff;font-weight:500;text-transform:capitalize}.loading-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 20%,#325fa540,#040a12f0);z-index:2000;color:#f2fbff;font-family:Inter,sans-serif}.loading-gate__panel{width:min(520px,90vw);padding:2.5rem;border-radius:1.25rem;background:#08101edb;border:1px solid rgba(118,214,255,.4);box-shadow:0 24px 48px #123a6673;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.loading-gate__header{margin-bottom:1.5rem}.loading-gate__title{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9ce8ff}.loading-gate__description{margin:.75rem 0 0;color:#d7f0ffcc;font-size:.95rem}.loading-gate__progress{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.loading-gate__progress-bar{position:relative;flex:1;height:.75rem;border-radius:999px;overflow:hidden}.loading-gate__progress-track{position:absolute;top:0;right:0;bottom:0;left:0;background:#4c7cd973}.loading-gate__progress-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#74d4ffe6,#896fffe6);transition:width .16s ease-out}.loading-gate__progress-value{font-weight:600;font-size:1rem;color:#9ce8ff}.loading-gate__bundle-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.loading-gate__bundle{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(120,180,255,.15);text-transform:capitalize}.loading-gate__bundle:last-child{border-bottom:none}.loading-gate__bundle-name{font-weight:600;color:#f2fbff}.loading-gate__bundle-status{font-size:.9rem;color:#d7f0ffb3}.loading-gate__error{margin-top:1.5rem;padding:.75rem 1rem;border-radius:.75rem;background:#ff5b7026;color:#ffb7bf;border:1px solid rgba(255,91,112,.35)}.main-menu{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,rgba(68,202,255,.12),transparent 55%),radial-gradient(circle at 80% 30%,rgba(255,109,172,.1),transparent 60%),#050513;position:relative}.main-menu__content{display:flex;flex-direction:column;align-items:center;gap:3rem;max-width:600px;padding:2rem}.main-menu__header{text-align:center}.main-menu__title{font-size:4rem;font-weight:700;margin:0;background:linear-gradient(135deg,#00d9ff,#ff6ec7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.05em;text-transform:uppercase}.main-menu__subtitle{font-size:1.2rem;color:#fff9;margin:.5rem 0 0;font-weight:300;letter-spacing:.1em}.main-menu__nav{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:320px}.main-menu__button{padding:1rem 2rem;font-size:1.2rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.1em}.main-menu__button--primary{background:linear-gradient(135deg,#00d9ff,#ff6ec7);color:#fff;box-shadow:0 4px 20px #00d9ff4d}.main-menu__button--primary:hover{transform:translateY(-2px);box-shadow:0 6px 30px #00d9ff80}.main-menu__button--primary:active{transform:translateY(0)}.main-menu__button--secondary{background:#ffffff0d;color:#fffc;border:1px solid rgba(255,255,255,.2)}.main-menu__button--secondary:hover{background:#ffffff1a;border-color:#00d9ff;color:#00d9ff}.main-menu__footer{position:absolute;bottom:2rem;text-align:center}.main-menu__version{font-size:.875rem;color:#ffffff4d;margin:0;font-weight:300}.pixi-stage-container{height:100vh;aspect-ratio:9 / 16;position:relative;background:radial-gradient(circle at center,#15254ee6,#060a14f2);box-shadow:inset 0 0 32px #0e162dcc,0 12px 32px #05081099;overflow:hidden}.pixi-stage-container canvas{display:block}.game-view{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#000;position:relative;overflow:hidden}.game-view--loading{background:radial-gradient(circle at 20% 20%,rgba(68,202,255,.12),transparent 55%),radial-gradient(circle at 80% 30%,rgba(255,109,172,.1),transparent 60%),#050513}.game-view__loading-message{text-align:center}.game-view__loading-message h2{font-size:1.5rem;color:#fffc;font-weight:400;margin:0}.game-view__overlay{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;gap:.5rem}.game-view__button{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffe6;cursor:pointer;font-size:1.5rem;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.game-view__button:hover{background:#000c;border-color:#00d9ff;color:#00d9ff;transform:scale(1.05)}.game-view__button:active{transform:scale(.95)}.game-view__button--pause{font-family:system-ui,-apple-system,sans-serif}.scene-sandbox{display:flex;height:100vh;background:#0a0a0a;color:#e0e0e0;position:relative}.scene-sandbox__controls{width:320px;background:#1a1a1a;border-right:1px solid #333;padding:1rem;overflow-y:auto;flex-shrink:0}.scene-sandbox__stage{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:#050513;max-width:calc((100vh + -0px)*.5625)}.scene-sandbox__controls-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;font-weight:700;font-size:.95rem}.scene-sandbox__close{background:#2a2a2a;border:1px solid #444;color:#e0e0e0;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;transition:all .2s}.scene-sandbox__close:hover{background:#333;border-color:#00d4ff;color:#00d4ff}.scene-sandbox__section{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #333}.scene-sandbox__section:last-child{border-bottom:none}.scene-sandbox__section h3{margin:0 0 1rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#00d4ff}.scene-sandbox__toggles{display:flex;flex-direction:column;gap:.5rem}.scene-sandbox__toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem 0;font-size:.875rem}.scene-sandbox__toggle input[type=checkbox]{cursor:pointer;width:16px;height:16px}.scene-sandbox__toggle:hover{color:#00d4ff}.scene-sandbox__slider{width:100%;margin-bottom:.5rem}.scene-sandbox__value{display:inline-block;padding:.25rem .5rem;background:#2a2a2a;border-radius:4px;font-size:.875rem;font-weight:600}.scene-sandbox__buttons{display:flex;flex-direction:column;gap:.5rem}.scene-sandbox__button{padding:.5rem 1rem;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#e0e0e0;cursor:pointer;font-size:.875rem;transition:all .2s}.scene-sandbox__button:hover{background:#333;border-color:#00d4ff;color:#00d4ff}.scene-sandbox__button:active{transform:translateY(1px)}.scene-sandbox__info{font-size:.875rem;line-height:1.6}.scene-sandbox__info p{margin:.25rem 0;padding:.25rem .5rem;background:#2a2a2a;border-radius:4px}.scene-sandbox__mobile-toggle{position:fixed;top:12px;left:12px;z-index:6;padding:.5rem .85rem;background:linear-gradient(135deg,#1d1d1d,#2a2a2a);border:1px solid #444;border-radius:999px;color:#e0e0e0;cursor:pointer;font-size:.9rem;letter-spacing:.01em;box-shadow:0 6px 18px #00000059;transition:all .25s ease}.scene-sandbox__mobile-toggle:hover{border-color:#00d4ff;color:#00d4ff}.scene-sandbox__controls--overlay{position:fixed;top:0;left:0;height:100vh;max-width:86vw;transform:translate(-100%);transition:transform .25s ease,box-shadow .25s ease;z-index:7}.scene-sandbox__controls--overlay.is-open{transform:translate(0);box-shadow:0 12px 28px #0009}.scene-sandbox__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:5;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}@media(max-width:1099px){.scene-sandbox{flex-direction:column}.scene-sandbox__controls{width:320px;overflow-y:auto}.scene-sandbox__controls:not(.scene-sandbox__controls--overlay){display:none}.scene-sandbox__stage{max-width:none;width:100%;height:100vh}}.debug-dock{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:11000;display:flex;justify-content:flex-end;align-items:flex-start;padding:16px;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.debug-dock--open{pointer-events:auto;opacity:1;visibility:visible}.debug-dock__panel{width:360px;max-height:calc(100vh - 32px);overflow:auto;background:#060c14f2;border:1px solid #44caff;border-radius:10px;box-shadow:0 12px 30px #00000073;color:#d8e8ff;padding:16px;transform:translateY(-8px)}.debug-dock__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.debug-dock__title{font-size:16px;font-weight:700;letter-spacing:.4px}.debug-dock__subtitle{font-size:11px;opacity:.7}.debug-dock__close{background:transparent;border:none;color:#44caff;font-size:18px;cursor:pointer}.debug-dock__section{border-top:1px solid rgba(255,255,255,.08);padding-top:12px;margin-top:12px}.debug-dock__section:first-of-type{border-top:none;padding-top:0;margin-top:0}.debug-dock__section-title{font-size:12px;letter-spacing:.3px;margin-bottom:8px;color:#8dd3ff}.debug-dock__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.debug-dock__label{font-size:11px;opacity:.7}.debug-dock__value{font-size:14px;font-weight:600}.debug-dock__perf{margin-top:8px}.debug-dock__button-row{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.debug-dock__button{background:#44caff26;color:#d8e8ff;border:1px solid rgba(68,202,255,.65);border-radius:6px;padding:6px 10px;cursor:pointer;font-size:11px;letter-spacing:.2px}.debug-dock__button:disabled{opacity:.5;cursor:default}.debug-dock__logs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.debug-dock__checkbox{display:flex;align-items:center;gap:6px;font-size:12px}.debug-dock__hint{margin-top:6px;font-size:11px;opacity:.75}.debug-dock__toggle{position:fixed;bottom:16px;right:16px;z-index:10900;background:#44caff33;color:#d8e8ff;border:1px solid rgba(68,202,255,.8);border-radius:999px;padding:8px 14px;cursor:pointer;font-size:12px;letter-spacing:.3px}*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #0a0e27;--color-bg-card: #141938;--color-primary: #00d9ff;--color-secondary: #ff6ec7;--color-text: #e0e6ff;--color-text-dim: #8892b0;--font-heading: "Orbitron", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Urbanist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", sans-serif}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text);min-height:100vh;display:flex;align-items:center;justify-content:center}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600}.app{width:100%;max-width:800px;padding:2rem}.app--fullscreen{max-width:none;width:100vw;height:100vh;padding:0}.header{text-align:center;margin-bottom:3rem}.header h1{font-family:var(--font-heading);font-size:3.5rem;font-weight:700;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.subtitle{font-size:1.2rem;color:var(--color-text-dim);letter-spacing:.05em}.main{display:flex;justify-content:center}.status-card{background:var(--color-bg-card);border:1px solid rgba(0,217,255,.2);border-radius:12px;padding:2rem;box-shadow:0 8px 32px #0000004d}.status-card h2{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-primary)}.checklist{list-style:none;margin-bottom:1.5rem}.checklist li{padding:.5rem 0;font-size:1.1rem}.next-steps{border-top:1px solid rgba(136,146,176,.2);padding-top:1rem;margin-top:1rem;color:var(--color-text-dim)}.next-steps strong{color:var(--color-secondary)}.update-banner{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:600px;background:var(--color-bg-card);border:1px solid var(--color-primary);border-top:none;border-radius:0 0 12px 12px;box-shadow:0 4px 16px #00d9ff4d,0 0 32px #00d9ff26;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:10000;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.update-banner__content{display:flex;align-items:center;gap:1rem;flex:1}.update-banner__icon{font-size:1.5rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.update-banner__text{display:flex;flex-direction:column;gap:.25rem}.update-banner__text strong{font-family:var(--font-heading);font-size:1rem;color:var(--color-primary);letter-spacing:.05em}.update-banner__text span{font-size:.875rem;color:var(--color-text-dim)}.update-banner__actions{display:flex;align-items:center;gap:.5rem}.update-banner__button{font-family:var(--font-body);font-size:.875rem;font-weight:600;padding:.5rem 1rem;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease}.update-banner__button--primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;text-transform:uppercase;letter-spacing:.05em}.update-banner__button--primary:hover{box-shadow:0 0 16px #00d9ff80,0 0 32px #ff6ec74d;transform:translateY(-2px)}.update-banner__button--primary:active{transform:translateY(0)}.update-banner__button--dismiss{background:transparent;color:var(--color-text-dim);padding:.5rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.update-banner__button--dismiss:hover{background:#ffffff1a;color:var(--color-text)}@media(max-width:640px){.update-banner{max-width:calc(100% - 2rem);padding:.75rem 1rem}.update-banner__text strong{font-size:.875rem}.update-banner__text span{font-size:.75rem}.update-banner__button--primary{padding:.5rem .75rem;font-size:.75rem}}
