@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@500;700&display=swap";:root{--bg-color:#eef0f6;--panel-bg:#ffffffd9;--neon-cyan:#0072ff;--neon-pink:#ff007f;--neon-green:#159c00;--text-color:#2d1a4a;--border-color:#2d1a4a26}*{box-sizing:border-box;user-select:none;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);flex-direction:column;height:100dvh;font-family:Rajdhani,sans-serif;display:flex;overflow:hidden}#app{background:radial-gradient(circle,#f4f6fc 0%,#e2e5f0 100%);width:100vw;height:100dvh;display:flex;position:relative}#canvas-container{outline:none;flex:1;height:100%;position:relative}#three-canvas{width:100%;height:100%;display:block}.top-status-bar{z-index:20;pointer-events:none;position:absolute;top:15px;left:50%;transform:translate(-50%)}.status-badge{backdrop-filter:blur(12px);color:#00f0ff;letter-spacing:1px;background:#0f172ad9;border:1px solid #00f0ff80;border-radius:30px;padding:8px 20px;font-family:Orbitron,sans-serif;font-size:.95rem;font-weight:700;box-shadow:0 4px 20px #0000004d}.status-badge.highlight{color:#ff007f;border-color:#ff007f;box-shadow:0 0 25px #ff007f80}.top-nav-container{top:max(8px, env(safe-area-inset-top,8px));z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:5px;width:auto;max-width:98vw;display:flex;position:fixed;left:50%;transform:translate(-50%)}.champion-marquee{box-sizing:border-box;color:#fde68a;background:#0f172af0;border:1px solid #facc15b3;border-radius:6px;align-items:center;width:min(580px,96vw);height:28px;font-size:.82rem;font-weight:700;line-height:26px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 14px #facc1540}.champion-marquee-track{white-space:nowrap;will-change:transform;width:max-content;animation:28s linear infinite champion-scroll-seamless;display:flex}.champion-marquee-track:hover{animation-play-state:paused}.champion-marquee-text{white-space:nowrap;align-items:center;padding-right:60px;display:inline-flex}@keyframes champion-scroll-seamless{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.champion-marquee{text-align:center}.champion-marquee-track{animation:none}}.hud-status-row{pointer-events:auto;-webkit-backdrop-filter:blur(14px);box-sizing:border-box;background:#0f172ae6;border:1px solid #ffffff38;border-radius:30px;justify-content:center;align-items:center;gap:6px;padding:3px 8px;display:flex;box-shadow:0 6px 20px #00000059}.hud-actions-row{pointer-events:auto;-webkit-backdrop-filter:blur(14px);box-sizing:border-box;background:#0f172ad1;border:1px solid #ffffff29;border-radius:30px;justify-content:center;align-items:center;gap:5px;padding:3px 6px;display:flex;box-shadow:0 4px 16px #00000047}.machine-short-name{display:none}.machine-full-name{display:inline}.nav-pill-btn{color:#fff;cursor:pointer;white-space:nowrap;touch-action:manipulation;border:none;border-radius:20px;outline:none;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:5px 12px;font-family:-apple-system,BlinkMacSystemFont,Orbitron,Rajdhani,sans-serif;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 3px 10px #0003}.btn-icon,.hud-icon{justify-content:center;align-items:center;font-size:.85rem;line-height:1;display:inline-flex}.hud-svg{fill:currentColor;width:14px;height:14px;display:block}.close-icon-svg{fill:currentColor;width:16px;height:16px;display:block}.inline-svg-icon{vertical-align:-.18em;fill:currentColor;width:1.1em;height:1.1em;display:inline-block}.nav-hud-pill{white-space:nowrap;user-select:none;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-family:Orbitron,Rajdhani,sans-serif;font-size:.8rem;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #00000040}.hud-pill-label{color:#ffffffb3;font-size:.7rem}.player-pill{cursor:pointer;color:#e9d5ff;background:#0f172ad9;border:1px solid #a855f7b3}.level-pill{color:#e0e7ff;background:linear-gradient(135deg,#4338ca,#3730a3);border:1px solid #818cf8}.timer-pill{color:#38bdf8;letter-spacing:.5px;background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid #38bdf8}.timer-pill.warning-pulse{animation:.8s ease-in-out infinite alternate timerWarningGlow;color:#fff!important;background:linear-gradient(135deg,#7f1d1d,#991b1b)!important;border-color:#f87171!important}@keyframes timerWarningGlow{0%{transform:scale(1);box-shadow:0 0 5px #ef444480}to{transform:scale(1.04);box-shadow:0 0 18px #ef4444f2}}.target-pill{color:#ecfdf5;background:linear-gradient(135deg,#065f46,#047857);border:1px solid #34d399}.nav-pill-btn.briefing{background:linear-gradient(135deg,#0284c7,#0369a1);border:1px solid #38bdf8}.nav-pill-btn.records{color:#fff;background:linear-gradient(135deg,#d97706,#b45309);border:1px solid #fbbf24;font-weight:700}.nav-pill-btn.camera{color:#38bdf8;background:#0f172ad9;border:1px solid #38bdf899;font-weight:700}.nav-pill-btn.bgm{background:linear-gradient(135deg,#0284c7,#0369a1);border:1px solid #38bdf8}.nav-pill-btn.admin-settings-btn{color:#f5d0fe;background:linear-gradient(135deg,#7c3aed,#4c1d95);border:1px solid #c084fc;font-weight:700}.nav-pill-btn.admin-settings-btn:hover{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.nav-pill-btn:active{transform:scale(.95)}@media (width<=768px){.top-nav-container{top:max(6px, env(safe-area-inset-top,6px));gap:4px;width:98vw;max-width:98vw}.hud-status-row{border-radius:20px;justify-content:space-between;gap:3px;width:100%;padding:3px 5px}.hud-actions-row{border-radius:20px;justify-content:space-between;gap:3px;width:100%;padding:3px 4px}.nav-hud-pill{gap:2px;min-width:0;padding:4px 6px;font-size:.74rem}.hud-pill-label{font-size:.66rem}.nav-pill-btn{letter-spacing:-.2px;flex:1 1 0;justify-content:center;gap:2px;min-width:0;padding:5px 6px;font-size:.72rem}.btn-icon,.hud-icon{font-size:.76rem}}@media (width<=400px){.hud-pill-label{display:none}.nav-hud-pill{padding:4px 5px;font-size:.7rem}.nav-pill-btn{padding:4px 3px;font-size:.68rem}#camera-btn-text{font-size:.66rem}}.manual-place-capsule{z-index:101;pointer-events:auto;transition:all .35s cubic-bezier(.34,1.56,.64,1);position:fixed;top:60px;left:50%;transform:translate(-50%)}.manual-place-capsule.hidden{opacity:0;pointer-events:none;transform:translate(-50%,-20px)scale(.9)}.capsule-content{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:2px solid #ddd6fe;border-radius:30px;align-items:center;gap:12px;padding:8px 18px;font-family:Orbitron,Rajdhani,sans-serif;display:flex;box-shadow:0 10px 30px #7c3aed80,0 0 20px #fff3}.capsule-text{font-size:.88rem;font-weight:700}.capsule-finish-btn{color:#1e1b4b;cursor:pointer;background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:18px;padding:6px 14px;font-family:inherit;font-size:.85rem;font-weight:900;transition:transform .15s;box-shadow:0 3px 8px #0003}.capsule-finish-btn:active{transform:scale(.95)}@media (width<=500px){.capsule-content{gap:8px;padding:6px 12px}.capsule-text{font-size:.75rem}.capsule-finish-btn{padding:4px 10px;font-size:.75rem}}.close-panel-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.3rem}.close-panel-btn:hover{color:#ff007f}.settings-panel{-webkit-backdrop-filter:blur(25px);border-left:2px solid var(--neon-pink);z-index:200;color:#1a0e36;background:#fffffff5;flex-direction:column;gap:12px;width:380px;height:100vh;padding:20px;transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;box-shadow:-8px 0 35px #00000040;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overflow-y:auto!important}.settings-panel.collapsed{pointer-events:none;transform:translate(100%)}.settings-panel.open{pointer-events:auto;transform:translate(0)}.dashboard-header-row{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.dashboard-refresh-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:1px solid #38bdf8;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #0ea5e940}.dashboard-refresh-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.dashboard-refresh-btn:active{transform:translateY(0)}.dashboard-sync-status{color:#64748b;margin:-6px 0 4px;font-size:.75rem}.dashboard-metrics-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.dashboard-metric-card{text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 8px;display:flex;background:#0f172a!important;border:1.5px solid #1e293b!important}.dashboard-metric-card.primary{box-shadow:0 4px 12px #38bdf81f;border-color:#38bdf866!important}.dashboard-metric-card.active{box-shadow:0 4px 12px #4ade801f;border-color:#4ade8066!important}.dashboard-metric-card .stat-label{color:#94a3b8;font-size:.78rem;font-weight:700}.dashboard-metric-card .stat-val{font-family:Orbitron,monospace;font-size:1.6rem;font-weight:900;line-height:1.2}.dashboard-metric-card .stat-val.highlight-blue{color:#38bdf8;text-shadow:0 0 10px #38bdf880}.dashboard-metric-card .stat-val.highlight-green{color:#4ade80;text-shadow:0 0 10px #4ade8080}.dashboard-metric-card .stat-sub{color:#64748b;font-size:.68rem}.dashboard-active-section{background:#0f172a0a;border:1px solid #0f172a1a;border-radius:8px;margin-bottom:6px;padding:10px}.dashboard-sub-title{color:#0f172a;margin-bottom:6px;font-size:.8rem;font-weight:800}.dashboard-active-list{flex-direction:column;gap:5px;max-height:130px;display:flex;overflow-y:auto}.dashboard-player-chip{background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.78rem;display:flex;box-shadow:0 1px 3px #0000000a}.dashboard-chip-name{color:#0f172a;align-items:center;gap:5px;font-weight:800;display:flex}.dashboard-online-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:1.8s infinite pulse-dot;display:inline-block;box-shadow:0 0 6px #22c55e}@keyframes pulse-dot{0%{opacity:.8;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}to{opacity:.8;transform:scale(.9)}}.dashboard-chip-stage{color:#0284c7;background:#e0f2fe;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.dashboard-chip-time{color:#64748b;font-size:.68rem}.dashboard-empty-tip{color:#64748b;text-align:center;padding:8px 4px;font-size:.76rem}.dashboard-sheet-bar{margin-top:4px;margin-bottom:8px}.dashboard-sheet-link{text-align:center;color:#facc15;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #eab308;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:800;text-decoration:none;transition:all .2s;display:block;box-shadow:0 2px 6px #00000026}.dashboard-sheet-link:hover{color:#fef08a;background:#0f172a;transform:translateY(-1px);box-shadow:0 4px 10px #eab30840}.godmode-card{background:linear-gradient(135deg,#eab30826,#f59e0b40);border:2px solid #f59e0b;border-radius:12px;margin-top:4px;margin-bottom:8px;padding:12px;box-shadow:0 4px 15px #f59e0b33}.godmode-header{justify-content:space-between;align-items:center;display:flex}.godmode-title{color:#b45309;letter-spacing:.2px;font-size:.95rem;font-weight:900}.godmode-desc{color:#78350f;margin-top:6px;font-size:.78rem;line-height:1.45}.section-title.special{color:#7c3aed;border-left-color:#7c3aed}.stage-tune-card{background:#f8fafce6;border:1.5px solid #cbd5e1;border-radius:10px;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.stage-tune-card.stage-3{background:#ec48990d;border-color:#ec4899}.stage-tune-card.stage-4{background:#ef44440d;border-color:#ef4444}.stage-tune-badge{color:#db2777;align-items:center;gap:4px;font-size:.82rem;font-weight:800;display:flex}.stage-tune-badge.boss{color:#dc2626}.setting-group.compact{gap:2px;margin-bottom:4px}.setting-hint{color:#64748b;margin-top:1px;font-size:.72rem}.setting-row-toggle{color:#334155;justify-content:space-between;align-items:center;padding-top:4px;font-size:.82rem;font-weight:700;display:flex}.switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.switch.small{width:38px;height:20px}.switch input{opacity:0;width:0;height:0}.slider.round{cursor:pointer;background-color:#cbd5e1;border-radius:34px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.slider.round:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0003}.switch.small .slider.round:before{width:14px;height:14px;bottom:3px;left:3px}input:checked+.slider.round{background-color:#10b981}input:checked+.slider.round:before{transform:translate(20px)}.switch.small input:checked+.slider.round:before{transform:translate(18px)}.stage-debug-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:2px;margin-bottom:8px;display:grid}.stage-debug-row label{grid-column:1/-1;font-size:.8rem;font-weight:700}.stage-debug-row select{color:#1e293b;background:#fff;border:1px solid #38bdf8;border-radius:4px;min-width:0;padding:8px}.stage-debug-row .clear{grid-column:1/-1}.stage-quick-btn{cursor:pointer;color:#fff;border:none;border-radius:8px;padding:8px 4px;font-size:.76rem;font-weight:800;transition:transform .15s}.stage-quick-btn:active{transform:scale(.95)}.stage-quick-btn.jump{background:#0284c7;border:1px solid #38bdf8}.stage-quick-btn.clear{background:linear-gradient(135deg,#10b981,#047857);border:1px solid #34d399}.admin-auth-card{background:#0f172a;border:2px solid #8b5cf6;max-width:440px;box-shadow:0 0 35px #8b5cf659}.admin-auth-body{flex-direction:column;gap:14px;display:flex}.auth-intro{color:#cbd5e1;margin:0;font-size:.88rem;line-height:1.5}.auth-input-container{gap:8px;display:flex}.admin-pwd-input{color:#fff;box-sizing:border-box;background:#1e293be6;border:1.5px solid #8b5cf6;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:1rem}.admin-pwd-input:focus{border-color:#c084fc;box-shadow:0 0 10px #c084fc66}.admin-submit-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:1px solid #c084fc;border-radius:8px;padding:10px 16px;font-weight:800;transition:transform .15s}.admin-submit-btn:active{transform:scale(.96)}.auth-error-tip{color:#f87171;font-size:.84rem;font-weight:700}.panel-header{border-bottom:1px solid #ff007f33;margin-bottom:5px;padding-bottom:10px}.panel-header h2{color:#1a0e36;font-family:Orbitron,sans-serif;font-size:1.4rem}.section-title{color:var(--neon-pink);border-left:3px solid var(--neon-pink);margin-top:5px;margin-bottom:8px;padding-left:8px;font-family:Orbitron,sans-serif;font-size:1.1rem}.setting-group{flex-direction:column;gap:5px;margin-bottom:8px;display:flex}.setting-group label{color:#43365c;justify-content:space-between;font-size:.92rem;font-weight:600;display:flex}.setting-group label span.value{color:var(--neon-cyan);font-weight:700}.setting-group input[type=range]{-webkit-appearance:none;background:#dcd7e8;border-radius:3px;outline:none;width:100%;height:6px}.setting-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--neon-cyan);cursor:pointer;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 6px #0072ff66}.setting-group select{color:#2d1a4a;cursor:pointer;background:#fff;border:1px solid #bda8e3;border-radius:6px;outline:none;padding:6px 10px;font-family:inherit;font-size:.95rem;font-weight:600}.stats-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (width<=900px){.settings-panel{z-index:200;backdrop-filter:blur(20px);background:#fffffff5;width:88vw;max-width:380px;height:100vh;position:fixed;top:0;right:0;box-shadow:-10px 0 30px #00000040}.settings-panel.collapsed{transform:translate(100%)}.settings-panel.open{transform:translate(0)}}.stat-box{text-align:center;background:#f1f5f9e6;border:1px solid #0072ff33;border-radius:8px;padding:12px;box-shadow:0 2px 8px #0000000a}.stat-label{color:#475569;margin-bottom:4px;font-size:.85rem;font-weight:600}.stat-val{color:#0f172a;font-family:Orbitron,sans-serif;font-size:1.6rem;font-weight:700}.stat-val.highlight{color:var(--neon-pink)}.mobile-touch-ui{bottom:max(20px, env(safe-area-inset-bottom,20px));pointer-events:none;z-index:50;width:100vw;height:160px;padding-left:max(25px, env(safe-area-inset-left,25px));padding-right:max(25px, env(safe-area-inset-right,25px));box-sizing:border-box;justify-content:space-between;align-items:center;display:flex;position:absolute;left:0}.joystick-touch-base{backdrop-filter:blur(10px);pointer-events:auto;touch-action:none;background:#0f172a73;border:2px solid #00f0ff99;border-radius:50%;justify-content:center;align-items:center;width:110px;height:110px;display:flex;position:relative;box-shadow:0 4px 20px #0000004d,inset 0 0 15px #00f0ff33}.joystick-touch-stick{background:radial-gradient(circle at 30% 30%,#f05 0%,#dc2626 100%);border:2px solid #fff;border-radius:50%;width:50px;height:50px;transition:transform 50ms ease-out;box-shadow:0 4px 10px #dc262680}.mobile-touch-drop-btn{pointer-events:auto;cursor:pointer;color:#fff;text-shadow:0 2px 4px #00000080;touch-action:manipulation;background:radial-gradient(circle at 30% 30%,#39ff14 0%,#16a34a 100%);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:95px;height:95px;font-family:Orbitron,sans-serif;font-size:1rem;font-weight:900;transition:transform .1s;display:flex;box-shadow:0 6px #0f766e,0 10px 25px #16a34a66}.mobile-touch-drop-btn:active{transform:scale(.92)translateY(4px);box-shadow:0 2px #0f766e,0 4px 10px #16a34a4d}@media (width>=769px){.mobile-touch-ui{display:none}}.console-overlay{z-index:50;position:absolute;bottom:40px;left:25px}@media (width<=768px){.console-overlay{display:none}}.drop-arcade-btn{cursor:pointer;background:radial-gradient(circle at 30% 30%,#39ff14 0%,#159c00 100%);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;transition:all .1s;display:flex;box-shadow:0 6px #0d6300,0 8px 15px #0003}.drop-arcade-btn span{color:#fff;text-shadow:0 1px 3px #0009;font-family:Orbitron,sans-serif;font-size:.82rem;font-weight:900}.drop-arcade-btn:hover{filter:brightness(1.05)}.drop-arcade-btn:active{transform:translateY(4px);box-shadow:0 2px #0d6300,0 3px 8px #0003}.drop-arcade-btn:disabled{cursor:not-allowed;background:radial-gradient(circle at 30% 30%,#ccc 0%,#888 100%);transform:none;box-shadow:0 6px #555,0 8px 15px #0000001a}.coin-slot{flex-direction:column;align-items:center;gap:8px;display:flex}.coin-insert-btn{color:#3e2600;cursor:pointer;background:radial-gradient(circle at 30% 30%,#fb0 0%,#c80 100%);border:3px solid #ffe880;border-radius:50%;width:60px;height:60px;font-family:Orbitron,sans-serif;font-weight:900;transition:all .1s;box-shadow:0 4px #8c5c00,0 6px 12px #00000026}.coin-insert-btn:hover{filter:brightness(1.05)}.coin-insert-btn:active{transform:translateY(3px);box-shadow:0 1px #8c5c00,0 3px 6px #00000026}.settings-panel::-webkit-scrollbar{width:6px}.settings-panel::-webkit-scrollbar-track{background:#00000005}.settings-panel::-webkit-scrollbar-thumb{background:var(--neon-pink);border-radius:3px}@media (width<=900px){#app{flex-direction:column}}.win-toast{top:max(64px, calc(env(safe-area-inset-top,0px) + 56px));z-index:999;pointer-events:none;width:max-content;max-width:min(92vw,420px);transition:all .4s cubic-bezier(.34,1.56,.64,1);position:fixed;left:50%;transform:translate(-50%)}.win-toast.hidden{opacity:0;transform:translate(-50%,-20px)scale(.88)}.win-toast-content{-webkit-backdrop-filter:blur(16px);background:linear-gradient(135deg,#0f172af2 0%,#1e293bf5 100%);border:1.5px solid #10b981;border-radius:20px;align-items:center;gap:12px;padding:10px 18px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang TC,Microsoft JhengHei,sans-serif;display:flex;box-shadow:0 12px 36px #00000073,0 0 24px #10b98159}.win-toast-icon{background:linear-gradient(135deg,#10b98140,#0596691a);border:1px solid #34d39966;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.65rem;display:flex;box-shadow:0 0 12px #10b9814d}.win-toast-body{text-align:left;flex-direction:column;gap:2px;min-width:0;display:flex}.win-toast-title{color:#fff;letter-spacing:.3px;text-shadow:0 2px 4px #0006;white-space:nowrap;font-size:.96rem;font-weight:800}.win-toast-desc{color:#cbd5e1;letter-spacing:.2px;font-size:.8rem;font-weight:600}.win-toast-highlight{color:#38bdf8;text-shadow:0 0 6px #38bdf880;font-weight:800}@media (width<=500px){.win-toast{top:max(54px, calc(env(safe-area-inset-top,0px) + 48px));width:94vw;max-width:94vw}.win-toast-content{border-radius:16px;gap:10px;padding:8px 12px}.win-toast-icon{width:36px;height:36px;font-size:1.35rem}.win-toast-title{font-size:.86rem}.win-toast-desc{font-size:.74rem}}.settings-btn-row{gap:10px;margin-top:10px;display:flex}.settings-action-btn{cursor:pointer;border:none;border-radius:10px;outline:none;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #0000001f}.settings-action-btn:active{transform:translateY(2px);box-shadow:0 2px 6px #0000001a}.settings-action-btn.primary{color:#fff;background:linear-gradient(135deg,#0284c7,#0369a1);border:1px solid #38bdf8;flex:1}.settings-action-btn.primary:hover{background:linear-gradient(135deg,#0369a1,#075985)}.settings-action-btn.danger{color:#fff;background:linear-gradient(135deg,#e11d48,#be123c);border:1px solid #fda4af;flex:1}.settings-action-btn.danger:hover{background:linear-gradient(135deg,#be123c,#9f1239)}.settings-action-btn.preset{color:#fff;background:linear-gradient(135deg,#059669,#10b981);border:1px solid #34d399;width:100%;margin-top:10px}.settings-action-btn.preset:hover{background:linear-gradient(135deg,#047857,#059669)}.settings-action-btn.manual{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:1px solid #a78bfa;width:100%;margin-top:8px}.settings-action-btn.manual:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6)}.challenge-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:10000;background:#0f172ae0;justify-content:center;align-items:center;padding:16px;animation:.25s forwards fadeInModal;display:none;position:fixed;inset:0}@keyframes fadeInModal{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.challenge-modal-card{color:#fff;background:#0f172a;border:2px solid #ffffff26;border-radius:18px;flex-direction:column;gap:16px;width:100%;max-width:760px;max-height:90vh;padding:24px;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0009;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}.announcement-overlay{z-index:10100;background:#030812e6}.announcement-card{background:#0b1220;border-color:#22d3ee;max-width:560px;overflow:hidden;box-shadow:0 22px 70px #000000b8,0 0 36px #22d3ee2e}.announcement-accent{background:linear-gradient(90deg,#22d3ee 0 33%,#facc15 33% 66%,#f43f5e 66%);height:5px;position:absolute;inset:0 0 auto}.announcement-card .header-badge-title{flex-direction:column;align-items:flex-start;gap:4px}.announcement-label{color:#facc15;letter-spacing:0;font:700 .7rem/1 Orbitron,sans-serif}.announcement-body{padding:12px 2px 8px}.announcement-body time{color:#67e8f9;margin-bottom:14px;font:700 .85rem/1 Orbitron,sans-serif;display:inline-block}.announcement-body p{color:#f8fafc;white-space:pre-line;margin:0;font-size:1.05rem;line-height:1.85}.announcement-confirm-btn{color:#fff;background:#0891b2;border:1px solid #67e8f9}.announcement-confirm-btn:hover{background:#0e7490}.modal-header-banner{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.header-badge-title{align-items:center;gap:10px;display:flex}.header-badge-title h2{color:#38bdf8;letter-spacing:.5px;margin:0;font-family:Orbitron,sans-serif;font-size:1.28rem}.modal-close-icon{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .2s}.modal-close-icon:hover{color:#fff}.briefing-card{border-color:#38bdf8;max-width:640px;box-shadow:0 16px 45px #00000073}.briefing-intro{color:#cbd5e1;margin-bottom:8px;font-size:.92rem;line-height:1.55}.stages-roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.stage-select-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0}.stage-jump-btn.stage-select-option{text-align:left;background:#172536;border:1px solid #36516a;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;min-height:54px;margin:0;padding:10px 14px;font-size:.9rem;display:flex}.stage-select-name{overflow-wrap:anywhere;min-width:0}.stage-select-lock{color:#a7bacb;flex:none;font-size:.75rem}.stage-select-lock[hidden]{display:none}.stage-jump-btn.stage-select-option.active-stage{color:#edfcff;border-color:#36d4e7}.stage-jump-btn.stage-select-option:disabled{opacity:.66;cursor:not-allowed;background:#111a27}.stage-jump-btn.stage-select-option:not(:disabled):hover{background:#214158;transform:none}.stage-select-option:focus-visible{outline-offset:2px;outline:2px solid #4fe0f0}.stage-select-item{flex-direction:row;justify-content:space-between;align-items:center;min-width:0;padding:10px 12px}.stage-select-number{color:#f8fafc;font-weight:800}.stage-roadmap-item{background:#1e293bb3;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:8px;padding:14px;transition:all .25s;display:flex;position:relative}.stage-roadmap-item:hover{background:#1e293bf2;border-color:#ffffff4d}.stage-roadmap-item.active-stage{background:#0ea5e91f;border-color:#00f0ff;box-shadow:0 0 20px #00f0ff59}.stage-tag{letter-spacing:.5px;border-radius:12px;align-self:flex-start;padding:3px 10px;font-size:.78rem;font-weight:800}.stage-tag.easy{color:#34d399;background:#10b98140;border:1px solid #10b981}.stage-tag.medium{color:#fbbf24;background:#f59e0b40;border:1px solid #f59e0b}.stage-tag.hard{color:#f472b6;background:#ec489940;border:1px solid #ec4899}.stage-tag.boss{color:#f87171;background:#ef444440;border:1px solid #ef4444}.stage-machine-name{color:#f8fafc;font-size:1rem;font-weight:800}.stage-params-row{flex-wrap:wrap;gap:6px;display:flex}.param-badge{color:#94a3b8;background:#00000059;border-radius:6px;padding:3px 8px;font-family:Orbitron,Rajdhani,sans-serif;font-size:.76rem}.param-badge.target{color:#38bdf8;font-weight:700}.param-badge.target-clear{color:#ec4899;font-weight:700}.param-badge.target-boss{color:#ef4444;font-weight:700}.stage-desc{color:#94a3b8;flex:1;margin:0;font-size:.82rem;line-height:1.45}.stage-jump-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;margin-top:4px;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .2s}.stage-select-item .stage-jump-btn{margin-top:0}.stage-jump-btn:hover{background:#0284c7;border-color:#38bdf8;transform:translateY(-1px)}.briefing-rules-notice{color:#cbd5e1;background:#0006;border-left:3px solid #eab308;border-radius:8px;padding:10px 14px;font-size:.82rem;line-height:1.6}.briefing-rules-notice ul{margin:4px 0 0 16px}.modal-footer-row{justify-content:center;align-items:center;gap:12px;padding-top:8px;display:flex}.modal-footer-row.double{grid-template-columns:1fr 1fr;width:100%;display:grid}.modal-action-btn{cursor:pointer;text-align:center;border:none;border-radius:12px;padding:12px 24px;font-family:Orbitron,Rajdhani,sans-serif;font-size:.95rem;font-weight:800;transition:all .2s;box-shadow:0 4px 15px #0000004d}.modal-action-btn:active{transform:scale(.96)}.primary-start{color:#fff;background:linear-gradient(135deg,#0284c7,#0369a1);border:1px solid #38bdf8;width:100%}.stage-clear-card{text-align:center;border-color:#10b981;max-width:520px;box-shadow:0 0 45px #10b98166}.stage-clear-banner{flex-direction:column;align-items:center;gap:6px;display:flex}.clear-trophy{font-size:3.2rem;animation:.8s ease-in-out infinite alternate trophyBounce}@keyframes trophyBounce{0%{transform:translateY(0)scale(1)}to{transform:translateY(-8px)scale(1.08)}}.clear-title{color:#34d399;text-shadow:0 0 15px #34d39999;margin:0;font-family:Orbitron,sans-serif;font-size:1.4rem}.clear-subtitle{color:#f8fafc;font-size:1.05rem;font-weight:700}.clear-stats-box{background:#0006;border:1px solid #10b9814d;border-radius:12px;grid-template-columns:1fr 1fr;gap:12px;padding:14px;display:grid}.clear-stat-col{flex-direction:column;gap:4px;display:flex}.clear-stat-col .stat-num{color:#38bdf8;font-family:Orbitron,sans-serif;font-size:1.5rem;font-weight:900}.clear-stat-col .stat-text{color:#94a3b8;font-size:.8rem}.next-stage-preview-box{background:#0ea5e91f;border:1px solid #0284c7;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.next-label{color:#38bdf8;letter-spacing:1px;font-size:.75rem;font-weight:700}.next-title{color:#fff;font-size:1rem;font-weight:800}.next-details{color:#94a3b8;font-size:.82rem}.next-level-btn{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border:1px solid #34d399;width:100%}.game-over-card{text-align:center;border-color:#ef4444;max-width:480px;box-shadow:0 0 45px #ef444466}.skull-icon{font-size:3rem}.game-over-title{color:#f87171;text-shadow:0 0 15px #ef444499;margin:0;font-family:Orbitron,sans-serif;font-size:1.35rem}.game-over-subtitle{color:#cbd5e1;font-size:.95rem}.game-over-msg{color:#94a3b8;margin-bottom:12px;font-size:.9rem}.game-over-progress-box{background:#00000073;border:1px solid #ef444459;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.game-over-progress-box .progress-label{color:#94a3b8;font-size:.78rem}.game-over-progress-box .progress-val{color:#f87171;font-family:Orbitron,sans-serif;font-size:1.4rem;font-weight:900}.retry-btn{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #fcd34d}.restart-btn{color:#fff;background:#ffffff1f;border:1px solid #ffffff40}.victory-card{text-align:center;border-color:#e879f9;max-width:560px;box-shadow:0 0 36px #e879f938}.victory-card.is-champion{border-color:#fbbf24;box-shadow:0 0 50px #fbbf2466}.victory-card:not(.is-champion) .victory-title{color:#f5b7ff;text-shadow:0 0 18px #e879f98c}.crown-icon{font-size:3.5rem;animation:.7s ease-in-out infinite alternate trophyBounce}.victory-title{color:#fde047;text-shadow:0 0 18px #fde047b3;margin:0;font-family:Orbitron,sans-serif;font-size:1.5rem}.victory-subtitle{color:#fff;font-size:1.15rem;font-weight:700}.victory-msg{color:#cbd5e1;margin-bottom:12px;font-size:.92rem;line-height:1.5}.victory-stats-grid{background:#00000073;border:1px solid #fbbf2466;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px;display:grid}.victory-stat-item{flex-direction:column;gap:4px;display:flex}.victory-stat-item .v-val{color:#fde047;font-family:Orbitron,sans-serif;font-size:1.4rem;font-weight:900}.victory-stat-item .v-label{color:#94a3b8;font-size:.75rem}.champion-restart-btn{color:#fff;background:linear-gradient(135deg,#f59e0b,#b45309);border:1px solid #fde047;width:100%}.reward-card-area{border-top:1px solid #fbbf2447;grid-template-columns:minmax(150px,210px) 1fr;align-items:center;gap:14px;margin-top:16px;padding-top:16px;display:grid}#reward-card-canvas{background:#111827;border:1px solid #d6a937;border-radius:6px;width:100%;max-width:210px;height:auto;display:block;box-shadow:0 8px 26px #0000006b}.reward-card-actions{gap:10px;display:grid}.reward-share-btn{color:#fff;background:#c79016;border-color:#f9d56e}.reward-download-btn{color:#fff;background:#183b56;border-color:#38bdf8}.reward-card-actions button:disabled{opacity:.45;cursor:wait}.victory-card #victory-select-stage-btn{color:#fff;background:#1476ac;border:1px solid #5fd7fb}@media (width<=520px){.victory-card{gap:12px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px}.victory-card .victory-body{min-width:0}.reward-card-area{grid-template-columns:1fr;gap:12px;margin-top:12px;padding-top:12px}#reward-card-canvas{width:auto;max-width:min(68vw,240px);max-height:42dvh;margin:0 auto}.reward-card-actions{grid-template-columns:1fr;gap:8px;width:100%}.reward-card-actions .modal-action-btn{width:100%;min-height:48px;padding:10px 16px}.reward-download-btn{color:#bde9fa;box-shadow:none;background:0 0;border:1px solid #517087}.victory-card .modal-footer-row{z-index:2;width:100%;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:#0f172a;grid-template-columns:1fr;gap:8px;margin-top:0;display:grid;position:sticky;bottom:-14px}.victory-card .modal-footer-row .modal-action-btn{width:100%;min-height:48px;padding:10px 16px}.victory-card .champion-restart-btn{color:#d8cddb;box-shadow:none;background:0 0;border-color:#7a7184}}@media (width<=680px){.stages-roadmap-grid,.stage-select-grid{grid-template-columns:1fr}.challenge-modal-card{padding:16px}.modal-footer-row.double{grid-template-columns:1fr;gap:8px}}.player-pill{transition:all .2s}.player-pill:hover{transform:translateY(-1px);background:#a855f740!important}.modern-nickname-input{color:#fff;box-sizing:border-box;background:#0f172ae6;border:1px solid #38bdf880;border-radius:10px;outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s}.modern-nickname-input:focus{border-color:#38bdf8;box-shadow:0 0 10px #38bdf866}.nickname-tip{color:#94a3b8;margin-bottom:14px;font-size:.88rem;line-height:1.5}.records-section-title{color:#f59e0b;border-left:3px solid #f59e0b;margin:12px 0 8px;padding-left:6px;font-size:.95rem;font-weight:800}.leaderboard-card{border:1px solid #38bdf859;border-radius:8px;gap:10px;max-width:720px;padding:20px}.leaderboard-content-body{min-width:0}#leaderboard-sync-status{color:#94a3b8;margin:0 0 12px;font-size:.78rem}.leaderboard-card .records-section-title{color:#fbbf24;margin:17px 0 8px;font-size:.86rem}.records-hall-grid{border-top:1px solid #94a3b84d;flex-direction:column;gap:0;display:flex}.record-hall-card{border-bottom:1px solid #94a3b82e;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:center;gap:3px 12px;min-width:0;padding:10px 7px;display:grid}.record-hall-card.grand-record{background:#f59e0b1c}.record-hall-card .record-badge{color:#cbd5e1;font-size:.82rem;font-weight:700}.record-hall-card .holder-name{color:#fff;overflow-wrap:anywhere;font-size:.88rem}.record-hall-card .record-time{color:#fbbf24;font-variant-numeric:tabular-nums;font-size:1rem}.record-hall-card .record-date{color:#94a3b8;grid-column:1/-1;font-size:.72rem}.record-hall-card.empty-record .holder-name{color:#64748b;font-weight:500}@media (width<=520px){.leaderboard-card{padding:14px}.record-hall-card{grid-template-columns:minmax(0,1fr) auto}.record-hall-card .holder-name{grid-area:2/1}.record-hall-card .record-time{grid-area:1/2/3}}.record-card-item{background:#0f172ad9;border:1px solid #f59e0b59;border-radius:12px;flex-direction:column;gap:4px;padding:12px;transition:transform .2s;display:flex}.record-card-item.campaign-record{background:linear-gradient(135deg,#f59e0b26,#0f172ae6);border-color:gold}.record-card-item:hover{transform:translateY(-2px)}.record-badge-title{color:#38bdf8;font-size:.76rem;font-weight:800}.record-holder-name{color:#fff;font-size:1.05rem;font-weight:900}.record-time-score{color:#fde047;font-family:Orbitron,sans-serif;font-size:1.15rem;font-weight:800}.record-meta-info{color:#64748b;margin-top:2px;font-size:.72rem}.record-events-timeline{border-top:1px solid #94a3b84d;flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.record-event-row{border-bottom:1px solid #94a3b826;justify-content:space-between;align-items:center;gap:10px;padding:10px 7px;font-size:.82rem;display:flex}.record-event-row:last-child{border-bottom:none}.event-player{color:#38bdf8;font-weight:700}.event-detail{min-width:0}.event-text{overflow-wrap:anywhere}.empty-events{color:#94a3b8;padding:16px 7px;font-size:.82rem}.event-type{color:#e2e8f0}.event-time{color:#fbbf24;flex:none;font-family:Orbitron,sans-serif;font-weight:700}.event-date{color:#64748b;font-size:.72rem}.new-record-banner{text-align:center;color:#fde047;background:linear-gradient(135deg,#f59e0b33,#ea580c4d);border:1px solid #fbbf24;border-radius:10px;margin:12px 0;padding:10px 14px;font-size:.95rem;font-weight:800;animation:1.5s infinite alternate pulseGold}@keyframes pulseGold{0%{box-shadow:0 0 4px #fbbf244d}to{box-shadow:0 0 16px #fbbf24b3}}#asset-loading{z-index:10000;color:#f0f2ed;background-color:#0b0d19;background-position:50% 30%;background-size:cover;font-family:system-ui,sans-serif;position:fixed;inset:0;overflow:hidden}.loading-video{object-fit:cover;object-position:center 30%;filter:brightness(1.2)contrast(1.1);width:calc(100% + 16px);height:calc(100% + 16px);animation:3s ease-in-out infinite neon-ambient-flicker;position:absolute;inset:-8px}@media (width<=768px),(orientation:portrait){#asset-loading{background-color:#080c16}.loading-video{top:max(22px, env(safe-area-inset-top,22px));object-fit:cover;object-position:center 0%;filter:brightness(1.22)contrast(1.12);width:100vw;height:56vh;min-height:380px;position:absolute;left:50%;transform:translate(-50%);mask-image:linear-gradient(#000 0% 72%,#0000 100%)}.loading-shade{top:max(22px, env(safe-area-inset-top,22px));pointer-events:none;background:radial-gradient(circle at 50% 25%,#0a0f1e0d 0%,#080c1673 100%);height:56vh;min-height:380px;position:absolute;left:0;right:0}.loading-content{justify-content:flex-end;gap:16px;padding-bottom:max(18vh,135px)}}.loading-shade{pointer-events:none;background:linear-gradient(#05081426 0%,#0508140d 45%,#0508148c 75%,#050814e6 100%);position:absolute;inset:0}.loading-content{z-index:1;box-sizing:border-box;flex-direction:column;justify-content:flex-end;align-items:center;gap:16px;width:100%;height:100%;padding:24px 24px max(18vh,135px);display:flex;position:relative}.loading-title{letter-spacing:2px;text-align:center;color:#fff;text-shadow:0 0 10px #00f0ffcc,0 0 20px #b400ff99,0 2px 14px #000;font-size:28px;font-weight:800;animation:2.2s ease-in-out infinite alternate title-neon-pulse}@keyframes title-neon-pulse{0%{filter:brightness(.95);text-shadow:0 0 10px #00f0ffb3,0 0 20px #b400ff80,0 2px 14px #000}to{filter:brightness(1.25);text-shadow:0 0 16px #00f0ff,0 0 30px #b400ffe6,0 2px 18px #000}}@keyframes neon-ambient-flicker{0%,to{opacity:.96;filter:brightness(1.08)contrast(1.05)}12%{opacity:.98;filter:brightness(1.25)contrast(1.15)}14%{opacity:.86;filter:brightness(.9)contrast(.98)}16%{opacity:1;filter:brightness(1.32)contrast(1.2)}45%{opacity:.96;filter:brightness(1.05)contrast(1.05)}68%{opacity:1;filter:brightness(1.22)contrast(1.12)}70%{opacity:.82;filter:brightness(.85)contrast(.96)}72%{opacity:1;filter:brightness(1.35)contrast(1.22)}85%{opacity:.95;filter:brightness(1.06)contrast(1.04)}}.loading-track{background:#b4d2e459;border-radius:4px;width:min(320px,100vw - 64px);height:8px;position:relative;overflow:hidden}.loading-track:before{content:"";z-index:1;background:#27e681;width:0;animation:5s linear forwards loading-startup;position:absolute;inset:0 auto 0 0}.loading-track.is-measured:before{display:none}@keyframes loading-startup{to{width:15%}}#asset-progress-fill{background:#27e681;width:0%;height:100%;transition:width .24s;animation:1.2s ease-in-out infinite alternate loading-glow;box-shadow:0 0 14px #27e681}@keyframes loading-glow{0%{filter:brightness(.85)}to{filter:brightness(1.35)}}@media (prefers-reduced-motion:reduce){.loading-video{display:none}}#asset-progress{font-variant-numeric:tabular-nums;color:#b1c6b4;overflow-wrap:anywhere;text-align:center;max-width:calc(100% - 40px)}#asset-retry{color:#fff;cursor:pointer;background:#3a493e;border:1px solid #90ab94;border-radius:4px;padding:10px 18px}#asset-retry[hidden]{display:none}#stage-hint{z-index:18;color:#e5fff0;text-align:center;pointer-events:none;background:#0c1a16e6;border:1px solid #21d879;max-width:calc(100vw - 28px);padding:10px 14px;font-size:14px;font-weight:700;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}#stage-hint[hidden]{display:none}.stage-jump-btn:disabled{opacity:.42;cursor:not-allowed}
