:root{--bg-color: #0b0f19;--card-bg: rgba(22, 28, 45, .7);--card-border: rgba(255, 255, 255, .08);--primary: #6366f1;--primary-hover: #4f46e5;--accent: #ec4899;--text-main: #f8fafc;--text-muted: #94a3b8;--danger: #ef4444;--success: #10b981;--font-family: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:radial-gradient(circle at 50% 10%,#1e1b4b 0%,var(--bg-color) 80%);color:var(--text-main);min-height:100vh;overflow-x:hidden}#app{display:flex;flex-direction:column;min-height:100vh;position:relative}.toast-notification{position:fixed;top:1.5rem;left:50%;transform:translate(-50%) translateY(-100px);background:#0f172af0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#f8fafc;font-weight:600;font-size:.92rem;padding:.75rem 1.4rem;border-radius:14px;border:1px solid rgba(99,102,241,.45);box-shadow:0 16px 36px #000000b3,0 0 22px #6366f147;z-index:10000;transition:transform .35s cubic-bezier(.18,.89,.32,1.28),opacity .3s;opacity:0;pointer-events:none;display:inline-flex;align-items:center;gap:.6rem;max-width:90vw;text-align:center;word-break:break-word}[dir=rtl] .toast-notification{direction:rtl}.toast-notification.show{transform:translate(-50%) translateY(0);opacity:1}.android-app-banner{display:flex;align-items:center;gap:.75rem;background:linear-gradient(90deg,#0f172afa,#1e1b4bf5);border-bottom:1.5px solid rgba(99,102,241,.35);box-shadow:0 4px 20px #00000073;padding:max(.65rem,calc(env(safe-area-inset-top,0px) + .35rem)) .9rem .65rem .9rem;position:relative;z-index:101;width:100%;box-sizing:border-box;animation:bannerSlideDown .3s cubic-bezier(.16,1,.3,1)}@keyframes bannerSlideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.banner-close-btn{background:none;border:none;color:#94a3b8;font-size:1rem;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s;flex-shrink:0}.banner-close-btn:hover{color:#fff;background:#ffffff1a}.banner-app-icon{width:38px;height:38px;border-radius:10px;overflow:hidden;box-shadow:0 3px 10px #0006;border:1px solid rgba(99,102,241,.4);flex-shrink:0;background:#0b0f19;display:flex;align-items:center;justify-content:center}.banner-app-icon img{width:100%;height:100%;object-fit:cover}.banner-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.banner-title{color:#fff;font-size:.86rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.banner-desc{color:#94a3b8;font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.banner-action-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;text-decoration:none;border-radius:10px;padding:.42rem .85rem;font-size:.82rem;font-weight:700;display:inline-flex;align-items:center;gap:.35rem;box-shadow:0 3px 12px #6366f166;flex-shrink:0;transition:transform .15s,box-shadow .15s;white-space:nowrap}.banner-action-btn:hover{transform:translateY(-1px);box-shadow:0 5px 16px #6366f18c}.banner-action-btn:active{transform:scale(.96)}.app-update-banner{background:linear-gradient(90deg,#1e140afa,#2d1a4bf5);border-bottom:1.5px solid rgba(245,158,11,.5);box-shadow:0 4px 20px #f59e0b33}.app-update-banner .banner-app-icon.update-icon{background:#f59e0b26;border:1px solid rgba(245,158,11,.45);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.app-update-banner .banner-action-btn.update-btn{background:linear-gradient(135deg,#f59e0b,#ec4899);box-shadow:0 3px 12px #f59e0b66}.app-update-banner .banner-action-btn.update-btn:hover{box-shadow:0 5px 16px #f59e0b99}body.in-match .android-app-banner{display:none!important}.navbar{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:#0b0f19d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--card-border);position:sticky;top:0;z-index:100}.navbar.navbar-clean{justify-content:center}.brand{display:flex;align-items:center;gap:.6rem;font-size:1.5rem;font-weight:700;cursor:pointer;letter-spacing:-.5px}.brand-clean{justify-content:center}.brand-logo-img{width:32px;height:32px;border-radius:8px;object-fit:cover;box-shadow:0 2px 8px #6366f166}.auth-brand-header{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:.4rem}.auth-logo-badge{width:56px;height:56px;border-radius:14px;object-fit:cover;box-shadow:0 4px 16px #6366f180}.drawer-logo-avatar{width:72px;height:72px;border-radius:20px;object-fit:cover;box-shadow:0 4px 20px #6366f166}.highlight{color:var(--primary)}.nav-links{display:flex;gap:.5rem}.nav-link-btn{background:transparent;border:none;color:var(--text-muted);font-family:inherit;font-weight:600;font-size:.92rem;padding:.4rem .8rem;border-radius:8px;cursor:pointer;transition:all .2s}.nav-link-btn:hover,.nav-link-btn.active{color:#fff;background:#ffffff14}.user-status{display:flex;align-items:center;gap:1rem}.user-badge{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;padding:.4rem .8rem;border-radius:20px;border:1px solid var(--card-border);font-size:.9rem}.main-content{flex:1;display:flex;flex-direction:column}.view-panel{display:none;width:100%;flex:1}.view-panel.active{display:flex;flex-direction:column}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 20px 40px #0006}#authSection{align-items:center;justify-content:center;padding:2rem}.auth-card{width:100%;max-width:440px;padding:2.5rem;text-align:center;position:relative}.invite-banner{background:#6366f133;border:1px solid rgba(99,102,241,.4);padding:.8rem 1rem;border-radius:10px;color:#c7d2fe;font-size:.9rem;margin-bottom:1.5rem;line-height:1.4}.auth-card h2{font-size:1.8rem;margin-bottom:.5rem}.subtitle{color:var(--text-muted);font-size:.95rem;margin-bottom:1.8rem}.auth-tabs{display:flex;background:#0003;padding:4px;border-radius:10px;margin-bottom:1.5rem}.tab-btn{flex:1;padding:.6rem;background:transparent;border:none;color:var(--text-muted);font-weight:600;cursor:pointer;border-radius:8px;transition:all .2s}.tab-btn.active{background:var(--primary);color:#fff}.auth-form{display:flex;flex-direction:column;gap:1.2rem;text-align:left}.auth-aux-row{display:flex;justify-content:flex-end;margin-top:-.4rem;margin-bottom:.2rem}.auth-link-btn{background:none;border:none;color:#93c5fd;font-size:.84rem;font-weight:600;cursor:pointer;padding:0;transition:all .2s;text-decoration:none}.auth-link-btn:hover{color:#bfdbfe;text-decoration:underline}.forgot-password-card{display:flex;flex-direction:column;gap:1.1rem;animation:fadeIn .25s ease-out}.fp-title{font-size:1.3rem;font-weight:800;color:#fff;margin:0 0 .35rem;text-align:center}.fp-subtitle{font-size:.85rem;color:var(--text-muted);line-height:1.5;text-align:center;margin:0 0 1rem}.otp-input{font-size:1.5rem!important;font-weight:800!important;letter-spacing:6px!important;text-align:center!important;color:#38bdf8!important}.fp-dev-notice{background:#3b82f61f;border:1px dashed rgba(59,130,246,.4);border-radius:10px;padding:.75rem 1rem;font-size:.84rem;color:#93c5fd;line-height:1.5;margin-bottom:.75rem;text-align:center}.input-group{display:flex;flex-direction:column;gap:.4rem}.input-group label{font-size:.85rem;color:var(--text-muted);font-weight:600}.input-group input,.join-input-group input{padding:.8rem 1rem;background:#0f172a99;border:1px solid var(--card-border);border-radius:8px;color:#fff;font-family:inherit;outline:none;transition:border-color .2s}.input-group input:focus,.join-input-group input:focus{border-color:var(--primary)}.primary-btn{padding:.8rem 1.4rem;background:var(--primary);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.primary-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.guest-btn{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.8rem;background:#ffffff14;border:1px solid var(--card-border);color:#fff;font-weight:600;border-radius:8px;cursor:pointer;transition:background .2s}.guest-btn:hover{background:#ffffff26}.divider{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--card-border)}.divider span{padding:0 10px}.error-msg{color:var(--danger);font-size:.85rem;text-align:center}#lobbySection{padding:2.5rem 3rem;max-width:1200px;margin:0 auto}.lobby-header{display:none!important}.lobby-back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.1rem;margin-bottom:1rem;background:#ffffff14;border:1px solid var(--card-border);border-radius:999px;color:var(--text-main);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.lobby-back-btn:hover{background:#6366f133;border-color:#6366f180;color:#818cf8;transform:translate(-3px)}.lobby-header h2{font-size:2.2rem;margin-bottom:.5rem}.lobby-header p{color:var(--text-muted)}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem;margin-bottom:2rem}.game-card{position:relative;background:#0f172aa6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:18px;padding:1.35rem .85rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .22s,background .22s}.game-card:hover{transform:translateY(-4px) scale(1.02);border-color:#6366f1a6;background:#1e1b4b8c;box-shadow:0 12px 28px #6366f138}.game-card:active{transform:scale(.97)}.game-card .game-icon{font-size:2.85rem;margin:0 0 .55rem;line-height:1;transition:transform .22s ease}.game-card:hover .game-icon{transform:scale(1.1)}.game-card h3{font-size:1.05rem;font-weight:700;color:#f8fafc;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.game-badge{display:none}.join-room-card{max-width:600px;margin:0 auto;padding:2rem;text-align:center}.join-room-card h3{margin-bottom:1rem}.join-input-group{display:flex;gap:.8rem;justify-content:center}.join-input-group input{text-transform:uppercase;font-weight:700;letter-spacing:2px;text-align:center;font-size:1.1rem;width:240px}#gameSection{flex:1}.game-layout{display:flex;flex:1;height:calc(100vh - 64px)}.canvas-wrapper{flex:1;position:relative;overflow:hidden;background:#000}#threeContainer{position:relative;width:100%;height:100%;overflow:hidden}#threeContainer canvas{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;display:block;width:100%!important;height:100%!important}.game-overlay-top{position:absolute;top:max(.75rem,calc(env(safe-area-inset-top,0px) + .5rem));left:max(.6rem,env(safe-area-inset-left,8px));right:max(.6rem,env(safe-area-inset-right,8px));display:flex;flex-direction:column;align-items:center;gap:.6rem;z-index:250;pointer-events:none}.game-overlay-top.menu-open{z-index:400!important}.game-overlay-top>*{pointer-events:auto}.overlay-row-main{display:flex;justify-content:space-between;align-items:flex-start;width:100%;gap:.8rem;position:relative;z-index:100}.overlay-actions-right{display:flex;align-items:center;align-self:flex-start;gap:.5rem;position:relative;flex-shrink:0;z-index:200}.mobile-chat-toggle-btn{display:none;align-items:center;gap:.35rem;padding:.45rem .8rem;background:#6366f140;border:1px solid rgba(99,102,241,.5);color:#c7d2fe;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;position:relative;transition:all .2s}.mobile-chat-toggle-btn:hover{background:var(--primary);color:#fff}.unread-dot{width:8px;height:8px;background:#ec4899;border-radius:50%;box-shadow:0 0 6px #ec4899}.room-info{background:#0f172ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem .9rem;border-radius:12px;border:1px solid var(--card-border);display:flex;align-items:center;gap:.8rem}.room-info .value{font-weight:700;color:#818cf8;letter-spacing:1px}.invite-action-btn{background:#6366f140;border:1px solid rgba(99,102,241,.5);color:#c7d2fe;padding:.35rem .75rem;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}.invite-action-btn:hover{background:var(--primary);color:#fff}.turn-indicator{background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.6rem 1.4rem;border-radius:20px;border:1px solid rgba(99,102,241,.4);font-weight:600;color:#fff;box-shadow:0 4px 12px #0000004d;transition:all .3s ease}.turn-indicator.is-my-turn{border-color:#10b981!important;background:#10b98138!important;color:#6ee7b7!important;box-shadow:0 0 18px #10b98180!important}.turn-indicator.is-opp-turn{border-color:#f59e0b!important;background:#f59e0b38!important;color:#fde68a!important;box-shadow:0 0 18px #f59e0b80!important}.turn-indicator.waiting{border:1px solid rgba(245,158,11,.7);background:#0f172ae6;color:#fde68a;box-shadow:0 4px 14px #f59e0b40;font-size:.88rem;padding:.45rem 1.1rem}.score-badge{background:#0f172ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:20px;border:1px solid var(--card-border);display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:.95rem;box-shadow:0 4px 12px #0000004d}.score-badge .score-item{display:flex;align-items:center;gap:.35rem}.score-badge .score-item.black strong{color:#cbd5e1}.score-badge .score-item.white strong{color:#f8fafc}.score-badge .score-divider{color:#fff3;font-weight:300}.danger-btn{padding:.5rem 1rem;background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#f87171;border-radius:8px;font-weight:600;cursor:pointer}.danger-btn:hover{background:var(--danger);color:#fff}.game-sidebar{width:320px;background:#0f172af2;border-left:1px solid var(--card-border);display:flex;flex-direction:column}.invite-box{padding:1.2rem;border-bottom:1px solid var(--card-border)}.invite-box h4,.players-box h4,.chat-box h4{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.6rem}.invite-share-pill{display:flex;gap:.4rem}.invite-share-pill input{flex:1;padding:.45rem .6rem;background:#0000004d;border:1px solid var(--card-border);border-radius:6px;color:#94a3b8;font-size:.8rem;outline:none}.invite-share-pill button{padding:0 .8rem;background:var(--primary);border:none;border-radius:6px;color:#fff;font-weight:600;font-size:.82rem;cursor:pointer}.players-box{padding:1.2rem;border-bottom:1px solid var(--card-border)}.players-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.player-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem;background:#ffffff08;border-radius:6px;font-size:.9rem}.player-item.waiting{border:1px dashed rgba(245,158,11,.4);color:#fde68a;background:#f59e0b0d}.player-item .player-info-left{display:flex;align-items:center;gap:.5rem}.player-item .color-disc-icon{font-size:1.05rem}.chat-box{flex:1;display:flex;flex-direction:column;padding:1.2rem;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem;padding-right:4px}.chat-msg{font-size:.88rem;line-height:1.3}.chat-msg .sender{font-weight:600;color:var(--primary);margin-right:.4rem}.chat-msg .time{font-size:.72rem;color:var(--text-muted);margin-left:.4rem}.chat-form{display:flex;gap:.5rem}.chat-form input{flex:1;padding:.6rem .8rem;background:#0000004d;border:1px solid var(--card-border);border-radius:6px;color:#fff;font-family:inherit;outline:none}.send-btn{background:var(--primary);border:none;color:#fff;padding:0 1rem;border-radius:6px;cursor:pointer}.modal-backdrop{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;background:#000000c7!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;display:flex;align-items:center;justify-content:center;z-index:2500!important}.modal-card{padding:2.5rem;text-align:center;max-width:400px}.modal-icon{font-size:4rem;margin-bottom:1rem}.modal-card h2{font-size:1.8rem;margin-bottom:.5rem}.modal-card p{color:var(--text-muted);margin-bottom:1.8rem}.game-over-card{max-width:420px;width:min(92vw,420px);text-align:center;position:relative;padding:1.5rem 1.2rem 1.15rem;background:#0f172af7;border:1.5px solid rgba(99,102,241,.35);box-shadow:0 20px 50px #000000d9,0 0 30px #6366f133;border-radius:20px;overflow:visible;animation:modalPopIn .22s cubic-bezier(.16,1,.3,1)}@keyframes modalPopIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}#gameOverModal.victory-mode .game-over-card{border:1.5px solid rgba(245,158,11,.55);box-shadow:0 0 40px #f59e0b4d,0 20px 50px #000000d9}#gameOverModal.defeat-mode .game-over-card{border:1.5px solid rgba(239,68,68,.45);box-shadow:0 0 40px #b91c1c33,0 20px 50px #000000d9}.game-over-header,.game-over-badge{display:none!important}.game-over-players-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.1rem;align-items:stretch}.game-over-players-grid.grid-solo{grid-template-columns:1fr;max-width:200px;margin-left:auto;margin-right:auto}.game-over-players-grid.grid-duo,.game-over-players-grid.grid-multi{grid-template-columns:repeat(2,1fr)}.player-result-card{background:#ffffff0a;border:1.5px solid rgba(255,255,255,.09);border-radius:16px;padding:1rem .65rem .8rem;display:flex;flex-direction:column;align-items:center;position:relative;transition:all .25s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.player-result-card.is-winner{background:linear-gradient(180deg,#f59e0b29,#0f172ae6);border:1.5px solid #f59e0b;box-shadow:0 0 24px #f59e0b59,inset 0 0 16px #f59e0b1a;transform:translateY(-2px)}.player-result-card.is-defeated{background:#ffffff08;border-color:#ffffff12;opacity:.92}.player-result-card.is-draw{background:linear-gradient(180deg,#6366f124,#0f172ae6);border:1.5px solid rgba(99,102,241,.45)}.crown-badge{position:absolute;top:-14px;font-size:1.45rem;filter:drop-shadow(0 2px 8px rgba(245,158,11,.9));animation:crownBounce 2.2s ease-in-out infinite alternate;z-index:2}@keyframes crownBounce{0%{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-4px) rotate(4deg)}}.result-avatar-frame{width:72px;height:72px;border-radius:50%;padding:3px;background:#ffffff1f;display:flex;align-items:center;justify-content:center;margin-bottom:.55rem;box-shadow:0 4px 16px #00000073}.result-avatar-frame.winner-ring{background:linear-gradient(135deg,#f59e0b,#fbbf24,#ef4444);box-shadow:0 0 16px #f59e0b8c;padding:3px}.result-avatar-frame svg,.result-avatar-frame img{width:100%;height:100%;border-radius:50%;object-fit:cover}.result-player-info{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:.55rem;width:100%}.result-name-row{display:flex;align-items:center;justify-content:center;gap:.35rem;max-width:100%}.result-name{font-size:.95rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.result-you-tag{background:#6366f1;color:#fff;font-size:.64rem;font-weight:800;padding:.1rem .35rem;border-radius:5px;text-transform:uppercase}.result-status-pill{font-size:.74rem;font-weight:700;padding:.18rem .6rem;border-radius:999px;display:inline-flex;align-items:center;gap:.25rem}.result-status-pill.winner-pill{background:#f59e0b40;border:1px solid rgba(245,158,11,.6);color:#fde68a;box-shadow:0 0 10px #f59e0b40}.result-status-pill.defeated-pill{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#94a3b8}.result-status-pill.draw-pill{background:#6366f133;border:1px solid rgba(99,102,241,.5);color:#c7d2fe}.result-wins-badge{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.32rem .5rem;display:flex;align-items:center;justify-content:center;gap:.3rem;box-sizing:border-box}.player-result-card.is-winner .result-wins-badge{background:#f59e0b24;border-color:#f59e0b66}.result-wins-badge .wins-icon{font-size:.85rem}.result-wins-badge .wins-count{font-size:.92rem;font-weight:800;color:#fff}.result-wins-badge .wins-label{font-size:.72rem;color:#cbd5e1;font-weight:600}.result-score-badge{margin-top:.3rem;font-size:.76rem;color:#94a3b8;font-weight:600}.game-over-actions{display:flex;justify-content:center;width:100%}.game-over-return-btn{width:100%;max-width:240px;padding:.68rem 1.4rem;font-size:.92rem;font-weight:800;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 16px #6366f166;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border:none;color:#fff}.game-over-return-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f199}@media (max-width: 480px){.game-over-card{padding:1.25rem .85rem 1rem;max-width:350px;border-radius:18px}.game-over-badge{display:none!important}.game-over-players-grid{gap:.55rem;margin-bottom:.9rem}.player-result-card{padding:.85rem .4rem .65rem;border-radius:12px}.crown-badge{font-size:1.25rem;top:-12px}.result-avatar-frame{width:58px;height:58px;margin-bottom:.35rem}.result-name{font-size:.88rem;max-width:120px}.result-status-pill{font-size:.68rem;padding:.12rem .45rem}.result-wins-badge{padding:.25rem .35rem;gap:.2rem}.result-wins-badge .wins-icon{font-size:.75rem}.result-wins-badge .wins-count{font-size:.82rem}.result-wins-badge .wins-label{font-size:.66rem}.game-over-return-btn{padding:.6rem 1.2rem;font-size:.88rem;max-width:220px}}.opponent-profile-card{max-width:500px;width:92vw;max-height:88vh;overflow-y:auto;overflow-x:hidden;text-align:center;position:relative;padding:2.2rem 1.6rem 1.8rem;background:#0f172af7;border:1.5px solid rgba(99,102,241,.35);box-shadow:0 24px 60px #000c,0 0 35px #6366f140;border-radius:24px;display:flex;flex-direction:column;gap:1.15rem;scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.4) transparent}.opponent-profile-card::-webkit-scrollbar{width:6px}.opponent-profile-card::-webkit-scrollbar-track{background:transparent}.opponent-profile-card::-webkit-scrollbar-thumb{background:#6366f159;border-radius:999px}.opponent-profile-card::-webkit-scrollbar-thumb:hover{background:#6366f199}.close-modal-x-btn{position:absolute;top:1rem;left:1rem;width:34px;height:34px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#cbd5e1;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:10}[dir=rtl] .close-modal-x-btn{left:1rem;right:auto}[dir=ltr] .close-modal-x-btn{right:1rem;left:auto}.close-modal-x-btn:hover{background:#ef444433;border-color:#ef4444;color:#f87171;transform:scale(1.08)}.opponent-profile-header{display:flex;flex-direction:column;align-items:center;margin-bottom:.2rem}.opponent-avatar-wrapper{position:relative;display:inline-block;margin-bottom:.6rem}.opponent-modal-avatar{width:88px;height:88px;border-radius:50%;padding:4px;background:linear-gradient(135deg,#6366f1,#ec4899);box-shadow:0 8px 24px #6366f173;display:flex;align-items:center;justify-content:center}.opponent-online-indicator{position:absolute;bottom:4px;right:4px;width:18px;height:18px;border-radius:50%;border:3px solid #0f172a;background:#64748b;transition:all .2s ease}[dir=rtl] .opponent-online-indicator{right:auto;left:4px}.opponent-online-indicator.online{background:#10b981;box-shadow:0 0 10px #10b981d9}.opponent-online-indicator.offline{background:#64748b}.opponent-modal-avatar svg,.opponent-modal-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.opponent-modal-name{font-size:1.45rem;font-weight:700;color:#fff;margin:0 0 .15rem;letter-spacing:-.3px}.opponent-modal-handle{font-size:.85rem;color:#94a3b8;font-weight:500;margin-bottom:.45rem;direction:ltr}.opponent-modal-status{font-size:.82rem;color:#a5b4fc;font-weight:600;background:#6366f126;padding:.25rem .85rem;border-radius:999px;border:1px solid rgba(99,102,241,.3);display:inline-flex;align-items:center;gap:.35rem}.opponent-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:.3rem}.opponent-stat-box{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:.85rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.opponent-stat-box .stat-number{font-size:1.35rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#a5b4fc,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.opponent-stat-box .stat-label{font-size:.76rem;color:#94a3b8;font-weight:500}.opponent-friend-actions{display:flex;flex-direction:column;gap:.6rem;width:100%}.opponent-friend-actions .primary-btn,.opponent-friend-actions .secondary-btn{width:100%;padding:.8rem 1.2rem;font-size:.94rem;font-weight:700;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.opponent-friend-actions .btn-add-friend{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 18px #6366f166}.opponent-friend-actions .btn-add-friend:hover{transform:translateY(-2px);box-shadow:0 6px 24px #6366f199}.opponent-friend-actions .btn-cancel-request{background:#ef444426;border:1.5px solid rgba(239,68,68,.4);color:#fca5a5}.opponent-friend-actions .btn-cancel-request:hover{background:#ef444440;color:#fff}.opponent-friend-actions .btn-accept-friend{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 18px #10b98166}.opponent-friend-actions .btn-accept-friend:hover{transform:translateY(-2px);box-shadow:0 6px 24px #10b98199}.opponent-friend-actions .btn-remove-friend{background:#ffffff0f;border:1.5px solid rgba(255,255,255,.15);color:#cbd5e1}.opponent-friend-actions .btn-remove-friend:hover{background:#ef444433;border-color:#ef4444;color:#f87171}.opponent-friend-actions .btn-chat-friend{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;box-shadow:0 4px 18px #3b82f666}.opponent-friend-actions .btn-chat-friend:hover{transform:translateY(-2px);box-shadow:0 6px 24px #3b82f699}.opponent-friend-actions .btn-edit-self{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;box-shadow:0 4px 18px #8b5cf666}.opponent-friend-actions .btn-edit-self:hover{transform:translateY(-2px);box-shadow:0 6px 24px #8b5cf699}.profile-block-section{width:100%;display:flex;flex-direction:column;gap:.65rem;text-align:start;margin-top:.35rem;border-top:1px solid rgba(255,255,255,.07);padding-top:1rem}.profile-section-header{display:flex;align-items:center;justify-content:space-between;width:100%}.profile-section-title{display:inline-flex;align-items:center;gap:.45rem;font-size:.98rem;font-weight:700;color:#f1f5f9}.profile-section-title .section-icon{font-size:1.15rem}.profile-count-pill{background:#6366f12e;color:#c7d2fe;border:1px solid rgba(99,102,241,.32);padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700}.profile-stats-filter{display:flex;align-items:center;background:#ffffff0d;padding:2px;border-radius:999px;border:1px solid rgba(255,255,255,.08)}.profile-filter-btn{background:transparent;border:none;color:#94a3b8;font-size:.76rem;font-weight:600;padding:.2rem .65rem;border-radius:999px;cursor:pointer;transition:all .2s ease}.profile-filter-btn.active{background:#6366f1;color:#fff;box-shadow:0 2px 8px #6366f166}.profile-friends-container{display:flex;gap:.6rem;overflow-x:auto;padding:.35rem .2rem .6rem;scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.3) transparent;width:100%}.profile-friends-container::-webkit-scrollbar{height:5px}.profile-friends-container::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:999px}.profile-friend-chip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .65rem;background:#ffffff09;border:1px solid rgba(255,255,255,.08);border-radius:14px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);min-width:68px;max-width:82px;text-align:center}.profile-friend-chip:hover{background:#6366f12e;border-color:#6366f173;transform:translateY(-2px);box-shadow:0 6px 16px #00000059}.friend-chip-avatar{position:relative;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center}.friend-chip-avatar svg,.friend-chip-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.friend-chip-status-dot{position:absolute;bottom:0;right:0;width:11px;height:11px;border-radius:50%;border:2px solid #0f172a;background:#64748b}[dir=rtl] .friend-chip-status-dot{right:auto;left:0}.friend-chip-status-dot.online{background:#10b981;box-shadow:0 0 6px #10b981d9}.friend-chip-name{font-size:.74rem;color:#e2e8f0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;direction:ltr;text-align:center}.profile-empty-state{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem .5rem;color:#94a3b8;font-size:.85rem;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:12px;width:100%}.profile-empty-state .empty-icon{font-size:1.2rem;opacity:.7}.profile-game-stats-container{display:flex;flex-direction:column;gap:.6rem;width:100%}.game-stat-card{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:.75rem .95rem;display:flex;flex-direction:column;gap:.5rem;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative}.game-stat-card:hover{background:#ffffff0e;border-color:#6366f14d;transform:translateY(-1px)}.game-stat-card.has-played{border-left:3px solid #6366f1}[dir=rtl] .game-stat-card.has-played{border-left:1px solid rgba(255,255,255,.07);border-right:3px solid #6366f1}.game-stat-card.no-play{opacity:.65}.game-stat-card-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%}.game-stat-identity{display:flex;align-items:center;gap:.65rem;min-width:0}.game-stat-icon{font-size:1.4rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:10px;flex-shrink:0}.game-stat-info{display:flex;flex-direction:column;gap:.12rem;min-width:0;text-align:start}[dir=rtl] .game-stat-info{text-align:right}.game-stat-title{font-weight:700;color:#f1f5f9;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-stat-meta{font-size:.74rem;color:#94a3b8;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-stat-rate-badge{display:flex;flex-direction:column;align-items:flex-end;gap:.08rem;flex-shrink:0}[dir=rtl] .game-stat-rate-badge{align-items:flex-start}.game-stat-rate-val{font-size:1.05rem;font-weight:800;font-family:inherit}.game-stat-rate-val.rate-high{color:#34d399;text-shadow:0 0 10px rgba(52,211,153,.35)}.game-stat-rate-val.rate-mid{color:#38bdf8;text-shadow:0 0 10px rgba(56,189,248,.35)}.game-stat-rate-val.rate-low{color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.35)}.game-stat-rate-val.rate-zero{color:#64748b}.game-stat-rate-lbl{font-size:.66rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.game-stat-progress-track{width:100%;height:6px;background:#ffffff12;border-radius:999px;overflow:hidden;position:relative}.game-stat-progress-fill{height:100%;border-radius:999px;transition:width .7s cubic-bezier(.16,1,.3,1)}.game-stat-progress-fill.fill-high{background:linear-gradient(90deg,#10b981,#34d399);box-shadow:0 0 8px #34d39999}.game-stat-progress-fill.fill-mid{background:linear-gradient(90deg,#6366f1,#38bdf8);box-shadow:0 0 8px #38bdf899}.game-stat-progress-fill.fill-low{background:linear-gradient(90deg,#f59e0b,#fbbf24);box-shadow:0 0 8px #fbbf2499}.game-stat-progress-fill.fill-zero{background:transparent}[data-opponent-id]{cursor:pointer;transition:transform .15s ease,filter .2s ease}[data-opponent-id]:hover{transform:scale(1.03);filter:brightness(1.15)}[data-opponent-id]:active{transform:scale(.97)}.invite-dialog-card{max-width:440px;width:90vw;text-align:center;position:relative;padding:2.2rem 1.8rem 1.8rem;background:#0f172af5;border:1.5px solid rgba(99,102,241,.4);box-shadow:0 24px 60px #000c,0 0 35px #6366f14d;border-radius:24px}.invite-dialog-header{display:flex;flex-direction:column;align-items:center;margin-bottom:1.2rem}.invite-game-icon{font-size:3.6rem;line-height:1;margin-bottom:.6rem;filter:drop-shadow(0 6px 14px rgba(99,102,241,.4));animation:pulseIcon 2.4s ease-in-out infinite}@keyframes pulseIcon{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.invite-modal-title{font-size:1.5rem;font-weight:800;color:#fff;margin:0 0 .8rem;background:linear-gradient(135deg,#fff,#c7d2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.invite-inviter-row{display:flex;align-items:center;gap:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:.65rem 1rem;border-radius:16px;width:100%;box-sizing:border-box}.invite-host-avatar{width:48px;height:48px;border-radius:50%;padding:2px;background:linear-gradient(135deg,#6366f1,#ec4899);flex-shrink:0;display:flex;align-items:center;justify-content:center}.invite-host-avatar svg,.invite-host-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.invite-inviter-text{display:flex;flex-direction:column;text-align:right;flex:1}[dir=ltr] .invite-inviter-text{text-align:left}.invite-host-name{font-size:1.05rem;font-weight:700;color:#fff}.invite-sub{font-size:.82rem;color:#94a3b8}.invite-game-badge-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.4rem}.invite-game-badge{background:#6366f12e;border:1px solid rgba(99,102,241,.4);color:#c7d2fe;font-size:.88rem;font-weight:700;padding:.35rem .85rem;border-radius:999px}.invite-room-badge{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#e2e8f0;font-size:.88rem;font-weight:700;padding:.35rem .85rem;border-radius:999px;letter-spacing:.5px}.invite-slots-badge{background:#10b98126;border:1px solid rgba(16,185,129,.35);color:#6ee7b7;font-size:.84rem;font-weight:700;padding:.35rem .75rem;border-radius:999px}.invite-warning-box{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#fca5a5;font-size:.9rem;padding:.75rem 1rem;border-radius:12px;margin-bottom:1.2rem;line-height:1.5}.invite-dialog-actions{display:flex;flex-direction:column;gap:.65rem;width:100%}.invite-join-btn{width:100%;padding:.95rem 1.6rem;font-size:1.05rem;font-weight:800;border-radius:16px;background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);background-size:200% 200%;animation:gradientShift 4s ease infinite;box-shadow:0 6px 24px #6366f173;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border:none;color:#fff}.invite-join-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #6366f1a6}.invite-cancel-btn{width:100%;padding:.8rem 1.4rem;font-size:.95rem;font-weight:600;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#94a3b8;cursor:pointer;transition:all .2s}.invite-cancel-btn:hover{background:#ef444426;border-color:#ef444459;color:#f87171}.lang-modal-card{max-width:360px;width:90%;text-align:center;padding:2rem 1.5rem;border-radius:20px;display:flex;flex-direction:column;gap:.8rem}.lang-modal-card .modal-icon{font-size:2.8rem;margin-bottom:.2rem}.lang-modal-card h2{font-size:1.4rem;margin-bottom:.4rem}.lang-modal-list{display:flex;flex-direction:column;gap:.55rem;margin:.4rem 0 .8rem}.lang-modal-item{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;color:#e2e8f0;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);text-align:start;font-family:inherit}.lang-modal-item:hover{background:#6366f12e;border-color:#818cf873;transform:translateY(-1px)}.lang-modal-item.active{background:#6366f140;border-color:#818cf8;box-shadow:0 0 16px #6366f14d}.lang-modal-flag{font-size:1.6rem;line-height:1}.lang-modal-info{display:flex;flex-direction:column;flex:1;gap:.15rem;text-align:start}.lang-modal-name{font-size:.98rem;font-weight:700;color:#fff}.lang-modal-sub{font-size:.75rem;color:#94a3b8}.lang-modal-check{font-size:1.1rem;font-weight:800;color:#38bdf8;opacity:0;transition:opacity .15s}.lang-modal-item.active .lang-modal-check{opacity:1}.lang-modal-close-btn{width:100%}.sidebar-header-mobile{display:none;flex-direction:column;align-items:center;padding:.6rem 1rem .8rem;border-bottom:1px solid var(--card-border)}.sidebar-drag-pill{width:40px;height:4px;border-radius:2px;background:#ffffff40;margin-bottom:.6rem}.sidebar-title-bar{display:flex;width:100%;justify-content:space-between;align-items:center;font-weight:700;font-size:.95rem}.close-sidebar-btn{background:#ffffff14;border:1px solid var(--card-border);color:var(--text-muted);width:32px;height:32px;border-radius:50%;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-sidebar-btn:hover{color:#fff;background:#ffffff26}.sidebar-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80}@media (max-width: 900px){.lobby-header h2{font-size:1.7rem}.game-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem}}@media (max-width: 768px){input,button,select,textarea{font-size:16px}.navbar{height:auto;min-height:56px;padding:max(.65rem,calc(env(safe-area-inset-top,0px) + .35rem)) 1rem .5rem 1rem;flex-wrap:wrap;gap:.5rem}.brand{font-size:1.2rem}.nav-links{order:3;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;padding:.2rem 0;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-link-btn{padding:.35rem .65rem;font-size:.85rem}.user-badge{padding:.25rem .6rem;font-size:.8rem}#authSection{padding:1.5rem 1rem}.auth-card{padding:1.8rem 1.2rem}.auth-card h2{font-size:1.5rem}#lobbySection{padding:1.2rem 1rem}.lobby-header{margin-bottom:1.5rem}.lobby-header h2{font-size:1.6rem}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem}.game-card{padding:1.15rem .65rem;border-radius:16px}.game-card .game-icon{font-size:2.35rem;margin:0 0 .45rem}.game-card h3{font-size:.94rem;margin:0}.join-room-card{padding:1.4rem 1rem}.join-input-group{flex-direction:column;width:100%}.join-input-group input{width:100%!important}.join-input-group button{width:100%}.game-layout{position:relative;overflow:hidden;height:calc(100vh - 104px)}.canvas-wrapper{width:100%;height:100%}.game-overlay-top{top:max(1.25rem,calc(env(safe-area-inset-top,0px) + .65rem));left:max(.4rem,env(safe-area-inset-left,6px));right:max(.4rem,env(safe-area-inset-right,6px));gap:.4rem}.overlay-row-main{align-items:flex-start;gap:.35rem}.room-info{padding:.35rem .55rem;font-size:.8rem;gap:.4rem;border-radius:8px}.room-info .value{font-size:.85rem}.invite-action-btn{padding:.25rem .45rem;font-size:.75rem}.score-badge{padding:.35rem .6rem;font-size:.82rem;gap:.35rem;border-radius:12px}.mobile-chat-toggle-btn{display:flex;padding:.35rem .6rem;font-size:.78rem}.danger-btn{padding:.35rem .6rem;font-size:.8rem}.turn-indicator{padding:.35rem .8rem;font-size:.8rem;width:100%;text-align:center}.game-sidebar{position:absolute;bottom:0;left:0;right:0;width:100%;height:72vh;max-height:540px;border-left:none;border-top:1px solid var(--card-border);border-radius:20px 20px 0 0;background:#0f172afa;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);transform:translateY(105%);transition:transform .3s cubic-bezier(.16,1,.3,1);z-index:100;box-shadow:0 -10px 40px #000c}.game-sidebar.open{transform:translateY(0)}.sidebar-header-mobile{display:flex}.invite-box,.players-box,.chat-box{padding:.8rem 1rem}.modal-card{padding:1.5rem;margin:1rem}.bottom-dock,.ingame-opponent-bottom-hud{bottom:max(1.15rem,calc(env(safe-area-inset-bottom,0px) + .95rem))}.floating-action-btn.bottom-left{bottom:max(1.2rem,calc(env(safe-area-inset-bottom,0px) + 1rem));left:max(.85rem,env(safe-area-inset-left,10px))}.floating-action-btn.bottom-right{bottom:max(1.2rem,calc(env(safe-area-inset-bottom,0px) + 1rem));right:max(.85rem,env(safe-area-inset-right,10px))}.sudoku-edge-bar.bottom{bottom:env(safe-area-inset-bottom,0px)}.direct-chat-input-bar{padding-bottom:max(.95rem,calc(env(safe-area-inset-bottom,0px) + .85rem))}.edit-profile-actions{padding-bottom:max(1rem,calc(env(safe-area-inset-bottom,0px) + .85rem))}}@media (max-width: 480px){.room-info .label,.mobile-chat-toggle-btn .mobile-chat-label,.invite-action-btn .btn-text{display:none}}.sudoku-2d-wrapper{width:100%;height:100%;max-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:.5rem;background:radial-gradient(circle at 50% 50%,#1e1b4b,#0b0f19 85%);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;box-sizing:border-box}.sudoku-match-timer{display:inline-flex;align-items:center;justify-content:center;z-index:10;margin-bottom:.2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.sudoku-timer-inner{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem 1.05rem;background:#0f172ae0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(99,102,241,.5);border-radius:9999px;box-shadow:0 6px 20px #00000080,0 0 14px #6366f140;color:#f8fafc;line-height:1;-webkit-user-select:none;user-select:none;transition:all .3s ease}.sudoku-timer-icon{font-size:1.1rem;display:inline-block;animation:sudokuTimerPulse 2s infinite ease-in-out}@keyframes sudokuTimerPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.15);opacity:1}}.sudoku-timer-label{font-size:.84rem;color:#e2e8f0cc;font-weight:600}.sudoku-timer-digits{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1.1rem;font-weight:800;letter-spacing:.06em;color:#c7d2fe}.sudoku-match-timer.running .sudoku-timer-inner{border-color:#818cf8b3;box-shadow:0 6px 20px #00000080,0 0 16px #6366f159}.sudoku-match-timer.waiting .sudoku-timer-inner{border-color:#f59e0b99;box-shadow:0 6px 20px #00000080,0 0 14px #f59e0b40}.sudoku-match-timer.waiting .sudoku-timer-digits{color:#fde68a}.sudoku-match-timer.completed .sudoku-timer-inner{border-color:#10b981d9;background:#064e3ba6;box-shadow:0 6px 22px #0000008c,0 0 20px #10b98173}.sudoku-match-timer.completed .sudoku-timer-digits{color:#6ee7b7}.sudoku-match-timer.completed .sudoku-timer-icon{animation:none}.reversi-match-timer{position:absolute;top:calc(50% - min(46vw,44vh) - 34px);left:50%;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;z-index:60;pointer-events:none;-webkit-user-select:none;user-select:none;transition:all .25s ease}.reversi-timer-inner{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .85rem;border-radius:999px;background:#0f172aa6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:none;box-shadow:none;color:#f8fafc;line-height:1;transition:all .3s ease}.reversi-timer-icon{font-size:1rem;display:inline-block;opacity:.9;animation:pulse 1.8s infinite ease-in-out}.reversi-timer-digits{font-size:.95rem;font-weight:700;font-family:Outfit,Inter,monospace,system-ui,sans-serif;letter-spacing:.08em;color:#e0e7ff}.reversi-match-timer.completed .reversi-timer-inner{border:none;box-shadow:none;background:#064e3bb3}.reversi-match-timer.completed .reversi-timer-digits{color:#6ee7b7}.reversi-match-timer.completed .reversi-timer-icon{animation:none}.sudoku-2d-grid{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);aspect-ratio:1 / 1;width:min(92vw,calc(100dvh - 150px),430px);height:min(92vw,calc(100dvh - 150px),430px);max-width:430px;max-height:430px;background:#0f172a;border:3px solid #6366f1;border-radius:14px;overflow:hidden;box-shadow:0 15px 40px #000000b3;z-index:5;transition:opacity .25s ease,filter .25s ease;box-sizing:border-box}.sudoku-2d-grid.waiting-locked{pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes sudokuMistakePulse{0%{background:#ef4444d9;transform:scale(1.06)}to{background:transparent;transform:scale(1)}}.sudoku-cell.mistake-flash{animation:sudokuMistakePulse .55s ease-out}.sudoku-cell{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;width:100%;height:100%;aspect-ratio:1 / 1;box-sizing:border-box;font-size:clamp(1rem,3.8vw,1.55rem);line-height:1;font-weight:600;border:1px solid rgba(255,255,255,.08);background:#0f172a66;cursor:pointer;transition:background .15s,color .15s,transform .1s,box-shadow .15s;position:relative}.sudoku-cell:hover:not(.initial){background:#ffffff14}.sudoku-cell.border-bottom-bold{border-bottom:2.5px solid #6366f1}.sudoku-cell.border-right-bold{border-right:2.5px solid #6366f1}.sudoku-cell.initial{background:#ffffff0f;color:#fff;font-weight:900;font-size:clamp(1.2rem,4.3vw,1.7rem);cursor:default;letter-spacing:-.5px;text-shadow:0 1px 3px rgba(0,0,0,.9)}.sudoku-cell.user-filled{background:#38bdf814;color:#38bdf8;font-weight:700;font-size:clamp(1.15rem,4.1vw,1.6rem);text-shadow:0 0 12px rgba(56,189,248,.65);cursor:pointer;animation:userCellPop .16s cubic-bezier(.34,1.56,.64,1)}@keyframes userCellPop{0%{transform:scale(.85);opacity:.7}to{transform:scale(1);opacity:1}}.sudoku-cell.error-cell{background:#ef444459!important;border-color:#ef4444!important;box-shadow:0 0 16px #ef4444cc,inset 0 0 10px #ef444480!important;color:#fca5a5!important;animation:sudokuMistakePulse .55s ease-out}.sudoku-cell.related{background:#6366f124}.sudoku-cell.same-value{background:#6366f161!important}.sudoku-cell.same-value.initial{color:#fff!important}.sudoku-cell.same-value.user-filled{color:#7dd3fc!important;text-shadow:0 0 14px rgba(56,189,248,.9)}.sudoku-cell.selected{background:#4f46e5!important;color:#fff!important;box-shadow:inset 0 0 0 2.5px #a5b4fc,0 0 15px #6366f199;z-index:2}.sudoku-cell.opponent-mistake-cell{background:#10b98129!important;border-color:#10b98199!important;cursor:pointer;position:relative}.sudoku-cell.opponent-mistake-cell .cell-correct-num{color:#34d399!important;font-weight:800;font-size:clamp(1.15rem,4vw,1.55rem);text-shadow:0 0 10px rgba(16,185,129,.7);position:relative}.sudoku-cell.opponent-mistake-cell .cell-wrong-num{color:#ef4444!important;font-weight:800;font-size:clamp(1.15rem,4vw,1.55rem);text-shadow:0 0 10px rgba(239,68,68,.7);position:relative}.sudoku-cell.opponent-mistake-cell .cell-wrong-x{position:absolute;top:2px;right:4px;font-size:.65rem;font-weight:900;color:#f87171;opacity:.85}[dir=rtl] .sudoku-cell.opponent-mistake-cell .cell-wrong-x{right:auto;left:4px}.sudoku-cell.opponent-mistake-pulse{animation:opponentMistakePulse 1.2s ease-out}@keyframes opponentMistakePulse{0%{background:#10b981b3!important;transform:scale(1.08);box-shadow:0 0 25px #10b981e6}50%{background:#10b98159!important;transform:scale(.98)}to{background:#10b98129!important;transform:scale(1)}}.sudoku-cell.opponent-solved-shimmer{animation:opponentSolvedShimmer 1.4s ease-out forwards}@keyframes opponentSolvedShimmer{0%{box-shadow:0 0 28px #fbbf24e6,inset 0 0 15px #fbbf2499;border-color:#fbbf24!important;transform:scale(1.06)}40%{box-shadow:0 0 20px #10b981bf,inset 0 0 10px #10b98180;border-color:#10b981!important}to{transform:scale(1);box-shadow:none}}.sudoku-star-sparkle{position:absolute;pointer-events:none;font-size:1.35rem;z-index:100;animation:starSparkleFly .95s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--delay, 0ms);transform:translate(-50%,-50%);filter:drop-shadow(0 0 6px rgba(251,191,36,.9))}@keyframes starSparkleFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}25%{opacity:1;transform:translate(calc(-50% + var(--dx) * .4),calc(-50% + var(--dy) * .4)) scale(1.3) rotate(45deg)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.6) rotate(180deg)}}.sudoku-in-grid-toast{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#b91c1cf0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:.55rem 1.15rem;border-radius:999px;font-size:.88rem;font-weight:700;display:flex;align-items:center;gap:.5rem;box-shadow:0 8px 24px #0009,0 0 16px #ef444499;border:1px solid rgba(252,165,165,.4);z-index:150;pointer-events:none;animation:toastSlideDown .35s cubic-bezier(.34,1.56,.64,1) forwards;max-width:90%;text-align:center;white-space:nowrap}.sudoku-in-grid-toast.fade-out{animation:toastFadeOut .3s ease-out forwards}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%,-18px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes toastFadeOut{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-12px) scale(.9)}}.sudoku-penalty-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0f1de0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:120;display:flex;align-items:center;justify-content:center;padding:1.2rem;animation:penaltyFadeIn .28s ease-out forwards}.sudoku-penalty-overlay.fade-out{animation:penaltyFadeOut .25s ease-in forwards}.sudoku-penalty-card{max-width:340px;width:100%;text-align:center;padding:1.8rem 1.4rem;background:#1e293bf2;border:1.5px solid rgba(239,68,68,.55);border-radius:20px;box-shadow:0 16px 40px #000000b3,0 0 30px #ef444459;display:flex;flex-direction:column;align-items:center;gap:.65rem}.sudoku-penalty-card.has-ad{max-width:420px;width:min(94vw,420px);padding:1rem 1.1rem;gap:.75rem}.sudoku-penalty-header-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:start}.sudoku-penalty-header-info{flex:1;min-width:0}.sudoku-penalty-card.has-ad .penalty-title{font-size:1rem;margin-bottom:.15rem}.sudoku-penalty-card.has-ad .penalty-desc{font-size:.78rem}.penalty-countdown-badge.compact{margin-top:0;padding:.3rem .85rem;flex-shrink:0}.penalty-countdown-badge.compact .penalty-countdown-val{font-size:1.35rem}.penalty-countdown-badge.compact .penalty-countdown-unit{font-size:.75rem}.sudoku-penalty-ad-box{width:100%;display:flex;flex-direction:column}.penalty-icon-pulse{font-size:2.8rem;animation:penaltyPulse 1s infinite ease-in-out}.penalty-title{margin:0;font-size:1.15rem;font-weight:800;color:#fca5a5;letter-spacing:-.2px}.penalty-desc{margin:0;font-size:.86rem;color:#cbd5e1;line-height:1.45}.penalty-countdown-badge{margin-top:.5rem;display:inline-flex;align-items:baseline;justify-content:center;gap:.4rem;background:#ef44442e;border:1.5px solid #ef4444;border-radius:999px;padding:.5rem 1.6rem;box-shadow:0 0 20px #ef44444d}.penalty-countdown-val{font-size:2.2rem;font-weight:900;color:#fff;font-family:monospace}.penalty-countdown-unit{font-size:.85rem;font-weight:700;color:#fca5a5}@keyframes penaltyFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes penaltyFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes penaltyPulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.sudoku-popup-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:55;background:#00000047;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer;animation:sudokuBackdropFadeIn .14s ease-out}@keyframes sudokuBackdropFadeIn{0%{opacity:0}to{opacity:1}}.sudoku-popup-keypad{position:absolute;z-index:60;display:flex;flex-direction:column;gap:.45rem;padding:.55rem;background:#0f172af5;border:1.5px solid rgba(99,102,241,.65);border-radius:18px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 16px 42px #000000bf,0 0 24px #6366f159;animation:sudokuPopupPop .16s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none;pointer-events:auto}@keyframes sudokuPopupPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.sudoku-popup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.38rem}.sudoku-popup-btn{width:48px;height:48px;background:linear-gradient(135deg,#1e293bf2,#0f172af2);border:1px solid rgba(148,163,184,.28);border-radius:12px;color:#f8fafc;font-size:1.25rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .14s ease;box-shadow:0 4px 10px #0000004d}.sudoku-popup-btn:hover{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:#818cf8;color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #6366f180}.sudoku-popup-btn:active{transform:scale(.94)}.sudoku-popup-btn.active-val{background:linear-gradient(135deg,#10b981,#059669);border-color:#34d399;color:#fff;box-shadow:0 0 14px #10b98180}.sudoku-popup-actions{display:flex;align-items:center;gap:.35rem;margin-top:.1rem}.sudoku-popup-action-btn{border-radius:10px;font-weight:700;font-size:.8rem;cursor:pointer;transition:all .14s ease;border:1px solid transparent;display:flex;align-items:center;justify-content:center}.sudoku-popup-action-btn.erase{flex:1;height:36px;gap:.35rem;background:#ef444433;border-color:#ef444473;color:#fca5a5;font-size:.82rem}.sudoku-popup-action-btn.erase:hover{background:#ef444466;color:#fff;border-color:#ef4444}.sudoku-popup-action-btn.erase:active{transform:scale(.96)}.sudoku-popup-action-btn.close{width:36px;height:36px;background:#94a3b829;border-color:#94a3b84d;color:#cbd5e1;font-size:.95rem}.sudoku-popup-action-btn.close:hover{background:#94a3b84d;color:#fff}.sudoku-popup-action-btn.close:active{transform:scale(.94)}.overlay-group-left{display:flex;align-items:center;align-self:flex-start;gap:.5rem;flex-shrink:0;z-index:200}.game-nav-btn{width:38px;height:38px;border-radius:10px;background:#0f172ad9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--card-border);color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;align-self:flex-start;flex-shrink:0}.game-nav-btn:hover{background:#6366f14d;border-color:var(--primary);transform:scale(1.05)}.game-nav-btn:active{transform:scale(.95)}.overlay-actions-right{position:relative;z-index:200}.game-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;max-width:calc(100vw - 2rem);background:#0f172afa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.35);border-radius:12px;padding:.45rem;box-shadow:0 16px 40px #000000bf,0 0 20px #6366f140;z-index:1000;display:flex;flex-direction:column;gap:.25rem;animation:menuFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .8rem;background:transparent;border:none;border-radius:8px;color:#f1f5f9;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s;text-align:left}.menu-item:hover{background:#ffffff14}.menu-item .icon{font-size:1.1rem}.menu-item.danger{color:#f87171}.menu-item.danger:hover{background:#ef444426}.menu-divider{height:1px;background:var(--card-border);margin:.3rem 0}.floating-action-btn{width:52px;height:52px;border-radius:50%;background:#0f172ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1.5px solid rgba(99,102,241,.5);box-shadow:0 8px 24px #00000080,0 0 12px #6366f14d;font-size:1.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;z-index:50;position:absolute}.floating-action-btn:hover{transform:scale(1.1);background:var(--primary);box-shadow:0 10px 30px #6366f199}.floating-action-btn:active{transform:scale(.92)}.floating-action-btn.bottom-left{position:absolute;bottom:1.5rem;left:1.5rem}.floating-action-btn.bottom-right{position:absolute;bottom:1.5rem;right:1.5rem}.social-modal,.quick-msg-modal{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:125;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;overscroll-behavior:contain;touch-action:pan-y}.social-modal-backdrop,.quick-msg-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#050816e0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:backdropFade .25s ease-out;touch-action:none}.social-tab-view{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.social-modal-tabs{position:absolute;bottom:1.5rem;left:1.5rem;z-index:135;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem;background:#0f172af0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(99,102,241,.45);border-radius:9999px;box-shadow:0 10px 30px #000000a6,0 0 18px #6366f14d}.social-tab-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.05rem;border-radius:9999px;background:transparent;border:none;color:#94a3b8;font-family:inherit;font-size:.92rem;font-weight:700;cursor:pointer;transition:all .22s cubic-bezier(.16,1,.3,1);white-space:nowrap}.social-tab-btn:hover{color:#f8fafc;background:#ffffff14}.social-tab-btn.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 16px #6366f18c}.social-tab-btn .social-tab-icon{font-size:1.15rem;line-height:1}@media (max-width: 640px){.social-modal-tabs{bottom:max(1.2rem,calc(env(safe-area-inset-bottom,0px) + 1rem));left:max(.85rem,env(safe-area-inset-left,10px));padding:.28rem;gap:.25rem}.social-tab-btn{padding:.45rem .8rem;font-size:.84rem;gap:.35rem}.social-tab-btn .social-tab-icon{font-size:1.05rem}}@media (max-width: 360px){.social-tab-btn .social-tab-label{display:none}.social-tab-btn{padding:.5rem .65rem}}.quick-msg-fullscreen-wrapper{position:relative;z-index:2;width:100%;max-width:720px;height:100%;max-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,3vw,1.5rem) clamp(.75rem,3vw,1.5rem) max(5.5rem,calc(env(safe-area-inset-bottom,0px) + 5rem));box-sizing:border-box}.quick-msg-dialog-card{background:#0f172af5;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1.5px solid rgba(99,102,241,.35);box-shadow:0 24px 60px #000000bf,0 0 35px #6366f133;border-radius:24px;width:100%;max-width:680px;max-height:min(85vh,85dvh);display:flex;flex-direction:column;overflow:hidden;animation:pickerPopIn .3s cubic-bezier(.175,.885,.32,1.275)}.quick-msg-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.4rem .5rem;border-bottom:none;background:transparent}[dir=rtl] .quick-msg-dialog-header{flex-direction:row-reverse}.quick-msg-dialog-title{font-size:1.05rem;font-weight:700;color:#e2e8f0;letter-spacing:-.2px}.quick-msg-close-btn{width:36px;height:36px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#cbd5e1;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease}.quick-msg-close-btn:hover{background:#ef444433;border-color:#ef4444;color:#f87171;transform:scale(1.08)}.quick-msg-dialog-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:1.2rem;scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.4) transparent;-webkit-overflow-scrolling:touch}.quick-msg-category{display:flex;flex-direction:column;gap:.6rem}.quick-msg-category-title{display:flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:700;color:#a5b4fc;letter-spacing:.3px}.quick-msg-chips-grid{display:flex;flex-wrap:wrap;gap:.55rem}.quick-chip-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.11);border-radius:14px;padding:.55rem .95rem;color:#e2e8f0;font-size:.92rem;font-family:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;transition:all .2s cubic-bezier(.16,1,.3,1);user-select:none;-webkit-user-select:none}.quick-chip-btn:hover{background:#6366f147;border-color:#818cf8;color:#fff;transform:translateY(-2px);box-shadow:0 4px 14px #6366f159}.quick-chip-btn:active{transform:scale(.96)}.quick-msg-form-wrapper{padding:.85rem 1.4rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:#0a0f1da6}.quick-msg-dialog-form{display:flex;gap:.65rem;align-items:center}.quick-msg-dialog-input{flex:1;padding:.8rem 1.15rem;background:#00000073;border:1.5px solid rgba(255,255,255,.14);border-radius:14px;color:#fff;font-size:.96rem;font-family:inherit;outline:none;transition:all .2s;box-sizing:border-box}.quick-msg-dialog-input::placeholder{color:#64748b}.quick-msg-dialog-input:focus{border-color:#6366f1;box-shadow:0 0 16px #6366f166;background:#000000a6}.quick-msg-dialog-send-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:14px;padding:.8rem 1.45rem;color:#fff;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;transition:all .18s ease;box-shadow:0 4px 16px #6366f166;white-space:nowrap}.quick-msg-dialog-send-btn:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);transform:translateY(-2px);box-shadow:0 6px 22px #6366f199}.quick-msg-dialog-send-btn:active{transform:scale(.96)}@media (max-width: 640px){.quick-msg-dialog-card{max-height:min(90vh,90dvh);border-radius:20px}.quick-msg-dialog-header{padding:.9rem 1.1rem}.quick-msg-dialog-body{padding:1rem 1.1rem;gap:1rem}.quick-chip-btn{padding:.45rem .8rem;font-size:.86rem}.quick-msg-form-wrapper{padding:.85rem 1.1rem 1rem}.quick-msg-dialog-input{padding:.7rem .95rem;font-size:.9rem}.quick-msg-dialog-send-btn{padding:.7rem 1.1rem;font-size:.9rem}}.floating-quick-msg-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;z-index:3000;pointer-events:none;width:90%;max-width:440px}.floating-quick-bubble{background:#0f172af0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1.5px solid rgba(129,140,248,.65);border-radius:16px;padding:.8rem 1.6rem;color:#fff;font-weight:700;font-size:1.15rem;letter-spacing:-.2px;box-shadow:0 16px 40px #000000a6,0 0 24px #6366f159;animation:bubblePop 4.2s cubic-bezier(.16,1,.3,1) forwards;display:flex;align-items:center;justify-content:center;gap:.6rem;text-align:center;word-break:break-word;max-width:100%}@keyframes bubblePop{0%{opacity:0;transform:translateY(16px) scale(.85)}12%{opacity:1;transform:translateY(0) scale(1.03)}20%{transform:translateY(0) scale(1)}80%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-16px) scale(.9)}}.incoming-voice-popup-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:3100;pointer-events:auto;user-select:none;-webkit-user-select:none}.incoming-voice-float{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;background:#0f172aeb;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1.5px solid rgba(99,102,241,.55);border-radius:999px;padding:.65rem .9rem;box-shadow:0 16px 45px #000c,0 0 28px #6366f159;animation:pickerPopIn .3s cubic-bezier(.175,.885,.32,1.275);touch-action:none}.incoming-voice-float.closing{animation:voicePopOut .2s ease-in forwards}@keyframes voicePopOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}.incoming-zone{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;outline:none;font-family:inherit;font-size:1.25rem;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.zone-discard{background:#ef444429;border:1.5px solid rgba(239,68,68,.45);color:#f87171}.zone-discard:hover,.zone-discard.active{background:#ef4444;border-color:#fff;transform:scale(1.22);box-shadow:0 0 22px #ef4444bf}.zone-play{background:#10b98129;border:1.5px solid rgba(16,185,129,.45);color:#34d399}.zone-play:hover,.zone-play.active{background:#10b981;border-color:#fff;transform:scale(1.22);box-shadow:0 0 22px #10b981bf}.incoming-sound-pill{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4f46e5);border:2px solid rgba(255,255,255,.35);box-shadow:0 6px 22px #6366f180;display:flex;align-items:center;justify-content:center;cursor:grab;position:relative;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .1s ease-out,background .2s ease,box-shadow .2s ease}.incoming-sound-pill:active{cursor:grabbing}.incoming-sound-pill.playing{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 0 25px #10b981bf}.incoming-pill-icon{font-size:1.65rem;line-height:1;pointer-events:none}.incoming-pill-pulse{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid rgba(99,102,241,.65);animation:pillPulse 1.4s infinite cubic-bezier(.4,0,.2,1);pointer-events:none}.incoming-sound-pill.playing .incoming-pill-pulse{border-color:#10b981}@keyframes pillPulse{0%{transform:scale(.92);opacity:.95}to{transform:scale(1.36);opacity:0}}.incoming-pill-waves{display:flex;align-items:center;justify-content:center;gap:3px;height:22px}.pill-wave-bar{width:3.5px;height:6px;border-radius:2px;background:#fff;animation:pillWave .7s infinite alternate ease-in-out}.pill-wave-bar:nth-child(2){animation-delay:.15s}.pill-wave-bar:nth-child(3){animation-delay:.3s}.pill-wave-bar:nth-child(4){animation-delay:.45s}@keyframes pillWave{0%{height:4px}to{height:20px}}.voice-gesture-fullscreen-wrapper{position:relative;z-index:2;width:100%;max-width:520px;height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box}.voice-gesture-stage{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:380px;position:relative;user-select:none;-webkit-user-select:none;touch-action:none}.voice-center-controller{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:5}.voice-live-timer{font-size:1.45rem;font-weight:800;font-family:JetBrains Mono,monospace;color:#ef4444;letter-spacing:1px;height:28px;margin-bottom:.8rem;transition:opacity .2s ease;text-shadow:0 0 12px rgba(239,68,68,.6)}.voice-mic-glow-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:106px;height:106px;border-radius:50%;border:2px dashed rgba(99,102,241,.4);pointer-events:none;transition:all .25s ease}.voice-mic-glow-ring.recording{width:118px;height:118px;border-style:solid;border-color:#ef4444;box-shadow:0 0 26px #ef4444a6,inset 0 0 16px #ef444459;animation:micRingPulse 1.2s infinite alternate ease-in-out}@keyframes micRingPulse{0%{transform:translate(-50%,-50%) scale(.96);box-shadow:0 0 12px #ef444466}to{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 32px #ef4444cc}}.voice-gesture-mic-btn{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4f46e5);border:2px solid rgba(255,255,255,.3);box-shadow:0 8px 24px #4f46e573;display:flex;align-items:center;justify-content:center;color:#fff;cursor:grab;position:relative;z-index:6;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .1s ease-out,background .2s ease,box-shadow .2s ease}.voice-gesture-mic-btn:active,.voice-gesture-mic-btn.recording{cursor:grabbing;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 8px 30px #ef4444a6;transform:scale(1.08)}.voice-gesture-mic-btn .mic-icon{font-size:2.3rem;line-height:1;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.voice-drag-arrow-guide{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1.2rem;color:#94a3b8;font-size:.84rem;font-weight:600;white-space:nowrap}.voice-drag-arrow-guide .guide-arrow{font-size:.95rem;color:#6366f1;opacity:.85}.voice-gesture-target{display:flex;align-items:center;justify-content:center;z-index:2;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.target-bubble{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.45rem;transition:all .2s ease;pointer-events:none}.target-cancel .target-bubble{background:#ef444424;border:1.5px solid rgba(239,68,68,.4);color:#f87171}.target-cancel.active .target-bubble,.target-cancel:hover .target-bubble{background:#ef4444;border-color:#fff;transform:scale(1.26);box-shadow:0 0 25px #ef4444cc}.target-send .target-bubble{background:#10b98124;border:1.5px solid rgba(16,185,129,.4);color:#34d399}.target-send.active .target-bubble,.target-send:hover .target-bubble{background:#10b981;border-color:#fff;transform:scale(1.26);box-shadow:0 0 25px #10b981cc}.emote-picker-modal{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:120;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}.emote-picker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#050816e0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:backdropFade .25s ease-out}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}.emote-picker-fullscreen-wrapper{position:relative;z-index:2;width:100%;max-width:900px;height:100%;max-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1.2rem max(5.5rem,calc(env(safe-area-inset-bottom,0px) + 5rem));overflow:hidden;animation:pickerPopIn .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes pickerPopIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.emote-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(6,1fr);gap:clamp(.3rem,1.2vw,.75rem);width:100%;max-width:760px;max-height:82vh;max-height:82dvh;overflow-y:auto;overflow-x:hidden;padding:.5rem;justify-items:center;align-items:center;scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.4) transparent}@media (max-width: 640px){.emote-grid{grid-template-columns:repeat(6,1fr);grid-template-rows:auto;gap:clamp(.25rem,1.5vw,.45rem);max-height:80dvh;padding:.25rem}}.emote-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;width:100%;max-width:68px;aspect-ratio:1 / 1;height:auto;font-size:clamp(1.6rem,4vw,2.3rem);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),background .2s,border-color .2s,box-shadow .2s}.emote-btn:hover{background:#6366f14d;border-color:#818cf8;transform:scale(1.18);box-shadow:0 8px 24px #6366f166;z-index:10}.close-reaction-btn{z-index:130!important;background:#ef4444e6!important;border-color:#ef4444!important;color:#fff!important;box-shadow:0 8px 25px #ef444480!important;font-weight:800}.close-reaction-btn:hover{background:#dc2626!important;transform:scale(1.1)!important}.emote-btn:after{content:attr(data-title);position:absolute;bottom:-28px;left:50%;transform:translate(-50%) translateY(4px);background:#0f172af2;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100;box-shadow:0 4px 12px #00000080}.emote-btn:hover:after,.emote-btn:active:after{opacity:1;transform:translate(-50%) translateY(0)}.emote-btn:hover{transform:scale(1.18);background:#6366f138;border-color:#818cf8;box-shadow:0 8px 20px #6366f166;z-index:20}.emote-btn:active{transform:scale(.95)}.reaction-burst-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3000;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.reaction-burst-bubble{display:flex;flex-direction:column;align-items:center;gap:.4rem;animation:burstElasticAnimation 2.8s cubic-bezier(.175,.885,.32,1.275) forwards}.burst-emoji{font-size:clamp(5rem,18vw,8.5rem);filter:drop-shadow(0 15px 35px rgba(0,0,0,.6)) drop-shadow(0 0 25px rgba(99,102,241,.6))}.burst-sender{background:#0f172ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.4rem 1rem;border-radius:20px;border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:700;font-size:.95rem;box-shadow:0 8px 20px #00000080}@keyframes burstElasticAnimation{0%{opacity:0;transform:scale(.1) rotate(-15deg)}15%{opacity:1;transform:scale(1.25) rotate(5deg)}25%{transform:scale(1) rotate(0)}75%{opacity:1;transform:scale(1.05) translateY(-10px)}to{opacity:0;transform:scale(.6) translateY(-60px)}}.rules-modal-content{text-align:left;line-height:1.6;color:#cbd5e1;font-size:.92rem;max-height:55vh;overflow-y:auto;padding:.5rem}.navbar-left{display:flex;align-items:center;gap:.8rem}.navbar-right{position:relative;display:flex;align-items:center;gap:.6rem}.navbar-icon-btn{width:38px;height:38px;border-radius:10px;background:#ffffff0f;border:1px solid var(--card-border);color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.navbar-icon-btn:hover{background:#6366f140;border-color:var(--primary);transform:scale(1.05)}.navbar-icon-btn:active{transform:scale(.95)}.btn-versus{background:linear-gradient(135deg,#ec4899,#8b5cf6)!important}.btn-versus:hover{background:linear-gradient(135deg,#db2777,#7c3aed)!important;box-shadow:0 4px 15px #ec489966}.drawer-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:180;animation:backdropFade .25s ease-out}.side-drawer{position:fixed;top:0;width:min(88vw,360px);height:100vh;background:#0f172afa;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:0 0 50px #000000d9;z-index:190;transition:transform .32s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.side-drawer.left-drawer{left:0;border-right:1px solid var(--card-border);transform:translate(-105%)}.side-drawer.left-drawer.open{transform:translate(0)}.side-drawer.right-drawer{right:0;border-left:1px solid var(--card-border);transform:translate(105%)}.side-drawer.right-drawer.open{transform:translate(0)}.side-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.3rem;border-bottom:1px solid var(--card-border);background:#161c2d66}.side-drawer-header.no-title{justify-content:flex-end;padding:.9rem 1.2rem .2rem;border-bottom:none;background:transparent}.side-drawer-header h3{font-size:1.1rem;font-weight:700;color:#c7d2fe}.side-drawer-body{padding:1.2rem;display:flex;flex-direction:column;flex:1;overflow-y:auto}.drawer-settings-list{display:flex;flex-direction:column;gap:.5rem;width:100%}.drawer-setting-item{display:flex;align-items:center;gap:.8rem;width:100%;padding:.75rem 1rem;background:#ffffff0a;border:1px solid var(--card-border);border-radius:12px;color:#fff;font-family:inherit;font-size:.92rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left}.drawer-setting-item:hover{background:#6366f133;border-color:#818cf8}.drawer-setting-item.danger{color:#f87171}.drawer-setting-item.danger:hover{background:#ef444433;border-color:#ef4444}.direct-drawer-body{padding:0;overflow:hidden;position:relative}.drawer-subview{display:flex;flex-direction:column;height:100%;width:100%}.drawer-section-title{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.1rem;font-size:.85rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--card-border)}.drawer-chat-topbar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--card-border);background:#161c2d80;gap:.5rem}.drawer-back-btn{background:transparent;border:1px solid var(--card-border);color:#fff;font-family:inherit;font-size:.85rem;padding:.35rem .65rem;border-radius:8px;cursor:pointer;transition:all .2s}.drawer-back-btn:hover{background:#ffffff1a}.drawer-chat-user{flex:1;display:flex;flex-direction:column;min-width:0}.drawer-chat-name{font-size:.92rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-chat-status{font-size:.72rem;color:#10b981}html:has(body.in-match),body.in-match{overflow:hidden!important;height:100%!important;height:100dvh!important;width:100%!important;margin:0!important;padding:0!important}body.in-match #app{height:100%!important;height:100dvh!important;min-height:100%!important;max-height:100dvh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;margin:0!important;padding:0!important}body.in-match .navbar,body.in-match #bottomDashboard{display:none!important}body.in-match .main-content,body.in-match #gameSection,body.in-match .game-layout{height:100%!important;height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;padding:0!important;margin:0!important;overflow:hidden!important}body.in-match .canvas-wrapper{height:100%!important;width:100%!important;position:relative!important;overflow:hidden!important}.auth-top-actions{display:flex;justify-content:flex-end;width:100%;margin-bottom:.65rem;position:relative;z-index:60}.lang-dropdown-wrapper{position:relative;display:inline-block}.lang-dropdown-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:9999px;color:#e2e8f0;font-family:inherit;font-size:.85rem;font-weight:600;padding:.4rem .85rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;gap:.45rem;box-shadow:0 2px 8px #0003;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none}.lang-dropdown-btn:hover{background:#6366f133;border-color:#818cf880;color:#fff;box-shadow:0 4px 14px #6366f140}.lang-dropdown-btn.open{background:#6366f147;border-color:#818cf8;color:#fff;box-shadow:0 0 16px #6366f159}.lang-chevron-icon{transition:transform .2s ease;color:#94a3b8}.lang-dropdown-btn.open .lang-chevron-icon{transform:rotate(180deg);color:#c7d2fe}.lang-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:165px;background:#0f172af2;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:.4rem;box-shadow:0 12px 30px #000000a6,0 0 20px #6366f133;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:100;display:flex;flex-direction:column;gap:.25rem;animation:langMenuFadeIn .18s cubic-bezier(.16,1,.3,1)}@keyframes langMenuFadeIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.lang-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .75rem;border-radius:10px;border:none;background:transparent;color:#cbd5e1;font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:start}.lang-menu-item:hover{background:#ffffff14;color:#fff}.lang-menu-item.active{background:#6366f138;color:#a5b4fc;font-weight:700}.lang-item-flag{font-size:1.15rem;line-height:1}.lang-item-name{flex:1}.lang-item-check{font-size:.9rem;color:#38bdf8;opacity:0;transition:opacity .15s}.lang-menu-item.active .lang-item-check{opacity:1}body.rtl-layout .lang-dropdown-menu{right:auto;left:0}body.rtl-layout{direction:rtl;text-align:right}body.rtl-layout .drawer-setting-item,body.rtl-layout .friend-meta{text-align:right}body.rtl-layout .overlay-row-main{flex-direction:row-reverse}body.rtl-layout .game-dropdown-menu{right:auto;left:0}body.rtl-layout .drawer-chat-topbar{flex-direction:row-reverse}.bottom-dock{position:fixed;bottom:max(.45rem,env(safe-area-inset-bottom,8px));left:50%;transform:translate(-50%);background:#0f172ae0;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 35px #000000a6,0 0 25px #6366f133;border-radius:50px;display:flex;align-items:center;gap:1.4rem;padding:.35rem 1.3rem;z-index:170;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s}.bottom-dock.hidden,body.in-auth #bottomDashboard,#app:has(#authSection.active) #bottomDashboard{display:none!important;transform:translate(-50%) translateY(120px);opacity:0!important;pointer-events:none!important;visibility:hidden!important}.dock-btn{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:all .28s cubic-bezier(.16,1,.3,1)}.dock-btn-side{width:48px;height:48px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:#fff;font-size:1.3rem;box-shadow:0 4px 14px #0000004d}.dock-btn-side:hover{background:#6366f159;border-color:#818cf8;transform:translateY(-4px) scale(1.08);box-shadow:0 8px 20px #6366f166}.dock-btn-side:active{transform:translateY(-1px) scale(.96)}.dock-btn-center{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);border:2px solid rgba(255,255,255,.35);box-shadow:0 8px 24px #7c3aed99,0 0 15px #6366f166;transform:translateY(-8px)}.dock-btn-center:hover{transform:translateY(-12px) scale(1.1);box-shadow:0 12px 32px #a855f7cc,0 0 25px #6366f199}.dock-btn-center:active{transform:translateY(-4px) scale(.98)}.dock-logo-img{width:40px;height:40px;border-radius:50%;object-fit:cover;pointer-events:none}.dock-unread-dot{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #0f172a;box-shadow:0 0 10px #ef4444b3;pointer-events:none}.profile-avatar-large{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#ec4899);display:flex;align-items:center;justify-content:center;font-size:2.2rem;margin-bottom:.8rem;box-shadow:0 8px 24px #6366f166}.drawer-email{color:var(--text-muted);font-size:.85rem;margin-bottom:1.5rem}.profile-stats-card{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;width:100%;background:#ffffff08;border:1px solid var(--card-border);border-radius:14px;padding:1rem .5rem;margin-bottom:2rem}.stat-box{display:flex;flex-direction:column;align-items:center;gap:.2rem}.stat-val{font-size:1.3rem;font-weight:700;color:#818cf8}.stat-lbl{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}#directSection{max-width:1100px;margin:1.5rem auto;padding:0 1rem;width:100%}.direct-layout{display:grid;grid-template-columns:320px 1fr;height:75vh;min-height:540px;border-radius:18px;overflow:hidden;padding:0}.friends-sidebar{border-right:1px solid var(--card-border);display:flex;flex-direction:column;background:#0f172a99}.friends-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.2rem;border-bottom:1px solid var(--card-border)}.friends-sidebar-header h3{font-size:1.1rem;font-weight:700}.friends-count-badge{background:#6366f133;color:#818cf8;font-size:.8rem;font-weight:700;padding:.2rem .6rem;border-radius:12px}.add-friend-form{display:flex;gap:.4rem;padding:.8rem 1rem;border-bottom:1px solid var(--card-border)}.add-friend-form input{flex:1;background:#ffffff0d;border:1px solid var(--card-border);border-radius:8px;padding:.5rem .8rem;color:#fff;font-family:inherit;font-size:.85rem;outline:none}.add-friend-form input:focus{border-color:var(--primary)}.add-friend-btn{padding:.5rem .9rem;font-size:.85rem;border-radius:8px}.friends-list-container{flex:1;overflow-y:auto;padding:.5rem}.friends-empty-state{color:var(--text-muted);font-size:.85rem;text-align:center;padding:2.5rem 1rem;line-height:1.5}.friend-item{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;border-radius:12px;cursor:pointer;transition:all .2s;margin-bottom:.3rem}.friend-item:hover,.friend-item.active{background:#6366f126;border:1px solid rgba(99,102,241,.3)}.friend-avatar-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#ec4899);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;position:relative}.friend-online-dot{position:absolute;bottom:1px;right:1px;width:10px;height:10px;border-radius:50%;background:#10b981;border:2px solid #0b0f19}.friend-meta{flex:1;min-width:0}.friend-meta-name{font-size:.92rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-meta-sub{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-item-actions{display:flex;align-items:center;gap:.4rem;margin-left:auto;flex-shrink:0}[dir=rtl] .friend-item-actions,body.fa-mode .friend-item-actions{margin-left:0;margin-right:auto}.friend-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.35rem .7rem;font-size:.78rem;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff;transition:all .2s cubic-bezier(.22,1,.36,1)}.friend-action-btn:hover{transform:translateY(-1px)}.friend-chat-btn{background:linear-gradient(135deg,#6366f159,#a855f759);border-color:#818cf873;color:#c7d2fe}.friend-chat-btn:hover{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#818cf8;color:#fff;box-shadow:0 4px 12px #6366f166}.friend-invite-btn{background:#f59e0b2e;border-color:#f59e0b66;color:#fde68a;padding:.35rem .55rem}.friend-invite-btn:hover{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#fbbf24;color:#fff;box-shadow:0 4px 12px #f59e0b66}.direct-chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem 1.5rem;margin:auto 0;animation:fadeIn .3s ease}.direct-chat-empty-state .empty-state-avatar{width:60px;height:60px;border-radius:50%;margin-bottom:.9rem;background:linear-gradient(135deg,#6366f1,#a855f7);display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 8px 24px #6366f159;border:2px solid rgba(255,255,255,.15)}.direct-chat-empty-state .empty-state-title{font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:.35rem}.direct-chat-empty-state .empty-state-desc{font-size:.85rem;color:var(--text-muted);max-width:330px;line-height:1.55;margin-bottom:1.25rem}.direct-chat-empty-state .empty-state-quick-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.empty-state-quick-actions button{padding:.55rem 1.1rem;font-size:.86rem;font-weight:600;border-radius:10px;cursor:pointer;border:none;transition:all .2s cubic-bezier(.22,1,.36,1);display:inline-flex;align-items:center;gap:.35rem}.empty-state-quick-actions .quick-hello-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 14px #6366f159}.empty-state-quick-actions .quick-hello-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px);box-shadow:0 6px 18px #6366f180}.empty-state-quick-actions .quick-challenge-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 14px #f59e0b59}.empty-state-quick-actions .quick-challenge-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 6px 18px #f59e0b80}.direct-chat-area{display:flex;flex-direction:column;background:#0b0f1966;position:relative}.direct-chat-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:2rem}.direct-chat-placeholder .empty-icon{font-size:3rem;margin-bottom:.8rem;opacity:.7}.direct-chat-placeholder h3{font-size:1.25rem;color:#fff;margin-bottom:.4rem}.direct-chat-wrapper{display:flex;flex-direction:column;height:100%}.direct-chat-header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.4rem;border-bottom:1px solid var(--card-border);background:#0f172a80}.direct-chat-user-info{display:flex;align-items:center;gap:.8rem}.friend-status-text{font-size:.75rem;color:#10b981;font-weight:600}.invite-match-btn{padding:.5rem 1rem;font-size:.85rem;border-radius:8px;background:linear-gradient(135deg,#10b981,#059669)}.direct-messages-scroll{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:.75rem}.direct-bubble{max-width:72%;padding:.65rem 1rem;border-radius:16px;font-size:.9rem;line-height:1.4;word-break:break-word}.direct-bubble.outgoing{align-self:flex-end;background:#4f46e5;color:#fff;border-bottom-right-radius:4px}.direct-bubble.incoming{align-self:flex-start;background:#ffffff14;color:#f1f5f9;border-bottom-left-radius:4px;border:1px solid var(--card-border)}.direct-bubble-time{font-size:.68rem;opacity:.7;display:block;margin-top:.25rem;text-align:right}.invite-match-card{background:linear-gradient(135deg,#6366f12e,#4f46e547);border:1.5px solid rgba(129,140,248,.45);border-radius:14px;padding:.85rem 1.1rem;display:flex;flex-direction:column;gap:.55rem;box-shadow:0 4px 16px #0000004d}.invite-match-card-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;font-weight:700;padding:.55rem 1rem;border-radius:10px;cursor:pointer;text-align:center;transition:all .2s cubic-bezier(.22,1,.36,1);box-shadow:0 4px 12px #4f46e559}.invite-match-card-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 6px 16px #4f46e580}.direct-chat-input-bar{display:flex;gap:.6rem;padding:.9rem 1.2rem;border-top:1px solid var(--card-border);background:#0f172a80}.direct-chat-input-bar input{flex:1;background:#ffffff0d;border:1px solid var(--card-border);border-radius:10px;padding:.65rem 1rem;color:#fff;font-family:inherit;font-size:.92rem;outline:none}.direct-chat-input-bar input:focus{border-color:var(--primary)}@media (max-width: 768px){.direct-layout{grid-template-columns:1fr;height:auto;min-height:80vh}.friends-sidebar{border-right:none;border-bottom:1px solid var(--card-border);max-height:250px}}.drawer-subtabs-row{display:flex;background:#ffffff0d;border-radius:12px;padding:4px;margin-bottom:.9rem;gap:4px}.drawer-subtab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .6rem;font-size:.85rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.drawer-subtab-btn:hover{color:#fff}.drawer-subtab-btn.active{background:#6366f140;color:#fff;border:1px solid rgba(129,140,248,.4)}.requests-badge{background:#ef4444!important;color:#fff!important}.friend-unread-badge{background:#ef4444;color:#fff;font-size:.72rem;font-weight:700;padding:.15rem .45rem;border-radius:10px;min-width:18px;text-align:center;box-shadow:0 0 8px #ef444480;margin-inline-start:auto}.friend-request-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;background:#ffffff08;border:1px solid var(--card-border);border-radius:12px;margin-bottom:.6rem}.friend-request-actions{display:flex;gap:.4rem;margin-inline-start:auto}.btn-accept-friend,.btn-decline-friend{border:none;border-radius:8px;padding:.35rem .65rem;font-size:.82rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;transition:transform .15s ease,opacity .15s ease}.btn-accept-friend{background:#10b981;color:#fff}.btn-accept-friend:hover{background:#059669;transform:translateY(-1px)}.btn-decline-friend{background:#ffffff1a;color:var(--text-muted)}.btn-decline-friend:hover{background:#ef444433;color:#ef4444}.invite-match-card{display:flex;flex-direction:column;gap:.55rem;padding:.85rem 1.05rem;background:linear-gradient(135deg,#4f46e559,#a855f740);border:1px solid rgba(168,85,247,.45);border-radius:14px;margin:.35rem 0;box-shadow:0 4px 16px #6366f133}.invite-match-card strong{display:flex;align-items:center;gap:.4rem;font-size:.95rem;color:#fbbf24}.invite-match-card-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.48rem .95rem;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;align-self:flex-start;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 4px 12px #10b9814d}.invite-match-card-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98173}.game-picker-modal-card{max-width:520px;width:92%;padding:1.5rem}.game-picker-header{text-align:center;margin-bottom:1.25rem}.game-picker-icon{font-size:2.2rem;display:inline-block;margin-bottom:.3rem}.game-picker-header h2{font-size:1.35rem;font-weight:800;color:#fff;margin-bottom:.25rem}.game-picker-sub{color:var(--text-muted);font-size:.88rem}.game-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem;max-height:380px;overflow-y:auto;padding:.25rem}.game-picker-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:.85rem .5rem;background:#ffffff0a;border:1px solid var(--card-border);border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);text-align:center}.game-picker-item:hover{background:#6366f126;border-color:#818cf880;transform:translateY(-2px);box-shadow:0 6px 18px #6366f140}.game-picker-item .item-icon,.game-picker-item .game-picker-item-icon{font-size:1.8rem}.game-picker-item .item-name,.game-picker-item .game-picker-item-name{font-size:.82rem;font-weight:600;color:#f1f5f9}.active-rooms-container{width:100%;max-width:1280px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#1e1b4b99,#0f172acc);border:1px solid rgba(139,92,246,.4);border-radius:16px;padding:1.1rem 1.4rem;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 32px #6366f126}.active-rooms-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem}.active-rooms-icon{font-size:1.3rem;filter:drop-shadow(0 0 8px #f59e0b)}.active-rooms-header h3{font-size:1.05rem;font-weight:700;color:#e0e7ff;margin:0}.active-rooms-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.active-room-card{display:flex;align-items:center;justify-content:space-between;background:#0f172ab3;border:1px solid rgba(255,255,255,.1);padding:.75rem 1rem;border-radius:12px;transition:all .2s ease}.active-room-card:hover{border-color:#8b5cf6;background:#1e1b4b80;transform:translateY(-2px)}.active-room-info{display:flex;align-items:center;gap:.75rem}.active-room-game-icon{font-size:1.6rem}.active-room-details{display:flex;flex-direction:column}.active-room-name{font-weight:700;font-size:.95rem;color:#fff}.active-room-code-tag{font-size:.78rem;color:#94a3b8;letter-spacing:.5px}.active-room-rejoin-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:.45rem .9rem;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #6366f14d}.active-room-rejoin-btn:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);transform:scale(1.04)}.bowling-hud-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:5.05rem .9rem 1.4rem;z-index:15}.bowling-scoreboard-bar{display:flex;align-items:center;gap:.75rem;background:#090d18d1;border:1px solid rgba(56,189,248,.28);padding:.45rem .85rem;border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 28px #0000007a;max-width:96vw;overflow-x:auto;scrollbar-width:none}.bowling-scoreboard-bar::-webkit-scrollbar{display:none}.bowling-bowler-meta{display:flex;flex-direction:column;min-width:88px;padding-inline-end:.5rem;border-inline-end:1px solid rgba(148,163,184,.2)}.bowling-bowler-name{font-size:.86rem;font-weight:800;color:#f8fafc;white-space:nowrap}.bowling-bowler-sub{font-size:.72rem;font-weight:600;color:#38bdf8;white-space:nowrap}.bowling-frames-strip{display:flex;align-items:stretch;gap:3px;direction:ltr}.bowling-frame-cell{width:34px;background:#1e293ba6;border:1px solid rgba(148,163,184,.18);border-radius:7px;display:flex;flex-direction:column;align-items:center;overflow:hidden;transition:border-color .2s ease,background .2s ease}.bowling-frame-cell.active{background:#0e749059;border-color:#38bdf8cc;box-shadow:0 0 10px #38bdf838}.bf-num{width:100%;text-align:center;font-size:.6rem;font-weight:700;color:#94a3b8;background:#0f172ab3;padding:1px 0}.bf-rolls{font-size:.68rem;font-weight:800;color:#e2e8f0;min-height:16px;display:flex;align-items:center;justify-content:center;gap:2px}.bf-strike{color:#fbbf24}.bf-spare{color:#38bdf8}.bf-total{font-size:.72rem;font-weight:800;color:#f8fafc;padding-bottom:2px}.bowling-total-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.2rem .65rem;background:linear-gradient(135deg,#f59e0b33,#d9770652);border:1px solid rgba(251,191,36,.45);border-radius:10px;min-width:54px}.bowling-total-label{font-size:.58rem;font-weight:700;color:#fde68a;letter-spacing:.5px}.bowling-total-value{font-size:1.05rem;font-weight:900;color:#fbbf24;line-height:1.1}.bowling-callout-banner{font-size:2.2rem;font-weight:900;letter-spacing:2px;padding:.55rem 1.8rem;border-radius:999px;opacity:0;transform:scale(.72) translateY(10px);transition:opacity .28s ease,transform .34s cubic-bezier(.175,.885,.32,1.275);text-shadow:0 4px 18px rgba(0,0,0,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bowling-callout-banner.visible{opacity:1;transform:scale(1) translateY(0)}.bowling-callout-banner.strike{color:#fef08a;background:linear-gradient(135deg,#d97706e0,#dc2626e0);border:2px solid rgba(254,240,138,.75);box-shadow:0 12px 35px #f59e0b73}.bowling-callout-banner.spare{color:#e0f2fe;background:linear-gradient(135deg,#0284c7e0,#4f46e5e0);border:2px solid rgba(125,211,252,.7);box-shadow:0 12px 35px #38bdf866}.bowling-callout-banner.pins{color:#f8fafc;background:#0f172ad1;border:1px solid rgba(148,163,184,.4)}.bowling-callout-banner.gutter{color:#fecaca;background:#7f1d1dd1;border:1px solid rgba(248,113,113,.5)}.bowling-gesture-hint{background:#0f172aad;border:1px solid rgba(148,163,184,.25);color:#e2e8f0;font-size:.8rem;font-weight:600;padding:.45rem 1.1rem;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .35s ease,transform .35s ease;text-align:center;max-width:92vw}.bowling-gesture-hint.hidden{opacity:0;transform:translateY(10px)}@media (max-width: 640px){.bowling-hud-overlay{padding:4.55rem .35rem 1rem}.bowling-scoreboard-bar{flex-wrap:wrap;justify-content:space-between;gap:.35rem .5rem;padding:.38rem .6rem;max-width:96vw}.bowling-bowler-meta{border-inline-end:none;padding-inline-end:0}.bowling-frames-strip{order:3;width:100%;justify-content:center;gap:2px}.bowling-frame-cell{width:27px;border-radius:5px}.bf-num{font-size:.52rem}.bf-rolls{font-size:.6rem;min-height:14px}.bf-total{font-size:.62rem}.bowling-callout-banner{font-size:1.65rem;padding:.45rem 1.35rem}.bowling-gesture-hint{font-size:.74rem;padding:.4rem .85rem}}.history-container{max-width:1000px;width:95%;margin:1.5rem auto 5.5rem;padding:1.8rem;border-radius:20px;background:#0f172ad9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 40px #00000073}.history-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.4rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(255,255,255,.08)}.history-header-left{display:flex;align-items:center;gap:1rem;flex:1 1 auto;min-width:220px}.history-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.history-clear-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.5rem 1.05rem;min-height:42px;border-radius:12px;background:#ef44442e;border:1.5px solid rgba(239,68,68,.45);color:#fca5a5;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap}.history-clear-btn:hover{background:#ef444459;border-color:#ef4444;color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px #ef444459}.history-clear-btn:active{transform:scale(.96)}.history-back-btn,.history-refresh-btn{width:42px;height:42px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.history-back-btn:hover,.history-refresh-btn:hover{background:var(--primary);border-color:var(--primary);transform:scale(1.05)}.history-header h2{font-size:1.5rem;font-weight:800;color:#fff;margin:0}.history-header p{color:#94a3b8;font-size:.88rem;margin:.2rem 0 0}.history-filters-bar{display:flex;align-items:center;gap:.5rem;overflow-x:auto;padding-bottom:.85rem;margin-bottom:1.2rem;scrollbar-width:thin}.history-chip{padding:.4rem .9rem;border-radius:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.history-chip:hover{background:#6366f140;border-color:#6366f180;color:#fff}.history-chip.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 14px #6366f166}.history-list{display:flex;flex-direction:column;gap:.8rem}.history-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.3rem;border-radius:14px;background:#1e293b99;border:1px solid rgba(255,255,255,.08);transition:all .2s ease}.history-card:hover{background:#1e293be6;border-color:#8b5cf666;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.history-card-left{display:flex;align-items:center;gap:1rem}.history-game-icon-box{width:48px;height:48px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1.6rem}.history-card-info{display:flex;flex-direction:column;gap:.15rem}.history-game-title{font-weight:700;font-size:1rem;color:#fff}.history-opponent-text{font-size:.85rem;color:#cbd5e1}.history-date-text{font-size:.76rem;color:#64748b}.history-card-right{display:flex;align-items:center;gap:1.2rem}.history-score-box{display:flex;flex-direction:column;align-items:flex-end}.history-score-val{font-weight:800;font-size:1.05rem;color:#f8fafc}.history-room-tag{font-size:.74rem;color:#94a3b8;letter-spacing:.5px}.history-outcome-badge{padding:.4rem .95rem;border-radius:20px;font-size:.82rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:.35rem}.badge-victory{background:#10b9812e;border:1px solid #10b981;color:#34d399;box-shadow:0 0 12px #10b98140}.badge-defeat{background:#ef44442e;border:1px solid #ef4444;color:#f87171;box-shadow:0 0 12px #ef444440}.badge-draw{background:#f59e0b2e;border:1px solid #f59e0b;color:#fbbf24}.badge-completed{background:#6366f12e;border:1px solid #6366f1;color:#a5b4fc}.badge-cancelled{background:#94a3b826;border:1px solid #64748b;color:#94a3b8}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 1.5rem;text-align:center}.history-empty .empty-icon{font-size:3.5rem;margin-bottom:.8rem;opacity:.6}.history-empty h3{font-size:1.25rem;color:#e2e8f0;margin-bottom:.4rem}.history-empty p{color:#94a3b8;max-width:400px;font-size:.9rem}@media (max-width: 640px){.history-container{padding:1.2rem;margin-top:1rem}.history-card{flex-direction:column;align-items:flex-start;gap:.8rem}.history-card-right{width:100%;justify-content:space-between}.history-score-box{align-items:flex-start}}.game-hub-container{max-width:820px;width:95%;margin:.75rem auto 2.5rem;display:flex;flex-direction:column;gap:1.1rem}.nav-back-circle{position:absolute;left:1.5rem;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#0f172ad9;border:1px solid rgba(148,163,184,.28);color:#f1f5f9;font-size:1.25rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #00000059;z-index:10}.nav-back-circle:hover{background:#6366f140;border-color:#818cf8;transform:translateY(-50%) translate(-2px)}.nav-back-circle:active{transform:translateY(-50%) scale(.95)}html[dir=rtl] .nav-back-circle{left:auto;right:1.5rem}html[dir=rtl] .nav-back-circle .back-arrow{display:inline-block;transform:scaleX(-1)}html[dir=rtl] .nav-back-circle:hover{transform:translateY(-50%) translate(2px)}@media (max-width: 640px){.nav-back-circle{left:.85rem;width:34px;height:34px;font-size:1.1rem}html[dir=rtl] .nav-back-circle{right:.85rem}}.game-hub-back-circle{display:none}.brand-game-title{display:inline-flex;align-items:center;gap:.55rem;font-size:1.25rem;font-weight:800;color:#f8fafc;letter-spacing:-.2px}.brand-game-icon{font-size:1.45rem;line-height:1}.brand-game-name{color:#f8fafc}.hub-unified-card{gap:1.2rem;padding:1.35rem 1.45rem}.hub-sub-section{display:flex;flex-direction:column;gap:.9rem}.hub-section-divider{width:100%;height:1px;background:#94a3b829;margin:.25rem 0}.game-hub-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;background:#0f172ad9;border:1px solid rgba(148,163,184,.2);padding:.38rem;border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-hub-tab{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.72rem .6rem;border:none;border-radius:12px;background:transparent;color:#94a3b8;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s ease}.game-hub-tab:hover{color:#f1f5f9;background:#ffffff0a}.game-hub-tab.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 6px 18px #6366f161}.game-hub-panel{display:none;flex-direction:column;gap:1.05rem;animation:fadeInHub .22s ease}.game-hub-panel.active{display:flex}@keyframes fadeInHub{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hub-card{padding:1.35rem 1.5rem;border-radius:20px;display:flex;flex-direction:column;gap:1rem}.hub-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.hub-header-left{display:flex;align-items:center;gap:.6rem}.hub-card-header h3{margin:0;font-size:1.08rem;font-weight:700;color:#f8fafc;display:flex;align-items:center;gap:.45rem}.hub-count-badge{background:#6366f138;border:1px solid rgba(99,102,241,.45);color:#c7d2fe;font-size:.78rem;font-weight:800;padding:.15rem .6rem;border-radius:999px}.hub-visibility-row{display:flex;flex-direction:column;gap:.45rem;background:#0f172a8c;border:1px solid rgba(148,163,184,.16);padding:.8rem 1rem;border-radius:14px}.hub-visibility-pills{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.hub-vis-label{font-size:.85rem;font-weight:700;color:#cbd5e1;margin-inline-end:.25rem}.hub-vis-pill{padding:.42rem .95rem;border-radius:999px;border:1px solid rgba(148,163,184,.25);background:#1e293b99;color:#94a3b8;font-size:.84rem;font-weight:700;cursor:pointer;transition:all .18s ease}.hub-vis-pill.active{background:#10b98133;border-color:#10b981a6;color:#6ee7b7}.hub-vis-desc{margin:0;font-size:.8rem;color:#94a3b8}.hub-create-actions{display:flex;flex-wrap:wrap;gap:.75rem}.hub-action-btn{flex:1 1 200px;padding:.88rem 1.35rem;border-radius:14px;font-size:1rem;font-weight:800;cursor:pointer;border:none;transition:all .2s ease}.hub-action-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 8px 22px #6366f159}.hub-action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px #6366f180}.hub-action-btn.secondary{background:#1e293bd9;color:#e2e8f0;border:1px solid rgba(148,163,184,.3)}.hub-action-btn.secondary:hover{background:#334155f2;border-color:#6366f180}.hub-join-code-row{display:flex;gap:.6rem;padding-top:.6rem;border-top:1px solid rgba(148,163,184,.14)}.hub-join-code-row input{flex:1;background:#0f172abf;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:.68rem .95rem;color:#f8fafc;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.hub-join-code-btn{width:auto!important;padding:.68rem 1.25rem!important;white-space:nowrap}.hub-rooms-list{display:flex;flex-direction:column;gap:.65rem}.hub-empty-msg{text-align:center;padding:1.35rem 1rem;color:#94a3b8;font-size:.9rem;background:#0f172a6b;border-radius:13px;border:1px dashed rgba(148,163,184,.2)}.hub-room-item{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.85rem 1.05rem;background:#0f172aad;border:1px solid rgba(148,163,184,.2);border-radius:14px;transition:border-color .2s ease,transform .2s ease}.hub-room-item:hover{border-color:#6366f173}.hub-room-item.public-room{cursor:pointer;border-color:#10b98159;background:linear-gradient(135deg,#064e3b40,#0f172acc);-webkit-user-select:none;user-select:none;transition:all .22s cubic-bezier(.16,1,.3,1)}.hub-room-item.public-room:hover{border-color:#10b981bf;background:linear-gradient(135deg,#065f4666,#0f172ae6);transform:translateY(-2px);box-shadow:0 8px 24px #0006,0 0 16px #10b98140}.hub-room-item.public-room:active{transform:scale(.985)}.hub-room-item.public-room .hub-room-arrow{background:#10b98129;color:#6ee7b7}.hub-room-item.public-room:hover .hub-room-arrow{background:#10b98166;color:#fff;transform:translate(3px)}[dir=rtl] .hub-room-item.public-room:hover .hub-room-arrow{transform:scaleX(-1) translate(3px)}.hub-room-item.active-room-card{cursor:pointer;border-color:#6366f159;background:linear-gradient(135deg,#1e293ba6,#0f172acc);-webkit-user-select:none;user-select:none;transition:all .22s cubic-bezier(.16,1,.3,1)}.hub-room-item.active-room-card:hover{border-color:#6366f1b3;background:linear-gradient(135deg,#312e8166,#1e293be6);transform:translateY(-2px);box-shadow:0 8px 24px #0006,0 0 16px #6366f133}.hub-room-item.active-room-card:active{transform:scale(.985)}.hub-room-item.active-room-card.my-turn{border-color:#10b98166}.hub-room-item.active-room-card.my-turn:hover{border-color:#10b981bf;box-shadow:0 8px 24px #0006,0 0 16px #10b98140}.hub-room-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#6366f124;color:#a5b4fc;font-size:1.25rem;font-weight:700;line-height:1;flex-shrink:0;transition:all .2s ease}[dir=rtl] .hub-room-arrow{transform:scaleX(-1)}.hub-room-item.active-room-card:hover .hub-room-arrow{background:#6366f159;color:#fff;transform:translate(3px)}[dir=rtl] .hub-room-item.active-room-card:hover .hub-room-arrow{transform:scaleX(-1) translate(3px)}.hub-room-left{display:flex;flex-direction:column;gap:.25rem}.hub-room-top-line{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.hub-room-code{font-family:monospace;font-size:.9rem;font-weight:800;color:#a5b4fc;background:#6366f129;padding:.12rem .5rem;border-radius:6px}.hub-room-status{font-size:.78rem;font-weight:700;padding:.14rem .55rem;border-radius:999px}.hub-room-status.waiting{background:#f59e0b29;color:#fcd34d}.hub-room-status.my-turn{background:#10b98133;color:#6ee7b7}.hub-room-status.active{background:#38bdf829;color:#7dd3fc}.hub-room-host{font-size:.92rem;color:#f1f5f9}.hub-room-slots{font-size:.76rem;font-weight:800;background:#10b9812e;color:#6ee7b7;padding:.12rem .5rem;border-radius:999px}.hub-room-sub{font-size:.8rem;color:#94a3b8}.hub-room-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.hub-room-abandon-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(248,113,113,.3);background:#7f1d1d59;color:#fca5a5;font-weight:700;cursor:pointer;transition:all .18s ease}.hub-room-abandon-btn:hover{background:#dc26268c;color:#fff}.hub-join-public-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.52rem 1.05rem;border-radius:10px;font-size:.85rem;font-weight:800;cursor:pointer;box-shadow:0 4px 14px #10b98152;transition:all .18s ease}.hub-join-public-btn:hover{transform:scale(1.04);box-shadow:0 6px 18px #10b98173}.hub-howto-card{gap:1.2rem}.howto-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(148,163,184,.16)}.howto-icon{font-size:2rem}.howto-header h3{margin:0;font-size:1.2rem;color:#f8fafc}.howto-block{background:#0f172a85;border:1px solid rgba(148,163,184,.15);border-radius:14px;padding:1rem 1.2rem}.howto-block.tips{border-color:#38bdf84d;background:#0e749024}.howto-block h4{margin:0 0 .55rem;font-size:.98rem;color:#e2e8f0}.howto-block p{margin:0;color:#cbd5e1;line-height:1.65;font-size:.92rem}.howto-list{margin:0;padding-inline-start:1.25rem;display:flex;flex-direction:column;gap:.45rem;color:#cbd5e1;font-size:.92rem;line-height:1.6}.hub-history-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.hub-stat-pill{padding:.95rem .75rem;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center}.hub-stat-val{font-size:1.45rem;font-weight:900;color:#f8fafc}.hub-stat-lbl{font-size:.78rem;font-weight:600;color:#94a3b8}@media (max-width: 640px){.game-hub-hero{padding:1.05rem 1.1rem;gap:.9rem}.game-hub-icon{width:58px;height:58px;font-size:2.2rem}.game-hub-title-row h2{font-size:1.22rem}.game-hub-tab{font-size:.84rem;padding:.62rem .35rem;gap:.3rem}.hub-card{padding:1.05rem}.hub-room-item{flex-direction:column;align-items:stretch}.hub-room-item.active-room-card,.hub-room-item.public-room{flex-direction:row;align-items:center;justify-content:space-between}.hub-room-actions{justify-content:flex-end}.hub-join-code-row{flex-direction:column}}.hub-diff-segmented-group{display:inline-flex;align-items:center;background:#0f172ae0;border:1.5px solid rgba(148,163,184,.24);border-radius:999px;padding:3px;gap:2px;box-shadow:inset 0 2px 6px #00000080}.hub-diff-pill{position:relative;padding:.42rem 1.15rem;border-radius:999px;border:1px solid transparent;background:transparent;font-size:.86rem;font-weight:800;cursor:pointer;transition:all .2s cubic-bezier(.22,1,.36,1);-webkit-user-select:none;user-select:none;white-space:nowrap}.hub-diff-pill.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff!important;border-color:#a5b4fce6;box-shadow:0 0 16px #6366f199,0 2px 8px #0006}.hub-diff-pill[data-diff=easy],.hub-diff-pill[data-diff="20"],.hub-diff-pill[data-diff=small]{color:#6ee7b7}.hub-diff-pill[data-diff=easy]:hover:not(.active),.hub-diff-pill[data-diff="20"]:hover:not(.active),.hub-diff-pill[data-diff=small]:hover:not(.active){background:#10b98126;color:#a7f3d0}.hub-diff-pill[data-diff=easy].active,.hub-diff-pill[data-diff="20"].active,.hub-diff-pill[data-diff=small].active{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border-color:#34d399d9!important;box-shadow:0 0 16px #10b98199,0 2px 8px #00000059!important}.hub-diff-pill[data-diff=medium],.hub-diff-pill[data-diff="50"]{color:#fde68a}.hub-diff-pill[data-diff=medium]:hover:not(.active),.hub-diff-pill[data-diff="50"]:hover:not(.active){background:#f59e0b26;color:#fef3c7}.hub-diff-pill[data-diff=medium].active,.hub-diff-pill[data-diff="50"].active{background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important;border-color:#fbbf24d9!important;box-shadow:0 0 16px #f59e0b99,0 2px 8px #00000059!important}.hub-diff-pill[data-diff=hard],.hub-diff-pill[data-diff="100"],.hub-diff-pill[data-diff=large]{color:#fca5a5}.hub-diff-pill[data-diff=hard]:hover:not(.active),.hub-diff-pill[data-diff="100"]:hover:not(.active),.hub-diff-pill[data-diff=large]:hover:not(.active){background:#ef444426;color:#fee2e2}.hub-diff-pill[data-diff=hard].active,.hub-diff-pill[data-diff="100"].active,.hub-diff-pill[data-diff=large].active{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;border-color:#f87171d9!important;box-shadow:0 0 16px #ef444499,0 2px 8px #00000059!important}.hub-room-status.diff-easy{background:#10b98133;color:#6ee7b7;border:1px solid rgba(16,185,129,.5)}.hub-room-status.diff-medium{background:#f59e0b33;color:#fde68a;border:1px solid rgba(245,158,11,.5)}.hub-room-status.diff-hard{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.5)}.hub-sudoku-options-box{display:flex;flex-direction:column;gap:.85rem;background:#0f172a8c;border:1px solid rgba(148,163,184,.16);padding:.9rem 1.1rem;border-radius:16px}.hub-sudoku-controls-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}#hubColorMysteryControlsRow{padding-top:.75rem;border-top:1px dashed rgba(148,163,184,.18)}.hub-sudoku-control-group{display:inline-flex;align-items:center;gap:.75rem}@media (max-width: 600px){.hub-sudoku-controls-row{flex-direction:column;align-items:stretch;gap:.85rem}.hub-sudoku-control-group{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.hub-sudoku-control-group .hub-vis-label{flex-shrink:0}.hub-sudoku-control-group .hub-diff-segmented-group{flex:1;max-width:240px}.hub-sudoku-control-group .hub-diff-pill{flex:1;text-align:center;padding:.42rem .5rem}}.hub-mode-segmented-group{display:inline-flex;align-items:center;background:#0f172ae0;border:1.5px solid rgba(148,163,184,.24);border-radius:999px;padding:3px;gap:2px;box-shadow:inset 0 2px 6px #00000080}.hub-mode-pill{position:relative;padding:.45rem 1.2rem;border-radius:999px;border:1px solid transparent;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer;color:#94a3b8;transition:all .2s cubic-bezier(.22,1,.36,1);-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center}.hub-mode-pill:hover:not(.active){background:#6366f12e;color:#fff}.hub-mode-pill.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-color:#a5b4fcd9;box-shadow:0 0 16px #6366f18c,0 2px 8px #0000004d;transform:scale(1.05)}.hub-quickmatch-card{margin-top:1.25rem;background:linear-gradient(135deg,#1e1b4bbf,#0f172ae6);border:1.5px solid rgba(129,140,248,.35);border-radius:18px;padding:1.15rem 1.4rem;box-shadow:0 8px 32px #4f46e526,inset 0 1px #ffffff1a;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .25s cubic-bezier(.22,1,.36,1)}.hub-quickmatch-card:before{content:"";position:absolute;top:-40%;right:-20%;width:240px;height:240px;background:radial-gradient(circle,rgba(99,102,241,.3) 0%,transparent 70%);pointer-events:none}.hub-quickmatch-card:hover{transform:translateY(-2px);border-color:#818cf8;background:linear-gradient(135deg,#312e81e6,#0f172af2);box-shadow:0 14px 36px #0000008c,0 0 28px #6366f159}.hub-quickmatch-card:active{transform:scale(.99)}.hub-quickmatch-card.loading{opacity:.75;cursor:wait}.hub-quickmatch-content{display:flex;align-items:center;gap:1rem;flex:1}.hub-quickmatch-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 0 18px #f59e0b73;flex-shrink:0;transition:transform .25s cubic-bezier(.22,1,.36,1)}.hub-quickmatch-card:hover .hub-quickmatch-icon{transform:scale(1.08) rotate(-4deg)}.hub-quickmatch-text h3{margin:0;font-size:1.15rem;font-weight:800;color:#fff}.hub-quickmatch-desc{margin:.25rem 0 0;font-size:.85rem;color:#cbd5e1;line-height:1.4;font-weight:600}.gm-avatar-svg{width:100%;height:100%;display:block;border-radius:50%}.profile-avatar-large{position:relative;overflow:visible!important;border-radius:50%}#drawerAvatarWrapper{width:100%;height:100%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.drawer-user-meta{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.2rem}.drawer-user-meta h4{margin:0;font-size:1.15rem;font-weight:800;color:#fff}.drawer-setting-item.edit-profile-item{background:linear-gradient(135deg,#6366f12e,#a855f726);border-color:#818cf866;font-weight:700;color:#e0e7ff}.drawer-setting-item.edit-profile-item:hover{background:linear-gradient(135deg,#6366f159,#a855f74d);border-color:#a5b4fcb3}.edit-profile-card{width:92%;max-width:460px;max-height:90vh;overflow-y:auto;border-radius:22px;padding:1.6rem;text-align:right;display:flex;flex-direction:column;gap:1.2rem;background:#0f172af2;border:1.5px solid rgba(148,163,184,.25);box-shadow:0 20px 50px #0009,0 0 30px #6366f133}[dir=ltr] .edit-profile-card{text-align:left}.edit-profile-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.8rem}.edit-profile-header h2{font-size:1.25rem;font-weight:800;margin:0;color:#fff}.edit-profile-body{display:flex;flex-direction:column;gap:1.2rem}.edit-avatar-preview-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 0}.edit-avatar-preview-circle{width:88px;height:88px;border-radius:50%;overflow:hidden;box-shadow:0 0 24px #6366f173;border:2.5px solid rgba(165,180,252,.8);background:#0f172a}.edit-avatar-preview-circle .gm-avatar-svg{width:100%;height:100%}.edit-avatar-preview-hint{font-size:.8rem;color:#94a3b8}.edit-profile-section{display:flex;flex-direction:column;gap:.45rem}.edit-profile-label{font-size:.86rem;font-weight:700;color:#cbd5e1}.profile-avatar-grid,.profile-animal-grid,.profile-emoji-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;max-height:250px;overflow-y:auto;padding:4px}@media (max-width: 540px){.profile-avatar-grid,.profile-animal-grid,.profile-emoji-grid{grid-template-columns:repeat(6,1fr);gap:.4rem}}@media (max-width: 390px){.profile-avatar-grid,.profile-animal-grid,.profile-emoji-grid{grid-template-columns:repeat(5,1fr);gap:.35rem}}.profile-avatar-pill,.profile-animal-pill,.profile-emoji-pill{aspect-ratio:1 / 1;border-radius:14px;background:#1e293bb3;border:1.5px solid rgba(148,163,184,.2);color:#fff;font-size:1.55rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.22,1,.36,1);padding:.25rem;-webkit-user-select:none;user-select:none;position:relative}.profile-avatar-pill .avatar-pill-img,.profile-animal-pill .animal-pill-img{width:42px;height:42px;border-radius:50%;pointer-events:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.4));transition:transform .2s cubic-bezier(.22,1,.36,1)}@media (max-width: 480px){.profile-avatar-pill .avatar-pill-img,.profile-animal-pill .animal-pill-img{width:34px;height:34px}}.profile-avatar-pill .avatar-pill-symbol,.profile-emoji-pill .emoji-icon{font-size:1.5rem;pointer-events:none}.profile-avatar-pill:hover:not(.active),.profile-animal-pill:hover:not(.active),.profile-emoji-pill:hover:not(.active){background:#6366f133;border-color:#818cf880;transform:translateY(-2px)}.profile-avatar-pill:hover:not(.active) .avatar-pill-img,.profile-animal-pill:hover:not(.active) .animal-pill-img{transform:scale(1.08)}.profile-avatar-pill.active,.profile-animal-pill.active,.profile-emoji-pill.active{background:linear-gradient(135deg,#6366f173,#4f46e599);border-color:#818cf8;box-shadow:0 0 16px #6366f1b3;transform:scale(1.06)}.edit-profile-input{width:100%;padding:.75rem 1rem;border-radius:12px;background:#0f172ad9;border:1.5px solid rgba(148,163,184,.25);color:#fff;font-size:.95rem;font-weight:600;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.edit-profile-input:focus{border-color:#6366f1;box-shadow:0 0 12px #6366f166}.edit-profile-actions{display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1rem}.profile-avatar-large .gm-avatar-svg{width:100%;height:100%}.dock-avatar-svg-wrap{width:30px;height:30px;border-radius:50%;display:inline-flex;overflow:hidden;border:1.5px solid rgba(99,102,241,.7)}.friend-avatar-circle .gm-avatar-svg{width:100%;height:100%;border-radius:50%}.ingame-players-top-hud{flex:1;display:flex;align-items:flex-start;justify-content:center;min-width:0;pointer-events:none}.ingame-players-top-hud>*{pointer-events:auto}.ingame-opponent-bottom-hud{position:absolute;bottom:max(.6rem,env(safe-area-inset-bottom,10px));left:50%;transform:translate(-50%);z-index:50;display:flex;justify-content:center;align-items:center;width:auto;max-width:calc(100vw - 128px);pointer-events:none}.ingame-opponent-bottom-hud>*{pointer-events:auto}.board-player-card{display:flex;align-items:center;gap:.72rem;padding:.44rem .92rem .44rem .52rem;min-width:min(268px,68vw);max-width:min(360px,74vw);border-radius:20px;background:linear-gradient(135deg,#0f172aed,#1c1944e0);border:1.5px solid rgba(148,163,184,.26);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 32px #00000085,inset 0 1px #ffffff1a;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}html[dir=rtl] .board-player-card{padding:.44rem .52rem .44rem .92rem}.board-player-card.me-card.active-turn{border-color:#10b981d1;box-shadow:0 12px 34px #0000008c,0 0 22px #10b98147}.board-player-card.opponent-card{background:linear-gradient(135deg,#121628f0,#311238e0)}.board-player-card.opponent-card.opp-turn-glow,.board-player-card.opponent-card.rival-race{border-color:#f43f5eb8;box-shadow:0 12px 34px #0000008c,0 0 22px #f43f5e3d}.board-player-card.waiting-card{border-style:dashed;border-color:#f59e0b8c}.bp-avatar-frame{position:relative;width:54px;height:54px;border-radius:50%;flex-shrink:0;padding:2.5px;background:linear-gradient(135deg,#38bdf8,#6366f1,#10b981);box-shadow:0 4px 14px #38bdf859}.bp-avatar-frame.opp-ring{background:linear-gradient(135deg,#f59e0b,#ec4899,#8b5cf6);box-shadow:0 4px 14px #ec489959}.bp-avatar-frame.waiting-ring{background:#334155b3;box-shadow:none}.bp-online-dot{position:absolute;bottom:1px;right:1px;width:12px;height:12px;border-radius:50%;background:#10b981;border:2.2px solid #0f172a;box-shadow:0 0 6px #10b981cc}.bp-online-dot.offline{background:#94a3b8;box-shadow:none}.bp-info-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:.22rem}.bp-name-row{display:flex;align-items:center;gap:.42rem;min-width:0}.bp-name{font-size:.94rem;font-weight:800;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-name.waiting-text{color:#fde68a;font-weight:700}.bp-you-tag,.bp-opp-tag{font-size:.64rem;font-weight:800;padding:.08rem .42rem;border-radius:999px;letter-spacing:.4px;flex-shrink:0}.bp-you-tag{background:#38bdf82e;color:#7dd3fc;border:1px solid rgba(56,189,248,.38)}.bp-opp-tag{background:#f43f5e2e;color:#fda4af;border:1px solid rgba(244,63,94,.38)}.bp-metric-pill{margin-inline-start:auto;font-size:.8rem;font-weight:800;color:#f8fafc;background:#0f172ab8;border:1px solid rgba(148,163,184,.28);padding:.1rem .52rem;border-radius:999px;white-space:nowrap;flex-shrink:0}.bp-sub-status{font-size:.74rem;font-weight:600;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-sub-status.turn-highlight{color:#6ee7b7;font-weight:700}.bp-sub-status.opp-highlight{color:#fda4af;font-weight:700}.bp-sudoku-progress-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sudoku-ratio-pill{font-variant-numeric:tabular-nums;font-size:.84rem;font-weight:800;padding:.12rem .62rem;border-radius:999px;letter-spacing:.2px;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem}.sudoku-ratio-pill.me{background:#10b98138;border:1px solid rgba(16,185,129,.6);color:#6ee7b7}.sudoku-ratio-pill.opp{background:#f59e0b38;border:1px solid rgba(245,158,11,.6);color:#fde68a}.sudoku-mini-bar{width:100%;height:5.5px;background:#ffffff1a;border-radius:999px;overflow:hidden}.sudoku-mini-fill{height:100%;border-radius:999px;transition:width .35s cubic-bezier(.22,1,.36,1)}.sudoku-mini-fill.me{background:linear-gradient(90deg,#38bdf8,#10b981)}.sudoku-mini-fill.opp{background:linear-gradient(90deg,#f59e0b,#f43f5e)}.bp-invite-mini-btn{background:#f59e0b38;border:1px solid rgba(245,158,11,.65);color:#fde68a;font-size:.72rem;font-weight:800;padding:.16rem .58rem;border-radius:999px;cursor:pointer;white-space:nowrap;transition:all .18s ease}.bp-invite-mini-btn:hover{background:#f59e0b6b;color:#fff}.sudoku-edge-bar{position:absolute;left:0;right:0;width:100%;height:6px;background:#ffffff1a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:120;overflow:hidden;pointer-events:none;display:flex}.sudoku-edge-bar.top{top:0}.sudoku-edge-bar.bottom{bottom:0}html[dir=rtl] .sudoku-edge-bar{flex-direction:row-reverse}.sudoku-edge-fill{height:100%;border-radius:999px;transition:width .4s cubic-bezier(.22,1,.36,1)}.sudoku-edge-fill.me{background:linear-gradient(90deg,#38bdf8,#10b981);box-shadow:0 0 12px #10b981cc,0 0 5px #38bdf8cc}.sudoku-edge-fill.opp{background:linear-gradient(90deg,#f59e0b,#f43f5e);box-shadow:0 0 12px #f43f5ecc,0 0 5px #f59e0bcc}.sudoku-cardless-profile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;pointer-events:auto;-webkit-user-select:none;user-select:none}.sudoku-cardless-profile .sudoku-name-row{display:flex;align-items:center;gap:.35rem;text-shadow:0 2px 8px rgba(0,0,0,.95)}.sudoku-cardless-profile .sudoku-player-name{font-size:.94rem;font-weight:800;color:#f8fafc;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.25px}.sudoku-cardless-profile .sudoku-role-tag{font-size:.62rem;font-weight:800;padding:.08rem .38rem;border-radius:999px;letter-spacing:.3px;flex-shrink:0}.sudoku-cardless-profile .sudoku-role-tag.me{background:#38bdf838;color:#7dd3fc;border:1px solid rgba(56,189,248,.45)}.sudoku-cardless-profile .sudoku-role-tag.opp{background:#f43f5e38;color:#fda4af;border:1px solid rgba(244,63,94,.45)}.sudoku-cardless-profile .sudoku-avatar-wrap{position:relative;width:70px;height:70px;border-radius:50%;padding:3px;flex-shrink:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.sudoku-cardless-profile .sudoku-avatar-wrap:hover{transform:scale(1.06)}.sudoku-cardless-profile .sudoku-avatar-wrap.me-ring{background:linear-gradient(135deg,#38bdf8,#6366f1,#10b981);box-shadow:0 6px 22px #10b98166,0 0 16px #38bdf859}.sudoku-cardless-profile .sudoku-avatar-wrap.opp-ring{background:linear-gradient(135deg,#f59e0b,#ec4899,#8b5cf6);box-shadow:0 6px 22px #f43f5e66,0 0 16px #f59e0b59}.sudoku-cardless-profile .sudoku-avatar-inner{width:100%;height:100%;border-radius:50%;overflow:hidden;background:#0f172a;display:flex;align-items:center;justify-content:center}.sudoku-cardless-profile .sudoku-avatar-inner svg{width:100%;height:100%;display:block}.sudoku-cardless-profile .bp-online-dot{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#10b981;border:2.5px solid #0f172a;box-shadow:0 0 8px #10b981e6}html[dir=rtl] .sudoku-cardless-profile .bp-online-dot{right:auto;left:2px}.sudoku-cardless-profile .bp-online-dot.offline{background:#94a3b8;box-shadow:none}.sudoku-cardless-profile .sudoku-score-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.16rem .68rem;border-radius:999px;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 14px #00000080;transition:transform .2s ease,border-color .2s ease,background .2s ease}.sudoku-cardless-profile .sudoku-score-badge.me{background:#10b9813d;border:1.5px solid rgba(16,185,129,.7);color:#6ee7b7}.sudoku-cardless-profile .sudoku-score-badge.opp{background:#f59e0b3d;border:1.5px solid rgba(245,158,11,.7);color:#fde68a}.sudoku-cardless-profile .sudoku-score-count{font-size:.98rem;font-weight:900;letter-spacing:.2px}.sudoku-cardless-profile .sudoku-score-label{font-size:.72rem;font-weight:700;opacity:.94}.sudoku-cardless-profile .sudoku-score-badge.completed{background:linear-gradient(135deg,#10b981eb,#059669eb);color:#fff;border-color:#34d399;animation:sudokuDoneGlow 1.5s infinite alternate}@keyframes sudokuDoneGlow{0%{box-shadow:0 0 10px #10b98180}to{box-shadow:0 0 25px #10b981f2}}.sudoku-cardless-profile.is-turn .sudoku-avatar-wrap.me-ring{box-shadow:0 0 25px #10b981f2,0 0 14px #38bdf8d9;transform:scale(1.08);animation:meProfileTurnPulse 1.8s infinite alternate ease-in-out}.sudoku-cardless-profile.is-turn .sudoku-avatar-wrap.opp-ring{box-shadow:0 0 25px #f59e0bf2,0 0 14px #ef4444d9;transform:scale(1.08);animation:oppProfileTurnPulse 1.8s infinite alternate ease-in-out}@keyframes meProfileTurnPulse{0%{box-shadow:0 0 14px #10b98199}to{box-shadow:0 0 32px #10b981,0 0 16px #38bdf8e6}}@keyframes oppProfileTurnPulse{0%{box-shadow:0 0 14px #f59e0b99}to{box-shadow:0 0 32px #f59e0b,0 0 16px #ef4444e6}}.top-circle-avatars{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:#0b0f1cc7;border:1px solid rgba(148,163,184,.22);padding:.24rem .5rem;border-radius:999px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #0000006b;max-width:calc(100vw - 110px)}.circle-avatar-chip{display:inline-flex;align-items:center;gap:.42rem;padding:.12rem .35rem .12rem .12rem;border-radius:999px;transition:all .22s ease}.circle-avatar-chip.is-opp{padding:.12rem .12rem .12rem .35rem}.circle-avatar-chip.is-waiting{cursor:pointer;opacity:.88}.circle-avatar-ring{width:40px;height:40px;border-radius:50%;padding:2px;border:2px solid rgba(148,163,184,.45);background:#0f172a;flex-shrink:0;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.circle-avatar-chip.is-turn .circle-avatar-ring,.circle-avatar-mini.is-turn .circle-avatar-ring{border-color:#10b981;box-shadow:0 0 14px #10b981b8;transform:scale(1.06)}.circle-avatar-chip.is-opp.is-turn .circle-avatar-ring{border-color:#f59e0b;box-shadow:0 0 14px #f59e0bbf}.circle-turn-badge{display:inline-flex;align-items:center;font-size:.68rem;font-weight:800;padding:.12rem .45rem;border-radius:999px;background:#10b98138;border:1px solid rgba(52,211,153,.6);color:#6ee7b7;white-space:nowrap;animation:turnBadgePulse 1.6s ease-in-out infinite alternate}.circle-turn-badge.opp{background:#f59e0b38;border-color:#fbbf2499;color:#fde68a}@keyframes turnBadgePulse{0%{transform:scale(.96);opacity:.85}to{transform:scale(1.04);opacity:1}}.domino-round-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0e1747;display:flex;align-items:center;justify-content:center;z-index:650;padding:1rem;animation:dominoFadeIn .35s ease}.domino-round-modal-card{position:relative;max-width:520px;width:100%;background:linear-gradient(135deg,#1e1b4bfa,#0f172afa);border:1.5px solid rgba(168,85,247,.55);border-radius:22px;padding:1.4rem 1.6rem;box-shadow:0 20px 50px #000c,0 0 30px #a855f74d;color:#f8fafc;text-align:center;animation:dominoCardPop .4s cubic-bezier(.34,1.56,.64,1)}.domino-hands-showcase{display:flex;flex-direction:column;gap:1rem;margin:1.2rem 0;background:#0f172a8c;border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:.9rem}.domino-player-showcase-row{display:flex;flex-direction:column;align-items:center;gap:.35rem}.domino-player-title{font-size:.86rem;font-weight:700;color:#cbd5e1;display:flex;align-items:center;gap:.4rem}.domino-hand-tiles-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem}.domino-mini-tile{display:inline-flex;flex-direction:column;width:32px;height:56px;background:linear-gradient(135deg,#fff,#f1f5f9);color:#0f172a;border-radius:6px;border:1.5px solid #cbd5e1;box-shadow:0 4px 10px #0006;font-weight:900;font-size:.95rem;overflow:hidden;animation:dominoTileFlip .5s ease backwards}.domino-mini-half{flex:1;display:flex;align-items:center;justify-content:center;font-family:monospace}.domino-mini-divider{height:1.5px;background:#64748b;width:100%}.domino-empty-hand-tag{font-size:.82rem;color:#4ade80;font-weight:800;padding:.3rem .8rem;background:#4ade8026;border:1px solid rgba(74,222,128,.35);border-radius:999px}.domino-round-next-btn{background:linear-gradient(135deg,#a855f7,#6366f1);color:#fff;border:none;padding:.55rem 1.6rem;border-radius:999px;font-weight:800;font-size:.88rem;cursor:pointer;box-shadow:0 4px 14px #a855f773;transition:all .2s ease}.domino-round-next-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #a855f799}@keyframes dominoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dominoCardPop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes dominoTileFlip{0%{transform:rotateY(90deg) scale(.7);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}.circle-avatar-ring.waiting{border-style:dashed;border-color:#f59e0ba6}.circle-avatar-name{font-size:.8rem;font-weight:700;color:#f1f5f9;max-width:86px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.circle-score-tag{font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:900;color:#fbbf24;background:#f59e0b2e;border:1px solid rgba(251,191,36,.42);padding:.08rem .42rem;border-radius:999px}.circle-score-tag.negative{color:#fca5a5!important;background:#ef444438!important;border-color:#ef444480!important}.circle-vs-badge{font-size:.68rem;font-weight:900;letter-spacing:.6px;color:#fde68a;background:linear-gradient(135deg,#6366f159,#ec489959);border:1px solid rgba(255,255,255,.18);padding:.14rem .44rem;border-radius:999px;flex-shrink:0}.top-circle-avatars.multi-row{gap:.55rem;padding:.25rem .65rem}.circle-avatar-mini{display:flex;flex-direction:column;align-items:center;gap:.1rem}.circle-avatar-mini .circle-avatar-ring{width:36px;height:36px}.circle-mini-label{font-size:.62rem;font-weight:700;color:#cbd5e1;max-width:52px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){.ingame-opponent-bottom-hud{bottom:.55rem;max-width:calc(100vw - 116px)}.board-player-card{padding:.36rem .68rem .36rem .42rem;gap:.52rem;min-width:min(215px,66vw);max-width:calc(100vw - 116px);border-radius:16px}html[dir=rtl] .board-player-card{padding:.36rem .42rem .36rem .68rem}.bp-avatar-frame{width:44px;height:44px;padding:2px}.bp-name{font-size:.84rem}.sudoku-ratio-pill{font-size:.78rem;padding:.08rem .46rem}.sudoku-cardless-profile .sudoku-avatar-wrap{width:56px;height:56px;padding:2.5px}.sudoku-cardless-profile .sudoku-player-name{font-size:.82rem;max-width:110px}.sudoku-cardless-profile .sudoku-score-count{font-size:.88rem}.sudoku-cardless-profile .sudoku-score-label{font-size:.68rem}.sudoku-cardless-profile .bp-online-dot{width:12px;height:12px;border-width:2px}.circle-avatar-ring{width:34px;height:34px}.circle-avatar-name{max-width:62px;font-size:.74rem}.sudoku-2d-wrapper{padding:.4rem;gap:.65rem}.sudoku-match-timer{margin-bottom:.1rem}.sudoku-timer-inner{padding:.32rem .8rem;gap:.35rem}.sudoku-timer-icon{font-size:.95rem}.sudoku-timer-label{font-size:.75rem}.sudoku-timer-digits{font-size:.95rem}.sudoku-2d-grid{width:min(90vw,43vh,390px);height:min(90vw,43vh,390px)}.sudoku-popup-keypad{padding:.45rem;gap:.35rem;border-radius:15px}.sudoku-popup-grid{gap:.32rem}.sudoku-popup-btn{width:42px;height:42px;font-size:1.15rem;border-radius:10px}.sudoku-popup-action-btn.erase{height:32px;font-size:.74rem}.sudoku-popup-action-btn.close{width:32px;height:32px}}.pong-hud-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:1rem 1.25rem;box-sizing:border-box;z-index:20;font-family:inherit}.pong-scoreboard-card{align-self:center;pointer-events:auto;display:flex;align-items:center;gap:1.2rem;padding:.65rem 1.6rem;border-radius:999px;background:#0a0f1ec7;border:1px solid rgba(56,189,248,.35);box-shadow:0 8px 32px #00000073,0 0 20px #38bdf833;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.pong-player-score-box{display:flex;flex-direction:column;align-items:center;gap:.15rem}.pong-score-label{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.p0-score .pong-score-label{color:#38bdf8}.p1-score .pong-score-label{color:#f43f5e}.pong-score-digit{font-size:1.95rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;color:#f8fafc;text-shadow:0 0 12px rgba(255,255,255,.4)}.pong-score-divider{font-size:1.6rem;font-weight:900;color:#94a3b866}.pong-telemetry-bar{align-self:center;display:flex;align-items:center;gap:.75rem;margin-top:.4rem;pointer-events:auto}.pong-telemetry-badge{display:flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:999px;background:#0f172aa6;border:1px solid rgba(148,163,184,.22);color:#cbd5e1;font-size:.82rem;font-weight:600}.pong-telemetry-badge strong{color:#f8fafc;font-weight:800}.pong-icon-btn{background:#1e293bbf;border:1px solid rgba(148,163,184,.3);color:#f8fafc;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;cursor:pointer;transition:all .2s ease}.pong-icon-btn:hover{transform:scale(1.08);border-color:#38bdf8}.pong-mobile-controls{pointer-events:none;display:flex;align-items:flex-end;justify-content:space-between;width:100%;gap:1rem;padding-bottom:5.2rem;z-index:25}.pong-touch-zone{pointer-events:auto;flex:1;max-width:360px;height:70px;border-radius:16px;background:#0f172a59;border:1px dashed rgba(56,189,248,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:none}.pong-touch-hint{font-size:.78rem;font-weight:700;color:#94a3b8cc;letter-spacing:.04em}@media (hover: hover) and (pointer: fine){.pong-touch-zone{display:none}.pong-mobile-controls{justify-content:flex-end}}.pong-smash-btn{pointer-events:auto;width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#ef4444);border:2px solid rgba(255,255,255,.45);box-shadow:0 0 25px #ef444480,inset 0 2px 4px #ffffff4d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;cursor:pointer;color:#fff;font-weight:900;transition:all .15s ease;-webkit-user-select:none;user-select:none;touch-action:manipulation;z-index:28}.pong-smash-btn:hover{transform:scale(1.06);box-shadow:0 0 32px #ef4444bf,inset 0 2px 4px #fff6}.pong-smash-btn:active{transform:scale(.92)}.pong-smash-btn.disabled{opacity:.4;filter:grayscale(.85);pointer-events:none}.pong-smash-btn .smash-bolt{font-size:1.4rem;line-height:1}.pong-smash-btn .smash-text{font-size:.65rem;letter-spacing:.08em;font-weight:900}.pong-smash-btn .smash-hint{font-size:.52rem;opacity:.85;font-weight:600;margin-top:-1px}.pong-modal{position:absolute;top:0;left:0;width:100%;height:100%;background:#030712d1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:auto;animation:fadeIn .25s ease-out}.pong-modal-card{width:90%;max-width:420px;padding:1.75rem 1.6rem;border-radius:24px;text-align:center;display:flex;flex-direction:column;gap:1.1rem}.pong-modal-title{font-size:2rem;font-weight:900;margin:0;letter-spacing:.05em}.pong-modal-sub{margin:-.5rem 0 .5rem;color:#94a3b8;font-weight:600;font-size:1rem}.pong-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.pong-stat-box{background:#0f172a8c;border:1px solid rgba(148,163,184,.18);border-radius:14px;padding:.85rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.2rem}.pong-stat-box .stat-num{font-size:1.4rem;font-weight:900;color:#38bdf8}.pong-stat-box .stat-lbl{font-size:.75rem;font-weight:600;color:#94a3b8}.pong-rematch-btn{width:100%;padding:.85rem;font-size:1.05rem;font-weight:800;border-radius:14px}.pong-modal-header{display:flex;align-items:center;justify-content:space-between}.pong-modal-header h3{margin:0;font-size:1.25rem;color:#f8fafc}.pong-close-btn{background:transparent;border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer}.pong-settings-body{display:flex;flex-direction:column;gap:1rem;text-align:left}.pong-setting-row{display:flex;flex-direction:column;gap:.4rem}.pong-setting-row label{font-size:.82rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.pong-pills{display:flex;gap:.45rem;flex-wrap:wrap}.pong-pill{flex:1;min-width:60px;padding:.45rem .6rem;border-radius:10px;background:#1e293b99;border:1px solid rgba(148,163,184,.25);color:#cbd5e1;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s ease;text-align:center}.pong-pill.active{background:#38bdf838;border-color:#38bdf8;color:#38bdf8;box-shadow:0 0 10px #38bdf84d}.universal-countdown-overlay,.pong-countdown-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:95;background:radial-gradient(circle at center,#0f172a73,#060814c7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .25s ease}.universal-countdown-box,.pong-countdown-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.universal-countdown-number,.pong-countdown-number{font-size:clamp(4.5rem,15vw,7.5rem);font-weight:900;color:#38bdf8;text-shadow:0 0 35px rgba(56,189,248,.85),0 0 70px rgba(56,189,248,.45);line-height:1;margin-bottom:.6rem;animation:countdownPulse .95s cubic-bezier(.16,1,.3,1) infinite}.universal-countdown-number.go-text,.pong-countdown-number.go-text{color:#10b981;text-shadow:0 0 45px rgba(16,185,129,.9),0 0 90px rgba(16,185,129,.5)}.universal-countdown-subtitle,.pong-countdown-subtitle{font-size:1.15rem;font-weight:800;letter-spacing:.08em;color:#e2e8f0;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.75)}@keyframes countdownPulse{0%{transform:scale(1.35);opacity:.8}35%{transform:scale(1);opacity:1}80%{transform:scale(.96);opacity:.95}to{transform:scale(.92);opacity:.1}}.pong-serve-callout{position:absolute;top:36%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:45;animation:calloutPop .25s cubic-bezier(.16,1,.3,1)}.pong-serve-badge{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1.8rem;border-radius:999px;background:#0f172ae0;border:1.5px solid rgba(245,158,11,.55);box-shadow:0 10px 35px #000000a6,0 0 25px #f59e0b59;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#pongServeText{font-size:1.35rem;font-weight:900;color:#fbbf24;letter-spacing:.05em;text-shadow:0 0 14px rgba(245,158,11,.6)}.pong-serve-sub{font-size:.82rem;font-weight:700;color:#cbd5e1}@keyframes calloutPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width: 640px){.pong-hud-overlay{padding:.65rem .75rem}.pong-scoreboard-card{padding:.45rem 1.1rem;gap:.85rem}.pong-score-digit{font-size:1.55rem}.pong-smash-btn{width:66px;height:66px}}.app-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#040710c7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem;box-sizing:border-box;animation:fadeIn .18s ease-out}.app-dialog-card{width:100%;max-width:420px;background:#0f172af0;border:1px solid rgba(148,163,184,.28);border-radius:24px;padding:1.85rem 1.65rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.85rem;box-shadow:0 24px 64px #000000a6,0 0 32px #38bdf81f;animation:dialogPopIn .24s cubic-bezier(.16,1,.3,1)}@keyframes dialogPopIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-dialog-icon{font-size:2.85rem;line-height:1;margin-bottom:.1rem;filter:drop-shadow(0 0 12px rgba(56,189,248,.45))}.app-dialog-title{margin:0;font-size:1.35rem;font-weight:800;color:#f8fafc;letter-spacing:-.3px}.app-dialog-message{margin:0;font-size:.95rem;line-height:1.6;color:#cbd5e1;word-break:break-word}.app-dialog-actions{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;margin-top:.65rem}.app-dialog-btn{flex:1;padding:.75rem 1.25rem;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;justify-content:center}.app-dialog-btn.primary-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 14px #2563eb59}.app-dialog-btn.primary-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.app-dialog-btn.secondary-btn{background:#1e293bbf;color:#cbd5e1;border:1px solid rgba(148,163,184,.25)}.app-dialog-btn.secondary-btn:hover{background:#334155e6;color:#f8fafc}@media (max-width: 640px){.app-dialog-card{padding:1.5rem 1.25rem 1.35rem;border-radius:20px}.app-dialog-icon{font-size:2.4rem}.app-dialog-title{font-size:1.2rem}.app-dialog-message{font-size:.88rem}}.copy-link-top-btn{background:#38bdf838;border:1px solid rgba(56,189,248,.55);color:#38bdf8;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #0006,0 0 12px #38bdf84d;z-index:15}.copy-link-top-btn:hover{background:#38bdf866;border-color:#38bdf8;transform:scale(1.08);box-shadow:0 4px 18px #38bdf880}.copy-link-top-btn:active{transform:scale(.95)}.sudoku-waiting-card,.ingame-waiting-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:35;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.15rem 1.4rem;border-radius:8px;background:#0f172af2;border:1.5px solid rgba(245,158,11,.55);box-shadow:0 16px 42px #000000bf,0 0 24px #f59e0b40;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);width:min(310px,86vw);box-sizing:border-box;animation:dialogPopIn .25s ease-out;pointer-events:auto}.waiting-card-title{margin:0;font-size:1.15rem;font-weight:800;color:#fde68a;letter-spacing:-.2px}.hourglass-anim-wrapper{display:flex;align-items:center;justify-content:center;margin:.75rem 0 .5rem}.hourglass-anim-svg{animation:hgFlip 3.2s infinite cubic-bezier(.45,0,.25,1);transform-origin:22px 26px;filter:drop-shadow(0 0 6px rgba(245,158,11,.4))}@keyframes hgFlip{0%{transform:rotate(0)}65%{transform:rotate(0)}80%{transform:rotate(180deg)}to{transform:rotate(180deg)}}.hg-sand-top{animation:hgTopDrain 3.2s infinite cubic-bezier(.45,0,.25,1);transform-origin:22px 25px}@keyframes hgTopDrain{0%{transform:scale(1);opacity:1}58%{transform:scale(.1);opacity:.3}65%,to{transform:scale(0);opacity:0}}.hg-sand-stream{animation:hgStreamFlow .55s linear infinite}@keyframes hgStreamFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-10}}.hg-sand-bottom{animation:hgBottomFill 3.2s infinite cubic-bezier(.45,0,.25,1);transform-origin:22px 45px}@keyframes hgBottomFill{0%{transform:scale(.2,.1);opacity:.3}58%{transform:scale(1);opacity:1}65%,to{transform:scale(1);opacity:1}}.waiting-card-desc{margin:.25rem 0 .75rem;font-size:.82rem;color:#94a3b8;line-height:1.45}.waiting-card-room-badge{background:#1e293be6;border:1px solid rgba(148,163,184,.3);padding:.3rem .85rem;border-radius:6px;font-size:.82rem;color:#cbd5e1;margin-bottom:.9rem}.waiting-card-room-badge strong{color:#f59e0b;font-size:.95rem;letter-spacing:.08em}.waiting-card-copy-btn{width:100%;padding:.65rem 1rem;font-size:.9rem;font-weight:700;border-radius:8px;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;border:none;box-shadow:0 4px 14px #f59e0b59;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.45rem}.waiting-card-copy-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.waiting-card-copy-btn:active{transform:scale(.97)}.match-started-splash{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:80;display:flex;align-items:center;justify-content:center;pointer-events:none;width:90%;max-width:380px}.match-started-content{background:#0f172af2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(245,158,11,.65);border-radius:18px;padding:1.1rem 2.2rem;box-shadow:0 20px 50px #000c,0 0 35px #f59e0b59;display:flex;align-items:center;justify-content:center;gap:.85rem;color:#fff;animation:matchStartPop 2.8s cubic-bezier(.16,1,.3,1) forwards}.match-started-icon{font-size:2.1rem;filter:drop-shadow(0 0 12px rgba(245,158,11,.8));animation:swordClash .6s ease-out}.match-started-text{font-size:1.4rem;font-weight:800;letter-spacing:-.2px;background:linear-gradient(135deg,#fff 30%,#fde68a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 20px rgba(245,158,11,.3)}@keyframes swordClash{0%{transform:scale(1.6) rotate(-25deg);opacity:0}60%{transform:scale(1.1) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0)}}@keyframes matchStartPop{0%{opacity:0;transform:scale(.7) translateY(24px)}14%{opacity:1;transform:scale(1.04) translateY(0)}22%{transform:scale(1) translateY(0)}78%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.92) translateY(-16px)}}.changelog-container{max-width:920px;width:95%;margin:1.5rem auto 5.5rem;padding:1.8rem;border-radius:20px;background:#0f172ae0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 40px #00000080}.changelog-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.3rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(255,255,255,.08)}.changelog-header-left{display:flex;align-items:center;gap:.85rem}.changelog-back-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#1e293bcc;border:1px solid rgba(255,255,255,.12);color:#f1f5f9;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.changelog-back-btn:hover{background:#334155f2;transform:translate(-2px)}.changelog-header-left h2{font-size:1.35rem;font-weight:700;color:#f8fafc;margin:0}.changelog-header-left p{font-size:.85rem;color:#94a3b8;margin:.25rem 0 0}.changelog-header-actions{display:flex;align-items:center;gap:.65rem}.changelog-github-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border-radius:11px;background:#1e293be6;border:1px solid rgba(255,255,255,.16);color:#38bdf8;font-size:.85rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease}.changelog-github-btn:hover{background:#38bdf826;border-color:#38bdf880;transform:translateY(-1px)}.changelog-refresh-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:#1e293bcc;border:1px solid rgba(255,255,255,.12);color:#f1f5f9;font-size:1rem;cursor:pointer;transition:all .2s ease}.changelog-refresh-btn:hover{background:#334155f2;transform:rotate(45deg)}.changelog-toolbar{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.5rem}.changelog-search-box{position:relative;display:flex;align-items:center;width:100%}.changelog-search-box .search-icon{position:absolute;left:.95rem;color:#64748b;font-size:.95rem;pointer-events:none}.rtl-layout .changelog-search-box .search-icon{left:auto;right:.95rem}.changelog-search-box input{width:100%;padding:.75rem 2.5rem .75rem 2.6rem;border-radius:12px;background:#0f172ab3;border:1px solid rgba(255,255,255,.12);color:#f8fafc;font-size:.9rem;outline:none;transition:all .2s ease}.rtl-layout .changelog-search-box input{padding:.75rem 2.6rem .75rem 2.5rem}.changelog-search-box input:focus{border-color:#6366f1;background:#0f172ae6;box-shadow:0 0 0 3px #6366f133}.changelog-search-box .clear-search-btn{position:absolute;right:.85rem;background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.9rem;padding:.2rem .4rem}.rtl-layout .changelog-search-box .clear-search-btn{right:auto;left:.85rem}.changelog-filter-chips{display:flex;gap:.45rem;flex-wrap:wrap}.changelog-chip{padding:.4rem .85rem;border-radius:20px;background:#1e293bb3;border:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.changelog-chip:hover{background:#334155d9;color:#f1f5f9}.changelog-chip.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent;box-shadow:0 2px 10px #6366f159}.changelog-list{display:flex;flex-direction:column;gap:.85rem;position:relative}.changelog-commit-card{display:flex;flex-direction:column;gap:.55rem;padding:1.1rem 1.25rem;background:#0f172aa6;border:1px solid rgba(255,255,255,.08);border-radius:14px;transition:all .22s ease;position:relative}.changelog-commit-card:hover{background:#1e293bb3;border-color:#6366f159;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.changelog-card-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.changelog-badges{display:flex;align-items:center;gap:.5rem}.commit-sha-pill{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;background:#6366f129;color:#a5b4fc;border:1px solid rgba(99,102,241,.3);text-decoration:none;transition:all .15s ease}.commit-sha-pill:hover{background:#6366f14d;color:#fff;border-color:#818cf8}.commit-type-pill{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.18rem .55rem;border-radius:6px}.pill-feat{background:#10b9812e;color:#34d399;border:1px solid rgba(16,185,129,.35)}.pill-fix{background:#ef44442e;color:#f87171;border:1px solid rgba(239,68,68,.35)}.pill-i18n{background:#38bdf82e;color:#38bdf8;border:1px solid rgba(56,189,248,.35)}.pill-audio{background:#f59e0b2e;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.pill-deploy{background:#a855f72e;color:#c084fc;border:1px solid rgba(168,85,247,.35)}.pill-refactor{background:#6366f12e;color:#818cf8;border:1px solid rgba(99,102,241,.35)}.pill-other{background:#94a3b82e;color:#cbd5e1;border:1px solid rgba(148,163,184,.35)}.commit-date-meta{font-size:.78rem;color:#64748b;display:flex;align-items:center;gap:.35rem}.changelog-commit-title{font-size:.96rem;font-weight:600;color:#f1f5f9;line-height:1.45;margin:0}.changelog-commit-desc{font-size:.84rem;color:#94a3b8;line-height:1.5;white-space:pre-line;margin:.2rem 0 0;padding-left:.75rem;border-left:2px solid rgba(99,102,241,.3)}.rtl-layout .changelog-commit-desc{padding-left:0;padding-right:.75rem;border-left:none;border-right:2px solid rgba(99,102,241,.3)}.commit-author-meta{font-size:.75rem;color:#64748b;margin-top:.2rem}.auth-footer-links{display:flex;justify-content:center;margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.auth-footer-link{background:none;border:none;color:#94a3b8;font-size:.82rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .2s ease;padding:.3rem .6rem;border-radius:8px}.auth-footer-link:hover{color:#38bdf8;background:#38bdf81a}.changelog-empty{text-align:center;padding:2.5rem 1rem;color:#94a3b8}.changelog-empty .empty-icon{font-size:2.2rem;display:block;margin-bottom:.75rem}@media (max-width: 640px){.changelog-container{padding:1.1rem;margin-top:1rem}.changelog-header{flex-direction:column;align-items:flex-start}.changelog-header-actions{width:100%;justify-content:space-between}}.mensch-hud-overlay{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#0f172ae0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 36px #0000008c,0 0 24px #f59e0b2e;border-radius:9999px;padding:8px 18px;z-index:50;pointer-events:auto;max-width:94%;transition:all .25s ease}.mensch-dice-badge{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#1e293be6,#0f172ae6);border:1px solid rgba(255,255,255,.14);border-radius:9999px;padding:6px 14px;color:#f8fafc;font-weight:700;font-size:.95rem;letter-spacing:.02em;white-space:nowrap}.mensch-dice-icon{font-size:1.55rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.mensch-dice-num{font-size:1.15rem;font-weight:800;color:#fbbf24}.mensch-dice-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;border:none;border-radius:9999px;padding:8px 20px;font-size:.95rem;font-weight:800;cursor:pointer;box-shadow:0 4px 14px #f59e0b73;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:6px;animation:menschPulse 1.8s infinite ease-in-out;white-space:nowrap}.mensch-dice-btn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 6px 22px #f59e0ba6;background:linear-gradient(135deg,#fbbf24,#f59e0b)}.mensch-dice-btn:active{transform:translateY(0) scale(.97)}.mensch-turn-tip{font-size:.88rem;font-weight:600;color:#94a3b8;white-space:nowrap;padding:0 4px}.mensch-turn-tip.active-move{color:#38bdf8;font-weight:700}.mensch-bonus-tag{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.78rem;font-weight:800;padding:4px 11px;border-radius:9999px;animation:bounce 1.2s infinite ease-in-out;white-space:nowrap;box-shadow:0 2px 10px #ef444473}@keyframes menschPulse{0%,to{transform:scale(1);box-shadow:0 4px 14px #f59e0b66}50%{transform:scale(1.05);box-shadow:0 6px 24px #f59e0bb3}}@media (max-width: 640px){.mensch-hud-overlay{bottom:12px;padding:6px 12px;gap:8px;flex-wrap:wrap;justify-content:center}.mensch-dice-badge{padding:4px 10px;font-size:.84rem}.mensch-dice-icon{font-size:1.25rem}.mensch-dice-num{font-size:.98rem}.mensch-dice-btn{padding:6px 14px;font-size:.84rem}.mensch-turn-tip{font-size:.78rem}}.feedback-container{max-width:920px;width:95%;margin:1.5rem auto 5.5rem;padding:1.8rem;border-radius:20px;background:#0f172ae0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 40px #00000080}.feedback-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(255,255,255,.08)}.feedback-header-left{display:flex;align-items:center;gap:.85rem}.feedback-back-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#1e293bcc;border:1px solid rgba(255,255,255,.12);color:#f1f5f9;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.feedback-back-btn:hover{background:#334155f2;transform:translate(-2px)}.feedback-header-left h2{font-size:1.35rem;font-weight:700;color:#f8fafc;margin:0}.feedback-header-left p{font-size:.85rem;color:#94a3b8;margin:.25rem 0 0}.feedback-header-actions{display:flex;align-items:center;gap:.75rem}.feedback-admin-badge{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;font-size:.8rem;font-weight:700;padding:5px 12px;border-radius:20px;border:1px solid rgba(167,139,250,.4);box-shadow:0 2px 10px #7c3aed59}.feedback-refresh-btn{width:38px;height:38px;border-radius:10px;background:#1e293bcc;border:1px solid rgba(255,255,255,.1);color:#f1f5f9;cursor:pointer;font-size:1.05rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.feedback-refresh-btn:hover{background:#334155f2;transform:rotate(45deg)}.feedback-composer-card{background:#1e293b8c;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.25rem;margin-bottom:1.6rem;transition:all .2s ease}.feedback-composer-card:focus-within{border-color:#6366f180;box-shadow:0 0 0 3px #6366f126;background:#1e293bbf}.feedback-textarea{width:100%;min-height:90px;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.9rem 1rem;font-family:inherit;font-size:.95rem;line-height:1.5;color:#f8fafc;resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box}.feedback-textarea:focus{border-color:#6366f1}.feedback-textarea::placeholder{color:#64748b}.feedback-composer-actions{display:flex;align-items:center;justify-content:space-between;margin-top:.85rem;gap:1rem}.feedback-char-count{font-size:.78rem;color:#64748b}.feedback-submit-btn{padding:.6rem 1.4rem;font-size:.92rem;font-weight:600;border-radius:10px;cursor:pointer;white-space:nowrap}.feedback-toolbar{margin-bottom:1.4rem}.feedback-filter-chips{display:flex;flex-wrap:wrap;gap:.5rem}.feedback-chip{background:#1e293b99;border:1px solid rgba(255,255,255,.08);color:#94a3b8;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.feedback-chip:hover{background:#334155cc;color:#f1f5f9}.feedback-chip.active{background:#6366f1;color:#fff;border-color:#818cf8;box-shadow:0 2px 8px #6366f159}.feedback-list{display:flex;flex-direction:column;gap:1rem}.feedback-card{background:#1e293b73;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.25rem;transition:all .2s ease}.feedback-card:hover{background:#1e293ba6;border-color:#ffffff24}.feedback-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.85rem}.feedback-card-author{display:flex;align-items:center;gap:.75rem}.feedback-author-avatar-frame{width:42px;height:42px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#0f172ab3;box-shadow:0 3px 10px #00000059;border:2px solid rgba(139,92,246,.45)}.feedback-author-avatar-frame .gm-avatar-svg{width:100%;height:100%;display:block}.feedback-author-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:.95rem;color:#fff;font-weight:700;box-shadow:0 2px 6px #0003}.feedback-author-info{display:flex;flex-direction:column}.feedback-author-name{font-size:.92rem;font-weight:600;color:#f1f5f9}.feedback-card-date{font-size:.76rem;color:#64748b}.feedback-status-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:9999px;font-size:.8rem;font-weight:700;white-space:nowrap}.status-badge-0{background:#06b6d426;color:#38bdf8;border:1px solid rgba(56,189,248,.35)}.status-badge-1{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(251,191,36,.35)}.status-badge-2{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(167,139,250,.35)}.status-badge-3{background:#10b98126;color:#34d399;border:1px solid rgba(52,211,153,.35)}.status-badge-4{background:#ef444426;color:#f87171;border:1px solid rgba(248,113,113,.35)}.feedback-content-text{font-size:.95rem;line-height:1.6;color:#e2e8f0;white-space:pre-wrap;word-break:break-word;margin:0 0 .85rem}.feedback-admin-reply-box{background:#1e293b99;border:1px solid rgba(255,255,255,.12);border-right:4px solid #a855f7;border-radius:10px;padding:.85rem 1rem;margin-top:.75rem}[dir=ltr] .feedback-admin-reply-box{border-right:1px solid rgba(255,255,255,.12);border-left:4px solid #a855f7}.feedback-admin-reply-box.status-4{background:#ef444414;border-color:#ef44444d;border-right-color:#ef4444}[dir=ltr] .feedback-admin-reply-box.status-4{border-left-color:#ef4444}.feedback-admin-reply-box.status-4 .admin-reply-title{color:#fca5a5}.feedback-admin-reply-box.status-4 .admin-reply-text{color:#fecaca}.feedback-admin-reply-box.status-3{background:#10b98114;border-color:#10b9814d;border-right-color:#10b981}[dir=ltr] .feedback-admin-reply-box.status-3{border-left-color:#10b981}.feedback-admin-reply-box.status-3 .admin-reply-title{color:#6ee7b7}.feedback-admin-reply-box.status-3 .admin-reply-text{color:#d1fae5}.feedback-admin-reply-box.status-2{background:#8b5cf614;border-color:#8b5cf64d;border-right-color:#8b5cf6}[dir=ltr] .feedback-admin-reply-box.status-2{border-left-color:#8b5cf6}.feedback-admin-reply-box.status-2 .admin-reply-title{color:#c4b5fd}.feedback-admin-reply-box.status-2 .admin-reply-text{color:#ede9fe}.feedback-admin-reply-box.status-1{background:#f59e0b14;border-color:#f59e0b4d;border-right-color:#f59e0b}[dir=ltr] .feedback-admin-reply-box.status-1{border-left-color:#f59e0b}.feedback-admin-reply-box.status-1 .admin-reply-title{color:#fcd34d}.feedback-admin-reply-box.status-1 .admin-reply-text{color:#fef3c7}.admin-reply-header{display:flex;align-items:center;gap:6px;margin-bottom:.35rem}.admin-reply-title{color:#e2e8f0;font-size:.86rem;font-weight:700}.admin-reply-text{color:#f1f5f9;font-size:.88rem;line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.feedback-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:.85rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.06)}.feedback-reactions{display:inline-flex;align-items:center;gap:.5rem}.feedback-vote-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:9999px;padding:5px 12px;font-size:.82rem;font-weight:600;color:#cbd5e1;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.feedback-vote-btn:hover{background:#ffffff1a;border-color:#ffffff40;transform:translateY(-1px)}.feedback-vote-btn.like-btn.active{background:#10b98133;border-color:#10b98199;color:#34d399;box-shadow:0 0 12px #10b9814d}.feedback-vote-btn.dislike-btn.active{background:#ef444433;border-color:#ef444499;color:#f87171;box-shadow:0 0 12px #ef44444d}.feedback-vote-btn .vote-icon{font-size:.95rem}.feedback-vote-btn .vote-count{font-size:.82rem;font-weight:700}.feedback-rejection-box{background:#ef444414;border:1px solid rgba(239,68,68,.3);border-right:4px solid #ef4444;border-radius:10px;padding:.85rem 1rem;margin-top:.75rem}[dir=ltr] .feedback-rejection-box{border-right:1px solid rgba(239,68,68,.3);border-left:4px solid #ef4444}.rejection-box-header{display:flex;align-items:center;gap:6px;margin-bottom:.35rem}.rejection-title{color:#fca5a5;font-size:.86rem;font-weight:700}.rejection-text{color:#fecaca;font-size:.88rem;line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.feedback-admin-note-row{display:flex;width:100%}.feedback-admin-note-input{width:100%;background:#0f172ad9;border:1px solid rgba(139,92,246,.3);border-radius:8px;padding:7px 12px;font-size:.84rem;color:#f1f5f9;outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.feedback-admin-note-input:focus{border-color:#a855f7;box-shadow:0 0 8px #a855f740}.feedback-admin-box{margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.6rem}.feedback-admin-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.feedback-admin-label{font-size:.8rem;font-weight:600;color:#c084fc}.feedback-status-select{background:#0f172ae6;border:1px solid rgba(167,139,250,.4);color:#f1f5f9;border-radius:8px;padding:5px 10px;font-size:.84rem;font-family:inherit;outline:none;cursor:pointer}.feedback-status-select:focus{border-color:#a855f7}.feedback-admin-save-btn{background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;border:none;border-radius:8px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}.feedback-admin-save-btn:hover{background:linear-gradient(135deg,#6d28d9,#4f46e5);transform:translateY(-1px)}.feedback-admin-delete-btn{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.4);border-radius:8px;padding:6px 10px;font-size:.82rem;cursor:pointer;margin-right:auto}[dir=ltr] .feedback-admin-delete-btn{margin-right:0;margin-left:auto}.feedback-admin-delete-btn:hover{background:#ef444466;color:#fff}.feedback-rejection-input-wrap{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.feedback-rejection-input{background:#0f172ad9;border:1px solid rgba(239,68,68,.5);color:#fee2e2;border-radius:8px;padding:6px 10px;font-size:.84rem;font-family:inherit;outline:none}.feedback-rejection-input:focus{border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}.feedback-empty{text-align:center;padding:3rem 1rem}.feedback-empty .empty-icon{font-size:2.8rem;display:block;margin-bottom:.8rem;opacity:.8}.feedback-empty h3{font-size:1.15rem;color:#f1f5f9;margin:0 0 .4rem}.feedback-empty p{font-size:.9rem;color:#64748b;margin:0}@media (max-width: 640px){.feedback-container{padding:1.1rem;margin-top:1rem}.feedback-header{flex-direction:column;align-items:flex-start}.feedback-header-actions{width:100%;justify-content:space-between}}.tetris-hud-container{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:50;pointer-events:none}.tetris-hud-card{display:flex;align-items:center;gap:16px;background:#0f172ae0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);border-radius:9999px;padding:6px 18px;box-shadow:0 10px 28px #00000080,0 0 20px #06b6d433}.tetris-hud-item{display:flex;flex-direction:column;align-items:center;line-height:1.1}.tetris-hud-label{font-size:.68rem;font-weight:800;color:#94a3b8;letter-spacing:.05em;text-transform:uppercase}.tetris-hud-val{font-size:1.1rem;font-weight:900;color:#f8fafc;font-variant-numeric:tabular-nums}.tetris-hud-val.score{color:#06b6d4;text-shadow:0 0 12px rgba(6,182,212,.45)}.tetris-hud-val.level{color:#fbbf24}.tetris-hud-vs{display:flex;align-items:center;gap:6px;background:#ef44442e;border:1px solid rgba(239,68,68,.35);padding:3px 10px;border-radius:9999px;color:#fca5a5;font-size:.85rem;font-weight:800}.tetris-danger-gauge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.78rem;font-weight:800;padding:3px 10px;border-radius:9999px;animation:tetrisDangerPulse 1s infinite alternate}@keyframes tetrisDangerPulse{0%{transform:scale(1);box-shadow:0 0 8px #ef444480}to{transform:scale(1.06);box-shadow:0 0 18px #ef4444e6}}.tetris-toast-popup{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);background:#0f172aeb;border:2px solid #06b6d4;border-radius:14px;padding:10px 24px;font-size:1.35rem;font-weight:900;color:#06b6d4;letter-spacing:.05em;box-shadow:0 10px 30px #0009,0 0 25px #06b6d480;z-index:60;pointer-events:none;animation:tetrisToastAnim 1.1s forwards cubic-bezier(.18,.89,.32,1.28)}@keyframes tetrisToastAnim{0%{opacity:0;transform:translate(-50%,-30%) scale(.7)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}75%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-70%) scale(.9)}}.tetris-touch-controls{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 16px;z-index:55;pointer-events:none}.tetris-dpad,.tetris-actions{display:flex;align-items:center;gap:10px;pointer-events:auto}.tetris-btn{width:54px;height:54px;border-radius:50%;background:#1e293bd1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);color:#f8fafc;font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;box-shadow:0 4px 14px #0006;transition:transform .1s ease,background .15s ease}.tetris-btn:active{transform:scale(.92);background:#06b6d459;border-color:#06b6d4}.tetris-btn.hard-drop-btn{background:linear-gradient(135deg,#06b6d4d9,#0e7490d9);border-color:#06b6d499;color:#fff;font-size:1.4rem;box-shadow:0 4px 16px #06b6d466}.tetris-btn.rot-btn{background:linear-gradient(135deg,#a855f7cc,#7e22cecc);border-color:#a855f780}.tetris-btn.hold-btn{background:linear-gradient(135deg,#f59e0bcc,#d97706cc);border-color:#f59e0b80}@media (min-width: 900px){.tetris-touch-controls{display:none}}@media (max-width: 640px){.tetris-hud-card{padding:4px 14px;gap:10px}.tetris-hud-val{font-size:.95rem}.tetris-hud-label{font-size:.62rem}.tetris-btn{width:48px;height:48px;font-size:1.15rem}}.battleship-container{width:100%;height:100%;max-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#0f1c30,#060b14);color:#e2e8f0;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-user-select:none;user-select:none;font-family:inherit;box-sizing:border-box;padding-top:calc(max(.6rem,calc(env(safe-area-inset-top,0px) + .4rem)) + 48px);padding-bottom:max(.5rem,env(safe-area-inset-bottom,8px));padding-left:.5rem;padding-right:.5rem}.battleship-container.placement-mode{justify-content:flex-start;padding-top:max(4.8rem,calc(env(safe-area-inset-top,0px) + 4.2rem));padding-bottom:max(4.8rem,calc(env(safe-area-inset-bottom,0px) + 4.2rem))}.battleship-container.battle-mode{justify-content:center;align-items:center;padding-top:max(4.8rem,calc(env(safe-area-inset-top,0px) + 4.2rem));padding-bottom:max(4.8rem,calc(env(safe-area-inset-bottom,0px) + 4.2rem))}.battleship-impact-banner{position:fixed!important;top:calc(max(.5rem,env(safe-area-inset-top,6px)) + 84px)!important;left:50%!important;transform:translate(-50%) translateY(-20px);opacity:0;pointer-events:none;z-index:100000!important;padding:.65rem 1.6rem;border-radius:999px;font-weight:800;font-size:.95rem;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:all .28s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 30px #000000b3;max-width:min(92vw,540px);text-align:center}.battleship-impact-banner.show{opacity:1;transform:translate(-50%) translateY(0)}.battleship-impact-banner.hit{background:#ef4444eb;color:#fff;border:1.5px solid #f87171;box-shadow:0 0 25px #ef444499}.battleship-impact-banner.sunk{background:linear-gradient(135deg,#b91c1c,#450a0a);color:#fef08a;border:2px solid #eab308;box-shadow:0 0 30px #eab30899}.battleship-impact-banner.miss{background:#1e293beb;color:#93c5fd;border:1.5px solid #38bdf8}.bs-vignette-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100vh!important;pointer-events:none!important;z-index:99999!important;opacity:0;border-radius:0!important;transition:opacity .15s ease-out}.bs-vignette-overlay.vignette-water{opacity:1;background:radial-gradient(ellipse at center,#0ea5e900 28%,#0ea5e973 65%,#0284c7e0);box-shadow:inset 0 0 120px #38bdf8d9;animation:vignetteFadeWater 1.6s cubic-bezier(.16,1,.3,1) forwards}.bs-vignette-overlay.vignette-hit{opacity:1;background:radial-gradient(ellipse at center,#f9731600 25%,#f973168c 60%,#c2410ceb);box-shadow:inset 0 0 140px #f97316eb;animation:vignetteFadeHit 2s cubic-bezier(.16,1,.3,1) forwards}.bs-vignette-overlay.vignette-sunk{opacity:1;background:radial-gradient(ellipse at center,#ef444400 20%,#ef4444a6 55%,#991b1bf5);box-shadow:inset 0 0 160px #ef4444fa;animation:vignettePulseRed 3s ease-in-out forwards}.bs-vignette-overlay.vignette-my-turn{opacity:1;background:radial-gradient(ellipse at center,#10b98100 30%,#10b98161 68%,#059669d9);box-shadow:inset 0 0 130px #10b981d9;animation:vignetteFadeTurnGreen 2.2s cubic-bezier(.16,1,.3,1) forwards}.bs-vignette-overlay.vignette-waiting{opacity:1;background:radial-gradient(ellipse at center,#47556900 35%,#4755694d 70%,#1e293bc7);box-shadow:inset 0 0 110px #64748b99;animation:vignettePulseWaiting 2.8s infinite alternate ease-in-out}@keyframes vignetteFadeTurnGreen{0%{opacity:0;transform:scale(1.03)}25%{opacity:1;transform:scale(1)}75%{opacity:.85}to{opacity:0}}@keyframes vignettePulseWaiting{0%{opacity:.45}to{opacity:.85}}@keyframes vignetteFadeWater{0%{opacity:0}15%{opacity:1}70%{opacity:.9}to{opacity:0}}@keyframes vignetteFadeHit{0%{opacity:0}15%{opacity:1}70%{opacity:.95}to{opacity:0}}@keyframes vignettePulseRed{0%{opacity:0}12%{opacity:1}26%{opacity:.25}42%{opacity:1}58%{opacity:.3}74%{opacity:1}88%{opacity:.4}to{opacity:0}}.bs-main-content{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.battleship-container.placement-mode .bs-main-content{justify-content:flex-start}.battleship-container.battle-mode .bs-main-content{justify-content:center}.bs-three-content{width:100%;height:100%;pointer-events:none}.bs-three-content>*{pointer-events:auto}.bs-three-nav-controls{display:inline-flex;align-items:center;gap:.35rem}.bs-nav-btn.zoom{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;background:#0f172ad1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid rgba(56,189,248,.5);color:#38bdf8;font-weight:800;font-size:.85rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #0006;-webkit-user-select:none;user-select:none}.bs-nav-btn.zoom:hover{background:#0ea5e959;border-color:#38bdf8;color:#fff;transform:translateY(-1px) scale(1.08);box-shadow:0 0 14px #38bdf88c}.bs-nav-btn.zoom:active{transform:scale(.92)}.bs-view-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.32rem .85rem;border-radius:999px;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid rgba(56,189,248,.45);color:#38bdf8;font-weight:700;font-size:.82rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #00000059}.bs-view-toggle-btn:hover{background:#0ea5e94d;border-color:#38bdf8;color:#fff;transform:translateY(-1px) scale(1.03);box-shadow:0 0 14px #38bdf880}.bs-view-toggle-btn:active{transform:scale(.96)}.bs-three-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;display:flex;flex-direction:column;justify-content:space-between}.bs-three-top-bar{position:absolute;top:calc(max(.6rem,env(safe-area-inset-top,0px)) + 46px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem;pointer-events:auto;z-index:50;width:auto;max-width:95vw}.bs-three-dock{position:absolute;bottom:max(.8rem,env(safe-area-inset-bottom,10px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.5rem .8rem;background:#0f172ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1.5px solid rgba(56,189,248,.3);border-radius:16px;pointer-events:auto;z-index:50;max-width:min(94vw,440px);box-shadow:0 10px 28px #0009}.bs-three-dock-actions{display:flex;align-items:center;gap:.4rem;width:100%;justify-content:center}.bs-three-ship-pills{display:flex;align-items:center;gap:.35rem;overflow-x:auto;max-width:100%;padding:.2rem;-webkit-overflow-scrolling:touch}.bs-three-ship-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:999px;background:#1e293bb3;border:1px solid rgba(255,255,255,.15);color:#cbd5e1;font-size:.82rem;cursor:pointer;transition:all .15s ease;flex-shrink:0}.bs-three-ship-pill.active{border-color:#38bdf8;background:#0ea5e940;color:#fff;box-shadow:0 0 10px #38bdf866}.bs-three-ship-pill.placed{opacity:.55;border-style:dashed}.bs-battle-top-bar{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:.6rem;flex-shrink:0}.bs-battle-top-bar.compact{gap:.3rem;margin-bottom:.4rem}.bs-battle-top-bar.compact .bs-status-badge{padding:.4rem 1.2rem;font-size:.92rem}.bs-status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1.2rem;border-radius:999px;font-weight:800;font-size:.92rem;letter-spacing:.2px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bs-status-badge.round-aim{background:#10b9812e;border:1.5px solid rgba(16,185,129,.6);color:#6ee7b7;box-shadow:0 0 16px #10b98140}.bs-status-badge.round-waiting{background:#f59e0b2e;border:1.5px solid rgba(245,158,11,.6);color:#fde68a;box-shadow:0 0 16px #f59e0b40}.bs-status-badge .pulse-dot{width:9px;height:9px;border-radius:50%;background:currentColor;animation:radarPulse 1.2s infinite ease-in-out}.bs-spin-wait{display:inline-block;animation:hourglassFlip 1.8s infinite ease-in-out;font-size:1rem}@keyframes hourglassFlip{0%,35%{transform:rotate(0)}50%,85%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.bs-grid{position:relative;overflow:hidden;display:grid;direction:ltr!important;aspect-ratio:1 / 1;gap:2px;background:radial-gradient(circle at 50% 25%,#083344,#0c2738,#041421 80%,#020b12);border:2px solid rgba(56,189,248,.45);border-radius:14px;padding:4px;box-shadow:inset 0 0 30px #0ea5e938,0 10px 28px #0000008c;box-sizing:border-box;margin:0 auto;flex-shrink:0}.bs-grid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 35% 20%,rgba(56,189,248,.15) 0%,transparent 60%),radial-gradient(ellipse at 65% 80%,rgba(14,165,233,.12) 0%,transparent 60%),repeating-linear-gradient(45deg,transparent,transparent 16px,rgba(56,189,248,.035) 16px,rgba(56,189,248,.035) 32px);animation:oceanWaterWave 7s ease-in-out infinite alternate;z-index:0}.bs-grid.size-8{grid-template-columns:22px repeat(8,1fr);grid-template-rows:22px repeat(8,1fr)}.bs-grid.size-10{grid-template-columns:22px repeat(10,1fr);grid-template-rows:22px repeat(10,1fr)}.bs-grid.size-12{grid-template-columns:18px repeat(12,1fr);grid-template-rows:18px repeat(12,1fr)}.bs-grid.combined-grid{width:min(94vw,calc(100dvh - 160px),480px);height:min(94vw,calc(100dvh - 160px),480px);max-width:480px;max-height:480px;aspect-ratio:1 / 1;margin:.25rem auto .4rem;flex-shrink:0}.bs-grid.combined-grid.can-fire .combined-cell.can-target{cursor:crosshair}.bs-grid.combined-grid.can-fire .combined-cell.can-target:hover{background:#38bdf847;box-shadow:0 0 10px #38bdf899;transform:scale(1.04);z-index:3}.bs-grid.combined-grid.waiting{opacity:.95}.bs-grid.ocean-placement-grid{width:min(92vw,calc(100dvh - 210px),440px);height:min(92vw,calc(100dvh - 210px),440px);max-width:440px;max-height:440px;aspect-ratio:1 / 1;margin:.25rem auto;flex-shrink:0}.grid-header-corner{background:transparent;position:relative;z-index:1;width:100%;height:100%}.grid-col-label,.grid-row-label{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#64748b;font-family:monospace;width:100%;height:100%;min-width:0;min-height:0}.bs-cell{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;border-radius:4px;background:#081c30a6;border:1px solid rgba(56,189,248,.18);transition:all .15s ease;width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.combined-cell.has-my-ship{border:2px solid #000000!important}.combined-cell.opp-border-water{border:2.5px solid #0284c7!important;box-shadow:inset 0 0 6px #0284c766}.combined-cell.opp-border-hit{border:2.5px solid #f97316!important;box-shadow:inset 0 0 8px #f9731673}.combined-cell.opp-border-sunk{border:2.5px solid #ef4444!important;box-shadow:inset 0 0 10px #ef444499}.bs-center-my-shot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.25rem;line-height:1;pointer-events:none;z-index:5;display:flex;align-items:center;justify-content:center}.bs-center-my-shot.hit{animation:hitExplosion .35s ease-out}.bs-center-my-shot.miss{opacity:.85}.combined-cell.not-turn{cursor:not-allowed}.combined-cell.my-hit{background:#ef444459;box-shadow:0 0 12px #ef444480;animation:hitExplosion .35s ease-out}.combined-cell.opp-sunk{background:#b91c1c99;box-shadow:0 0 12px #eab30866}.combined-cell.my-miss{background:#0284c7!important;box-shadow:inset 0 0 12px #0ea5e999;transition:background-color .25s ease}.combined-cell.my-pending{background:#38bdf833;box-shadow:0 0 12px #38bdf866}.cell-pending-target{font-size:1.25rem;animation:pendingPulse 1s infinite alternate ease-in-out}@keyframes pendingPulse{0%{transform:scale(.9);opacity:.75}to{transform:scale(1.15);opacity:1}}.cell-hit-fire{font-size:1.15rem;animation:fireFlicker 1.4s infinite alternate}.cell-miss-splash{font-size:.95rem;opacity:.75}.cell-sunk-marker{font-size:1.1rem}.cell-hit-smoke{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;overflow:visible}.smoke-puff{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(148,163,184,.8) 0%,rgba(71,85,105,.45) 55%,transparent 75%);filter:blur(2px);opacity:0;top:45%;left:50%}.smoke-puff.s1{width:14px;height:14px;animation:smokeBillow1 2.2s infinite ease-out}.smoke-puff.s2{width:18px;height:18px;animation:smokeBillow2 2.6s infinite ease-out .75s}.smoke-puff.s3{width:12px;height:12px;animation:smokeBillow3 2.4s infinite ease-out 1.5s}.fleet-cell.has-ship{background:linear-gradient(135deg,#1e293b,#334155);border:2px solid #000000!important;box-shadow:0 0 0 1px #0f172a,inset 0 0 4px #000000e6!important}.ship-segment-hull{width:72%;height:72%;background:#38bdf8;border:1.5px solid #000000;border-radius:4px;box-shadow:0 0 6px #38bdf880}.fleet-cell.damaged{background:radial-gradient(circle,#ef444499,#460a0ae6 85%)!important;border:2px solid #ef4444!important;box-shadow:inset 0 0 12px #ef4444b3,0 0 10px #ef444466!important}.cell-fire-damage{font-size:1.15rem;animation:fireFlicker 1.2s infinite alternate}.fleet-cell.enemy-miss{background:radial-gradient(circle,#0ea5e959,#0f1e37d9 85%)!important;border-color:#38bdf880!important;box-shadow:inset 0 0 10px #0ea5e94d!important;color:#38bdf8;font-weight:800}.bs-placement-layout{display:flex;gap:1.5rem;justify-content:center;align-items:center;flex:1;max-width:900px;margin:0 auto;width:100%}.bs-grid-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0}.bs-dock-panel{display:flex;flex-direction:column;gap:.8rem;width:280px;flex-shrink:0;background:#0f172a99;border:1.5px solid rgba(56,189,248,.25);border-radius:20px;padding:1rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bs-dock-actions{display:flex;gap:.45rem}.bs-action-btn{flex:1;height:40px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:0;color:#e2e8f0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s}.bs-action-icon{font-size:1.35rem;line-height:1}.bs-action-btn:hover{background:#38bdf833;border-color:#38bdf8}.bs-action-btn.active{background:#6366f14d;border-color:#818cf8;color:#a5b4fc}.bs-ships-icon-bar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center;padding:.4rem .2rem;background:#0f172a73;border:1px solid rgba(255,255,255,.08);border-radius:14px}.bs-ship-btn{width:48px;height:48px;min-width:48px;border-radius:12px;border:1.5px solid rgba(255,255,255,.12);background:#0f172ad9;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0;color:#fff}.bs-ship-btn:hover{border-color:#38bdf8b3;background:#1e293bf2;transform:translateY(-2px);box-shadow:0 4px 12px #38bdf840}.bs-ship-btn.selected{border-color:#38bdf8;background:#38bdf838;box-shadow:0 0 16px #38bdf899;transform:scale(1.08)}.bs-ship-btn.placed{border-color:#10b98199;background:#10b9811f}.bs-ship-btn.placed.selected{border-color:#38bdf8;box-shadow:0 0 16px #38bdf899}.ship-btn-icon{font-size:1.55rem;line-height:1}.ship-btn-check{position:absolute;top:2px;right:2px;color:#10b981;font-weight:800;font-size:.65rem;background:#000c;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(16,185,129,.4)}.ship-size-tag{position:absolute;bottom:2px;left:3px;font-size:.65rem;font-weight:900;color:#38bdf8;background:#030712e0;border:1px solid rgba(56,189,248,.45);border-radius:5px;width:15px;height:15px;line-height:13px;display:flex;align-items:center;justify-content:center;font-family:monospace,sans-serif;pointer-events:none}.bs-ship-btn.placed .ship-size-tag{color:#10b981;border-color:#10b98180;background:#064e3bd9}.bs-ship-btn.selected .ship-size-tag{color:#fff;background:#0284c7;border-color:#38bdf8}.bs-confirm-fleet-btn{background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:12px;color:#fff;font-family:inherit;font-size:.95rem;font-weight:800;padding:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 8px 20px #10b98159;transition:all .2s}.bs-confirm-fleet-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;background:#334155}.placement-cell.occupied{background:linear-gradient(135deg,#1e293b,#334155);border:2px solid #000000!important;box-shadow:0 0 0 1px #0f172a,inset 0 0 4px #000000e6!important}.placement-cell .cell-ship-segment{width:75%;height:75%;background:#38bdf8;border:1.5px solid #000000;border-radius:4px;box-shadow:0 0 8px #38bdf899}.invalid-shake{animation:cellShake .35s ease;background:#ef444480!important;border-color:#ef4444!important}.bs-placement-waiting-card{margin:3rem auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.2rem;max-width:440px;background:#0f172ab3;border:1.5px solid rgba(56,189,248,.3);border-radius:24px;padding:2.5rem 1.8rem;box-shadow:0 20px 50px #0009}.sonar-radar-pulse{position:relative;width:100px;height:100px;border-radius:50%;border:2px solid rgba(56,189,248,.6);display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px #38bdf84d}.sonar-ring{position:absolute;top:-15px;right:-15px;bottom:-15px;left:-15px;border:1.5px solid rgba(56,189,248,.3);border-radius:50%;animation:sonarWave 2s infinite ease-out}.sonar-ring.r2{animation-delay:.9s}.sonar-sweep{position:absolute;width:50%;height:50%;top:0;right:0;background:linear-gradient(45deg,rgba(56,189,248,.4),transparent 70%);transform-origin:0% 100%;animation:sonarRotate 2.5s infinite linear}.sonar-center-icon{font-size:2.2rem;z-index:2}.bs-gameover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050816d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1.2rem}.bs-gameover-modal{background:#0f172af2;border:2px solid rgba(56,189,248,.5);border-radius:24px;padding:2.2rem;max-width:440px;width:100%;text-align:center;box-shadow:0 25px 60px #000c,0 0 40px #38bdf84d;animation:pickerPopIn .35s cubic-bezier(.175,.885,.32,1.275)}.bs-gameover-modal.win{border-color:#10b981;box-shadow:0 0 40px #10b98166}.bs-gameover-modal.defeat{border-color:#ef4444;box-shadow:0 0 40px #ef444466}.go-icon{font-size:3.5rem;margin-bottom:.5rem}.go-title{font-size:1.2rem;font-weight:800;margin:0 0 1.2rem;color:#fff;line-height:1.5}.go-stats{display:flex;gap:.8rem;justify-content:center}.stat-box{flex:1;background:#ffffff0d;border-radius:12px;padding:.8rem;display:flex;flex-direction:column;gap:.3rem}.stat-box .val{font-size:1.4rem;font-weight:900;color:#38bdf8}.stat-box .lbl{font-size:.74rem;color:#94a3b8}@keyframes oceanWaterWave{0%{transform:scale(1) translateY(0);opacity:.65}50%{transform:scale(1.04) translateY(-3px);opacity:.95}to{transform:scale(1) translateY(0);opacity:.65}}@keyframes smokeBillow1{0%{opacity:0;transform:translate(-50%,-20%) scale(.5)}25%{opacity:.75}65%{opacity:.45;transform:translate(calc(-50% - 4px),-65%) scale(1.3)}to{opacity:0;transform:translate(calc(-50% - 8px),-120%) scale(2)}}@keyframes smokeBillow2{0%{opacity:0;transform:translate(-50%,-20%) scale(.6)}25%{opacity:.7}65%{opacity:.4;transform:translate(calc(-50% + 5px),-70%) scale(1.4)}to{opacity:0;transform:translate(calc(-50% + 10px),-130%) scale(2.2)}}@keyframes smokeBillow3{0%{opacity:0;transform:translate(-50%,-20%) scale(.5)}25%{opacity:.8}65%{opacity:.4;transform:translate(calc(-50% + 1px),-60%) scale(1.2)}to{opacity:0;transform:translate(calc(-50% - 3px),-115%) scale(1.9)}}@keyframes sonarWave{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.6);opacity:0}}@keyframes sonarRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes radarPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}@keyframes fireFlicker{0%{transform:scale(1);filter:drop-shadow(0 0 4px #ef4444)}to{transform:scale(1.18);filter:drop-shadow(0 0 8px #f59e0b)}}@keyframes cellShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes hitExplosion{0%{transform:scale(.4)}60%{transform:scale(1.3)}to{transform:scale(1)}}@media (min-width: 769px){.bs-placement-layout{flex-direction:row;align-items:center}.bs-grid.ocean-placement-grid{width:min(48vw,calc(100dvh - 160px),460px);height:min(48vw,calc(100dvh - 160px),460px)}}@media (max-width: 768px){.battleship-container{padding-top:calc(max(.5rem,calc(env(safe-area-inset-top,0px) + .35rem)) + 46px);padding-bottom:max(.4rem,env(safe-area-inset-bottom,6px));padding-left:.35rem;padding-right:.35rem}.battleship-container.battle-mode{justify-content:center;align-items:center}.bs-placement-layout{flex-direction:column;align-items:center;gap:.4rem;width:100%}.bs-dock-panel{width:100%;max-width:min(94vw,440px);padding:.45rem .65rem;gap:.35rem;border-radius:14px;box-sizing:border-box}.bs-dock-actions{gap:.35rem}.bs-action-btn{height:34px}.bs-ships-icon-bar{gap:.3rem;padding:.2rem}.bs-ship-btn{width:38px;height:38px;min-width:38px;border-radius:9px}.ship-btn-icon{font-size:1.25rem}.ship-size-tag{font-size:.58rem;width:13px;height:13px;line-height:11px}.bs-confirm-fleet-btn{padding:.5rem;font-size:.88rem;border-radius:10px}.bs-grid{grid-template-columns:20px repeat(10,1fr);grid-template-rows:20px repeat(10,1fr)}.bs-grid.size-8{grid-template-columns:20px repeat(8,1fr);grid-template-rows:20px repeat(8,1fr)}.bs-grid.size-10{grid-template-columns:20px repeat(10,1fr);grid-template-rows:20px repeat(10,1fr)}.bs-grid.size-12{grid-template-columns:18px repeat(12,1fr);grid-template-rows:18px repeat(12,1fr)}.bs-grid.combined-grid{width:min(95vw,calc(100dvh - 148px),440px);height:min(95vw,calc(100dvh - 148px),440px);max-width:440px;max-height:440px}.bs-grid.ocean-placement-grid{width:min(95vw,calc(100dvh - 210px),360px);height:min(95vw,calc(100dvh - 210px),360px);max-width:360px;max-height:360px}}.auth-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172af0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:20px;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.4rem;text-align:center;gap:1.2rem;animation:fadeIn .25s ease-out}.auth-loading-spinner{width:44px;height:44px;border:3.5px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-right-color:#38bdf8;border-radius:50%;animation:spin .8s linear infinite}.auth-loading-text{font-size:1rem;font-weight:800;color:#f8fafc;letter-spacing:-.2px}.auth-tip-box{margin-top:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:.9rem 1.1rem;max-width:340px;width:100%;box-shadow:0 8px 24px #0006}.auth-tip-header{font-size:.85rem;color:#fbbf24;margin-bottom:.35rem;display:flex;align-items:center;justify-content:center;gap:.4rem}.auth-tip-content{font-size:.86rem;color:#cbd5e1;line-height:1.5;margin:0}.auth-loading-cancel-btn{margin-top:.25rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#e2e8f0;padding:.45rem 1.25rem;border-radius:12px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-loading-cancel-btn:hover{background:#ef444440;border-color:#ef44448c;color:#fca5a5;transform:translateY(-1px)}.auth-loading-cancel-btn:active{transform:translateY(0)}.waiting-card-tip{margin-top:1.2rem;background:#ffffff0d;border:1px solid rgba(245,158,11,.35);border-radius:14px;padding:.85rem 1.1rem;max-width:360px;width:100%;text-align:center}.waiting-tip-header{font-size:.82rem;color:#fbbf24;font-weight:800;margin-bottom:.3rem;display:flex;align-items:center;justify-content:center;gap:.35rem}.waiting-tip-body{font-size:.85rem;color:#e2e8f0;line-height:1.45;margin:0}.game-over-reactions-container{margin-top:1rem;display:flex;flex-direction:column;align-items:center;gap:0;animation:fadeIn .3s ease-out}.game-over-reactions-label{display:none!important}.game-over-reactions-list{display:flex;align-items:center;justify-content:center;gap:.6rem}.game-over-reaction-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:12px;width:48px;height:48px;font-size:1.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.game-over-reaction-btn:hover{transform:scale(1.22) translateY(-2px);background:#6366f14d;border-color:#38bdf8;box-shadow:0 6px 20px #38bdf859}.game-over-reaction-btn:active{transform:scale(.95)}.lobby-online-container{width:100%;max-width:1280px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#0f172abf,#111827e0);border:1px solid rgba(16,185,129,.22);border-radius:16px;padding:1.1rem 1.25rem;box-shadow:0 8px 32px -4px #00000059,0 0 16px -2px #10b98114;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .3s ease,box-shadow .3s ease}.lobby-online-container:hover{border-color:#10b98161;box-shadow:0 10px 36px -4px #00000073,0 0 20px -2px #10b98126}.lobby-online-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.lobby-online-title-group{display:flex;align-items:center;gap:.65rem}.online-beacon-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.online-beacon-dot{width:10px;height:10px;background-color:#10b981;border-radius:50%;box-shadow:0 0 10px #10b981;position:relative}.online-beacon-dot:after{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;border-radius:50%;border:2px solid rgba(16,185,129,.65);animation:beacon-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes beacon-pulse{0%{transform:scale(.9);opacity:1}50%{transform:scale(1.7);opacity:0}to{transform:scale(.9);opacity:0}}.lobby-online-title{font-size:1.05rem;font-weight:700;color:#f1f5f9;margin:0;letter-spacing:-.01em}.online-pill-badge{background:#10b98129;color:#34d399;border:1px solid rgba(16,185,129,.35);padding:.15rem .6rem;border-radius:9999px;font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;line-height:1.2}.lobby-online-view-all{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;border-radius:8px;padding:.35rem .75rem;font-size:.82rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .2s ease}.lobby-online-view-all:hover{background:#10b98126;border-color:#10b98166;color:#34d399;transform:translate(-2px)}.lobby-online-track{display:flex;gap:.85rem;overflow-x:auto;padding:.2rem .1rem .6rem;scrollbar-width:thin;scrollbar-color:rgba(16,185,129,.25) transparent;-webkit-overflow-scrolling:touch}.lobby-online-track::-webkit-scrollbar{height:5px}.lobby-online-track::-webkit-scrollbar-thumb{background:#10b9814d;border-radius:4px}.lobby-online-empty{padding:1rem 0;font-size:.88rem;color:#94a3b8;font-style:italic;width:100%}.lobby-online-card{flex:0 0 auto;display:flex;align-items:center;gap:.75rem;background:#1e293ba6;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.55rem .9rem;cursor:pointer;min-width:175px;max-width:230px;transition:all .22s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.lobby-online-card:hover{transform:translateY(-2px);background:#1e293bf2;border-color:#10b98173;box-shadow:0 6px 18px #10b98126}.lobby-online-card.is-self{border-color:#6366f159;background:#312e8140}.lobby-online-avatar-wrap{position:relative;width:42px;height:42px;border-radius:50%;flex-shrink:0}.lobby-online-avatar-wrap svg,.lobby-online-avatar-wrap img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.online-pulse-beacon{position:absolute;bottom:0;right:0;width:11px;height:11px;background-color:#10b981;border:2px solid #0f172a;border-radius:50%;box-shadow:0 0 6px #10b981}.lobby-online-info{display:flex;flex-direction:column;overflow:hidden;min-width:0;flex:1}.lobby-online-name{font-weight:600;font-size:.9rem;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.35rem}.online-you-badge{font-size:.65rem;font-weight:700;background:#6366f138;color:#a5b4fc;border:1px solid rgba(99,102,241,.35);padding:.05rem .35rem;border-radius:4px;line-height:1.2}.lobby-online-status{font-size:.75rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.25rem;margin-top:.15rem}.lobby-online-status.gaming{color:#38bdf8;font-weight:500}.lobby-online-status .act-icon{font-size:.78rem;line-height:1}.lobby-online-status .act-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-players-modal-card{max-width:580px;width:92%;max-height:85vh;display:flex;flex-direction:column;padding:1.75rem;border-radius:20px;border:1px solid rgba(16,185,129,.25);box-shadow:0 20px 50px #0009,0 0 25px #10b9811f}.online-modal-header{margin-bottom:1rem}.online-modal-title-group{display:flex;align-items:center;gap:.75rem}.online-modal-title-group h2{font-size:1.35rem;font-weight:800;color:#fff;margin:0}.online-modal-sub{color:#94a3b8;font-size:.85rem;margin:.35rem 0 0}.online-modal-search-box{margin-bottom:1rem}.online-search-input{width:100%;padding:.7rem 1rem;background:#0f172ab3;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;font-size:.92rem;box-sizing:border-box;outline:none;transition:all .2s ease}.online-search-input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98133}.online-modal-list{display:flex;flex-direction:column;gap:.65rem;overflow-y:auto;max-height:52vh;padding-right:.35rem;scrollbar-width:thin}.online-modal-empty{text-align:center;padding:2.5rem 1rem;color:#94a3b8;font-size:.95rem}.online-modal-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#1e293b99;border:1px solid rgba(255,255,255,.06);border-radius:12px;transition:all .2s ease;cursor:pointer;gap:.75rem}.online-modal-item:hover{background:#1e293be6;border-color:#10b98159;transform:translateY(-1px)}.online-modal-item.is-self{border-color:#6366f14d;background:#312e8133}.online-item-left{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1}.online-item-avatar-wrap{position:relative;width:44px;height:44px;border-radius:50%;flex-shrink:0}.online-item-avatar-wrap svg,.online-item-avatar-wrap img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.online-item-meta{display:flex;flex-direction:column;overflow:hidden;min-width:0}.online-item-name{font-size:.95rem;color:#f8fafc;display:flex;align-items:center;gap:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-item-name strong{overflow:hidden;text-overflow:ellipsis}.online-item-sub{display:flex;align-items:center;gap:.75rem;font-size:.78rem;color:#94a3b8;margin-top:.2rem;flex-wrap:wrap}.online-item-activity{display:inline-flex;align-items:center;gap:.25rem}.online-item-activity.gaming{color:#38bdf8;font-weight:500}.online-item-stats{color:#cbd5e1;font-weight:500}.online-item-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.online-action-btn{padding:.4rem .75rem;border-radius:8px;font-size:.82rem;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;gap:.35rem;font-weight:600;transition:all .2s ease}.online-action-btn.challenge-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;box-shadow:0 2px 8px #10b98140}.online-action-btn.challenge-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #10b98166;background:linear-gradient(135deg,#34d399,#10b981)}.online-action-btn.chat-btn{background:#6366f124;color:#818cf8;border:1px solid rgba(99,102,241,.3)}.online-action-btn.chat-btn:hover{background:#6366f140;color:#a5b4fc;border-color:#6366f180;transform:translateY(-1px)}.online-action-btn.profile-btn{background:#ffffff12;color:#e2e8f0;border:1px solid rgba(255,255,255,.14)}.online-action-btn.profile-btn:hover{background:#ffffff26;color:#fff;border-color:#ffffff40;transform:translateY(-1px)}.online-item-actions.self-tag .badge-self{font-size:.75rem;color:#818cf8;background:#6366f126;border:1px solid rgba(99,102,241,.3);padding:.25rem .6rem;border-radius:6px;font-weight:600}@media (max-width: 640px){.lobby-online-container{padding:.85rem 1rem;border-radius:14px;margin-bottom:1rem}.lobby-online-card{min-width:155px;max-width:190px;padding:.45rem .7rem;gap:.6rem}.lobby-online-avatar-wrap{width:36px;height:36px}.online-pulse-beacon{width:9px;height:9px}.lobby-online-name{font-size:.84rem}.lobby-online-status{font-size:.72rem}.online-action-btn.challenge-btn .btn-text{display:none}.online-modal-item{padding:.65rem .75rem}.online-item-avatar-wrap{width:38px;height:38px}.online-item-sub{gap:.4rem}}.ingame-players-top-hud.domino-mode{position:absolute;top:0;left:50%;transform:translate(-50%);z-index:50;display:flex;justify-content:center;align-items:center;pointer-events:none}.ingame-opponent-bottom-hud.domino-mode,.ingame-players-bottom-hud.domino-mode{position:absolute;bottom:max(.85rem,env(safe-area-inset-bottom,14px));left:50%;transform:translate(-50%);z-index:50;display:flex;justify-content:center;align-items:center;pointer-events:none}.domino-player-hud{display:flex;align-items:center;gap:.65rem;background:#0f172ae0;border:1.5px solid rgba(255,255,255,.12);border-radius:999px;padding:.35rem .85rem .35rem .45rem;box-shadow:0 4px 18px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;transition:all .28s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none;pointer-events:auto}.domino-player-hud:hover{background:#1e1b4bf2;border-color:#ffffff4d}.domino-player-hud.active-turn{border-color:#fbbf24;background:#1e1b4bf5;box-shadow:0 0 22px #f59e0bbf,inset 0 0 12px #f59e0b40;transform:scale(1.08)}.domino-hud-avatar-frame{position:relative;width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;overflow:visible;transition:all .25s ease;background:#0000004d}.domino-hud-avatar-frame svg,.domino-hud-avatar-frame img{width:100%;height:100%;border-radius:50%;display:block}.domino-hud-avatar-frame.active-turn-ring{border-color:gold;box-shadow:0 0 16px #f59e0b,0 0 30px #f59e0bcc;animation:dominoAvatarPulse 1.6s infinite ease-in-out}@keyframes dominoAvatarPulse{0%,to{box-shadow:0 0 12px #f59e0bbf,0 0 22px #f59e0b73;border-color:#fbbf24}50%{box-shadow:0 0 24px #f59e0b,0 0 42px #f59e0bf2;border-color:#fef08a}}.domino-hud-info{display:flex;flex-direction:column;gap:.15rem}.domino-hud-title-row{display:flex;align-items:center;gap:.45rem}.domino-hud-name{font-size:.84rem;font-weight:700;color:#f8fafc;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.domino-hud-tile-badge{display:inline-flex;align-items:center;gap:.25rem;background:#f59e0b38;border:1px solid rgba(245,158,11,.6);color:#fde68a;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.2px;box-shadow:0 0 10px #f59e0b59;white-space:nowrap;-webkit-user-select:none;user-select:none}.domino-hud-tile-badge .tile-icon{font-size:.82rem;color:#fbbf24}.domino-hud-tile-badge strong{color:#fff;font-size:.8rem}.domino-hud-tile-badge .tile-word{opacity:.92;font-size:.68rem}.domino-hud-score{font-size:.76rem;font-weight:800;color:#fbbf24;letter-spacing:.5px}.result-avatar-frame.winner-ring.golden-radiant{background:linear-gradient(135deg,gold,#f59e0b,#fef08a,#d97706);box-shadow:0 0 22px #fbbf24d9,0 0 45px #f59e0b80;border:2px solid #fffbeb;padding:3px;animation:goldenRadiantPulse 2s ease-in-out infinite alternate}@keyframes goldenRadiantPulse{0%{box-shadow:0 0 16px #fbbf24bf,0 0 30px #f59e0b73}to{box-shadow:0 0 28px #fbbf24,0 0 52px #f59e0bb3}}.result-wins-simple{display:inline-flex;align-items:center;justify-content:center;margin-top:.35rem;padding:.2rem .75rem;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#f8fafc;font-weight:800;font-size:.95rem;letter-spacing:.5px}.player-result-card.is-winner .result-wins-simple{background:#f59e0b2e;border-color:#f59e0b8c;color:#fde68a;box-shadow:0 0 12px #f59e0b40}.google-ad-interstitial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#080e1aeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:fadeIn .25s ease-out}.google-ad-container{max-width:460px;width:min(94vw,460px);background:linear-gradient(180deg,#141e37fa,#0c1222fc);border:1.5px solid rgba(59,130,246,.45);box-shadow:0 25px 60px #000000e6,0 0 35px #3b82f640;border-radius:20px;overflow:hidden;padding:1.25rem 1.4rem;display:flex;flex-direction:column;gap:1.1rem}.google-ad-topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.75rem}.google-ad-badge-wrap{display:flex;align-items:center;gap:.45rem}.google-ad-pill{background:#ffffff1f;color:#cbd5e1;font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:6px;text-transform:uppercase}.google-ad-icon-g{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:#4285f4;color:#fff;font-weight:900;font-size:.75rem;font-family:sans-serif}.google-ad-network{font-size:.82rem;font-weight:700;color:#93c5fd}.google-ad-test-tag{background:#f59e0b33;border:1px solid rgba(245,158,11,.5);color:#fbbf24;font-size:.68rem;font-weight:700;padding:.1rem .45rem;border-radius:4px}.google-ad-timer{font-size:.9rem;font-weight:800;color:#f8fafc;background:#0006;padding:.2rem .6rem;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.google-ad-creative{background:linear-gradient(135deg,#1e293bb3,#0f172ae6);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.25rem 1rem;text-align:start;display:flex;flex-direction:column;gap:.8rem;box-sizing:border-box}.gad-creative-card{width:100%;display:flex;flex-direction:column;gap:.75rem;text-align:start}.gad-card-header{display:flex;align-items:center;gap:.85rem}.gad-app-icon-wrap{width:52px;height:52px;min-width:52px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#6366f1);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #3b82f666}.gad-app-icon{font-size:1.85rem;line-height:1}.gad-app-details{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.gad-badge-pill{display:inline-block;width:fit-content;font-size:.68rem;font-weight:700;color:#10b981;background:#10b98126;border:1px solid rgba(16,185,129,.35);padding:.1rem .45rem;border-radius:4px}.gad-app-name{font-size:1.02rem;font-weight:800;color:#fff;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gad-meta-row{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:#94a3b8}.gad-rating{color:#fbbf24;font-weight:700}.gad-dot{color:#64748b}.gad-meta-txt{color:#cbd5e1}.gad-desc{font-size:.85rem;color:#cbd5e1;line-height:1.5;margin:.2rem 0;text-align:start}.gad-partner-tag{font-size:.72rem;color:#64748b;display:flex;align-items:center;justify-content:center;gap:.3rem;margin-top:.15rem}.gad-animated-icon{font-size:3rem;filter:drop-shadow(0 4px 12px rgba(59,130,246,.6));animation:pulse 2s infinite ease-in-out}.gad-headline{font-size:1.2rem;font-weight:800;color:#fff}.gad-sub{font-size:.88rem;color:#94a3b8;line-height:1.5;max-width:320px}.gad-action-box{margin-top:.5rem;width:100%}.gad-cta-btn{display:block;width:100%;padding:.75rem 1rem;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:700;font-size:.92rem;text-decoration:none;box-shadow:0 4px 14px #2563eb66;transition:all .2s}.gad-cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #2563eb99}.google-ad-footer{display:flex;justify-content:center;width:100%}.gad-skip-btn{width:100%;padding:.75rem 1rem;border-radius:10px;border:none;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;transition:all .2s}.gad-skip-btn.disabled{background:#ffffff14;color:#64748b;cursor:not-allowed}.gad-skip-btn.ready{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 15px #10b98166}.gad-skip-btn.ready:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98199}.domino-2d-container{width:100%;height:100%;position:relative;display:flex;flex-direction:column;overflow:hidden;user-select:none;-webkit-user-select:none}.domino-2d-table{width:100%;height:100%;display:flex;flex-direction:column;position:relative;background:radial-gradient(ellipse 75% 65% at 50% 50%,#1a4270,#123054 40%,#0c213d,#061122);box-shadow:inset 0 0 120px #000000a6}.domino-2d-top-rack{padding-top:calc(max(.75rem,calc(env(safe-area-inset-top,0px) + .5rem)) + 64px);padding-bottom:.5rem;padding-left:.8rem;padding-right:.8rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;background:linear-gradient(180deg,rgba(4,10,22,.6) 0%,rgba(4,10,22,.18) 70%,transparent 100%);border-bottom:none;position:relative;z-index:10}.domino-opp-header{display:flex;align-items:center;justify-content:center;margin-bottom:.15rem}.domino-opp-counter-pill{display:inline-flex;align-items:center;gap:.4rem;background:#0f172ae0;border:1px solid rgba(245,158,11,.5);border-radius:999px;padding:.18rem .75rem;font-size:.78rem;font-weight:700;color:#f8fafc;box-shadow:0 3px 10px #00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none}.domino-opp-counter-pill .d2d-counter-icon{font-size:.95rem;color:#fbbf24}.domino-opp-tiles{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;max-width:95vw}.domino-opp-tile{width:44px;height:84px;background:linear-gradient(155deg,#2b323e,#171b24 45%,#0f1218);border:1.5px solid #3d4654;border-radius:8px;box-shadow:0 8px 18px #000000a6,0 2px 4px #00000080,inset 1px 1px 1.5px #ffffff40,inset -1px -1px 2px #000000d9;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;box-sizing:border-box}.domino-opp-tile:hover{transform:translateY(-2px);box-shadow:0 10px 22px #000000bf,0 3px 6px #0000008c,inset 1px 1px 1.5px #ffffff59}.domino-stone-back{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.domino-stone-chamfer{width:calc(100% - 8px);height:calc(100% - 8px);border-radius:5px;background:linear-gradient(150deg,#ffffff0a,#0000004d);box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 2px 5px #00000073;display:flex;align-items:center;justify-content:center;position:relative}.domino-stone-groove{width:72%;height:1.5px;background:#0a0d12;box-shadow:0 1px #ffffff1f;border-radius:1px}.domino-stone-spinner{width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fef08a,#eab308 35%,#b45309 75%,#713f12);box-shadow:0 1.5px 3px #000000bf,inset 0 .5px .5px #ffffffe6;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width: 640px){.domino-2d-top-rack{padding-top:calc(max(.75rem,calc(env(safe-area-inset-top,0px) + .5rem)) + 60px);padding-bottom:.4rem;gap:.3rem}.domino-opp-tiles{gap:.38rem}.domino-opp-tile{width:34px;height:64px;border-radius:6px;box-shadow:0 6px 14px #000000a6,0 1px 3px #00000080,inset 1px 1px 1px #ffffff40,inset -1px -1px 1.5px #000000d9}.domino-stone-chamfer{width:calc(100% - 6px);height:calc(100% - 6px);border-radius:4px}.domino-stone-spinner{width:6.5px;height:6.5px}}.domino-2d-board-area{flex:1;width:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.domino-board-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;opacity:.12;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));z-index:1}.domino-watermark-img{width:110px;height:110px;object-fit:contain;filter:grayscale(100%) brightness(1.7) contrast(1.1)}.domino-watermark-text{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:900;letter-spacing:.35em;color:#93c5fd;text-shadow:0 1px 3px rgba(0,0,0,.7);text-transform:uppercase}.domino-board-svg{width:100%;height:100%;max-height:100%;position:relative;z-index:2;overflow:visible;touch-action:pan-x pan-y}.domino-board-tile-group.is-end-tile rect.domino-tile-rect{filter:url(#d2dEndGlow);transition:all .25s ease}.domino-board-tile-group.is-interactive-target,.domino-half-hotspot.is-interactive-target{cursor:pointer}.domino-board-tile-group.is-interactive-target:hover rect.domino-tile-rect{stroke:#38bdf8!important;stroke-width:2.8px!important;filter:drop-shadow(0 0 10px rgba(56,189,248,.95)) drop-shadow(0 4px 12px rgba(0,0,0,.6))!important}.domino-board-tile-group.is-awaiting-choice{cursor:pointer;animation:d2dEndGroupBlink .65s infinite alternate ease-in-out}.domino-board-tile-group.is-awaiting-choice rect.domino-tile-rect{animation:d2dEndRectBlink .65s infinite alternate ease-in-out!important;cursor:pointer}.domino-board-tile-group.is-awaiting-choice:hover rect.domino-tile-rect{animation:none!important;stroke:#38bdf8!important;stroke-width:4px!important;filter:drop-shadow(0 0 16px rgba(56,189,248,1)) drop-shadow(0 0 28px rgba(56,189,248,.8))!important}@keyframes d2dEndGroupBlink{0%{filter:drop-shadow(0 0 3px rgba(245,158,11,.5));opacity:.86}to{filter:drop-shadow(0 0 18px rgba(251,191,36,.95)) drop-shadow(0 0 32px rgba(245,158,11,.9));opacity:1}}@keyframes d2dEndRectBlink{0%{stroke:#f59e0b;stroke-width:2.2px}50%{stroke:#fbbf24;stroke-width:3.4px}to{stroke:#fff;stroke-width:4.2px}}.domino-2d-bottom-controls{padding:.6rem 1rem calc(max(1rem,env(safe-area-inset-bottom,14px)) + 58px);background:linear-gradient(0deg,rgba(4,10,22,.75) 0%,rgba(4,10,22,.25) 70%,transparent 100%);border-top:none;display:flex;flex-direction:column;align-items:center;gap:.6rem;z-index:20}.domino-boneyard-deck{position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:15;display:flex;flex-direction:column;align-items:flex-start;pointer-events:auto;-webkit-user-select:none;user-select:none;cursor:pointer;transition:opacity .3s ease,filter .3s ease}html[dir=rtl] .domino-boneyard-deck{left:auto;right:0;align-items:flex-end}.domino-deck-stack{position:relative;width:24px;min-height:32px;transition:height .25s ease}.domino-side-pile-tile{position:absolute;width:72px;height:32px;left:calc(-52px + var(--jitter-x, 0px));border-radius:0 8px 8px 0;background:linear-gradient(135deg,#1e293b,#0f172a);border:1.5px solid #475569;border-left:none;box-shadow:2px 3px 7px #0000008c,inset 0 1px #ffffff29;display:flex;align-items:center;justify-content:flex-end;padding-right:5px;box-sizing:border-box;transition:transform .25s cubic-bezier(.34,1.56,.64,1),border-color .2s ease,box-shadow .2s ease}html[dir=rtl] .domino-side-pile-tile{left:auto;right:calc(-52px + var(--jitter-x, 0px));border-radius:8px 0 0 8px;border-left:1.5px solid #475569;border-right:none;justify-content:flex-start;padding-right:0;padding-left:5px;box-shadow:-2px 3px 7px #0000008c,inset 0 1px #ffffff29}.domino-side-pile-tile.is-top{border-color:#64748b;box-shadow:2px 4px 10px #000000b3,inset 0 1px 1px #ffffff38}html[dir=rtl] .domino-side-pile-tile.is-top{box-shadow:-2px 4px 10px #000000b3,inset 0 1px 1px #ffffff38}.domino-boneyard-deck.can-draw{cursor:pointer}.domino-boneyard-deck.can-draw .domino-side-pile-tile.is-top{border-color:#f59e0b;box-shadow:2px 4px 12px #f59e0b99,inset 0 1px 1px #ffffff59;animation:dominoBoneyardPulse 1.2s infinite alternate ease-in-out}html[dir=rtl] .domino-boneyard-deck.can-draw .domino-side-pile-tile.is-top{animation:dominoBoneyardPulseRtl 1.2s infinite alternate ease-in-out}@keyframes dominoBoneyardPulse{0%{transform:translate(0);box-shadow:2px 4px 10px #f59e0b66}to{transform:translate(6px);box-shadow:4px 6px 18px #f59e0bd9}}@keyframes dominoBoneyardPulseRtl{0%{transform:translate(0);box-shadow:-2px 4px 10px #f59e0b66}to{transform:translate(-6px);box-shadow:-4px 6px 18px #f59e0bd9}}.domino-boneyard-deck:hover .domino-side-pile-tile.is-top{border-color:#94a3b8}.domino-boneyard-deck.can-draw:hover .domino-side-pile-tile.is-top{border-color:#fbbf24;filter:brightness(1.2)}.domino-boneyard-deck.can-pass{cursor:pointer;opacity:.95}.domino-boneyard-deck.can-pass .domino-pile-empty-slot{border-color:#f59e0b;box-shadow:0 0 12px #f59e0b99;animation:dominoPassPulse 1.2s infinite alternate ease-in-out}@keyframes dominoPassPulse{0%{opacity:.6;border-color:#f59e0b}to{opacity:1;border-color:#fbbf24}}.domino-pile-stone-surface{width:14px;height:20px;display:flex;align-items:center;justify-content:center;position:relative}.domino-pile-stone-spinner{width:6.5px;height:6.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fef08a,#eab308 35%,#b45309 75%,#713f12);box-shadow:0 1px 2px #000000bf,inset 0 .5px .5px #ffffffe6}.domino-pile-empty-slot{position:absolute;top:0;width:72px;height:32px;left:-52px;border-radius:0 8px 8px 0;border:1.5px dashed rgba(255,255,255,.16);border-left:none;background:#00000024}html[dir=rtl] .domino-pile-empty-slot{left:auto;right:-52px;border-radius:8px 0 0 8px;border-left:1.5px dashed rgba(255,255,255,.16);border-right:none}.domino-boneyard-deck.is-empty{opacity:.45;cursor:default}.domino-boneyard-deck.is-empty.can-pass{opacity:1;cursor:pointer}@media (max-width: 640px){.domino-deck-stack{width:20px;min-height:26px}.domino-side-pile-tile{width:56px;height:26px;left:calc(-40px + var(--jitter-x, 0px));padding-right:4px;border-radius:0 6px 6px 0}html[dir=rtl] .domino-side-pile-tile{left:auto;right:calc(-40px + var(--jitter-x, 0px));padding-right:0;padding-left:4px;border-radius:6px 0 0 6px}.domino-pile-stone-surface{width:12px;height:16px}.domino-pile-stone-spinner{width:5px;height:5px}.domino-pile-empty-slot{width:56px;height:26px;left:-40px;border-radius:0 6px 6px 0}html[dir=rtl] .domino-pile-empty-slot{left:auto;right:-40px;border-radius:6px 0 0 6px}}.domino-player-rack{width:100%;max-width:980px;overflow-x:hidden;padding:.3rem .2rem;display:flex;justify-content:center;align-items:center}.domino-player-tiles{display:flex;align-items:center;justify-content:center;gap:var(--tile-gap, .65rem);padding:.4rem .2rem .2rem;flex-wrap:nowrap;max-width:100%;box-sizing:border-box;transition:gap .2s ease}.domino-hand-tile{width:var(--tile-w, 46px);height:var(--tile-h, 92px);background:linear-gradient(180deg,#fff,#f3eee3);border:1.5px solid #cbd5e1;border-radius:max(4px,calc(var(--tile-w, 46px) * .16));box-shadow:0 8px 18px #00000080,inset 0 1px 2px #ffffffe6;display:flex;flex-direction:column;position:relative;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease,border-color .22s ease;-webkit-user-select:none;user-select:none;cursor:pointer;box-sizing:border-box;flex-shrink:0}.domino-hand-tile.is-playable{border:2px solid #f59e0b;box-shadow:0 10px 24px #f59e0b73,0 0 12px #f59e0b59;transform:translateY(-4px)}.domino-hand-tile.is-playable:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 16px 32px #f59e0bb3,0 0 20px #f59e0b99;border-color:#fbbf24}.domino-hand-tile.is-selected{transform:translateY(-10px) scale(1.06);border-color:#38bdf8;box-shadow:0 18px 36px #38bdf8b3}.domino-hand-tile.is-dim{opacity:.68;filter:grayscale(.2);cursor:default}.playable-sparkle{position:absolute;top:-10px;right:-5px;font-size:calc(var(--tile-w, 46px) * .3);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));animation:sparkleBounce 1.8s infinite alternate ease-in-out;pointer-events:none}@keyframes sparkleBounce{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.domino-half{flex:1;display:flex;align-items:center;justify-content:center;padding:2px}.domino-divider-line{height:1.5px;background:#94a3b8;width:calc(100% - 4px);margin:0 auto;position:relative}.domino-pin-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--pin-dot-size, 5px);height:var(--pin-dot-size, 5px);background:radial-gradient(circle,#fde047,#b45309);border-radius:50%;box-shadow:0 1px 2px #00000080}.pips-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:var(--pip-grid-size, 30px);height:var(--pip-grid-size, 30px);align-items:center;justify-items:center}.domino-pip-dot{width:var(--pip-dot-size, 6px);height:var(--pip-dot-size, 6px);background:radial-gradient(circle at 35% 35%,#334155,#0f172a);border-radius:50%;box-shadow:inset 0 1px 1px #0009}.pip-count-1 .domino-pip-dot:nth-child(1){grid-area:2 / 2}.pip-count-2 .domino-pip-dot:nth-child(1){grid-area:1 / 1}.pip-count-2 .domino-pip-dot:nth-child(2){grid-area:3 / 3}.pip-count-3 .domino-pip-dot:nth-child(1){grid-area:1 / 1}.pip-count-3 .domino-pip-dot:nth-child(2){grid-area:2 / 2}.pip-count-3 .domino-pip-dot:nth-child(3){grid-area:3 / 3}.pip-count-4 .domino-pip-dot:nth-child(1){grid-area:1 / 1}.pip-count-4 .domino-pip-dot:nth-child(2){grid-area:1 / 3}.pip-count-4 .domino-pip-dot:nth-child(3){grid-area:3 / 1}.pip-count-4 .domino-pip-dot:nth-child(4){grid-area:3 / 3}.pip-count-5 .domino-pip-dot:nth-child(1){grid-area:1 / 1}.pip-count-5 .domino-pip-dot:nth-child(2){grid-area:1 / 3}.pip-count-5 .domino-pip-dot:nth-child(3){grid-area:2 / 2}.pip-count-5 .domino-pip-dot:nth-child(4){grid-area:3 / 1}.pip-count-5 .domino-pip-dot:nth-child(5){grid-area:3 / 3}.pip-count-6 .domino-pip-dot:nth-child(1){grid-area:1 / 1}.pip-count-6 .domino-pip-dot:nth-child(2){grid-area:2 / 1}.pip-count-6 .domino-pip-dot:nth-child(3){grid-area:3 / 1}.pip-count-6 .domino-pip-dot:nth-child(4){grid-area:1 / 3}.pip-count-6 .domino-pip-dot:nth-child(5){grid-area:2 / 3}.pip-count-6 .domino-pip-dot:nth-child(6){grid-area:3 / 3}.domino-choice-modal{position:absolute;bottom:120px;left:50%;transform:translate(-50%);background:#0f172af2;border:1.5px solid rgba(56,189,248,.5);border-radius:16px;padding:1rem 1.4rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;box-shadow:0 15px 40px #000c,0 0 25px #38bdf859;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:500;animation:modalPopIn .2s ease-out}.choice-modal-title{font-size:.92rem;font-weight:700;color:#e2e8f0}.choice-modal-actions{display:flex;gap:.75rem}.choice-btn{padding:.5rem 1.2rem;font-size:.88rem;font-weight:700;border-radius:10px}.domino-round-finish-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:600;animation:fadeIn .25s ease-out;transition:opacity .35s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.domino-round-finish-overlay.fade-out{opacity:0;pointer-events:none}.domino-round-finish-overlay.fade-out .domino-round-finish-card{transform:scale(.92)}.domino-round-finish-card{max-width:440px;width:min(92vw,440px);background:linear-gradient(180deg,#111a2ef0,#0a0f1df5);border:1.5px solid rgba(245,158,11,.5);box-shadow:0 25px 60px #000000e0,0 0 35px #f59e0b38;border-radius:20px;padding:1.15rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.7rem;box-sizing:border-box;transition:transform .35s ease;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.finish-hand-section{background:#0f172ac7;border:1.5px solid rgba(255,255,255,.08);border-radius:14px;padding:.5rem .65rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem}.finish-hand-section.opp-section{border-color:#ef444459;background:linear-gradient(180deg,#231219bf,#0f172acc)}.finish-hand-section.side-section{border-color:#38bdf859;background:linear-gradient(180deg,#0e1c30cc,#0f172acc)}.finish-hand-section.me-section{border-color:#10b98159;background:linear-gradient(180deg,#0a2319bf,#0f172acc)}.finish-empty-domino{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.35rem 0;color:#fbbf24;font-size:1.35rem;filter:drop-shadow(0 0 10px rgba(245,158,11,.75))}.finish-hand-header{display:flex;align-items:center;justify-content:space-between;font-size:.84rem;font-weight:700;color:#cbd5e1}.finish-hand-title{display:flex;align-items:center;gap:.45rem}.finish-avatar-img{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.3)}.finish-avatar-emoji{font-size:1.15rem;line-height:1}.finish-bank-icon{font-size:1.15rem;color:#38bdf8;line-height:1}.finish-pip-pill{font-size:.74rem;font-weight:800;padding:.15rem .55rem;border-radius:999px;background:#ffffff14;color:#facc15}.finish-tiles-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;min-height:48px;max-height:125px;overflow-y:auto;padding:.3rem 0}.finish-empty-text{font-size:.82rem;color:#94a3b8;font-style:italic;padding:.4rem 0}.domino-dialog-tile{width:26px;height:48px;background:linear-gradient(155deg,#fff,#f8fafc 45%,#e2e8f0);border:1px solid #cbd5e1;border-radius:5px;box-shadow:0 3px 8px #00000061,inset 0 1px 1px #ffffffe6;display:inline-flex;flex-direction:column;align-items:center;justify-content:space-between;padding:2px 1px;box-sizing:border-box;flex-shrink:0;transition:transform .2s}.domino-dialog-tile:hover{transform:translateY(-2px) scale(1.08)}.domino-dialog-tile .domino-half{flex:1;width:100%;display:flex;align-items:center;justify-content:center}.domino-dialog-tile .domino-divider-line{width:86%;height:1px;background:#94a3b8;position:relative;margin:1px 0}.domino-dialog-tile .domino-pin-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:3px;height:3px;background:#d97706;border-radius:50%}.domino-dialog-tile .pips-grid{width:18px;height:18px}.domino-dialog-tile .domino-pip-dot{width:3.2px;height:3.2px}.finish-dialog-footer{display:flex;flex-direction:column;align-items:center;gap:.65rem;margin-top:.2rem}.finish-center-score-wrap{display:flex;align-items:center;justify-content:center;min-height:44px}.domino-counting-score-badge{display:inline-flex;align-items:center;gap:.45rem;background:linear-gradient(135deg,#f59e0b33,#d977064d);border:1.5px solid rgba(245,158,11,.65);padding:.35rem 1.1rem;border-radius:999px;color:#fde047;box-shadow:0 0 20px #f59e0b59;transition:transform .15s ease}.domino-counting-score-badge.count-tick{transform:scale(1.12)}.domino-counting-score-badge .score-icon{font-size:1.15rem}.domino-counting-score-badge .score-number{font-size:1.35rem;font-weight:900;color:#fff;letter-spacing:.5px;text-shadow:0 0 12px rgba(245,158,11,.85)}.domino-counting-score-badge .score-label{font-size:.8rem;font-weight:700;color:#fef08a}.finish-continue-btn{width:100%;padding:.65rem 1rem;font-size:.9rem;font-weight:700;border-radius:10px}.domino-flying-score-chip{position:fixed;transform:translate(-50%,-50%) scale(1);z-index:9999;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;font-weight:900;font-size:1.25rem;padding:.45rem 1.15rem;border-radius:999px;box-shadow:0 0 25px #f59e0bf2,0 0 50px #fbbf24b3;pointer-events:none;white-space:nowrap;transition:transform .85s cubic-bezier(.2,.85,.3,1.2),opacity .85s ease-in}.hud-score-burst{animation:hudScoreBurstAnim .9s ease-out}@keyframes hudScoreBurstAnim{0%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}35%{transform:scale(1.16);filter:drop-shadow(0 0 24px #f59e0b)}to{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}}.domino-score-float-up{position:absolute;top:-14px;left:50%;transform:translate(-50%);color:#fbbf24;font-size:1.2rem;font-weight:900;text-shadow:0 0 10px rgba(245,158,11,.9);pointer-events:none;animation:dominoFloatUpFade 1.2s ease-out forwards;z-index:100}@keyframes dominoFloatUpFade{0%{transform:translate(-50%) scale(.8);opacity:0}30%{transform:translate(-50%,-10px) scale(1.25);opacity:1}to{transform:translate(-50%,-30px) scale(1);opacity:0}}.domino-toast-notice{position:absolute;top:15%;left:50%;transform:translate(-50%);background:#0f172aeb;border:1px solid rgba(239,68,68,.5);color:#fca5a5;padding:.45rem 1.1rem;border-radius:999px;font-size:.82rem;font-weight:700;box-shadow:0 4px 16px #0009;z-index:1000;animation:fadeIn .2s ease-out}@media (max-width: 480px){.domino-hand-tile{width:var(--tile-w, 38px);height:var(--tile-h, 76px);border-radius:max(3.5px,calc(var(--tile-w, 38px) * .16))}.pips-grid{width:var(--pip-grid-size, 24px);height:var(--pip-grid-size, 24px)}.domino-pip-dot{width:var(--pip-dot-size, 5px);height:var(--pip-dot-size, 5px)}.domino-player-tiles{gap:var(--tile-gap, .35rem);padding:.3rem .2rem}.domino-opp-tiles{gap:.28rem}.domino-opp-tile{width:29px;height:54px;border-radius:5px}.domino-stone-chamfer{width:calc(100% - 5px);height:calc(100% - 5px);border-radius:3.5px}.domino-stone-spinner{width:5.5px;height:5.5px}}.drawer-topbar-actions{display:flex;align-items:center;gap:.35rem}.call-topbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .75rem;font-size:.82rem;font-weight:600;border-radius:9px;cursor:pointer;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#fff;transition:all .2s cubic-bezier(.22,1,.36,1)}.call-topbar-btn:hover{transform:translateY(-1px)}.voice-call-btn{background:linear-gradient(135deg,#10b98140,#05966959);border-color:#34d39973;color:#a7f3d0}.voice-call-btn:hover{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 14px #10b98166}.video-call-btn{background:linear-gradient(135deg,#3b82f640,#2563eb59);border-color:#60a5fa73;color:#bfdbfe}.video-call-btn:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 14px #3b82f666}.friend-call-btn{background:#10b9812e;border-color:#34d39966;color:#6ee7b7;padding:.35rem .55rem}.friend-call-btn:hover{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b98166}.friend-videocall-btn{background:#3b82f62e;border-color:#60a5fa66;color:#93c5fd;padding:.35rem .55rem}.friend-videocall-btn:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f666}.incoming-call-banner{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:.85rem;background:#0f172af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1.5px solid rgba(52,211,153,.5);box-shadow:0 10px 30px #00000080,0 0 20px #10b98140;border-radius:999px;padding:.5rem .8rem .5rem 1.1rem;animation:slideDownBanner .35s cubic-bezier(.22,1,.36,1);max-width:92vw}[dir=rtl] .incoming-call-banner{padding:.5rem 1.1rem .5rem .8rem}@keyframes slideDownBanner{0%{transform:translate(-50%,-40px);opacity:0}to{transform:translate(-50%);opacity:1}}.incoming-call-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#10b981,#06b6d4);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;animation:pulseAvatarRing 1.5s infinite}@keyframes pulseAvatarRing{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 12px #10b98100}to{box-shadow:0 0 #10b98100}}.incoming-call-info{display:flex;flex-direction:column;min-width:120px}.incoming-call-name{font-size:.92rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.incoming-call-sub{font-size:.75rem;color:#6ee7b7;font-weight:600}.incoming-call-actions{display:flex;align-items:center;gap:.45rem}.btn-call-accept{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;font-weight:700;font-size:.82rem;padding:.5rem 1rem;border-radius:999px;cursor:pointer;box-shadow:0 4px 12px #10b98166;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}.btn-call-accept:hover{transform:scale(1.05);box-shadow:0 6px 16px #10b98199}.btn-call-decline{background:#ef444433;border:1px solid rgba(239,68,68,.5);color:#fca5a5;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease}.btn-call-decline:hover{background:#ef4444;color:#fff;transform:scale(1.08)}.active-call-backdrop{z-index:10001}.active-call-card{position:relative;width:92vw;max-width:480px;min-height:420px;max-height:85vh;display:flex;flex-direction:column;border-radius:24px;padding:1.5rem;overflow:hidden;background:#0f172af0;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.15);box-shadow:0 24px 64px #000000b3}.active-call-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;z-index:2}.active-call-status-badge{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:#a7f3d0;background:#10b98126;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(16,185,129,.3)}.call-status-dot{width:8px;height:8px;border-radius:50%;background:#10b981;animation:pulseBeacon 1.2s infinite}.active-call-timer{font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;background:#ffffff14;padding:.35rem .75rem;border-radius:999px}.active-voice-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem 0 2rem;z-index:2}.active-call-avatar-wrap{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}.active-call-avatar{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#a855f7);display:flex;align-items:center;justify-content:center;font-size:2.5rem;position:relative;z-index:2;box-shadow:0 10px 30px #6366f166;border:3px solid rgba(255,255,255,.2)}.call-pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(99,102,241,.6);pointer-events:none}.ring-1{width:120px;height:120px;animation:rippleRing 2s ease-out infinite}.ring-2{width:150px;height:150px;animation:rippleRing 2s ease-out infinite .75s}@keyframes rippleRing{0%{transform:translate(-50%,-50%) scale(.7);opacity:.8}to{transform:translate(-50%,-50%) scale(1.3);opacity:0}}.active-call-peer-name{font-size:1.35rem;font-weight:700;color:#fff;margin-bottom:.35rem}.active-call-hint{font-size:.85rem;color:var(--text-muted)}.active-video-body{position:relative;flex:1;width:100%;min-height:280px;border-radius:18px;overflow:hidden;background:#000;margin-bottom:1rem}.remote-video{width:100%;height:100%;object-fit:cover;background:#0b0f19}.local-pip-video{position:absolute;bottom:14px;right:14px;width:100px;height:130px;object-fit:cover;border-radius:12px;border:2px solid rgba(255,255,255,.4);box-shadow:0 8px 24px #0009;background:#1e293b;z-index:3}[dir=rtl] .local-pip-video{right:auto;left:14px}.video-overlay-info{position:absolute;top:14px;left:14px;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.3rem .7rem;border-radius:8px;font-size:.82rem;font-weight:600;color:#fff;z-index:2}[dir=rtl] .video-overlay-info{left:auto;right:14px}.active-call-controls{display:flex;align-items:center;justify-content:center;gap:1.25rem;z-index:2;padding-top:.5rem}.call-ctrl-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:16px;padding:.75rem 1rem;cursor:pointer;transition:all .2s ease;min-width:68px}.call-ctrl-btn:hover{background:#ffffff29;transform:translateY(-2px)}.call-ctrl-btn.active-off{background:#ef444440;border-color:#ef444480;color:#fca5a5}.call-ctrl-btn.btn-hangup{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#f87171;color:#fff;box-shadow:0 4px 16px #ef444466}.call-ctrl-btn.btn-hangup:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px #ef444499}.call-ctrl-btn .ctrl-icon{font-size:1.35rem}.call-ctrl-btn .ctrl-label{font-size:.72rem;font-weight:600}.active-call-peer-badge{font-size:1.05rem;font-weight:700;color:#fff;background:#00000073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:.35rem .9rem;border-radius:999px;display:flex;align-items:center;gap:.4rem}.active-call-top-right{display:flex;align-items:center;gap:.6rem}.call-top-action-btn{background:#00000073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s ease}.call-top-action-btn:hover{background:#fff3;transform:scale(1.08)}.active-call-backdrop.video-mode{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;background:#000!important;padding:0!important;margin:0!important;border-radius:0!important;border:none!important;display:flex!important;align-items:stretch!important;justify-content:stretch!important;z-index:10005!important;overflow:hidden!important}.active-call-backdrop.video-mode .active-call-card{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;border-radius:0!important;border:none!important;background:#000!important;box-shadow:none!important;padding:0!important;margin:0!important;overflow:hidden!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.active-call-backdrop.video-mode .active-video-body{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;min-height:100%!important;margin:0!important;border-radius:0!important;background:#000!important;z-index:1!important}.active-call-backdrop.video-mode .remote-video{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;background:#05070f!important;z-index:1!important}.active-call-backdrop.video-mode .video-no-remote-placeholder{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1.25rem!important;background:radial-gradient(circle at center,#1e293b,#0a0f1d)!important;z-index:1!important}.active-call-backdrop.video-mode .video-placeholder-hint{color:#ffffffbf!important;font-size:1rem!important;font-weight:500!important;letter-spacing:.3px!important}.active-call-backdrop.video-mode .local-pip-video{position:absolute!important;top:24px!important;right:24px!important;bottom:auto!important;left:auto!important;width:130px!important;height:180px!important;object-fit:cover!important;border-radius:16px!important;border:2px solid rgba(255,255,255,.45)!important;box-shadow:0 12px 36px #000c,0 0 16px #00000080!important;background:#0f172a!important;z-index:15!important;cursor:pointer!important;transition:transform .25s cubic-bezier(.22,1,.36,1)!important}[dir=rtl] .active-call-backdrop.video-mode .local-pip-video{right:auto!important;left:24px!important}.active-call-backdrop.video-mode .local-pip-video:hover{transform:scale(1.05)}.active-call-backdrop.video-mode .active-call-topbar{position:absolute!important;top:0!important;left:0!important;right:0!important;padding:24px 30px!important;background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 65%,transparent 100%)!important;z-index:12!important;margin-bottom:0!important;display:flex!important;justify-content:space-between!important;align-items:center!important;pointer-events:auto!important}.active-call-backdrop.video-mode .video-overlay-info{display:none!important}.active-call-backdrop.video-mode .active-call-controls{position:absolute!important;bottom:32px!important;left:50%!important;transform:translate(-50%)!important;z-index:20!important;display:flex!important;align-items:center!important;gap:1.1rem!important;background:#0f172ac7!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;border:1.5px solid rgba(255,255,255,.22)!important;border-radius:999px!important;padding:.65rem 1.4rem!important;box-shadow:0 16px 48px #000000bf,0 0 24px #0006!important}.active-call-backdrop.video-mode .call-ctrl-btn{width:52px!important;height:52px!important;min-width:52px!important;border-radius:50%!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#ffffff1f!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;box-shadow:0 4px 12px #0000004d!important;transition:all .2s cubic-bezier(.22,1,.36,1)!important}.active-call-backdrop.video-mode .call-ctrl-btn:hover{background:#ffffff3d!important;transform:scale(1.08)!important}.active-call-backdrop.video-mode .call-ctrl-btn .ctrl-label{display:none!important}.active-call-backdrop.video-mode .call-ctrl-btn .ctrl-icon{font-size:1.45rem!important}.active-call-backdrop.video-mode .call-ctrl-btn.btn-hangup{width:58px!important;height:58px!important;min-width:58px!important;background:linear-gradient(135deg,#ef4444,#b91c1c)!important;border-color:#fca5a5!important;box-shadow:0 6px 20px #ef444499!important}.active-call-backdrop.video-mode .call-ctrl-btn.btn-hangup:hover{transform:scale(1.1)!important;box-shadow:0 8px 26px #ef4444cc!important}@media (max-width: 768px){.active-call-backdrop.video-mode .local-pip-video{width:95px!important;height:135px!important;top:16px!important;right:16px!important;border-radius:12px!important}[dir=rtl] .active-call-backdrop.video-mode .local-pip-video{right:auto!important;left:16px!important}.active-call-backdrop.video-mode .active-call-topbar{padding:16px 18px!important}.active-call-backdrop.video-mode .active-call-controls{bottom:22px!important;gap:.75rem!important;padding:.5rem 1rem!important}.active-call-backdrop.video-mode .call-ctrl-btn{width:46px!important;height:46px!important;min-width:46px!important}.active-call-backdrop.video-mode .call-ctrl-btn.btn-hangup{width:52px!important;height:52px!important;min-width:52px!important}}.backgammon-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:1040px;margin:0 auto;padding:.75rem .5rem;user-select:none;-webkit-user-select:none}.bg-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:var(--text-muted)}.bg-loading-spinner{width:44px;height:44px;border:3px solid rgba(255,255,255,.1);border-top-color:#d97706;border-radius:50%;animation:bgSpin .9s linear infinite}@keyframes bgSpin{to{transform:rotate(360deg)}}.bg-board-frame{width:100%;background:radial-gradient(circle at 50% 30%,#361b11,#200f09 60%,#150905);border:10px solid #4a2717;outline:2px solid #b45309;border-radius:18px;box-shadow:0 20px 50px #000000d9,inset 0 0 16px #000000e6;display:flex;flex-direction:column;overflow:hidden;position:relative}.bg-hud-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#120905d9;border-bottom:2px solid rgba(180,83,9,.35);gap:.75rem;flex-wrap:wrap}.bg-player-badge{display:flex;align-items:center;gap:.55rem;padding:.35rem .75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:20px;font-size:.82rem;color:#e2e8f0;transition:all .25s ease}.bg-player-badge.active-turn{background:#f59e0b26;border-color:#f59e0b;box-shadow:0 0 14px #f59e0b66}.bg-disc-preview{width:18px;height:18px;border-radius:50%;display:inline-block;box-shadow:0 2px 5px #0006}.bg-disc-preview.white-disc{background:radial-gradient(circle at 35% 35%,#fff,#e2e8f0 60%,#94a3b8);border:1px solid #cbd5e1}.bg-disc-preview.black-disc{background:radial-gradient(circle at 35% 35%,#475569,#1e293b 65%,#0f172a);border:1px solid #64748b}.bg-pip-count,.bg-off-count{font-size:.76rem;color:#94a3b8;background:#00000059;padding:.15rem .4rem;border-radius:8px}.bg-center-status{flex:1;text-align:center;min-width:200px}.bg-status-text{font-size:.88rem;font-weight:600;color:#fef3c7;text-shadow:0 2px 6px rgba(0,0,0,.7)}.bg-board-canvas{display:flex;height:480px;background:#25120a;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.015) 0,rgba(255,255,255,.015) 1px,transparent 0,transparent 24px),repeating-linear-gradient(-45deg,rgba(255,255,255,.015) 0,rgba(255,255,255,.015) 1px,transparent 0,transparent 24px);position:relative}.bg-board-half{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:0 4px}.bg-quadrant{display:grid;grid-template-columns:repeat(6,1fr);height:47%;gap:2px}.bg-point-container{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:filter .18s ease}.bg-point-container:hover{filter:brightness(1.22)}.bg-point-container.selected-point{filter:drop-shadow(0 0 8px #f59e0b) brightness(1.3)}.bg-point-container.legal-target{cursor:pointer}.bg-point-number{position:absolute;font-size:.68rem;font-weight:700;color:#ffffff59;z-index:5;pointer-events:none}.bg-tri-top .bg-point-number{top:3px}.bg-tri-bottom .bg-point-number{bottom:3px}.bg-triangle-shape{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.bg-tri-top .bg-triangle-shape{clip-path:polygon(0 0,100% 0,50% 100%)}.bg-tri-bottom .bg-triangle-shape{clip-path:polygon(50% 0,100% 100%,0 100%)}.bg-tri-light .bg-triangle-shape{background:linear-gradient(180deg,#d97706,#b45309 60%,#78350f);opacity:.88}.bg-tri-bottom.bg-tri-light .bg-triangle-shape{background:linear-gradient(0deg,#d97706,#b45309 60%,#78350f)}.bg-tri-dark .bg-triangle-shape{background:linear-gradient(180deg,#1e120c,#150a06 60%,#0d0503);opacity:.95}.bg-tri-bottom.bg-tri-dark .bg-triangle-shape{background:linear-gradient(0deg,#1e120c,#150a06 60%,#0d0503)}.bg-checkers-column{position:relative;z-index:3;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;padding:4px 0;pointer-events:none}.bg-checkers-column.bg-tri-top{justify-content:flex-start}.bg-checkers-column.bg-tri-bottom{justify-content:flex-end}.bg-checker-disc{width:38px;height:38px;border-radius:50%;margin-top:-12px;box-shadow:0 4px 8px #000000a6,inset 0 2px 3px #fff6;position:relative;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.bg-checkers-column.bg-tri-top .bg-checker-disc:first-child,.bg-checkers-column.bg-tri-bottom .bg-checker-disc:last-child{margin-top:0}.bg-checker-disc.white-disc{background:radial-gradient(circle at 35% 30%,#fff,#f1f5f9 45%,#cbd5e1 80%,#94a3b8);border:2px solid #e2e8f0}.bg-checker-disc.white-disc:after{content:"";position:absolute;width:64%;height:64%;border-radius:50%;border:1px dashed rgba(100,116,139,.4)}.bg-checker-disc.black-disc{background:radial-gradient(circle at 35% 30%,#475569,#334155 45%,#1e293b 80%,#0f172a);border:2px solid #64748b}.bg-checker-disc.black-disc:after{content:"";position:absolute;width:64%;height:64%;border-radius:50%;border:1px dashed rgba(245,158,11,.5)}.bg-point-container.selected-point .bg-checker-disc:last-child,.bg-point-container.selected-point .bg-checker-disc:first-child{transform:scale(1.08);box-shadow:0 0 14px #f59e0be6}.bg-disc-badge{font-size:.74rem;font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);background:#000000a6;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.4)}.bg-target-marker{position:absolute;width:22px;height:22px;border-radius:50%;background:#10b98159;border:2px solid #10b981;box-shadow:0 0 12px #10b981;z-index:10;pointer-events:none;animation:bgPulseMarker 1.4s infinite ease-in-out}.bg-tri-top .bg-target-marker{bottom:14px}.bg-tri-bottom .bg-target-marker{top:14px}.bg-target-marker.hit-marker{background:#ef444466;border-color:#ef4444;box-shadow:0 0 14px #ef4444}.bg-target-marker.hit-marker:after{content:"⚔️";font-size:.72rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes bgPulseMarker{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.22);opacity:1}}.bg-central-bar{width:78px;background:linear-gradient(90deg,#1c0e07,#30170c,#1c0e07);border-left:2px solid #b45309;border-right:2px solid #b45309;box-shadow:inset 0 0 10px #000000e6;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:8px 4px;position:relative;z-index:4}.bg-bar-half{width:100%;display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:4px;border-radius:8px;transition:all .2s ease}.bg-bar-half.selected-bar{background:#f59e0b33;outline:2px solid #f59e0b;box-shadow:0 0 12px #f59e0bb3}.bg-bar-label{font-size:.65rem;font-weight:700;color:#d97706;letter-spacing:.05em;margin:3px 0}.bg-bar-checkers-stack{display:flex;flex-direction:column;align-items:center;gap:2px}.bg-checker-disc.in-bar{width:34px;height:34px;margin-top:-10px}.bg-checker-disc.in-bar:first-child{margin-top:0}.bg-bar-center-dice{display:flex;flex-direction:column;align-items:center;gap:8px;margin:auto 0}.bg-dice-container{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:70px}.bg-dice-container.tumbling{animation:bgDiceTumble .45s ease-in-out}@keyframes bgDiceTumble{0%{transform:rotate(0) scale(.9)}50%{transform:rotate(180deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}.bg-die-face{width:28px;height:28px;background:radial-gradient(circle at 35% 35%,#fff,#f8fafc 60%,#cbd5e1);border-radius:6px;box-shadow:0 3px 7px #000000b3,inset 0 1px 1px #fffc;border:1px solid #94a3b8;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:3px;place-items:center;transition:all .2s ease}.bg-die-face.die-used{opacity:.35;filter:grayscale(1);transform:scale(.88)}.bg-die-face.die-active{box-shadow:0 0 10px #f59e0bcc,0 3px 7px #000000b3;border-color:#f59e0b}.bg-die-pip{width:4px;height:4px;background:#0f172a;border-radius:50%;display:block}.bg-die-pip-empty{width:4px;height:4px;display:block}.bg-roll-dice-btn{background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #fef3c7;color:#1c0e07;font-weight:800;font-size:.76rem;padding:.4rem .55rem;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #d9770699;display:flex;flex-direction:column;align-items:center;gap:2px;transition:all .18s ease}.bg-roll-dice-btn:hover{transform:scale(1.06);box-shadow:0 6px 16px #f59e0be6}.bg-roll-dice-btn.rolling{pointer-events:none;opacity:.7}.btn-dice-icon{font-size:1.1rem}.btn-dice-label{white-space:nowrap}.bg-bearoff-panel{width:62px;background:#170b06;border-left:3px solid #78350f;display:flex;flex-direction:column;justify-content:space-between;padding:6px 4px;position:relative;transition:all .25s ease}.bg-bearoff-panel.bearoff-target-active{background:#10b9812e;outline:2px dashed #10b981;box-shadow:0 0 16px #10b98199;cursor:pointer}.bg-tray{display:flex;flex-direction:column;align-items:center;padding:4px 2px;background:#00000059;border-radius:6px;min-height:120px}.bg-tray-label{font-size:.68rem;font-weight:700;color:#e2e8f0;margin:3px 0}.bg-tray-slots{display:flex;flex-direction:column-reverse;gap:2px;width:100%;align-items:center}.bg-bearoff-disc{width:44px;height:6px;border-radius:3px;box-shadow:0 1px 2px #00000080}.bg-bearoff-disc.white-disc{background:#e2e8f0;border:1px solid #ffffff}.bg-bearoff-disc.black-disc{background:#1e293b;border:1px solid #475569}.bg-bearoff-action-indicator{display:none;background:#10b981;color:#fff;font-size:.68rem;font-weight:800;padding:.35rem .2rem;border-radius:6px;text-align:center;animation:bgPulseMarker 1.2s infinite ease}.bg-bearoff-action-indicator.show{display:block}.bg-footer-bar{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.5rem 1rem;background:#120905f2;border-top:1px solid rgba(180,83,9,.25);flex-wrap:wrap}.bg-guide-chip{font-size:.74rem;color:#94a3b8;background:#ffffff0a;padding:.2rem .6rem;border-radius:12px}.bg-blocked-chip{font-size:.74rem;font-weight:700;color:#f59e0b;background:#f59e0b1f;padding:.2rem .6rem;border-radius:12px;border:1px solid rgba(245,158,11,.3)}@media (max-width: 768px){.bg-board-canvas{height:400px}.bg-checker-disc{width:28px;height:28px;margin-top:-9px}.bg-central-bar{width:60px}.bg-bearoff-panel{width:48px}.bg-bearoff-disc{width:36px;height:5px}.bg-point-number{font-size:.58rem}}@media (max-width: 480px){.bg-board-canvas{height:350px}.bg-checker-disc{width:23px;height:23px;margin-top:-8px}.bg-central-bar{width:48px;padding:4px 1px}.bg-bearoff-panel{width:38px}.bg-bearoff-disc{width:28px;height:4px}.bg-die-face{width:22px;height:22px}.bg-roll-dice-btn{padding:.25rem .35rem;font-size:.68rem}}.lobby-championship-banner{margin:1.25rem 0 1.5rem;display:flex;justify-content:center}.lobby-championship-banner .champ-banner-trophy{font-size:1.4rem}.champ-banner-inner{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.champ-banner-icon-wrap{width:54px;height:54px;border-radius:1rem;background:linear-gradient(135deg,#facc15,#ca8a04);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #ca8a0466;flex-shrink:0}.champ-banner-trophy{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:champTrophyFloat 3s infinite ease-in-out}@keyframes champTrophyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.champ-banner-info{flex:1;min-width:240px}.champ-banner-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .65rem;background:#eab30833;border:1px solid rgba(234,179,8,.4);border-radius:9999px;font-size:.75rem;font-weight:700;color:#fef08a;margin-bottom:.35rem}.champ-banner-badge .badge-dot{width:6px;height:6px;border-radius:50%;background:#facc15;box-shadow:0 0 8px #facc15}.champ-banner-info h3{margin:0 0 .25rem;font-size:1.2rem;font-weight:800;color:#f8fafc}.champ-banner-info p{margin:0;font-size:.88rem;color:#94a3b8;line-height:1.4}.champ-banner-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;background:linear-gradient(135deg,#eab308,#ca8a04);border:1px solid #fef08a;border-radius:.9rem;font-size:.95rem;font-weight:800;color:#0f172a;cursor:pointer;box-shadow:0 4px 16px #ca8a0459;transition:all .2s ease;flex-shrink:0}.champ-banner-cta-btn:hover{background:linear-gradient(135deg,#facc15,#eab308);transform:translateY(-2px);box-shadow:0 6px 22px #ca8a0480}.champ-banner-cta-btn .champ-btn-arrow{font-size:1.25rem;transition:transform .2s ease}.champ-banner-cta-btn:hover .champ-btn-arrow{transform:translate(4px)}html[dir=rtl] .champ-banner-cta-btn:hover .champ-btn-arrow{transform:translate(-4px)}.drawer-champ-quick-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.75rem 1rem;margin:.6rem 0 .8rem;background:linear-gradient(135deg,#eab30833,#ca8a041a);border:1px solid rgba(234,179,8,.4);border-radius:.8rem;font-size:.92rem;font-weight:700;color:#fef08a;cursor:pointer;transition:all .2s ease}.drawer-champ-quick-btn:hover{background:linear-gradient(135deg,#eab3084d,#ca8a0433);border-color:#facc15;transform:translateY(-1px)}.invite-champ-btn{background:#eab30833;border:1px solid rgba(234,179,8,.4);border-radius:.5rem;color:#fef08a;font-size:1.1rem;padding:.35rem .55rem;cursor:pointer;transition:all .2s ease}.invite-champ-btn:hover{background:#eab30859;border-color:#facc15;transform:scale(1.08)}.ingame-championship-hud{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .9rem;background:#0f172ae0;border:1px solid rgba(234,179,8,.6);border-radius:9999px;box-shadow:0 4px 16px #0006,0 0 12px #eab30833;color:#f8fafc;font-size:.82rem;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.champ-hud-icon{font-size:1.05rem;filter:drop-shadow(0 0 4px #facc15)}.champ-hud-round{color:#fef08a}.champ-hud-sep{opacity:.4}.champ-hud-scores{color:#e2e8f0}.champ-hud-btn{background:#eab30833;border:1px solid rgba(234,179,8,.4);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;color:#fef08a;transition:all .15s ease;margin-right:-.3rem}html[dir=rtl] .champ-hud-btn{margin-right:0;margin-left:-.3rem}.champ-hud-btn:hover{background:#eab30866;transform:scale(1.15)}.championship-builder-card{max-width:680px;width:95%;max-height:90vh;display:flex;flex-direction:column;padding:1.5rem;background:#0f172af2;border:1px solid rgba(234,179,8,.35);box-shadow:0 20px 50px #000000b3,0 0 30px #eab30826;border-radius:1.25rem;overflow:hidden}.champ-modal-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.champ-title-group{display:flex;align-items:center;gap:.8rem}.champ-header-icon{font-size:2rem;filter:drop-shadow(0 2px 8px rgba(234,179,8,.4))}.champ-modal-header h2{margin:0;font-size:1.25rem;font-weight:800;color:#f8fafc}.champ-modal-sub{margin:.2rem 0 0;font-size:.82rem;color:#94a3b8}.championship-builder-body{flex:1;overflow-y:auto;padding:1rem .25rem;display:flex;flex-direction:column;gap:1.25rem}.champ-form-group{display:flex;flex-direction:column;gap:.4rem}.champ-form-group label{font-size:.85rem;font-weight:700;color:#cbd5e1}.champ-input{width:100%;padding:.65rem .9rem;background:#1e293bb3;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;color:#f8fafc;font-size:.92rem;outline:none;transition:border-color .2s ease}.champ-input:focus{border-color:#facc15;box-shadow:0 0 10px #eab30840}.champ-section{background:#1e293b73;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.champ-section-header{display:flex;align-items:center;justify-content:space-between}.champ-section-header h3{margin:0;font-size:.98rem;font-weight:800;color:#f8fafc}.champ-rounds-badge{padding:.2rem .6rem;background:#eab30833;border:1px solid rgba(234,179,8,.4);border-radius:9999px;font-size:.78rem;font-weight:800;color:#fef08a}.champ-add-bot-btn{padding:.35rem .75rem;background:#38bdf826;border:1px solid rgba(56,189,248,.35);border-radius:.6rem;color:#7dd3fc;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s ease}.champ-add-bot-btn:hover{background:#38bdf840;border-color:#38bdf8;transform:translateY(-1px)}.champ-mini-label{font-size:.78rem;font-weight:700;color:#94a3b8;display:block;margin-bottom:.35rem}.champ-hint{font-size:.8rem;color:#94a3b8;margin:-.25rem 0 .5rem}.champ-selected-players-list{display:flex;flex-wrap:wrap;gap:.5rem}.champ-player-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:#0f172ad9;border:1px solid rgba(234,179,8,.35);border-radius:9999px;font-size:.85rem;font-weight:700;color:#f8fafc}.champ-player-chip.is-host{border-color:#facc15;background:linear-gradient(135deg,#eab30840,#0f172ad9)}.champ-player-chip .chip-avatar{width:22px;height:22px;min-width:22px;min-height:22px;max-width:22px;max-height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex-shrink:0}.champ-player-chip .chip-avatar svg,.champ-player-chip .chip-avatar img{width:100%!important;height:100%!important;max-width:22px!important;max-height:22px!important;object-fit:cover;border-radius:50%;display:block}.champ-player-chip .chip-remove-btn{background:none;border:none;color:#ef4444;font-size:1rem;line-height:1;cursor:pointer;padding:0 .15rem;margin-left:.2rem}html[dir=rtl] .champ-player-chip .chip-remove-btn{margin-left:0;margin-right:.2rem}.champ-player-chip .chip-remove-btn:hover{transform:scale(1.2)}.champ-friends-scroll-list{display:flex;gap:.5rem;overflow-x:auto;padding:.35rem .2rem;max-width:100%}.champ-friend-picker-item{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.45rem .75rem;background:#1e293bbf;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;transition:all .2s ease;flex-shrink:0}.champ-friend-picker-item:hover{background:#1e293bf2;border-color:#38bdf866}.picker-friend-info{display:flex;align-items:center;gap:.55rem;min-width:0}.picker-avatar-wrap{position:relative;width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#0f172acc;border:1px solid rgba(255,255,255,.15)}.picker-avatar-wrap svg,.picker-avatar-wrap img{width:100%!important;height:100%!important;max-width:32px!important;max-height:32px!important;object-fit:cover;border-radius:50%;display:block}.picker-avatar-wrap .friend-online-dot{position:absolute;bottom:0;right:0;width:8px;height:8px;background:#10b981;border:1.5px solid #0f172a;border-radius:50%}.picker-name{font-size:.84rem;font-weight:700;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.champ-friend-add-btn{padding:.25rem .65rem;font-size:.76rem;font-weight:700;border-radius:9999px;background:linear-gradient(135deg,#0284c7,#0369a1);border:1px solid rgba(56,189,248,.4);color:#fff;cursor:pointer;white-space:nowrap;transition:all .15s ease}.champ-friend-add-btn:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7);transform:scale(1.04)}.champ-empty-friends-hint{font-size:.82rem;color:#94a3b8;padding:.6rem .5rem;font-style:italic}.champ-friend-item{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#1e293bcc;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;font-size:.82rem;color:#cbd5e1;cursor:pointer;white-space:nowrap;transition:all .15s ease;flex-shrink:0}.champ-friend-item:hover{border-color:#38bdf8;background:#38bdf826;color:#f8fafc;transform:translateY(-1px)}.champ-friend-item.added{border-color:#10b981;background:#10b98126;color:#6ee7b7}.champ-queue-container{min-height:54px;padding:.5rem;background:#0f172a99;border:1px dashed rgba(255,255,255,.15);border-radius:.75rem}.champ-queue-empty{font-size:.82rem;color:#64748b;text-align:center;padding:.75rem 0}.champ-queue-list{display:flex;flex-wrap:wrap;gap:.5rem}.champ-round-item{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;background:linear-gradient(135deg,#1e293be6,#0f172ae6);border:1px solid rgba(234,179,8,.4);border-radius:.75rem;font-size:.82rem;font-weight:700;color:#f8fafc;box-shadow:0 2px 8px #0003;animation:champItemPop .2s cubic-bezier(.34,1.56,.64,1)}@keyframes champItemPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.champ-round-number{color:#facc15;font-size:.75rem}.champ-round-icon{font-size:1.05rem}.champ-round-remove-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.9rem;padding:0 .15rem;transition:color .15s ease,transform .15s ease}.champ-round-remove-btn:hover{color:#ef4444;transform:scale(1.25)}.champ-games-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.55rem;max-height:220px;overflow-y:auto;padding:.25rem 0}.champ-game-pick-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;background:#0f172ab3;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;cursor:pointer;color:#cbd5e1;font-size:.82rem;font-weight:700;text-align:left;transition:all .15s ease}html[dir=rtl] .champ-game-pick-btn{text-align:right}.champ-game-pick-btn:hover{background:#eab30826;border-color:#eab30880;color:#fef08a;transform:translateY(-2px)}.champ-game-pick-btn .pick-icon{font-size:1.25rem;flex-shrink:0}.champ-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.champ-start-btn{background:linear-gradient(135deg,#eab308,#ca8a04)!important;color:#0f172a!important;font-weight:800!important;padding:.7rem 1.6rem!important;border:1px solid #fef08a!important;box-shadow:0 4px 16px #ca8a0466!important}.champ-start-btn:disabled{opacity:.4!important;cursor:not-allowed!important;box-shadow:none!important}.championship-round-card{max-width:520px;width:95%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;padding:1.5rem;background:#0f172afa;border:2px solid rgba(234,179,8,.45);border-radius:1.5rem;box-shadow:0 25px 60px #000000d9,0 0 35px #eab30840;text-align:center;position:relative;box-sizing:border-box}.champ-round-header{margin-bottom:1.15rem;flex-shrink:0}.champ-round-trophy{font-size:3rem;filter:drop-shadow(0 4px 12px rgba(234,179,8,.5));animation:champTrophyBounce 1.2s ease-out}@keyframes champTrophyBounce{0%{transform:scale(.3) translateY(-20px);opacity:0}60%{transform:scale(1.15) translateY(0);opacity:1}to{transform:scale(1)}}.champ-round-header h2{margin:.4rem 0 .2rem;font-size:1.45rem;font-weight:800;color:#f8fafc}.champ-round-sub{margin:0;font-size:1rem;color:#facc15;font-weight:700}.champ-leaderboard-box{background:#1e293b8c;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:.85rem;margin-bottom:1rem;flex-shrink:0}.champ-leaderboard-box h3{margin:0 0 .7rem;font-size:.95rem;font-weight:800;color:#cbd5e1}.champ-leaderboard-rows{display:flex;flex-direction:column;gap:.45rem}.champ-leaderboard-row,.champ-rank-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .85rem;background:#0f172ab3;border:1px solid rgba(255,255,255,.06);border-radius:.75rem;font-size:.92rem;transition:all .2s ease;box-sizing:border-box}.champ-leaderboard-row.is-first,.champ-rank-row.rank-1{border-color:#eab30880;background:linear-gradient(135deg,#eab30826,#0f172ad9)}.champ-leaderboard-row.is-self{border-color:#38bdf880}.leaderboard-player-left,.champ-rank-left{display:flex;align-items:center;gap:.65rem;min-width:0}.leaderboard-rank,.champ-rank-badge{font-size:1.15rem;width:26px;text-align:center;flex-shrink:0}.leaderboard-avatar-wrap,.champ-rank-avatar{width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#0f172acc;border:1px solid rgba(255,255,255,.15)}.leaderboard-avatar-wrap svg,.leaderboard-avatar-wrap img,.champ-rank-avatar svg,.champ-rank-avatar img{width:100%!important;height:100%!important;max-width:32px!important;max-height:32px!important;object-fit:cover;border-radius:50%;display:block}.leaderboard-player-info{display:flex;align-items:center;gap:.4rem;overflow:hidden;white-space:nowrap}.leaderboard-player-name,.champ-rank-name{font-weight:700;color:#f8fafc;overflow:hidden;text-overflow:ellipsis;max-width:140px}.leaderboard-host-badge{font-size:.72rem;font-weight:600;background:#eab30833;border:1px solid rgba(234,179,8,.4);color:#facc15;padding:.1rem .45rem;border-radius:9999px;flex-shrink:0}.leaderboard-player-score,.champ-rank-points{display:flex;align-items:center;gap:.35rem;font-size:.92rem;font-weight:800;color:#facc15;background:#eab30826;padding:.2rem .65rem;border-radius:9999px;border:1px solid rgba(234,179,8,.3);flex-shrink:0}.leaderboard-player-score .score-stars{font-size:.85rem}.leaderboard-player-score .score-unit{font-size:.76rem;color:#fef08a;font-weight:600}.champ-next-game-box{background:#38bdf81a;border:1px solid rgba(56,189,248,.3);border-radius:.85rem;padding:.65rem 1rem;margin-bottom:1rem;flex-shrink:0}.champ-next-game-inner{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.95rem}.champ-next-label{color:#94a3b8}.champ-next-game-name{font-weight:800;color:#7dd3fc}.champ-coronation-box{background:linear-gradient(135deg,#eab30840,#ca8a0426);border:1px solid #facc15;border-radius:1rem;padding:1.25rem;margin-bottom:1rem;box-shadow:0 0 25px #eab3084d;animation:champGlowPulse 2.5s infinite alternate ease-in-out;flex-shrink:0}@keyframes champGlowPulse{0%{box-shadow:0 0 15px #eab30833}to{box-shadow:0 0 35px #eab30880}}.champ-crown-icon{font-size:3.5rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));animation:crownFloat 2s infinite ease-in-out}@keyframes crownFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(4deg)}}.champ-coronation-box h2{margin:.4rem 0 .2rem;font-size:1.4rem;color:#fef08a}.champ-coronation-desc{margin:0;font-size:1.1rem;font-weight:800;color:#f8fafc}.champ-round-footer{display:flex;align-items:center;justify-content:center;gap:.85rem;margin-top:auto;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08);position:sticky;bottom:0;background:#0f172af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;flex-shrink:0}.champ-next-btn{background:linear-gradient(135deg,#eab308,#ca8a04)!important;color:#0f172a!important;font-weight:800!important;padding:.75rem 1.8rem!important;border:1px solid #fef08a!important}.color-mystery-container{position:relative;width:100%;max-width:600px;margin:0 auto;padding:.8rem 1rem 1.4rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;box-sizing:border-box;color:#f8fafc;-webkit-user-select:none;user-select:none}.cm-flash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:0;transition:opacity .2s ease}.cm-flash-overlay.flash-plus2,.cm-flash-overlay.flash-green{animation:cmPlus2Flash 1.15s cubic-bezier(.22,1,.36,1) forwards}.cm-flash-overlay.flash-plus1,.cm-flash-overlay.flash-cyan{animation:cmPlus1Flash 1.1s cubic-bezier(.22,1,.36,1) forwards}.cm-flash-overlay.flash-zero,.cm-flash-overlay.flash-yellow{animation:cmZeroFlash 1.05s cubic-bezier(.22,1,.36,1) forwards}.cm-flash-overlay.flash-minus1,.cm-flash-overlay.flash-orange{animation:cmMinus1Flash 1.1s cubic-bezier(.22,1,.36,1) forwards}.cm-flash-overlay.flash-minus2,.cm-flash-overlay.flash-red{animation:cmMinus2Flash 1.2s cubic-bezier(.22,1,.36,1) forwards}@keyframes cmPlus2Flash{0%{background:radial-gradient(circle at center,rgba(34,197,94,.65) 0%,rgba(34,197,94,.25) 65%,transparent 100%);box-shadow:inset 0 0 70px #22c55ee6;opacity:1}30%{background:radial-gradient(circle at center,rgba(34,197,94,.45) 0%,rgba(34,197,94,.15) 70%,transparent 100%);box-shadow:inset 0 0 50px #22c55ea6;opacity:.85}to{background:transparent;box-shadow:none;opacity:0}}@keyframes cmPlus1Flash{0%{background:radial-gradient(circle at center,rgba(6,182,212,.65) 0%,rgba(6,182,212,.25) 65%,transparent 100%);box-shadow:inset 0 0 70px #06b6d4d9;opacity:1}30%{background:radial-gradient(circle at center,rgba(6,182,212,.45) 0%,rgba(6,182,212,.15) 70%,transparent 100%);box-shadow:inset 0 0 50px #06b6d499;opacity:.85}to{background:transparent;box-shadow:none;opacity:0}}@keyframes cmZeroFlash{0%{background:radial-gradient(circle at center,rgba(234,179,8,.55) 0%,rgba(234,179,8,.2) 65%,transparent 100%);box-shadow:inset 0 0 60px #eab308bf;opacity:1}30%{background:radial-gradient(circle at center,rgba(234,179,8,.35) 0%,rgba(234,179,8,.12) 70%,transparent 100%);box-shadow:inset 0 0 40px #eab30880;opacity:.8}to{background:transparent;box-shadow:none;opacity:0}}@keyframes cmMinus1Flash{0%{background:radial-gradient(circle at center,rgba(249,115,22,.6) 0%,rgba(249,115,22,.22) 65%,transparent 100%);box-shadow:inset 0 0 65px #f97316cc;opacity:1}30%{background:radial-gradient(circle at center,rgba(249,115,22,.42) 0%,rgba(249,115,22,.14) 70%,transparent 100%);box-shadow:inset 0 0 45px #f9731699;opacity:.85}to{background:transparent;box-shadow:none;opacity:0}}@keyframes cmMinus2Flash{0%{background:radial-gradient(circle at center,rgba(239,68,68,.7) 0%,rgba(239,68,68,.28) 65%,transparent 100%);box-shadow:inset 0 0 75px #ef4444e6;opacity:1}30%{background:radial-gradient(circle at center,rgba(239,68,68,.5) 0%,rgba(239,68,68,.18) 70%,transparent 100%);box-shadow:inset 0 0 55px #ef4444b3;opacity:.85}to{background:transparent;box-shadow:none;opacity:0}}.cm-header{width:100%;display:flex;flex-direction:column;align-items:center;gap:.45rem}.cm-title-row{display:flex;align-items:center;justify-content:center;gap:.6rem}.cm-game-icon{font-size:1.6rem;filter:drop-shadow(0 0 8px rgba(168,85,247,.6))}.cm-title{margin:0;font-size:1.45rem;font-weight:800;background:linear-gradient(135deg,#f8fafc,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.cm-round-badge{background:#a855f740;border:1px solid rgba(192,132,252,.45);color:#f3e8ff;font-weight:700;font-size:.82rem;padding:.2rem .65rem;border-radius:9999px}.cm-meta-pills{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem}.cm-pill{font-size:.78rem;font-weight:600;background:#0f172aa6;border:1px solid rgba(148,163,184,.2);color:#cbd5e1;padding:.18rem .55rem;border-radius:6px}.cm-feedback-banner{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.55rem .9rem;border-radius:10px;font-size:.88rem;font-weight:700;animation:cmBannerPop .35s cubic-bezier(.34,1.56,.64,1);box-sizing:border-box}@keyframes cmBannerPop{0%{transform:scale(.96) translateY(-4px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.cm-feedback-banner.feedback-plus2,.cm-feedback-banner.feedback-green{background:#22c55e38;border:1.5px solid #22c55e;color:#bbf7d0;box-shadow:0 0 18px #22c55e66}.cm-feedback-banner.feedback-plus1,.cm-feedback-banner.feedback-cyan{background:#06b6d438;border:1.5px solid #06b6d4;color:#a5f3fc;box-shadow:0 0 18px #06b6d466}.cm-feedback-banner.feedback-zero,.cm-feedback-banner.feedback-yellow{background:#eab30833;border:1.5px solid #eab308;color:#fef08a;box-shadow:0 0 16px #eab30859}.cm-feedback-banner.feedback-minus1,.cm-feedback-banner.feedback-orange{background:#f9731638;border:1.5px solid #f97316;color:#ffedd5;box-shadow:0 0 18px #f9731666}.cm-feedback-banner.feedback-minus2,.cm-feedback-banner.feedback-red{background:#ef44443d;border:1.5px solid #ef4444;color:#fecaca;box-shadow:0 0 18px #ef444473}.fb-score{background:#00000059;padding:.18rem .55rem;border-radius:6px;font-family:monospace;font-weight:800}.cm-progress-section{width:100%;display:flex;flex-direction:column;gap:.55rem;background:#0f172ab3;border:1px solid rgba(148,163,184,.22);padding:.7rem .9rem;border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-sizing:border-box}.cm-my-score-box,.cm-player-progress{display:flex;flex-direction:column;gap:.35rem;width:100%}.cm-player-progress.cm-opp-row{padding-top:.5rem;border-top:1px dashed rgba(148,163,184,.2)}.cm-row-label{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.cm-score-text-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.88rem;color:#e2e8f0}.cm-score-bar-wrap{width:100%;height:9px;background:#1e293be6;border-radius:9999px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.cm-score-bar-fill{height:100%;border-radius:9999px;transition:width .4s cubic-bezier(.34,1.56,.64,1)}.cm-score-bar-fill.my-fill{background:linear-gradient(90deg,#10b981,#22c55e);box-shadow:0 0 10px #22c55e99}.cm-score-bar-fill.opp-fill{background:linear-gradient(90deg,#f97316,#ef4444);box-shadow:0 0 10px #f9731699}.cm-opp-hud{display:flex;align-items:center;gap:.65rem;padding-top:.4rem;border-top:1px dashed rgba(148,163,184,.2);font-size:.82rem}.cm-opp-info{display:flex;align-items:center;gap:.4rem;min-width:140px}.cm-opp-name{font-weight:700;color:#cbd5e1}.cm-opp-status{font-size:.72rem;padding:.1rem .45rem;border-radius:4px}.cm-opp-status.status-ready{background:#22c55e33;color:#4ade80}.cm-opp-status.status-thinking{background:#eab30833;color:#facc15}.cm-score-label{font-weight:800;font-size:.82rem;white-space:nowrap}.cm-board-wrapper{width:100%;display:flex;justify-content:center;padding:.4rem 0}.cm-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem;width:100%;background:#0f172a99;padding:.8rem;border-radius:14px;border:1px solid rgba(148,163,184,.25);box-shadow:0 10px 30px -10px #00000080;box-sizing:border-box}.cm-grid.size-1x5,.cm-grid.size-2x5{max-width:480px}.cm-grid.size-3x5,.cm-grid.size-4x5{max-width:520px}.cm-cell{position:relative;aspect-ratio:1 / 1;border-radius:12px;border:2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,border-color .2s ease;overflow:hidden}.cm-cell:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 8px 20px #0006}.cm-cell.is-selected{border-color:#facc15!important;box-shadow:0 0 20px #facc15bf,inset 0 0 10px #facc154d!important;transform:translateY(-5px) scale(1.06);z-index:5}.cm-cell.is-blind{background:#1e293b!important;border:2px dashed rgba(148,163,184,.3)!important}.cm-cell.is-auto-locked{border-color:#10b981!important;box-shadow:0 0 12px #10b98166,inset 0 0 10px #10b98133!important;cursor:default}.cm-cell.is-auto-locked:hover{transform:none;box-shadow:0 0 12px #10b98166,inset 0 0 10px #10b98133!important}.cm-auto-lock-badge{position:absolute;top:4px;right:4px;font-size:.82rem;background:#10b981d9;border-radius:9999px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;z-index:6;box-shadow:0 2px 6px #0006;pointer-events:none}.cm-manual-flag-badge{position:absolute;top:4px;left:4px;font-size:.72rem;border-radius:9999px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;z-index:6;box-shadow:0 2px 6px #00000080,inset 0 0 4px #ffffff80;border:1.5px solid rgba(255,255,255,.85);pointer-events:none;animation:cmFlagPop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes cmFlagPop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.cm-manual-flag-badge .cm-flag-icon{font-size:.65rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.blind-cell-rune{position:absolute;font-size:1.3rem;font-weight:800;color:#94a3b833;pointer-events:none}.cm-piece{position:relative;width:72%;height:72%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#475569,#1e293b,#090d16);border:2px solid rgba(255,255,255,.4);box-shadow:0 4px 10px #0009,inset 0 2px 4px #ffffff73;transition:all .25s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.cm-piece-orb{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden}.cm-piece-shine{position:absolute;top:12%;left:20%;width:38%;height:25%;border-radius:50%;background:radial-gradient(ellipse at center,#ffffffd9,#fff0 70%);transform:rotate(-25deg)}.cm-piece-label{position:relative;font-size:.82rem;font-weight:800;color:#f8fafc;text-shadow:0 1px 3px rgba(0,0,0,.8);font-family:monospace}.cm-piece.piece-glow-pulse{animation:cmPulseGlow 1.2s infinite alternate ease-in-out;border-color:#fef08a;box-shadow:0 0 16px #facc15d9,inset 0 2px 6px #fffc}@keyframes cmPulseGlow{0%{transform:scale(1);filter:brightness(1)}to{transform:scale(1.08);filter:brightness(1.25)}}.cm-piece.is-locked{opacity:.65;filter:grayscale(.5)}.cm-flag-toolbar{width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#0f172aa6;border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:.55rem .8rem;box-sizing:border-box}.cm-tool-modes{display:flex;align-items:center;gap:.5rem}.cm-tool-pill{padding:.35rem .85rem;font-size:.82rem;font-weight:700;border-radius:9999px;background:#1e293bcc;border:1.5px solid rgba(148,163,184,.25);color:#cbd5e1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.35rem}.cm-tool-pill:hover{border-color:#94a3b880;color:#f8fafc}.cm-tool-pill.active{background:linear-gradient(135deg,#a855f7,#6366f1);border-color:#c084fc;color:#fff;box-shadow:0 0 12px #a855f773}.cm-flag-palette-picker{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem;padding-top:.3rem;border-top:1px dashed rgba(148,163,184,.2);width:100%}.cm-flag-hint-text{font-size:.76rem;color:#94a3b8;font-weight:600}.cm-palette-options{display:flex;align-items:center;gap:.45rem}.cm-palette-circle-btn{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.cm-palette-circle-btn:hover{transform:scale(1.15)}.cm-palette-circle-btn.is-active-color{border-color:#fff!important;box-shadow:0 0 10px #fffc,0 0 16px currentColor;transform:scale(1.22)}.cm-clear-flag-btn{background:#1e293be6!important;border:1.5px dashed rgba(239,68,68,.7)!important;color:#f87171!important;font-size:.7rem}.cm-flag-subhint{font-size:.74rem;color:#94a3b8}.cm-instruction-notice.cm-flag-active-notice{background:#a855f72e;border-color:#c084fc73;color:#f3e8ff}.cm-footer{width:100%;display:flex;justify-content:center;min-height:44px}.cm-instruction-notice,.cm-waiting-notice{display:flex;align-items:center;gap:.55rem;padding:.5rem 1rem;border-radius:9999px;font-size:.84rem;font-weight:600;background:#0f172abf;border:1px solid rgba(148,163,184,.25);color:#cbd5e1}.cm-waiting-notice{background:#eab30826;border-color:#eab30866;color:#fef08a}.cm-spinner{width:14px;height:14px;border:2px solid rgba(234,179,8,.3);border-top-color:#eab308;border-radius:50%;animation:cmSpin .7s linear infinite}@keyframes cmSpin{to{transform:rotate(360deg)}}
