:root{--panel-bg:#0000004d;--chip-bg:#ffffff1a;--line:#fff3;--fg:#ffffffb3;--fg-dim:#ffffff80;--mono:ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;margin:0;padding:0;overflow:hidden}#app{background:#000;width:100vw;height:100vh;position:relative;overflow:hidden}.scene-layer canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.loading{z-index:9999;background:#000;flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0}.loading.is-fading{opacity:0;pointer-events:none}.loading__bar{background:#ffd14a26;border-radius:1px;width:240px;height:2px;margin-top:16px;overflow:hidden}.loading__fill{background:#fff;border-radius:1px;width:0%;height:100%;transition:width .3s}.loading__label{color:#fff;font:11px var(--mono);letter-spacing:2px;margin-top:10px}.loading__icon{opacity:.6;width:48px;height:48px}.score{z-index:3;pointer-events:none;align-items:center;gap:8px;display:none;position:absolute;top:16px;left:16px}.score.is-active{display:flex}.score__value{color:var(--fg);font:14px var(--mono)}.score__timer{background:var(--chip-bg);border:1px solid var(--line);color:var(--fg-dim);font:12px var(--mono);border-radius:4px;padding:2px 8px}.damage{z-index:50;color:#ffdc32bf;font:bold 48px var(--mono);text-shadow:0 0 10px #ffb40080;pointer-events:none;animation:1.5s ease-out forwards dmgFade;position:absolute}@keyframes dmgFade{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-40px)scale(1.2)}}.crowns{right:16px;bottom:max(16px, env(safe-area-inset-bottom,0px));z-index:100;flex-direction:column;gap:4px;display:flex;position:fixed}.crowns__chip{background:var(--chip-bg);border:1px solid var(--line);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;text-decoration:none;display:flex}.crowns__chip img{width:14px;height:14px}.crowns__chip span{color:var(--fg-dim);font:11px var(--mono)}.crowns__row{background:var(--chip-bg);border:1px solid var(--line);border-radius:4px;align-items:center;gap:6px;padding:4px 8px;display:flex}.crowns__row img.crown{width:16px;height:16px}.crowns__row img.play{filter:brightness(0)invert();opacity:.4;cursor:pointer;width:14px;height:14px}.crowns__row img.play.is-playing{opacity:1}.crowns__row span{color:var(--fg-dim);font:11px var(--mono)}.crowns__logout{color:#ff646499;font:10px var(--mono);cursor:pointer;background:#ff000026;border:1px solid #ff00004d;border-radius:4px;justify-content:center;align-items:center;padding:4px 8px;display:flex}.login{border:1px solid var(--line);background:#000c;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.login input{background:var(--chip-bg);border:1px solid var(--line);color:#fff;font:11px var(--mono);border-radius:4px;outline:none;padding:4px 8px}.login button{color:#fff;font:11px var(--mono);cursor:pointer;background:#0078d799;border:none;border-radius:4px;padding:4px 8px}.login button[disabled]{cursor:wait;opacity:.7}.crown-filter-gold{filter:brightness(0)invert()sepia()saturate(10)hue-rotate(330deg)}.crown-filter-silver{filter:brightness(0)invert()brightness(.9)}.crown-filter-bronze{filter:brightness(0)invert()sepia()saturate(10)hue-rotate(90deg)}.admin{z-index:2;align-items:center;gap:8px;display:flex;position:absolute;top:16px;left:16px}.admin img{opacity:.6;width:24px;height:24px}.admin button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #ffffff40;border-radius:6px;padding:8px 16px;font-size:13px}.is-solar-view .score,.is-solar-view .crowns,.is-solar-view .admin,.is-avatar-far .score,.is-avatar-far .crowns,.is-avatar-far .admin{display:none!important}.avatar-bar{z-index:3;display:none;position:absolute;top:18px;right:18px}.is-avatar-far .avatar-bar{flex-direction:column;gap:4px;display:flex}.avatar-bar button{color:#b9bdd2;font:12px var(--mono);text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#10122080;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:9px;padding:7px 14px;transition:all .15s;display:flex}.avatar-bar button:hover{color:#fff;background:#282c46cc}.avatar-bar button.active{color:#fff;border-color:#5b8cff}.avatar-bar button.active .dot{border-color:#5b8cff}.avatar-bar .dot{background:0 0;border:1.5px solid #fff;border-radius:50%;flex-shrink:0;width:9px;height:9px}.avatar-bar .ai-focus .dot{background:#ffd14a;border-color:#ffd14a}.avatar-label{z-index:3;color:#fff;font:11px var(--mono);letter-spacing:.04em;white-space:nowrap;text-shadow:0 0 4px #000000e6;opacity:.85;cursor:pointer;text-decoration:none;display:none;position:absolute;top:0;left:0}.avatar-label:hover{opacity:1;text-decoration:underline}.is-solar-view .avatar-bar,.is-solar-view .avatar-label{display:none!important}.nav{z-index:125;flex-direction:column;gap:4px;display:none;position:fixed;bottom:70px;left:16px}.is-nav-open .nav{display:flex}.nav button{color:#b9bdd2;font:12px var(--mono);text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#10122080;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:9px;padding:7px 14px;transition:all .15s;display:flex}.nav button:hover{color:#fff;background:#282c46cc}.nav button.is-active{color:#fff;border-color:#5b8cff}.nav__dot{background:#ffffff59;border-radius:50%;flex-shrink:0;width:8px;height:8px}.nav button.is-active .nav__dot{background:#5b8cff}.scene-layer{transition:opacity .6s;position:absolute;inset:0}.scene-layer.is-hidden{opacity:0;pointer-events:none}.dock{z-index:130;align-items:center;gap:8px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.dock__ham{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;color:#cfd3e6;background:#101220b8;border:1px solid #ffffff24;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;transition:background .15s;display:flex}.dock__ham:hover{background:#4664aa8c}.dock__ham span{background:#cfd3e6;border-radius:1px;width:18px;height:2px;display:block}.dock__ham svg{display:block}.dock__center{align-items:center;display:flex}.dock .solar-controls{position:static;bottom:auto;left:auto;transform:none}.vrma-menu,.interiors-menu{z-index:110;flex-direction:column;gap:4px;width:200px;display:none;position:absolute;bottom:70px;right:16px}.is-menu-open .vrma-menu{display:flex}.is-solar-view .vrma-menu{display:none}.is-sat-open:not(.is-solar-view) .interiors-menu{display:flex}.vrma-menu button,.interiors-menu button{color:#b9bdd2;cursor:pointer;text-align:left;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#10122080;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:9px;padding:7px 14px;font-size:12px;transition:all .15s;display:flex}.vrma-menu button:hover,.interiors-menu button:hover{color:#fff;background:#282c46cc}.vrma-menu .dot,.interiors-menu .dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.interiors-menu button.active{color:#fff;border-color:#5b8cff}.solar{z-index:10;opacity:0;pointer-events:none;background:#03030a;font-family:-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;transition:opacity .6s;position:fixed;inset:0}.solar.is-active{opacity:1;pointer-events:auto}.solar:not(.is-active),.solar:not(.is-active) *{pointer-events:none!important}.solar canvas{display:block;position:absolute;inset:0}.solar-ui{color:#e8eaf2;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;pointer-events:none;position:absolute;inset:0}.solar-ui button{pointer-events:auto}.solar-exit{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#cfe0ff;cursor:pointer;letter-spacing:.04em;background:#101220b8;border:1px solid #ffffff24;border-radius:999px;padding:8px 16px;font-size:12px;transition:all .15s;position:absolute;top:16px;left:18px}.solar-exit:hover{color:#fff;background:#4664aa8c}.solar-planets,.solar-sats{flex-direction:column;gap:4px;width:200px;max-height:calc(100vh - 110px);display:none;position:absolute;bottom:70px;right:16px;overflow-y:auto}.is-menu-open .solar-planets,.is-sat-open .solar-sats{display:flex}.solar-planets button,.solar-sats button{color:#b9bdd2;cursor:pointer;text-align:left;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#10122080;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:9px;padding:7px 14px;font-size:12px;transition:all .15s;display:flex}.solar-planets button:hover,.solar-sats button:hover{color:#fff;background:#282c46cc}.solar-planets button.active,.solar-sats button.active{color:#fff;border-color:#5b8cff}.solar-planets .dot,.solar-sats .dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.solar-planets .dot.hex,.solar-sats .dot.hex{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);border-radius:0}.solar-planets .orbit-toggle,.solar-sats .orbit-toggle{opacity:.45;margin-top:8px}.solar-planets .orbit-toggle.active,.solar-sats .orbit-toggle.active{opacity:1}.solar-planets .dot.ring,.solar-sats .dot.ring{border:1.5px solid #cfd3e6;background:0 0!important}.solar-info{pointer-events:auto;background:#101220e0;border:1px solid #5b8cff;border-radius:8px;align-self:stretch;width:auto;margin:2px 0 4px;padding:10px 12px;display:none;box-shadow:0 0 10px #5b8cff80}.solar-info.show{display:block}.solar-info .stat{border-top:1px solid #ffffff0f;justify-content:space-between;padding:4px 0;font-size:12px;display:flex}.solar-info .stat:first-child{border-top:none}.solar-info .stat span:first-child{color:#888ea8}.solar-info .stat span:last-child{color:#d6d9ea}.solar-controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101220b8;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:12px;padding:9px 16px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.solar-controls button{color:#cfd3e6;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;transition:all .15s;display:grid}.solar-controls button:hover{color:#fff;background:#ffffff29}.solar-controls button.active{color:#fff;background:#5b8cff;border-color:#5b8cff}.solar-controls [data-speed]{color:#aab;text-align:center;letter-spacing:.03em;min-width:92px;font-size:12px}.solar-galaxy-label{letter-spacing:.22em;color:#aebbe6;pointer-events:none;text-shadow:0 0 14px #7896ff8c;font-size:13px;display:none;position:absolute;top:22px;left:50%;transform:translate(-50%)}.solar-return{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#cfe0ff;cursor:pointer;letter-spacing:.05em;background:#101220b8;border:1px solid #ffffff29;border-radius:999px;padding:9px 20px;font-size:12px;transition:all .15s;display:none;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.solar-return:hover{color:#fff;background:#4664aa99}.solar-ui.is-galaxy .solar-controls,.solar-ui.is-galaxy .solar-sats{display:none!important}.solar-ui:not(.is-galaxy) .solar-planets .body-sgra,.solar-ui.is-galaxy .solar-planets .body-sun{display:none}.solar-ui.is-galaxy .solar-return,.solar-ui.is-galaxy .solar-galaxy-label{display:block}.solar-ui.is-warping .solar-planets,.solar-ui.is-warping .solar-controls,.solar-ui.is-warping .solar-info,.solar-ui.is-warping .solar-return,.solar-ui.is-warping .solar-galaxy-label,.solar-ui.is-warping .solar-exit{display:none!important}.solar-labels{pointer-events:none;z-index:2;position:absolute;inset:0}.solar-label{pointer-events:auto;cursor:pointer;color:#fff;-webkit-font-smoothing:antialiased;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 4px #000000e6;opacity:.4;font:600 24px -apple-system,Helvetica Neue,Segoe UI,Arial,sans-serif;text-decoration:none;transition:opacity .15s;position:absolute;top:0;left:0}.solar-label:hover,.solar-label.active{opacity:1;text-shadow:0 0 5px #000,0 0 11px #8cb4ff8c}.solar-label.sat{font-size:14px;font-weight:400}
