@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&family=Fredoka+One&display=swap";:root{--bubbly-coral: #FF6B6B;--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: #FF6B6B;--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", "Nunito", "Poppins", system-ui, sans-serif;--bubbly-font-display: "Fredoka One", "Baloo 2", var(--bubbly-font)}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,#ff6b6b,#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,#ff6b6b,#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: #FF6B6B}.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, #FF6B6B);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,#ff6b6b,#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, #FF6B6B),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:#ff6b6b}.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:#ff6b6b;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:#ff6b6b}.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,#ff6b6b);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, #FF6B6B);text-shadow:0 0 20px rgba(255,107,107,.6),0 4px 8px rgba(0,0,0,.3);border-color:var(--bubbly-coral, #FF6B6B)}.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, #FF6B6B);box-shadow:0 0 10px var(--bubbly-coral, #FF6B6B)}.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}.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}.continue-btn:not(.disabled){background:linear-gradient(135deg,var(--bubbly-coral) 0%,var(--bubbly-peach) 100%);color:#fff;border:none;cursor:pointer}.continue-btn:not(.disabled):hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff6b6b4d}.continue-btn.disabled{background:var(--bubbly-cloud);color:var(--bubbly-slate);border:none;cursor:not-allowed}.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:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a);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 80% 50% at 20% 30%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(78,205,196,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,230,109,.08) 0%,transparent 60%);animation:setup-bg-pulse 8s 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:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a)!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 70% 50% at 10% 20%,rgba(78,205,196,.2) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 90% 80%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse 80% 60% at 50% 50%,rgba(255,230,109,.08) 0%,transparent 60%);animation:waiting-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:Monaco,Consolas,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}.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:Inter,-apple-system,BlinkMacSystemFont,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation}.mobile-gradient-dark{background:linear-gradient(135deg,#0f0f14,#141420,#0a0a0f)}.mobile-gradient-bubbly{background:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a)}.mobile-bg-orbs:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(78,205,196,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,230,109,.08) 0%,transparent 60%);animation:mobile-bg-pulse 8s ease-in-out infinite;pointer-events:none}@keyframes mobile-bg-pulse{0%,to{opacity:.8}50%{opacity:1}}.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, #FF6B6B);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, #FF6B6B),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, #FF6B6B);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:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a)}.join-screen.bubbly-mobile-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(78,205,196,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,230,109,.08) 0%,transparent 60%);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:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a)}.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,.12) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(255,107,107,.1) 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:linear-gradient(165deg,var(--bubbly-navy) 0%,var(--bubbly-charcoal) 100%)}.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:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a)}.mobile-access-screen.bubbly-mobile-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(78,205,196,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,230,109,.08) 0%,transparent 60%);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:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a)}.mobile-calibration-screen.bubbly-mobile-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(78,205,196,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,230,109,.08) 0%,transparent 60%);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:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a)}.player-selection-screen.bubbly-mobile-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(78,205,196,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,230,109,.08) 0%,transparent 60%);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:#0a0a0f;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,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}: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:linear-gradient(135deg,var(--mk-bg-dark) 0%,var(--mk-bg-darker) 100%);overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,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:linear-gradient(135deg,#0f0f14,#141420,#0a0a0f)}.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:linear-gradient(135deg,#0f0f14,#191423,#0a0a0f);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:Monaco,Consolas,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:Monaco,Consolas,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:linear-gradient(135deg,var(--mk-bg-dark) 0%,var(--mk-bg-darker) 100%)}.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:linear-gradient(135deg,var(--mk-bg-dark) 0%,var(--mk-bg-darker) 100%)}.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:linear-gradient(135deg,var(--mk-bg-dark) 0%,#141420 50%,var(--mk-bg-darker) 100%);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:Monaco,Consolas,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}}.menu-wrapper{--menu-surface: rgba(255, 255, 255, .04);--menu-surface-hover: rgba(255, 255, 255, .08);--menu-border: rgba(255, 255, 255, .08);--menu-text: #FAFAFA;--menu-text-secondary: #B8B8C8;--menu-text-muted: #7A7A8C;--menu-accent: #FF6B6B;--menu-accent-hover: #FF8585;--menu-accent-glow: rgba(255, 107, 107, .25);position:absolute;inset:0;font-family:var(--bubbly-font);z-index:1000;background:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a);overflow-y:auto;overflow-x:hidden;color:var(--menu-text)}.menu-wrapper:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,107,107,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(78,205,196,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,230,109,.08) 0%,transparent 60%);animation:menu-bg-pulse 8s ease-in-out infinite;pointer-events:none;z-index:0}.menu-wrapper:after{content:"";position:fixed;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;z-index:0}@keyframes menu-bg-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.menu-bg{display:none}.menu-container{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 32px}.menu-header{position:sticky;top:0;z-index:100;background:#0a0a12d9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.06);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding:0 max(32px,calc(50vw - 550px))}.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;padding:14px 0;z-index:2}.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{font-size:26px}.nav-title{font-family:var(--bubbly-font-display);font-size:22px;font-weight:400;color:#fff;letter-spacing:-.01em}.nav-badge{padding:3px 8px;font-family:var(--bubbly-font);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffffb3;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:4px}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-family:var(--bubbly-font);font-size:14px;font-weight:500;color:#ffffffa6;text-decoration:none;border-radius:8px;transition:all .2s ease}.nav-link:hover{color:#fffffff2;background:#ffffff14}.nav-link:hover{color:#fafafa}.nav-link svg{opacity:.5;transition:opacity .2s ease}.nav-link:hover svg{opacity:.8}.nav-link span{position:relative;z-index:1}.nav-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-family:var(--bubbly-font);font-size:14px;font-weight:600;color:#fff;background:var(--menu-accent);border-radius:10px;text-decoration:none;transition:all .2s ease}.nav-cta:hover{background:var(--menu-accent-hover);transform:translateY(-1px);box-shadow:0 8px 24px #ff6b6b59}.nav-cta:active{transform:translateY(0)}.nav-cta svg{transition:transform .2s ease}.nav-cta:hover svg{transform:translate(2px)}@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:17px}.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-cta svg{width:14px;height:14px}}@media(max-width:480px){.nav-brand{gap:6px}.nav-logo{font-size:22px}.nav-title{font-size:18px}.nav-badge{display:none}.nav-cta{padding:8px 14px;font-size:13px}}.hero{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:80px 0 100px}.hero-content{max-width:540px}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 10px;background:var(--menu-surface);border:1px solid var(--menu-border);border-radius:100px;font-size:13px;font-weight:600;color:var(--menu-text-secondary);margin-bottom:28px}.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:56px;font-weight:400;line-height:1.15;color:var(--menu-text);margin:0 0 24px;letter-spacing:-.01em}.title-gradient{background:linear-gradient(135deg,var(--menu-accent) 0%,#ff8e8e 30%,#FFB86C 70%,#4ECDC4 100%);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.7;color:var(--menu-text-secondary);margin:0 0 28px}.hero-features{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.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:16px}.hero-cta-btn{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}.hero-cta-btn:hover{background:var(--menu-accent-hover);transform:translateY(-2px);box-shadow:0 8px 32px #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)}.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:flex;align-items:center;justify-content:center}.bowling-scene{position:relative;width:320px;height:300px}.pins-formation{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px}.pin-row{display:flex;gap:8px}.wobbling-pin{color:var(--menu-text-secondary);animation:wobble 3s ease-in-out infinite}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.rolling-ball{position:absolute;bottom:30px;left:50%;transform:translate(-50%);animation:ball-roll 4s ease-in-out infinite}@keyframes ball-roll{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-15px)}}.phone-mockup{position:absolute;right:-30px;bottom:40px;width:130px;background:var(--menu-surface);border:1px solid var(--menu-border);border-radius:20px;padding:6px;transform:rotate(8deg);animation:phone-bob 5s ease-in-out infinite}@keyframes phone-bob{0%,to{transform:rotate(8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-8px)}}.phone-notch{width:50px;height:5px;background:var(--menu-border);border-radius:3px;margin:4px auto 6px}.phone-screen{background:var(--menu-bg);border-radius:14px;padding:14px 10px}.phone-content{text-align:center}.phone-icon{font-size:24px;margin-bottom:6px}.phone-text{font-size:10px;font-weight:600;color:var(--menu-text);margin-bottom:10px}.phone-motion{display:flex;justify-content:center;gap:3px}.motion-wave{width:4px;height:18px;background:var(--bubbly-teal);border-radius:2px;animation:wave 1s ease-in-out infinite}.motion-wave:nth-child(2){animation-delay:.1s}.motion-wave:nth-child(3){animation-delay:.2s}@keyframes wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.how-it-works{padding:80px 0;border-top:1px solid var(--menu-border)}.section-header{text-align:center;margin-bottom:56px}.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:flex;align-items:stretch;justify-content:center;gap:24px}.step{flex:0 0 200px;width:200px;text-align:center;padding:32px 24px;background:linear-gradient(145deg,var(--menu-surface),rgba(255,255,255,.02));border:1px solid var(--menu-border);border-radius:20px;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.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{width:48px;height:2px;background:linear-gradient(90deg,var(--menu-border),rgba(255,107,107,.3),var(--menu-border));margin-top:80px;border-radius:1px;position:relative}.step-connector:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--menu-accent);border-radius:50%;opacity:.5}.games-section{padding:80px 0;border-top:1px solid var(--menu-border)}.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}.bowling-scene{transform:scale(.85)}.steps{flex-wrap:wrap}.step-connector,.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:none}.games-grid,.coming-soon-grid{grid-template-columns:1fr}.step{flex:1 1 auto;width:auto;min-width:150px;max-width:100%}.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,#ff6b6b,#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:linear-gradient(165deg,#0f0f1a,#1a1a2e 30%,#16213e 70%,#0f0f1a);color:#fafafa;overflow-y:auto;overflow-x:hidden}.page-wrapper:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(255,107,107,.12) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(78,205,196,.1) 0%,transparent 50%);pointer-events:none;z-index:0}.page-header{position:sticky;top:0;z-index:100;padding:16px 32px;background:linear-gradient(180deg,#0f0f1afa,#141423f2);-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(255,107,107,.8) 20%,rgba(78,205,196,.8) 50%,rgba(255,230,109,.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:18px;font-weight:700}.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}.page-subtitle{font-size:18px;color:#fff9;margin:0}.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:#ff6b6b;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,#ff6b6b,#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:#ff6b6b;border-radius:6px;font-size:15px}.col-games,.col-avg{color:#ffffff80;font-size:14px}.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:#ff6b6b;border-radius:12px;text-decoration:none;transition:all .15s ease}.cta-button:hover{background:#ff8585;transform:translateY(-2px);box-shadow:0 8px 24px #ff6b6b4d}.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-page .page-content{max-width:680px}.about-hero{text-align:center;margin-bottom:56px;padding-top:20px}.about-hero h1{font-size:56px;font-weight:800;margin:0 0 12px;letter-spacing:-.04em;background:linear-gradient(135deg,#ff6b6b,#ffe66d,#4ecdc4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-tagline{font-size:20px;color:#fff9;margin:0;font-weight:500}.about-pitch{margin-bottom:56px}.about-pitch p{font-size:19px;line-height:1.8;color:#ffffffd9;margin:0}.about-how{margin-bottom:56px}.about-how h2,.about-games h2,.about-tech h2{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#fff6;margin:0 0 24px}.how-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.how-steps li{display:flex;align-items:center;gap:16px;font-size:17px;color:#fffc}.step-num{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#ff6b6b;background:#ff6b6b26;border-radius:50%;flex-shrink:0}.about-games{margin-bottom:56px}.games-list{display:flex;flex-direction:column;gap:12px}.game-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;transition:all .15s ease}.game-item.available{border-color:#ff6b6b33;background:#ff6b6b0d}.game-item.available:hover{background:#ff6b6b1a;border-color:#ff6b6b4d}.game-emoji{font-size:32px;flex-shrink:0}.game-info{flex:1;min-width:0}.game-info h3{font-size:16px;font-weight:700;margin:0 0 4px;color:#fafafa}.game-info p{font-size:14px;color:#ffffff80;margin:0;line-height:1.4}.game-badge{flex-shrink:0;padding:5px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:6px}.game-badge.live{color:#22c55e;background:#22c55e26}.game-badge.soon{color:#fff6;background:#ffffff0f}.about-tech{margin-bottom:56px;padding:24px;background:#ffffff05;border-radius:12px;border-left:3px solid rgba(78,205,196,.5)}.about-tech h2{margin-bottom:12px}.about-tech p{font-size:15px;line-height:1.7;color:#fff9;margin:0}.about-footer{text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.06)}.about-footer p{font-size:15px;color:#ffffff80;margin:0 0 24px}.about-footer a:not(.cta-button){color:#4ecdc4;text-decoration:none}.about-footer a:not(.cta-button):hover{text-decoration:underline}@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}.about-hero h1{font-size:40px}.about-tagline,.about-pitch p{font-size:17px}.game-item{flex-wrap:wrap}.game-badge{margin-left:48px}}.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:Fredoka One,"Baloo 2",sans-serif;font-weight:700;letter-spacing:4px;text-transform:uppercase;text-align:center}.celebration-sub-text{font-family:Quicksand,sans-serif;font-size:24px;color:#ffffffe6;text-shadow:0 2px 4px rgba(0,0,0,.5);text-align:center}.celebration-strike{color:#ff6b6b;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}}.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:Space Grotesk,-apple-system,BlinkMacSystemFont,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:#ff6b6b;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}
