@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Quicksand:wght@400;500;600;700&family=Baloo+2:wght@400;500;600;700;800&display=swap";:root{--bubbly-coral: #E67332;--bubbly-coral-light: #FF8E8E;--bubbly-coral-dark: #E85555;--bubbly-teal: #4ECDC4;--bubbly-teal-light: #7EDDD6;--bubbly-teal-dark: #3DBDB4;--bubbly-yellow: #FFE66D;--bubbly-yellow-light: #FFF0A0;--bubbly-yellow-dark: #F5D84A;--bubbly-success: #95E1D3;--bubbly-success-dark: #6DD4C1;--bubbly-warning: #FFB347;--bubbly-error: #E67332;--bubbly-info: #74B9FF;--bubbly-cream: #FFF8F0;--bubbly-cream-dark: #F5EDE4;--bubbly-navy: #2D3A4A;--bubbly-navy-light: #3D4D60;--bubbly-charcoal: #1A2530;--bubbly-text-primary: #2D3A4A;--bubbly-text-secondary: #5A6B7D;--bubbly-text-muted: #8A99A8;--bubbly-text-light: #FFFFFF;--bubbly-shadow-sm: 0 2px 8px rgba(45, 58, 74, .08);--bubbly-shadow-md: 0 4px 16px rgba(45, 58, 74, .12);--bubbly-shadow-lg: 0 8px 32px rgba(45, 58, 74, .16);--bubbly-shadow-xl: 0 16px 48px rgba(45, 58, 74, .2);--bubbly-shadow-glow: 0 0 24px rgba(255, 107, 107, .3);--bubbly-radius-sm: 12px;--bubbly-radius-md: 18px;--bubbly-radius-lg: 24px;--bubbly-radius-xl: 32px;--bubbly-radius-full: 9999px;--bubbly-ease: cubic-bezier(.34, 1.56, .64, 1);--bubbly-ease-out: cubic-bezier(.22, 1, .36, 1);--bubbly-duration: .3s;--bubbly-font: "Quicksand", system-ui, sans-serif;--bubbly-font-display: "Fredoka", "Baloo 2", var(--bubbly-font);--bubbly-font-accent: "Baloo 2", var(--bubbly-font);--bubbly-font-mono: "SF Mono", "Monaco", "Consolas", monospace}body{font-family:var(--bubbly-font)}.menu-wrapper button:after,.menu-wrapper button:before,.menu-wrapper button span:after,.menu-wrapper button span:before,.setup-modal button:after,.setup-modal button:before,.setup-modal button span:after,.setup-modal button span:before,.waiting-screen button:after,.waiting-screen button:before,.game-over-screen button:after,.game-over-screen button:before,.bubbly-setup-modal button:after,.bubbly-setup-modal button:before,.player-setup button:after,.player-setup button:before,.btn-primary:after,.btn-primary:before,.btn-primary span:after,.btn-primary span:before,.btn-secondary:after,.btn-secondary:before,.bubbly-btn-primary:after,.bubbly-btn-primary:before,.bubbly-btn-secondary:after,.bubbly-btn-secondary:before,.bubbly-create-btn:after,.bubbly-create-btn:before,.bubbly-add-btn:after,.bubbly-add-btn:before,.setup-back-button:after,.setup-back-button:before,.waiting-back-button:after,.waiting-back-button:before,.nav-link:after,.nav-link:before,.nav-btn-icon:after,.nav-btn-icon:before,.game-card:after,.game-card:before{content:none!important;display:none!important}.bubbly-btn-primary,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;font-size:16px;font-weight:600;font-family:var(--bubbly-font);background:var(--bubbly-coral);border:none;border-radius:14px;color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--bubbly-coral-dark);transition:all .15s ease;position:relative;overflow:visible}.bubbly-btn-primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--bubbly-coral-light);transform:translateY(-2px);box-shadow:0 5px 0 var(--bubbly-coral-dark),0 10px 25px #ff6b6b4d}.bubbly-btn-primary:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--bubbly-coral-dark)}.bubbly-btn-primary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.bubbly-btn-primary.ready{background:var(--bubbly-success-dark);box-shadow:0 3px #5cc9b5}.bubbly-btn-primary.ready:hover:not(:disabled){background:var(--bubbly-success);box-shadow:0 5px #5cc9b5,0 10px 25px #6dd4c14d}.bubbly-btn-secondary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:600;font-family:var(--bubbly-font);background:#fff;border:2px solid rgba(0,0,0,.1);border-radius:12px;color:var(--bubbly-text-secondary);cursor:pointer;transition:all .15s ease}.bubbly-btn-secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){border-color:var(--bubbly-coral);color:var(--bubbly-coral);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.bubbly-btn-secondary:active:not(:disabled),.btn-secondary:active:not(:disabled){transform:scale(.95);box-shadow:0 2px 6px #0000000d;transition:all .05s ease}.bubbly-btn-ghost,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 18px;font-size:14px;font-weight:600;font-family:var(--bubbly-font);background:transparent;border:none;border-radius:10px;color:var(--bubbly-text-muted);cursor:pointer;transition:all .15s ease}.bubbly-btn-ghost:hover,.btn-ghost:hover{background:#0000000f;color:var(--bubbly-text-primary)}.bubbly-badge-success{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:var(--bubbly-success);border-radius:var(--bubbly-radius-full);font-size:.8rem;font-weight:600;color:#fff}.bubbly-badge-pending{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:#2d3a4a1a;border-radius:var(--bubbly-radius-full);font-size:.8rem;font-weight:600;color:var(--bubbly-text-muted)}.bubbly-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .75rem;background:#2d3a4a14;border-radius:var(--bubbly-radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bubbly-text-muted)}.setup-back-button,.waiting-back-button{display:flex;align-items:center;justify-content:flex-start;width:calc(100% - 2.5rem);margin:0 1.25rem .75rem;gap:8px;padding:12px 16px;font-family:var(--bubbly-font);font-size:14px;font-weight:600;color:#ffffffb3;background:#ffffff14;border:none;border-radius:10px;cursor:pointer;transition:all .15s ease;position:relative;z-index:10;box-sizing:border-box}.waiting-screen-content .waiting-back-button{width:100%;margin:0 0 .5rem}.setup-back-button:hover,.waiting-back-button:hover{color:#fff;background:#ffffff26;transform:translate(-3px)}.setup-back-button:active,.waiting-back-button:active{transform:scale(.95) translate(-2px);background:#fff3;transition:all .05s ease}.setup-back-button svg,.waiting-back-button svg{transition:transform .15s ease}.setup-back-button:hover svg,.waiting-back-button:hover svg{transform:translate(-2px)}.setup-back-button:active svg,.waiting-back-button:active svg{transform:translate(-4px)}.bubbly-add-btn:before,.bubbly-add-btn:after,.bubbly-create-btn:before,.bubbly-create-btn:after,.setup-create-button:before,.setup-create-button:after,.player-setup-add:before,.player-setup-add:after,button.bubbly-add-btn:before,button.bubbly-add-btn:after,button.bubbly-create-btn:before,button.bubbly-create-btn:after,button.setup-create-button:before,button.setup-create-button:after,button.player-setup-add:before,button.player-setup-add:after{all:unset!important;content:none!important;display:none!important;position:static!important;width:0!important;height:0!important;background:transparent!important;border:none!important;box-shadow:none!important;mask:none!important;-webkit-mask:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}.setup-back-button span,.waiting-back-button span,.player-setup-add span,.player-setup-add.bubbly-add-btn span,.setup-create-button span,.setup-create-button.bubbly-create-btn span,button.setup-back-button span,button.waiting-back-button span,button.player-setup-add span,button.setup-create-button span{all:unset!important;color:inherit!important;display:inline!important;padding:0!important;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;text-shadow:none!important}.player-setup-add.bubbly-add-btn,button.player-setup-add.bubbly-add-btn{align-self:stretch!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;justify-content:center!important;text-align:center!important;box-sizing:border-box!important}.setup-create-button.bubbly-create-btn,button.setup-create-button.bubbly-create-btn{align-self:stretch!important;width:100%!important;max-width:none!important;margin:0!important;justify-content:center!important;text-align:center!important;box-sizing:border-box!important}.toast-container{position:fixed;top:0;left:0;right:0;z-index:10000;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-top:1.5rem;pointer-events:none}@media(max-width:480px){.toast-container{padding-top:.75rem;gap:.5rem}.toast-item{max-width:none;width:calc(100% - 1.5rem)}}.toast-item{pointer-events:auto;background:#fff;border-radius:var(--bubbly-radius-md);box-shadow:0 4px 24px #2d3a4a26,0 2px 8px #2d3a4a14;overflow:hidden;transform-origin:top center;max-width:400px;width:calc(100% - 3rem)}@media(max-width:480px){.toast-item{border-radius:10px}.toast-content{gap:.625rem;padding:.625rem .875rem}.toast-icon{width:28px;height:28px}.toast-icon svg{width:16px;height:16px}.toast-emoji{font-size:1rem}.toast-title{font-size:.8rem;margin-bottom:.125rem}.toast-message{font-size:.75rem;line-height:1.35}.toast-dismiss{width:24px;height:24px;margin-left:.25rem}.toast-dismiss svg{width:12px;height:12px}.toast-progress{height:2px}}.toast-enter{animation:toast-drop-in .4s var(--bubbly-ease) forwards}@keyframes toast-drop-in{0%{opacity:0;transform:translateY(-100%) scale(.9)}60%{opacity:1;transform:translateY(8px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-exit{animation:toast-fade-out .3s var(--bubbly-ease-out) forwards}@keyframes toast-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(.95)}}.toast-content{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--bubbly-radius-sm);background:#2d3a4a1a}.toast-emoji{font-size:1.25rem;line-height:1}.toast-success .toast-icon{background:linear-gradient(135deg,#95e1d3,#6dd4c1);color:#fff}.toast-error .toast-icon{background:linear-gradient(135deg,#e67332,#e85555);color:#fff}.toast-warning .toast-icon{background:linear-gradient(135deg,#ffb347,#f5a020);color:#fff}.toast-info .toast-icon{background:linear-gradient(135deg,#74b9ff,#5daeff);color:#fff}.toast-body{flex:1;min-width:0;padding-top:.125rem}.toast-title{font-family:var(--bubbly-font);font-size:.9375rem;font-weight:700;color:var(--bubbly-navy);margin-bottom:.25rem;line-height:1.3}.toast-message{font-family:var(--bubbly-font);font-size:.875rem;font-weight:500;color:var(--bubbly-text-secondary);line-height:1.45;word-wrap:break-word}.toast-dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--bubbly-radius-sm);color:var(--bubbly-text-muted);cursor:pointer;transition:all .2s ease;opacity:.6}.toast-dismiss:hover{background:#2d3a4a14;color:var(--bubbly-navy);opacity:1}.toast-dismiss:active{transform:scale(.9)}.toast-progress{height:3px;background:#2d3a4a0f}.toast-progress-bar{height:100%;transition:width 50ms linear}.toast-success .toast-progress-bar{background:linear-gradient(90deg,#95e1d3,#6dd4c1)}.toast-error .toast-progress-bar{background:linear-gradient(90deg,#e67332,#e85555)}.toast-warning .toast-progress-bar{background:linear-gradient(90deg,#ffb347,#f5a020)}.toast-info .toast-progress-bar{background:linear-gradient(90deg,#74b9ff,#5daeff)}.toast-item:hover .toast-progress-bar{animation-play-state:paused}.toast-item.toast-dark{background:var(--bubbly-navy)}.toast-item.toast-dark .toast-title{color:#fff}.toast-item.toast-dark .toast-message{color:#ffffffb3}.toast-item.toast-dark .toast-dismiss{color:#ffffff80}.toast-item.toast-dark .toast-dismiss:hover{color:#fff;background:#ffffff1a}.toast-item.toast-dark .toast-progress{background:#ffffff1a}.toast-item.toast-important{border-left:4px solid}.toast-item.toast-important.toast-success{border-left-color:var(--bubbly-success)}.toast-item.toast-important.toast-error{border-left-color:var(--bubbly-error)}.toast-item.toast-important.toast-warning{border-left-color:var(--bubbly-warning)}.toast-item.toast-important.toast-info{border-left-color:var(--bubbly-info)}.scorecard.bubbly-scorecard{background:linear-gradient(165deg,var(--bubbly-cream) 0%,white 100%);border-radius:var(--bubbly-radius-xl);box-shadow:var(--bubbly-shadow-lg);padding:1.5rem;border:none}.scorecard-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:2px dashed rgba(45,58,74,.1);margin-bottom:1.25rem}.scorecard-title-group{display:flex;align-items:center;gap:.75rem}.scorecard-trophy{color:var(--bubbly-yellow-dark)}.scorecard-header h2{font-family:var(--bubbly-font-display);font-size:1.5rem;font-weight:400;color:var(--bubbly-navy);margin:0;letter-spacing:-.01em}.scorecard-player.bubbly-player-card{background:#fff;border-radius:var(--bubbly-radius-lg);border:2px solid rgba(45,58,74,.06);padding:1.25rem;margin-bottom:1rem;transition:all var(--bubbly-duration) ease;box-shadow:var(--bubbly-shadow-sm)}.scorecard-player.bubbly-player-card:last-child{margin-bottom:0}.scorecard-player.bubbly-player-card.active-player{border-color:var(--bubbly-coral);box-shadow:var(--bubbly-shadow-md),0 0 0 4px #ff6b6b1a;transform:none}.scorecard-player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.scorecard-player-meta{display:flex;align-items:center;gap:.75rem}.scorecard-player-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--bubbly-teal) 0%,var(--bubbly-teal-dark) 100%);border-radius:var(--bubbly-radius-sm);display:flex;align-items:center;justify-content:center;color:#fff}.scorecard-player-info{display:flex;flex-direction:column;gap:.25rem}.scorecard-player-name{font-size:1.1rem;font-weight:700;color:var(--bubbly-navy)}.scorecard-player-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:var(--bubbly-success-dark);text-transform:uppercase;letter-spacing:.05em}.scorecard-player-total{text-align:right}.scorecard-player-total .total-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bubbly-text-muted);margin-bottom:.15rem}.scorecard-player-total .total-value{font-family:var(--bubbly-font-display);font-size:2rem;color:var(--bubbly-coral)}.scorecard-frames{display:grid;grid-template-columns:repeat(10,1fr);gap:.5rem;overflow-x:auto;padding-bottom:4px}.frame.bubbly-frame{background:#2d3a4a08;border-radius:var(--bubbly-radius-sm);padding:.5rem .35rem;text-align:center;transition:all var(--bubbly-duration) ease;min-width:48px}.frame.bubbly-frame.current-frame{background:linear-gradient(135deg,#ff6b6b26,#ff6b6b0d);border:2px solid var(--bubbly-coral)}.frame.bubbly-frame.strike-frame{background:linear-gradient(135deg,#ffe66d33,#ffe66d0d)}.frame.bubbly-frame.spare-frame{background:linear-gradient(135deg,#95e1d333,#95e1d30d)}.frame-number{font-size:.65rem;font-weight:700;color:var(--bubbly-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.frame-balls{display:flex;justify-content:center;gap:.25rem;margin-bottom:.35rem}.ball-box{width:22px;height:22px;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--bubbly-text-secondary);border:1px solid rgba(45,58,74,.1)}.ball-box.is-strike{background:var(--bubbly-yellow);border-color:var(--bubbly-yellow-dark)}.ball-box.is-spare{background:var(--bubbly-success);border-color:var(--bubbly-success-dark)}.ball-icon{width:14px;height:14px}.ball-icon.strike-icon{color:var(--bubbly-coral)}.ball-icon.spare-icon{color:var(--bubbly-teal-dark)}.ball-gutter{color:var(--bubbly-text-muted)}.ball-number{color:var(--bubbly-navy)}.frame-total{font-size:.9rem;font-weight:700;color:var(--bubbly-navy);min-height:1.2em}@media(max-width:480px){.scorecard-frames{grid-template-columns:repeat(10,minmax(40px,1fr));gap:.35rem}.frame.bubbly-frame{padding:.35rem .25rem;min-width:40px}.ball-box{width:18px;height:18px;font-size:.65rem}}.bowling-scoreboard{position:fixed;top:20px;right:20px;width:280px;background:#0f141eeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;font-family:var(--bubbly-font, "Quicksand", system-ui, sans-serif);color:#fff;z-index:10000;box-shadow:0 8px 32px #0006;pointer-events:auto}.bowling-scoreboard.accent-success{--accent: #4AE290}.bowling-scoreboard.accent-warning{--accent: #FFB347}.bowling-scoreboard.accent-danger{--accent: #E67332}.bowling-scoreboard.accent-info{--accent: #74B9FF}.sb-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}.sb-title{display:flex;align-items:center;gap:6px}.sb-icon{color:var(--bubbly-coral, #E67332);width:16px;height:16px}.sb-game-title{font-family:var(--bubbly-font-display, "Fredoka One", sans-serif);font-size:13px;letter-spacing:.5px;background:linear-gradient(135deg,#e67332,#ffe66d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sb-frame-info{display:flex;align-items:center;gap:6px;font-size:11px;color:#fff9}.sb-frame-label,.sb-ball-label{font-weight:600;color:#ffffffe6}.sb-divider{opacity:.3}.sb-main{display:flex;flex-direction:column;gap:10px}.sb-player{display:flex;align-items:center;gap:10px}.sb-player-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--bubbly-coral, #E67332),var(--bubbly-teal, #4ECDC4));display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 8px #00000040}.sb-player-info{display:flex;flex-direction:column;flex:1}.sb-player-name{font-weight:700;font-size:13px;color:#fff}.sb-player-score{font-size:11px;color:var(--bubbly-yellow, #FFE66D);font-weight:600}.sb-frames{display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.sb-frame{display:flex;flex-direction:column;align-items:center;background:#ffffff0a;border-radius:4px;padding:3px 2px;border:1px solid transparent;transition:all .2s ease}.sb-frame.current{background:#4ecdc426;border-color:var(--bubbly-teal, #4ECDC4)}.sb-frame.strike .sb-frame-num{color:#ffe66d}.sb-frame.spare .sb-frame-num{color:#4ae290}.sb-frame-num{font-size:8px;font-weight:600;color:#fff6;line-height:1}.sb-frame-balls{display:flex;gap:1px;margin:2px 0}.sb-ball{width:11px;height:11px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff9;background:#00000040;border-radius:2px}.sb-ball.is-strike{color:#ffe66d;background:#ffe66d33}.sb-ball.is-spare{color:#4ae290;background:#4ae29033}.sb-ball .ball-icon{width:8px;height:8px}.sb-ball .ball-icon.strike{color:#ffe66d}.sb-ball .ball-icon.spare{color:#4ae290}.sb-ball .ball-gutter{color:#ffffff4d;font-size:10px}.sb-ball .ball-num{color:#ffffffb3}.sb-frame-score{font-size:9px;font-weight:700;color:#fff;min-height:11px;line-height:1}.sb-status-bar{display:flex;align-items:center;gap:12px;padding-top:10px;margin-top:10px;border-top:1px solid rgba(255,255,255,.06)}.sb-status{display:flex;align-items:center;gap:6px;flex:1}.sb-status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent, #74B9FF);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sb-status.status-success .sb-status-dot{background:#4ae290}.sb-status.status-warning .sb-status-dot{background:#ffb347;animation:pulse .4s infinite}.sb-status.status-danger .sb-status-dot{background:#e67332}.sb-status-text{font-size:11px;font-weight:600;color:#fffc}.sb-pins{display:flex;align-items:center;gap:6px}.sb-pins-label{display:none}.sb-pins-grid{display:flex;flex-direction:column;align-items:center;gap:1px}.sb-pin-row{display:flex;gap:1px}.sb-pin{width:8px;height:8px;display:flex;align-items:center;justify-content:center}.sb-pin svg{width:6px;height:6px}.sb-pin.standing{color:#fff}.sb-pin.knocked{color:#ffffff26}.sb-pins-count{font-size:14px;font-weight:700;color:#fff;min-width:18px;text-align:center}.sb-meter{display:none}.sb-controller-bar{display:flex;align-items:center;gap:12px;padding-top:10px;margin-top:10px;border-top:1px solid rgba(255,255,255,.06)}.sb-connection{display:flex;align-items:center;gap:5px;padding:4px 8px;background:#ffffff0d;border-radius:10px;font-size:10px}.sb-conn-dot{width:6px;height:6px;border-radius:50%;background:#4ae290;animation:pulse 2s infinite}.sb-connection.status-connected .sb-conn-dot{background:#4ae290}.sb-connection.status-connecting .sb-conn-dot{background:#ffb347;animation:pulse .5s infinite}.sb-connection.status-disconnected .sb-conn-dot,.sb-connection.status-error .sb-conn-dot{background:#e67332;animation:none}.sb-conn-label{font-weight:600;color:#fffc;text-transform:uppercase;letter-spacing:.5px}.sb-latency{font-weight:700;padding-left:4px;border-left:1px solid rgba(255,255,255,.1);margin-left:2px}.sb-latency.low{color:#4ae290}.sb-latency.medium{color:#ffb347}.sb-latency.high{color:#e67332}.sb-mini-meter{display:flex;align-items:center;gap:4px;flex:1}.sb-mini-label{font-size:9px;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.5px;width:26px}.sb-mini-bar{flex:1;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;position:relative}.sb-mini-fill{height:100%;border-radius:2px;transition:width .1s ease-out}.sb-mini-fill.power{background:linear-gradient(90deg,#4ae290,#ffe66d,#e67332);background-size:200% 100%}.sb-mini-bar.direction{background:linear-gradient(90deg,#ff6b6b26,#4ae29033 45%,#4ae29040,#4ae29033 55%,#ff6b6b26)}.sb-mini-marker{position:absolute;top:50%;width:6px;height:6px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px #ffffff80;transition:left .1s ease-out}.sb-mini-value{font-size:9px;font-weight:700;color:#ffffffb3;width:40px;text-align:right}.sb-players-list{display:flex;flex-wrap:wrap;gap:4px;padding-top:10px;margin-top:10px;border-top:1px solid rgba(255,255,255,.06)}.sb-player-chip{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#ffffff0d;border-radius:12px;border:1px solid transparent;font-size:10px}.sb-player-chip.active{background:#4ecdc426;border-color:#4ecdc466}.sb-chip-emoji{font-size:11px}.sb-chip-name{font-weight:600;color:#fffc;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-chip-score{font-weight:700;color:var(--bubbly-yellow, #FFE66D);padding-left:4px;border-left:1px solid rgba(255,255,255,.1)}@media(max-width:600px){.bowling-scoreboard{top:10px;right:10px;left:10px;width:auto;padding:10px}.sb-frames{gap:1px}.sb-frame{padding:2px 1px}.sb-ball{width:9px;height:9px;font-size:7px}.sb-frame-score{font-size:8px}}.wii-countdown-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2d3a4af7,#1a2530fc);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);animation:wii-overlay-in .3s ease-out}@keyframes wii-overlay-in{0%{opacity:0}to{opacity:1}}.wii-countdown-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:wii-container-bounce .5s var(--bubbly-ease)}@keyframes wii-container-bounce{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.wii-countdown-circle{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center}.wii-countdown-ring{position:absolute;width:100%;height:100%;transform:rotate(-90deg)}.wii-ring-bg{stroke:#ffffff1a}.wii-ring-progress{stroke:var(--bubbly-coral);transition:stroke-dashoffset .3s ease-out;filter:drop-shadow(0 0 12px rgba(255,107,107,.5))}.wii-countdown-number{font-family:var(--bubbly-font-display);font-size:5rem;font-weight:700;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.3),0 0 40px rgba(255,255,255,.2);animation:wii-number-pop 1s ease-out infinite;z-index:1}@keyframes wii-number-pop{0%,to{transform:scale(1)}10%{transform:scale(1.15)}20%{transform:scale(1)}}.wii-countdown-number.urgent{color:var(--bubbly-coral);animation:wii-number-urgent .5s ease-in-out infinite}@keyframes wii-number-urgent{0%,to{transform:scale(1);text-shadow:0 4px 20px rgba(255,107,107,.5),0 0 60px rgba(255,107,107,.4)}50%{transform:scale(1.2);text-shadow:0 4px 30px rgba(255,107,107,.7),0 0 80px rgba(255,107,107,.6)}}.wii-countdown-label{font-family:var(--bubbly-font-display);font-size:2rem;color:var(--bubbly-yellow);text-transform:uppercase;letter-spacing:.2em;text-shadow:0 2px 10px rgba(255,230,109,.4);animation:wii-label-glow 1.5s ease-in-out infinite}@keyframes wii-label-glow{0%,to{opacity:1}50%{opacity:.7}}.wii-countdown-hint{font-family:var(--bubbly-font);font-size:1rem;color:#fff9;font-weight:500}.wii-go-overlay{position:fixed;top:50%;left:0;right:0;z-index:2001;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;height:160px;background:linear-gradient(90deg,transparent 0%,rgba(78,205,196,.98) 10%,rgba(78,205,196,1) 50%,rgba(78,205,196,.98) 90%,transparent 100%);animation:wii-go-banner-in .25s ease-out;overflow:visible}@keyframes wii-go-banner-in{0%{opacity:0;transform:translateY(-50%) scaleY(0)}to{opacity:1;transform:translateY(-50%) scaleY(1)}}.wii-go-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.wii-go-text{font-family:var(--bubbly-font-display);font-size:clamp(5rem,15vw,10rem);font-weight:700;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.3),0 0 60px rgba(255,255,255,.5);animation:wii-go-text-pop 1.2s var(--bubbly-ease) forwards;z-index:2;letter-spacing:.05em}@keyframes wii-go-text-pop{0%{transform:scale(.5);opacity:0}20%{transform:scale(1.15);opacity:1}40%{transform:scale(1)}80%{transform:scale(1);opacity:1}to{transform:scale(1.1);opacity:0}}.wii-go-burst{position:absolute;width:200vw;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:wii-go-burst-sweep 1s ease-out forwards;pointer-events:none}@keyframes wii-go-burst-sweep{0%{transform:translate(-100%);opacity:1}to{transform:translate(100%);opacity:0}}.wii-go-overlay:before,.wii-go-overlay:after{content:"";position:absolute;top:50%;width:150px;height:4px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);transform:translateY(-50%);animation:wii-streak .6s ease-out forwards}.wii-go-overlay:before{left:5%;animation-delay:.1s}.wii-go-overlay:after{right:5%;animation-delay:.15s}@keyframes wii-streak{0%{width:0;opacity:0}50%{opacity:1}to{width:150px;opacity:0}}@media(max-width:768px){.wii-countdown-circle{width:140px;height:140px}.wii-countdown-number{font-size:4rem}.wii-countdown-label{font-size:1.5rem;letter-spacing:.15em}.wii-go-overlay{height:120px}.wii-go-text{font-size:clamp(4rem,18vw,7rem)}.wii-go-overlay:before,.wii-go-overlay:after{width:80px}@keyframes wii-streak{0%{width:0;opacity:0}50%{opacity:1}to{width:80px;opacity:0}}}.turn-banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 60px;background:linear-gradient(135deg,#1a2530f2,#2d3a4af2);border-radius:var(--bubbly-radius-lg, 24px);box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;min-width:320px;pointer-events:none}.turn-banner__text{font-family:var(--bubbly-font-display, "Fredoka One", sans-serif);font-size:56px;font-weight:700;letter-spacing:2px;text-align:center}.turn-banner__text--strike{font-size:64px;color:var(--bubbly-coral, #E67332);text-shadow:0 0 20px rgba(255,107,107,.6),0 4px 8px rgba(0,0,0,.3);border-color:var(--bubbly-coral, #E67332)}.turn-banner__text--spare{font-size:64px;color:var(--bubbly-teal, #4ECDC4);text-shadow:0 0 20px rgba(78,205,196,.5),0 4px 8px rgba(0,0,0,.3);border-color:var(--bubbly-teal, #4ECDC4)}.turn-banner__text--gutter{color:var(--bubbly-text-muted, #8A99A8);text-shadow:0 0 20px rgba(138,153,168,.3),0 4px 8px rgba(0,0,0,.3);border-color:var(--bubbly-text-muted, #8A99A8)}.turn-banner__text--pins{color:var(--bubbly-yellow, #FFE66D);text-shadow:0 0 20px rgba(255,230,109,.5),0 4px 8px rgba(0,0,0,.3);border-color:var(--bubbly-yellow, #FFE66D)}.turn-banner__subtext{font-family:var(--bubbly-font, "Quicksand", sans-serif);font-size:18px;color:#fffc;margin-top:-10px}.turn-banner__pins{position:relative;width:160px;height:120px;margin-top:10px}.turn-banner__pin{position:absolute;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:20px;transition:filter .3s}.turn-banner__pin--knocked{filter:grayscale(1) brightness(.6)}.turn-banner__sparkles{position:absolute;inset:0;overflow:hidden;border-radius:var(--bubbly-radius-lg, 24px);pointer-events:none}.turn-banner__sparkle{position:absolute;left:50%;top:50%;width:10px;height:10px;margin-left:-5px;margin-top:-5px;border-radius:50%}.turn-banner__sparkle--gold{background:var(--bubbly-yellow, #FFE66D);box-shadow:0 0 10px var(--bubbly-yellow, #FFE66D)}.turn-banner__sparkle--coral{background:var(--bubbly-coral, #E67332);box-shadow:0 0 10px var(--bubbly-coral, #E67332)}.turn-banner__sparkle--teal{background:var(--bubbly-teal, #4ECDC4);box-shadow:0 0 10px var(--bubbly-teal, #4ECDC4)}.turn-banner__gutter-emoji{font-size:48px;margin-top:-10px}@media(max-width:480px){.turn-banner{padding:24px 32px;min-width:280px}.turn-banner__text{font-size:40px}.turn-banner__text--strike,.turn-banner__text--spare{font-size:48px}.turn-banner__subtext{font-size:14px}.turn-banner__pins{width:120px;height:90px}.turn-banner__pin{width:22px;height:22px;font-size:16px}}.game-paused-overlay{position:fixed;inset:0;background:#1a1a2ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.game-paused-modal{background:#fff;border-radius:24px;padding:48px;max-width:480px;width:90%;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275)}.paused-header{text-align:center;margin-bottom:32px}.paused-icon{width:72px;height:72px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;color:#fff}.paused-icon.warning{background:linear-gradient(135deg,var(--bubbly-warning) 0%,#F5A020 100%)}.paused-header h2{font-size:28px;font-weight:700;color:var(--bubbly-navy);margin-bottom:8px}.paused-header p{font-size:16px;color:var(--bubbly-slate)}.paused-header p strong{color:var(--bubbly-coral)}.paused-status{background:var(--bubbly-cloud);border-radius:16px;padding:24px;margin-bottom:24px}.paused-countdown{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.countdown-label{font-size:14px;color:var(--bubbly-slate)}.countdown-timer{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:700;color:var(--bubbly-navy)}.countdown-timer svg{animation:spin 2s linear infinite}.paused-progress{height:8px;background:#0000001a;border-radius:4px;overflow:hidden;margin-bottom:12px}.paused-progress-fill{height:100%;background:linear-gradient(90deg,var(--bubbly-warning) 0%,#F5A020 100%);border-radius:4px;transition:width 1s linear}.paused-hint{font-size:13px;color:var(--bubbly-slate);text-align:center;margin:0}.paused-timeout{text-align:center}.paused-timeout p{color:var(--bubbly-coral);font-weight:600;margin:0}.paused-actions{text-align:center}button.continue-btn{width:100%;padding:16px 24px;border-radius:12px;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px;transition:all .2s ease;background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-peach) 100%);color:#fff;border:none;cursor:pointer;box-shadow:0 3px 0 var(--bubbly-coral-dark);backdrop-filter:none;-webkit-backdrop-filter:none}button.continue-btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 5px 0 var(--bubbly-coral-dark),0 10px 25px #ff6b6b4d}button.continue-btn:active:not(.disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--bubbly-coral-dark)}button.continue-btn.disabled{background:var(--bubbly-cloud);color:var(--bubbly-slate);border:none;cursor:not-allowed;box-shadow:none}.action-hint{font-size:13px;color:var(--bubbly-slate);margin:0}.paused-waiting{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--bubbly-slate)}.paused-waiting svg{animation:spin 2s linear infinite}.intro-modal-overlay{background:linear-gradient(135deg,#2d3a4af2,#1a2530fa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.intro-modal.bubbly-card{background:linear-gradient(165deg,var(--bubbly-cream) 0%,var(--bubbly-cream-dark) 100%);border:none;border-radius:var(--bubbly-radius-xl);box-shadow:var(--bubbly-shadow-xl),inset 0 1px #fffc;position:relative;overflow:visible}.intro-decor{position:absolute;opacity:.15;color:var(--bubbly-coral);z-index:0;pointer-events:none}.intro-decor-left{top:-10px;left:-10px;transform:rotate(-15deg)}.intro-decor-right{top:20px;right:-5px;transform:rotate(20deg)}.intro-decor .decor-pin{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.intro-modal-header{padding:2.5rem 2rem 2rem;border-bottom:2px dashed rgba(45,58,74,.1);background:transparent;position:relative;z-index:1}.intro-icon-wrapper{width:80px;height:80px;margin:0 auto 1.25rem;background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-coral-dark) 100%);border-radius:var(--bubbly-radius-lg);display:flex;align-items:center;justify-content:center;box-shadow:var(--bubbly-shadow-md),0 4px 0 var(--bubbly-coral-dark);transform:translateY(-4px);transition:transform var(--bubbly-duration) var(--bubbly-ease)}.intro-icon-wrapper:hover{transform:translateY(-6px)}.intro-ball-icon{color:#fff;--icon-hole: rgba(0, 0, 0, .3)}.intro-modal-title{font-family:var(--bubbly-font-display);font-size:2.25rem;font-weight:400;color:var(--bubbly-navy);margin:0 0 .5rem;letter-spacing:-.02em}.intro-modal-subtitle{font-size:1rem;color:var(--bubbly-text-secondary);font-weight:500}.intro-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-top:1.5rem}.intro-step{width:36px;height:36px;border-radius:var(--bubbly-radius-full);background:#2d3a4a1a;display:flex;align-items:center;justify-content:center;transition:all var(--bubbly-duration) var(--bubbly-ease)}.intro-step.active{background:var(--bubbly-coral);box-shadow:0 4px 12px #ff6b6b66;transform:scale(1.1)}.intro-step.completed{background:var(--bubbly-success)}.intro-step-num{font-weight:700;font-size:.9rem;color:var(--bubbly-text-muted)}.intro-step.active .intro-step-num,.intro-step.completed .intro-step-num{color:#fff}.intro-step-line{width:40px;height:3px;background:#2d3a4a1a;border-radius:var(--bubbly-radius-full)}.intro-step-content{padding:2rem;background:transparent}.player-count-selector{margin-bottom:2rem}.player-count-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--bubbly-text-secondary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.08em}.player-count-label .label-icon{color:var(--bubbly-coral)}.player-count-buttons{display:flex;gap:.75rem}.player-count-btn.bubbly-btn{flex:1;padding:1.25rem 1rem;font-size:1.5rem;font-weight:700;font-family:var(--bubbly-font-display);background:#fff;border:3px solid rgba(45,58,74,.12);border-radius:var(--bubbly-radius-md);color:var(--bubbly-text-muted);cursor:pointer;transition:all var(--bubbly-duration) var(--bubbly-ease);box-shadow:var(--bubbly-shadow-sm)}.player-count-btn.bubbly-btn:hover{border-color:var(--bubbly-teal);color:var(--bubbly-teal);transform:translateY(-2px);box-shadow:var(--bubbly-shadow-md)}.player-count-btn.bubbly-btn.active{background:linear-gradient(135deg,var(--bubbly-teal) 0%,var(--bubbly-teal-dark) 100%);border-color:var(--bubbly-teal);color:#fff;box-shadow:var(--bubbly-shadow-md),0 4px 0 var(--bubbly-teal-dark);transform:translateY(-2px)}.player-names-list{margin-bottom:2rem}.player-names-label{display:block;font-size:.875rem;font-weight:600;color:var(--bubbly-text-secondary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.08em}.player-name-input-group.bubbly-input-group{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem;background:#fff;border-radius:var(--bubbly-radius-md);border:2px solid rgba(45,58,74,.08);box-shadow:var(--bubbly-shadow-sm);transition:all var(--bubbly-duration) ease}.player-name-input-group.bubbly-input-group:focus-within{border-color:var(--bubbly-coral);box-shadow:var(--bubbly-shadow-md),0 0 0 4px #ff6b6b1a}.bubbly-input-group .player-number{width:36px;height:36px;background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-coral-dark) 100%);border-radius:var(--bubbly-radius-sm);font-weight:700;font-size:1rem;color:#fff;display:flex;align-items:center;justify-content:center}.bubbly-input-group .player-name-input,.bubbly-input-group .player-name-display{flex:1;padding:.5rem .75rem;background:transparent;border:none;color:var(--bubbly-navy);font-size:1rem;font-weight:500}.bubbly-input-group .player-name-input:focus{outline:none;box-shadow:none}.bubbly-input-group .player-name-display{cursor:pointer}.player-name-edit-btn.bubbly-icon-btn{width:36px;height:36px;padding:0;background:#2d3a4a0f;border:none;border-radius:var(--bubbly-radius-sm);color:var(--bubbly-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--bubbly-duration) ease}.player-name-edit-btn.bubbly-icon-btn:hover{background:var(--bubbly-coral);color:#fff}.intro-instructions.bubbly-info-card{background:linear-gradient(135deg,#4ecdc41a,#4ecdc40d);border:2px dashed var(--bubbly-teal);border-radius:var(--bubbly-radius-md);padding:1.5rem;margin-bottom:2rem}.intro-instructions-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--bubbly-teal-dark);font-weight:600}.intro-instructions-header .instructions-icon{color:var(--bubbly-teal)}.intro-instructions-list{margin:0;padding-left:1.5rem;color:var(--bubbly-text-secondary);line-height:1.8}.intro-instructions-list li{margin-bottom:.25rem}.waiting-status{margin-bottom:2rem}.connected-count.bubbly-counter{display:flex;align-items:baseline;justify-content:center;gap:.25rem;background:#fff;border-radius:var(--bubbly-radius-lg);padding:1.5rem 2rem;box-shadow:var(--bubbly-shadow-md)}.bubbly-counter .count-value{font-family:var(--bubbly-font-display);font-size:3rem;color:var(--bubbly-coral)}.bubbly-counter .count-divider{font-size:2rem;color:var(--bubbly-text-muted);margin:0 .25rem}.bubbly-counter .count-total{font-family:var(--bubbly-font-display);font-size:2rem;color:var(--bubbly-text-muted)}.bubbly-counter .connected-label{display:block;width:100%;text-align:center;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bubbly-text-muted);margin-top:.5rem}.player-ready-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.player-ready-item.bubbly-list-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#fff;border-radius:var(--bubbly-radius-md);border:2px solid rgba(45,58,74,.08);box-shadow:var(--bubbly-shadow-sm);transition:all var(--bubbly-duration) ease}.player-ready-item.bubbly-list-item.ready{border-color:var(--bubbly-success);background:linear-gradient(135deg,#95e1d31a,#fff)}.player-ready-info{display:flex;align-items:center;gap:.75rem}.player-ready-number{width:32px;height:32px;background:#2d3a4a14;border-radius:var(--bubbly-radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--bubbly-text-muted)}.player-ready-item.ready .player-ready-number{background:var(--bubbly-success);color:#fff}.player-ready-name{font-weight:600;color:var(--bubbly-navy)}.qr-reminder.bubbly-info-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#74b9ff1a,#74b9ff0d);border:2px dashed var(--bubbly-info);border-radius:var(--bubbly-radius-md);margin-bottom:2rem}.qr-reminder .qr-icon{color:var(--bubbly-info);flex-shrink:0}.qr-reminder p{margin:0;color:var(--bubbly-text-secondary);font-weight:500;line-height:1.5}.intro-actions{display:flex;gap:1rem}.intro-back-btn{flex:0 0 auto}.intro-start-btn{flex:1}@media(max-width:480px){.intro-modal.bubbly-card{border-radius:var(--bubbly-radius-lg);max-height:95vh}.intro-modal-title{font-size:1.75rem}.intro-icon-wrapper{width:64px;height:64px}.intro-ball-icon{width:32px;height:32px}}.setup-modal.bubbly-setup-modal{position:fixed;inset:0;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem;overflow:hidden}.setup-modal.bubbly-setup-modal:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 60% at 20% 30%,rgba(255,122,106,.22) 0%,transparent 62%),radial-gradient(ellipse 70% 55% at 75% 65%,rgba(80,200,255,.18) 0%,transparent 62%),radial-gradient(ellipse 60% 50% at 50% 50%,rgba(255,206,128,.1) 0%,transparent 68%);animation:menu-bg-pulse 10s ease-in-out infinite;pointer-events:none}.setup-modal.bubbly-setup-modal:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,black 20%,transparent 70%);pointer-events:none}@keyframes setup-bg-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.setup-modal-content.bubbly-modal-content{position:relative;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);border-radius:var(--bubbly-radius-xl);box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14;max-width:440px;width:calc(100% - 2rem);margin:1rem;padding:1.25rem 1.75rem 1.75rem;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;gap:1.25rem;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);animation:lobby-card-enter .4s cubic-bezier(.34,1.56,.64,1) forwards}.setup-modal-content.bubbly-modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.setup-header{padding:0;text-align:center}.setup-header .setup-title{color:#fff!important;text-shadow:0 2px 10px rgba(255,107,107,.2)}.setup-header .setup-subtitle{color:#ffffffbf!important;font-weight:500}.setup-icon.bubbly-setup-icon{width:100px;height:72px;margin:0 auto 1.25rem;display:flex;align-items:flex-end;justify-content:center;gap:.35rem;position:relative}.setup-icon.bubbly-setup-icon>svg:first-child{color:var(--bubbly-coral);filter:drop-shadow(0 4px 8px rgba(255,107,107,.3));transform:translateY(-4px)}.setup-icon-pins{display:flex;gap:.15rem;color:var(--bubbly-cream-dark)}.setup-icon-pins svg{--pin-stripe: var(--bubbly-coral);filter:drop-shadow(0 2px 4px rgba(45,58,74,.15))}.setup-title{font-family:var(--bubbly-font-display);font-size:1.85rem;font-weight:400;color:var(--bubbly-navy);margin:0 0 .5rem;letter-spacing:-.02em}.setup-subtitle{font-size:.95rem;color:var(--bubbly-text-secondary);margin:0;font-weight:500;line-height:1.5}.setup-body{padding:0;overflow-y:auto;flex:1}.setup-footer{padding:0;display:flex;flex-direction:column;align-items:stretch}.setup-create-button.bubbly-create-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px 28px;font-size:16px;font-weight:600;font-family:var(--bubbly-font);background:var(--bubbly-coral);border:none;border-radius:14px;color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--bubbly-coral-dark);transition:all .15s ease}.setup-create-button.bubbly-create-btn:hover:not(:disabled){background:var(--bubbly-coral-light);transform:translateY(-2px);box-shadow:0 5px 0 var(--bubbly-coral-dark),0 10px 25px #ff6b6b4d}.setup-create-button.bubbly-create-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--bubbly-coral-dark)}.setup-create-button.bubbly-create-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.setup-footer-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.875rem 0 0;font-size:.8rem;font-weight:500;color:#ffffff80}.player-setup.bubbly-player-setup{background:transparent;border-radius:0;border:none;padding:0;box-shadow:none}.bubbly-player-setup .player-setup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:0;border-bottom:none}.bubbly-player-setup .player-setup-header h2{font-family:var(--bubbly-font);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;margin:0}.bubbly-player-setup .player-setup-count.bubbly-pill{background:linear-gradient(135deg,var(--bubbly-success) 0%,var(--bubbly-success-dark) 100%);color:#fff;padding:.4rem .85rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;border-radius:var(--bubbly-radius-full);box-shadow:0 2px 8px #95e1d366}.bubbly-player-setup .player-setup-list{display:flex;flex-direction:column;gap:.65rem}.player-setup-row.bubbly-setup-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:var(--bubbly-radius-md);border:1px solid rgba(255,255,255,.08);transition:all var(--bubbly-duration) ease}.player-setup-row.bubbly-setup-row:hover{border-color:#4ecdc44d;background:linear-gradient(135deg,#4ecdc414,#4ecdc405)}.player-setup-row.bubbly-setup-row:focus-within{border-color:var(--bubbly-teal);background:linear-gradient(135deg,#4ecdc40f,#4ecdc405);box-shadow:0 0 0 3px #4ecdc41a}.player-setup-number.bubbly-avatar-number{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #00000026,inset 0 1px #fff3}.player-setup-input.bubbly-input{flex:1;padding:.65rem .85rem;font-size:1rem;font-weight:600;font-family:var(--bubbly-font);background:transparent;border:none;color:#fff;transition:all var(--bubbly-duration) ease}.player-setup-input.bubbly-input:focus{outline:none;box-shadow:none}.player-setup-input.bubbly-input::placeholder{color:#ffffff4d;font-weight:500}.player-setup-status.bubbly-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:var(--bubbly-radius-full);font-size:.7rem;font-weight:600}.player-setup-status.bubbly-status-badge.ready{background:var(--bubbly-success);color:#fff}.player-setup-status.bubbly-status-badge.claimed{background:var(--bubbly-info);color:#fff}.player-setup-remove.bubbly-remove-btn{width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid rgba(255,107,107,.25);border-radius:10px;color:var(--bubbly-coral);cursor:pointer;transition:all var(--bubbly-duration) ease;opacity:.6}.player-setup-row:hover .player-setup-remove.bubbly-remove-btn{opacity:1}.player-setup-remove.bubbly-remove-btn:hover:not(:disabled){background:var(--bubbly-coral);border-color:var(--bubbly-coral);color:#fff;transform:scale(1.05)}.player-setup-remove.bubbly-remove-btn:disabled{opacity:.2;cursor:not-allowed}.player-setup-add.bubbly-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:1.25rem!important;padding:14px 20px;font-size:14px;font-weight:600;font-family:var(--bubbly-font);background:transparent;border:2px dashed rgba(78,205,196,.4);border-radius:12px;color:var(--bubbly-teal);cursor:pointer;transition:all .15s ease}.player-setup-add.bubbly-add-btn:hover{background:#4ecdc41a;border-color:var(--bubbly-teal);border-style:solid;transform:translateY(-2px)}.player-setup-add.bubbly-add-btn:active{transform:translateY(0)}.bubbly-player-setup .player-setup-hint{margin:1rem 0 0;text-align:center;font-size:.8rem;color:#fff6}.waiting-screen.bubbly-waiting-screen{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;transform:none!important;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d)!important;background-size:200% 200%!important;animation:ambient-shift 18s ease-in-out infinite!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:2000!important;padding:2rem!important;overflow-y:auto!important;pointer-events:auto!important;color:#fff!important}.waiting-screen.bubbly-waiting-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 60% at 20% 30%,rgba(255,122,106,.22) 0%,transparent 62%),radial-gradient(ellipse 70% 55% at 75% 65%,rgba(80,200,255,.18) 0%,transparent 62%),radial-gradient(ellipse 60% 50% at 50% 50%,rgba(255,206,128,.1) 0%,transparent 68%);animation:menu-bg-pulse 10s ease-in-out infinite;pointer-events:none}.waiting-screen.bubbly-waiting-screen:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 100% 80% at 50% 30%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse 100% 80% at 50% 30%,black 20%,transparent 70%);pointer-events:none}@keyframes waiting-bg-pulse{0%,to{opacity:1}50%{opacity:.7}}.waiting-screen-content.bubbly-waiting-content{position:relative;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);border-radius:var(--bubbly-radius-xl);box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14;max-width:440px;width:calc(100% - 2rem);margin:1rem;padding:1.25rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);max-height:85vh;overflow-y:auto;animation:lobby-card-enter .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes lobby-card-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.waiting-header{text-align:center}.waiting-header h1{color:#fff!important;font-family:var(--bubbly-font-display);font-size:1.5rem;margin-bottom:.35rem}.waiting-header p{color:#ffffffb3!important;font-size:.9rem;font-weight:500}.waiting-header-icon.bubbly-waiting-icon{width:56px;height:56px;margin:0 auto 1rem;background:linear-gradient(135deg,#4ecdc433,#4ecdc41a);border:2px solid rgba(78,205,196,.3);border-radius:var(--bubbly-radius-lg);display:flex;align-items:center;justify-content:center;color:var(--bubbly-teal);box-shadow:0 0 30px #4ecdc433,inset 0 1px #ffffff1a}.qr-code-container.bubbly-qr-container{background:linear-gradient(145deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.1);border-radius:var(--bubbly-radius-lg);padding:1.25rem;text-align:center}.bubbly-qr-container .qr-code-wrapper{display:inline-block;padding:.75rem;background:#fff;border-radius:var(--bubbly-radius-md);box-shadow:0 4px 20px #0000004d,0 0 40px #4ecdc426}.bubbly-qr-container .qr-code-hint{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.875rem 0 .4rem;font-size:.8rem;font-weight:600;color:var(--bubbly-teal)}.bubbly-qr-container .qr-code-url{font-size:.65rem;color:#fff9;word-break:break-all;margin:0;padding:.5rem .75rem;background:#0000004d;border-radius:var(--bubbly-radius-sm);font-family:var(--bubbly-font-mono, "SF Mono", monospace)}.bubbly-qr-container .qr-code-loading{padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.bubbly-qr-container .qr-code-loading p{color:#fff9}.loading-spinner.bubbly-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--bubbly-teal);border-radius:50%;animation:bubbly-spin 1s linear infinite}@keyframes bubbly-spin{to{transform:rotate(360deg)}}.waiting-players-section.bubbly-players-section{background:linear-gradient(145deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:var(--bubbly-radius-lg);padding:1rem}.waiting-players-title{display:flex;align-items:center;gap:.5rem;font-family:var(--bubbly-font);font-size:.9rem;font-weight:700;color:#fff;margin:0 0 .75rem;padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.1)}.waiting-players-title svg{color:var(--bubbly-coral)}.waiting-players-list{display:flex;flex-direction:column;gap:.5rem}.waiting-player-item.bubbly-player-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffff08;border-radius:var(--bubbly-radius-md);border:1px solid rgba(255,255,255,.05);transition:all var(--bubbly-duration) ease}.waiting-player-item.bubbly-player-item.claimed{background:#74b9ff1a;border-color:#74b9ff4d}.waiting-player-item.bubbly-player-item.ready{background:#95e1d31a;border-color:#95e1d366}.waiting-player-avatar.bubbly-player-avatar{width:36px;height:36px;border-radius:var(--bubbly-radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.waiting-player-name{flex:1;font-weight:600;color:#fff}.waiting-player-name-input{flex:1;font-weight:600;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:6px 10px;font-size:inherit;font-family:inherit;outline:none;transition:all .2s ease}.waiting-player-name-input:focus{background:#ffffff26;border-color:#fff6;box-shadow:0 0 0 2px #ffffff1a}.waiting-player-name-input::placeholder{color:#ffffff80}.waiting-player-status{flex-shrink:0}.kick-player-button{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ff6b6b26;border:1px solid rgba(255,107,107,.3);border-radius:var(--bubbly-radius-sm);color:#ff6b6bcc;cursor:pointer;transition:all .2s ease;margin-left:.5rem}.kick-player-button:hover{background:#ff6b6b40;border-color:#ff6b6b80;color:#e67332;transform:scale(1.05)}.kick-player-button:active{transform:scale(.95)}.kick-player-button svg{width:16px;height:16px}.status-badge.bubbly-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:var(--bubbly-radius-full);font-size:.75rem;font-weight:600}.status-badge.bubbly-badge.waiting{background:#ffffff1a;color:#ffffff80}.status-badge.bubbly-badge.claimed{background:var(--bubbly-info);color:#fff}.status-badge.bubbly-badge.ready{background:var(--bubbly-success);color:#fff}.waiting-status-card.bubbly-status-card{background:linear-gradient(145deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:var(--bubbly-radius-lg);padding:1rem;text-align:center;transition:all var(--bubbly-duration) ease}.waiting-status-card.bubbly-status-card.connected{border-color:#74b9ff66;background:linear-gradient(135deg,#74b9ff1a,#74b9ff05)}.waiting-status-card.bubbly-status-card.ready{border-color:#95e1d366;background:linear-gradient(135deg,#95e1d31a,#95e1d305)}.waiting-status-card.bubbly-status-card.countdown-active{border-color:#ff6b6b80;background:linear-gradient(135deg,#ff6b6b26,#ff6b6b0d)}.bubbly-status-card .waiting-status-icon{width:40px;height:40px;margin:0 auto .75rem;background:#ffffff14;border-radius:var(--bubbly-radius-md);display:flex;align-items:center;justify-content:center;color:#ffffff80}.bubbly-status-card.connected .waiting-status-icon{background:#74b9ff33;color:var(--bubbly-info)}.bubbly-status-card.ready .waiting-status-icon{background:#95e1d333;color:var(--bubbly-success)}.bubbly-status-card .waiting-status-label{display:block;font-family:var(--bubbly-font-display);font-size:1rem;color:#fff;margin-bottom:.35rem}.bubbly-status-card .waiting-status-text{font-size:.8rem;color:#ffffffb3;font-weight:500;margin:0 0 .75rem;line-height:1.4}.waiting-status-meta.bubbly-meta{display:flex;align-items:center;justify-content:center;gap:1rem}.bubbly-meta .meta-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:#ffffff80}.bubbly-meta .divider{width:4px;height:4px;background:#ffffff4d;border-radius:50%}.countdown-container.bubbly-countdown{padding:1rem 0}.bubbly-countdown .countdown-label{display:block;font-family:var(--bubbly-font-display);font-size:1.1rem;color:var(--bubbly-coral);margin-bottom:.5rem;letter-spacing:.1em}.bubbly-countdown .countdown-number{font-family:var(--bubbly-font-display);font-size:4rem;color:#fff;line-height:1;margin-bottom:.5rem}.bubbly-countdown .countdown-number.countdown-urgent{color:var(--bubbly-coral);animation:bubbly-urgent-pulse .5s ease-in-out infinite}.bubbly-countdown .countdown-message{color:#fff9}@keyframes bubbly-urgent-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.bubbly-countdown .countdown-message{font-size:.9rem;color:var(--bubbly-text-secondary);margin:0 0 1rem}.countdown-progress-bar.bubbly-progress{height:8px;background:#2d3a4a1a;border-radius:var(--bubbly-radius-full);overflow:hidden}.bubbly-progress .countdown-progress-fill{height:100%;background:linear-gradient(90deg,var(--bubbly-coral) 0%,var(--bubbly-yellow) 100%);border-radius:var(--bubbly-radius-full);transition:width .3s ease}.room-code-display{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px dashed rgba(255,255,255,.15)}.room-code-label{font-size:.8rem;font-weight:500;color:#ffffff80}.room-code-value{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#ff6b6b26,#ff6b6b14);border:2px solid rgba(255,107,107,.4);border-radius:var(--bubbly-radius-md);font-family:var(--bubbly-font-display);font-size:1.25rem;font-weight:700;letter-spacing:.15em;color:#fff;text-shadow:0 2px 8px rgba(255,107,107,.3)}.room-code-game{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;color:#ffffffb3;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.15)}.room-code-game .game-icon{font-size:1rem}.game-switcher{position:relative;display:inline-block;margin-top:12px}.game-switcher-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s ease}.game-switcher-button:hover{background:#ffffff26;border-color:#ffffff4d}.game-switcher-button .game-icon{font-size:1.2rem}.game-switcher-button .game-name{font-weight:600}.game-switcher-arrow{font-size:.7rem;opacity:.7;margin-left:4px}.game-switcher-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:#1e1e32f2;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px;min-width:180px;box-shadow:0 8px 32px #0006;z-index:100;animation:dropdownSlide .2s ease}@keyframes dropdownSlide{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.game-switcher-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:8px;color:#fff;font-size:.95rem;cursor:pointer;transition:all .15s ease;text-align:left}.game-switcher-option:hover{background:#ffffff1a}.game-switcher-option .game-icon{font-size:1.3rem}.game-switcher-option .game-name{font-weight:500}.game-over-screen.bubbly-game-over{position:fixed;inset:0;background:linear-gradient(135deg,#2d3a4af2,#1a2530fa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.bubbly-game-over .game-over-content{background:linear-gradient(165deg,var(--bubbly-cream) 0%,white 100%);border-radius:var(--bubbly-radius-xl);box-shadow:var(--bubbly-shadow-xl);max-width:420px;width:100%;padding:2.5rem 2rem;text-align:center}.bubbly-game-over .game-over-icon{width:100px;height:100px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--bubbly-yellow) 0%,var(--bubbly-yellow-dark) 100%);border-radius:var(--bubbly-radius-xl);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--bubbly-shadow-lg),0 6px 0 var(--bubbly-yellow-dark);animation:bubbly-trophy-bounce 1s var(--bubbly-ease) infinite}@keyframes bubbly-trophy-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.bubbly-game-over h1{font-family:var(--bubbly-font-display);font-size:2.5rem;color:var(--bubbly-navy);margin:0 0 1.5rem}.final-score.bubbly-final-score{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:1.5rem;padding:1.25rem;background:#2d3a4a0d;border-radius:var(--bubbly-radius-lg)}.bubbly-final-score span:first-child{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bubbly-text-muted)}.bubbly-final-score .score-value{font-family:var(--bubbly-font-display);font-size:3.5rem;color:var(--bubbly-coral);line-height:1}.winner-list.bubbly-winners{margin-bottom:2rem}.bubbly-winners .winner-label{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bubbly-text-muted);margin-bottom:.5rem}.bubbly-winners .winner-names{font-family:var(--bubbly-font-display);font-size:1.5rem;color:var(--bubbly-teal-dark)}.play-again-button.bubbly-play-again{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 2.5rem;font-size:1.1rem;font-weight:700;font-family:var(--bubbly-font);background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-coral-dark) 100%);border:none;border-radius:var(--bubbly-radius-md);color:#fff;cursor:pointer;box-shadow:var(--bubbly-shadow-md),0 4px 0 var(--bubbly-coral-dark);transition:all var(--bubbly-duration) var(--bubbly-ease)}.play-again-button.bubbly-play-again:hover{transform:translateY(-2px);box-shadow:var(--bubbly-shadow-lg),0 6px 0 var(--bubbly-coral-dark)}.play-again-button.bubbly-play-again:active{transform:translateY(2px);box-shadow:var(--bubbly-shadow-sm),0 1px 0 var(--bubbly-coral-dark);transition:all .05s ease}.game-over-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}.home-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 1.75rem;font-size:.95rem;font-weight:600;font-family:var(--bubbly-font);background:transparent;border:2px solid rgba(45,58,74,.2);border-radius:var(--bubbly-radius-md);color:var(--bubbly-text-secondary);cursor:pointer;transition:all var(--bubbly-duration) var(--bubbly-ease)}.home-button:hover{color:var(--bubbly-teal);border-color:var(--bubbly-teal);background:#4ecdc414}.home-button:active{transform:scale(.95);background:#4ecdc426;transition:all .05s ease}.mobile-screen-base{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--bubbly-font, "Quicksand", system-ui, sans-serif);user-select:none;-webkit-user-select:none;touch-action:manipulation}.mobile-gradient-dark,.mobile-gradient-bubbly{background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.mobile-bg-orbs:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 60% at 20% 30%,rgba(255,122,106,.22) 0%,transparent 62%),radial-gradient(ellipse 70% 55% at 75% 65%,rgba(80,200,255,.18) 0%,transparent 62%),radial-gradient(ellipse 60% 50% at 50% 50%,rgba(255,206,128,.1) 0%,transparent 68%);animation:menu-bg-pulse 10s ease-in-out infinite;pointer-events:none}.mobile-card-glass{position:relative;display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14;border-radius:var(--bubbly-radius-xl, 32px);padding:2rem}.mobile-card-glass:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.mobile-btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px 28px;font-size:16px;font-weight:600;font-family:var(--bubbly-font, system-ui);background:var(--bubbly-coral, #E67332);border:none;border-radius:14px;color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--bubbly-coral-dark, #E85555);transition:all .15s ease}.mobile-btn-primary:hover:not(:disabled){background:var(--bubbly-coral-light, #FF8E8E);transform:translateY(-2px);box-shadow:0 5px 0 var(--bubbly-coral-dark, #E85555),0 10px 25px #ff6b6b4d}.mobile-btn-primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--bubbly-coral-dark, #E85555)}.mobile-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.mobile-btn-secondary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;font-size:15px;font-weight:600;font-family:var(--bubbly-font, system-ui);background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:14px;color:#fffc;cursor:pointer;transition:all .15s ease}.mobile-btn-secondary:hover{background:#ffffff1f;color:#fff}.mobile-icon-circle{width:80px;height:80px;margin:0 auto;border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px #0000004d,0 4px #0003}.mobile-icon-circle.coral{background:linear-gradient(135deg,var(--bubbly-coral, #E67332),var(--bubbly-coral-dark, #E85555));box-shadow:0 4px 16px #ff6b6b4d,0 4px 0 var(--bubbly-coral-dark, #E85555)}.mobile-icon-circle.teal{background:linear-gradient(135deg,var(--bubbly-teal, #4ECDC4),var(--bubbly-teal-dark, #3DBDB4));box-shadow:0 4px 16px #4ecdc44d,0 4px 0 var(--bubbly-teal-dark, #3DBDB4)}.mobile-icon-circle.orange{background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 4px 20px #f9731666}.mobile-icon-circle.loading{animation:mobile-icon-pulse 1.5s ease-in-out infinite}@keyframes mobile-icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.mobile-status-pill{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px}.mobile-status-pill.connected{border-color:#22c55e4d}.mobile-status-dot{width:6px;height:6px;border-radius:50%;background:#f97316;box-shadow:0 0 6px #f97316}.mobile-status-pill.connected .mobile-status-dot{background:#22c55e;box-shadow:0 0 6px #22c55e}.mobile-status-text{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffff80}.mobile-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--bubbly-coral, #E67332);border-radius:50%;animation:mobile-spin .8s linear infinite}@keyframes mobile-spin{to{transform:rotate(360deg)}}.mobile-input{width:100%;padding:1rem 1.25rem;font-size:1.1rem;font-weight:500;text-align:center;background:linear-gradient(135deg,#ffffff14,#ffffff0a);border:2px solid rgba(255,255,255,.15);border-radius:var(--bubbly-radius-md, 18px);color:#fff;outline:none;transition:all .2s ease}.mobile-input::placeholder{color:#ffffff4d}.mobile-input:focus{border-color:var(--bubbly-teal, #4ECDC4);background:linear-gradient(135deg,#4ecdc41a,#4ecdc40d);box-shadow:0 0 0 4px #4ecdc426}@media(max-width:480px){.mobile-card-glass{padding:1.5rem}.mobile-icon-circle{width:64px;height:64px;border-radius:16px}}@media(max-width:360px){.mobile-btn-primary,.mobile-btn-secondary{padding:14px 20px;font-size:14px}}.join-screen.bubbly-mobile-screen{padding:2rem 1.5rem;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.join-screen.bubbly-mobile-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,150,180,.1) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(80,200,220,.08) 0%,transparent 50%);animation:setup-bg-pulse 8s ease-in-out infinite;pointer-events:none}.join-content.bubbly-mobile-card{position:relative;display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14}.join-content.bubbly-mobile-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.join-header{text-align:center}.join-icon-wrapper.bubbly-icon-circle{margin-bottom:1.25rem;background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-coral-dark) 100%);box-shadow:0 4px 16px #ff6b6b4d,0 4px 0 var(--bubbly-coral-dark)}.join-header h1{font-family:var(--bubbly-font-display);font-size:1.75rem;color:#fff;margin:0 0 .5rem;text-shadow:0 2px 10px rgba(255,107,107,.2)}.join-header p{font-size:1rem;color:#ffffffbf;margin:0;line-height:1.5;font-weight:500}.join-input-section{display:flex;flex-direction:column;gap:.75rem}.join-input-label{font-size:.85rem;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.05em}.join-input-wrapper{position:relative;display:flex;align-items:center}.join-code-input{width:100%;padding:1.25rem 3rem 1.25rem 1.25rem;font-size:1.5rem;font-weight:700;font-family:var(--bubbly-font-display);letter-spacing:.2em;text-align:center;text-transform:uppercase;background:linear-gradient(135deg,#ffffff14,#ffffff0a);border:2px solid rgba(255,255,255,.15);border-radius:var(--bubbly-radius-md);color:#fff;outline:none;transition:all .2s ease}.join-code-input::placeholder{color:#ffffff40;letter-spacing:.15em}.join-code-input:focus{border-color:var(--bubbly-coral);background:linear-gradient(135deg,#ff6b6b1a,#ff6b6b0d);box-shadow:0 0 0 4px #ff6b6b26}.join-code-input.has-error{border-color:#ef4444;box-shadow:0 0 0 4px #ef444426}.join-code-input:disabled{opacity:.5;cursor:not-allowed}.join-clear-btn{position:absolute;right:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff9;font-size:1rem;cursor:pointer;transition:all .15s ease}.join-clear-btn:hover{background:#fff3;color:#fff}.join-error{margin:0;font-size:.85rem;font-weight:500;color:#ef4444;text-align:center}.join-button.bubbly-btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px 28px;font-size:16px;font-weight:600;font-family:var(--bubbly-font);background:var(--bubbly-coral);border:none;border-radius:14px;color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--bubbly-coral-dark);transition:all .15s ease}.join-button.bubbly-btn-primary:hover:not(:disabled){background:var(--bubbly-coral-light);transform:translateY(-2px);box-shadow:0 5px 0 var(--bubbly-coral-dark),0 10px 25px #ff6b6b4d}.join-button.bubbly-btn-primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--bubbly-coral-dark)}.join-button.bubbly-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.join-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.join-divider{display:flex;align-items:center;gap:1rem}.join-divider:before,.join-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.join-divider span{font-size:.8rem;font-weight:500;color:#fff6;text-transform:uppercase;letter-spacing:.1em}.join-qr-hint{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#4ecdc41a,#4ecdc40d);border:2px dashed rgba(78,205,196,.3);border-radius:var(--bubbly-radius-md)}.join-qr-hint svg{color:var(--bubbly-teal);flex-shrink:0}.join-qr-hint p{margin:0;font-size:.9rem;color:#ffffffb3;line-height:1.4}.join-footer{text-align:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05)}.join-branding{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;color:#ffffff80}.join-logo{font-size:1.25rem}.not-found-page.bubbly-mobile-screen{padding:2rem 1.5rem;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.not-found-page.bubbly-mobile-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(239,68,68,.08) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(255,107,107,.06) 0%,transparent 50%);animation:setup-bg-pulse 8s ease-in-out infinite;pointer-events:none}.not-found-content.bubbly-mobile-card{position:relative;display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14}.not-found-content.bubbly-mobile-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.not-found-header{text-align:center}.not-found-icon-wrapper.bubbly-icon-circle{margin-bottom:1.25rem}.not-found-icon-wrapper.bubbly-icon-circle.error{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 16px #ef44444d,0 4px #b91c1c}.not-found-header h1{font-family:var(--bubbly-font-display);font-size:1.75rem;color:#fff;margin:0 0 .5rem}.not-found-header p{font-size:1rem;color:#ffffffbf;margin:0;line-height:1.5;font-weight:500}.not-found-details{padding:1rem;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:var(--bubbly-radius-md);border:1px solid rgba(255,255,255,.08)}.not-found-hint{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:#ffffffb3}.not-found-reasons{margin:0;padding:0 0 0 1.25rem;list-style:disc}.not-found-reasons li{font-size:.85rem;color:#ffffff80;line-height:1.6}.not-found-actions{display:flex;flex-direction:column;gap:.75rem}.not-found-btn.bubbly-btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;font-size:15px;font-weight:600;font-family:var(--bubbly-font);background:var(--bubbly-coral);border:none;border-radius:14px;color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--bubbly-coral-dark);transition:all .15s ease}.not-found-btn.bubbly-btn-primary:hover{background:var(--bubbly-coral-light);transform:translateY(-2px);box-shadow:0 5px 0 var(--bubbly-coral-dark),0 10px 25px #ff6b6b4d}.not-found-btn.bubbly-btn-primary:active{transform:translateY(2px);box-shadow:0 1px 0 var(--bubbly-coral-dark)}.not-found-btn.bubbly-btn-secondary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;font-size:15px;font-weight:600;font-family:var(--bubbly-font);background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:14px;color:#fffc;cursor:pointer;transition:all .15s ease}.not-found-btn.bubbly-btn-secondary:hover{background:#ffffff1f;color:#fff}.not-found-footer{text-align:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05)}.not-found-branding{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;color:#ffffff80}.not-found-logo{font-size:1.25rem}.bubbly-mobile-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.bubbly-mobile-card{width:100%;max-width:420px;background:linear-gradient(165deg,#fff8f0fa,#fffffff2);border-radius:var(--bubbly-radius-xl);padding:2rem;box-shadow:var(--bubbly-shadow-xl)}.bubbly-icon-circle{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-coral-dark) 100%);border-radius:var(--bubbly-radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 16px #ff6b6b4d,0 4px 0 var(--bubbly-coral-dark)}.bubbly-icon-circle.loading{animation:bubbly-pulse 1.5s ease-in-out infinite}@keyframes bubbly-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.mobile-access-screen.bubbly-mobile-screen{background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.mobile-access-screen.bubbly-mobile-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,150,180,.1) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(80,200,220,.08) 0%,transparent 50%);animation:setup-bg-pulse 8s ease-in-out infinite;pointer-events:none}.mobile-access-content.bubbly-mobile-card{position:relative;display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14}.mobile-access-content.bubbly-mobile-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.mobile-access-header{text-align:center}.mobile-access-header h1{font-family:var(--bubbly-font-display);font-size:1.75rem;color:#fff;margin:0 0 .5rem;text-shadow:0 2px 10px rgba(255,107,107,.2)}.mobile-access-header p{font-size:1rem;color:#ffffffbf;margin:0;line-height:1.5;font-weight:500}.mobile-access-requirements.bubbly-requirement-list{display:flex;flex-direction:column;gap:.65rem}.mobile-requirement-item.bubbly-requirement{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:var(--bubbly-radius-md);border:1px solid rgba(255,255,255,.08)}.bubbly-requirement .requirement-icon-wrapper{width:38px;height:38px;background:linear-gradient(135deg,var(--bubbly-teal) 0%,var(--bubbly-teal-dark) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #4ecdc44d,inset 0 1px #fff3}.bubbly-requirement span{font-size:1rem;font-weight:600;color:#fff}.mobile-access-error.bubbly-error-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#ff6b6b1f,#ff6b6b0a);border:1.5px solid rgba(255,107,107,.25);border-radius:var(--bubbly-radius-md);text-align:center}.bubbly-error-card .error-icon-svg{color:var(--bubbly-coral)}.bubbly-error-card p{margin:0;color:#fffc;font-weight:500;line-height:1.5}.bubbly-error-card .bubbly-btn-ghost{color:var(--bubbly-coral);border:1.5px solid rgba(255,107,107,.25);background:transparent;padding:.5rem 1rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .15s ease}.bubbly-error-card .bubbly-btn-ghost:hover{background:var(--bubbly-coral);border-color:var(--bubbly-coral);color:#fff;transform:scale(1.05)}.mobile-access-button.bubbly-btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px 28px;font-size:16px;font-weight:600;font-family:var(--bubbly-font);background:var(--bubbly-coral);border:none;border-radius:14px;color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--bubbly-coral-dark);transition:all .15s ease}.mobile-access-button.bubbly-btn-primary:hover:not(:disabled){background:var(--bubbly-coral-light);transform:translateY(-2px);box-shadow:0 5px 0 var(--bubbly-coral-dark),0 10px 25px #ff6b6b4d}.mobile-access-button.bubbly-btn-primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--bubbly-coral-dark)}.mobile-access-button.bubbly-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.mobile-access-note{text-align:center;font-size:.8rem;font-weight:500;color:#ffffff80;margin:0;line-height:1.5}.mobile-calibration-screen.bubbly-mobile-screen{padding:2rem 1.5rem;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.mobile-calibration-screen.bubbly-mobile-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,150,180,.1) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(80,200,220,.08) 0%,transparent 50%);animation:setup-bg-pulse 8s ease-in-out infinite;pointer-events:none}.mobile-calibration-panel.bubbly-mobile-card{position:relative;display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14}.mobile-calibration-panel.bubbly-mobile-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.mobile-calibration-header{text-align:center}.mobile-calibration-header h1{font-family:var(--bubbly-font-display);font-size:1.6rem;color:#fff;margin:0 0 .75rem;text-shadow:0 2px 10px rgba(255,107,107,.2)}.mobile-calibration-header p{font-size:.95rem;color:#ffffffbf;margin:0;line-height:1.6;font-weight:500}.mobile-calibration-readout{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.calibration-readout-card.bubbly-data-card{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-radius:var(--bubbly-radius-md);border:1px solid rgba(255,255,255,.08);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;transition:all var(--bubbly-duration) ease}.calibration-readout-card.bubbly-data-card.aligned{border-color:var(--bubbly-success);background:linear-gradient(135deg,#95e1d31a,#95e1d305);box-shadow:0 0 0 3px #95e1d31a}.bubbly-data-card .readout-icon{color:var(--bubbly-teal);margin-bottom:.25rem}.bubbly-data-card.aligned .readout-icon{color:var(--bubbly-success-dark)}.calibration-readout-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80}.calibration-readout-value{font-family:var(--bubbly-font-display);font-size:1.5rem;color:#fff}.calibration-readout-range{font-size:.75rem;color:#fff6}.calibration-progress.bubbly-progress{display:flex;flex-direction:column;gap:.75rem}.calibration-progress-track{width:100%;height:16px;background:#ffffff0f;border-radius:var(--bubbly-radius-full);overflow:hidden}.calibration-progress-fill{height:100%;width:0%;background:#ffffff1a;border-radius:var(--bubbly-radius-full);transition:width .3s ease,background .3s ease}.calibration-progress-fill.active{background:linear-gradient(90deg,var(--bubbly-teal) 0%,var(--bubbly-success) 100%);box-shadow:0 0 12px #95e1d366}.calibration-progress-text{margin:0;font-size:.9rem;font-weight:500;color:#ffffff80;text-align:center}.calibration-continue-button.bubbly-btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px 28px;font-size:16px;font-weight:600;font-family:var(--bubbly-font);opacity:.5;cursor:not-allowed;transform:none;background:#ffffff1a;box-shadow:none;color:#fff6;border:none;border-radius:14px}.calibration-continue-button.bubbly-btn-primary.ready{opacity:1;cursor:pointer;background:linear-gradient(135deg,var(--bubbly-success) 0%,var(--bubbly-success-dark) 100%);box-shadow:0 3px 0 var(--bubbly-success-dark),0 8px 20px #95e1d34d;color:#fff}.calibration-continue-button.bubbly-btn-primary.ready:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--bubbly-success-dark),0 10px 25px #95e1d366}.calibration-continue-button.bubbly-btn-primary.ready:active{transform:translateY(2px);box-shadow:0 1px 0 var(--bubbly-success-dark);transition:all .05s ease}.calibration-help.bubbly-help-text{text-align:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05)}.bubbly-help-text span{display:block;font-size:.85rem;font-weight:600;color:#fff9;margin-bottom:.35rem}.bubbly-help-text p{margin:0;font-size:.8rem;color:#fff6;line-height:1.5}.active-screen-redesign.bubbly-mobile-screen{flex-direction:column;justify-content:flex-start;align-items:stretch;padding:1rem;gap:1rem;overflow-y:auto}.mobile-header.bubbly-mobile-header{background:linear-gradient(135deg,#fff8f0f2,#ffffffe6);border-radius:var(--bubbly-radius-lg);padding:1rem 1.25rem;box-shadow:var(--bubbly-shadow-md)}.mobile-player-info{display:flex;align-items:center;gap:.75rem}.mobile-player-avatar.bubbly-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-coral-dark) 100%);border-radius:var(--bubbly-radius-md);display:flex;align-items:center;justify-content:center;color:#fff}.mobile-player-details h1{font-family:var(--bubbly-font-display);font-size:1.25rem;color:var(--bubbly-navy);margin:0 0 .25rem}.mobile-connection-badge.bubbly-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:var(--bubbly-radius-full);font-size:.75rem;font-weight:600}.mobile-connection-badge.bubbly-badge.connected{background:var(--bubbly-success);color:#fff}.mobile-connection-badge.bubbly-badge.disconnected{background:#2d3a4a1a;color:var(--bubbly-text-muted)}.mobile-connection-badge .mobile-status-dot{display:none}.mobile-scoreboard.bubbly-section{background:linear-gradient(135deg,#fff8f0f2,#ffffffe6);border-radius:var(--bubbly-radius-lg);padding:1rem;box-shadow:var(--bubbly-shadow-md)}.mobile-scoreboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:2px dashed rgba(45,58,74,.08)}.mobile-scoreboard-title{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--bubbly-navy)}.mobile-scoreboard-title svg{color:var(--bubbly-coral)}.mobile-scoreboard-meta.bubbly-pill{font-size:.7rem}.mobile-scoreboard-dot{display:inline-block;width:4px;height:4px;background:currentColor;border-radius:50%;margin:0 .35rem}.mobile-scoreboard-rows{display:flex;flex-direction:column;gap:.5rem}.mobile-scoreboard-row.bubbly-list-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fff;border-radius:var(--bubbly-radius-md);border:2px solid rgba(45,58,74,.05);transition:all var(--bubbly-duration) ease}.mobile-scoreboard-row.bubbly-list-item.active{border-color:var(--bubbly-coral);background:linear-gradient(135deg,#ff6b6b14,#fff)}.mobile-scoreboard-player{display:flex;align-items:center;gap:.75rem}.mobile-scoreboard-avatar{width:32px;height:32px;background:#2d3a4a14;border-radius:var(--bubbly-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--bubbly-text-muted)}.mobile-scoreboard-row.active .mobile-scoreboard-avatar{background:var(--bubbly-coral);color:#fff}.mobile-scoreboard-name span{display:block;font-weight:600;color:var(--bubbly-navy);font-size:.9rem}.mobile-scoreboard-status{display:flex;gap:.35rem;margin-top:.25rem}.mobile-scoreboard-pill.bubbly-mini-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .4rem;border-radius:var(--bubbly-radius-full);font-size:.65rem;font-weight:600}.mobile-scoreboard-pill.bubbly-mini-badge.claimed,.mobile-scoreboard-pill.bubbly-mini-badge.ready{background:var(--bubbly-success);color:#fff}.mobile-scoreboard-pill.bubbly-mini-badge.open,.mobile-scoreboard-pill.bubbly-mini-badge.waiting{background:#2d3a4a1a;color:var(--bubbly-text-muted)}.mobile-scoreboard-indicator{display:flex;align-items:center}.mobile-scoreboard-dot-indicator{width:8px;height:8px;background:#2d3a4a26;border-radius:50%;transition:all var(--bubbly-duration) ease}.mobile-scoreboard-dot-indicator.active{background:var(--bubbly-coral);box-shadow:0 0 8px #ff6b6b80}.mobile-scoreboard-empty{text-align:center;padding:1rem;color:var(--bubbly-text-muted)}.mobile-sensor-grid.bubbly-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.mobile-sensor-card.bubbly-data-card{background:linear-gradient(135deg,#fff8f0f2,#ffffffe6);border-radius:var(--bubbly-radius-md);padding:.75rem;text-align:center;box-shadow:var(--bubbly-shadow-sm)}.mobile-sensor-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--bubbly-text-muted);margin-bottom:.25rem}.mobile-sensor-value{font-family:var(--bubbly-font-display);font-size:1.1rem;color:var(--bubbly-navy);margin-bottom:.35rem}.mobile-sensor-bar.bubbly-bar{height:6px;background:#2d3a4a1a;border-radius:var(--bubbly-radius-full);overflow:hidden}.mobile-sensor-bar-fill{height:100%;border-radius:var(--bubbly-radius-full);transition:width .15s ease}.mobile-sensor-bar-fill.beta{background:var(--bubbly-coral)}.mobile-sensor-bar-fill.gamma{background:var(--bubbly-teal)}.mobile-sensor-bar-fill.alpha{background:var(--bubbly-yellow-dark)}.mobile-status-grid.bubbly-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.mobile-status-card.bubbly-status-card{background:linear-gradient(135deg,#fff8f0f2,#ffffffe6);border-radius:var(--bubbly-radius-md);padding:.75rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--bubbly-shadow-sm)}.mobile-status-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--bubbly-text-muted)}.mobile-status-value{font-weight:700;font-size:.95rem;color:var(--bubbly-navy)}.mobile-status-value.accent{color:var(--bubbly-coral)}.mobile-status-subtext{font-size:.7rem;color:var(--bubbly-text-muted);line-height:1.4}.mobile-instructions.bubbly-info-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#74b9ff26,#74b9ff14);border-radius:var(--bubbly-radius-md);border:2px dashed var(--bubbly-info)}.mobile-instructions .mobile-instruction-icon{color:var(--bubbly-info);flex-shrink:0}.mobile-instructions p{margin:0;font-size:.85rem;font-weight:600;color:var(--bubbly-navy)}.mobile-throw-button.bubbly-throw-btn{position:relative;width:140px;height:140px;margin:0 auto;background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-coral-dark) 100%);border:none;border-radius:50%;cursor:pointer;box-shadow:var(--bubbly-shadow-lg),0 8px 0 var(--bubbly-coral-dark),inset 0 -4px #0000001a;transition:all var(--bubbly-duration) var(--bubbly-ease)}.mobile-throw-button.bubbly-throw-btn:active:not(:disabled),.mobile-throw-button.bubbly-throw-btn.holding{transform:translateY(4px);box-shadow:var(--bubbly-shadow-md),0 4px 0 var(--bubbly-coral-dark),inset 0 -2px #0000001a;background:linear-gradient(135deg,var(--bubbly-coral-dark) 0%,#d64545 100%)}.mobile-throw-button.bubbly-throw-btn:disabled{opacity:.5;cursor:not-allowed}.mobile-throw-button .mobile-button-ring{position:absolute;inset:-8px;border:3px solid rgba(255,107,107,.3);border-radius:50%;animation:bubbly-ring-pulse 2s ease-in-out infinite}@keyframes bubbly-ring-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.5}}.mobile-throw-button.holding .mobile-button-ring{animation:none;border-color:var(--bubbly-yellow);transform:scale(1.1)}.mobile-button-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;color:#fff}.mobile-button-icon{color:#fff}.mobile-button-text{font-family:var(--bubbly-font);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.mobile-calibrate-button.bubbly-btn-secondary{width:100%;max-width:280px;margin:0 auto;background:#ffffffe6}.player-selection-screen.bubbly-mobile-screen{padding:2rem 1.5rem;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.player-selection-screen.bubbly-mobile-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,150,180,.1) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(80,200,220,.08) 0%,transparent 50%);animation:setup-bg-pulse 8s ease-in-out infinite;pointer-events:none}.selection-content.bubbly-mobile-card{position:relative;display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14}.selection-content.bubbly-mobile-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.selection-header{text-align:center;background:linear-gradient(180deg,rgba(255,107,107,.08) 0%,transparent 100%);padding-top:.5rem;margin:-.5rem -2rem 0;padding:1rem 2rem 0;border-radius:var(--bubbly-radius-xl) var(--bubbly-radius-xl) 0 0}.selection-icon-wrapper.bubbly-icon-circle{margin-bottom:1.25rem;background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-coral-dark) 100%);box-shadow:0 4px 16px #ff6b6b4d,0 4px 0 var(--bubbly-coral-dark)}.selection-header h2{font-family:var(--bubbly-font-display);font-size:1.6rem;color:#fff;margin:0 0 .5rem;text-shadow:0 2px 10px rgba(255,107,107,.2)}.selection-header p{font-size:.95rem;color:#ffffffbf;margin:0;font-weight:500}.player-selection-list{display:flex;flex-direction:column;gap:.65rem}.player-selection-item.bubbly-selection-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.65rem .75rem;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:var(--bubbly-radius-md);cursor:pointer;transition:all var(--bubbly-duration) ease}.player-selection-item.bubbly-selection-btn:hover{border-color:#4ecdc44d;background:linear-gradient(135deg,#4ecdc414,#4ecdc405);transform:translate(4px)}.player-selection-item.bubbly-selection-btn:active{transform:translate(2px) scale(.98)}.player-selection-item.bubbly-selection-btn.selected{border-color:var(--bubbly-success);background:linear-gradient(135deg,#95e1d31a,#95e1d305);box-shadow:0 0 0 3px #95e1d31a}.player-avatar-wrapper{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;font-weight:800;font-size:1rem;box-shadow:0 2px 8px #00000026,inset 0 1px #fff3}.player-selection-name{flex:1;font-size:1rem;font-weight:600;color:#fff;text-align:left}.player-selection-badge.bubbly-badge-success{gap:.35rem;background:var(--bubbly-success);color:#fff;padding:.35rem .65rem;border-radius:var(--bubbly-radius-full);font-size:.7rem;font-weight:600}.selection-arrow{color:#fff6;transition:all var(--bubbly-duration) ease}.player-selection-item:hover .selection-arrow{transform:translate(4px);color:var(--bubbly-teal)}.player-selection-empty.bubbly-empty-state{text-align:center;padding:2rem 1rem;color:#fff6}.bubbly-empty-state svg{margin-bottom:.75rem;opacity:.5;color:#ffffff4d}.bubbly-empty-state p{margin:0;font-weight:500}.player-ready-panel.bubbly-info-banner{flex-direction:column;align-items:flex-start;gap:.75rem;background:linear-gradient(135deg,#4ecdc41a,#4ecdc40d);border:2px dashed rgba(78,205,196,.4);border-radius:var(--bubbly-radius-md);padding:1rem}.player-ready-summary{display:flex;align-items:center;gap:.75rem}.status-dot-wrapper.pending{width:32px;height:32px;background:linear-gradient(135deg,var(--bubbly-success) 0%,var(--bubbly-success-dark) 100%);border-radius:var(--bubbly-radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 8px #95e1d366}.player-ready-copy{font-weight:600;color:#fff}.player-ready-hint{font-size:.85rem;color:#ffffff80;line-height:1.5}@media(max-width:480px){.mobile-sensor-grid.bubbly-grid{grid-template-columns:repeat(3,1fr)}.mobile-throw-button.bubbly-throw-btn{width:120px;height:120px}}@media(max-width:360px){.bubbly-mobile-card{padding:1.5rem}.mobile-throw-button.bubbly-throw-btn{width:100px;height:100px}.mobile-button-icon svg{width:24px;height:24px}.mobile-button-text{font-size:.7rem}}.mobile-controller-dark{position:fixed;inset:0;display:flex;flex-direction:column;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite;color:#fff;font-family:var(--bubbly-font, "Quicksand", system-ui, sans-serif);overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:manipulation}.mobile-dark-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.mobile-dark-player{display:flex;flex-direction:column;gap:.25rem}.mobile-dark-name{font-size:1.1rem;font-weight:600;color:#fff}.mobile-dark-status{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#fff6;text-transform:uppercase;letter-spacing:.05em}.mobile-dark-status.connected{color:#4ade80}.mobile-dark-status svg{opacity:.7}.mobile-dark-recalibrate{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff9;cursor:pointer;transition:all .2s ease}.mobile-dark-recalibrate:hover,.mobile-dark-recalibrate:active{background:#ffffff1a;color:#fff;transform:rotate(90deg)}.mobile-dark-recalibrate:disabled{opacity:.3;cursor:not-allowed}.mobile-dark-bowl-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1.5rem}.mobile-dark-bowl-btn{position:relative;width:min(75vw,280px);height:min(75vw,280px);border-radius:50%;background:linear-gradient(145deg,#1a1a2e,#0f0f1a);border:3px solid rgba(255,255,255,.1);cursor:pointer;transition:all .15s ease;box-shadow:0 0 0 1px #ffffff0d,0 20px 50px -10px #0009,inset 0 -8px 20px #0006,inset 0 8px 20px #ffffff08}.mobile-dark-bowl-btn:active:not(:disabled),.mobile-dark-bowl-btn.holding{transform:scale(.96);border-color:#f97316;background:linear-gradient(145deg,#1e1e32,#141420);box-shadow:0 0 0 4px #f973164d,0 0 40px #f9731633,0 10px 30px -5px #00000080,inset 0 -4px 15px #00000080,inset 0 4px 15px #ffffff05}.mobile-dark-bowl-btn:disabled{opacity:.4;cursor:not-allowed}.mobile-dark-bowl-pulse{position:absolute;inset:-12px;border-radius:50%;border:2px solid rgba(249,115,22,.4);animation:dark-bowl-pulse 2s ease-out infinite;pointer-events:none}.mobile-dark-bowl-btn.holding .mobile-dark-bowl-pulse{animation:none;border-color:#f97316;box-shadow:0 0 30px #f9731666}@keyframes dark-bowl-pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(1.15);opacity:0}}.mobile-dark-bowl-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:100%;height:100%}.mobile-dark-bowl-inner svg{color:#ffffffb3;transition:all .15s ease}.mobile-dark-bowl-btn.holding .mobile-dark-bowl-inner svg{color:#f97316;transform:scale(1.1)}.mobile-dark-bowl-text{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fffc;transition:all .15s ease}.mobile-dark-bowl-btn.holding .mobile-dark-bowl-text{color:#f97316}.mobile-dark-hint{font-size:.85rem;color:#ffffff59;text-align:center;margin:0;max-width:240px}@media(min-height:700px){.mobile-dark-bowl-btn{width:min(80vw,320px);height:min(80vw,320px)}.mobile-dark-bowl-inner svg{width:80px;height:80px}.mobile-dark-bowl-text{font-size:1.15rem}}@media(min-height:900px){.mobile-dark-bowl-btn{width:min(70vw,380px);height:min(70vw,380px)}.mobile-dark-bowl-inner svg{width:96px;height:96px}}.name-editor-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.name-editor-modal{width:100%;max-width:380px;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);border-radius:var(--bubbly-radius-xl);padding:2rem;box-shadow:0 8px 32px #0006,0 24px 80px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.name-editor-header{text-align:center;margin-bottom:1.5rem}.name-editor-avatar{width:80px;height:80px;margin:0 auto 1rem;border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff26}.name-editor-emoji{font-size:40px}.name-editor-header h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#fff}.name-editor-header p{margin:0;font-size:.9rem;color:#ffffff80}.name-editor-input{width:100%;padding:1rem 1.25rem;font-size:1.1rem;font-weight:500;text-align:center;background:linear-gradient(135deg,#ffffff14,#ffffff0a);border:2px solid rgba(255,255,255,.15);border-radius:var(--bubbly-radius-md);color:#fff;outline:none;transition:all .2s ease;margin-bottom:1.5rem}.name-editor-input::placeholder{color:#ffffff4d}.name-editor-input:focus{border-color:var(--bubbly-teal);background:linear-gradient(135deg,#4ecdc41a,#4ecdc40d);box-shadow:0 0 0 4px #4ecdc426}.name-editor-actions{display:flex;gap:.75rem}.name-editor-cancel{flex:0 0 auto;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:var(--bubbly-radius-md);color:#ffffffb3;cursor:pointer;transition:all .15s ease}.name-editor-cancel:hover{background:#ffffff1f;color:#fff}.name-editor-confirm{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;background:linear-gradient(135deg,var(--bubbly-teal) 0%,var(--bubbly-teal-dark) 100%);border:none;border-radius:var(--bubbly-radius-md);color:#fff;cursor:pointer;box-shadow:0 3px 0 var(--bubbly-teal-dark);transition:all .15s ease}.name-editor-confirm:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--bubbly-teal-dark),0 10px 25px #4ecdc44d}.name-editor-confirm:active{transform:translateY(2px);box-shadow:0 1px 0 var(--bubbly-teal-dark)}.player-avatar-emoji{font-size:20px;line-height:1}.player-selection-badge.bubbly-badge-taken{background:#ffffff1a;color:#ffffff80;padding:.35rem .65rem;border-radius:var(--bubbly-radius-full);font-size:.7rem;font-weight:600}.kicked-screen.bubbly-mobile-screen{padding:2rem 1.5rem;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.kicked-content.bubbly-mobile-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.5rem;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,107,107,.3);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14;animation:slideUp .3s ease}.kicked-header{text-align:center}.kicked-icon-wrapper.bubbly-icon-circle{width:80px;height:80px;margin:0 auto 1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b33,#ff6b6b1a);border:2px solid rgba(255,107,107,.4);box-shadow:0 4px 20px #ff6b6b33}.kicked-icon-wrapper.bubbly-icon-circle.error{background:linear-gradient(135deg,#ff6b6b40,#ff6b6b26)}.kicked-header h2{font-family:var(--bubbly-font-display);font-size:1.5rem;color:#fff;margin:0 0 .5rem}.kicked-header p{font-size:.95rem;color:#ffffffb3;margin:0;line-height:1.5}.kicked-dismiss-btn.bubbly-btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;max-width:280px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;background:linear-gradient(135deg,var(--bubbly-teal) 0%,var(--bubbly-teal-dark) 100%);border:none;border-radius:var(--bubbly-radius-md);color:#fff;cursor:pointer;box-shadow:0 4px 0 var(--bubbly-teal-dark);transition:all .15s ease}.kicked-dismiss-btn.bubbly-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--bubbly-teal-dark),0 10px 25px #4ecdc44d}.kicked-dismiss-btn.bubbly-btn-primary:active{transform:translateY(2px);box-shadow:0 2px 0 var(--bubbly-teal-dark)}:root{--mk-bg-dark: #0f0f14;--mk-bg-darker: #0a0a0f;--mk-bg-card: rgba(25, 20, 35, .95);--mk-accent-orange: #f97316;--mk-accent-blue: #3b82f6;--mk-accent-green: #22c55e;--mk-accent-purple: #a855f7;--mk-accent-cyan: #22d3ee;--mk-text-primary: #ffffff;--mk-text-secondary: rgba(255, 255, 255, .6);--mk-text-muted: rgba(255, 255, 255, .35);--mk-border: rgba(255, 255, 255, .08);--mk-glow-orange: rgba(249, 115, 22, .4);--mk-glow-blue: rgba(59, 130, 246, .4);--mk-glow-green: rgba(34, 197, 94, .4);--mk-glow-purple: rgba(168, 85, 247, .4)}.mk-screen-wrapper{position:fixed;inset:0;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite;overflow:hidden;font-family:var(--bubbly-font, "Quicksand", system-ui, sans-serif);user-select:none;-webkit-user-select:none;touch-action:manipulation}.mk-calibration-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.mk-calibration-content{width:100%;max-width:500px;background:var(--mk-bg-card);border:1px solid var(--mk-border);border-radius:24px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0d inset}.mk-calibration-header{text-align:center}.mk-calibration-icon{width:80px;height:80px;margin:0 auto 1rem;background:linear-gradient(135deg,var(--mk-accent-orange),#ea580c);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px var(--mk-glow-orange),0 4px #0000004d}.mk-calibration-header h1{font-size:1.5rem;font-weight:700;color:var(--mk-text-primary);margin:0 0 .5rem}.mk-calibration-header p{font-size:.95rem;color:var(--mk-text-secondary);margin:0;line-height:1.5}.mk-calibration-wheel-container{position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem 0}.mk-calibration-wheel{position:relative;width:160px;height:160px}.mk-wheel-ring{position:absolute;inset:0;border:4px solid rgba(255,255,255,.15);border-radius:50%}.mk-wheel-tick{position:absolute;top:50%;left:50%;width:2px;height:6px;background:#fff3;transform-origin:center -52px}.mk-wheel-tick.major{height:10px;background:#ffffff59}.mk-wheel-grip{position:absolute;top:50%;left:50%;width:8px;height:45px;background:linear-gradient(180deg,var(--mk-accent-orange),#ea580c);border-radius:4px;transform-origin:center 35px;margin-left:-4px;margin-top:-80px;box-shadow:0 0 15px var(--mk-glow-orange);transition:transform .1s ease-out}.mk-wheel-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.mk-wheel-center:before{content:"";width:20px;height:20px;background:#ffffff26;border-radius:50%}.mk-wheel-center-inner{position:absolute;width:12px;height:12px;background:#ffffff40;border-radius:50%}.mk-calibration-level-hint{margin-top:1rem;font-size:.85rem;color:var(--mk-accent-orange);font-weight:600}.mk-calibration-instruction{text-align:center;font-size:.9rem;color:var(--mk-text-secondary);margin:0;line-height:1.5}.mk-calibration-progress{display:flex;flex-direction:column;gap:.75rem}.mk-progress-track{width:100%;height:12px;background:#ffffff0f;border-radius:6px;overflow:hidden}.mk-progress-fill{height:100%;width:0%;background:#ffffff1a;border-radius:6px;transition:width .2s ease,background .2s ease}.mk-progress-fill.active{background:linear-gradient(90deg,var(--mk-accent-green),#16a34a);box-shadow:0 0 10px var(--mk-glow-green)}.mk-progress-text{font-size:.85rem;color:var(--mk-text-muted);text-align:center;margin:0}.mk-calibration-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:700;background:#ffffff14;border:none;border-radius:14px;color:var(--mk-text-muted);cursor:not-allowed;transition:all .2s ease}.mk-calibration-button.ready{background:linear-gradient(135deg,var(--mk-accent-green),#16a34a);color:#fff;cursor:pointer;box-shadow:0 4px #15803d,0 8px 25px var(--mk-glow-green)}.mk-calibration-button.ready:active{transform:translateY(2px);box-shadow:0 2px #15803d,0 4px 15px var(--mk-glow-green)}.mk-button-icon{font-size:1.25rem}.mk-active-screen{position:fixed;inset:0;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite;overflow:hidden;display:flex;flex-direction:column}.mk-racing-stripes{position:absolute;inset:0;pointer-events:none}.mk-stripe{position:absolute;top:0;bottom:0;width:4px;background:#f9731614}.mk-stripe.left{left:16px}.mk-stripe.right{right:16px}.mk-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 80%,transparent 100%);z-index:10}.mk-header-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#ffffffb3;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.mk-header-btn:active{transform:scale(.92)}.mk-header-btn:disabled{opacity:.4;cursor:not-allowed}.mk-quit-btn{border-color:#ef44444d}.mk-quit-btn:hover{background:#ef444433;border-color:#ef444480}.mk-recalibrate-btn{width:36px;height:36px;font-size:14px}.mk-player-pill{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#0006;border-radius:100px;border:1px solid rgba(255,255,255,.1)}.mk-status-dot{width:6px;height:6px;border-radius:50%;background:var(--mk-accent-orange);box-shadow:0 0 6px var(--mk-accent-orange)}.mk-status-dot.connected{background:var(--mk-accent-green);box-shadow:0 0 6px var(--mk-accent-green)}.mk-status-dot.disconnected{background:var(--mk-accent-orange);box-shadow:0 0 6px var(--mk-accent-orange)}.mk-status-dot.small{width:5px;height:5px}.mk-player-name{font-size:12px;font-weight:600;color:#fff}.mk-divider{color:#ffffff4d}.mk-room-code{font-size:10px;font-weight:500;font-family:var(--bubbly-font-mono, "SF Mono", monospace);color:#ffffff80}.mk-header-spacer{flex:1}.mk-steering-data-pill{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:100px}.mk-steering-angle{font-size:11px;font-weight:700;font-family:var(--bubbly-font-mono, "SF Mono", monospace);color:#ffffffe6}.mk-steering-direction{font-size:9px;font-weight:600;color:#ffffff80}.mk-controller-layout{display:flex;flex:1;padding:12px 16px 16px;gap:12px}.mk-drift-section{flex:0 0 22%;display:flex;align-items:stretch}.mk-steering-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.mk-steer-hint{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--mk-text-muted)}.mk-action-section{flex:0 0 32%;display:flex;flex-direction:column;gap:8px}.mk-drive-buttons{display:flex;gap:8px;flex:1}.mk-drive-buttons .mk-accelerate-button,.mk-drive-buttons .mk-reverse-button{flex:1}.mk-steering-indicator{position:relative;width:140px;height:140px}.mk-steering-glow{position:absolute;inset:-20px;border-radius:50%;pointer-events:none}.mk-steering-wheel-outline{position:absolute;inset:0;border:4px solid rgba(255,255,255,.12);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.03) 0%,transparent 100%)}.mk-steering-tick{position:absolute;top:50%;left:50%;width:2px;height:6px;background:#ffffff26;transform-origin:center -52px;margin-left:-1px;margin-top:-58px}.mk-steering-tick.major{height:10px;margin-top:-62px;background:#ffffff40}.mk-steering-grip{position:absolute;top:50%;left:50%;width:10px;height:50px;border-radius:5px;transform-origin:center 35px;margin-left:-5px;margin-top:-85px;transition:transform .08s ease-out}.mk-steering-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center}.mk-steering-center-ring{position:absolute;width:24px;height:24px;background:#ffffff1a;border-radius:50%}.mk-steering-center-dot{width:8px;height:8px;background:#fff6;border-radius:50%}.mk-direction-arrows{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;display:flex;justify-content:space-between;pointer-events:none}.mk-arrow{font-size:1.5rem;font-weight:700;color:#fff;transition:opacity .15s ease}.mk-drift-button{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f633,#3b82f614);border:2px solid rgba(59,130,246,.4);border-radius:20px;cursor:pointer;transition:all .15s ease;overflow:hidden}.mk-drift-button.active{background:linear-gradient(135deg,var(--mk-accent-blue) 0%,#2563eb 100%);border-color:var(--mk-accent-blue);box-shadow:0 0 30px var(--mk-glow-blue)}.mk-drift-button.pressing{transform:scale(.96)}.mk-drift-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--mk-glow-blue) 0%,transparent 70%);animation:mk-pulse 1s ease-out infinite}@keyframes mk-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.mk-drift-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;z-index:1}.mk-drift-icon-wrapper{position:relative;width:56px;height:56px;display:flex;align-items:center;justify-content:center}.mk-drift-icon-glow{position:absolute;inset:-8px;background:#3b82f680;border-radius:50%;filter:blur(12px)}.mk-drift-icon{width:48px;height:48px;color:#fff}.mk-drift-label{font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#fff}.mk-drift-sparks{display:flex;gap:4px;font-size:.65rem;color:var(--mk-accent-cyan);animation:mk-sparkle .4s ease-in-out infinite}@keyframes mk-sparkle{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.mk-accelerate-button{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22c55e33,#22c55e14);border:2px solid rgba(34,197,94,.4);border-radius:20px;cursor:pointer;transition:all .15s ease;overflow:hidden}.mk-accelerate-button.active{background:linear-gradient(135deg,var(--mk-accent-green) 0%,#16a34a 100%);border-color:var(--mk-accent-green);box-shadow:0 0 30px var(--mk-glow-green)}.mk-accelerate-button.pressing{transform:scale(.96)}.mk-accelerate-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--mk-glow-green) 0%,transparent 70%);animation:mk-pulse .8s ease-out infinite}.mk-accelerate-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:.75rem;z-index:1}.mk-accelerate-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border:3px solid rgba(34,197,94,.5);border-radius:50%;animation:mk-accelerate-ring .8s ease-out infinite}@keyframes mk-accelerate-ring{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.4);opacity:0}}.mk-accelerate-icon{width:64px;height:64px;color:#fff}.mk-accelerate-label{font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:#fff}.mk-reverse-button{--mk-accent-red: #ef4444;--mk-glow-red: rgba(239, 68, 68, .4);position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ef444433,#ef444414);border:2px solid rgba(239,68,68,.4);border-radius:16px;cursor:pointer;transition:all .15s ease;overflow:hidden}.mk-reverse-button.active{background:linear-gradient(135deg,var(--mk-accent-red) 0%,#dc2626 100%);border-color:var(--mk-accent-red);box-shadow:0 0 30px var(--mk-glow-red)}.mk-reverse-button.pressing{transform:scale(.96)}.mk-reverse-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--mk-glow-red) 0%,transparent 70%);animation:mk-pulse .8s ease-out infinite}.mk-reverse-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:1}.mk-reverse-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border:3px solid rgba(239,68,68,.5);border-radius:50%;animation:mk-accelerate-ring .8s ease-out infinite}.mk-reverse-icon{width:36px;height:36px;color:#fff}.mk-reverse-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#fff}.mk-item-button{position:relative;height:70px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#a855f740,#a855f71a);border:2px solid rgba(168,85,247,.5);border-radius:16px;cursor:pointer;transition:all .15s ease;overflow:hidden}.mk-item-button:active,.mk-item-button.pressing{transform:scale(.92)}.mk-item-button:disabled{opacity:.4;cursor:not-allowed}.mk-item-glow{position:absolute;inset:-10px;background:radial-gradient(circle,rgba(168,85,247,.25) 0%,transparent 70%)}.mk-item-circle{position:relative;width:50px;height:50px;background:linear-gradient(135deg,#a855f766,#a855f733);border:2px solid var(--mk-accent-purple);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px var(--mk-glow-purple)}.mk-item-circle.mk-item-rotate{animation:mk-item-spin 9s linear infinite}@keyframes mk-item-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mk-item-dot{position:absolute;width:5px;height:5px;background:#a855f799;border-radius:50%}.mk-item-icon{font-size:1.75rem;font-weight:800;color:#fff;text-shadow:0 0 10px var(--mk-accent-purple)}.mk-connection-pill{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;margin-top:auto}.mk-connection-pill.connected{border-color:#22c55e4d}.mk-connection-dot{width:6px;height:6px;background:var(--mk-accent-orange);border-radius:50%;box-shadow:0 0 6px var(--mk-accent-orange)}.mk-connection-pill.connected .mk-connection-dot{background:var(--mk-accent-green);box-shadow:0 0 6px var(--mk-accent-green)}.mk-connection-pill svg{color:var(--mk-text-muted)}.mk-connection-text{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mk-text-muted)}.mk-reconnection-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.mk-reconnection-content{text-align:center;max-width:360px}.mk-reconnection-icon{width:72px;height:72px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--mk-accent-orange),#ea580c);border-radius:18px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px var(--mk-glow-orange)}.mk-reconnection-icon.loading{animation:mk-icon-pulse 1.5s ease-in-out infinite}@keyframes mk-icon-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.mk-reconnection-content h2{font-size:1.5rem;font-weight:700;color:var(--mk-text-primary);margin:0 0 .5rem}.mk-reconnection-content p{font-size:.95rem;color:var(--mk-text-secondary);margin:0 0 1.5rem}.mk-reconnection-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem}.mk-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--mk-accent-orange);border-radius:50%;animation:spin .8s linear infinite}.mk-reconnection-spinner span{font-size:.85rem;color:var(--mk-text-muted)}.mk-reconnection-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;font-size:.9rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .15s ease}.mk-reconnection-btn.secondary{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--mk-text-secondary)}.mk-reconnection-btn.secondary:hover{background:#ffffff1f;color:var(--mk-text-primary)}.mk-spectator-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.mk-spectator-content{text-align:center;max-width:360px}.mk-spectator-icon{width:72px;height:72px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--mk-accent-purple),#9333ea);border-radius:18px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px var(--mk-glow-purple)}.mk-spectator-content h2{font-size:1.5rem;font-weight:700;color:var(--mk-text-primary);margin:0 0 .5rem}.mk-spectator-content>p{font-size:.95rem;color:var(--mk-text-secondary);margin:0 0 1.5rem}.mk-spectator-racers{background:#ffffff08;border:1px solid var(--mk-border);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.mk-spectator-racers h3{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mk-text-muted);margin:0 0 .75rem}.mk-racer-list{display:flex;flex-direction:column;gap:.5rem}.mk-racer-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffff08;border-radius:8px;font-size:.9rem;color:var(--mk-text-primary)}.mk-racer-item svg{color:var(--mk-accent-orange)}.mk-spectator-hint{font-size:.8rem;color:var(--mk-text-muted);margin:0}@media(orientation:landscape){.mk-calibration-screen{padding:.5rem}.mk-calibration-content{flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:800px;padding:1.5rem;gap:1rem}.mk-calibration-header{flex:0 0 100%}.mk-calibration-header h1{font-size:1.25rem;margin-bottom:.25rem}.mk-calibration-header p{font-size:.85rem}.mk-calibration-icon{width:60px;height:60px;margin-bottom:.5rem}.mk-calibration-wheel-container{flex:0 0 auto}.mk-calibration-wheel{width:120px;height:120px}.mk-wheel-grip{height:35px;margin-top:-60px;transform-origin:center 25px}.mk-wheel-tick{transform-origin:center -38px}.mk-calibration-instruction{flex:1 1 200px;text-align:left;font-size:.85rem}.mk-calibration-progress{flex:0 0 100%}.mk-calibration-button{flex:0 0 100%;max-width:300px;margin:0 auto;padding:.875rem 1.25rem}}@media(orientation:landscape)and (max-height:500px){.mk-header{padding:6px 10px;gap:8px}.mk-header-btn{width:28px;height:28px;font-size:10px}.mk-recalibrate-btn{width:32px;height:32px;font-size:12px}.mk-player-pill{padding:5px 10px}.mk-player-name{font-size:11px}.mk-room-code{font-size:9px}.mk-controller-layout{padding:6px 10px 10px;gap:8px}.mk-steering-indicator{width:100px;height:100px}.mk-steering-grip{width:8px;height:35px;margin-top:-60px;transform-origin:center 25px}.mk-steering-tick{transform-origin:center -35px;margin-top:-40px}.mk-steering-data-pill{padding:4px 10px;gap:6px}.mk-steering-angle{font-size:10px}.mk-steering-direction{font-size:8px}.mk-direction-arrows{width:130px}.mk-arrow{font-size:1.2rem}.mk-drift-icon{width:36px;height:36px}.mk-drift-label{font-size:.75rem}.mk-accelerate-icon{width:32px;height:32px}.mk-accelerate-label{font-size:.65rem}.mk-reverse-icon{width:28px;height:28px}.mk-reverse-label{font-size:.6rem}.mk-drive-buttons{gap:6px}.mk-item-button{height:50px}.mk-item-circle{width:36px;height:36px}.mk-item-icon{font-size:1.2rem}.mk-connection-pill{padding:4px 10px}.mk-steer-hint{font-size:.6rem}}.mk-rotate-prompt{position:fixed;inset:0;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.mk-rotate-content{text-align:center;max-width:320px}.mk-rotate-icon{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:2rem}.mk-phone-outline{width:60px;height:100px;border:3px solid var(--mk-accent-orange);border-radius:12px;position:relative;animation:mk-rotate-phone 2s ease-in-out infinite;transform-origin:center center}.mk-phone-screen{position:absolute;inset:6px;background:#f9731633;border-radius:6px}.mk-rotate-arrow{position:absolute;font-size:2.5rem;color:var(--mk-accent-orange);right:-40px;animation:mk-arrow-pulse 2s ease-in-out infinite}@keyframes mk-rotate-phone{0%,20%{transform:rotate(0)}40%,60%{transform:rotate(-90deg)}80%,to{transform:rotate(0)}}@keyframes mk-arrow-pulse{0%,20%,80%,to{opacity:1;transform:scale(1)}40%,60%{opacity:.5;transform:scale(.8)}}.mk-rotate-content h2{font-size:1.75rem;font-weight:700;color:var(--mk-text-primary);margin:0 0 .75rem}.mk-rotate-content p{font-size:1rem;color:var(--mk-text-secondary);margin:0 0 1.5rem;line-height:1.5}.mk-rotate-hint{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#f9731626;border:1px solid rgba(249,115,22,.3);border-radius:100px;color:var(--mk-accent-orange);font-size:.9rem;font-weight:500}.mk-calibration-landscape{padding:1rem}.mk-calibration-content-landscape{width:100%;height:100%;max-width:none;background:transparent;border:none;border-radius:0;padding:0;display:flex;flex-direction:row;gap:2rem;align-items:center;justify-content:center;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.mk-calibration-left{flex:1;max-width:350px;display:flex;flex-direction:column;gap:1.5rem;justify-content:center}.mk-calibration-right{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.mk-calibration-header-landscape{display:flex;align-items:flex-start;gap:1rem}.mk-calibration-icon-small{width:56px;height:56px;min-width:56px;background:linear-gradient(135deg,var(--mk-accent-orange),#ea580c);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px var(--mk-glow-orange)}.mk-calibration-header-landscape h1{font-size:1.25rem;font-weight:700;color:var(--mk-text-primary);margin:0 0 .25rem}.mk-calibration-header-landscape p{font-size:.9rem;color:var(--mk-text-secondary);margin:0;line-height:1.4}.mk-calibration-debug{display:flex;gap:1rem;font-family:var(--bubbly-font-mono, "SF Mono", monospace);font-size:.75rem;color:var(--mk-text-muted);background:#0000004d;padding:.5rem .75rem;border-radius:8px}.mk-calibration-progress-landscape{width:100%}.mk-calibration-progress-landscape .mk-progress-track{height:8px;background:#ffffff1a;border-radius:100px;overflow:hidden;margin-bottom:.5rem}.mk-calibration-progress-landscape .mk-progress-fill{height:100%;background:linear-gradient(90deg,var(--mk-accent-orange),#ea580c);border-radius:100px;transition:width .2s ease}.mk-calibration-progress-landscape .mk-progress-fill.active{background:linear-gradient(90deg,var(--mk-accent-green),#16a34a)}.mk-calibration-progress-landscape .mk-progress-text{font-size:.85rem;color:var(--mk-text-secondary);margin:0}.mk-calibration-wheel-large{position:relative;width:200px;height:200px}.mk-calibration-wheel-large .mk-wheel-ring{position:absolute;inset:0;border:5px solid rgba(255,255,255,.15);border-radius:50%}.mk-calibration-wheel-large .mk-wheel-tick{position:absolute;top:50%;left:50%;width:3px;height:8px;background:#fff3;transform-origin:center -62px}.mk-calibration-wheel-large .mk-wheel-tick.major{height:14px;background:#ffffff59}.mk-calibration-wheel-large .mk-wheel-grip{position:absolute;left:50%;top:50%;width:12px;height:70px;margin-left:-6px;margin-top:-50px;border-radius:6px;transition:transform .1s ease-out;box-shadow:0 0 20px #f9731680}.mk-calibration-wheel-large .mk-wheel-center{position:absolute;left:50%;top:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center}.mk-calibration-wheel-large .mk-wheel-center-inner{width:20px;height:20px;background:#ffffff40;border-radius:50%}@media(max-height:400px){.mk-calibration-content-landscape{gap:1.5rem}.mk-calibration-left{gap:1rem}.mk-calibration-header-landscape h1{font-size:1.1rem}.mk-calibration-header-landscape p{font-size:.8rem}.mk-calibration-icon-small{width:48px;height:48px;min-width:48px;border-radius:12px}.mk-calibration-wheel-large{width:160px;height:160px}.mk-calibration-button{padding:.75rem 1.5rem;font-size:.9rem}}.noise-overlay{position:absolute;inset:0;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");pointer-events:none}.menu-wrapper{--menu-surface: rgba(255, 255, 255, .05);--menu-surface-hover: rgba(255, 255, 255, .12);--menu-border: rgba(255, 255, 255, .08);--menu-text: #fdfdfd;--menu-text-secondary: #d6d8e6;--menu-text-muted: #9ca1ba;--menu-accent: #7aa2ff;--menu-accent-hover: #9ac4ff;--menu-accent-glow: rgba(122, 162, 255, .35);position:absolute;inset:0;font-family:var(--bubbly-font);z-index:1000;background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite;overflow-y:auto;overflow-x:hidden;color:var(--menu-text);isolation:isolate}.menu-wrapper:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 90% 60% at 20% 30%,rgba(255,122,106,.22) 0%,transparent 62%),radial-gradient(ellipse 70% 55% at 75% 65%,rgba(80,200,255,.18) 0%,transparent 62%),radial-gradient(ellipse 60% 50% at 50% 50%,rgba(255,206,128,.1) 0%,transparent 68%);animation:menu-bg-pulse 10s ease-in-out infinite;pointer-events:none;z-index:0}.menu-wrapper:after{display:none}.menu-bg{display:none}.menu-container{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 32px 80px}.menu-header{position:sticky;top:0;z-index:100;background:transparent;border:none;margin-left:0;margin-right:0;padding:20px 0 12px;box-shadow:none;display:flex;justify-content:center}.menu-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,107,107,.4) 30%,rgba(78,205,196,.4) 70%,transparent 100%)}.menu-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;z-index:2;border-radius:999px;background:radial-gradient(140% 140% at 12% 20%,rgba(255,255,255,.12),transparent 55%),linear-gradient(135deg,#b45028f2,#8c3719f0);border:1px solid rgba(255,140,66,.25);box-shadow:0 22px 48px #0000006b,0 0 40px #ff6b3526,inset 0 1px #ffffff24;width:min(1280px,calc(100% - 32px));transition:transform .2s ease,box-shadow .2s ease}.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;transition:all .2s ease}.nav-brand:hover{opacity:.85}.nav-logo-img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.35))}.nav-title{font-family:var(--bubbly-font-display);font-size:32px;font-weight:700;letter-spacing:2px;background:linear-gradient(135deg,#fff,#a8d4ff 40%,#4a90d9,#2e6bb8);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;animation:nav-title-gradient-flow 8s ease-in-out infinite alternate;filter:drop-shadow(0 0 15px rgba(255,107,53,.4))}.nav-badge{display:none}.nav-links{display:flex;align-items:center;gap:10px}.nav-link{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;font-family:var(--bubbly-font);font-size:15px;font-weight:600;color:#ffffffe6;text-decoration:none;border-radius:12px;transition:all .2s ease;position:relative;overflow:hidden;letter-spacing:.01em}.nav-link:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff24,#fff0);opacity:0;transition:opacity .2s ease}.nav-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;font-family:var(--bubbly-font);font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,#4a90d9,#2e6bb8);border-radius:999px;text-decoration:none;transition:all .2s ease;box-shadow:0 12px 26px #2e6bb859}.nav-cta:hover{background:linear-gradient(135deg,#5ba0e9,#3a7bc8);transform:translateY(-1px);box-shadow:0 16px 32px #2e6bb873}.nav-cta:active{transform:translateY(0)}.nav-cta svg{transition:transform .2s ease}.nav-cta:hover svg{transform:translate(2px)}.nav-link:hover{color:#fafafa;transform:translateY(-1px);box-shadow:0 10px 22px #0000002e}.nav-link:hover:after{opacity:1}.menu-nav:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:radial-gradient(circle at 20% 20%,rgba(255,200,150,.15),transparent 40%),radial-gradient(circle at 80% 30%,rgba(255,140,66,.1),transparent 50%);pointer-events:none;z-index:0;opacity:.8}.menu-nav>*{position:relative;z-index:1}.nav-beta-pop{position:absolute;top:calc(100% + 14px);right:16px;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#ffffff1f,#ffffff0a);border:1px solid rgba(255,255,255,.18);border-radius:12px;color:var(--menu-text);font-family:var(--bubbly-font);font-size:13px;box-shadow:0 18px 38px #00000059;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav-beta-pop:before{content:"";position:absolute;top:-7px;right:32px;width:12px;height:12px;background:inherit;border-left:1px solid rgba(255,255,255,.18);border-top:1px solid rgba(255,255,255,.18);transform:rotate(45deg);filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.nav-beta-dot{width:10px;height:10px;border-radius:50%;background:#f97316;box-shadow:0 0 12px #f97316b3}.nav-icon{width:16px;height:16px;opacity:.8;transition:transform .2s ease,opacity .2s ease}.nav-link:hover .nav-icon{opacity:1;transform:translateY(-1px)}.nav-actions{display:flex;align-items:center;gap:10px}.nav-ghost{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;font-family:var(--bubbly-font);font-size:13px;font-weight:600;color:var(--menu-text-secondary);text-decoration:none;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;transition:all .2s ease}.nav-ghost:hover{color:#fff;background:#ffffff1f;border-color:#ffffff42}@media(max-width:768px){.menu-header{padding:0 16px}.menu-nav{padding:12px 0}.nav-brand{gap:8px}.nav-logo{font-size:24px}.nav-title{font-size:24px;letter-spacing:1px}.nav-badge{padding:3px 7px;font-size:9px}.nav-links{display:none}.nav-cta{padding:10px 16px;font-size:13px;gap:6px;border-radius:10px}.nav-ghost{display:none}.nav-cta svg{width:14px;height:14px}}@media(max-width:480px){.nav-brand{gap:6px}.nav-logo{font-size:22px}.nav-title{font-size:20px;letter-spacing:.5px}.nav-badge{display:none}.nav-cta{padding:8px 14px;font-size:13px}}.hero{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;padding:90px 0 110px}.hero.hero-bubbly{position:relative}.hero.hero-bubbly:before{content:"";position:absolute;inset:-60px -80px;background:radial-gradient(140% 120% at 30% 30%,rgba(255,255,255,.05),transparent 50%);filter:blur(50px);opacity:.7;pointer-events:none;z-index:0}.hero-content{max-width:540px;position:relative;z-index:1}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:100px;font-size:13px;font-weight:700;color:var(--menu-text-secondary);margin-bottom:26px;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 12px 32px #00000040}.hero-eyebrow.ribbon{background:linear-gradient(120deg,#ff6b6b59,#4ecdc42e);border-color:#ffffff29}.eyebrow-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite;box-shadow:0 0 8px #22c55e80}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.hero-title{font-family:var(--bubbly-font-display);font-size:58px;font-weight:500;line-height:1.05;color:var(--menu-text);margin:0 0 22px;letter-spacing:-.01em}.title-gradient{background:linear-gradient(135deg,#ff7a6a,#ffb36b 45%,#70d6ff 70%,#8a7bff);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% center}50%{background-position:100% center}}.hero-desc{font-size:17px;line-height:1.8;color:var(--menu-text-secondary);margin:0 0 30px}.hero-features{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.feature-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--menu-surface);border:1px solid var(--menu-border);border-radius:8px;font-size:13px;font-weight:500;color:var(--menu-text-secondary)}.feature-pill-icon{font-size:14px}.hero-cta{display:flex;align-items:center;gap:14px;margin-bottom:14px}.hero-cta-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 30px;background:linear-gradient(120deg,#e67332,#ff9a7b);color:#fff;font-family:var(--bubbly-font);font-size:16px;font-weight:700;text-decoration:none;border:none;border-radius:16px;cursor:pointer;transition:all .25s ease;box-shadow:0 14px 32px #ff6b6b66}.hero-cta-btn:hover{background:linear-gradient(120deg,#ff7d7d,#ffb08f);transform:translateY(-2px);box-shadow:0 18px 36px #ff6b6b73}.hero-cta-btn:active{transform:translateY(0);box-shadow:0 2px 12px #ff6b6b4d}.hero-cta-btn svg{transition:transform .25s ease}.hero-cta-btn:hover svg{transform:translate(4px)}.hero-ghost-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;font-family:var(--bubbly-font);font-size:14px;font-weight:650;color:var(--menu-text);text-decoration:none;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;transition:all .2s ease}.hero-ghost-btn:hover{background:#ffffff1f;border-color:#ffffff38;transform:translateY(-1px)}.btn-primary-animated{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 28px;background:var(--menu-accent);color:#fff;font-family:var(--bubbly-font);font-size:16px;font-weight:600;text-decoration:none;border:none;border-radius:14px;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 20px #ff6b6b59}.btn-primary-animated .btn-bg,.btn-primary-animated .btn-shine{display:none}.btn-primary-animated .btn-text{position:relative}.btn-primary-animated .btn-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff3;border-radius:6px;transition:all .25s ease}.btn-primary-animated:hover{background:var(--menu-accent-hover);transform:translateY(-2px);box-shadow:0 8px 32px #ff6b6b73}.btn-primary-animated:hover .btn-icon{background:#ffffff4d;transform:translate(3px)}.btn-primary-animated:active{transform:translateY(0);box-shadow:0 2px 12px #ff6b6b4d}.menu-wrapper .btn-primary{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;background:var(--menu-accent);color:#fff;font-family:var(--bubbly-font);font-size:15px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .15s ease}.menu-wrapper .btn-primary:hover{background:var(--menu-accent-hover);transform:translateY(-1px);box-shadow:0 8px 24px var(--menu-accent-glow)}.menu-wrapper .btn-primary:active{transform:translateY(0)}.menu-wrapper .btn-primary svg{transition:transform .15s ease}.menu-wrapper .btn-primary:hover svg{transform:translate(3px)}.menu-wrapper .btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:14px 20px;background:transparent;color:var(--menu-text-secondary);font-family:var(--bubbly-font);font-size:15px;font-weight:600;border:1px solid var(--menu-border);border-radius:10px;cursor:pointer;transition:all .15s ease}.menu-wrapper .btn-ghost:hover{color:var(--menu-text);background:var(--menu-surface);border-color:transparent}.hero-visual{position:relative;display:grid;gap:12px;align-items:start;justify-content:center;padding-top:10px;z-index:1}.hero-bubble-stack{position:relative;min-height:520px}.orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.6;mix-blend-mode:screen;animation:float 10s ease-in-out infinite alternate}.orb-one{width:220px;height:220px;background:#ff6b6b59;top:10%;left:5%}.orb-two{width:180px;height:180px;background:#4ecdc447;bottom:8%;right:10%;animation-delay:1s}.orb-three{width:140px;height:140px;background:#ffe88c40;top:45%;right:28%;animation-delay:2s}@keyframes float{0%{transform:translateY(0) scale(1)}to{transform:translateY(-14px) scale(1.05)}}.bubble-card{position:relative;padding:20px;border-radius:22px;background:linear-gradient(180deg,#ffffff1a,#ffffff0a);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px #00000059,inset 0 1px #ffffff14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--menu-text);z-index:1}.bubble-card:not(:last-child){margin-bottom:14px}.bubble-card-header{display:flex;align-items:center;gap:10px;font-family:var(--bubbly-font);font-size:14px;font-weight:700;letter-spacing:.02em;color:#fff}.bubble-card-body{margin:10px 0 16px;color:var(--menu-text-secondary);line-height:1.7}.bubble-card-footer{font-size:12px;color:var(--menu-text-muted);text-transform:uppercase;letter-spacing:.08em}.bubble-card-primary{background:linear-gradient(165deg,#ff6b6b47,#ffffff0a);border:1px solid rgba(255,255,255,.18)}.bubble-card-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;font-family:var(--bubbly-font);font-weight:700;border:none;background:#0f101e;color:#fff;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 12px 30px #00000059}.bubble-card-btn:hover{transform:translateY(-1px);box-shadow:0 16px 36px #0006}.bubble-card-games,.bubble-chip-grid,.bubble-chip,.bubble-chip-icon,.bubble-chip-name,.bubble-chip-desc,.bubble-card-link{display:none}.pulse-dot{width:10px;height:10px;background:#22c55e;border-radius:50%;box-shadow:0 0 14px #22c55eb3;animation:pulse-dot 2s ease-in-out infinite}.game-showcase{position:relative;width:100%;max-width:520px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#ffffff1f,#ffffff0a);border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 48px #00000059;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.game-showcase-header{display:inline-flex;align-items:center;gap:10px;font-family:var(--bubbly-font);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--menu-text);margin-bottom:10px}.game-showcase-window{position:relative;overflow:hidden}.game-showcase-track{display:flex;gap:10px;animation:showcase-marquee 16s linear infinite}.game-showcase-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-width:240px;padding:12px 14px;background:#00000040;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 10px 22px #0000002e}.game-showcase-emoji{font-size:24px}.game-showcase-copy{min-width:0}.game-showcase-name{margin:0;font-family:var(--bubbly-font);font-size:15px;font-weight:700;color:var(--menu-text)}.game-showcase-desc{margin:2px 0 0;font-size:13px;color:var(--menu-text-secondary);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-showcase-pill{padding:6px 10px;border-radius:999px;font-family:var(--bubbly-font);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.game-showcase-pill.live{background:#22c55e2e;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.game-showcase-pill.soon{background:#ffb86c29;color:#fbbf77;border:1px solid rgba(255,184,108,.32)}@keyframes showcase-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.how-it-works{padding:80px 0;border-top:1px solid var(--menu-border)}.section-header{text-align:center;margin-bottom:56px}.section-subtitle{margin:10px auto 0;max-width:720px;font-size:15px;line-height:1.7;color:var(--menu-text-secondary)}.section-label{display:inline-flex;align-items:center;gap:10px;font-family:var(--bubbly-font);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--menu-accent);margin-bottom:16px;padding:8px 16px;background:#ff6b6b1a;border-radius:100px;border:1px solid rgba(255,107,107,.2)}.section-label:before,.section-label:after{content:"";width:20px;height:1px;background:linear-gradient(90deg,transparent,var(--menu-accent))}.section-label:after{background:linear-gradient(90deg,var(--menu-accent),transparent)}.section-title{font-family:var(--bubbly-font-display);font-size:36px;font-weight:400;color:var(--menu-text);margin:0;letter-spacing:-.01em}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.step{text-align:left;padding:28px 22px;background:linear-gradient(145deg,#ffffff14,#ffffff05);border:1px solid var(--menu-border);border-radius:18px;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 18px 38px #00000040}.step h3{margin:12px 0 8px;font-family:var(--bubbly-font-display);font-weight:600;font-size:18px;color:var(--menu-text)}.step p{margin:0;color:var(--menu-text-secondary);line-height:1.7}.step:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,107,107,.08) 0%,transparent 60%);opacity:0;transition:opacity .3s ease}.step:hover{border-color:#ff6b6b4d;background:var(--menu-surface-hover);transform:translateY(-4px);box-shadow:0 20px 40px #0003}.step:hover:before{opacity:1}.step-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:20px;background:linear-gradient(145deg,#ffffff14,#ffffff05);border-radius:50%;border:1px solid rgba(255,255,255,.1)}.step-number{position:absolute;top:-4px;right:-4px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:linear-gradient(135deg,var(--menu-accent),#ff8e8e);color:#fff;font-family:var(--bubbly-font);font-size:13px;font-weight:800;border-radius:50%;box-shadow:0 4px 12px #ff6b6b66}.step-icon{font-size:32px;position:relative;z-index:1}.step h3{font-family:var(--bubbly-font-display);font-size:18px;font-weight:400;color:var(--menu-text);margin:0 0 8px}.step p{font-size:13px;color:var(--menu-text-muted);margin:0;line-height:1.6}.step-connector{display:none}.games-section{position:relative;padding:90px 0;border-top:1px solid var(--menu-border)}.games-section:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,rgba(255,107,107,.12),transparent 60%);opacity:.6;pointer-events:none}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:60px}.game-card{position:relative;background:linear-gradient(165deg,#ffffff14,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:0;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);text-align:left;overflow:hidden;text-decoration:none}.game-card:before{content:"";position:absolute;top:0;left:0;right:0;height:140px;background:linear-gradient(180deg,rgba(255,107,107,.15) 0%,transparent 100%);opacity:0;transition:opacity .4s ease}.game-card-glow{position:absolute;inset:-2px;background:linear-gradient(135deg,var(--menu-accent),#ff8e8e,#ffb86c);border-radius:26px;opacity:0;z-index:-1;transition:opacity .4s ease;filter:blur(1px)}.game-card:hover .game-card-glow{opacity:.6}.game-card:hover:before{opacity:1}.game-card:hover{border-color:transparent;transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #ff6b6b33,0 0 60px #ff6b6b1a}.game-card-inner{position:relative;padding:28px;z-index:1}.game-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.game-card-emoji{font-size:56px;transition:all .4s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.game-card:hover .game-card-emoji{transform:scale(1.15) rotate(-8deg) translateY(-4px);filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.game-card-badge{padding:8px 14px;background:linear-gradient(135deg,#22c55e33,#22c55e1a);border:1px solid rgba(34,197,94,.3);border-radius:100px;font-family:var(--bubbly-font);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#4ade80;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{box-shadow:0 0 #22c55e00}50%{box-shadow:0 0 16px #22c55e4d}}.game-card-name{font-family:var(--bubbly-font-display);font-size:26px;font-weight:400;color:var(--menu-text);margin:0 0 10px}.game-card-desc{font-size:15px;color:var(--menu-text-secondary);margin:0 0 24px;line-height:1.6}.game-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.game-card-players{display:flex;align-items:center;gap:8px;font-family:var(--bubbly-font);font-size:14px;font-weight:600;color:var(--menu-text-muted);padding:6px 12px;background:#ffffff0d;border-radius:8px}.game-card-players svg{opacity:.7}.game-card-action{display:flex;align-items:center;gap:8px;font-family:var(--bubbly-font);font-size:15px;font-weight:700;color:var(--menu-accent);padding:8px 16px;background:#ff6b6b1a;border-radius:10px;transition:all .3s ease}.game-card:hover .game-card-action{gap:12px;background:var(--menu-accent);color:#fff;box-shadow:0 4px 16px #ff6b6b66}.coming-soon-section{padding-top:40px;border-top:1px solid var(--menu-border)}.coming-soon-header{margin-bottom:24px}.coming-soon-title{font-family:var(--bubbly-font);font-size:16px;font-weight:600;color:var(--menu-text);margin:0 0 4px}.coming-soon-subtitle{font-size:13px;color:var(--menu-text-muted);margin:0}.coming-soon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.coming-soon-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--menu-surface);border:1px solid var(--menu-border);border-radius:12px;transition:all .15s ease}.coming-soon-card:hover{background:var(--menu-surface-hover)}.coming-soon-icon{font-size:32px;opacity:.6}.coming-soon-info{flex:1;min-width:0}.coming-soon-name{font-family:var(--bubbly-font);font-size:15px;font-weight:600;color:var(--menu-text-secondary);margin:0 0 2px}.coming-soon-desc{font-size:13px;color:var(--menu-text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coming-soon-badge{padding:4px 10px;background:var(--menu-border);border-radius:100px;font-size:11px;font-weight:600;color:var(--menu-text-muted);text-transform:uppercase;letter-spacing:.05em}.menu-footer{padding:32px 0;border-top:1px solid var(--menu-border)}.footer-content{display:flex;align-items:center;justify-content:space-between}.footer-text{font-size:14px;color:var(--menu-text-muted);margin:0}.footer-links{display:flex;align-items:center;gap:12px;font-size:13px}.footer-links a{color:var(--menu-text-muted);text-decoration:none;transition:color .15s ease}.footer-links a:hover{color:var(--menu-text)}.footer-links span{color:var(--menu-border)}@media(max-width:1024px){.hero{grid-template-columns:1fr;gap:48px;text-align:center;padding:60px 0 80px}.hero-content{max-width:100%}.hero-title{font-size:40px}.hero-features,.hero-cta{justify-content:center}.hero-visual{order:-1;max-width:620px;margin:0 auto}.hero-bubble-stack{min-height:auto}.hero-steps-compact{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.nav-center{display:none}}@media(max-width:640px){.menu-container{padding:0 20px}.hero-title{font-size:32px}.hero-desc{font-size:15px}.menu-wrapper .btn-primary,.hero-cta-btn{width:100%;justify-content:center}.hero-features{gap:8px}.feature-pill{padding:6px 12px;font-size:12px}.hero-visual{display:grid;gap:10px}.games-grid,.coming-soon-grid{grid-template-columns:1fr}.step{flex:1 1 auto;width:auto;min-width:150px;max-width:100%}.hero-steps-compact{grid-template-columns:1fr}.bubble-card{margin-bottom:10px}.btn-primary-animated{width:100%;justify-content:center}.footer-content{flex-direction:column;gap:16px;text-align:center}}.game-picker{min-height:100vh;min-height:100dvh;width:100vw;position:fixed;top:0;left:0;overflow-x:hidden;overflow-y:auto;background:#0a0a12}.picker-bg{position:fixed;inset:0;z-index:0;overflow:hidden}.picker-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 40%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(78,205,196,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 50% 90%,rgba(102,126,234,.1) 0%,transparent 50%);animation:pickerGradientShift 15s ease-in-out infinite}@keyframes pickerGradientShift{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(3deg)}}.picker-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%);mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%)}.floating-shapes{position:absolute;inset:0;pointer-events:none}.shape{position:absolute;font-size:24px;opacity:.3;animation:float 20s ease-in-out infinite}.shape-1{top:10%;left:10%;animation-delay:0s}.shape-2{top:20%;right:15%;animation-delay:-3s;font-size:18px}.shape-3{top:60%;left:5%;animation-delay:-6s}.shape-4{top:70%;right:10%;animation-delay:-9s;font-size:20px}.shape-5{top:40%;left:85%;animation-delay:-12s}.shape-6{top:85%;left:50%;animation-delay:-15s;font-size:16px}@keyframes float{0%,to{transform:translateY(0) rotate(0);opacity:.3}25%{transform:translateY(-20px) rotate(10deg);opacity:.5}50%{transform:translateY(-10px) rotate(-5deg);opacity:.3}75%{transform:translateY(-30px) rotate(5deg);opacity:.4}}.picker-back{position:fixed;top:24px;left:24px;z-index:100;display:flex;align-items:center;gap:8px;padding:12px 20px;font-family:var(--bubbly-font);font-size:14px;font-weight:600;color:#fffc;background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:50px;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.picker-back:hover{color:#fff;background:#ffffff26;transform:translate(-4px);box-shadow:0 4px 20px #0000004d}.picker-back svg{transition:transform .3s ease}.picker-back:hover svg{transform:translate(-3px)}.picker-content{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:24px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.picker-header{text-align:center;margin-bottom:32px}.picker-mascot{display:none}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.05)}}.picker-title{font-family:var(--bubbly-font-display);margin:0 0 16px;line-height:1.1}.title-line{display:block;font-size:clamp(18px,3vw,22px);font-weight:400;color:#ffffffb3;letter-spacing:-.01em}.title-highlight{display:block;font-size:clamp(36px,7vw,52px);font-weight:700;background:linear-gradient(135deg,#e67332,#ffe66d,#4ecdc4);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:rainbowShift 5s ease-in-out infinite}@keyframes rainbowShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.picker-subtitle{font-size:14px;color:#ffffff80;max-width:400px;margin:0 auto;line-height:1.5}.games-grid-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.game-card-v2{position:relative;padding:0;border:none;border-radius:28px;cursor:pointer;overflow:hidden;text-align:left;animation:cardSlideIn .6s cubic-bezier(.34,1.56,.64,1) backwards;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(40px) scale(.9)}}.game-card-v2:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 24px 48px #0006,0 0 0 2px var(--card-glow)}.game-card-v2.coming-soon{cursor:not-allowed;filter:grayscale(.3)}.game-card-v2.coming-soon:hover{transform:none;box-shadow:none}.card-bg-layer{position:absolute;inset:0;z-index:0}.card-gradient-bg{position:absolute;inset:0;background:var(--card-gradient);opacity:.9}.card-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%);opacity:.5}.card-shine{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);transform:translate(-100%);transition:transform .8s ease}.game-card-v2:hover .card-shine{transform:translate(100%)}.card-ribbon{position:absolute;top:20px;right:-35px;z-index:10;padding:6px 40px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff;background:#0009;transform:rotate(45deg)}.card-content-v2{position:relative;z-index:1;padding:20px;display:flex;flex-direction:column;min-height:180px}.card-icon-container{position:relative;width:56px;height:56px;margin-bottom:12px}.card-icon-bg{position:absolute;inset:0;background:#fff3;border-radius:24px;transform:rotate(-6deg);transition:transform .3s ease}.game-card-v2:hover .card-icon-bg{transform:rotate(6deg) scale(1.1)}.card-icon{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:32px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));transition:transform .3s ease}.game-card-v2:hover .card-icon{transform:scale(1.1) rotate(-6deg)}.card-icon-ring{position:absolute;inset:-8px;border:2px dashed rgba(255,255,255,.2);border-radius:30px;animation:pickerSpin 20s linear infinite}@keyframes pickerSpin{to{transform:rotate(360deg)}}.card-info-v2{flex:1}.card-title-v2{font-family:var(--bubbly-font-display);font-size:18px;font-weight:700;color:#fff;margin:0 0 4px;text-shadow:0 2px 8px rgba(0,0,0,.2)}.card-tagline{font-size:12px;font-weight:500;color:#ffffffbf;margin:0 0 12px;font-style:italic}.card-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.feature-chip{padding:5px 12px;font-size:11px;font-weight:600;color:#ffffffe6;background:#0003;border-radius:20px;animation:chipPop .4s cubic-bezier(.34,1.56,.64,1) backwards}.game-card-v2:hover .feature-chip{animation:chipPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes chipPop{0%{opacity:0;transform:scale(.8)}}.card-players-v2{display:flex;align-items:center;gap:10px;font-size:13px;color:#ffffffb3}.player-avatars{display:flex;gap:4px}.player-dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:dotPulse 1.5s ease-in-out infinite}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.card-action-v2{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;padding:10px 16px;background:#00000040;border-radius:12px;color:#fff;font-weight:600;font-size:12px;transition:all .3s ease;position:relative;overflow:hidden}.game-card-v2:hover .card-action-v2{background:#0006}.action-pulse{position:absolute;inset:0;background:#ffffff1a;border-radius:16px;animation:actionPulse 2s ease-in-out infinite}@keyframes actionPulse{0%,to{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.card-action-v2 svg{transition:transform .3s ease}.game-card-v2:hover .card-action-v2 svg{transform:translate(4px)}.picker-tip{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;animation:fadeInUp .6s ease .4s backwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}}.tip-icon{font-size:20px;animation:tipWiggle 2s ease-in-out infinite}@keyframes tipWiggle{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.picker-tip p{margin:0;font-size:13px;color:#fff9;line-height:1.4}.picker-tip strong{color:#ffffffe6}@media(max-width:900px){.games-grid-v2{grid-template-columns:repeat(2,1fr);gap:12px}}@media(max-width:600px){.games-grid-v2{grid-template-columns:1fr;gap:12px}.card-content-v2{min-height:auto;padding:16px}.picker-content{padding:80px 16px 24px}.picker-back{top:16px;left:16px}.title-highlight{font-size:36px}}@media(max-width:480px){.card-icon-container{width:48px;height:48px}.card-icon{font-size:28px}.card-title-v2{font-size:16px}.card-features{display:none}.picker-tip{flex-direction:column;text-align:center;gap:8px}}.page-wrapper{position:absolute;inset:0;font-family:var(--bubbly-font);background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite;color:#fafafa;overflow-y:auto;overflow-x:hidden}.page-wrapper:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 90% 60% at 20% 30%,rgba(255,122,106,.22) 0%,transparent 62%),radial-gradient(ellipse 70% 55% at 75% 65%,rgba(80,200,255,.18) 0%,transparent 62%),radial-gradient(ellipse 60% 50% at 50% 50%,rgba(255,206,128,.1) 0%,transparent 68%);animation:menu-bg-pulse 10s ease-in-out infinite;pointer-events:none;z-index:0}.page-header{position:sticky;top:0;z-index:100;padding:16px 32px;background:linear-gradient(180deg,#0a0a1afa,#0d1025f2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden}.page-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(241,91,181,.8) 20%,rgba(0,245,212,.8) 50%,rgba(0,187,249,.8) 80%,transparent 100%);background-size:200% 100%;animation:header-glow-slide 4s linear infinite}.page-header:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.01) 2px,rgba(255,255,255,.01) 4px);pointer-events:none;z-index:1}.page-nav{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto}.page-wrapper .nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.page-wrapper .nav-logo{font-size:24px}.page-wrapper .nav-title{font-size:28px;font-weight:700;letter-spacing:2px;background:linear-gradient(135deg,#fff 0% 40%,#fff 70% 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;animation:nav-title-gradient-flow 8s ease-in-out infinite alternate;filter:drop-shadow(0 0 15px rgba(74,144,217,.4))}@keyframes nav-title-gradient-flow{0%{background-position:0% 50%}to{background-position:100% 50%}}.page-wrapper .nav-links{gap:24px}.nav-back{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;color:#fff9;text-decoration:none;border-radius:8px;transition:all .15s ease}.nav-back:hover{color:#fafafa;background:#ffffff14}.page-content{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:48px 32px 80px}.page-hero{text-align:center;margin-bottom:48px}.page-icon{display:block;font-size:64px;margin-bottom:20px}.page-title{font-size:40px;font-weight:700;margin:0 0 12px;letter-spacing:-.02em}.leaderboard-filters{margin-bottom:24px}.filter-tabs{display:inline-flex;background:#ffffff0a;border-radius:10px;padding:4px}.filter-tab{padding:10px 20px;font-size:14px;font-weight:600;color:#ffffff80;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.filter-tab:hover{color:#fffc}.filter-tab.active{color:#fafafa;background:#ffffff1a}.leaderboard-container{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden}.leaderboard-notice{padding:12px 20px;background:#ffc1071a;border-bottom:1px solid rgba(255,193,7,.2);font-size:13px;color:#ffc107}.leaderboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:#ffffff80}.loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:#e67332;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.leaderboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center}.leaderboard-empty span{font-size:48px}.leaderboard-empty p{color:#ffffff80;margin:0}.leaderboard-table{width:100%}.leaderboard-header{display:grid;grid-template-columns:80px 1fr 120px 80px 100px;gap:16px;padding:16px 24px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fff6;border-bottom:1px solid rgba(255,255,255,.06)}.leaderboard-row{display:grid;grid-template-columns:80px 1fr 120px 80px 100px;gap:16px;padding:16px 24px;align-items:center;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s ease}.leaderboard-row:hover{background:#ffffff05}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row.gold{background:#ffd70014}.leaderboard-row.silver{background:#c0c0c00f}.leaderboard-row.bronze{background:#cd7f320f}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:14px;font-weight:700;background:#ffffff0f;border-radius:8px}.leaderboard-row.gold .rank-badge,.leaderboard-row.silver .rank-badge,.leaderboard-row.bronze .rank-badge{font-size:20px;background:transparent}.col-player{display:flex;align-items:center;gap:12px}.player-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,#e67332,#ff8585);border-radius:10px}.player-name{font-weight:600}.col-score{font-weight:700}.score-value{display:inline-flex;align-items:center;padding:6px 12px;background:#ff6b6b26;color:#e67332;border-radius:6px;font-size:15px}.col-games,.col-avg{color:#ffffff80;font-size:14px}.page-title-section{text-align:center;margin-bottom:32px}.page-title{display:flex;align-items:center;justify-content:center;gap:16px;font-size:42px;font-weight:800;margin:0 0 12px;letter-spacing:-.02em}.title-icon{font-size:48px}.page-subtitle{font-size:18px;color:#fff9;margin:0}.game-tabs{gap:4px}.filter-tab .tab-icon{margin-right:8px;font-size:16px}.empty-hint{font-size:14px;color:#ffffff59;margin-top:4px}.retry-button{margin-top:16px;padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.retry-button:hover{background:linear-gradient(135deg,#7c7ff7,#6366f1);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.content-container{max-width:900px;margin:0 auto}.leaderboard-cta,.about-cta{text-align:center;padding:48px 0}.leaderboard-cta p,.about-cta p{font-size:18px;color:#fff9;margin:0 0 20px}.cta-button{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff8c42,#e67332);border-radius:12px;text-decoration:none;transition:all .15s ease;box-shadow:0 4px 12px #ff8c4240}.cta-button:hover{background:linear-gradient(135deg,#ffa05c,#ff8c42);transform:translateY(-2px);box-shadow:0 8px 24px #ff8c4266}.coming-soon-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:50vh;padding:60px 20px}.coming-soon-icon{font-size:80px;margin-bottom:24px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.coming-soon-title{font-size:48px;font-weight:800;margin:0 0 16px;letter-spacing:-.03em}.coming-soon-badge{display:inline-block;padding:8px 20px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#ffe66d;background:#ffe66d26;border:1px solid rgba(255,230,109,.3);border-radius:100px;margin-bottom:24px}.coming-soon-text{font-size:17px;line-height:1.7;color:#fff9;max-width:400px;margin:0 0 32px}.about-v2{min-height:100vh;display:flex;flex-direction:column}.about-v2-main{flex:1;display:flex;flex-direction:column;padding:24px 40px 32px;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.about-v2-hero{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(255,140,66,.12)}.about-v2-hero-content{display:flex;align-items:center;gap:40px}.about-v2-hero-centered{flex-direction:column;text-align:center;justify-content:center}.about-v2-hero-content h1{font-size:clamp(28px,3.5vw,42px);font-weight:800;margin:0;line-height:1.1;letter-spacing:-.03em;background:linear-gradient(135deg,#fff,#ff8c42 60%,#ffe066);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex-shrink:0}.about-v2-hero-content p{font-size:14px;line-height:1.6;color:#fff9;margin:0;max-width:520px}.about-v2-hero-centered h1{flex-shrink:unset}.about-v2-hero-centered p{max-width:560px}.about-v2-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff8c42,#e67332);border-radius:10px;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 16px #ff8c424d;white-space:nowrap;flex-shrink:0;margin-left:auto}.about-v2-cta:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ff8c4266}.about-v2-columns{display:grid;grid-template-columns:1fr 340px;gap:32px;flex:1;min-height:0}.about-v2-left{display:flex;flex-direction:column;gap:24px}.about-v2-faq h2,.about-v2-tech h2,.about-v2-games h2{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#fff6;margin:0 0 16px}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;overflow:hidden;cursor:pointer;transition:all .2s ease}.faq-item:hover{border-color:#ff8c4233}.faq-item.faq-open{background:#ff8c420d;border-color:#ff8c4233}.faq-question{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-size:14px;font-weight:600;color:#ffffffe6}.faq-chevron{width:18px;height:18px;stroke:#fff6;transition:transform .2s ease;flex-shrink:0}.faq-open .faq-chevron{transform:rotate(180deg);stroke:#ff8c42}.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease}.faq-open .faq-answer{max-height:200px}.faq-answer p{padding:0 16px 14px;margin:0;font-size:13px;line-height:1.6;color:#fff9}.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tech-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:10px;transition:all .3s ease;position:relative;flex-wrap:wrap;cursor:pointer}.tech-item:hover{border-color:#ff8c4259;background:#ff8c420f;box-shadow:0 8px 32px #ff8c4226;transform:translateY(-2px)}.tech-detail{width:100%;max-height:0;overflow:hidden;opacity:0;transition:all .3s ease;margin-top:0}.tech-detail p{margin:0;padding-top:12px;font-size:12px;line-height:1.6;color:#ffffffb3;border-top:1px solid rgba(255,140,66,.15)}.tech-item:hover .tech-detail{max-height:150px;opacity:1;margin-top:8px}.tech-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4ecdc426,#4ecdc40d);border-radius:8px;flex-shrink:0}.tech-icon svg{width:18px;height:18px;stroke:#4ecdc4}.tech-text{display:flex;flex-direction:column;gap:2px}.tech-text strong{font-size:13px;font-weight:600;color:#ffffffe6}.tech-text span{font-size:12px;color:#ffffff80}.about-v2-games{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:20px;height:fit-content}.games-grid{display:flex;flex-direction:column;gap:8px}.game-tile{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff08;border-radius:10px;transition:all .15s ease}.game-tile:hover{background:#ffffff0f}.game-tile.game-live{background:#22c55e14;border:1px solid rgba(34,197,94,.15)}.game-tile.game-live:hover{background:#22c55e1f}.game-tile.game-soon{opacity:.6}.game-tile-icon{font-size:24px;flex-shrink:0}.game-tile-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.game-tile-name{font-size:14px;font-weight:600;color:#ffffffe6}.game-tile-desc{font-size:11px;color:#ffffff80}.game-tile-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:4px;flex-shrink:0}.game-tile-badge.live{background:#22c55e33;color:#22c55e}.game-tile-badge.soon{background:#ffffff14;color:#ffffff80}.games-note{font-size:11px;color:#fff6;text-align:center;margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.about-v2-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:20px;margin-top:auto;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#fff6}.footer-sep{opacity:.3}.about-v2-footer a{color:#4ecdc4;text-decoration:none;transition:color .15s ease}.about-v2-footer a:hover{color:#6ee7de}@media(max-width:1000px){.about-v2-columns{grid-template-columns:1fr}.about-v2-right{order:-1}.about-v2-games{max-width:none}.games-grid{display:grid;grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.about-v2-main{padding:16px 20px 24px}.about-v2-hero-content{flex-direction:column;text-align:center;gap:20px}.about-v2-cta{margin-left:0}.tech-grid,.games-grid{grid-template-columns:1fr}}@media(max-width:500px){.about-v2-hero-content h1{font-size:26px}.about-v2-footer{flex-wrap:wrap;gap:8px 12px}}@media(max-width:768px){.page-header{padding:16px 20px}.page-content{padding:32px 20px 60px}.page-title{font-size:32px}.leaderboard-header,.leaderboard-row{grid-template-columns:60px 1fr 80px;padding:12px 16px}.col-games,.col-avg{display:none}.coming-soon-title{font-size:36px}.coming-soon-icon{font-size:64px}}.reconnection-screen{padding:24px}.reconnection-content{padding:32px 24px}.reconnection-header{text-align:center;margin-bottom:24px}.reconnection-icon-wrapper{width:72px;height:72px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bubbly-teal) 0%,#4ECDC4 100%);color:#fff}.reconnection-header h2{font-size:24px;font-weight:700;color:var(--bubbly-navy);margin-bottom:8px}.reconnection-header p{font-size:15px;color:var(--bubbly-slate)}.reconnection-header p strong{color:var(--bubbly-coral)}.reconnection-status{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:var(--bubbly-cloud);border-radius:16px;margin-bottom:24px}.reconnection-spinner{width:48px;height:48px}.reconnection-new-btn{width:100%;padding:14px 20px;display:flex;align-items:center;justify-content:center;gap:10px}.spectator-screen{padding:24px}.spectator-content{padding:32px 24px}.spectator-header{text-align:center;margin-bottom:24px}.spectator-icon-wrapper{width:72px;height:72px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bubbly-lavender) 0%,#AA96DA 100%);color:#fff}.spectator-header h2{font-size:24px;font-weight:700;color:var(--bubbly-navy);margin-bottom:8px}.spectator-header p{font-size:15px;color:var(--bubbly-slate)}.spectator-game-info{background:var(--bubbly-cloud);border-radius:16px;padding:20px;margin-bottom:24px}.spectator-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.spectator-info-row:not(:last-child){border-bottom:1px solid rgba(0,0,0,.06)}.info-label{font-size:14px;color:var(--bubbly-slate)}.info-value{font-size:18px;font-weight:700;color:var(--bubbly-navy)}.spectator-players{margin-bottom:24px}.spectator-players h3{font-size:14px;font-weight:600;color:var(--bubbly-slate);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.spectator-player-list{display:flex;flex-direction:column;gap:8px}.spectator-player-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.06);transition:all .2s ease}.spectator-player-item.active{background:var(--bubbly-teal);color:#fff;border-color:transparent}.spectator-player-item.active .active-badge{background:#fff3;color:#fff}.active-badge{margin-left:auto;font-size:12px;font-weight:600;padding:4px 10px;background:var(--bubbly-cloud);border-radius:8px;color:var(--bubbly-teal)}.spectator-hint{font-size:13px;color:var(--bubbly-slate);text-align:center;margin:0}.spectator-join-section{padding:24px;background:var(--bubbly-cloud);border-radius:16px;margin-bottom:20px}.spectator-name-label{display:block;font-size:13px;font-weight:600;color:var(--bubbly-slate);margin-bottom:8px}.spectator-name-input{width:100%;padding:14px 16px;font-size:16px;border:2px solid rgba(0,0,0,.08);border-radius:12px;background:#fff;margin-bottom:16px;transition:border-color .2s ease}.spectator-name-input:focus{outline:none;border-color:var(--bubbly-teal)}.spectator-join-btn{width:100%;padding:16px 20px;display:flex;align-items:center;justify-content:center;gap:10px}.current-players-info{text-align:center}.current-players-info p{margin:0;font-size:14px}.current-players-info strong{color:var(--bubbly-navy)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes lightning-flash{0%{opacity:1;filter:blur(1px)}50%{opacity:.8;filter:blur(2px)}to{opacity:0;filter:blur(4px)}}@keyframes sparkle-twinkle{0%,to{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1) rotate(180deg);opacity:1}}@keyframes text-glow{0%,to{filter:drop-shadow(0 0 20px currentColor) drop-shadow(0 0 40px currentColor)}50%{filter:drop-shadow(0 0 40px currentColor) drop-shadow(0 0 80px currentColor)}}.celebration-text-glow{animation:text-glow .5s ease-in-out infinite}@keyframes strike-explosion{0%{transform:scale(.5) rotate(-10deg);opacity:0}50%{transform:scale(1.1) rotate(2deg);opacity:1}70%{transform:scale(.95) rotate(-1deg)}to{transform:scale(1) rotate(0);opacity:1}}.strike-text{animation:strike-explosion .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes spare-slide{0%{transform:translate(-100px);opacity:0}70%{transform:translate(10px);opacity:1}to{transform:translate(0);opacity:1}}.spare-text{animation:spare-slide .5s ease-out}@keyframes turkey-bounce{0%{transform:scale(.3) translateY(-50px);opacity:0}50%{transform:scale(1.2) translateY(10px);opacity:1}70%{transform:scale(.9) translateY(-5px)}to{transform:scale(1) translateY(0);opacity:1}}.turkey-text{animation:turkey-bounce .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes gutter-sad{0%{transform:translateY(-50px) rotate(10deg);opacity:0}60%{transform:translateY(10px) rotate(-5deg);opacity:1}80%{transform:translateY(-5px) rotate(2deg)}to{transform:translateY(0) rotate(0);opacity:1}}.gutter-text{animation:gutter-sad .6s ease-out;color:#8a99a8}@keyframes screen-shake{0%,to{transform:translate(0)}10%{transform:translate(-5px,-3px)}20%{transform:translate(5px,3px)}30%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}50%{transform:translate(-3px,3px)}60%{transform:translate(3px,-1px)}70%{transform:translate(-2px,1px)}80%{transform:translate(2px,-1px)}90%{transform:translate(-1px,1px)}}.screen-shake{animation:screen-shake .4s ease-in-out}.screen-shake-heavy{animation:screen-shake .6s ease-in-out;--shake-intensity: 1.5}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.confetti-piece{animation:confetti-fall 3s ease-in forwards}@keyframes firework-burst{0%{transform:scale(0);opacity:1}50%{opacity:1}to{transform:scale(3);opacity:0}}.firework-particle{animation:firework-burst 1s ease-out forwards}@keyframes rainbow-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.rainbow-text{background:linear-gradient(90deg,red,#ff7f00,#ff0,#0f0,#00f,#8b00ff,red);background-size:400% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rainbow-gradient 3s ease infinite}@keyframes high-score-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 20px #FFD700)}50%{transform:scale(1.05);filter:drop-shadow(0 0 40px #FFD700) drop-shadow(0 0 60px #FFA500)}}.high-score-text{animation:high-score-pulse .5s ease-in-out infinite}.celebration-container{position:fixed;inset:0;pointer-events:none;z-index:1000;display:flex;align-items:center;justify-content:center}.celebration-overlay{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.3) 100%);pointer-events:none}.celebration-main-text{font-family:var(--bubbly-font-display, "Fredoka", "Baloo 2", sans-serif);font-weight:700;letter-spacing:4px;text-transform:uppercase;text-align:center}.celebration-sub-text{font-family:var(--bubbly-font, "Quicksand", sans-serif);font-size:24px;color:#ffffffe6;text-shadow:0 2px 4px rgba(0,0,0,.5);text-align:center}.celebration-strike{color:#e67332;text-shadow:0 0 20px rgba(255,107,107,.8),0 0 40px rgba(255,107,107,.4),0 4px 8px rgba(0,0,0,.3)}.celebration-spare{color:#4ecdc4;text-shadow:0 0 20px rgba(78,205,196,.6),0 0 40px rgba(78,205,196,.3),0 4px 8px rgba(0,0,0,.3)}.celebration-turkey{color:gold;text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,107,107,.5),0 4px 8px rgba(0,0,0,.3)}.celebration-gutter{color:#8a99a8;text-shadow:0 0 10px rgba(138,153,168,.4),0 4px 8px rgba(0,0,0,.3)}.celebration-high-score{color:gold;text-shadow:0 0 30px rgba(255,215,0,1),0 0 60px rgba(255,165,0,.6),0 4px 8px rgba(0,0,0,.3)}.sound-indicator{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;padding:8px 16px;background:#000000b3;border-radius:20px;color:#fff;font-size:14px;opacity:0;transform:translateY(20px);animation:sound-indicator-pop 1.5s ease-out forwards;pointer-events:none}@keyframes sound-indicator-pop{0%{opacity:0;transform:translateY(20px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.sound-indicator-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.sound-indicator-waves{display:flex;gap:2px}.sound-indicator-wave{width:3px;height:12px;background:#4ecdc4;border-radius:2px;animation:sound-wave .5s ease-in-out infinite}.sound-indicator-wave:nth-child(2){animation-delay:.1s;height:16px}.sound-indicator-wave:nth-child(3){animation-delay:.2s;height:10px}@keyframes sound-wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}@media(max-width:768px){.celebration-main-text{font-size:48px!important;letter-spacing:2px}.celebration-sub-text{font-size:18px}}@media(max-width:480px){.celebration-main-text{font-size:36px!important;letter-spacing:1px}.celebration-sub-text{font-size:14px}.sound-indicator{bottom:10px;right:10px;font-size:12px;padding:6px 12px}}@media(prefers-reduced-motion:reduce){.strike-text,.spare-text,.turkey-text,.gutter-text,.celebration-text-glow,.rainbow-text,.high-score-text,.confetti-piece,.firework-particle,.screen-shake,.screen-shake-heavy,.sound-indicator-wave{animation:none!important}}.bug-report-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:bug-report-fade-in .2s ease}@keyframes bug-report-fade-in{0%{opacity:0}to{opacity:1}}.bug-report-modal{width:100%;max-width:420px;max-height:90vh;overflow-y:auto;background:linear-gradient(165deg,#1e2332fa,#191e2dfc);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:1.5rem;box-shadow:0 8px 32px #0006,0 24px 80px #00000080,inset 0 1px #ffffff14;animation:bug-report-slide-up .3s ease}@keyframes bug-report-slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.bug-report-modal::-webkit-scrollbar{width:6px}.bug-report-modal::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.bug-report-modal::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.bug-report-header{position:relative;text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.bug-report-close{position:absolute;top:0;right:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#fff9;font-size:14px;cursor:pointer;transition:all .15s ease}.bug-report-close:hover{background:#ffffff26;color:#fff}.bug-report-close:active{transform:scale(.9)}.bug-report-icon{width:56px;height:56px;margin:0 auto .75rem;background:linear-gradient(135deg,#f9731633,#f973161a);border:2px solid rgba(249,115,22,.4);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 0 20px #f9731633}.bug-report-header h3{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 .35rem}.bug-report-header p{font-size:.9rem;color:#fff9;margin:0}.bug-report-section{margin-bottom:1.25rem}.bug-report-label{display:block;font-size:.85rem;font-weight:600;color:#fffc;margin-bottom:.75rem}.bug-report-categories{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.bug-report-category{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .15s ease}.bug-report-category:hover{background:linear-gradient(135deg,#ffffff14,#ffffff0a);border-color:#fff3}.bug-report-category.selected{background:linear-gradient(135deg,#f9731626,#f9731614);border-color:#f9731680;box-shadow:0 0 0 2px #f9731626}.bug-report-category:active{transform:scale(.98)}.bug-report-category-icon{font-size:1.25rem;line-height:1}.bug-report-category-label{font-size:.8rem;font-weight:600;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bug-report-category.selected .bug-report-category-label{color:#fff}.bug-report-textarea{width:100%;padding:.875rem 1rem;font-size:.95rem;font-family:inherit;line-height:1.5;background:linear-gradient(135deg,#ffffff0f,#ffffff08);border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;resize:vertical;min-height:100px;max-height:200px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.bug-report-textarea::placeholder{color:#ffffff59}.bug-report-textarea:focus{border-color:#f9731680;box-shadow:0 0 0 3px #f973161a}.bug-report-char-count{display:block;margin-top:.35rem;font-size:.75rem;color:#fff6;text-align:right}.bug-report-context{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border:1px dashed rgba(59,130,246,.3);border-radius:10px;margin-bottom:1.25rem}.bug-report-context-icon{font-size:1rem;flex-shrink:0}.bug-report-context span:last-child{font-size:.8rem;color:#ffffffb3;line-height:1.4}.bug-report-submit{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:700;font-family:inherit;background:linear-gradient(135deg,#f97316,#ea580c);border:none;border-radius:14px;color:#fff;cursor:pointer;box-shadow:0 4px #c2410c,0 8px 20px #f973164d;transition:all .15s ease}.bug-report-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #c2410c,0 12px 25px #f9731666}.bug-report-submit:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #c2410c,0 4px 10px #f9731633}.bug-report-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 4px #c2410c}.bug-report-submit.loading{background:linear-gradient(135deg,#f9731699,#ea580c99)}.bug-report-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:bug-report-spin .8s linear infinite}@keyframes bug-report-spin{to{transform:rotate(360deg)}}.bug-report-success{text-align:center;padding:2rem 1rem}.bug-report-success-icon{font-size:3rem;margin-bottom:1rem;animation:bug-report-bounce .6s ease}@keyframes bug-report-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.bug-report-success h3{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .5rem}.bug-report-success p{font-size:1rem;color:#ffffffb3;margin:0}.bug-report-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff9;font-size:16px;cursor:pointer;transition:all .15s ease}.bug-report-btn:hover{background:#ffffff1a;color:#fff;border-color:#fff3}.bug-report-btn:active{transform:scale(.92)}@media(orientation:landscape)and (max-height:500px){.bug-report-btn{width:32px;height:32px;font-size:14px;border-radius:8px}.bug-report-modal{max-height:95vh;padding:1rem}.bug-report-header{margin-bottom:1rem;padding-bottom:.75rem}.bug-report-icon{width:48px;height:48px;font-size:24px;margin-bottom:.5rem}.bug-report-header h3{font-size:1.1rem}.bug-report-categories{grid-template-columns:repeat(4,1fr);gap:.35rem}.bug-report-category{flex-direction:column;padding:.5rem;gap:.25rem}.bug-report-category-label{font-size:.65rem;text-align:center}.bug-report-textarea{min-height:60px;max-height:100px;font-size:.9rem;padding:.65rem .875rem}.bug-report-submit{padding:.75rem 1rem;font-size:.9rem}}@media(max-width:360px){.bug-report-modal{padding:1.25rem}.bug-report-category-label{font-size:.7rem}.bug-report-category-icon{font-size:1.1rem}}:root{--lobby-bg-dark: #0d1117;--lobby-bg-mid: #161b22;--lobby-accent-warm: #ff6b35;--lobby-accent-coral: #f7931e;--lobby-accent-glow: #ff8c42;--lobby-text: #e6edf3;--lobby-text-muted: #8b949e;--lobby-surface: rgba(255, 255, 255, .05);--lobby-border: rgba(255, 255, 255, .1)}.living-lobby{position:fixed;inset:0;width:100vw;height:100vh;overflow:hidden;font-family:var(--bubbly-font);background:radial-gradient(160% 110% at 20% 25%,rgba(90,196,255,.24),transparent 55%),radial-gradient(140% 110% at 78% 22%,rgba(110,227,195,.22),transparent 58%),radial-gradient(150% 110% at 42% 80%,rgba(162,123,255,.22),transparent 58%),radial-gradient(140% 100% at 70% 78%,rgba(255,214,140,.14),transparent 62%),radial-gradient(120% 90% at 12% 70%,rgba(255,255,255,.07),transparent 60%),linear-gradient(160deg,#060913,#0a1120 32%,#0b1a2e 68%,#080f1d);background-size:200% 200%;animation:ambient-shift 18s ease-in-out infinite}.living-lobby:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 90% 60% at 20% 30%,rgba(255,122,106,.22) 0%,transparent 62%),radial-gradient(ellipse 70% 55% at 75% 65%,rgba(80,200,255,.18) 0%,transparent 62%),radial-gradient(ellipse 60% 50% at 50% 50%,rgba(255,206,128,.1) 0%,transparent 68%);animation:menu-bg-pulse 10s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes ambient-shift{0%{background-position:0% 50%}25%{background-position:50% 60%}50%{background-position:100% 50%}75%{background-position:50% 40%}to{background-position:0% 50%}}@keyframes menu-bg-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.cursor-glow{position:fixed;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,rgba(255,140,66,.8) 0%,transparent 70%);pointer-events:none;z-index:9999;mix-blend-mode:screen}.cursor-glow:after{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(255,107,53,.4) 0%,transparent 70%);animation:cursor-pulse 1.5s ease-in-out infinite}@keyframes cursor-pulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.3);opacity:.15}}.ambient-effects{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}.aurora-container{position:absolute;inset:0;overflow:hidden}.aurora{position:absolute;width:200%;height:40%;left:-50%;filter:blur(120px);opacity:.3;mix-blend-mode:screen}.aurora-1{top:-15%;background:linear-gradient(180deg,transparent 0%,rgba(255,107,53,.25) 50%,transparent 100%);animation:aurora-1 25s ease-in-out infinite}.aurora-2{top:-10%;background:linear-gradient(180deg,transparent 0%,rgba(247,147,30,.2) 50%,transparent 100%);animation:aurora-2 30s ease-in-out infinite}.aurora-3{top:-20%;background:linear-gradient(180deg,transparent 0%,rgba(255,140,66,.18) 50%,transparent 100%);animation:aurora-3 22s ease-in-out infinite}@keyframes aurora-1{0%,to{transform:translate(-15%) scaleY(1)}50%{transform:translate(15%) scaleY(1.2)}}@keyframes aurora-2{0%,to{transform:translate(8%) scaleY(1.1)}50%{transform:translate(-12%) scaleY(.9)}}@keyframes aurora-3{0%,to{transform:translate(0) scaleY(1)}50%{transform:translate(-8%) scaleY(1.05)}}.particles-field{position:absolute;inset:0}.particle{position:absolute;background:#ff8c4299;border-radius:50%;box-shadow:0 0 6px #ff8c4266;animation:particle-drift var(--particle-duration) linear infinite;animation-delay:var(--particle-delay)}@keyframes particle-drift{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:var(--particle-opacity);transform:translateY(90vh) scale(1)}90%{opacity:var(--particle-opacity)}to{transform:translateY(-10vh) scale(.5);opacity:0}}.flying-particles-simple{position:absolute;inset:0}.flying-particle-dot{position:absolute;background:#ffc89680;border-radius:50%;animation:particle-float var(--particle-duration) ease-in-out infinite;animation-delay:var(--particle-delay);opacity:var(--particle-opacity)}@keyframes particle-float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-20px) translate(10px)}50%{transform:translateY(-10px) translate(-5px)}75%{transform:translateY(-30px) translate(15px)}}.flying-sparkle-simple{position:absolute;background:#fff9;border-radius:50%;opacity:0;animation:sparkle-simple var(--sparkle-duration) ease-in-out infinite;animation-delay:var(--sparkle-delay)}@keyframes sparkle-simple{0%,to{opacity:0;transform:scale(.5)}50%{opacity:.8;transform:scale(1)}}.geo-shapes{position:absolute;inset:0}.geo-shape{position:absolute;color:#ffffff14;animation:shape-rotate var(--shape-duration) linear infinite;animation-delay:var(--shape-delay)}@keyframes shape-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.light-rays{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.light-ray{position:absolute;width:2px;height:40vh;background:linear-gradient(to top,transparent,rgba(255,255,255,.05),transparent);transform-origin:bottom center;transform:rotate(var(--ray-angle));animation:ray-flicker 3s ease-in-out infinite;animation-delay:var(--ray-delay)}@keyframes ray-flicker{0%,to{opacity:.2}50%{opacity:.8}}.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,black,transparent);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,black,transparent);animation:grid-move 30s linear infinite}@keyframes grid-move{0%{background-position:0 0}to{background-position:80px 80px}}.scanlines{position:absolute;inset:0;background:repeating-linear-gradient(transparent 0px,transparent 1px,rgba(0,0,0,.02) 2px,rgba(0,0,0,.02) 3px);pointer-events:none}.vignette{position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 50%,transparent 20%,rgba(0,0,0,.5) 100%);pointer-events:none}.flying-elements{position:absolute;inset:0;overflow:hidden;z-index:2;pointer-events:none}.flying-icons{position:absolute;inset:0}.flying-icon{position:absolute;opacity:0;filter:drop-shadow(0 0 8px rgba(0,245,212,.6));animation:icon-float var(--fly-duration) ease-in-out infinite;animation-delay:var(--fly-delay);will-change:transform,opacity}@keyframes icon-float{0%{opacity:0;transform:translateY(0) translate(0) rotate(0) scale(.5)}10%{opacity:.7;transform:translateY(calc(-20px * var(--fly-dir-y))) translate(calc(15px * var(--fly-dir-x))) rotate(calc(15deg * var(--fly-rotate-dir))) scale(1)}30%{opacity:.5;transform:translateY(calc(var(--fly-drift) * -.3 * var(--fly-dir-y))) translate(calc(var(--fly-drift) * .4 * var(--fly-dir-x))) rotate(calc(90deg * var(--fly-rotate-dir))) scale(.95)}50%{opacity:.6;transform:translateY(calc(var(--fly-drift) * -.5 * var(--fly-dir-y))) translate(calc(var(--fly-drift) * .2 * var(--fly-dir-x))) rotate(calc(180deg * var(--fly-rotate-dir))) scale(.9)}70%{opacity:.5;transform:translateY(calc(var(--fly-drift) * -.7 * var(--fly-dir-y))) translate(calc(var(--fly-drift) * -.3 * var(--fly-dir-x))) rotate(calc(270deg * var(--fly-rotate-dir))) scale(.95)}90%{opacity:.4;transform:translateY(calc(var(--fly-drift) * -.9 * var(--fly-dir-y))) translate(calc(var(--fly-drift) * -.1 * var(--fly-dir-x))) rotate(calc(340deg * var(--fly-rotate-dir))) scale(.8)}to{opacity:0;transform:translateY(calc(var(--fly-drift) * -1 * var(--fly-dir-y))) translate(calc(var(--fly-drift) * .05 * var(--fly-dir-x))) rotate(calc(360deg * var(--fly-rotate-dir))) scale(.5)}}.flying-comets{position:absolute;inset:0}.flying-comet{position:absolute;left:-100px;width:var(--comet-size);height:2px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 20%,rgba(180,220,255,.6) 60%,rgba(255,255,255,.95) 100%);border-radius:2px;box-shadow:0 0 6px #b4dcffcc,0 0 12px #b4dcff66,0 0 20px #fff3;opacity:0;animation:comet-shoot var(--comet-duration) ease-in infinite;animation-delay:var(--comet-delay)}.flying-comet:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 10px #fff,0 0 20px #b4dcffcc}@keyframes comet-shoot{0%{left:-100px;opacity:0;transform:translateY(0) rotate(-15deg)}5%{opacity:1}to{left:120%;opacity:0;transform:translateY(150px) rotate(-15deg)}}.flying-sparkles{position:absolute;inset:0}.flying-sparkle{position:absolute;background:#fff;border-radius:50%;opacity:0;animation:sparkle-burst var(--sparkle-duration) ease-in-out infinite;animation-delay:var(--sparkle-delay);box-shadow:0 0 4px #fff,0 0 8px #00f5d4b3}.flying-sparkle:before,.flying-sparkle:after{content:"";position:absolute;background:#fff;border-radius:2px}.flying-sparkle:before{width:100%;height:2px;top:50%;left:0;transform:translateY(-50%)}.flying-sparkle:after{width:2px;height:100%;left:50%;top:0;transform:translate(-50%)}@keyframes sparkle-burst{0%,to{opacity:0;transform:scale(0) rotate(0)}20%{opacity:1;transform:scale(1.2) rotate(20deg)}40%{opacity:.8;transform:scale(.8) rotate(45deg)}60%{opacity:1;transform:scale(1) rotate(70deg)}80%{opacity:.6;transform:scale(1.1) rotate(85deg)}}.flying-bubbles{position:absolute;inset:0}.flying-bubble{position:absolute;bottom:-50px;border-radius:50%;background:radial-gradient(ellipse 30% 30% at 30% 30%,#fff6,#00f5d426,#9b5de526);border:1px solid rgba(0,245,212,.25);opacity:0;animation:bubble-rise var(--bubble-duration) ease-in-out infinite;animation-delay:var(--bubble-delay)}.flying-bubble:before{content:"";position:absolute;top:15%;left:20%;width:30%;height:20%;background:#ffffff80;border-radius:50%;filter:blur(2px)}@keyframes bubble-rise{0%{bottom:-50px;opacity:0;transform:translate(0) scale(.5)}10%{opacity:.6;transform:translate(calc(var(--bubble-wobble) * .3)) scale(1)}30%{transform:translate(calc(var(--bubble-wobble) * -.5)) scale(1.05)}50%{opacity:.5;transform:translate(calc(var(--bubble-wobble) * .7)) scale(.95)}70%{transform:translate(calc(var(--bubble-wobble) * -.3)) scale(1)}90%{opacity:.4;transform:translate(calc(var(--bubble-wobble) * .2)) scale(.9)}to{bottom:110%;opacity:0;transform:translate(0) scale(.7)}}.interactive-background{position:absolute;inset:0;z-index:0;--mouse-x: .5;--mouse-y: .5}.gradient-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.6;mix-blend-mode:screen;transition:transform .5s ease-out}.gradient-orb-1{width:50vw;height:50vw;background:radial-gradient(circle,rgba(255,107,53,.2) 0%,transparent 70%);top:-25%;left:-15%;transform:translate(calc((var(--mouse-x) - .5) * 40px),calc((var(--mouse-y) - .5) * 40px));animation:orb-float-1 35s ease-in-out infinite}.gradient-orb-2{width:45vw;height:45vw;background:radial-gradient(circle,rgba(247,147,30,.15) 0%,transparent 70%);bottom:-20%;right:-10%;transform:translate(calc((var(--mouse-x) - .5) * -35px),calc((var(--mouse-y) - .5) * -35px));animation:orb-float-2 30s ease-in-out infinite}.gradient-orb-3{width:35vw;height:35vw;background:radial-gradient(circle,rgba(255,200,150,.12) 0%,transparent 70%);top:25%;right:5%;transform:translate(calc((var(--mouse-x) - .5) * 50px),calc((var(--mouse-y) - .5) * 50px));animation:orb-float-3 25s ease-in-out infinite}.gradient-orb-4{width:30vw;height:30vw;background:radial-gradient(circle,rgba(255,140,66,.18) 0%,transparent 70%);bottom:25%;left:8%;transform:translate(calc((var(--mouse-x) - .5) * -45px),calc((var(--mouse-y) - .5) * 45px));animation:orb-float-4 32s ease-in-out infinite}@keyframes orb-float-1{0%,to{margin:0}50%{margin-top:5vh;margin-left:3vw}}@keyframes orb-float-2{0%,to{margin:0}50%{margin-bottom:4vh;margin-right:-5vw}}@keyframes orb-float-3{0%,to{margin:0}50%{margin-top:-6vh}}@keyframes orb-float-4{0%,to{margin:0}50%{margin-left:4vw}}.gradient-mesh{position:absolute;inset:0;background:radial-gradient(ellipse 50% 40% at calc(var(--mouse-x) * 100%) calc(var(--mouse-y) * 100%),rgba(255,255,255,.04) 0%,transparent 50%);pointer-events:none}.noise-overlay{position:absolute;inset:0;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");pointer-events:none}.portal-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1px;width:100%;max-width:600px;animation:portal-entrance .4s cubic-bezier(.16,1,.3,1) forwards;opacity:0}@keyframes portal-entrance{0%{opacity:0;transform:translate(-50%,-48%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.portal-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;text-align:center;animation:float-gentle 6s ease-in-out infinite;position:relative}@keyframes float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.portal-logo-img{width:180px;height:auto;filter:drop-shadow(0 0 30px rgba(0,245,212,.7));margin-bottom:-35px;position:relative;z-index:2;animation:logo-bounce 3s ease-in-out infinite}@keyframes logo-bounce{0%,to{transform:translateY(0) rotate(0);filter:drop-shadow(0 0 30px rgba(0,245,212,.7))}50%{transform:translateY(-10px) rotate(3deg);filter:drop-shadow(0 0 45px rgba(241,91,181,.8))}}.portal-title{font-family:var(--bubbly-font-display);font-size:88px;font-weight:700;letter-spacing:3px;text-align:center;margin:0;background:linear-gradient(135deg,#fff,#ffd4b8 40%,#ff8c42,#ff6b35);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1;animation:title-gradient-flow 8s ease-in-out infinite alternate;filter:drop-shadow(0 0 30px rgba(255,107,53,.4))}.portal-title:before{content:"Movecade";position:absolute;inset:0;background:linear-gradient(135deg,#fff,#ff8c42,#ff6b35);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:blur(25px);opacity:.5;animation:title-gradient-flow 8s ease-in-out infinite alternate;z-index:-1}@keyframes title-gradient-flow{0%{background-position:0% 50%}to{background-position:100% 50%}}.portal-tagline{font-family:var(--bubbly-font);font-size:18px;font-weight:600;color:#fffc;text-align:center;line-height:1.7;max-width:400px;letter-spacing:.3px;text-shadow:0 2px 10px rgba(0,0,0,.3)}.arcade-button{position:relative;padding:24px 56px;border:none;border-radius:100px;background:transparent;cursor:pointer;outline:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1);animation:button-entrance .35s cubic-bezier(.16,1,.3,1) .1s forwards;opacity:0;transform:translateY(15px)}@keyframes button-entrance{0%{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.arcade-button:hover{transform:translateY(-6px) scale(1.05)}.arcade-button:active,.arcade-button.pressed{transform:translateY(2px) scale(.97)}.arcade-button-bg{position:absolute;inset:0;border-radius:100px;background:linear-gradient(135deg,#ff6b35,#f7931e,#ff8c42);box-shadow:0 8px 32px #ff6b3566,0 0 50px #f7931e33,inset 0 2px #ffffff40,inset 0 -3px #00000026;transition:all .3s ease}.arcade-button:hover .arcade-button-bg{background:linear-gradient(135deg,#ff7e47,#fa3,#ffa050);box-shadow:0 16px 60px #ff6b3580,0 0 80px #f7931e4d,inset 0 2px #ffffff4d,inset 0 -3px #0000001a}.arcade-button.pressed .arcade-button-bg{box-shadow:0 4px 16px #ff6b3559,inset 0 4px 8px #0003}.arcade-button-glow{position:absolute;inset:-8px;border-radius:100px;background:linear-gradient(135deg,#ff6b3580,#ffc89666);filter:blur(20px);opacity:.4;z-index:-1;animation:glow-pulse 3s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.arcade-button:hover .arcade-button-glow{opacity:.8;animation:glow-pulse-fast 1.2s ease-in-out infinite}@keyframes glow-pulse-fast{0%,to{opacity:.7;transform:scale(1.02)}50%{opacity:.9;transform:scale(1.08)}}.arcade-button-particles{position:absolute;inset:0;pointer-events:none;overflow:visible}.button-particle{position:absolute;width:6px;height:6px;background:#fff;border-radius:50%;opacity:0;filter:blur(1px)}.arcade-button:hover .button-particle{animation:particle-burst 1.5s ease-out infinite;animation-delay:calc(var(--i) * .15s)}@keyframes particle-burst{0%{opacity:0;transform:translate(0) scale(1)}20%{opacity:1}to{opacity:0;transform:translate(calc((var(--i) - 2.5) * 40px),calc(-60px - (var(--i) * 10px))) scale(0)}}.arcade-button-shine{position:absolute;top:0;left:0;right:0;height:50%;border-radius:100px 100px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.25) 0%,transparent 100%);pointer-events:none}.arcade-button-content{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.arcade-button-icon-svg{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:transform .3s ease}.arcade-button:hover .arcade-button-icon-svg{transform:translate(4px) scale(1.1)}.arcade-button-text{font-family:var(--bubbly-font-display);font-size:24px;font-weight:600;color:#fff;letter-spacing:1.5px;text-shadow:0 2px 8px rgba(0,0,0,.3),0 0 20px rgba(255,255,255,.2)}.arcade-button-reflection{position:absolute;bottom:-24px;left:15%;right:15%;height:16px;background:linear-gradient(180deg,rgba(155,93,229,.4) 0%,transparent 100%);filter:blur(12px);border-radius:50%;opacity:.6;pointer-events:none}.how-it-works{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px;padding:0;animation:how-container-entrance .5s cubic-bezier(.16,1,.3,1) .2s forwards;opacity:0}@keyframes how-container-entrance{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.how-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 18px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease;animation:step-entrance .4s ease forwards;animation-delay:calc(var(--step-delay, 0) * .08s + .25s);opacity:0;transform:translateY(10px);min-width:110px}@keyframes step-entrance{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.how-step:before{display:none}.how-step:hover{transform:translateY(-3px);background:#ffffff0f;border-color:#ff8c4233;box-shadow:0 8px 24px #0003}.how-step-glow{display:none}.how-step-number{position:absolute;top:6px;right:8px;font-family:var(--bubbly-font);font-size:10px;font-weight:700;color:#ff8c4280;letter-spacing:.3px}.how-step-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ff8c421a;border-radius:10px;border:1px solid rgba(255,140,66,.15);transition:all .3s ease}.how-step-icon svg{width:20px;height:20px;color:#ff8c42e6;transition:transform .3s ease}.how-step:hover .how-step-icon{background:#ff8c4226;border-color:#ff8c4240}.how-step:hover .how-step-icon svg{transform:scale(1.05)}.how-step-content{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.how-step-title{font-family:var(--bubbly-font);font-size:13px;font-weight:600;color:#ffffffe6;letter-spacing:.2px}.how-step-desc{font-family:var(--bubbly-font);font-size:10px;font-weight:500;color:#ffffff73;letter-spacing:.1px}.how-connector{display:flex;align-items:center;animation:connector-entrance .3s ease forwards;animation-delay:.35s;opacity:0}@keyframes connector-entrance{0%{opacity:0}to{opacity:1}}.how-connector svg{width:24px;height:16px;color:#ff8c424d;animation:connector-pulse 2.5s ease-in-out infinite}@keyframes connector-pulse{0%,to{opacity:.3;transform:translate(0)}50%{opacity:.5;transform:translate(2px)}}.hint-arrow{font-size:20px;animation:arrow-pulse 1s ease-in-out infinite}@keyframes arrow-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.floating-orbs{position:absolute;inset:0;z-index:5;pointer-events:none}.floating-orb{position:absolute;pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 22px;border-radius:16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;transition:all .3s ease;animation:orb-entrance .4s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--entrance-delay, .2s);opacity:0;transform:translateY(12px);box-shadow:0 4px 24px #00000026}@keyframes orb-entrance{0%{opacity:0;transform:translateY(15px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.float-1{animation:orb-entrance .4s cubic-bezier(.16,1,.3,1) forwards,float-drift-1 20s ease-in-out infinite;animation-delay:var(--entrance-delay, .2s),0s}.float-2{animation:orb-entrance .4s cubic-bezier(.16,1,.3,1) forwards,float-drift-2 18s ease-in-out infinite;animation-delay:var(--entrance-delay, .2s),0s}.float-3{animation:orb-entrance .4s cubic-bezier(.16,1,.3,1) forwards,float-drift-3 22s ease-in-out infinite;animation-delay:var(--entrance-delay, .2s),0s}@keyframes float-drift-1{0%,to{transform:translate(0)}50%{transform:translate(8px,-10px)}}@keyframes float-drift-2{0%,to{transform:translate(0)}50%{transform:translate(-6px,8px)}}@keyframes float-drift-3{0%,to{transform:translate(0)}50%{transform:translate(-8px,-6px)}}.floating-orb:hover{transform:scale(1.05) translateY(-3px)!important;background:#ffffff0f;border-color:#ff8c4233;box-shadow:0 8px 32px #00000040,0 0 24px var(--orb-glow, rgba(255, 140, 66, .2))}.floating-orb-glow{position:absolute;inset:-2px;border-radius:26px;background:var(--orb-glow, rgba(255,100,150,.25));filter:blur(15px);opacity:0;transition:opacity .3s ease;z-index:-1}.floating-orb:hover .floating-orb-glow{opacity:1}.floating-orb-icon{font-size:36px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));transition:transform .3s ease}.floating-orb:hover .floating-orb-icon{transform:scale(1.2) rotate(-8deg)}.floating-orb-label{font-family:var(--bubbly-font-accent);font-size:15px;font-weight:600;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3)}.floating-orb[data-orb=howItWorks]{--orb-glow: rgba(255, 140, 66, .4)}.floating-orb[data-orb=leaderboard]{--orb-glow: rgba(255, 200, 100, .4)}.floating-orb[data-orb=about]{--orb-glow: rgba(255, 180, 120, .4)}.game-grid-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#05050fe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:overlay-fade-in .2s ease forwards}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.game-grid-container{max-width:900px;width:90%;max-height:85vh;overflow-y:auto;padding:40px;animation:modal-slide-up .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.game-grid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.game-grid-title{font-family:var(--bubbly-font-display);font-size:42px;color:#fff;text-shadow:0 0 30px rgba(255,100,150,.4)}.game-grid-close{width:50px;height:50px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;font-size:32px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.game-grid-close:hover{background:#ff50784d;transform:rotate(90deg)}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.game-grid-card{position:relative;border:none;border-radius:24px;background:linear-gradient(135deg,#ffffff1a,#ffffff08);border:1px solid rgba(255,255,255,.1);padding:32px;text-align:left;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);animation:card-pop-in .3s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--stagger) * .05s);opacity:0;transform:translateY(10px)}@keyframes card-pop-in{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.game-grid-card:hover{transform:translateY(-10px) scale(1.03);border-color:#ffffff40}.game-grid-card.available:hover{box-shadow:0 25px 60px #0006,0 0 50px #50dcc84d}.game-grid-card.coming-soon{opacity:.6;cursor:not-allowed}.game-grid-card-glow{position:absolute;inset:-2px;border-radius:26px;background:linear-gradient(135deg,#50dcc84d,#6496ff33);filter:blur(20px);opacity:0;transition:opacity .3s ease;z-index:-1}.game-grid-card:hover .game-grid-card-glow{opacity:1}.game-grid-card-content{position:relative;z-index:1}.game-grid-card-icon{font-size:56px;display:block;margin-bottom:16px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));transition:transform .3s ease}.game-grid-card:hover .game-grid-card-icon{transform:scale(1.15) rotate(-5deg)}.game-grid-card-name{font-family:var(--bubbly-font-display);font-size:24px;color:#fff;margin:0 0 8px}.game-grid-card-desc{font-size:14px;color:#fff9;margin:0 0 20px;line-height:1.6}.game-grid-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.game-grid-card-players{font-size:13px;color:#ffffff80}.game-grid-card-status{font-size:11px;font-weight:700;padding:6px 14px;border-radius:100px;letter-spacing:1px}.game-grid-card-status.live{background:#50dc9633;color:#6ee7a0;border:1px solid rgba(80,220,150,.4)}.game-grid-card-status.soon{background:#ffb46426;color:#ffc896b3;border:1px solid rgba(255,180,100,.3)}.alpha-banner{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 24px;background:#ff6b3514;border-bottom:1px solid rgba(255,107,53,.15);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;animation:banner-slide .6s cubic-bezier(.16,1,.3,1) forwards;opacity:0}@keyframes banner-slide{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.alpha-icon{font-size:18px;flex-shrink:0}.alpha-text{font-family:var(--bubbly-font);font-size:13px;font-weight:500;color:#ffc8aae6;text-align:center;line-height:1.4}.gs-screen{cursor:none}.gs-back{position:absolute;top:24px;left:24px;z-index:20;display:flex;align-items:center;gap:10px;padding:12px 20px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:100px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ffffffe6;font-family:var(--bubbly-font);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.gs-back:hover{background:#ffffff26;transform:translate(-4px)}.gs-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:80px 24px 40px;gap:32px}.gs-header{text-align:center}.gs-title{display:flex;flex-direction:column;gap:4px;margin:0 0 16px}.gs-title-small{font-family:var(--bubbly-font);font-size:18px;font-weight:500;color:#fff9;letter-spacing:2px;text-transform:uppercase}.gs-title-big{font-family:var(--bubbly-font-display);font-size:52px;color:#fff;text-shadow:0 0 30px rgba(255,107,53,.4)}.gs-subtitle{font-family:var(--bubbly-font);font-size:16px;color:#ffffff80;margin:0}.gs-grid{display:grid;grid-template-columns:repeat(3,300px);gap:24px;justify-content:center;max-width:980px}.gs-card-video{position:relative;display:flex;flex-direction:column;padding:0;border:none;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);cursor:pointer;overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1);animation:gs-card-in .3s cubic-bezier(.16,1,.3,1) both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes gs-card-in{0%{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.gs-card-video:hover{transform:translateY(-8px) scale(1.02);border-color:#fff3;box-shadow:0 20px 50px #0006,0 0 40px var(--card-glow)}.gs-card-video.coming-soon{cursor:not-allowed;opacity:.7}.gs-card-video.coming-soon:hover{transform:none;box-shadow:none}.gs-card-preview{position:relative;width:100%;aspect-ratio:16 / 9;background:linear-gradient(135deg,#141423e6,#0a0a14f2);overflow:hidden}.gs-card-preview-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 50%,rgba(0,0,0,.6) 100%);z-index:2;pointer-events:none}.gs-card-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease,transform .4s ease}.gs-card-video-el{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.gs-card-video:hover .gs-card-video-el{opacity:1}.gs-card-video:hover .gs-card-poster{opacity:0;transform:scale(1.05)}.gs-card-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--card-gradient);opacity:.15}.gs-card-placeholder-emoji{font-size:48px;filter:grayscale(.3)}.gs-card-placeholder-text{font-family:var(--bubbly-font);font-size:12px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:1px}.gs-card-play-indicator{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3;opacity:0;transition:opacity .3s ease}.gs-card-play-indicator svg{filter:drop-shadow(0 4px 20px rgba(0,0,0,.5));transform:scale(.8);transition:transform .3s ease}.gs-card-video:hover .gs-card-play-indicator{opacity:1}.gs-card-video:hover .gs-card-play-indicator svg{transform:scale(1)}.gs-card-soon-badge{position:absolute;top:12px;right:12px;z-index:5;padding:6px 14px;background:#0009;border:1px solid rgba(255,180,100,.4);border-radius:100px;font-family:var(--bubbly-font);font-size:11px;font-weight:700;color:#fbbf77;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gs-card-trailer-badge{position:absolute;bottom:12px;left:12px;z-index:5;display:flex;align-items:center;gap:5px;padding:5px 10px;background:#ff6b35e6;border-radius:6px;font-family:var(--bubbly-font);font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000004d}.gs-card-trailer-badge svg{animation:trailer-pulse 1.5s ease-in-out infinite}@keyframes trailer-pulse{0%,to{opacity:1}50%{opacity:.6}}.gs-card-info{display:flex;flex-direction:column;padding:16px 18px 18px;gap:8px}.gs-card-info-header{display:flex;align-items:center;gap:10px}.gs-card-emoji-small{font-size:22px}.gs-card-title{font-family:var(--bubbly-font-display);font-size:20px;font-weight:600;color:#fff;margin:0}.gs-card-tagline{font-family:var(--bubbly-font);font-size:13px;color:#ffffff8c;margin:0;line-height:1.4;text-align:left}.gs-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.gs-card-features{display:flex;flex-wrap:wrap;gap:6px}.gs-card-chip{padding:4px 10px;background:#ffffff14;border-radius:100px;font-family:var(--bubbly-font);font-size:10px;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.3px}.gs-card-cta{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:12px 20px;background:linear-gradient(135deg,#ff6b35,#f7931e);border-radius:12px;color:#fff;font-family:var(--bubbly-font);font-size:14px;font-weight:700;box-shadow:0 4px 16px #ff6b3559;transition:all .3s ease}.gs-card-video:hover .gs-card-cta{transform:scale(1.02);background:linear-gradient(135deg,#ff7e47,#fa3);box-shadow:0 6px 24px #ff6b3573}.gs-tip{display:flex;align-items:center;gap:14px;padding:16px 24px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:500px}.gs-tip svg{flex-shrink:0;color:#74b9ff}.gs-tip p{margin:0;font-family:var(--bubbly-font);font-size:13px;color:#fff9}.gs-tip strong{color:#ffffffe6}@media(max-width:1000px){.gs-grid{grid-template-columns:repeat(2,280px);max-width:600px}}@media(max-width:650px){.gs-grid{grid-template-columns:repeat(2,1fr);max-width:400px;gap:16px}.gs-card-title{font-size:16px}.gs-card-tagline{font-size:11px}}@media(max-width:450px){.gs-grid{grid-template-columns:1fr;max-width:300px}.gs-title-big{font-size:36px}.gs-back{top:16px;left:16px;padding:10px 16px}.gs-tip{flex-direction:column;text-align:center}.gs-card-info{padding:14px 16px}.gs-card-cta{padding:10px 16px;font-size:13px}}.page-transitioning .living-lobby{animation:page-exit .15s ease-out forwards}@keyframes page-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}.page-enter{animation:page-enter .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes page-enter{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.slide-in-right{animation:slide-in-right .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.fade-up-enter{animation:fade-up-enter .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes fade-up-enter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.portal-title{font-size:60px;letter-spacing:2px}.portal-logo-img{width:150px;margin-bottom:-28px}.portal-tagline{font-size:16px}.arcade-button{padding:20px 44px}.arcade-button-text{font-size:18px}.floating-orb-icon{font-size:28px}.floating-orb{padding:18px 22px}.game-grid-title{font-size:32px}.how-it-works{gap:8px}.how-step{min-width:120px;padding:16px 18px 14px}.how-step-icon{width:40px;height:40px}.how-step-icon svg{width:20px;height:20px}.how-connector svg{width:24px}.how-step-title{font-size:13px}.how-step-desc{font-size:10px}}@media(max-width:480px){.portal-header{flex-direction:column;gap:0}.portal-title{font-size:48px;letter-spacing:1px}.portal-logo-img{width:120px;margin-bottom:-22px}.portal-tagline{font-size:14px;max-width:280px;line-height:1.6}.arcade-button{padding:18px 36px}.arcade-button-text{font-size:16px;letter-spacing:.5px}.arcade-button-icon-svg{width:22px;height:22px}.floating-orbs{position:fixed;inset:auto 0 24px;display:flex;justify-content:center;gap:12px;padding:0 16px}.floating-orb{position:relative!important;inset:auto!important;padding:14px 18px}.floating-orb-icon{font-size:24px}.floating-orb-label{font-size:11px}.float-1,.float-2,.float-3{animation:orb-entrance .4s cubic-bezier(.16,1,.3,1) forwards!important}.alpha-banner{padding:10px 16px;gap:8px}.alpha-icon{font-size:16px}.alpha-text{font-size:12px}.how-it-works{flex-direction:column;gap:10px;margin-top:16px}.how-step{flex-direction:row;min-width:unset;width:100%;max-width:280px;padding:14px 18px;gap:12px}.how-step-icon{width:38px;height:38px;flex-shrink:0}.how-step-icon svg{width:18px;height:18px}.how-step-content{align-items:flex-start;text-align:left}.how-step-number{top:6px;right:8px}.how-connector{display:none}.how-step-title{font-size:13px}.how-step-desc{font-size:10px}.game-grid-container{padding:24px}.game-grid-title{font-size:28px}.game-grid-card{padding:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hiw-modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:#0d1117f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.hiw-modal-overlay.hiw-visible{opacity:1;visibility:visible}.hiw-modal{position:relative;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;padding:40px;background:linear-gradient(165deg,#1e232df2,#161b22fa);border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:0 24px 80px #00000080,0 0 60px #ff6b351a;transform:translateY(20px) scale(.96);animation:hiw-modal-in .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes hiw-modal-in{to{transform:translateY(0) scale(1)}}.hiw-close{position:absolute;top:20px;right:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#fff9;cursor:pointer;transition:all .2s ease}.hiw-close:hover{background:#ff6b3526;border-color:#ff6b354d;color:#ff8c42}.hiw-header{text-align:center;margin-bottom:36px}.hiw-badge{display:inline-block;padding:6px 14px;background:#ff6b351f;border:1px solid rgba(255,107,53,.2);border-radius:100px;font-family:var(--bubbly-font);font-size:12px;font-weight:600;color:#ff8c42;letter-spacing:.5px;text-transform:uppercase;margin-bottom:16px}.hiw-title{font-family:var(--bubbly-font-display);font-size:32px;font-weight:700;color:#fff;margin:0 0 10px}.hiw-subtitle{font-family:var(--bubbly-font);font-size:15px;color:#ffffff80;margin:0}.hiw-steps{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.hiw-step{display:flex;gap:16px;padding:18px 20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;transition:all .2s ease;animation:hiw-step-in .4s ease forwards;animation-delay:calc(var(--step-index) * .08s + .15s);opacity:0;transform:translate(-10px)}@keyframes hiw-step-in{to{opacity:1;transform:translate(0)}}.hiw-step:hover{background:#ffffff0d;border-color:#ff8c4226}.hiw-step-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ff8c421a;border:1px solid rgba(255,140,66,.15);border-radius:12px}.hiw-step-icon svg{width:24px;height:24px;color:#ff8c42}.hiw-step-content{flex:1}.hiw-step-number{display:block;font-family:var(--bubbly-font);font-size:11px;font-weight:700;color:#ff8c4299;letter-spacing:.5px;margin-bottom:4px}.hiw-step-title{font-family:var(--bubbly-font);font-size:16px;font-weight:600;color:#fff;margin:0 0 6px}.hiw-step-desc{font-family:var(--bubbly-font);font-size:13px;color:#ffffff8c;line-height:1.5;margin:0}.hiw-features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:28px}.hiw-feature{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px}.hiw-feature-icon{font-size:22px}.hiw-feature-text{display:flex;flex-direction:column;gap:2px}.hiw-feature-text strong{font-family:var(--bubbly-font);font-size:13px;font-weight:600;color:#fff}.hiw-feature-text span{font-family:var(--bubbly-font);font-size:11px;color:#ffffff80}.hiw-cta{width:100%;padding:16px 24px;background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:12px;font-family:var(--bubbly-font);font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 20px #ff6b354d}.hiw-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px #ff6b3566}@media(max-width:600px){.hiw-modal{padding:28px 20px;border-radius:20px}.hiw-title{font-size:26px}.hiw-features{grid-template-columns:1fr}.hiw-step{flex-direction:column;align-items:flex-start;gap:12px}}.stacker-ui-overlay{position:fixed;inset:0;pointer-events:none;z-index:100;font-family:var(--bubbly-font, "Quicksand", system-ui, sans-serif)}.stacker-ui-overlay>*{pointer-events:auto}.stacker-ui-top-right{position:absolute;top:20px;right:20px}.stacker-scoreboard{background:#0d1b2ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:16px;min-width:200px;border:1px solid rgba(255,255,255,.1)}.stacker-scoreboard h3{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:2px;color:#ffffffb3}.score-list{display:flex;flex-direction:column;gap:8px}.score-item{display:grid;grid-template-columns:24px 1fr auto auto;align-items:center;gap:12px;padding:8px 12px;background:#ffffff0d;border-radius:8px;border-left:3px solid;transition:all .3s ease}.score-item.fallen{opacity:.5}.score-rank{font-size:14px;font-weight:700;color:#ffffff80}.score-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-blocks{font-size:12px;color:#ffffff80}.score-value{font-size:18px;font-weight:700;color:#4ecdc4;min-width:48px;text-align:right}.stacker-ui-top-center{position:absolute;top:20px;left:50%;transform:translate(-50%)}.stacker-timer{display:flex;flex-direction:column;align-items:center;gap:8px;background:#0d1b2ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:16px 32px;border:1px solid rgba(255,255,255,.1)}.timer-time{font-size:48px;font-weight:700;font-family:var(--bubbly-font-mono, "SF Mono", monospace);color:#fff;text-shadow:0 0 20px rgba(78,205,196,.5)}.timer-phase{padding:4px 16px;border-radius:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#0d1b2a}.stacker-countdown-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0d1b2acc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.countdown-number{font-size:200px;font-weight:700;color:#4ecdc4;text-shadow:0 0 60px rgba(78,205,196,.5);animation:countdown-pop 1s ease-out}@keyframes countdown-pop{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:.8}}.countdown-text{font-size:24px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:4px}.stacker-gameover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0d1b2af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .5s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.gameover-content{display:flex;flex-direction:column;align-items:center;gap:32px;padding:48px;max-width:500px;text-align:center}.gameover-content h2{font-size:48px;font-weight:700;margin:0;background:linear-gradient(135deg,#4ecdc4,#ffe66d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.winner-announcement{display:flex;flex-direction:column;gap:8px;padding:24px 48px;background:#ffffff0d;border-radius:16px;border:2px solid rgba(255,255,255,.2)}.winner-label{font-size:12px;text-transform:uppercase;letter-spacing:3px;color:#ffffff80}.winner-name{font-size:36px;font-weight:700}.winner-score{font-size:24px;color:#4ecdc4}.final-rankings{display:flex;flex-direction:column;gap:8px;width:100%}.ranking-item{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:16px;padding:12px 16px;background:#ffffff0d;border-radius:8px;border-left:3px solid}.ranking-item.first{background:#ffd7001a}.ranking-position{font-size:18px}.ranking-name{font-size:16px;font-weight:600;text-align:left}.ranking-score{font-size:18px;font-weight:700;color:#4ecdc4}.gameover-buttons{display:flex;gap:16px}.play-again-btn,.back-menu-btn{padding:16px 32px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease}.play-again-btn{background:linear-gradient(135deg,#4ecdc4,#45b7aa);color:#0d1b2a}.play-again-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4ecdc44d}.back-menu-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.back-menu-btn:hover{background:#fff3}.stacker-waiting-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0d1b2af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stacker-waiting-overlay .waiting-content{display:flex;flex-direction:column;align-items:center;gap:24px;padding:48px;max-width:500px;text-align:center}.stacker-waiting-overlay h2{font-size:36px;font-weight:700;margin:0}.stacker-waiting-overlay>.waiting-content>p{font-size:16px;color:#ffffffb3;margin:0}.waiting-players{width:100%}.waiting-players h4{font-size:14px;text-transform:uppercase;letter-spacing:2px;color:#ffffff80;margin:0 0 12px}.player-list{display:flex;flex-direction:column;gap:8px}.waiting-player{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0d;border-radius:8px;border-left:3px solid;transition:all .3s ease}.waiting-player.ready{background:#4ecdc41a}.player-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%;font-size:12px;font-weight:700}.waiting-player .player-name{text-align:left;font-weight:600}.player-status{font-size:12px;color:#ffffff80}.waiting-player.ready .player-status{color:#4ecdc4}.start-game-btn{padding:20px 48px;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:2px;border:none;border-radius:16px;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#4ecdc4,#45b7aa);color:#0d1b2a}.start-game-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px #4ecdc466}.start-game-btn:disabled{opacity:.5;cursor:not-allowed;background:#ffffff1a;color:#ffffff80}.stacker-mobile-controller{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#0d1b2a,#1a1a2e);color:#fff;padding:16px;box-sizing:border-box;font-family:var(--bubbly-font, "Quicksand", system-ui, sans-serif)}.stacker-mobile-controller.waiting{justify-content:center;align-items:center;text-align:center}.waiting-content{display:flex;flex-direction:column;align-items:center;gap:16px}.waiting-icon{font-size:64px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.waiting-content h2{font-size:28px;font-weight:700;margin:0;background:linear-gradient(135deg,#4ecdc4,#ffe66d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.waiting-content p{font-size:16px;color:#ffffffb3;margin:0;max-width:280px}.waiting-status{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff1a;border-radius:20px;font-size:14px}.waiting-hint{font-size:14px;color:#ffffff80;font-style:italic}.stacker-mobile-controller.countdown{justify-content:center;align-items:center}.countdown-content h2{font-size:36px;font-weight:700;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.stacker-mobile-controller.ended{justify-content:center;align-items:center;text-align:center}.ended-content{display:flex;flex-direction:column;align-items:center;gap:24px}.ended-content h2{font-size:32px;font-weight:700;margin:0}.final-score{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 48px;background:linear-gradient(135deg,#4ecdc433,#ffe66d33);border-radius:16px;border:2px solid rgba(255,255,255,.2)}.final-score .score-label{font-size:14px;text-transform:uppercase;letter-spacing:2px;color:#ffffffb3}.final-score .score-value{font-size:64px;font-weight:700;background:linear-gradient(135deg,#4ecdc4,#ffe66d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stacker-mobile-controller.playing{gap:16px}.stacker-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.player-info{display:flex;flex-direction:column;gap:4px}.player-name{font-size:18px;font-weight:600}.connection-status{display:flex;align-items:center;gap:4px;font-size:12px;color:#ffffff80}.connection-status.connected{color:#4ecdc4}.recalibrate-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1a;border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .2s ease}.recalibrate-btn:active{transform:scale(.95);background:#fff3}.recalibrate-btn:disabled{opacity:.5}.stacker-game-info{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.info-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.info-item.phase{border-width:2px}.info-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#ffffff80}.info-value{font-size:20px;font-weight:700}.info-item.score .info-value{color:#4ecdc4}.info-item.time .info-value{font-family:var(--bubbly-font-mono, "SF Mono", monospace)}.tilt-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.stacker-tilt-visualizer{display:flex;flex-direction:column;align-items:center;gap:16px}.tilt-outer-ring{position:relative;width:180px;height:180px;border-radius:50%;background:#ffffff0d;border:3px solid rgba(255,255,255,.2)}.tilt-warning-ring{position:absolute;inset:20px;border-radius:50%;border:2px dashed rgba(255,230,109,.3)}.tilt-safe-zone{position:absolute;top:50%;left:50%;width:60px;height:60px;transform:translate(-50%,-50%);border-radius:50%;background:#4ecdc41a;border:2px solid rgba(78,205,196,.3)}.tilt-center{position:absolute;top:50%;left:50%;width:8px;height:8px;transform:translate(-50%,-50%);border-radius:50%;background:#ffffff80}.tilt-indicator{position:absolute;top:50%;left:50%;width:24px;height:24px;margin-left:-12px;margin-top:-12px;border-radius:50%;background:linear-gradient(135deg,#4ecdc4,#45b7aa);box-shadow:0 0 20px #4ecdc480;transition:transform .1s ease-out}.stacker-tilt-visualizer.warning .tilt-indicator{background:linear-gradient(135deg,#ffe66d,#fc0);box-shadow:0 0 20px #ffe66d80}.stacker-tilt-visualizer.danger .tilt-indicator{background:linear-gradient(135deg,#e67332,#f44);box-shadow:0 0 20px #ff6b6b80;animation:shake .3s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px,2px)}75%{transform:translate(2px,-2px)}}.tilt-label{font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#ffffffb3}.stacker-tilt-visualizer.warning .tilt-label{color:#ffe66d}.stacker-tilt-visualizer.danger .tilt-label{color:#e67332;animation:blink .5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.position-section{padding:16px 0}.stacker-position-slider{display:flex;flex-direction:column;gap:8px}.slider-track{position:relative;height:12px;background:#ffffff1a;border-radius:6px;overflow:visible}.slider-indicator{position:absolute;top:50%;width:24px;height:24px;margin-left:-12px;margin-top:-12px;border-radius:50%;background:linear-gradient(135deg,#ffe66d,#fc0);box-shadow:0 0 10px #ffe66d80;transition:left .1s ease-out}.slider-labels{display:flex;justify-content:space-between;font-size:12px;color:#ffffff80}.stacker-instructions{text-align:center;padding:16px}.stacker-instructions p{margin:0;font-size:14px;color:#ffffff80}.error-boundary{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f0f23);font-family:var(--bubbly-font, "Quicksand", system-ui, sans-serif)}.error-boundary__content{text-align:center;padding:3rem;max-width:500px;background:#ffffff0d;border-radius:24px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-boundary__icon{font-size:4rem;margin-bottom:1rem;filter:grayscale(50%)}.error-boundary__title{color:#fff;font-size:1.75rem;font-weight:600;margin:0 0 1rem}.error-boundary__message{color:#ffffffb3;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.error-boundary__details{text-align:left;margin-bottom:1.5rem;background:#0000004d;border-radius:12px;padding:1rem}.error-boundary__summary{color:#fff9;cursor:pointer;font-size:.875rem;margin-bottom:.5rem}.error-boundary__error-text{color:#e67332;font-size:.75rem;white-space:pre-wrap;word-break:break-word;margin:.5rem 0 0;max-height:200px;overflow:auto}.error-boundary__buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary__btn{padding:.875rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;border:none}.error-boundary__btn:hover{transform:translateY(-2px)}.error-boundary__btn:active{transform:translateY(0)}.error-boundary__btn--retry{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.error-boundary__btn--retry:hover{box-shadow:0 4px 20px #667eea66}.error-boundary__btn--reload{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.error-boundary__btn--reload:hover{background:#ffffff26}.error-boundary__btn--home{background:transparent;color:#fff9;text-decoration:underline;padding:.5rem 1rem}.error-boundary__btn--home:hover{color:#fffc}.error-boundary__error-id{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.75rem;color:#fff6}
