*{margin:0;padding:0;box-sizing:border-box}body{width:100vw;height:100vh;overflow:hidden;font-family:Inter,sans-serif;background:#0a0a2e;cursor:none;-webkit-user-select:none;user-select:none}.bg-container{position:fixed;top:0;left:0;right:0;bottom:0;z-index:0;background:#0a0a2e;background-size:cover;background-position:center center;background-repeat:no-repeat}.bg-img{display:none}.bg-video{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;pointer-events:none;opacity:0;transition:opacity .6s ease}.bg-video.visible{opacity:1}.sign-area{position:fixed;z-index:10;display:flex;align-items:center;justify-content:center}.sign-content{text-align:center;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.sign-namewrap{position:relative;display:inline-block;max-width:100%}.sign-eyebrow{position:absolute;left:50%;bottom:calc(100% + .12em);transform:translate(-50%);font-family:Orbitron,sans-serif;font-weight:700;color:#7fe3ff;line-height:1;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 6px rgba(120,220,255,.7),0 0 14px rgba(80,180,255,.35);opacity:.92}.sign-content.idle .sign-eyebrow{color:transparent;text-shadow:none}.sign-name{font-family:Orbitron,sans-serif;font-weight:900;color:#fff;line-height:1.1;letter-spacing:2px;text-shadow:0 0 4px #fff,0 0 15px rgba(200,240,255,.6),0 0 30px rgba(180,220,255,.3);max-width:100%;overflow-wrap:break-word;text-align:center}.sign-content.idle .sign-name{color:transparent;text-shadow:none}.sign-content.upcoming .sign-name{color:#fff;text-shadow:0 0 4px #fff,0 0 15px rgba(200,240,255,.6),0 0 30px rgba(180,220,255,.3);animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.sign-content.active .sign-name{color:#fff;animation:celebGlow 2s ease-in-out infinite alternate}@keyframes celebGlow{0%{text-shadow:0 0 4px #fff,0 0 15px rgba(200,240,255,.6),0 0 30px rgba(180,220,255,.3)}to{text-shadow:0 0 8px #fff,0 0 25px rgba(200,240,255,.8),0 0 50px rgba(180,220,255,.5)}}.sign-fade-in{animation:signWarpIn .7s cubic-bezier(.16,1,.3,1) forwards}@keyframes signWarpIn{0%{opacity:0;filter:blur(10px);transform:scale(1.18) translateY(-4%);letter-spacing:14px}60%{opacity:1;filter:blur(0)}to{opacity:1;filter:blur(0);transform:scale(1) translateY(0)}}.sign-area:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(80,200,255,.015) 2px,rgba(80,200,255,.015) 4px);pointer-events:none}.config-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0a0a2e,#1a1050,#0a0a2e);z-index:100;display:flex;align-items:center;justify-content:center;cursor:default}.config-box{background:#1a1a4eeb;border:1px solid #333;border-radius:22px;padding:36px 40px;width:480px;max-width:94%;text-align:center}.config-box h2{font-family:Orbitron,sans-serif;font-size:24px;font-weight:900;margin-bottom:4px;background:linear-gradient(135deg,#4fc3f7,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.config-box p{color:#8892b0;font-size:14px;margin-bottom:24px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-btn{padding:16px 10px;border:2px solid #2a2a5a;border-radius:14px;background:#12123acc;color:#fff;font-size:15px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s}.room-btn:active{border-color:#6366f1;background:#1e1e5e;transform:scale(.97)}.room-btn.selected{border-color:#6366f1;background:#1e1e5e}.room-btn .re{font-size:30px}.room-btn .rn{font-family:Orbitron,sans-serif;font-size:12px}.room-btn .rl{font-size:10px;color:#666}.mission-console{position:fixed;bottom:4.5vh;left:50%;transform:translate(-50%);z-index:12;display:flex;align-items:center;gap:12px;padding:10px 22px;border-radius:999px;font-family:Orbitron,sans-serif;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;background:#080c268c;border:1px solid rgba(120,200,255,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 24px #00000059,inset 0 0 18px #50b4ff14;opacity:0;transition:opacity .5s ease,transform .5s ease;max-width:92vw;overflow:hidden}.mission-console.visible{opacity:1}.mc-text{font-size:clamp(13px,2.4vh,24px);color:#dbeeff;overflow:hidden;text-overflow:ellipsis}.mc-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:#7fe3ff;box-shadow:0 0 8px #7fe3ff}.mission-console[data-state=active]{border-color:#78ffb473;box-shadow:0 4px 28px #0006,inset 0 0 22px #50ffa01f}.mission-console[data-state=active] .mc-dot{background:#5dffa8;box-shadow:0 0 10px #5dffa8}.mission-console[data-state=active] .mc-text{color:#d6ffe9}.mission-console[data-state=upcoming]{border-color:#ffd27880;box-shadow:0 4px 28px #0006,inset 0 0 22px #ffbe501f}.mission-console[data-state=upcoming] .mc-dot{background:#ffce6b;box-shadow:0 0 10px #ffce6b;animation:mcBlink 1s steps(2,start) infinite}.mission-console[data-state=upcoming] .mc-text{color:#ffe9c2}.mission-console[data-state=idle] .mc-dot{animation:mcPulse 2.4s ease-in-out infinite}@keyframes mcBlink{50%{opacity:.25}}@keyframes mcPulse{0%,to{opacity:.5}50%{opacity:1}}.warp-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;opacity:0;background:radial-gradient(circle at center,rgba(160,240,255,.55) 0%,rgba(120,200,255,.18) 30%,transparent 65%)}.warp-flash.fire{animation:warpFlash 1.1s ease-out forwards}@keyframes warpFlash{0%{opacity:0;transform:scale(.6)}18%{opacity:1}to{opacity:0;transform:scale(1.6)}}.fx-nebula,.fx-stars{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.fx-nebula{mix-blend-mode:plus-lighter;opacity:.9;background:radial-gradient(45% 55% at 22% 26%,rgba(150,90,255,.7),transparent 66%),radial-gradient(50% 60% at 80% 70%,rgba(40,200,255,.62),transparent 66%),radial-gradient(42% 48% at 60% 14%,rgba(255,90,200,.48),transparent 66%);animation:nebulaDrift 18s ease-in-out infinite alternate}@keyframes nebulaDrift{0%{transform:translate3d(-4%,-2.5%,0) scale(1.05);filter:hue-rotate(0deg)}to{transform:translate3d(4%,2.5%,0) scale(1.18);filter:hue-rotate(40deg)}}.status-bar{position:fixed;bottom:8px;left:50%;transform:translate(-50%);z-index:10;font-size:11px;color:#96b4dc59;pointer-events:none;max-width:90vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
