.header{padding:.5rem .5rem;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:100;height:2rem}@media (min-width:769px){body.sidebar-open:has(#game:not(.hidden)) .header{left:250px;right:clamp(300px,25vw,450px)}body.sidebar-collapsed:has(#game:not(.hidden)) .header{left:50px;right:clamp(300px,25vw,450px)}body:not(.sidebar-open):not(.sidebar-collapsed):has(#game:not(.hidden)) .header{left:0;right:clamp(300px,25vw,450px)}body.mode-puzzle:has(#game:not(.hidden)) .header{right:0!important}}.brand{display:flex;align-items:center;gap:.5rem}.header-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.header-right .player-info{padding-top:.4rem;padding-bottom:.4rem}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto;padding:1rem 2rem 2rem}@media (min-width:1025px){.container{padding-right:16px}}@media (max-width:768px){.container{padding-top:0}.container>:first-child{margin-top:1rem!important;padding-top:0!important}#mobileFullscreenBtn,#sidebarFullscreenToggle{display:none;visibility:hidden}}.container>:first-child{margin-top:0;padding-top:0}@media (min-width:769px){main.container:has(section#game:not(.hidden)){padding:0;margin:0;max-width:100%;height:100vh}#game{height:100%;touch-action:none}#game .game-layout{display:block;height:100%;position:relative}.board-container{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;left:0;right:clamp(300px,25vw,450px);top:0;bottom:0;transition:left .3s ease}body.sidebar-open .board-container{left:250px}body.sidebar-collapsed .board-container{left:50px}body.mode-puzzle .board-container{right:0}body.mode-puzzle .right-sidebar{display:none}.right-sidebar-container:has(.right-sidebar.hidden) .right-sidebar-toggle{display:none!important}.right-sidebar-container{position:fixed;top:5px;right:5px;bottom:5px;width:clamp(300px,25vw,450px);z-index:1002;pointer-events:none;transition:transform .3s cubic-bezier(.4, 0, .2, 1);transform:translateZ(0);will-change:transform}.right-sidebar{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;pointer-events:auto;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);contain:paint;transform:translateZ(0);border-left:1px solid var(--glass-border);padding:1rem;box-shadow:var(--card-glow);border-radius:0;-webkit-overflow-scrolling:touch;overflow-wrap:anywhere;word-break:break-word}.right-sidebar-toggle{position:absolute;left:-24px;top:15px;width:24px;height:48px;z-index:96;background:var(--glass-bg);border:1px solid var(--glass-border);border-right:none;border-radius:0;color:var(--text-secondary);font-size:.8rem;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:-2px 0 5px rgba(0,0,0,.1);transition:background-color .2s}.right-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}body.right-sidebar-collapsed .right-sidebar-container{transform:translateX(calc(100% + 4px))}body.right-sidebar-collapsed .board-container{right:0}.right-sidebar iframe,.right-sidebar img,.right-sidebar svg,.right-sidebar video{max-width:100%;height:auto;display:block}.right-sidebar .long-text,.right-sidebar code,.right-sidebar pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%}}@media (max-width:768px){#game{top:0;position:fixed;left:0;right:0;bottom:0;height:auto;overflow:hidden;z-index:80;display:flex;flex-direction:column}.game-layout{display:flex;flex-direction:column;height:100%;width:100%;gap:0}.board-container{display:flex;flex-direction:column;flex:0 0 auto;padding:0;gap:0;align-items:center;overflow:visible}.right-sidebar{display:none!important}body:has(#lobby:not(.hidden)) .header{padding-top:0;padding-bottom:0}body:has(#lobby:not(.hidden)) .header-right{gap:0;align-items:center}body:has(#lobby:not(.hidden)) .container>:first-child{margin-top:0;padding-top:0}}body:has(#lobby:not(.hidden)) #playerInfoChip{position:fixed;left:0;right:0;top:0;margin:0;margin-bottom:0;width:100%;box-sizing:border-box;padding-top:env(safe-area-inset-top,8px);padding-left:12px;padding-right:12px;padding-bottom:0;background:var(--bg-secondary);border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;gap:.75rem;min-height:40px;z-index:1201}@media (min-width:769px){body:has(#lobby:not(.hidden)) .chip-right-section{margin-left:0}body:has(#lobby:not(.hidden)) .chip-left-section{margin-left:auto}}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;padding:2rem;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);box-shadow:var(--card-glow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;position:relative;max-height:45rem;overflow:auto;contain:layout style;will-change:transform}.card:hover{transform:translateY(-2px);box-shadow:0 16px 56px rgba(13,76,255,.22);border-color:color-mix(in oklab,var(--accent) 30%,var(--border))}.lobby-grid .card{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);contain:layout style}.lobby-grid{display:flex;flex-direction:column;gap:2rem;margin:58px 0 0 0}.puzzle-row{display:flex;gap:2rem;align-items:stretch;overflow:visible}.puzzle-row>.daily-puzzle-card,.puzzle-row>.game-card{flex:1;min-width:0;display:flex;flex-direction:column}.daily-tasks-row{display:flex;width:100%;flex-direction:column}.daily-tasks-row .daily-tasks-card{flex:1;display:flex;flex-direction:column}@media (max-width:768px){.puzzle-row{gap:1rem}.daily-tasks-row{gap:1rem;flex-direction:column}}@media (min-width:769px){.lobby-grid{align-items:stretch}.lobby-grid>.card{display:flex;flex-direction:column;min-height:0}.lobby-grid>.card #leaderboard{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.lobby-grid>.card:has(#leaderboard){contain:size;overflow:hidden}}.sidebar{display:flex;flex-direction:column;gap:1.5rem}.panel{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%)}.panel-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}@media (max-width:768px){.right-sidebar-toggle{display:none!important}}:root{--notify-nano:#3b82f6;--notify-trophy:#fbbf24;--notify-error:#ff5470;--notify-neutral:#22d3a3;--notify-warning:#f59e0b;--notify-song:#8b5cf6;--notify-friend:#ff2ea8;--notify-coin:#ffce2d;--notify-msg:#06b6d4;--notify-xp:#ff5dec;--notify-streak:#f59e0b;--notify-nano-light:#2563eb;--notify-trophy-light:#fbbf24;--notify-error-light:#b91c1c;--notify-neutral-light:#16a34a;--notify-warning-light:#d97706;--notify-song-light:#7c3aed;--notify-friend-light:#e11d48;--notify-coin-light:#EAB308;--notify-msg-light:#0891b2;--notify-xp-light:#a855f7;--notify-streak-light:#d97706;--notify-toast-bg-light:rgba(0,0,0,0.8);--notify-toast-bg-dark:rgba(255,255,255,0.8)}.toast-container{position:fixed;z-index:4000;display:flex;flex-direction:column;gap:10px;width:min(200px,440px);max-width:min(380px,92vw);pointer-events:none;bottom:auto;top:5px;right:50%;transform:translateX(50%) translateY(-10px);transition:transform .22s ease,opacity .22s ease;opacity:0;width:min(50vw,440px)}.toast-container:not(:empty){transform:translateX(50%) translateY(0);opacity:1}@media (max-width:768px){.toast-container{bottom:auto;top:5px;right:50%;transform:translateX(50%) translateY(-10px);width:min(90vw,440px)}.toast-container:not(:empty){transform:translateX(50%) translateY(0)}}.toast{pointer-events:all;display:grid;grid-template-columns:6px auto 1fr auto;align-items:center;gap:12px;background:rgba(255,255,255,.06);color:var(--text-primary);border-radius:12px;padding:5px 5px 5px 0;box-shadow:0 10px 24px var(--shadow);transform:translateY(8px);opacity:0;transition:transform .2s ease,opacity .2s ease;border:1px solid rgba(255,255,255,.04);backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);background-clip:padding-box}:root[data-theme=light] .toast{background-color:var(--notify-toast-bg-light);border:1px solid rgba(255,255,255,.06);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.12);isolation:isolate}:root[data-theme=dark] .toast{background-color:var(--notify-toast-bg-dark);border:1px solid rgba(16,24,32,.06);color:#000;box-shadow:0 8px 20px rgba(16,24,32,.06);isolation:isolate}:root[data-theme=light] .toast .toast-close,:root[data-theme=light] .toast .toast-close:hover{color:#fff}:root[data-theme=dark] .toast .toast-close,:root[data-theme=dark] .toast .toast-close:hover{color:#000}.toast .toast-close,.toast .toast-message,.toast .toast-title{color:inherit}.toast.visible{transform:translateY(0);opacity:1}.toast-accent{width:6px;height:100%;border-radius:12px 0 0 12px}.toast-icon{width:24px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-left:8px}.toast-content{padding-right:8px}.toast-title{font-weight:200;margin-bottom:2px;font-size:.75rem}.toast-message{font-size:.75rem;opacity:.9}.toast-close{background:0 0;border:none;color:var(--text-primary);font-size:18px;padding:4px 8px;cursor:pointer;opacity:.7}.toast-close:hover{opacity:1}.toast{min-width:220px;max-width:100%}.toast.xp .xp-progress-container{display:inline}.toast.xp .xp-progress-text{color:inherit;font-size:.75rem;opacity:.9;display:inline;margin-left:4px}.toast.xp .xp-progress-bar{display:none}.notification-badge{position:absolute;top:0;right:0;background-color:var(--danger);color:#fff;width:18px;height:18px;line-height:14px;text-align:center;border-radius:50%;font-size:10px;font-weight:700;border:2px solid var(--bg-tertiary);transform:translate(30%,-30%);display:inline-flex;align-items:center;justify-content:center}#webrtc-container{position:fixed;bottom:80px;left:0;right:0;display:flex;justify-content:space-between;padding:0 20px;z-index:1050;pointer-events:none}#webrtc-container,#webrtc-container *{box-sizing:border-box}#local-video,#remote-video{width:160px;height:120px;background:var(--bg-primary);border:2px solid var(--border);border-radius:12px;object-fit:cover;aspect-ratio:16/9;pointer-events:all}#local-video{border-color:var(--accent)}.comm-controls{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);padding:10px 20px;border-radius:50px;box-shadow:0 8px 32px var(--shadow);display:flex;gap:10px;color:var(--text-primary);z-index:1050}.comm-controls .btn{position:relative;box-sizing:border-box;border-radius:50%;width:48px;height:48px;padding:0;min-width:0;min-height:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1}.comm-controls .btn.active{background:var(--accent);color:#fff}#send-chat.disabled,#send-chat[disabled],.comm-controls .btn.disabled,.comm-controls .btn[disabled]{background:var(--surface);color:var(--text-muted);opacity:.6;cursor:not-allowed;filter:grayscale(.2)}.btn-wrap{position:relative;display:inline-block}.info-badge-overlay.tooltip{position:absolute;top:0;right:0;transform:translate(30%,-30%);width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:0 0;border-radius:50%;z-index:1}.info-badge-overlay i{font-size:14px;line-height:1}.camera-switch-overlay{position:absolute;top:8px;right:8px;display:none;align-items:center;gap:4px;padding:4px 8px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;z-index:1000;border-radius:4px;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);transition:background-color .2s ease;user-select:none;text-shadow:0 1px 2px rgba(0,0,0,.3)}.camera-switch-overlay:hover{background:rgba(0,0,0,.6)}.camera-switch-overlay i{font-size:12px;line-height:1}.camera-switch-overlay .camera-count{font-family:var(--font-mono, 'Courier New', monospace);font-size:11px;opacity:.9}.remote-video-wrapper{position:relative;display:inline-block}.video-expand-overlay{position:absolute;top:8px;right:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;cursor:pointer;z-index:1001;border-radius:8px;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);border:2px solid rgba(255,255,255,.2);transition:all .2s ease;user-select:none;padding:0}.video-expand-overlay:hover{background:rgba(0,0,0,.7);border-color:rgba(255,255,255,.4);transform:scale(1.05)}.video-expand-overlay i{font-size:16px;line-height:1}.dedicated-video-mode #video-panel{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;z-index:1039!important;background:#000!important}.dedicated-video-mode #webrtc-container{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;z-index:1039!important;background:#000!important;padding:0!important;display:block!important}.dedicated-video-mode .remote-video-wrapper{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;transform:none!important;z-index:1040!important;background:#000;display:flex!important;align-items:center!important;justify-content:center!important;flex:none!important;max-width:none!important;max-height:none!important;min-width:auto!important;border-radius:0!important;padding:0!important}.dedicated-video-mode #remote-video{position:relative!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;aspect-ratio:auto!important;border-radius:0!important;border:none!important}.dedicated-video-mode #local-video{position:fixed!important;bottom:20px!important;right:20px!important;width:200px!important;height:150px!important;z-index:1041!important;border:3px solid var(--accent)!important;border-radius:12px!important}.dedicated-video-mode .video-expand-overlay{position:fixed!important;top:20px!important;right:20px!important;z-index:1042!important;pointer-events:all!important;cursor:pointer!important}.dedicated-video-mode .video-expand-overlay i::before{content:"\f066"}.dedicated-video-mode #game-board-container,.dedicated-video-mode #sideboardArea,.dedicated-video-mode .header{display:none!important}.comm-controls{display:flex!important}.communication-rail{display:flex!important}#video-panel{display:block!important}.chat-container-rail{display:flex!important}@media (max-width:768px){body:not(.dedicated-video-mode) #webrtc-container{display:flex;justify-content:space-between;gap:8px}body:not(.dedicated-video-mode) #webrtc-container .local-video-wrapper,body:not(.dedicated-video-mode) #webrtc-container .remote-video-wrapper{flex:1 1 50%;max-width:50%}body:not(.dedicated-video-mode) #local-video,body:not(.dedicated-video-mode) #remote-video{width:100%;height:auto;object-fit:cover;aspect-ratio:16/9}.dedicated-video-mode #local-video{width:120px!important;height:90px!important;bottom:10px!important;right:10px!important;border-width:2px!important}.dedicated-video-mode .video-expand-overlay{top:10px!important;right:10px!important;width:32px;height:32px;font-size:14px}.video-expand-overlay{width:32px;height:32px;font-size:14px}.video-expand-overlay i{font-size:14px}}@media (max-width:768px) and (orientation:portrait){.dedicated-video-mode #remote-video{object-fit:contain!important}.dedicated-video-mode #local-video{object-fit:cover!important}}@media (min-width:769px){body:not(.dedicated-video-mode) #webrtc-container{gap:8px;align-items:center;justify-content:space-between}body:not(.dedicated-video-mode) #webrtc-container .local-video-wrapper,body:not(.dedicated-video-mode) #webrtc-container .remote-video-wrapper{flex:1 1 0;max-width:50%}body:not(.dedicated-video-mode) #local-video,body:not(.dedicated-video-mode) #remote-video{width:100%;height:auto;max-height:240px;border-radius:10px;object-fit:cover;aspect-ratio:16/9}.dedicated-video-mode #remote-video{object-fit:contain!important}}.puzzle-star-overlay{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;min-height:2.5rem;background:var(--surface);backdrop-filter:blur(8px);border-radius:45px;opacity:0;transition:opacity .3s ease;pointer-events:none;box-sizing:border-box}.puzzle-star-overlay.visible{opacity:1}.puzzle-star{width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,transform .5s ease}.puzzle-star img{max-height:100%;width:auto;display:block}.puzzle-star img{width:100%;height:100%;object-fit:contain}.puzzle-star.star-pulse{animation:starPulse .8s ease-in-out infinite}@keyframes starPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes starLoss{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1.2)}75%{transform:scale(.8)}100%{transform:scale(0);opacity:0}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.puzzle-loading{text-align:center;color:var(--text-muted)}.puzzle-loading .spinner{width:40px;height:40px;margin:0 auto 1rem;border:4px solid var(--surface-hover);border-top-color:var(--card-mode-color,var(--mode-training));border-radius:50%;animation:spin 1s linear infinite}.puzzle-ready-content,.puzzle-ready-content-narrow{text-align:center;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.puzzle-ready-objective,.puzzle-ready-title,.training-ready-title{color:#fff;font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:600;margin-bottom:0;padding:0;text-align:center;text-transform:uppercase}.puzzle-ready-icon{width:5rem;height:5rem;display:flex;align-items:center;justify-content:center}.puzzle-ready-icon img{width:100%;height:100%;object-fit:contain}@keyframes spin{to{transform:rotate(360deg)}}.game-card[data-mode=puzzle] .puzzle-ready-objective::before{background-image:url('../img/elements/puzzle_gold.webp')}.game-card[data-mode=puzzle] .puzzle-solved-text,.game-card[data-mode=training] .puzzle-solved-text{padding-top:0;position:relative}.game-card[data-mode=puzzle] .puzzle-ready-objective::before,.game-card[data-mode=puzzle] .puzzle-solved-text::before{background-image:url('../img/elements/puzzle_gold.webp')}.game-card[data-mode=training] .puzzle-solved-text::before,.game-card[data-mode=training] .training-ready-title::before{background-image:url('../img/elements/knight_gold.webp')}@keyframes spin{to{transform:rotate(360deg)}}#daily-puzzle-image{width:100%;max-width:60px;max-height:60px;margin:0 auto}.daily-puzzle-footer{display:flex;flex-direction:column;gap:10px;background:0 0;padding:0 18px 18px 18px;position:relative;z-index:2;flex-shrink:0}.puzzle-meta-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.puzzle-info{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:8px}.puzzle-rating{display:none}.puzzle-difficulty{font-size:.75rem;font-weight:600;padding:.25rem .5rem;background:var(--card-mode-color,var(--mode-puzzle));color:#111;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.puzzle-objective{display:none}.puzzle-timer{font-size:1rem;color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums;padding:.375rem .75rem;background:var(--surface-hover);border-radius:6px}#startPuzzleBtn{width:100%;padding:.6rem 1rem;border-radius:4px;font-weight:600;font-size:.8rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;text-transform:uppercase;letter-spacing:.04em;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:all .2s ease;cursor:pointer;background:var(--card-mode-color);color:#111!important;border:none;box-shadow:none}#startPuzzleBtn:hover{background:var(--card-mode-color);filter:brightness(1.15);transform:none;box-shadow:none}.puzzle-solved-state{text-align:center;padding:1rem 2rem .5rem 1rem;animation:fadeInScale .5s ease;background:0 0;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;max-height:250px;gap:1rem}@keyframes fadeInScale{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes checkBounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.puzzle-solved-text{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:0;padding:0;text-align:center;text-transform:uppercase}.puzzle-solved-time{font-size:1.125rem;color:var(--text-muted);margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.countdown-chip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.375rem .5rem;background:var(--surface);border-radius:16px;font-size:.875rem;font-weight:600;color:var(--text-primary);max-width:100%}.countdown-chip .countdown-label{color:var(--text-muted);font-weight:600;word-break:break-word;hyphens:auto}.countdown-chip .countdown-time{min-width:6ch;text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,"Roboto Mono","Courier New",monospace;white-space:nowrap}.puzzle-solved-streak{font-size:.85rem;color:var(--card-mode-color,var(--mode-puzzle));font-weight:600;padding:.4rem .75rem;background:color-mix(in oklab,var(--card-mode-color,var(--mode-puzzle)) 20%,transparent);border:1px solid color-mix(in oklab,var(--card-mode-color,var(--mode-puzzle)) 30%,transparent);border-radius:2px;display:inline-block;margin-top:.5rem}.puzzle-solved-streak i{margin-right:.25rem}:root[data-theme=light] .puzzle-difficulty{background:var(--card-mode-color,var(--mode-puzzle));color:#fff}:root[data-theme=light] .puzzle-solved-streak{background:var(--card-mode-color,var(--mode-puzzle));color:#fff}:root[data-theme=light] #startPuzzleBtn{background:var(--card-mode-color);color:#fff!important}:root[data-theme=light] #startPuzzleBtn:hover{background:var(--card-mode-color);filter:brightness(1.15)}:root[data-theme=light] .puzzle-ready-objective,:root[data-theme=light] .puzzle-ready-title,:root[data-theme=light] .puzzle-solved-text,:root[data-theme=light] .training-ready-title{color:#000;text-shadow:0 2px 4px rgba(0,0,0,.2)}:root[data-theme=light] .countdown-chip{backdrop-filter:blur(12px);border-color:#e5e7eb;color:#374151}:root[data-theme=dark] .countdown-chip{backdrop-filter:blur(12px);border-color:#374151;color:#f3f4f6}@media (max-width:768px){.puzzle-star-overlay{padding:.25rem .5rem;gap:.25rem}.puzzle-star{width:18px;height:18px}#daily-puzzle-image{max-width:180px}#startPuzzleBtn{width:100%;font-size:.8rem;padding:.6rem 1rem}.puzzle-solved-text{font-size:1.5rem}}.game-card[data-mode=training] .puzzle-difficulty,.game-card[data-mode=training] .puzzle-subtitle{font-size:.875rem;font-weight:600;padding:.375rem .75rem;background:rgba(245,158,11,.55);border-radius:6px}.game-card[data-mode=training] .puzzle-coins{font-size:1rem;color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums;padding:.375rem .75rem;background:var(--surface-hover);border-radius:6px}.game-card[data-mode=training] #shadowPlayBtn,.game-card[data-mode=training] #startTrainingBtn{width:100%;padding:10px 16px;border-radius:6px;font-weight:600;font-size:1.1em;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .18s ease;cursor:pointer;background:var(--card-mode-color);color:#111;border:1px solid var(--card-mode-color);box-shadow:0 2px 8px rgba(0,0,0,.15)}.game-card[data-mode=training] #shadowPlayBtn:hover,.game-card[data-mode=training] #startTrainingBtn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.25)}.game-card[data-mode=training] .puzzle-solved-streak{color:var(--card-mode-color);background:rgba(245,158,11,.15)}:root[data-theme=light] .game-card[data-mode=training] #shadowPlayBtn,:root[data-theme=light] .game-card[data-mode=training] #startTrainingBtn{color:#fff}.game-card #shadowPlayBtn.unlock-early-btn{background:#f59e0b;color:#111;border:1px solid #f59e0b;box-shadow:0 2px 8px rgba(0,0,0,.15);position:relative;overflow:hidden;animation:pm-pulse 1.25s ease-in-out infinite}.lessons-list{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.lessons-list .lesson-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;border:1px solid rgba(255,255,255,.03);border-radius:6px;position:relative;padding-left:18px;transition:background .18s ease,transform .12s ease,box-shadow .18s ease;cursor:pointer;background:0 0;box-sizing:border-box}.lessons-list .lesson-item{margin:6px 0}.lessons-list .lesson-item:not(.locked):hover{background:var(--surface-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.18),0 0 6px rgba(0,213,255,.04)}.lessons-list .lesson-item::before{content:'';position:absolute;left:8px;top:8px;bottom:8px;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--accent),var(--accent2));box-shadow:0 0 8px color-mix(in oklab,var(--accent) 65%,var(--accent2) 35%);box-shadow:0 0 8px var(--glow);opacity:.6;transition:opacity .18s ease,box-shadow .18s ease,transform .18s ease}.lessons-list .lesson-item:not(.locked):hover::before{opacity:1;box-shadow:0 0 12px color-mix(in oklab,var(--accent) 65%,var(--accent2) 35%);box-shadow:0 0 12px var(--glow);transform:scaleY(1.01)}.lessons-list .lesson-item.completed::before{background:color-mix(in oklab,var(--accent2) 80%,var(--success) 20%);box-shadow:0 0 18px color-mix(in oklab,var(--accent2) 80%,var(--success) 20%);box-shadow:0 0 18px var(--glow)}.lessons-list .lesson-item.locked::before{opacity:.18;box-shadow:none}.lessons-list .lesson-item.locked{cursor:not-allowed;opacity:.5;border-color:rgba(255,255,255,.06)}.lessons-list .lesson-item.completed{border-color:color-mix(in oklab,var(--accent) 20%,rgba(255,255,255,.06) 80%)}.lessons-list .lesson-item .fas.fa-lock{color:var(--text-secondary)}.lessons-list .lesson-item:focus{outline:0;box-shadow:0 0 0 3px rgba(99,102,241,.08);border-radius:6px}.game-card #shadowPlayBtn.unlock-early-btn::after{content:'';position:absolute;top:-100%;left:-50%;width:300%;height:220%;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.34) 50%,rgba(255,255,255,0) 100%);transform:rotate(25deg);opacity:1;pointer-events:none;animation:pm-shine 1.25s linear infinite}@keyframes pm-shine{0%{transform:translateX(-100%) rotate(25deg)}100%{transform:translateX(100%) rotate(25deg)}}@keyframes pm-pulse{0%{transform:scale(1)}50%{transform:scale(1.035)}100%{transform:scale(1)}}.puzzle-action-button{background:var(--card-mode-color)!important;background-color:var(--card-mode-color)!important;color:#111!important}.puzzle-action-button.shine{position:relative;overflow:hidden}.puzzle-action-button.shine::after{content:'';position:absolute;top:-100%;left:-50%;width:300%;height:220%;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.34) 50%,rgba(255,255,255,0) 100%);transform:rotate(25deg);opacity:1;pointer-events:none;animation:pm-shine 1.25s linear infinite}.puzzle-action-button.pulse{animation:pm-pulse 1.25s ease-in-out infinite}.puzzle-action-button.pulse:hover:not(:disabled){animation:none;transform:translateY(-1px)}#dailyTasksListWrapper{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;width:100%}#dailyTasksList{display:contents}.daily-task-item{background:0 0;border-radius:6px;overflow:hidden;border:1px solid var(--border);display:flex;flex-direction:column;min-height:240px;width:100%;opacity:1;transform:scale(1) translateY(0);position:relative;height:100%}.daily-task-item::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:var(--surface);border-radius:6px;z-index:0}.task-image-area{position:relative;z-index:1;height:120px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--hover);border-bottom:1px solid var(--border)}.task-image{width:100%;height:100%;object-fit:contain;padding:.5rem}.task-card-content{flex:1;display:flex;flex-direction:column;padding:.75rem;border-bottom:1px solid var(--border);position:relative;z-index:1}.task-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.task-description{font-size:.875rem;color:var(--text-muted);margin-bottom:auto;line-height:1.3;padding-bottom:.5rem}.task-footer{margin-top:auto;display:flex;flex-direction:column;gap:.5rem}.task-progress-row{display:flex;align-items:center;gap:.5rem}.task-progress-bar{flex:1;height:6px;background:var(--surface-hover);border-radius:3px;overflow:hidden;border:1px solid var(--border)}.task-progress-text{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;font-weight:500;min-width:2.5rem;text-align:right}.task-rewards{display:flex;align-items:center;gap:.75rem;font-size:.8125rem}.task-reward-item{display:flex;align-items:center;gap:.25rem;color:var(--text-secondary)}.task-reward-item i{font-size:.75rem;color:var(--primary)}.task-reward-item span{font-weight:600}.task-reward-item:first-child span{color:var(--primary)}.coin-icon-small{width:12px;height:12px}.task-button-wrapper{padding:.5rem .75rem;position:relative;z-index:1}.task-button-wrapper button{width:100%;justify-content:center;gap:.25rem}.task-button-wrapper .coin-icon-small{margin-left:.25rem}.daily-task-bonus.claimed{opacity:1;border-color:var(--border)}@media (max-width:768px){#dailyTasksListWrapper{grid-template-columns:repeat(2,1fr);gap:.5rem}.daily-task-item{min-height:220px}.task-image-area{height:100px}.task-card-content{padding:.5rem}.task-header{font-size:.875rem}.task-description{font-size:.8125rem}.task-button-wrapper{padding:.5rem}}.task-reroll-btn{position:relative;overflow:hidden}.task-reroll-btn:hover:not(:disabled){transform:translateY(-1px)}.task-reroll-btn:disabled{background:0 0;color:var(--text-muted);border-color:var(--border-color);cursor:not-allowed;opacity:.6;filter:grayscale(.25);box-shadow:none;pointer-events:none}.task-reroll-btn:disabled:hover{transform:none;box-shadow:none}.task-claim-button-claimed{background:var(--success);color:#fff;cursor:default}.task-claim-button-claimed:hover{transform:none;background:var(--success)}#dailyTaskBonusClaimBtn:disabled{background:0 0;color:var(--text-muted);border-color:var(--border-color);cursor:not-allowed;opacity:.6;filter:grayscale(.25);box-shadow:none;pointer-events:none}#dailyTaskBonusClaimBtn:disabled:hover{transform:none;box-shadow:none}.task-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));transition:width .3s ease;border-radius:2px}@keyframes taskFadeOut{0%{opacity:1;transform:scale(1) translateY(0)}100%{opacity:0;transform:scale(.92) translateY(-8px)}}@keyframes taskFadeIn{0%{opacity:0;transform:scale(.92) translateY(8px)}100%{opacity:1;transform:scale(1) translateY(0)}}.daily-task-item.fade-out{animation:taskFadeOut .3s cubic-bezier(.4,0,.6,1) forwards}.daily-task-item.fade-in{animation:taskFadeIn .4s cubic-bezier(.34,1.56,.64,1) forwards}:root[data-theme=light] .daily-task-item::before{background:rgba(255,255,255,.9)}:root[data-theme=light] .daily-task-item{border-color:rgba(0,0,0,.1)}:root[data-theme=light] .task-progress-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.game-card #shadowPlayBtn.unlock-early-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.25)}.game-card #shadowPlayBtn.unlock-early-btn:disabled{background:var(--surface-hover);color:var(--text-muted);border-color:var(--surface-hover);cursor:not-allowed;opacity:.5;box-shadow:none}.game-card #shadowPlayBtn.unlock-early-btn:disabled:hover{transform:none;box-shadow:none}.unlock-early-btn .coin-icon{width:1.2em;height:1.2em;display:inline-block;vertical-align:middle}.modal{position:fixed;inset:0;background:rgba(2,8,23,0);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.modal:not(.hidden){opacity:1;visibility:visible;background:rgba(2,8,23,0);backdrop-filter:blur(5px) saturate(120%);-webkit-backdrop-filter:blur(5px) saturate(120%)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.modal:not(.hidden){background:rgba(2,8,23,.5)}}@media (max-width:768px){#achievementsModal.modal:not(.hidden),#leaderboardModal.modal:not(.hidden),#settingsModal.modal:not(.hidden){background:var(--panel-solid-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}.modal-content{background:var(--glass-modal-bg,var(--glass-bg));border-radius:20px;padding:2rem;min-width:400px;max-width:90vw;max-height:calc(100vh - 10px);overflow:hidden;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);box-shadow:0 16px 48px rgba(0,0,0,.35);transform:translateY(8px) scale(.98);transition:transform .28s ease,box-shadow .28s ease,border-color .25s ease;position:relative;display:flex;flex-direction:column;margin:5px 0}.modal:not(.hidden) .modal-content{transform:translateY(0) scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-shrink:0}.modal-body{overflow-y:auto;flex:1;min-height:0}.modal-fullscreen .modal-content,.modal-fullscreen.modal .modal-content{background:var(--panel-solid-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important;margin:0!important;min-width:100vw!important;width:100vw!important;min-height:100vh!important;height:100vh!important;max-width:100%!important;max-height:100%!important;padding:1rem!important;box-shadow:none!important;border:none!important}.modal-fullscreen.modal:not(.hidden){align-items:stretch!important;justify-content:flex-start!important;background:var(--panel-solid-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}@media (max-width:768px){.modal-fullscreen{z-index:1050!important}.modal-fullscreen .modal-content{min-width:100%!important;width:100%!important;min-height:100%!important;height:100%!important;padding-bottom:calc(1rem + var(--mobile-bottom-menu-height,56px) + env(safe-area-inset-bottom,0px))!important}}.modal-title{font-size:1.25rem;font-weight:600}.modal-close{background:0 0;border:none;color:var(--text-muted);font-weight:100;font-size:2.25rem;cursor:pointer;padding:.375rem;border-radius:6px;transition:all .2s ease;position:relative;z-index:10}.modal-close:hover{background:var(--surface);color:var(--text-primary)}.modal-content.deposit{border-color:color-mix(in oklab,var(--accent-deposit) 40%,var(--border));box-shadow:0 24px 70px rgba(0,213,255,.15)}.modal-content.invite{border-color:color-mix(in oklab,var(--accent-invite) 40%,var(--border));box-shadow:0 24px 70px rgba(255,46,168,.15)}.modal-content.waiting{border-color:color-mix(in oklab,var(--accent-wait) 40%,var(--border));box-shadow:0 24px 70px rgba(245,158,11,.15)}.qr-container{display:flex;background-color:rgba(255,255,255,.06);padding:20px;border-radius:12px;margin:1rem auto;justify-content:center;position:relative}.qr-container canvas,.qr-container img{box-shadow:none}.qr-container>div{box-shadow:0 6px 16px rgba(2,8,23,.35);border-radius:12px}.qr-container .camera-switch-overlay{position:absolute;top:28px;right:28px;display:none;align-items:center;gap:4px;padding:4px 8px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;z-index:1001;border-radius:4px;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);transition:background-color .2s ease;user-select:none;text-shadow:0 1px 2px rgba(0,0,0,.3)}.qr-container .camera-switch-overlay:hover{background:rgba(0,0,0,.6)}.qr-container .camera-switch-overlay i{font-size:12px;line-height:1}.qr-container .camera-switch-overlay .camera-count{font-family:var(--font-mono, 'Courier New', monospace);font-size:11px;opacity:.9}.promotion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.promotion-piece{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease}.promotion-piece:hover{background:var(--surface-hover);border-color:var(--accent)}.promotion-piece-icon{font-size:2rem}.promotion-piece-image{width:48px;height:48px;object-fit:contain;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none}.modal-no-close{pointer-events:auto}.modal-no-close .modal-content{pointer-events:auto}.debug-buttons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:1rem}.debug-modal-btn{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px!important;font-size:12px!important;font-weight:500;min-height:70px;white-space:nowrap;border-radius:8px;transition:all .2s ease}.debug-modal-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.debug-modal-btn i{font-size:18px;margin-bottom:4px}.mobile-bottom-menu{position:fixed;left:0;right:0;bottom:0;display:none;justify-content:center;pointer-events:auto;z-index:1200;--mobile-bottom-menu-height:46px;height:var(--mobile-bottom-menu-height);flex-shrink:0}.mobile-bottom-menu .mobile-bottom-inner{width:100%;position:relative;margin-left:0;margin-right:0;padding-bottom:0;padding-left:env(safe-area-inset-left,12px);padding-right:env(safe-area-inset-right,12px);display:grid;grid-auto-flow:column;gap:8px;align-items:center;justify-items:stretch;height:100%}.mobile-bottom-menu .mobile-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;align-items:center;justify-items:center;background:var(--bg-secondary);border-radius:0;padding:0 8px;height:100%}.mobile-nav-item{display:flex;align-items:center;justify-content:center;gap:0;min-width:44px;height:44px;padding:0;border-radius:10px;background:0 0;border:none;color:var(--mobile-nav-text,var(--text-primary))}.mobile-nav-item i{font-size:1.1rem;display:flex;align-items:center;justify-content:center}.mobile-nav-item .label{display:none}.mobile-bottom-menu .mobile-nav .mobile-nav-item:active,.mobile-bottom-menu .mobile-nav .mobile-nav-item:focus,.mobile-bottom-menu .mobile-nav .mobile-nav-item:hover{background:0 0;outline:0}.mobile-bottom-menu .mobile-nav .mobile-nav-item.active .label,.mobile-bottom-menu .mobile-nav .mobile-nav-item.active i{color:var(--mobile-nav-text,var(--text-primary))}@media (max-width:768px){.mobile-bottom-menu{display:block}}body:has(.start-screen:not(.hidden)) .mobile-bottom-menu{display:none!important}.mobile-bottom-menu[data-hide-labels=true] .mobile-nav-item .label{display:none}.mobile-bottom-menu .mobile-nav .mobile-nav-item.sound{display:flex}.mobile-minimize-toggle .fa-chevron-down{color:var(--mobile-nav-text,var(--text-primary))}@media (min-width:769px){.mobile-bottom-menu{display:none!important}}@supports (padding:env(safe-area-inset-bottom)){.mobile-bottom-inner{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width:768px){#sidebar .sidebar-nav #sidebarLobbyBtn,#sidebar .sidebar-nav #sidebarSettingsBtn,#sidebar .sidebar-nav #sidebarSoundToggle,#sidebar .sidebar-nav #sidebarThemeToggle{display:none!important}}@media (max-width:768px){:root{--mobile-game-panel-height:140px}.mobile-game-panel{position:relative;flex:1 1 auto;bottom:auto;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border);z-index:90;display:flex;flex-direction:column;overflow:hidden;min-height:var(--mobile-game-panel-height);padding-bottom:56px;padding-bottom:var(--mobile-bottom-menu-height,56px)}.mobile-game-panel.hidden{display:none!important}.mobile-action-bar{display:none!important}.mobile-tab-nav{display:flex;gap:0;background:var(--bg-primary);border-bottom:1px solid var(--border);flex-shrink:0;height:32px}.mobile-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;background:0 0;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.mobile-tab-btn i{font-size:.85rem;color:inherit!important}.mobile-tab-btn span{display:none}@media (min-width:400px){.mobile-tab-btn span{display:inline}}.mobile-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,transparent)}.mobile-tab-btn .badge{display:none;width:6px;height:6px;background:var(--accent2);border-radius:50%}.mobile-tab-btn .badge.visible{display:inline-block}.mobile-tab-btn .badge.customize-badge{width:auto;min-width:14px;height:14px;padding:0 3px;border-radius:0;background:linear-gradient(135deg,#ff6b6b 0,#ff2ea8 100%);clip-path:polygon(2px 0,100% 0,calc(100% - 2px) 100%,0 100%);box-shadow:0 2px 6px rgba(238,90,36,.4);font-size:.55rem;font-weight:700;color:#fff;display:none;position:relative;overflow:hidden}.mobile-tab-btn .badge.customize-badge.unlocked{background:linear-gradient(135deg,#4ade80 0,#22c55e 100%);box-shadow:0 2px 6px rgba(34,197,94,.4)}.mobile-tab-btn .badge.customize-badge.visible{display:flex;align-items:center;justify-content:center}.mobile-tab-content{flex:1;flex-direction:column;overflow:hidden;min-height:0}.mobile-tab-content:not(.active){display:none!important}.mobile-tab-content.active{display:flex!important}.mobile-actions-tab.active{display:flex!important;padding:4px;overflow-y:auto;align-content:start}.mobile-actions-tab .game-controls-mobile{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:4px;padding:0;width:100%}.mobile-chat-tab.active{display:flex!important;flex-direction:column;height:100%}.mobile-chat-messages{overflow-y:auto;touch-action:pan-y;padding:4px;display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:4px;font-size:1rem;flex:1;min-height:0}.mobile-chat-messages .chat-message{padding:4px 8px;font-size:1rem;border-radius:8px;line-height:1.3;max-width:fit-content;word-wrap:break-word;background:var(--surface)}.mobile-chat-messages .chat-message.white-player{background:var(--chat-white-bg);color:var(--chat-white-fg)}.mobile-chat-messages .chat-message.black-player{background:var(--chat-black-bg);color:var(--chat-black-fg)}.mobile-chat-messages .chat-message.sent{order:initial}.mobile-chat-messages .chat-message.received{order:initial}.mobile-chat-input-row{display:flex!important;gap:8px;padding:6px 8px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;min-height:44px;align-items:center;box-sizing:border-box}.mobile-chat-input-row input{flex:1;padding:6px 10px;height:32px;background:var(--bg-primary);border:1px solid var(--border);border-radius:16px;color:var(--text-primary);font-size:1rem;box-sizing:border-box}.mobile-chat-input-row input:focus{outline:0;border-color:var(--accent)}.mobile-chat-send-btn{width:28px;height:28px;border-radius:50%;background:var(--accent);border:none;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}.mobile-video-tab.active{flex-direction:row;padding:0;gap:0;position:relative;overflow:hidden}.mobile-video-container{display:flex;gap:2px;width:100%;height:100%}.mobile-local-video-placeholder,.mobile-remote-video-placeholder{flex:1;background:var(--bg-secondary);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.video-placeholder-label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;opacity:.5}.mobile-local-video,.mobile-remote-video{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.mobile-video-controls{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;z-index:10}.mobile-video-btn{width:48px;height:48px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer}.mobile-video-btn.hidden{display:none!important}.mobile-video-btn.call{background:var(--accent);color:#fff;width:56px;height:56px;font-size:1.3rem}.mobile-video-btn.call.voice{display:none!important}.mobile-video-btn.hangup{background:var(--accent2);color:#fff;width:40px;height:40px;font-size:1rem}.mobile-video-btn.toggle{background:rgba(0,0,0,.6);color:#fff;border:1px solid rgba(255,255,255,.3);width:36px;height:36px;font-size:.9rem}.mobile-history-tab.active{padding:6px;overflow-y:auto;flex-direction:column;gap:6px}.mobile-captured-section{display:flex;flex-direction:column;gap:4px;padding-bottom:6px;border-bottom:1px solid var(--border);flex-shrink:0}.mobile-captured-row{display:flex;align-items:center;gap:8px}.mobile-captured-label{font-size:1rem;width:20px}.mobile-captured-pieces{display:flex;flex-wrap:wrap;gap:2px}.mobile-captured-pieces .piece-icon,.mobile-captured-pieces img{width:20px;height:20px}.mobile-moves-list{display:flex;flex-wrap:wrap;gap:4px;font-family:var(--font-mono);font-size:.8rem}.mobile-moves-list .move-pair,.mobile-moves-list .move-row{display:inline-flex;gap:4px;background:var(--surface);padding:4px 6px;border-radius:4px}#game #opponentInfoChip,#game #playerInfoChip,#game .player-info-chip{width:100%;border-radius:6px;padding:.35rem .6rem;margin:0;min-height:2rem}#game .chip-name{font-size:.8rem}#game .chip-stats{font-size:.7rem}.mobile-customize-tab.active{display:flex!important;flex-direction:column;overflow:hidden}.mobile-customize-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-customize-tab .customize-panel{height:100%;overflow:hidden}.mobile-customize-tab .customize-content{flex:1;max-height:none;overflow-y:auto;overscroll-behavior:contain}.game-controls-mobile #btnBackToLobby{display:none!important}#inviteRow{display:none!important}}@media (min-width:769px){.mobile-game-panel{display:none!important}}:root{--accent-rgb:0,213,255;--cyan:#53e0ff;--xp-particle:#ff2ea8;--danger-rgb:255,93,108;--border:#073369;--glass-bg:rgba(5, 25, 59, 0.55);--glass-modal-bg:rgba(5, 25, 59, 0.8);--glass-border:rgb(3 58 147);--panel-solid-bg:var(--mobile-panel-bg, var(--bg-secondary));--btn-primary-border:rgba(0, 213, 255, 1);--btn-secondary-bg:linear-gradient(135deg, #0a4d92, #07386b);--btn-secondary-border:rgba(10, 77, 146, 1);--player-white:#00d5ff;--player-white-fg:#000;--player-black:#ff2ea8;--player-black-fg:#fff;--font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;--font-family-theme:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5}html.theme-custom-font .card-title,html.theme-custom-font .modal-title,html.theme-custom-font body,html.theme-custom-font h1,html.theme-custom-font h2,html.theme-custom-font h3{font-family:var(--font-family-theme)}*{box-sizing:border-box;margin:0;padding:0}.tab,.tab-button,.tabs{font-family:var(--font-family)}html{background-color:var(--theme-browser)}body{background:var(--bg-secondary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;min-height:100dvh;overflow-x:hidden;position:relative;z-index:0;padding-bottom:0}@media (max-width:768px){body{padding-bottom:0}}body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(var(--gridline) 1px,transparent 1px),linear-gradient(90deg,var(--gridline) 1px,transparent 1px);background-size:32px 32px,32px 32px;background-repeat:repeat;background-position:0 0,0 0;mask-image:radial-gradient(60% 60% at 50% 50%,black 65%,transparent 100%);z-index:-2}:root[data-theme=light] body{background:linear-gradient(135deg,var(--bg-primary,#f0f8ff) 0,var(--bg-secondary,#fff) 100%)!important}@media (prefers-color-scheme:light){body{background:linear-gradient(135deg,var(--bg-primary,#f0f8ff) 0,var(--bg-secondary,#fff) 100%)!important}}body:has(#lobby:not(.hidden))::before{animation-play-state:running}body[data-view-state=lobby]::before,body[data-view-state=start]::before{display:var(--lobby-grid-display,none)}body[data-view-state=game]::before{display:var(--game-grid-display,none)}@media (max-width:768px){body::before,body[data-view-state=game]::before,body[data-view-state=lobby]::before,body[data-view-state=start]::before{display:none!important}}@keyframes diagonalGridScroll{0%{background-position:0 0,0 0}100%{background-position:-32px 32px,-32px 32px}}#staticBackgroundImage{position:fixed;inset:0;pointer-events:none;z-index:-3;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity .5s ease-in-out}body[data-view-state=lobby] #staticBackgroundImage,body[data-view-state=start] #staticBackgroundImage{background-image:var(--bg-lobby-image,none)}body[data-view-state=game] #staticBackgroundImage{background-image:var(--bg-game-image,none)}#staticBackgroundImage.visible{opacity:1}#animatedBackgroundDark{position:fixed;inset:0;pointer-events:none;z-index:-2;display:none;opacity:0;transition:opacity .3s ease-in-out;animation:subtleZoomToUpperThirdRight 20s ease-in-out infinite alternate}#animatedBackgroundDark.active{display:block}[data-theme=dark] body[data-view-state=lobby] #animatedBackgroundDark:not(.inactive),[data-theme=dark] body[data-view-state=start] #animatedBackgroundDark:not(.inactive){display:block}#animatedBackgroundDark .bg-base{position:absolute;inset:0;background-image:url('/img/bg/bg_lobby_dark.webp?v=123');background-size:cover;background-position:right 20%;background-repeat:no-repeat;display:none}#animatedBackgroundDark::before,#animatedBackgroundLight::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(1200px 600px at 120% -10%,rgba(109,139,255,.12),transparent 60%),radial-gradient(900px 500px at -20% 110%,rgba(255,46,168,.12),transparent 60%);mix-blend-mode:screen;opacity:1}#animatedBackgroundDark .bg-lightning{position:absolute;inset:0;background-image:url('/img/bg/bg_lobby_dark_lightning.webp?v=123');background-size:cover;background-position:right 20%;background-repeat:no-repeat;opacity:0;mix-blend-mode:screen;transition:opacity 50ms ease-out}#animatedBackgroundDark .bg-rain-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#animatedBackgroundLight{position:fixed;inset:0;pointer-events:none;z-index:-2;display:none;opacity:0;transition:opacity .3s ease-in-out}#animatedBackgroundLight.active{display:block}[data-theme=light] body[data-view-state=lobby] #animatedBackgroundLight:not(.inactive),[data-theme=light] body[data-view-state=start] #animatedBackgroundLight:not(.inactive){display:block}#animatedBackgroundLight .bg-base{position:absolute;inset:0;background-image:url('/img/bg/bg_lobby_light.webp?v=3');background-size:cover;background-position:right 20%;background-repeat:no-repeat;display:none}#animatedBackgroundLight .bg-sakura{position:absolute;inset:0;pointer-events:none}#animatedBackgroundLight .bg-sakura-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}@media (max-width:768px) and (orientation:portrait){#animatedBackgroundDark,#animatedBackgroundLight{animation:none!important}[data-view-state=lobby] #animatedBackgroundDark .bg-base,[data-view-state=lobby] #animatedBackgroundDark .bg-lightning,[data-view-state=lobby] #animatedBackgroundLight .bg-base{opacity:0!important;transition:opacity .8s ease-out}[data-view-state=lobby] #animatedBackgroundDark,[data-view-state=lobby] #animatedBackgroundLight{background:0 0!important}}@keyframes slideOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-100%)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(25%)}100%{opacity:1;transform:translateY(0)}}body.game-active .header-announcer,body:has(#game:not(.hidden)) .header-announcer{display:none!important;opacity:0!important;animation:none!important}@keyframes fadeInAnnouncer{from{opacity:0}to{opacity:1}}@keyframes scrollRtl{from{transform:translateX(100%)}to{transform:translateX(-100%)}}.header{padding:.5rem .5rem;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;position:fixed;top:0;left:0;right:0;z-index:100;height:2rem}.header-hamburger,.header-sidebar-toggle{flex-shrink:0}.header-announcer{flex:1;min-width:0}.header-right{flex-shrink:0;margin-left:auto}.players-seeking{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--accent);font-weight:500;margin-left:.5rem;opacity:0;animation:fadeInSeeking .25s ease-in-out .15s forwards}.players-seeking i{font-size:.875rem}.players-seeking.hidden{display:none}@keyframes fadeInSeeking{from{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:translateX(0)}}.brand{display:flex;align-items:center;gap:.5rem}.header-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.header-right .player-info{padding-top:.4rem;padding-bottom:.4rem}@media (max-width:768px){.header .lobby-tab-chip-wrapper .new-chip,.header .new-chip,.header-right .new-chip{top:-4px;right:0;z-index:10}.header .lobby-tab-chip-wrapper .new-chip{right:2px}}.header-hamburger{display:none;background:0 0;border:none;color:var(--text-muted);font-size:1rem;padding:.5rem;cursor:pointer;border-radius:4px;transition:background-color .2s}.header-hamburger:hover{background-color:var(--surface-hover);color:var(--text-primary)}.header-sidebar-toggle{display:none;background:var(--surface);border:none;color:var(--text-primary);font-size:1.25rem;padding:.5rem;cursor:pointer;border-radius:4px;transition:background-color .2s}.header-sidebar-toggle:hover{background-color:var(--surface-hover)}.header-logo{display:none}@media (min-width:769px){.header-logo{display:block}.header-logo img{height:28px;width:auto}.header-hamburger{display:none}.header-sidebar-toggle{display:block}}@media (max-width:768px){.header-hamburger{display:none}.header-sidebar-toggle{display:none}.sidebar{width:100%!important;left:0!important;right:0!important;transform:translateX(-100%);border-radius:0;height:100vh;top:0;box-shadow:none}.sidebar.open{transform:translateX(0)}}.sidebar{position:fixed;top:0;left:0;height:100%;width:250px;z-index:1100;transform:translateX(-150%);transition:transform .3s ease;box-shadow:var(--card-glow)}@media (max-width:768px){.sidebar{height:100dvh}}.sidebar.no-transition{transition:none!important}.sidebar.no-transition *{transition:none!important}.sidebar.no-width-transition{transition:transform .3s ease!important}.sidebar-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;z-index:1000;pointer-events:none}.sidebar-panel{position:relative;width:100%;height:100%;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;z-index:1101;border-radius:0;margin:0;overflow-x:hidden;overflow-y:visible}@media (max-width:768px){.sidebar-panel{background:var(--panel-solid-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-right:none!important;border-radius:0!important;margin:0!important;height:100dvh!important;min-height:100dvh!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overflow-scrolling:touch;padding:1rem!important;touch-action:auto!important}}body:has(.start-screen:not(.hidden)) .sidebar-panel{display:none}body:has(.start-screen:not(.hidden)) .sidebar{display:none!important}.sidebar-header{padding:.5rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.sidebar-logo{cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1}.sidebar-logo-img{height:52px;width:160px;background:var(--logo-tint-color,#fff);-webkit-mask:url('/img/chessurai_logo_white.webp') center/contain no-repeat;mask:url('/img/chessurai_logo_white.webp') center/contain no-repeat;display:inline-block}.sidebar-toggle{background:0 0;border:none;color:var(--text-muted);font-size:1rem;padding:.5rem;cursor:pointer;border-radius:4px;transition:background-color .2s}.sidebar-toggle:hover{background-color:var(--surface-hover);color:var(--text-primary)}.sidebar-close{display:none;background:0 0;border:none;color:var(--text-muted);font-size:1rem;padding:.5rem;cursor:pointer;border-radius:4px;transition:background-color .2s}.sidebar-close:hover{background-color:var(--surface-hover);color:var(--text-primary)}@media (max-width:768px){.sidebar-close{display:block}}@media (min-width:769px){.sidebar.open .sidebar-close{display:none}.sidebar.open .sidebar-toggle{display:block}.sidebar.collapsed .sidebar-close{display:none}.sidebar.collapsed .sidebar-toggle{display:block}}.sidebar-nav{padding:1rem}.nav-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem;background:0 0;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;border-radius:0;text-align:left;position:relative;border-left:2px solid transparent;margin-bottom:.25rem}.nav-item:hover{background-color:var(--surface-hover);color:var(--text-primary)}.nav-item.active{background-color:var(--surface-hover);color:var(--text-primary);border-left:2px solid var(--accent)}.nav-item i{width:16px;text-align:center}.nav-item.nav-icon-toggle{border-left:2px solid transparent}.nav-item.nav-icon-toggle:hover{background-color:var(--surface-hover);color:var(--text-primary)}.nav-item.nav-icon-toggle.active{background-color:transparent;border-left:2px solid transparent}.sidebar-section{display:flex;flex-direction:column;min-height:0;flex-shrink:0}.section-header{padding:1rem 1rem .5rem;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none;transition:color .2s ease}.section-header:hover{color:var(--text)}.section-header i{font-size:.75rem}[data-storage-key] .section-header::after{content:'▼';font-size:.9rem;margin-left:auto;transition:transform .2s ease;opacity:.6;line-height:1;display:flex;align-items:center}.section-header .sidebar-badge.customize-badge{margin-left:0;order:0;align-self:center;display:none}.section-header .sidebar-badge.customize-badge.visible{display:inline-flex;align-items:center;justify-content:center}.section-header>span[data-key]{white-space:nowrap;flex:none}[data-storage-key] .section-header.collapsed::after{transform:rotate(-90deg)}[data-storage-key] .section-header:hover::after{opacity:1}.sidebar-section .section-header .game-mode-icon{font-size:1rem;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;text-align:center;flex-shrink:0;line-height:1;vertical-align:middle}.sidebar-section .section-header .fa-users.game-mode-icon{color:var(--mode-public);background:color-mix(in oklab,var(--mode-public) 15%,transparent)}.sidebar-section .section-header .fa-user-friends.game-mode-icon{color:var(--mode-private);background:color-mix(in oklab,var(--mode-private) 15%,transparent)}.sidebar-section .section-header .fa-torii-gate.game-mode-icon{color:var(--mode-trial);background:color-mix(in oklab,var(--mode-trial) 15%,transparent)}.section-count{margin-left:auto;background:var(--surface);color:var(--text-muted);padding:.125rem .375rem;border-radius:10px;font-size:.7rem}.sidebar-list{flex:1;overflow-y:auto;padding:0}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;border-radius:6px;margin-bottom:2px;margin-top:2px;position:relative;border-left:2px solid transparent}.sidebar-item:hover{background-color:var(--surface-hover);border-radius:0}.sidebar-item.active{background-color:var(--surface-hover);color:var(--text-primary);border-left:2px solid var(--accent);border-radius:0}.sidebar-item.active[data-mode=public]{border-left-color:var(--mode-public)}.sidebar-item.active[data-mode=private]{border-left-color:var(--mode-private)}.sidebar-item.active[data-mode=ai]{border-left-color:var(--mode-ai)}.sidebar-item.active[data-mode=training]{border-left-color:var(--mode-training)}.sidebar-item.active[data-mode=trial]{border-left-color:var(--mode-trial)}.sidebar-item-avatar{position:relative;width:32px;height:32px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.5rem;font-weight:600}.sidebar-item.active .sidebar-item-avatar{color:var(--text-primary)}.sidebar-item-avatar .presence-dot{position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-secondary)}.sidebar-item-avatar .message-badge{position:absolute;top:-2px;right:-2px;background-color:var(--accent-invite);color:#fff;width:16px;height:16px;line-height:14px;text-align:center;border-radius:50%;font-size:9px;font-weight:700;border:2px solid var(--bg-secondary);display:flex;align-items:center;justify-content:center;z-index:2}.presence-dot.online{background-color:var(--success)}.presence-dot.away{background-color:#f59e0b}.presence-dot.offline{background-color:var(--text-muted)}.presence-dot.tiny{width:6px;height:6px;border:1px solid var(--bg-secondary)}.sidebar-item-content{flex:1;min-width:0}.sidebar-item-name{font-weight:500;color:var(--text-primary);margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-status{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-actions{opacity:0;transition:opacity .2s}.sidebar-item:hover .sidebar-item-actions{opacity:1}@media (max-width:768px),(hover:none){.sidebar-item-actions{opacity:1!important;display:flex;align-items:center;gap:.5rem;min-width:44px}.sidebar-item-menu{padding:.5rem .6rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.sidebar-item-menu i{font-size:1.05rem}}.sidebar-item-menu{background:0 0;border:none;color:var(--text-muted);padding:.25rem;cursor:pointer;border-radius:3px;transition:all .2s;min-width:20px;min-height:30px}.sidebar-item-menu:hover{background-color:var(--surface);color:var(--text-primary)}.status-badge{display:inline-block;font-size:.65rem;font-weight:600;padding:.125rem .375rem;border-radius:999px;letter-spacing:.025em}.status-badge.online{background-color:rgba(var(--success-rgb,34,197,94),.15);color:var(--success)}.status-badge.away{background-color:rgba(245,158,11,.15);color:#f59e0b}.status-badge.offline{background-color:rgba(120,120,120,.15);color:grey}.status-badge.in-progress{background-color:rgba(var(--success-rgb,34,197,94),.15);color:var(--success)}.status-badge.settled{background-color:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.status-badge.funding{background-color:rgba(var(--warning-rgb,251,191,36),.15);color:var(--warning)}.status-badge.waiting{background-color:rgba(var(--info-rgb,59,130,246),.15);color:var(--info)}.context-menu{background:var(--glass-modal-bg);border:1px solid var(--glass-border);border-radius:8px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px var(--shadow);padding:.25rem;min-width:150px;z-index:2000}.context-item{width:100%;display:block;padding:.5rem .75rem;background:0 0;border:none;color:var(--text-primary);font-size:.875rem;text-align:left;cursor:pointer;border-radius:4px;transition:background-color .15s ease}.context-item:hover{background-color:var(--surface-hover)}.context-item[data-action=block],.context-item[data-action=delete],.context-item[data-action=remove]{color:var(--danger)}.context-item[data-action=block]:hover,.context-item[data-action=delete]:hover,.context-item[data-action=remove]:hover{background-color:rgba(var(--danger-rgb,255,93,108),.1)}.empty-state{padding:0 1rem;text-align:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;align-items:center}.empty-state p{margin-bottom:.5rem}.empty-state small{font-size:.75rem}.empty-state-action{background:0 0;border:none;color:var(--accent);font-size:.875rem;cursor:pointer;text-decoration:underline;padding:.5rem 0;font-weight:500;transition:color .2s ease,opacity .2s ease}.empty-state-action:hover{opacity:.8;color:var(--accent-light,var(--accent))}.empty-state-action:active{opacity:.6}@media (max-width:768px){body.sidebar-open .main-content{margin-left:0}body.sidebar-open .header-announcer{margin-left:0}body.sidebar-collapsed .main-content{margin-left:0}body.sidebar-collapsed .header-announcer{margin-left:0}}@media (min-width:769px){body.sidebar-open .main-content{margin-left:275px;transition:margin-left .3s ease}body.sidebar-open .header-announcer{margin-left:275px;transition:margin-left .3s ease}body.sidebar-collapsed .main-content{margin-left:75px;transition:margin-left .3s ease}body.sidebar-collapsed .header-announcer{margin-left:75px;transition:margin-left .3s ease}}.sidebar.collapsed{width:50px}.sidebar.collapsed .empty-state,.sidebar.collapsed .nav-item span,.sidebar.collapsed .section-count,.sidebar.collapsed .section-header span,.sidebar.collapsed .sidebar-item-actions,.sidebar.collapsed .sidebar-item-content,.sidebar.collapsed .sidebar-logo{display:none}.sidebar.collapsed .sidebar-nav{padding:.75rem .125rem}.sidebar.collapsed .sidebar-header{padding:.75rem .125rem;justify-content:space-evenly}.sidebar.collapsed .nav-item{justify-content:center;padding:0;margin:0 auto .25rem auto;border:none;background:0 0;cursor:pointer;border-radius:50%;position:relative;display:flex;align-items:center;width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0}.sidebar.collapsed .nav-item i{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;margin:0;font-size:1rem;border-radius:50%;background:0 0;color:var(--text-muted);flex-shrink:0;transition:all .15s ease}.sidebar.collapsed .nav-item:hover{background:var(--surface-hover)}.sidebar.collapsed .nav-item:hover i{color:var(--text-primary)}.sidebar.collapsed .nav-item.active{border:2px solid var(--accent);background-color:var(--surface-hover)}.sidebar.collapsed .nav-item.active i{color:var(--text-primary);border:1px solid var(--accent);background-color:var(--surface-hover)}.sidebar.collapsed .nav-item.nav-icon-toggle.active{background-color:transparent;border-left:none}.sidebar.collapsed .nav-item.nav-icon-toggle.active i{color:var(--text-muted)}.sidebar.collapsed .sidebar-item{justify-content:center;padding:0;margin:0 auto .25rem auto;display:flex;align-items:center;width:40px;height:40px;min-width:40px;min-height:40px;flex-shrink:0;cursor:pointer;border-radius:50%;border:2px solid transparent}.sidebar.collapsed .sidebar-item:hover{border-color:var(--accent);background-color:var(--surface-hover)}.sidebar.collapsed .sidebar-item.active{border:2px solid var(--accent);background-color:var(--surface-hover)}.sidebar.collapsed .sidebar-item-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0;margin:0;font-size:1.5rem;font-weight:600}.sidebar.collapsed .sidebar-item-avatar span{font-size:1.5rem}.sidebar.collapsed .section-header{display:none}.sidebar.collapsed .sidebar-list{padding:.25rem .125rem}.sidebar.collapsed .site-footer{display:flex;align-items:center;justify-content:center;padding:6px 0}.sidebar.collapsed .site-footer .footer-link-text{display:none}.sidebar.collapsed .site-footer .footer-copy{display:none}.sidebar.collapsed .site-footer .footer-links .footer-link:nth-child(2),.sidebar.collapsed .site-footer .footer-links .footer-link:nth-child(3){display:none}.sidebar.collapsed .site-footer .footer-links .footer-link:first-child{padding:4px;margin:0 auto}.sidebar.collapsed .site-footer .footer-links{justify-content:center}.sidebar.collapsed .sidebar-combined{margin-right:0;padding-right:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:none;-ms-overflow-style:none}.sidebar.collapsed .sidebar-combined::-webkit-scrollbar{display:none}.sidebar.collapsed .sidebar-combined::-webkit-scrollbar{width:4px}.sidebar.collapsed .sidebar-combined::-webkit-scrollbar-track{background:0 0}.sidebar.collapsed .sidebar-combined::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:3px;border:none}.sidebar.collapsed .sidebar-combined::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.sidebar-list::-webkit-scrollbar{width:4px}.sidebar-list::-webkit-scrollbar-track{background:0 0}.sidebar-list::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:3px;border:none}.sidebar-list::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.sidebar.open{transform:translateX(0)}@media (min-width:769px){.sidebar{transform:translateX(-150%)}}@media (max-width:768px){.sidebar:not(.open){transform:translateX(-110%)}.sidebar.open{transform:translateX(0);width:100%!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.sidebar-list{padding:0}body.game-view.startscreen-ready.sidebar-open:not(.sidebar-collapsed){overflow:hidden}body:has(.modal:not(.hidden)){overflow:hidden}@media (max-width:768px){.sidebar.open{overflow:hidden}body:has(.sidebar.open){overflow:hidden}}body.sidebar-open:not(.sidebar-collapsed) .sidebar-overlay{opacity:1;visibility:visible;pointer-events:auto}body.game-view .sidebar-close{display:block}.sidebar-panel{border-radius:0!important;margin:0!important;height:100%}}.container{max-width:1400px;margin:0 auto;padding:.2rem 2rem 2rem}@media (min-width:769px){.container{height:100vh;overflow-y:auto;overflow-x:hidden}}@media (max-width:768px){.container{min-height:calc(100vh - 58px);overflow:visible}}@media (min-width:769px){body.lobby-visible,body:has(#lobby:not(.hidden)){overflow-y:hidden}}@media (min-width:769px){body.game-active,body:has(#game:not(.hidden)){overflow:hidden;touch-action:none}}body.lobby-visible .container,body:has(#lobby:not(.hidden)) .container{padding-right:.5rem;padding-left:.5rem}@media (min-width:769px){body.lobby-visible .container,body:has(#lobby:not(.hidden)) .container{padding-right:0!important}}@media (min-width:769px){.container{padding-right:16px}}@media (min-width:769px){html.desktop-zoom{zoom:0.8}@supports not (zoom:1){html.desktop-zoom body{transform:scale(.8);transform-origin:top center;width:125%}@media (min-width:769px){html.desktop-zoom #webrtc-container,html.desktop-zoom .chat-container,html.desktop-zoom .comm-controls,html.desktop-zoom .header{position:relative;z-index:2000}}}}@media (max-width:768px){.container{padding-top:0}.container>:first-child{margin-top:1rem!important;padding-top:0!important}}.container>:first-child{margin-top:0;padding-top:0}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;padding:1rem;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);box-shadow:var(--card-glow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;position:relative;max-height:45rem;overflow:auto}.card:hover{transform:translateY(-2px);box-shadow:0 16px 56px rgba(13,76,255,.22);border-color:color-mix(in oklab,var(--accent) 30%,var(--border))}.lobby-grid .card{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%)}.lobby-grid{display:grid;grid-template-columns:1fr;gap:0;max-width:500px;margin:58px auto 0}@media (min-width:769px){.lobby-grid{margin:58px 0 0 0}}@media (max-width:768px){.lobby-grid{grid-template-columns:1fr;margin-bottom:4rem}}@media (min-width:768px){.lobby-grid{align-items:stretch}.lobby-grid>.card{display:flex;flex-direction:column;min-height:0}.lobby-grid>.card #leaderboard{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.lobby-grid>.card:has(#leaderboard){contain:size;overflow:hidden}}.right-sidebar.sidebar-initializing .sidebar-content{visibility:hidden}.right-sidebar.no-communication{padding-bottom:0}.sidebar-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;padding:0 .5rem}.right-sidebar.no-communication .sidebar-content{padding-bottom:1rem}.sidebar-section.communication-rail{order:-1}@media (min-width:769px){.sidebar-section.communication-rail{order:10}.sidebar-section[data-storage-key=statsCollapsed]{order:11}}.sidebar-section.communication-rail.hidden-for-ai{display:none!important}.sidebar-section.communication-rail.hidden-for-ai+.sidebar-section::before{display:none!important}.webrtc-menu{display:flex;align-items:center;gap:.25rem}.webrtc-btn{width:44px!important;height:44px!important;border-radius:50%!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1rem!important;border:none!important;background:var(--accent)!important;color:var(--btn-fg)!important;cursor:pointer!important;transition:all .2s ease!important;box-shadow:0 4px 12px var(--btn-shadow)!important;flex-shrink:0!important}.webrtc-btn:hover{background:var(--accent-hover)!important;transform:translateY(-1px)!important;box-shadow:0 6px 16px var(--btn-shadow)!important}.webrtc-btn:active{transform:translateY(0)!important}#hangup-call{background:var(--accent2)!important}#hangup-call:hover{background:color-mix(in oklab,var(--accent2) 80%,#000)!important}.chat-container-rail #send-chat{width:44px;height:44px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;font-size:1rem;background:var(--accent);color:var(--btn-fg);border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px var(--btn-shadow);flex-shrink:0}.chat-container-rail #send-chat:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px var(--btn-shadow)}.chat-container-rail #send-chat:active{transform:translateY(0)}#call-voice{display:none!important}.chat-container-rail{display:flex;flex-direction:column;max-height:300px;background:0 0;border:none;border-radius:0;box-shadow:none}.chat-container-rail .chat-messages{flex:1;padding:.75rem 1rem;overflow-y:auto;max-height:200px;display:flex;flex-direction:column;gap:.5rem}@media (max-width:768px){.chat-container-rail .chat-messages{padding:.75rem 0;flex-wrap:wrap;flex-direction:row;max-height:90px}}.chat-container-rail .chat-input-container{padding:0;border-top:none;display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:30px;padding:.5rem;transition:border-color .2s ease}.chat-container-rail .chat-input-container:focus-within{border-color:var(--accent)}.chat-container-rail .chat-input-container #chat-input{flex:1;background:0 0;border:none;padding:.75rem .5rem;color:var(--text-primary);font-size:.95rem;min-width:0}.chat-container-rail .chat-input-container #chat-input:focus{outline:0}.chat-container-rail .chat-input-container #chat-input::placeholder{color:var(--text-muted);font-size:.95rem}.video-panel{background:0 0;border:none;padding:0;margin:0}.webrtc-container-rail{display:flex;flex-direction:row;gap:.75rem;flex-wrap:nowrap;padding:0;margin:0;background:0 0}.video-local,.video-remote{flex:1;min-width:80px;border-radius:8px;border:2px solid var(--border);background:var(--bg-primary)}.video-local{height:120px;border-color:var(--accent)}.video-remote{height:160px}button#reject-call{background:var(--accent2);width:70px;height:70px}button#accept-call{background:var(--accent);width:70px;height:70px}i.fas.fa-video-slash{color:var(--btn-fg)}i.fas.fa-video{color:var(--btn-fg)}@media (max-width:768px){.chat-container-rail{max-height:250px}}.game-controls-mobile{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0;width:100%}.game-controls-mobile .btn{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;height:auto;width:auto;min-width:0;flex:none;box-shadow:none;font-size:.6875rem;text-transform:uppercase;white-space:nowrap}.game-controls-mobile .btn:hover:not(:disabled){filter:brightness(1.1)}.game-controls-mobile .btn:disabled{opacity:.4;cursor:not-allowed}.game-controls-mobile .btn i{font-size:1.125rem;flex-shrink:0}.game-controls-mobile .btn span{font-size:.6875rem;text-transform:uppercase;white-space:nowrap;display:block}.game-controls-mobile .btn .coin-icon{width:11px;height:11px;margin:0;flex-shrink:0}.game-controls-mobile .btn .coin-group{display:inline-flex;align-items:center;gap:0}.game-controls-mobile .btn-danger{color:var(--accent2)}.game-controls-mobile .btn-primary{color:var(--accent)}@media (min-width:769px){.game-controls-mobile{grid-template-columns:repeat(2,1fr)}.game-controls{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.game-controls .btn{flex:1;min-width:120px}}#btnHint.hint-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.5}#btnHint.hint-btn:disabled:hover{transform:none;box-shadow:none}#btnHint.hint-btn .coin-icon{width:1rem;height:1rem;display:inline-block;vertical-align:middle;margin:0 .25rem}#btnUndo.undo-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.5}#btnUndo.undo-btn:disabled:hover{transform:none;box-shadow:none}#btnUndo.undo-btn .coin-icon{width:1rem;height:1rem;display:inline-block;vertical-align:middle;margin:0 .25rem}#btnCoach.coach-btn:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.5}#btnCoach.coach-btn:disabled:hover{transform:none;box-shadow:none}#btnCoach.coach-btn .coin-icon{width:1rem;height:1rem;display:inline-block;vertical-align:middle;margin:0 .25rem}#btnCoach.coach-btn.coach-active{background:color-mix(in srgb,var(--accent) 25%,rgba(13,18,32,.9))!important;border-color:var(--accent)!important;box-shadow:0 0 12px rgba(16,185,129,.4),0 2px 6px rgba(0,0,0,.3)!important}#btnCoach.coach-btn.coach-active:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 30%,rgba(20,30,50,.95))!important;box-shadow:0 0 16px var(--accent),0 4px 12px rgba(0,0,0,.25)!important}#btnHint.hint-active{background:color-mix(in srgb,var(--accent) 25%,rgba(13,18,32,.9))!important;border-color:var(--accent)!important;box-shadow:0 0 12px rgba(16,185,129,.4),0 2px 6px rgba(0,0,0,.3)!important}#btnHint.hint-active:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 30%,rgba(20,30,50,.95))!important;box-shadow:0 0 16px var(--accent),0 4px 12px rgba(0,0,0,.25)!important}.chat-message.coach-button-message{background:var(--mode-private)!important;color:#000!important;padding:.75rem 1rem!important;border-radius:8px!important}@media (max-width:768px){.game-controls{display:none}}@media (max-width:768px){.game-controls-mobile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding-top:.75rem;justify-items:stretch;align-items:stretch}.game-controls-mobile .btn{width:100%;justify-content:center}}.desktop-tabs-container{display:none}@media (min-width:769px){.desktop-tabs-container{display:flex;flex-direction:column;height:100%}}.desktop-tabs-top{flex:1;display:flex;flex-direction:column}.desktop-tabs-bottom{height:300px;border-top:1px solid var(--border)}.tab-header{display:flex;border-bottom:1px solid var(--border)}.tab-button{padding:.75rem 1rem;background:0 0;border:none;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;font-size:.875rem;font-weight:500;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.tab-button:hover{color:var(--text-primary);background:var(--glass-bg)}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--glass-bg)}#settingsModal .tab-header{justify-content:center;gap:.5rem;margin-bottom:1rem}.tab-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.tab-panel{display:none;flex:1;overflow-y:auto;padding:1rem}.tab-panel.active{display:flex;flex-direction:column}.panel{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%)}.panel-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.spinner{width:32px;height:32px;border:3px solid var(--surface);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:1rem auto}@keyframes spin{to{transform:rotate(360deg)}}.private-only{transition:opacity .3s ease}.private-only.hidden-for-public{opacity:.3;pointer-events:none}.player-info{display:grid;grid-template-columns:40px 1fr auto;gap:.75rem;align-items:center;padding:.45rem .9rem;background:var(--surface)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:45px!important;position:relative;overflow:visible}.player-info i.fas.fa-user{font-size:1rem;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:0 0}.lb-row{display:grid;grid-template-columns:28px 1fr auto;gap:.5rem;align-items:center;padding:.35rem .5rem;border-radius:8px;contain:layout style;will-change:transform,opacity}.rank-ring-wrap{position:relative;width:36px;height:36px;display:inline-block}.player-ring{position:absolute;left:0;top:0;width:36px;height:36px;transform:rotate(0);pointer-events:none;z-index:0}.player-ring .ring-bg{fill:none;stroke:var(--border);stroke-width:3}.player-ring .ring-progress{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .6s ease;stroke-dasharray:100;stroke-dashoffset:100}.rank-inner{position:absolute;left:0;top:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;z-index:1;color:var(--accent);font-weight:600}.rank-inner i.fas{font-size:14px;color:inherit}.player-info-chip{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--surface);border-radius:45px;height:auto;min-height:2.5rem;font-size:.85rem;cursor:default;position:relative}#playerInfoChip{cursor:pointer}.header-right #playerInfoChip{margin-left:auto}.header #headerPlayerDock{width:100%}.header #playerInfoChip{width:100%;margin:0 auto}@media (max-width:768px){.header #headerPlayerDock{max-width:500px;margin:0 auto}}@media (min-width:769px){body.sidebar-open .header #headerPlayerDock{margin-left:275px;transition:margin-left .3s ease}body.sidebar-collapsed .header #headerPlayerDock{margin-left:75px;transition:margin-left .3s ease}}#opponentInfoChip{cursor:default}.chip-content{display:flex;align-items:center;gap:1rem;flex:1;min-width:0;width:100%;position:relative}.chip-left-section{display:flex;align-items:center;gap:.5rem;flex-shrink:1;position:relative;min-width:0;overflow:hidden}.chip-top-row{display:flex;align-items:center;gap:.5rem}.chip-right-section{display:flex;align-items:center;gap:.75rem;margin-left:auto}.chip-name{color:var(--text-primary);font-weight:500;white-space:nowrap;font-size:.9rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;max-width:200px}.chip-level-group{display:flex;align-items:center;gap:.25rem;flex-shrink:0;position:relative;cursor:pointer}.chip-level-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase}.chip-level-number{color:var(--accent);font-weight:700;font-size:.95rem;width:1.2rem;text-align:center}.chip-achievements-group,.chip-coins-group,.chip-streak-group,.chip-xp-group{display:flex;align-items:center;gap:.3rem;flex-shrink:0;position:relative;overflow:visible;cursor:pointer}.chip-streak-group{gap:.2rem}.chip-streak-icon{font-size:14px;color:#f59e0b;animation:flame 2s ease-in-out infinite}.chip-streak-number{color:var(--text-secondary);font-weight:600;white-space:nowrap;min-width:1rem;font-size:.85rem}.chip-achievements-group{gap:.2rem}.chip-achievement-icon{font-size:14px;color:#fbbf24}.chip-achievement-count{color:var(--text-secondary);font-weight:600;white-space:nowrap;font-size:.85rem}.chip-coins-group .chip-boost-label,.chip-xp-group .chip-boost-label{display:none;font-weight:700;font-size:.85rem;line-height:1;align-self:center;text-transform:uppercase;margin-right:0}.chip-xp-group .chip-boost-label{color:#a855f7}.chip-coins-group .chip-boost-label{color:#f59e0b}.chip-xp-group.boosted{background:linear-gradient(135deg,rgba(168,85,247,.2),rgba(139,92,246,.15));border-radius:10px;padding:.15rem .35rem;border:1px solid rgba(168,85,247,.3);animation:pulse-boost-xp 1.5s ease-in-out infinite}.chip-coins-group.boosted{background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(217,119,6,.15));border-radius:10px;padding:.15rem .35rem;border:1px solid rgba(245,158,11,.3);animation:pulse-boost-coins 1.5s ease-in-out infinite}.chip-coins-group.boosted .chip-boost-label,.chip-xp-group.boosted .chip-boost-label{display:inline}@keyframes pulse-boost-xp{0%,100%{border-color:rgba(168,85,247,.3);box-shadow:0 0 4px rgba(168,85,247,.1)}50%{border-color:rgba(168,85,247,.6);box-shadow:0 0 8px rgba(168,85,247,.3)}}@keyframes pulse-boost-coins{0%,100%{border-color:rgba(245,158,11,.3);box-shadow:0 0 4px rgba(245,158,11,.1)}50%{border-color:rgba(245,158,11,.6);box-shadow:0 0 8px rgba(245,158,11,.3)}}@keyframes flame{0%,100%{transform:scale(1) rotate(-5deg)}50%{transform:scale(1.1) rotate(5deg)}}.chip-achievements-group.chip-group-shine,.chip-coins-group.chip-group-shine,.chip-streak-group.chip-group-shine,.chip-xp-group.chip-group-shine{overflow:hidden;position:relative;border-radius:12px}.chip-achievements-group.chip-group-shine::after,.chip-coins-group.chip-group-shine::after,.chip-streak-group.chip-group-shine::after,.chip-xp-group.chip-group-shine::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 0,transparent 20%,rgba(255,255,255,.6) 45%,rgba(255,255,255,.8) 50%,rgba(255,255,255,.6) 55%,transparent 80%,transparent 100%);animation:chip-group-shine-sweep .6s ease-out forwards;pointer-events:none;z-index:10}@keyframes chip-group-shine-sweep{0%{transform:translateX(-100%);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(100%);opacity:0}}.chip-icon{width:14px;height:14px;position:relative;transition:transform .4s cubic-bezier(.175, .885, .32, 1.275)}.chip-icon.xp-particle-hit{animation:chip-icon-pulse .4s cubic-bezier(.175,.885,.32,1.275)}.chip-icon.coin-particle-hit{animation:chip-icon-pulse .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes chip-icon-pulse{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}.chip-gift-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin-left:6px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:50%;cursor:pointer;position:relative;transition:all .3s ease;box-shadow:0 2px 8px rgba(16,185,129,.3);overflow:hidden}.chip-gift-btn:hover{transform:scale(1.1);box-shadow:0 4px 16px rgba(16,185,129,.5);border-color:rgba(16,185,129,.9)}.chip-gift-btn:active{transform:scale(.95)}.chip-gift-btn i{font-size:14px;color:#fff;z-index:1}.chip-gift-btn::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);transform:rotate(25deg);pointer-events:none;opacity:0}.chip-gift-btn:not(.claimed)::after{animation:chip-gift-shine 3s linear infinite;opacity:1}@keyframes chip-gift-shine{0%{transform:translateX(-100%) rotate(25deg)}100%{transform:translateX(100%) rotate(25deg)}}.gift-pulse{display:none}.chip-gift-btn.claimed{background:linear-gradient(135deg,#374151,#4b5563);border-color:rgba(75,85,99,.6);cursor:default;box-shadow:none}.chip-gift-btn.claimed:hover{transform:none;box-shadow:none}.chip-gift-btn.claimed .gift-pulse{display:none}.chip-gift-btn.claimed i{color:rgba(255,255,255,.5)}.chip-coins-number,.chip-xp-number{color:var(--text-secondary);font-weight:600;white-space:nowrap;min-width:0}.chip-timer-text{font-family:Consolas,Monaco,'Lucida Console',monospace;font-size:.75rem;font-weight:600;color:var(--text-secondary);flex-shrink:0;white-space:nowrap}@keyframes timerPulse{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}.chip-timer-text.timer-pulse{animation:timerPulse 240ms ease 1;transform-origin:center;will-change:transform}.chip-progress-bar{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:35px;height:2px;background:var(--surface-hover);border-radius:999px;overflow:hidden}.progress-fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));width:0%;transition:width .6s ease}.player-info-chip.white-player{border-color:color-mix(in oklab,var(--player-white) 20%,var(--border))}.player-info-chip.black-player{border-color:color-mix(in oklab,var(--player-black) 20%,var(--border))}.player-info-chip.white-player .chip-level-number{color:var(--color-white)}.player-info-chip.black-player .chip-level-number{color:var(--color-black)}.player-info-chip.white-player .chip-name{color:var(--color-white)}.player-info-chip.black-player .chip-name{color:var(--color-black)}:root[data-theme-id=yellow] .player-info-chip.white-player .chip-level-number,:root[data-theme-id=yellow] .player-info-chip.white-player .chip-name{color:var(--player-white-fg)}:root[data-theme-id=yellow] .player-info-chip.black-player .chip-level-number,:root[data-theme-id=yellow] .player-info-chip.black-player .chip-name{color:var(--player-black-fg)}:root[data-theme=light] .player-info-chip.white-player{background:#fff;border-color:#000}:root[data-theme=light] .player-info-chip.black-player{background:#000;border-color:#000;color:#fff}:root[data-theme=light] .player-info-chip.black-player .chip-achievement-count,:root[data-theme=light] .player-info-chip.black-player .chip-coins-number,:root[data-theme=light] .player-info-chip.black-player .chip-level-label,:root[data-theme=light] .player-info-chip.black-player .chip-level-number,:root[data-theme=light] .player-info-chip.black-player .chip-name,:root[data-theme=light] .player-info-chip.black-player .chip-streak-number,:root[data-theme=light] .player-info-chip.black-player .chip-timer-text,:root[data-theme=light] .player-info-chip.black-player .chip-xp-number{color:#fff}:root[data-theme=light] .player-info-chip.white-player .chip-level-number{color:#000}:root[data-theme=light] .player-info-chip.white-player .chip-name{color:#000}:root[data-theme=light] .player-info-chip.white-player .chip-level-label{color:#000}.player-info-chip.white-player .chip-progress-bar .progress-fill{background:var(--color-white)}.player-info-chip.black-player .chip-progress-bar .progress-fill{background:var(--color-black)}:root:not([data-theme=light]) .player-info-chip.white-player .chip-progress-bar{background:color-mix(in oklab,var(--color-white) 18%,var(--surface-hover))}:root:not([data-theme=light]) .player-info-chip.black-player .chip-progress-bar{background:color-mix(in oklab,var(--color-black) 18%,var(--surface-hover))}:root[data-theme=light] .player-info-chip.black-player .chip-level-label{color:#fff}.chip-dock{width:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.chip-dock>.player-info-chip{pointer-events:auto}.opponent-dock{margin-bottom:12px}.player-dock{margin-top:12px}@media (max-width:768px){.opponent-dock{margin-bottom:0}.player-dock{margin-top:0}}@media (min-width:769px){.chip-dock>.player-info-chip{width:auto;max-width:none;margin:0 auto}}@media (max-width:768px){.player-dock>.player-info-chip{width:calc(100% - 1rem);max-width:none;margin:0 .5rem}#opponentInfoChip,.header #opponentInfoChip,.opponent-dock>.player-info-chip{width:calc(100% - 1rem);max-width:none;margin:0 .5rem}.board-container{aspect-ratio:auto!important;overflow:visible!important}}@keyframes chip-xp-hit{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}@keyframes level-attention{0%{transform:scale(1.15)}100%{transform:scale(1)}}.player-info-chip.xp-particle-hit{animation:chip-xp-hit .4s cubic-bezier(.175,.885,.32,1.275)}.chip-level-number.xp-attention{animation:level-attention .6s ease-out}.player-info.white-player .player-ring .ring-progress{stroke:var(--accent)}.player-info.white-player .rank-inner{color:var(--accent)}.player-info.black-player .player-ring .ring-progress{stroke:var(--accent2)}.player-info.black-player .rank-inner{color:var(--accent2)}.player-info.white-player .lb-name{color:var(--accent)!important}.player-info.black-player .lb-name{color:var(--accent2)!important}#game .player-info.spectator .player-ring .ring-progress{stroke:rgba(142,154,174,0.6)}#game .player-info.spectator .rank-inner{color:var(--text-muted)}#game .player-info.spectator .lb-name{color:var(--text-muted)!important}body.game-active .player-info-chip.white-player,body:has(#game:not(.hidden)) .player-info-chip.white-player{border:none!important;background:color-mix(in oklab,var(--accent) 6%,var(--surface))}body.game-active .player-info-chip.black-player,body:has(#game:not(.hidden)) .player-info-chip.black-player{border:none!important;background:color-mix(in oklab,var(--accent2) 6%,var(--surface))}:root[data-theme-id=yellow] body.game-active .player-info-chip.white-player,:root[data-theme-id=yellow] body:has(#game:not(.hidden)) .player-info-chip.white-player{border:none!important;background:color-mix(in oklab,var(--accent2) 6%,var(--surface))!important}:root[data-theme-id=yellow] body.game-active .player-info-chip.black-player,:root[data-theme-id=yellow] body:has(#game:not(.hidden)) .player-info-chip.black-player{border:none!important;background:color-mix(in oklab,var(--accent) 6%,var(--surface))!important}:root[data-theme=light] body.game-active .player-info-chip.black-player,:root[data-theme=light] body:has(#game:not(.hidden)) .player-info-chip.black-player{background:#000!important;color:#fff!important;border:none!important}:root[data-theme=light] #game .player-info.spectator .player-ring .ring-progress{stroke:rgba(80,92,112,0.9)!important}:root[data-theme=light] #game .player-info.spectator .rank-inner{color:rgba(80,92,112,.9)!important}:root[data-theme=light] #game .player-info.spectator .lb-name{color:rgba(80,92,112,.9)!important}:root[data-theme=light] .player-info.white-player .player-ring .ring-progress{stroke:#000000}:root[data-theme=light] .player-info.white-player .rank-inner{color:#fff}:root[data-theme=light] .player-info.black-player .player-ring .ring-progress{stroke:#fff}:root[data-theme=light] .player-info.white-player{background:#fff!important}:root[data-theme=light] .player-info.black-player{background:#000!important;color:#fff}:root[data-theme=light] .player-info.black-player .rank-inner{color:#fff!important}:root[data-theme=light] .player-info.black-player .lb-name{color:#fff!important}:root[data-theme=light] .player-info.black-player .player-daily-xp{color:#fff!important}:root[data-theme=light] .player-info.black-player .level-inner{color:#fff!important}:root[data-theme=light] .player-info.black-player .player-ring .ring-progress{stroke:#000000!important}.player-coins{display:flex;align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);padding:2px 6px;border-radius:12px;background:color-mix(in oklab,var(--accent) 8%,transparent);transition:all .2s ease}.player-coins img{width:16px;height:16px;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, .2))}.player-coins:hover{background:color-mix(in oklab,var(--accent) 12%,transparent)}@keyframes coinPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}.player-coins.coin-update{animation:coinPulse .4s ease}.player-coins.coin-shine{position:relative;overflow:hidden}.player-coins.coin-shine::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(90deg,transparent 0,transparent 40%,rgba(255,215,0,.6) 50%,transparent 60%,transparent 100%);animation:coinShine .8s ease-out;pointer-events:none}@keyframes coinShine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg);opacity:0}50%{opacity:1}100%{transform:translateX(100%) translateY(100%) rotate(45deg);opacity:0}}.player-xp{display:flex;align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;color:var(--text-secondary);padding:2px 6px;border-radius:12px;background:color-mix(in oklab,var(--accent) 8%,transparent);transition:all .2s ease}.player-xp img{width:16px;height:16px;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, .2))}.player-xp:hover{background:color-mix(in oklab,var(--accent) 12%,transparent)}@keyframes xpPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}.player-xp.xp-update{animation:xpPulse .4s ease}.player-xp.xp-shine{position:relative;overflow:hidden}.player-xp.xp-shine::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(90deg,transparent 0,transparent 40%,rgba(255,215,0,.6) 50%,transparent 60%,transparent 100%);animation:xpShine .8s ease-out;pointer-events:none}@keyframes xpShine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg);opacity:0}50%{opacity:1}100%{transform:translateX(100%) translateY(100%) rotate(45deg);opacity:0}}.icon-chip{width:40px;height:40px;border:1px solid var(--border);background:var(--surface);box-shadow:none;border-radius:50%}.icon-chip i{font-size:1rem;color:var(--text-primary)}.section-title{font-size:1rem;font-weight:600;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}@media (max-width:768px){.section-title{margin-bottom:1rem}}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-input{width:100%;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.form-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}:root[data-theme=light] .form-input:focus{border-color:#000;box-shadow:0 0 0 3px rgba(0,0,0,.12)}.option-group{display:flex;flex-direction:column;gap:.75rem}.option-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--surface);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative}.sidebar-combined{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.sidebar-combined .sidebar-section{flex:0 0 auto;overflow:visible}.sidebar-combined>.sidebar-section>.empty-state,.sidebar-combined>.sidebar-section>.sidebar-list{max-height:none;overflow:visible}.sidebar-combined-scroller{overflow-y:visible;-webkit-overflow-scrolling:touch;padding-right:0}.option-item:hover{background:var(--surface-hover);border-color:color-mix(in oklab,var(--accent) 50%,var(--border));transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.option-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--checkbox-accent)}.option-item input[type=radio]{width:20px;height:20px;accent-color:var(--radio-accent);margin-right:.25rem}.option-item:has(input[type=radio]:checked){background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 15%,var(--surface)),var(--surface));border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 30%,transparent)}.option-item:has(input[type=radio]:checked):hover{transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in oklab,var(--accent) 25%,transparent)}:root[data-theme=light] .option-item:has(input[type=radio]:checked){background:var(--surface);border-color:var(--text-primary);box-shadow:0 0 0 1px color-mix(in oklab,var(--text-primary) 20%,transparent)}:root[data-theme=light] .option-item:has(input[type=radio]:checked):hover{box-shadow:0 4px 16px color-mix(in oklab,var(--text-primary) 15%,transparent)}.game-mode-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.game-mode-title{font-weight:300;color:var(--text-primary);font-size:1.5rem}.game-mode-description{font-size:.75rem;color:var(--text-muted);line-height:1.3}.game-mode-option.selected{background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 15%,var(--surface)),var(--surface));border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 30%,transparent)}:root[data-theme=light] .game-mode-option.selected{background:var(--surface);border-color:var(--text-primary);box-shadow:0 0 0 1px color-mix(in oklab,var(--text-primary) 20%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;text-decoration:none;min-height:44px}.btn-primary{background-color:var(--accent);color:var(--btn-fg,#fff);box-shadow:0 6px 18px var(--btn-shadow,rgba(37,99,235,.18));transition:background-color 180ms ease,color 160ms ease,box-shadow 160ms ease,border-color 160ms ease,transform 120ms ease;will-change:transform,background-color,box-shadow}.btn-primary:hover{background-color:color-mix(in oklab,var(--accent,#2563eb) 82%,#fff 18%);color:var(--btn-fg,#fff);transform:translateY(-1px);box-shadow:0 8px 20px var(--btn-shadow);border-color:color-mix(in oklab,var(--accent,#2563eb) 86%,#fff 14%)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--text-primary);border:1px solid var(--btn-secondary-border)}.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 8px 20px var(--btn-shadow)}:root[data-theme=light] .btn-secondary:hover{box-shadow:none!important}:root:not([data-theme=light]) .btn-secondary:hover{transform:translateY(-1px);box-shadow:0 8px 22px var(--btn-secondary-shadow,rgba(37,99,235,.35))}.btn-success{background:var(--btn-success-bg);color:var(--btn-fg);box-shadow:0 4px 12px var(--btn-shadow)}.btn-success:hover{transform:translateY(-1px);box-shadow:0 8px 20px var(--btn-shadow)}.btn-danger{background:var(--btn-danger-bg);color:var(--btn-danger-fg,#fff)}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 8px 20px var(--btn-shadow)}:root[data-theme=light] .btn-danger:hover{box-shadow:none!important}:root:not([data-theme=light]) .btn-danger:hover{transform:translateY(-1px);box-shadow:0 8px 22px var(--btn-danger-shadow,rgba(255,46,168,.35))}.btn-group{display:flex;gap:.75rem;flex-wrap:wrap}.btn-full{width:100%}.btn{position:relative;z-index:1}.btn:hover{z-index:2}.modal-content{padding:2rem;margin:1rem}.settings-row{margin:.25rem 0}.game-controls{padding:.5rem;margin:.5rem 0}.slider-group{display:flex;align-items:center;gap:1rem}.slider{flex:1;height:6px;background:var(--slider-track-bg);border-radius:3px;outline:0;appearance:none}.slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;background:var(--slider-thumb-bg);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px var(--glow)}.slider-value{min-width:2rem;text-align:center;font-weight:600;color:var(--accent)}:root[data-theme=light] .slider-value{color:var(--accent2)}.time-control-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.time-control-btn{padding:.5rem 1rem;background:var(--surface);border:none!important;border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;min-width:60px}.time-control-btn:hover{background:var(--surface-hover)}.time-control-btn.active{background:var(--accent);color:var(--btn-fg)}.color-choice-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.color-choice-buttons.disabled{opacity:.5;pointer-events:none}.color-choice-btn{padding:.5rem 1rem;background:var(--surface);border:none!important;border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.75rem;font-weight:500;min-width:72px}.color-choice-btn:hover{background:var(--surface-hover);border-color:var(--accent)}.color-choice-btn.active{background:var(--accent);color:var(--btn-fg);border-color:var(--accent)}.btn-circle{border-radius:50%!important;width:48px;height:48px;padding:0;flex-shrink:0;border:1px solid var(--border);background:var(--surface)}.btn-circle i{color:var(--text-primary);font-size:1.2rem}.btn-circle.btn-danger i{color:var(--btn-danger-fg)!important}.btn-circle.btn-success i{color:var(--btn-success-fg)!important}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.settings-row-text{display:flex;flex-direction:column;padding:.75rem 1rem}.settings-row-title{font-weight:600;color:var(--text-primary)}.settings-row-sub{font-size:.875rem;color:var(--text-muted)}.nano-toggle-container.bare{padding:0;margin:0;background:0 0;border:none;border-radius:0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;min-height:44px;flex:1 1 auto;width:100%}.nano-toggle-container.bare{border-radius:12px;overflow:hidden}.nano-toggle-container.bare .nano-toggle-content{padding:.75rem 1rem;flex:1 1 auto}.nano-toggle-container.bare:hover{background:var(--surface-hover)}.nano-toggle-container.bare .nano-toggle-switch{box-shadow:none}.spinner{width:32px;height:32px;border:3px solid var(--surface);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:1rem auto}@keyframes spin{to{transform:rotate(360deg)}}.status-success{color:var(--success)}.status-warning{color:var(--warning)}.status-error{color:var(--danger)}.invite-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-top:1rem;position:relative}.invite-input{background:0 0;border:none;color:var(--text-primary);width:calc(100% - 80px);font-size:.875rem}.copy-btn{background:var(--btn-primary-bg);color:var(--btn-fg);border:1px solid var(--btn-primary-border);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.75rem;transition:all .2s ease}.copy-btn:hover{filter:brightness(1.02)}.copy-btn.copied{background:var(--success);color:#fff;border-color:transparent}#btnScanQR,#btnShare,#btnShowQR{border-radius:6px;pointer-events:auto;cursor:pointer}.info-badge-overlay{position:absolute;right:-6px;top:-6px;background:var(--bg-primary);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:4px 6px;font-size:12px;line-height:1}.brand img{height:40px;width:auto}.sidebar-logo-img{filter:var(--logo-filter, none);transition:filter .2s ease}.active-games-card{grid-column:span 2}.active-games-list{display:flex;flex-direction:column;gap:1rem}.active-game-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.active-game-details{display:flex;flex-direction:column}.active-game-opponent{font-weight:500;color:var(--text-primary)}.active-game-nano{font-size:.875rem;color:var(--text-muted)}.active-game-actions{display:flex;gap:.5rem}.active-game-actions .btn{padding:.5rem 1rem;font-size:.875rem}@media (max-width:768px){.active-games-card{grid-column:span 1}}.private-only{transition:opacity .3s ease}.private-only.hidden-for-public{opacity:.3;pointer-events:none}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(2,8,23,0);display:flex;align-items:center;justify-content:center;z-index:3000;pointer-events:auto;opacity:0;visibility:hidden;transition:all .3s ease;min-height:100dvh}.modal:not(.hidden){opacity:1;visibility:visible}@media (max-width:768px){.modal-content{min-width:90vw}}@media (max-width:768px){#settingsModal{z-index:1050}#settingsModal .modal-content{background:var(--panel-solid-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important;margin:0!important;min-width:100%!important;width:100%!important;min-height:100%!important;height:100%!important;padding:1rem!important;padding-bottom:calc(1rem + var(--mobile-bottom-menu-height,56px) + env(safe-area-inset-bottom,0px))!important;box-shadow:none!important;border:none!important;max-width:100%!important;overflow-y:auto!important}#settingsModal .tab-header{justify-content:center;gap:.5rem;margin-bottom:1rem}#settingsModal.modal:not(.hidden){align-items:stretch!important;justify-content:flex-start!important;background:var(--panel-solid-bg)!important}}.modal:not(.hidden) .modal-content{transform:translateY(0) scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-shrink:0}.modal-body{overflow-y:auto;flex:1;min-height:0}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text-muted)}.modal-close{background:0 0;border:none;color:var(--text-muted);font-size:2.25rem;cursor:pointer;padding:.375rem;border-radius:6px;transition:all .2s ease;min-width:52.5px;min-height:52.5px}.modal-close:hover{background:var(--surface);color:var(--text-primary)}.modal-content.deposit{border-color:color-mix(in oklab,var(--accent-deposit) 40%,var(--border));box-shadow:0 24px 70px rgba(0,213,255,.15)}.modal-content.invite{border-color:color-mix(in oklab,var(--accent-invite) 40%,var(--border));box-shadow:0 24px 70px rgba(255,46,168,.15)}.modal-content.waiting{border-color:color-mix(in oklab,var(--accent-wait) 40%,var(--border));box-shadow:0 24px 70px rgba(245,158,11,.15)}.qr-container{display:flex;background-color:rgba(255,255,255,.06);padding:20px;border-radius:12px;margin:1rem auto;justify-content:center}.qr-container canvas,.qr-container img{box-shadow:none}.qr-container>div{box-shadow:0 6px 16px rgba(2,8,23,.35);border-radius:12px}.promotion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.promotion-piece{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease}.promotion-piece:hover{background:var(--surface-hover);border-color:var(--accent)}.promotion-piece-icon{font-size:2rem}.promotion-piece-image{width:48px;height:48px;object-fit:contain;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none}.modal-no-close{pointer-events:auto}.modal-no-close .modal-content{pointer-events:auto}.dragging-piece{z-index:9999!important}.chessboard-wrapper{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.1)),var(--bg-tertiary);padding:1rem;border-radius:20px;border:1px solid var(--border);box-shadow:var(--card-glow);display:flex;align-items:center;justify-content:center;width:min(92vw,500px);aspect-ratio:1;box-sizing:border-box}#hint-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.board{position:relative;background:var(--surface,#f8f9fa);border:1px solid var(--border,#dee2e6);border-radius:4px;contain:layout style}.board{transition:width 160ms cubic-bezier(.2,.8,.2,1),height 160ms cubic-bezier(.2,.8,.2,1)}.board.loading{visibility:hidden!important;opacity:0!important}.board.ready{visibility:visible!important;opacity:1!important;transition:opacity .4s ease!important}.board:empty{visibility:hidden}.board.loading *{visibility:hidden!important;opacity:0!important}.board.ready *{visibility:visible!important}.board.loading .chessboard,.board.loading [class*=piece-],.board.loading [class*=square-]{visibility:hidden!important;opacity:0!important;transition:none!important}.board.ready .piece-417db,.board.ready .square-55d63 img{transition:opacity .15s ease,transform .25s ease!important}@media (min-width:769px){.chessboard-wrapper{contain:layout style}#board{--board-size:min(calc(100vh - 220px), 600px);height:var(--board-size);width:var(--board-size)}}#board{width:100%;height:100%;max-width:min(92vw,560px)}@media (max-width:768px){#board{width:100%;max-width:100%}}@media (max-width:768px){.chessboard-wrapper{padding:0}.chessboard-wrapper .board{width:100%;max-width:100%}}.game-layout{display:flex;flex-direction:column;width:100%}@media (max-width:768px){.board-container{width:100%}.right-sidebar{width:100%}}.board-container{display:flex;flex-direction:column;align-items:center;touch-action:none}.game-controls{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;justify-content:center}.time-control-display{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.time-info{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:var(--text-muted)}.time-limit{display:flex;align-items:center;gap:.5rem}.players-timers{display:flex;flex-direction:column;gap:1rem}.player-timer{display:flex;align-items:center}.timer-display{display:flex;align-items:center;gap:.75rem;width:100%}.timer-circle{position:relative;width:48px;height:48px;flex-shrink:0}.timer-svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-bg{fill:none;stroke:var(--border);stroke-width:2}.timer-progress{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:100,100;stroke-dashoffset:100;transition:stroke-dashoffset .3s ease,stroke .3s ease;transform-origin:center}.timer-progress.critical{stroke:var(--danger)}.timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:var(--text)}.timer-label{display:flex;flex-direction:column;flex:1}.player-color{font-weight:600;font-size:.875rem;color:var(--text)}.move-counter{font-size:.75rem;color:var(--text-muted)}.private-only{transition:opacity .3s ease}.private-only.hidden-for-public{opacity:.3;pointer-events:none}.turn-indicator{font-size:.875rem;color:var(--text-muted);margin-top:.5rem}.moves-list{background:var(--surface);border-radius:12px;padding:1rem;font-family:Monaco,Menlo,monospace;font-size:.8rem;line-height:1.4;max-height:100px;overflow-y:auto;border:1px solid var(--border)}.captured-pieces{display:flex;flex-wrap:wrap;gap:.5rem}.captured-piece{background:var(--surface);padding:.25rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.captured-piece-image{width:24px;height:24px;display:block;object-fit:contain;pointer-events:none}.stats-captured-section{display:flex;flex-direction:column;gap:.5rem}.stats-captured-row{display:flex;align-items:center;gap:.5rem}.stats-captured-label{width:1.25rem;height:1.25rem;display:inline-block;border:1px solid #000;border-radius:3px;flex-shrink:0}.stats-captured-label-white{background-color:var(--color-white)}.stats-captured-label-black{background-color:var(--color-black)}.square-55d63 img{transition:transform .1s ease-out}.square-55d63 img:hover{transform:none!important}.square-55d63 img.piece-movable-hover:hover{cursor:grab;transform:scale(1.05)!important;transition:transform .1s ease-out}.dragging-piece img{transform:scale(1.05)!important;transition:transform .1s ease-out}#board .board-b72b1 .square-55d63.square-source::after,#board .board-b72b1 .square-55d63.square-target::after{content:'';position:absolute;top:0!important;left:0!important;right:0!important;bottom:0!important;border:none!important;pointer-events:none;z-index:0;box-shadow:none!important;opacity:.1!important;background:var(--chess-highlight-color)!important;border-radius:0!important}#board .board-b72b1 .square-55d63.square-source,#board .board-b72b1 .square-55d63.square-target{position:relative!important}.valid-move-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background-color:var(--chess-highlight-color);border-radius:50%;pointer-events:none;opacity:.6;z-index:2;animation:fadeInDot .12s ease-out forwards}@keyframes fadeInDot{from{opacity:0}to{opacity:.6}}.no-download{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.square-55d63 .no-download{pointer-events:auto}.hidden{display:none!important}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.local-video-wrapper{position:relative;flex:1;min-width:0}@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .14s ease-out}@keyframes slideInLeft{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.lb-row-entering{animation:slideInLeft .2s ease-out forwards;opacity:0}.lb-fade-out{animation:fadeOut 75ms ease-out forwards}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.accordion-content-entering{animation:slideInLeft .3s ease-out forwards;opacity:0}.accordion-item-entering{animation:slideInLeft .4s ease-out forwards;opacity:0;box-shadow:var(--card-glow)}.sidebar-item-entering{animation:slideInLeft .3s ease-out forwards;opacity:0}.list-item-entering{animation:slideInLeft .35s ease-out forwards;opacity:0}@media (max-width:768px){.accordion-content-entering,.accordion-item-entering,.lb-row-entering,.list-item-entering,.sidebar-item-entering{animation-duration:.25s}}@media (hover:hover) and (pointer:fine){.invite-container:hover{box-shadow:0 10px 26px rgba(109,139,255,.15);border-color:color-mix(in oklab,var(--accent) 25%,var(--border))}}@media (max-width:768px){.container{padding:0 .5rem}.header{padding:.5rem}.card{padding:1rem}.modal-content{margin:1rem}.game-controls{justify-content:center}.btn-group{justify-content:center}.chessboard-wrapper{padding:0;border-radius:0;border:none;box-shadow:none;width:100%;max-width:100%;margin-left:0;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}}.tooltip{position:relative;display:inline-block;cursor:pointer;color:var(--text-muted)}.tooltip .icon{display:flex;align-items:center}.tooltip .tooltiptext{visibility:hidden;width:240px;background-color:var(--surface);color:var(--text-primary);text-align:left;border-radius:8px;padding:10px;position:absolute;z-index:10;bottom:150%;left:50%;margin-left:-120px;opacity:0;transition:opacity .3s ease;font-size:.8rem;font-weight:400;border:1px solid var(--border);box-shadow:0 4px 12px var(--shadow)}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.tooltip .tooltiptext::after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border-width:6px;border-style:solid;border-color:var(--surface) transparent transparent transparent}:root[data-theme=light] .status-success{color:#000}:root[data-theme=light] .btn-danger{box-shadow:none;border:1px solid color-mix(in oklab,var(--accent2) 40%,#0000)}:root[data-theme=light] .btn-danger:hover{filter:brightness(.98)}:root[data-theme=light] .start-button{color:#fff!important;background:#000!important;box-shadow:0 8px 32px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.2)!important;animation:startButtonPulseLight 2s ease-in-out infinite}:root[data-theme=light] .start-button span{color:#fff!important}.theme-toggle-wrap{margin-left:auto;margin-right:10px;align-items:center}.theme-switch{position:relative;display:inline-block;width:48px;height:26px}.theme-switch input{opacity:0;width:0;height:0}.theme-switch .slider{position:absolute;cursor:pointer;inset:0;background:var(--surface);border:1px solid var(--border);border-radius:999px;transition:all .2s ease;box-shadow:inset 0 0 0 2px var(--border)}.theme-switch .slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3.5px;background:var(--text-primary);border-radius:50%;transition:transform .2s ease}.theme-switch input:checked+.slider{background:var(--surface)}.theme-switch input:checked+.slider:before{transform:translateX(22px)}.theme-switch.floating{position:fixed;right:12px;bottom:12px;z-index:1100}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:44px;height:44px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease}.theme-toggle-btn:hover{transform:translateY(-1px)}.theme-toggle-btn i{font-size:18px;line-height:1}.theme-toggle-btn .fa-sun{display:none}:root[data-theme=dark] .theme-toggle-btn .fa-sun{display:inline-block}:root[data-theme=dark] .theme-toggle-btn .fa-moon{display:none}.theme-toggle-btn.floating{position:fixed;right:12px;bottom:12px;z-index:1100}.theme-switch{display:none}.brand img{height:40px;width:auto}.sidebar-logo-img{filter:var(--logo-filter, none);transition:filter .2s ease}.communication-rail{z-index:1000}.communication-rail #webrtc-container{position:static;bottom:auto;left:auto;right:auto;display:flex;justify-content:flex-start;padding:0;z-index:auto;pointer-events:auto}#webrtc-container,#webrtc-container *{box-sizing:border-box}#local-video,#remote-video{width:100%;height:120px;background:var(--bg-primary);border:2px solid var(--border);border-radius:12px;object-fit:cover;pointer-events:all}#local-video{border-color:var(--accent)}.comm-controls{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);padding:10px 20px;border-radius:50px;box-shadow:0 8px 32px var(--shadow);display:flex;gap:10px;color:var(--text-primary);z-index:1050;overflow:visible}.comm-controls .btn{position:relative;box-sizing:border-box;border-radius:50%;width:48px;height:48px;padding:0;min-width:0;min-height:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1}.comm-controls .btn.active{background:var(--accent);color:#fff}#send-chat.disabled,#send-chat[disabled],.comm-controls .btn.disabled,.comm-controls .btn[disabled],.webrtc-btn.disabled,.webrtc-btn[disabled]{opacity:.6!important;cursor:not-allowed!important;filter:grayscale(.2)!important}:root[data-theme=light] #send-chat.disabled,:root[data-theme=light] #send-chat[disabled],:root[data-theme=light] .comm-controls .btn.disabled,:root[data-theme=light] .comm-controls .btn[disabled],:root[data-theme=light] .webrtc-btn.disabled,:root[data-theme=light] .webrtc-btn[disabled]{background:#393939!important}.btn-wrap{position:relative;display:inline-block}.info-badge-overlay.tooltip{position:absolute;top:0;left:50%;transform:translate(-50%,-100%);width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:0 0;border-radius:50%;z-index:1}.info-badge-overlay i{font-size:14px;line-height:1}@media (min-width:769px){#webrtc-container{gap:8px;align-items:center}#webrtc-container #local-video,#webrtc-container #remote-video{flex:1 1 0;height:auto;max-height:240px;border-radius:10px;min-width:0}}.chat-container{position:fixed;bottom:90px;right:16px;width:380px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);border-radius:16px;box-shadow:0 8px 32px var(--shadow);display:flex;flex-direction:column;z-index:2000;max-height:400px;color:var(--text-primary)}.chat-messages{flex-grow:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.chat-message{padding:.5rem .75rem;border-radius:12px;max-width:80%;font-size:.875rem}.chat-message a{color:var(--text-primary);text-decoration:underline}.chat-message a:active,.chat-message a:visited{color:var(--text-primary)}.chat-input-container{display:flex;padding:1rem;border-top:1px solid var(--border)}#chat-input{flex-grow:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.75rem;color:var(--text-primary);margin-right:.5rem}#chat-input:focus{outline:0;border-color:var(--accent)}#send-chat{flex-shrink:0}@media (max-width:768px){.chat-container{left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 32px);max-width:380px;border-radius:12px}}@media (min-width:769px){#desktop-video-placeholder{display:block;margin-top:1.5rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 32px var(--shadow);padding:1rem}#webrtc-container.desktop-layout{position:static;bottom:auto;left:auto;right:auto;width:100%;height:auto;display:flex;flex-direction:column;gap:10px;justify-content:flex-start;padding:0;pointer-events:all;background:0 0;border:none;border-radius:0;box-shadow:none}#webrtc-container.desktop-layout #local-video,#webrtc-container.desktop-layout #remote-video{width:100%;height:auto;max-height:180px}}@media (max-width:768px){#desktop-video-placeholder{display:none}}#modalMessage{white-space:pre-wrap}.nano-toggle-container{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:all .2s ease;cursor:pointer}.settings-wrap{display:flex;align-items:center;margin-left:auto}.settings-btn{background:0 0;border:none;color:inherit;cursor:pointer;font-size:18px;padding:6px 8px}.settings-btn i{pointer-events:none}#settingsModal .form-error{color:var(--danger,#dc2626);font-size:.9rem}#settingsModal .theme-toggle-inline button{display:inline-flex;align-items:center;gap:6px}.nano-toggle-container:hover{background:var(--surface-hover)}.nano-toggle-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.nano-toggle-label{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.875rem}.nano-toggle-description{font-size:.75rem;color:var(--text-muted)}.nano-toggle-switch-container{display:flex;align-items:center;margin-left:1rem;margin-right:1rem}.nano-toggle-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nano-toggle-switch{display:inline-block;width:44px;height:24px;background:var(--surface-hover);border-radius:999px;position:relative;transition:all .2s ease;border:1px solid var(--border);cursor:pointer;box-shadow:inset 0 1px 3px rgba(0,0,0,.1)}.nano-toggle-switch:before{content:"";position:absolute;width:18px;height:18px;left:2px;top:50%;transform:translateY(-50%);background:var(--text-primary);border-radius:50%;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.nano-toggle-container:has(.nano-toggle-input:checked) .nano-toggle-switch{background:linear-gradient(90deg,color-mix(in oklab,var(--accent) 86%,transparent),var(--accent-hover));border-color:var(--accent)}.nano-toggle-container:has(.nano-toggle-input:checked) .nano-toggle-switch:before{transform:translateY(-50%) translateX(22px);background:var(--surface)}.nano-toggle-container:has(.nano-toggle-input:focus) .nano-toggle-switch{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent);outline:0}.nano-toggle-switch:hover{border-color:var(--border)}.nano-toggle-container:has(.nano-toggle-input:checked) .nano-toggle-switch:hover{border-color:var(--accent)}.volume-slider-container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;margin-bottom:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:all .2s ease}.volume-slider-container:last-child{margin-bottom:0}.volume-slider-container:hover{background:var(--surface-hover)}.volume-slider-label{font-size:.875rem;color:var(--text-primary);font-weight:400;flex:1}.volume-slider{flex:1;height:6px;border-radius:3px;background:var(--surface-hover);outline:0;-webkit-appearance:none;appearance:none;cursor:pointer;transition:background .2s ease}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:all .2s ease}.volume-slider::-webkit-slider-thumb:hover{background:var(--accent-hover);transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.3)}.volume-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:none;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:all .2s ease}.volume-slider::-moz-range-thumb:hover{background:var(--accent-hover);transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.3)}.volume-slider:focus{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}.pre-init .time-control-buttons{visibility:hidden}.accordion{display:flex;flex-direction:column}.accordion-item{position:relative}.accordion-item[data-mode=public] .game-mode-icon{color:var(--mode-public);background:color-mix(in oklab,var(--mode-public) 15%,transparent)}.accordion-item[data-mode=private] .game-mode-icon{color:var(--mode-private);background:color-mix(in oklab,var(--mode-private) 15%,transparent)}.accordion-item[data-mode=ai] .game-mode-icon{color:var(--mode-ai);background:color-mix(in oklab,var(--mode-ai) 15%,transparent)}.accordion-item[data-mode=training] .game-mode-icon{color:var(--mode-training);background:color-mix(in oklab,var(--mode-training) 15%,transparent)}.accordion-item[data-mode=public]{background:color-mix(in oklab,var(--mode-public) 40%,transparent)}.accordion-item[data-mode=private]{background:color-mix(in oklab,var(--mode-private) 40%,transparent)}.accordion-item[data-mode=ai]{background:color-mix(in oklab,var(--mode-ai) 40%,transparent)}.accordion-item[data-mode=training]{background:color-mix(in oklab,var(--mode-training) 40%,transparent)}.sidebar .sidebar-section:has([data-key=training_games]) .game-mode-icon,.sidebar-combined .sidebar-section:has([data-key=training_games]) .game-mode-icon{color:var(--mode-training);background:color-mix(in oklab,var(--mode-training) 15%,transparent)}.accordion-item:hover .game-mode-icon{transform:scale(1.1);transition:transform .2s ease}.training-info{display:flex;align-items:center;gap:8px;padding:12px;background:color-mix(in oklab,var(--warning) 10%,transparent);border:1px solid color-mix(in oklab,var(--warning) 25%,transparent);border-radius:6px;font-size:.9em;color:var(--text-secondary)}.training-gem-icon{color:var(--warning);font-size:1.1em}.perfect-move-coin{position:absolute;width:24px;height:24px;background-image:url('../img/coin-icon.webp');background-size:contain;background-repeat:no-repeat;background-position:center;z-index:15;pointer-events:none;animation:sparkle 1.5s infinite ease-in-out}@keyframes sparkle{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.2) drop-shadow(0 0 3px gold)}}.source-piece-hint{position:absolute;width:52.25px;height:41.5px;background-image:url('../img/hand-icon.webp');background-size:contain;background-repeat:no-repeat;background-position:0 0;z-index:15;pointer-events:none;opacity:0;transform-origin:5px 5px;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .3));animation:sourceHintFadeIn .5s ease-in-out forwards,handPulse 2s ease-in-out infinite .5s}@keyframes gemPulse{0%,100%{transform:scale(1);box-shadow:0 0 12px rgba(255,215,0,.6),0 0 24px rgba(255,215,0,.4),inset 0 2px 4px rgba(255,255,255,.3)}50%{transform:scale(1.15);box-shadow:0 0 18px rgba(255,215,0,.8),0 0 36px rgba(255,215,0,.6),inset 0 2px 4px rgba(255,255,255,.4)}}@keyframes gemPulsePink{0%,100%{transform:scale(1);box-shadow:0 0 12px color-mix(in oklab,var(--accent2) 60%,transparent),0 0 24px color-mix(in oklab,var(--accent2) 40%,transparent),inset 0 2px 4px rgba(255,255,255,.3)}50%{transform:scale(1.15);box-shadow:0 0 18px color-mix(in oklab,var(--accent2) 80%,transparent),0 0 36px color-mix(in oklab,var(--accent2) 60%,transparent),inset 0 2px 4px rgba(255,255,255,.4)}}@keyframes sourceHintFadeIn{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes handPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .3))}50%{transform:scale(1.12);filter:drop-shadow(0 3px 6px rgba(0, 0, 0, .4))}}:root[data-theme=light] .source-piece-hint{animation:sourceHintFadeIn .5s ease-in-out forwards,handPulseLightTheme 2s ease-in-out infinite .5s}@keyframes handPulseLightTheme{0%,100%{transform:scale(1);filter:drop-shadow(0 2px 6px rgba(0, 0, 0, .4))}50%{transform:scale(1.12);filter:drop-shadow(0 3px 8px rgba(0, 0, 0, .5))}}.xp-multiplier:not(.game-card *){color:var(--accent);font-weight:600;background:color-mix(in oklab,var(--accent) 15%,transparent);padding:2px 8px;border-radius:12px;font-size:.8rem;margin-right:8px}.coin-multiplier:not(.game-card *){color:var(--notify-coin,#f59e0b);font-weight:700;background:color-mix(in oklab,var(--notify-coin,#f59e0b) 12%,transparent);padding:2px 8px;border-radius:12px;font-size:.8rem;margin-right:8px;display:inline-flex;align-items:center;gap:6px}.coin-multiplier::before{content:'\f51e';font-family:"Font Awesome 5 Free";font-weight:900;font-size:.9rem;color:var(--notify-coin,#f59e0b);padding-right:5px}:root[data-theme=light] .coin-multiplier:not(.game-card .coin-multiplier){color:#000;background:color-mix(in oklab,#000 8%,transparent)}:root[data-theme=light] .coin-multiplier:not(.game-card .coin-multiplier)::before{color:#000}.players-seeking:not(.game-card *){color:var(--text-muted);font-size:.85rem}.players-seeking:not(.game-card *) i{color:var(--accent);margin-right:4px}.accordion-header .action,.accordion-header .action-btn,.accordion-header a.action{background:var(--accent);color:var(--btn-fg);border:1px solid transparent;padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.accordion-header .action-btn:hover,.accordion-header .action:hover,.accordion-header a.action:hover{background:var(--surface-hover);color:var(--accent);border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--card-glow)}.accordion-header .action:focus-visible,.accordion-header a.action:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}.accordion-content{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease,padding .2s ease}.accordion-header[aria-expanded=true]+.accordion-content,.accordion-item.expanded .accordion-content,.accordion-item[aria-expanded=true] .accordion-content{max-height:800px;opacity:1}.accordion-action-section{padding-top:0}.accordion-action-container.accordion-action-split{display:flex;gap:.5rem;justify-content:stretch;flex-direction:row}.accordion-action-container.accordion-action-split .btn{flex:1}#leaderboard{margin-top:0;margin-bottom:0;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}#leaderboard .tabs{display:flex;gap:.5rem;margin:16px 18px;flex-shrink:0}#leaderboard .tab,#profileLeaderboardTabs .tab{padding:.75rem 1rem;background:0 0;border:none;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;font-size:.875rem;font-weight:500}#leaderboard .tab:hover,#profileLeaderboardTabs .tab:hover{color:var(--text-primary);background:var(--glass-bg)}#leaderboard .tab.active,#profileLeaderboardTabs .tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--glass-bg)}#profileLeaderboardTabs{display:flex;gap:.5rem;margin-bottom:.5rem}.leaderboard-list{display:flex;flex-direction:column;gap:.35rem;flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.accordion-content-entering{opacity:0;transform:translateX(-20px);animation:accordion-slide-in .4s ease-out forwards}@keyframes accordion-slide-in{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}.lb-row{display:grid;grid-template-columns:28px 1fr;gap:.5rem;align-items:center;padding:5px 18px;border-radius:8px}.lb-level-xp-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lb-xp{font-size:.8rem;color:var(--accent);font-weight:600;white-space:nowrap}#leaderboard{background:var(--surface);border-radius:10px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lb-level{font-weight:600;text-align:left}.lb-name{color:var(--text-primary)}.lb-level{font-size:.8rem;color:var(--text-muted)}.lb-bar{height:6px;background:var(--surface-hover);border-radius:999px;overflow:hidden;margin-top:4px}.lb-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));width:0%;transition:width .6s ease}.lb-bar.lb-bar-thin{height:4px;margin-top:6px}.lb-bar.lb-bar-thin>span{height:100%;transition:width .6s ease}.player-daily-xp{margin-top:2px;display:flex;flex-direction:column;gap:1px;font-size:.72rem;color:var(--text-primary)}.player-daily-xp.hidden{display:none!important}.player-daily-line{line-height:1.12;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.player-daily-reset{color:var(--text-muted);font-size:.66rem}.chip-timer-text{font-family:Consolas,Monaco,'Lucida Console',monospace;font-size:.75rem;font-weight:600;min-height:1rem}.player-info-chip.white-player .chip-timer-text{color:var(--color-white)!important}.player-info-chip.black-player .chip-timer-text{color:var(--color-black)!important}:root[data-theme=light] .player-info-chip.white-player .chip-timer-text{color:#000!important}:root[data-theme=light] .player-info-chip.black-player .chip-timer-text{color:#fff!important}@keyframes rankAttention{0%{transform:scale(1.2)}100%{transform:scale(1)}}@keyframes reflectionWipe{0%{transform:translateX(-150%) skewX(-45deg);opacity:0}50%{opacity:1}100%{transform:translateX(250%) skewX(-45deg);opacity:0}}.xp-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);z-index:3500;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.xp-overlay.hidden{display:none;pointer-events:none}.xp-panel{background:var(--glass-modal-bg,var(--glass-bg));border:1px solid var(--glass-border);border-radius:16px;padding:16px 18px;width:min(92vw,420px);box-shadow:0 10px 30px rgba(0,0,0,.35);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);animation:slideIn .3s ease}.xp-title{font-weight:600;margin-bottom:6px}.xp-amount{font-size:1.25rem;font-weight:700;margin-bottom:6px;color:var(--accent);text-shadow:0 0 8px color-mix(in oklab,var(--accent) 30%,transparent)}.xp-level{font-weight:600;margin-bottom:6px}.xp-progress{margin:8px 0 12px}.xp-progress .xp-bar{height:10px;background:var(--surface-hover);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.xp-progress .xp-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));width:0%;transition:width .8s ease}.xp-progress-text{font-size:.85rem;color:var(--text-muted);margin-bottom:6px}.xp-levelup{text-align:center;font-weight:800;letter-spacing:1px;color:#ffd166;text-shadow:0 0 10px rgba(255,209,102,.6);margin:8px 0}@keyframes slideIn{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}:root{--scroll-track:rgba(var(--accent-rgb), 0.25);--scroll-thumb:rgb(var(--accent-rgb));--scroll-thumb-hover:rgba(var(--accent-rgb), 0.8)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}::-webkit-scrollbar{width:8px;height:8px;background:0 0}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-track-piece{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:4px;border:none}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.chat-messages::-webkit-scrollbar,.leaderboard-list::-webkit-scrollbar,.moves-list::-webkit-scrollbar{width:6px}.site-footer{backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:8px 12px;color:var(--text-muted);font-size:.65rem;z-index:1102;margin-top:auto;min-height:auto;flex-shrink:0}.site-footer.sidebar-footer{position:sticky;bottom:0;left:auto;right:auto;width:100%}.sidebar .site-footer{display:flex}@media (max-width:768px){.site-footer{position:static;margin-top:2rem;padding:6px 8px}.site-footer.sidebar-footer{margin-top:auto}}.site-footer-inner{margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.footer-links{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.footer-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);text-decoration:none;padding:4px 6px;border-radius:6px;border:1px solid transparent;transition:all 160ms ease;font-size:.6rem}.footer-link i{font-size:.9rem;color:var(--accent)}.footer-link:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border)}.footer-link:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 14%,transparent)}.footer-link-text{font-weight:400;font-size:.6rem}.footer-copy{color:var(--text-muted);font-size:.55rem;white-space:nowrap}.sidebar .site-footer{padding-top:6px;padding-bottom:6px}@media (max-width:768px){.sidebar .site-footer{padding-top:4px;padding-bottom:4px}}.sidebar .site-footer .footer-link-text{display:none!important}.sidebar .site-footer .footer-link i{font-size:1.3rem;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.sidebar .site-footer .footer-link{padding-top:2px;padding-bottom:2px;padding-left:6px;padding-right:6px;min-height:22px}.footer-img-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;color:var(--accent)}.footer-img-icon path{fill:currentColor}@media (max-width:640px){.site-footer-inner{flex-direction:column;align-items:center;gap:8px}.footer-copy{order:2}.sidebar .site-footer-inner{gap:12px}}.start-screen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;overflow:hidden;cursor:pointer}.modal{position:fixed;inset:0;background:rgba(2,8,23,0);display:flex;align-items:center;justify-content:center;z-index:3000;pointer-events:none;opacity:0;visibility:hidden;transition:all .3s ease}.modal:not(.hidden){opacity:1;visibility:visible;pointer-events:auto}body:has(.start-screen:not(.hidden)) .header,body:has(.start-screen:not(.hidden)) .site-footer{display:none!important}.start-background{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .3s ease;transform-origin:center 33%}.start-background.full-bleed{top:calc(0px - env(safe-area-inset-top,0px));height:calc(100% + env(safe-area-inset-top,0px));padding-top:0}@keyframes subtleZoomToUpperThird{0%{transform:scale(1);background-position:center 20%}100%{transform:scale(1.1);background-position:center 15%}}@keyframes subtleZoomToUpperThirdRight{0%{transform:scale(1);background-position:right 20%}100%{transform:scale(1.1);background-position:right 15%}}@keyframes subtleZoomToUpperThirdMobile{0%{transform:scale(1.05);background-position:center 25%}100%{transform:scale(1.15);background-position:center 20%}}@keyframes panCameraLeftOnce{from{background-position:80% 20%}to{background-position:25% 20%}}@keyframes panCanvasLeftOnce{from{transform:translateX(0)}to{transform:translateX(20%)}}.start-background.portrait-focus{background-position:center 20%}.start-background.landscape-focus{background-position:33% center}.start-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;padding-bottom:15vh;background:linear-gradient(transparent 60%,rgba(0,0,0,.3) 100%);transition:background .2s ease}.start-logo{position:absolute;max-width:200px;max-height:80px;width:auto;height:auto;z-index:3;filter:drop-shadow(0 8px 32px rgba(13, 76, 255, .5));transition:filter .25s ease;cursor:pointer}@media (max-width:768px){.start-logo{top:5vh;left:50%;transform:translateX(-50%);max-width:280px;max-height:70px}.start-overlay{padding-bottom:10vh}}@media (min-width:768px){.start-logo{top:2rem;left:2rem;transform:none;max-width:220px;max-height:90px}}:root[data-theme=light] .start-logo{filter:drop-shadow(0 8px 22px rgba(2,8,23,.5))}.start-button{font-size:1.5rem;font-weight:700;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;padding:1.5rem 3rem;border-radius:20px;min-height:auto;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 8px 32px rgba(0,213,255,.3),0 4px 16px rgba(0,0,0,.2);animation:startButtonPulse 2s ease-in-out infinite}@keyframes startButtonPulse{0%,100%{transform:scale(1);box-shadow:0 8px 32px rgba(0,213,255,.3),0 4px 16px rgba(0,0,0,.2)}50%{transform:scale(1.05);box-shadow:0 12px 40px rgba(0,213,255,.4),0 6px 24px rgba(0,0,0,.3)}}@keyframes startButtonPulseLight{0%,100%{transform:scale(1);box-shadow:0 8px 32px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.2)}50%{transform:scale(1.05);box-shadow:0 12px 40px rgba(0,0,0,.4),0 6px 24px rgba(0,0,0,.3)}}.start-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s ease;z-index:1}.start-button.shine::before{left:100%}.start-button span{position:relative;z-index:2}.start-button:hover{animation-play-state:paused;transform:scale(1.1);box-shadow:0 16px 48px rgba(0,213,255,.5),0 8px 32px rgba(0,0,0,.3)}.start-button.clicking{animation:fadeOutQuick .3s ease-out forwards}@keyframes fadeOutQuick{to{opacity:0;transform:scale(.9)}}.start-screen.hidden{opacity:0;pointer-events:none;transition:opacity .5s ease}@media (max-width:768px){.start-overlay{padding-bottom:10vh}.start-button{font-size:1.1rem;padding:1rem 2rem;border-radius:12px}.start-background.portrait-focus{background-position:center 20%}.start-background.landscape-focus{background-position:25% center}}@media (min-width:768px){.start-overlay{padding-bottom:15vh}.start-button{font-size:1.5rem;padding:1.5rem 3rem;border-radius:20px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.start-background{background-size:cover}}.context-item[data-action=block]:hover,.context-item[data-action=remove]:hover{background-color:rgba(var(--danger-rgb,220,53,69),.1);color:var(--danger)}.global-tooltip{position:fixed;max-width:280px;background:rgba(0,0,0,.9);color:#fff;padding:6px 10px;border-radius:6px;font-size:.85rem;line-height:1.3;z-index:99999;pointer-events:none;opacity:0;transform:translate(-50%,20px);transition:opacity .15s ease,transform .15s ease;white-space:normal}.global-tooltip.show{opacity:1;transform:translate(-50%,10px)}.language-dropdown-container{position:relative;width:100%}.language-dropdown{width:100%;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'><path fill='%23999' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:2.5rem}.language-dropdown:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}:root[data-theme=light] .language-dropdown:focus{border-color:#000;box-shadow:0 0 0 3px rgba(0,0,0,.12)}.language-dropdown:hover{border-color:var(--accent)}.language-dropdown option{background:var(--surface);color:var(--text-primary);padding:.5rem}:root[data-theme=dark] .language-dropdown{background-image:url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'><path fill='%23ffffff' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>")}:root[data-theme=light] .language-dropdown{background-image:url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'><path fill='%23000000' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>")}.form-group .form-label .fa-language{vertical-align:middle;display:inline-block}.engine-eval{display:none}.leaderboard-compact{background:var(--surface);border-radius:12px;padding:.5rem 1rem;margin-bottom:1.5rem;cursor:pointer;transition:all .2s ease;grid-column:1/-1}.leaderboard-compact:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-1px)}.leaderboard-compact-inner{display:flex;align-items:center;gap:1rem}.leaderboard-header{display:flex;align-items:center;width:100%;justify-content:space-between;gap:1rem}.leaderboard-title{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-weight:600;font-size:.9rem}.leaderboard-compact .leaderboard-actions{margin-left:auto;display:flex;gap:.5rem}.leaderboard-compact .leaderboard-list .lb-row:not(:first-child){display:none}.leaderboard-compact .leaderboard-list .lb-row:first-child{margin-bottom:0;padding:.25rem .5rem}.leaderboard-view-btn{flex-shrink:0;display:flex;align-items:center;gap:.5rem;background:0 0;color:var(--notify-coin,#f59e0b);border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}:root[data-theme=light] .leaderboard-view-btn{color:#000}.leaderboard-view-btn:hover{transform:translateX(2px)}.leaderboard-view-btn.secondary:hover{transform:translateX(2px)}.leaderboard-view-btn i:first-child{font-size:1.1em}.leaderboard-view-btn i:last-child{font-size:.8em;opacity:.8}.modal .tabs{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.modal .tab{padding:.375rem .75rem;font-size:.8125rem;border-radius:999px;background:var(--surface-hover);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.modal .tab:hover{background:var(--hover);border-color:var(--text-muted)}.modal .tab.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}#leaderboardModal .tab-header{justify-content:center;gap:.5rem;margin-bottom:1rem}#leaderboardModal .tab-button{padding:.5rem .75rem;font-weight:500}#leaderboardModal .modal-content{max-width:700px;display:flex;flex-direction:column;max-height:85vh}#leaderboardModal .modal-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}#leaderboardModal .leaderboard-list{flex:1;overflow-y:auto;min-height:0;max-height:none}#leaderboardModal .modal-title{color:var(--notify-coin,#f59e0b)}#leaderboardModal .modal-header i{color:var(--notify-coin,#f59e0b)}:root[data-theme=light] #leaderboardModal .modal-title{color:#000}:root[data-theme=light] #leaderboardModal .modal-header i{color:#000}.sidebar-legal-section{margin-top:auto;padding-bottom:1rem}.sidebar-legal-divider{height:1px;background:var(--border,rgba(255,255,255,.1));margin:1.5rem 1rem 1rem 1rem}.sidebar-legal-nav{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.sidebar-legal-section .build-info{margin-top:.5rem;font-size:10px;color:var(--text-secondary);font-family:monospace;text-align:left;display:block;padding:.25rem 1rem .25rem 2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legal-link{display:block;padding:.25rem 1rem;font-size:10px;line-height:1.2;text-decoration:none;border-radius:6px;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary)}.legal-link:hover{background-color:rgba(255,255,255,.08);color:var(--text)}.legal-link:active{background-color:rgba(255,255,255,.12)}.sidebar.collapsed .sidebar-legal-nav .legal-link span{display:none}.sidebar.collapsed .sidebar-legal-section{display:none}@media (max-width:768px){.sidebar-legal-section{padding:1rem 0 0 0;border-top:1px solid rgba(255,255,255,.1)}.sidebar-legal-divider{display:none}}.lobby-footer{padding:.5rem 1rem;display:flex;justify-content:center;gap:1rem;border-top:1px solid rgba(255,255,255,.04);color:var(--text-muted);font-size:.875rem;margin-top:.75rem}.lobby-footer .lobby-footer-link{color:var(--text-muted);text-decoration:none}.lobby-footer .lobby-footer-link:hover{color:var(--text);text-decoration:underline}@media (max-width:768px){.lobby-footer{padding:.5rem;gap:.75rem;flex-wrap:wrap}}.header-announcer{display:flex;align-items:center;font-size:.8rem;font-weight:200;color:var(--text-secondary);opacity:0;animation:fadeInAnnouncer .25s ease-in-out .25s forwards;flex:1;min-width:0;background:var(--surface)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:8px;margin:0 0 2rem 0;padding:0;height:47px;line-height:1.2;overflow:hidden;transition:all .2s}.header-announcer.hidden{display:none}.announcer-scroller{width:100%;height:100%;overflow:hidden;position:relative}.ticker-text{display:flex;align-items:center;height:100%;will-change:transform;position:absolute;left:0;top:0}.announcer-content{display:flex;align-items:center;gap:.5rem;padding:.4rem .9rem;white-space:nowrap;flex-shrink:0;line-height:1.2}.announcer-content i{color:var(--accent);font-size:.9rem;flex-shrink:0}.header-ranking-info{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.header-ranking-text{font-weight:200;color:var(--text-secondary)}.header-ranking-details{font-size:.8rem;font-weight:500;color:var(--accent);white-space:nowrap}.announcer-slide-out{animation:fadeOut .15s ease-in-out forwards}.announcer-slide-in{animation:fadeIn .15s ease-in-out forwards}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@media (max-width:9999px){#lobby .header-announcer{width:100%;box-sizing:border-box;margin:0}}.chat-container{position:fixed;bottom:90px;right:16px;width:380px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);border-radius:16px;box-shadow:0 8px 32px var(--shadow);display:flex;flex-direction:column;z-index:2000;max-height:400px;color:var(--text-primary)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}.chat-header h3{font-size:1.1rem;font-weight:600}.chat-close{background:0 0;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer}.chat-messages{flex-grow:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.chat-message{padding:.5rem .75rem;border-radius:12px;max-width:98%;font-size:.875rem}.chat-message.sent{align-self:flex-end;border-bottom-right-radius:4px}.chat-message.received{align-self:flex-start;border-bottom-left-radius:4px}.chat-message.white-player{background:var(--chat-white-bg);color:var(--chat-white-fg)}.chat-message.black-player{background:var(--chat-black-bg);color:var(--chat-black-fg)}:root[data-theme=light] .chat-message.white-player{border:1px solid var(--border)}.chat-message a{color:var(--text-primary);text-decoration:underline}.chat-message a:active,.chat-message a:visited{color:var(--text-primary)}.chat-typing-indicator{align-self:flex-start;padding:.5rem .75rem;border-radius:12px;border-bottom-left-radius:4px;max-width:98%;font-size:.875rem;background:var(--surface);color:var(--text-muted);display:flex;align-items:center;gap:.5rem;opacity:0;animation:fadeIn .3s ease forwards}.typing-text{font-style:italic;opacity:.8}@keyframes fadeIn{to{opacity:1}}.chat-typing-indicator.fadeOut{animation:fadeOut .2s ease forwards}@keyframes fadeOut{to{opacity:0}}.typing-dots{display:flex;gap:3px;align-items:center}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typingDot 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,100%,60%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-input-container{display:flex;padding:1rem;border-top:1px solid var(--border)}#chat-input{flex-grow:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.75rem;color:var(--text-primary);margin-right:.5rem}#chat-input:focus{outline:0;border-color:var(--accent)}#send-chat{flex-shrink:0}@media (max-width:768px){.chat-container{left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 32px);max-width:380px;border-radius:12px}}.lobby-tabs-container{width:100%}.lobby-tabs-nav{display:flex;flex-wrap:nowrap;gap:.5rem;margin-bottom:0;position:relative;padding-left:0}.lobby-tab{position:relative;background:var(--surface);border:none;color:var(--text-muted);font-size:.9rem;font-weight:600;padding:.875rem 1rem;cursor:pointer;transition:color .3s cubic-bezier(.4, 0, .2, 1),background .3s cubic-bezier(.4, 0, .2, 1),box-shadow .3s cubic-bezier(.4, 0, .2, 1);text-transform:uppercase;letter-spacing:.05em;overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);border-bottom:2px solid var(--border);backdrop-filter:blur(12px) saturate(120%)}.lobby-tab::before{content:'';position:absolute;top:0;left:100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.2),transparent);transition:left .5s ease}.lobby-tab:hover::before{left:-100%}.lobby-tab:hover{color:var(--text-primary);background:var(--surface-hover);transform:translateY(-2px)}.lobby-tab.active{background:var(--glass-bg);color:var(--accent);border-bottom:3px solid var(--accent);transform:none;box-shadow:0 -4px 20px rgba(var(--accent-rgb),.3),0 8px 32px rgba(var(--accent-rgb),.15)}.lobby-tab.active::after{content:'';position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.5;animation:speedLine 1.5s ease-in-out infinite}@keyframes speedLine{0%{transform:translateX(100%) scaleX(.5);opacity:0}50%{opacity:.5}100%{transform:translateX(-100%) scaleX(.5);opacity:0}}.lobby-tab i{margin-right:.5rem;font-size:1.1rem;transition:transform .3s ease}.lobby-tab.active i{transform:scale(1.1);filter:drop-shadow(0 0 8px currentColor)}.customize-tabs-nav{gap:.25rem;margin-bottom:2px;align-items:center}.customize-tabs-nav .lobby-tab{padding:.6rem .8rem;position:relative;flex-direction:row;gap:.25rem;min-width:38px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;overflow:visible}.customize-tabs-nav .lobby-tab i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;display:block;z-index:2}.customize-tabs-nav .lobby-tab .customize-tab-badge{position:absolute;top:6px;right:6px;transform:none;margin:0;z-index:3;display:inline-block;width:auto;font-size:.75rem;line-height:1;padding:.125rem .4rem}.lobby-tab-content{display:none;animation:tabFadeIn .4s cubic-bezier(.4,0,.2,1)}.lobby-tab-content.active{display:block}@keyframes tabFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lobby-tab-panel{position:relative;padding:1rem 0;display:flex;flex-direction:column;gap:1rem;overflow:visible}.lobby-tab-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent) 20%,var(--accent) 80%,transparent);opacity:.3}@media (max-width:768px){.lobby-tabs-nav{gap:.25rem}.lobby-tab i{display:none}.customize-tabs-nav,.lobby-tabs-nav{height:32px;align-items:center;gap:.25rem}.customize-tabs-nav .lobby-tab,.lobby-tab{padding:6px 4px;font-size:.7rem;min-height:32px;line-height:1;display:flex;align-items:center;justify-content:center}.customize-tabs-nav .lobby-tab i{position:static;top:auto;left:auto;transform:none;margin-right:.35rem;display:inline-block;font-size:.85rem}.lobby-tab-panel{padding:1.5rem 0}}@media (max-width:480px){.customize-tabs-nav .lobby-tab,.lobby-tab{font-size:.7rem;padding:6px 4px;letter-spacing:.03em;min-height:32px}}.lobby-tab-content{position:relative}.lobby-tab-content.slide-left{animation:slideLeft .4s cubic-bezier(.4,0,.2,1)}.lobby-tab-content.slide-right{animation:slideRight .4s cubic-bezier(.4,0,.2,1)}@keyframes slideLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.lobby-tab:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.lobby-tabs-content-wrapper{position:relative;overflow-x:hidden;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch;min-height:0}.lobby-tab-content.loading{opacity:.5;pointer-events:none}.lobby-tab-content.loading::after{content:'';position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid var(--accent);border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lesson-item-with-image{display:flex;align-items:center;gap:12px;padding:10px 12px;padding-left:18px;border:1px solid rgba(255,255,255,.03);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));position:relative;transition:background .18s ease,transform .12s ease,box-shadow .18s ease;cursor:pointer;background:var(--glass-bg)}.lesson-item-with-image:not(.locked):hover{background:var(--surface-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.18)}.lesson-item-with-image::before{content:'';position:absolute;left:8px;top:8px;bottom:8px;width:4px;border-radius:4px;background:var(--accent2);opacity:.6;transition:opacity .18s ease,box-shadow .18s ease}.lesson-item-with-image:not(.locked):hover::before{opacity:1;box-shadow:0 0 12px var(--glow,var(--accent))}.lesson-item-with-image.completed::before{background:var(--success);box-shadow:0 0 12px var(--success)}.lesson-item-with-image.locked::before{opacity:.18;box-shadow:none}.lesson-item-with-image.locked{cursor:not-allowed;opacity:.5}.lesson-piece-image{flex-shrink:0;width:40px;height:40px;border-radius:6px;overflow:hidden;background:0 0;display:flex;align-items:center;justify-content:center}.lesson-piece-image img{width:100%;height:100%;object-fit:contain}.lesson-item-with-image.locked .lesson-piece-image{filter:grayscale(1);opacity:.5}.lesson-text-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lesson-title{font-weight:600;font-size:.95rem;color:var(--text-primary)}.lesson-description{font-size:.8rem;color:var(--text-secondary);line-height:1.3}.lesson-status-icon{flex-shrink:0;width:24px;display:flex;align-items:center;justify-content:center}.lesson-status-icon i{font-size:1.1rem}.lesson-item-with-image.completed .lesson-status-icon i{color:var(--success)}.lesson-item-with-image.locked .lesson-status-icon i{color:var(--text-muted)}@media (max-width:768px){.lesson-piece-image{width:32px;height:32px}.lesson-title{font-size:.875rem}.lesson-description{font-size:.75rem}}.challenge-mini-board{border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.feed-empty{text-align:center;color:var(--text-secondary)}.empty-text{font-weight:600;color:var(--text-primary)}.feed-loading{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}#beatThisMoveFooter span,.game-card[data-mode=challenge] .game-card-meta span{text-transform:none}.coach-action-button,.puzzle-action-button{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;border-radius:6px;font-weight:600;font-size:.95rem;min-width:120px;height:40px;justify-content:center;position:relative;overflow:hidden;border:none;background:var(--accent,#2b6cb0);color:var(--accent-foreground,#fff);box-shadow:0 6px 18px rgba(11,22,44,.12);transition:transform .12s ease,filter .12s ease,opacity .12s ease;cursor:pointer}.coach-action-button:active,.puzzle-action-button:active{transform:translateY(1px)}.coach-action-button::after,.puzzle-action-button::after{content:'';position:absolute;top:-100%;left:-50%;width:300%;height:220%;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.34) 50%,rgba(255,255,255,0) 100%);transform:rotate(25deg);opacity:0;pointer-events:none}.coach-action-button.shine::after,.puzzle-action-button.shine::after{animation:action-button-shine 1.25s linear infinite;opacity:1}@keyframes action-button-shine{0%{transform:translateX(-100%) rotate(25deg)}100%{transform:translateX(100%) rotate(25deg)}}.coach-action-button.pulse,.puzzle-action-button.pulse{animation:action-button-pulse 1.25s ease-in-out infinite}@keyframes action-button-pulse{0%{transform:scale(1)}50%{transform:scale(1.035)}100%{transform:scale(1)}}.coach-action-button.muted,.puzzle-action-button.muted{filter:grayscale(80%) brightness(.85) opacity(.65);cursor:default}.game-mode-cards{display:flex;flex-direction:column;gap:1rem;overflow:visible}.game-card[data-mode=public]{--card-mode-color:var(--mode-public)}.game-card[data-mode=private]{--card-mode-color:var(--mode-private)}.game-card[data-mode=ai]{--card-mode-color:var(--mode-ai)}.game-card[data-mode=puzzle]{--card-mode-color:var(--mode-puzzle);clip-path:none}.game-card[data-mode=training]{--card-mode-color:var(--mode-training);clip-path:none}.game-card[data-mode=dojo]{--card-mode-color:var(--mode-training)}.game-card[data-mode=quests]{--card-mode-color:#f59e0b}.game-card[data-mode=challenge]{--card-mode-color:#ef4444;clip-path:none}.game-card{position:relative;overflow:visible;min-height:130px;background:linear-gradient(100deg,color-mix(in oklab,var(--card-mode-color) 12%,var(--surface)) 0,var(--surface) 30%,var(--surface) 100%);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));border-left:4px solid var(--card-mode-color,var(--accent));box-shadow:0 4px 20px rgba(0,0,0,.4),inset 4px 0 16px -6px color-mix(in oklab,var(--card-mode-color) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.04);transition:all .25s ease}.game-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.5),-3px 0 25px color-mix(in oklab,var(--card-mode-color) 30%,transparent),inset 8px 0 24px -8px color-mix(in oklab,var(--card-mode-color) 40%,transparent),inset 0 1px 0 rgba(255,255,255,.06)}.game-card-image{display:none}.game-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--card-mode-color) 0,color-mix(in oklab,var(--card-mode-color) 60%,transparent) 30%,transparent 70%);z-index:5}.game-card::after{content:'';position:absolute;top:0;left:0;width:40px;height:40px;background:linear-gradient(135deg,color-mix(in oklab,var(--card-mode-color) 25%,transparent) 0,transparent 50%);z-index:4}.game-card-header{position:relative;z-index:3;display:flex;align-items:center;padding:14px 16px 10px;gap:12px}.game-card-icon{width:34px!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:6px;font-size:1rem;flex-shrink:0;margin:0!important;background:var(--card-mode-color);color:#111;box-shadow:0 0 12px color-mix(in oklab,var(--card-mode-color) 40%,transparent)}.game-card-header .game-card-title{flex:1;font-weight:700;font-size:1rem;color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase}.game-card-header .game-card-settings{position:static;margin-left:auto}.game-card-header .countdown-wrapper{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;margin-left:auto}.game-card-header .countdown-time{color:var(--card-mode-color);font-weight:600}.game-card-settings{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.game-card-settings:hover{background:rgba(255,255,255,.1);color:var(--card-mode-color)}.game-card-settings i,.game-card-settings svg{color:inherit;fill:currentColor;font-size:.9rem}.daily-puzzle-streak{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;background:#f59e0b;border-radius:4px;color:#111;font-weight:600;font-size:.75rem}.daily-puzzle-streak i{font-size:.9rem;animation:flame 2s ease-in-out infinite}.game-card-header .daily-puzzle-streak{margin-left:auto}.game-card-coin-chip{margin-left:auto;display:flex;align-items:center;gap:.3rem;padding:.35rem .6rem;background:rgba(var(--accent-rgb,251,191,36),.15);border:1px solid rgba(var(--accent-rgb,251,191,36),.3);border-radius:4px;font-weight:600;font-size:.75rem;color:var(--accent)}.game-card-coin-chip .chip-icon{width:14px;height:14px;object-fit:contain}@keyframes flame{0%,100%{transform:scale(1) rotate(-5deg)}50%{transform:scale(1.1) rotate(5deg)}}.game-card-body{position:relative;z-index:2;padding:0 16px 14px;display:flex;flex-direction:column;gap:10px}.game-card-info{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;width:100%}.game-card-desc{font-size:.85rem;color:var(--text-muted);text-align:left;flex:1}.game-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}.game-card-meta span{font-weight:600;font-size:.7rem;padding:.25rem .5rem;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;display:inline-flex;align-items:center}.game-card .game-card-meta .xp-multiplier,.game-card .game-card-meta .xp-multiplier i{color:#111;background:#00d5ff}.game-card .game-card-meta .coin-multiplier,.game-card .game-card-meta .coin-multiplier::before{color:#111;background:#ffce2d;font-size:.7rem}.game-card .game-card-meta .players-seeking,.game-card .game-card-meta .players-seeking i{color:var(--text-muted);background:0 0}.game-card-desc .players-seeking{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;font-size:.85rem;color:var(--text-muted)}.game-card-desc .players-seeking i{color:var(--text-muted)}.game-card-actions{display:flex;gap:.5rem}.game-card-actions .btn{flex:1;padding:.6rem 1rem;font-weight:600;font-size:.8rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;display:flex;align-items:center;justify-content:center;gap:.4rem;border:none;cursor:pointer;transition:all .2s ease}.game-card .game-card-play{background:var(--card-mode-color);color:#111}.game-card .game-card-play:hover{filter:brightness(1.15)}.game-card-play:not(#btnShowQR):not(#btnScanQR){position:relative;overflow:hidden;animation:game-card-pulse 1.5s ease-in-out infinite}.game-card-play i,.game-card-play svg{color:inherit;fill:currentColor}.game-card-play:not(#btnShowQR):not(#btnScanQR)::after{content:'';position:absolute;top:-100%;left:-50%;width:300%;height:220%;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 50%,rgba(255,255,255,0) 100%);transform:rotate(25deg);opacity:1;pointer-events:none;animation:game-card-shine 1.5s linear infinite}.game-card-play:not(#btnShowQR):not(#btnScanQR):hover{animation:none}.game-card-play.muted,.game-card-play[aria-disabled=true],.game-card-play[disabled]{animation:none!important;pointer-events:none;opacity:.6}.game-card-play.muted::after,.game-card-play[aria-disabled=true]::after,.game-card-play[disabled]::after{animation:none!important;opacity:0}#startPuzzleBtn.muted,#startPuzzleBtn[aria-disabled=true],#startPuzzleBtn[disabled]{animation:none!important;pointer-events:none!important;opacity:.6!important}#startPuzzleBtn.muted::after,#startPuzzleBtn[aria-disabled=true]::after,#startPuzzleBtn[disabled]::after{animation:none!important;opacity:0!important;display:none!important}@keyframes game-card-shine{0%{transform:translateX(-100%) rotate(25deg)}100%{transform:translateX(100%) rotate(25deg)}}@keyframes game-card-pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}100%{transform:scale(1)}}.game-card[data-mode=private] .game-card-actions{flex-wrap:nowrap}.game-card[data-mode=private] .game-card-actions .btn{flex:1;min-width:0;padding:.65rem .5rem}.game-card-settings-form{display:none}#gameModeSettingsModal .modal-body{padding:1rem}#gameModeSettingsModal .modal-body .game-card-settings-form{display:flex;flex-direction:column;gap:1rem}#gameModeSettingsModal .form-group{margin-bottom:0}#gameModeSettingsModal .modal-footer{padding:1rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end}@media (max-width:768px){.game-card{min-height:110px}.game-card-header{padding:12px 14px 8px}.game-card-icon{width:28px!important;height:28px!important;font-size:.85rem}.game-card-header .game-card-title{font-size:.85rem}.game-card-body{padding:0 14px 12px}.game-card-info{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.game-card-desc{font-size:.75rem}.game-card-meta{align-items:center;justify-content:flex-end}.game-card-meta span{font-size:.65rem;padding:.2rem .4rem;display:inline-flex;align-items:center}.game-card-actions .btn{padding:.5rem .5rem;font-size:.75rem}.game-card[data-mode=private] .game-card-actions .btn{min-width:0;flex:1}.daily-puzzle-streak{padding:.2rem .4rem;font-size:.65rem}}:root[data-theme=light] .game-card{background:linear-gradient(100deg,color-mix(in oklab,var(--card-mode-color) 8%,var(--surface)) 0,var(--surface) 30%,var(--surface) 100%);box-shadow:0 2px 12px rgba(0,0,0,.08),inset 4px 0 12px -6px color-mix(in oklab,var(--card-mode-color) 20%,transparent),inset 0 1px 0 rgba(255,255,255,.9);border-left-color:var(--card-mode-color)}:root[data-theme=light] .game-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.12),-3px 0 20px color-mix(in oklab,var(--card-mode-color) 15%,transparent),inset 6px 0 20px -8px color-mix(in oklab,var(--card-mode-color) 25%,transparent)}:root[data-theme=light] .game-card-icon{color:#fff}:root[data-theme=light] .game-card-settings:hover{background:rgba(0,0,0,.05)}:root[data-theme=light] .game-card .game-card-play{color:#fff}.game-card-body--lessons,.game-card-body--quests{padding:0}.game-card-body--lessons .puzzle-loading{padding:1rem}.lobby-games-section{max-height:500px;overflow-y:auto;contain:layout style;will-change:scroll-position;transform:translateZ(0)}.lobby-games-section .sidebar-item{background:var(--glass-bg);border-left:2px solid var(--mode-public)}div#lobbyPublicGames .sidebar-item{border-left:2px solid var(--mode-public)}div#lobbyTrainingGames .sidebar-item{border-left:2px solid var(--mode-training)}.lobby-games-section .sidebar-item.public-game{border-left:2px solid var(--mode-public)}.lobby-games-section .sidebar-item.friend-game{border-left:2px solid var(--mode-private)}.lobby-games-section .sidebar-item[data-mode=public]{border-left-color:var(--mode-public)}.lobby-games-section .sidebar-item[data-mode=private]{border-left-color:var(--mode-private)}.lobby-games-section .sidebar-item[data-mode=ai]{border-left-color:var(--mode-ai)}.lobby-games-section .sidebar-item[data-mode=training]{border-left-color:var(--mode-training)}.lobby-games-section .sidebar-item[data-mode=trial]{border-left-color:var(--mode-trial)}.lobby-games-section .sidebar-item-status.active{color:var(--success)}.lobby-games-section .sidebar-item-status.finished{color:var(--text-muted)}.lobby-games-section .sidebar-item-status.funding{color:var(--warning)}.lobby-games-section .sidebar-item-status.waiting{color:var(--info)}.lobby-games-section .sidebar-item-status.settled{display:inline-block;font-size:.65rem;font-weight:600;padding:.125rem .375rem;border-radius:999px;letter-spacing:.025em;background-color:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.lobby-games-section .status-badge.in-progress{background-color:rgba(var(--success-rgb,34,197,94),.15);color:var(--success)}.lobby-games-section .status-badge.settled{background-color:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.lobby-games-section .status-badge.funding{background-color:rgba(var(--warning-rgb,251,191,36),.15);color:var(--warning)}.lobby-games-section .status-badge.waiting{background-color:rgba(var(--info-rgb,59,130,246),.15);color:var(--info)}.lobby-games-section .empty-state{text-align:center;padding:1rem;color:var(--text-muted);background:var(--glass-bg);border-radius:6px}.lobby-games-section .empty-state p{margin:0 0 .25rem 0;font-size:.875rem}.lobby-games-section .empty-state small{font-size:.75rem;color:var(--text-muted)}.lobby-games-section::-webkit-scrollbar{width:4px}.lobby-games-section::-webkit-scrollbar-track{background:var(--surface);border-radius:2px}.lobby-games-section::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.lobby-games-section::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:768px){.lobby-game-item{padding:6px 10px}.lobby-game-avatar{width:28px;height:28px;font-size:.75rem;margin-right:10px}.lobby-game-name{font-size:.8125rem}.lobby-game-status{font-size:.6875rem}}.card-games-container{display:flex;flex-direction:column;gap:.375rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.06)}.card-games-container.hidden{display:none}.card-game-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .625rem;background:var(--surface);border-radius:4px;cursor:pointer;transition:background .15s ease}.card-game-item:hover{background:rgba(0,0,0,.15)}.card-game-opponent{font-size:.8rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.card-game-item .status-badge{font-size:.7rem;font-weight:600;padding:.15rem .4rem;border-radius:8px;letter-spacing:.02em;margin-left:auto;flex-shrink:0;border:none}.card-game-item .status-badge.online{background:rgba(var(--success-rgb,34,197,94),.15);color:var(--success)}.card-game-item .status-badge.away{background:rgba(245,158,11,.15);color:#f59e0b}.card-game-item .status-badge.offline{background:rgba(120,120,120,.15);color:grey}.card-game-item .status-badge.settled{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.card-game-item .status-badge.waiting{background:rgba(var(--info-rgb,59,130,246),.15);color:var(--info)}.card-game-item .status-badge.your-turn{background:rgba(var(--accent-rgb,0,213,255),.2);color:var(--accent);animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,100%{opacity:1}50%{opacity:.7}}.card-games-more{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.4rem .5rem;background:0 0;border:1px dashed rgba(255,255,255,.15);border-radius:4px;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s ease}.card-games-more:hover{background:rgba(255,255,255,.05);border-color:var(--card-mode-color,var(--accent));color:var(--card-mode-color,var(--accent))}.card-games-more i{font-size:.7rem}.card-game-remove{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:0 0;border:none;border-radius:3px;color:var(--text-muted);cursor:pointer;opacity:.6;transition:all .15s ease;flex-shrink:0;margin-left:.5rem}.card-game-item:hover .card-game-remove{opacity:1}.card-game-remove:hover{background:rgba(239,68,68,.2);color:var(--danger,#ef4444);opacity:1}.card-game-remove i{font-size:.6rem}.modal-games-header{font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem;text-align:center}.modal-games-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.modal-game-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--surface);border-radius:0;transition:background .15s ease;border-left:3px solid var(--card-mode-color,var(--accent));gap:.5rem}.modal-game-item:hover{background:var(--surface-hover)}.modal-game-info{display:flex;align-items:center;gap:.75rem;flex:1;cursor:pointer;min-width:0}.modal-game-opponent{font-size:.9rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-game-add{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:rgba(var(--accent-rgb,0,213,255),.1);border:1px dashed var(--accent);border-radius:4px;color:var(--accent);cursor:pointer;transition:all .15s ease;flex-shrink:0}.modal-game-add:hover{background:rgba(var(--accent-rgb,0,213,255),.2);border-style:solid}.modal-game-add i{font-size:.7rem}.modal-game-pinned{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;color:var(--text-muted);flex-shrink:0}.modal-game-pinned i{font-size:.7rem;transform:rotate(45deg)}.vs-screen-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:101;pointer-events:auto;overflow:hidden}.vs-screen-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;backdrop-filter:blur(1px);animation:vs-backdrop-fade 2s ease-out forwards}[data-theme=light] .vs-screen-backdrop{background:rgba(255,255,255,.2);backdrop-filter:blur(1px)}.vs-screen-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:0 10px;box-sizing:border-box;flex-wrap:wrap}@media (max-width:768px){.vs-screen-content{transform:translate(-50%,-50%) scale(2.2);transform-origin:center center}}.vs-player-card{position:relative;width:140px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;background:rgba(20,28,50,.8);border:2px solid;border-radius:8px;animation:vs-card-entrance .9s cubic-bezier(.34,1.56,.64,1) forwards}[data-theme=light] .vs-player-card{background:rgba(255,255,255,.9)}.vs-player-card.vs-white-player{border-color:var(--accent);box-shadow:0 0 20px rgba(0,213,255,.4)}.vs-player-card.vs-black-player{border-color:var(--accent2);box-shadow:0 0 20px rgba(255,46,168,.4)}[data-theme=light] .vs-player-card.vs-white-player{border-color:var(--accent);box-shadow:0 0 20px rgba(17,24,39,.2)}[data-theme=light] .vs-player-card.vs-black-player{border-color:var(--accent2);box-shadow:0 0 20px rgba(225,29,72,.3)}.vs-player-top{animation:vs-card-entrance-top .9s cubic-bezier(.34,1.56,.64,1) forwards}.vs-player-bottom{animation:vs-card-entrance-bottom .9s cubic-bezier(.34,1.56,.64,1) forwards}.vs-card-border{position:absolute;width:12px;height:12px;border:2px solid}.vs-player-card.vs-white-player .vs-card-border{border-color:var(--accent)}.vs-player-card.vs-black-player .vs-card-border{border-color:var(--accent2)}[data-theme=light] .vs-player-card.vs-white-player .vs-card-border{border-color:var(--accent)}[data-theme=light] .vs-player-card.vs-black-player .vs-card-border{border-color:var(--accent2)}.vs-card-border-top-left{top:-2px;left:-2px;border-right:none;border-bottom:none}.vs-card-border-top-right{top:-2px;right:-2px;border-left:none;border-bottom:none}.vs-card-border-bottom-left{bottom:-2px;left:-2px;border-right:none;border-top:none}.vs-card-border-bottom-right{bottom:-2px;right:-2px;border-left:none;border-top:none}.vs-avatar-container{position:relative;width:100px;height:100px;border-radius:4px;overflow:hidden;background:rgba(10,15,26,.6);border:2px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center}[data-theme=light] .vs-avatar-container{background:rgba(240,245,250,.6);border-color:rgba(0,0,0,.1)}.vs-avatar{width:100%;height:100%;object-fit:cover;display:block}.vs-avatar-placeholder{display:none;align-items:center;justify-content:center;width:100%;height:100%;font-size:24px;font-weight:700;color:#f9fafb;background:linear-gradient(135deg,rgba(20,28,50,.8) 0,rgba(10,15,26,.9) 100%)}[data-theme=light] .vs-avatar-placeholder{color:#111827;background:linear-gradient(135deg,rgba(240,245,250,.8) 0,rgba(255,255,255,.9) 100%)}.vs-player-info{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.vs-player-name{font-size:14px;font-weight:700;color:#f9fafb;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}[data-theme=light] .vs-player-name{color:#111827}.vs-player-stats{display:flex;gap:8px;justify-content:center;width:100%;flex-wrap:wrap}.vs-stat{display:flex;align-items:center;gap:3px;background:rgba(10,15,26,.6);padding:4px 8px;border-radius:3px;font-size:11px}[data-theme=light] .vs-stat{background:rgba(240,245,250,.6)}.vs-stat-label{color:var(--accent);font-weight:700}.vs-stat-value{color:#f9fafb;font-weight:600;min-width:30px;text-align:right}[data-theme=light] .vs-stat-value{color:#111827}.vs-coin-icon{width:12px;height:12px;filter:brightness(1.2)}.vs-first-badge{position:absolute;top:-10px;right:-10px;background:#fbbf24;color:#000;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:1px;text-shadow:0 0 4px rgba(251,191,36,.3);animation:vs-first-badge-glow 2s ease-in-out infinite;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.18)}.vs-winner-crown{position:absolute;top:-40px;left:50%;transform:translateX(-50%);display:none;align-items:center;justify-content:center;font-size:60px;color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.8),0 0 20px rgba(251,191,36,.6);animation:vs-crown-glow 2s ease-in-out infinite;z-index:3;filter:drop-shadow(0 0 8px rgba(251, 191, 36, .6))}@keyframes vs-crown-glow{0%,100%{filter:drop-shadow(0 0 8px rgba(251, 191, 36, .6));text-shadow:0 0 10px rgba(251,191,36,.8),0 0 20px rgba(251,191,36,.6)}50%{filter:drop-shadow(0 0 16px rgba(251, 191, 36, .9));text-shadow:0 0 15px #fbbf24,0 0 30px rgba(251,191,36,.8)}}[data-theme=light] .vs-winner-crown{color:#111827;text-shadow:0 0 6px rgba(0,0,0,.12),0 0 12px rgba(0,0,0,.08);filter:drop-shadow(0 0 4px rgba(0, 0, 0, .2))}@keyframes vs-crown-glow-light{0%,100%{filter:drop-shadow(0 0 4px rgba(0, 0, 0, .2));text-shadow:0 0 6px rgba(0,0,0,.12),0 0 12px rgba(0,0,0,.08)}50%{filter:drop-shadow(0 0 8px rgba(0, 0, 0, .35));text-shadow:0 0 10px rgba(0,0,0,.2),0 0 16px rgba(0,0,0,.15)}}[data-theme=light] .vs-winner-crown{animation:vs-crown-glow-light 2s ease-in-out infinite}@keyframes vs-first-badge-glow{0%,100%{filter:drop-shadow(0 0 4px rgba(251, 191, 36, .3))}50%{filter:drop-shadow(0 0 8px rgba(251, 191, 36, .6))}}[data-theme=light] .vs-first-badge{background:#fbbf24;color:#000;text-shadow:0 0 4px rgba(0,0,0,.2);animation:vs-first-badge-glow-light 2s ease-in-out infinite;top:-10px;right:-10px}@keyframes vs-first-badge-glow-light{0%,100%{filter:drop-shadow(0 0 4px rgba(0, 0, 0, .2))}50%{filter:drop-shadow(0 0 8px rgba(0, 0, 0, .4))}}.vs-center-clash{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;opacity:0;animation:vs-clash-scale 1.2s cubic-bezier(.68,-.55,.265,1.55) forwards,vs-text-glow 2s ease-in-out infinite}.vs-vs-text{font-size:72px;font-weight:900;letter-spacing:8px;color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.6),0 0 20px rgba(255,255,255,.4),0 2px 4px rgba(0,0,0,.5);white-space:nowrap}[data-theme=light] .vs-vs-text{color:#111827;text-shadow:0 0 6px rgba(0,0,0,.12),0 0 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.2)}@keyframes vs-text-glow{0%,100%{filter:drop-shadow(0 0 4px rgba(251, 191, 36, .3))}50%{filter:drop-shadow(0 0 8px rgba(251, 191, 36, .6))}}@keyframes vs-text-glow-light{0%,100%{filter:drop-shadow(0 0 4px rgba(0, 0, 0, .2))}50%{filter:drop-shadow(0 0 8px rgba(0, 0, 0, .4))}}[data-theme=light] .vs-center-clash{animation:vs-clash-scale 1.2s cubic-bezier(.68,-.55,.265,1.55) forwards,vs-text-glow-light 2s ease-in-out infinite}.vs-clash-line{position:absolute;height:12px;background:linear-gradient(135deg,transparent,#fbbf24,transparent);animation:vs-clash-line-expand .5s ease-out forwards;transform-origin:center;box-shadow:0 0 20px #fbbf24}[data-theme=light] .vs-clash-line{background:linear-gradient(135deg,transparent,#fbbf24,transparent)}.vs-clash-line.vs-clash-line-diagonal{top:50%;left:50%;width:0;height:12px;transform:translate(-50%,-50%) rotate(45deg)}@keyframes vs-clash-line-expand{0%{width:0;opacity:1}100%{width:350px;opacity:0}}@keyframes vs-card-entrance{0%{opacity:0;transform:translateX(-50px) scale(.8)}100%{opacity:1;transform:translateX(0) scale(1)}}@keyframes vs-card-entrance-top{0%{opacity:0;transform:translateY(-50px) scale(.8)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes vs-card-entrance-bottom{0%{opacity:0;transform:translateY(50px) scale(.8)}100%{opacity:1;transform:translateY(0) scale(1)}}.vs-player-2{animation:vs-card-entrance-right .9s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes vs-card-entrance-right{0%{opacity:0;transform:translateX(50px) scale(.8)}100%{opacity:1;transform:translateX(0) scale(1)}}@keyframes vs-clash-scale{0%{opacity:0;transform:scale(.5)}100%{opacity:1;transform:scale(1)}}@keyframes vs-animation{0%{opacity:1}85%{opacity:1}100%{opacity:0}}@keyframes vs-backdrop-fade{0%{backdrop-filter:blur(1px)}85%{backdrop-filter:blur(1px)}100%{backdrop-filter:blur(0px)}}.vs-screen-skip-hint{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);color:#f9fafb;font-size:12px;opacity:0;pointer-events:none;transition:opacity .3s ease-out;z-index:1000}[data-theme=light] .vs-screen-skip-hint{color:#111827}.vs-screen-skip-hint.visible{opacity:.6;animation:vs-skip-hint-blink .5s ease-in-out infinite}@keyframes vs-skip-hint-blink{0%,100%{opacity:.4}50%{opacity:.8}}@media (max-width:768px){.vs-screen-content{transform:translate(-50%,-50%);transform-origin:center center;padding:0 6px;gap:8px}.vs-player-card{width:90px;padding:8px;gap:6px;flex-shrink:1}.vs-avatar-container{width:60px;height:60px}.vs-avatar-placeholder{font-size:14px}.vs-player-name{font-size:10px}.vs-player-info{gap:6px}.vs-stat{padding:2px 4px;font-size:8px}.vs-stat-label{font-size:8px}.vs-stat-value{font-size:9px;min-width:25px}.vs-vs-text{font-size:32px;letter-spacing:3px}.vs-first-badge{font-size:8px;padding:3px 6px}.vs-winner-crown{font-size:32px;top:-20px}.vs-screen-skip-hint{font-size:11px}}:root{--turn-anim-duration:12s}.turn-indicator-svg{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);pointer-events:none;z-index:10;opacity:0;transition:opacity .3s ease;overflow:visible}#opponentInfoChip.turn-active .turn-indicator-svg,#playerInfoChip.turn-active .turn-indicator-svg{opacity:1}.turn-indicator-rect{fill:none;stroke:var(--turn-shine-color,#00d5ff);stroke-width:2px;stroke-linecap:round;stroke-dasharray:0.25 0.75;stroke-dashoffset:0;animation:turn-shine-move var(--turn-anim-duration) linear infinite;filter:drop-shadow(0 0 4px var(--turn-shine-color, #00d5ff));vector-effect:non-scaling-stroke}@keyframes turn-shine-move{to{stroke-dashoffset:-1}}#opponentInfoChip.turn-active.white-player,#playerInfoChip.turn-active.white-player{--turn-shine-color:var(--color-white)}#opponentInfoChip.turn-active.black-player,#playerInfoChip.turn-active.black-player{--turn-shine-color:var(--color-black)}#opponentInfoChip.turn-pulse,#playerInfoChip.turn-pulse{animation:turn-chip-pulse .3s ease-out}@keyframes turn-chip-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.turn-indicator-rect{animation:none;stroke-dasharray:1 0;opacity:.5}}#lobby #playerInfoChip .turn-indicator-svg{display:none}@media (max-width:768px){.turn-indicator-rect{rx:6px;ry:6px}}.heatmap-header{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.heatmap-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.heatmap-bars{display:flex;flex-direction:column;gap:1rem}.heatmap-empty{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.9rem;font-style:italic}.heatmap-row{display:grid;grid-template-columns:70px 1fr 80px;gap:.75rem;align-items:center}.heatmap-label{font-size:.85rem;font-weight:500;color:var(--text-secondary);text-align:right;min-width:70px}.heatmap-bar-wrapper{position:relative;display:flex;align-items:center;flex:1}.heatmap-bar-bg{position:absolute;width:100%;height:24px;background:var(--surface-hover);border-radius:6px;overflow:hidden}.heatmap-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),rgba(100,200,255,.8));border-radius:6px;transition:width .6s ease-out;min-width:4px}.heatmap-percent{position:relative;z-index:2;font-size:.85rem;font-weight:600;color:var(--text-primary);padding:0 .5rem;text-align:center;min-width:40px}.heatmap-count{font-size:.8rem;color:var(--text-secondary);text-align:right;min-width:80px;white-space:nowrap}@media (max-width:768px){.heatmap-row{grid-template-columns:60px 1fr 60px;gap:.5rem}.heatmap-label{min-width:60px;font-size:.8rem}.heatmap-percent{min-width:35px;font-size:.8rem}.heatmap-count{min-width:60px;font-size:.75rem}.heatmap-bar-bg{height:20px}}:root[data-theme=dark] .heatmap-bar-fill{background:linear-gradient(90deg,#00d4ff,#09c)}:root[data-theme=light] .heatmap-bar-fill{background:linear-gradient(90deg,#06f,#09f)}#achievementsModal{--card-mode-color:#FBBF24}#achievementsModal .modal-content.achievements-modal{max-width:900px;width:95%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}#achievementsModal .modal-header{flex-shrink:0}.achievements-heading{display:flex;align-items:center;gap:1rem}.achievements-heading .modal-title{color:var(--notify-trophy,#fbbf24);display:flex;align-items:center;gap:.5rem}.achievements-heading .modal-title::before{content:'\f091';font-family:'Font Awesome 6 Free';font-weight:900}.achievement-count{font-size:.875rem;color:var(--text-muted);background:var(--surface-hover);padding:.25rem .75rem;border-radius:999px;font-weight:600}#achievementsModal .modal-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0}.achievement-controls{display:flex;flex-direction:column;gap:.75rem;padding:1rem;flex-shrink:0}.achievement-filters{display:flex;gap:.5rem;flex-wrap:wrap}#achievementsModal .tab-header{display:flex;gap:.5rem;padding:0 1rem;align-items:center;justify-content:center;margin-bottom:.5rem}#achievementsModal .tab-header .tab-button{padding:.5rem .75rem}.achievement-filters .chip{padding:.375rem .75rem;font-size:.8125rem;border-radius:999px;background:var(--surface-hover);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.achievement-filters .chip:hover{background:var(--hover);border-color:var(--text-muted)}.achievement-filters .chip.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}#achievementsModal .achievement-list{flex:1;overflow-y:auto;padding:1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;align-content:start;min-height:0;max-height:none}.achievement-empty{grid-column:1/-1;text-align:center;color:var(--text-muted);padding:3rem}.achievement-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:visible;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.achievement-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.achievement-card.locked{filter:grayscale(1);opacity:.7}.achievement-card.locked:hover{opacity:.9;transform:translateY(-1px)}.achievement-card:not(.locked){box-shadow:0 4px 12px rgba(0,0,0,.08)}.achievement-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tier-color,var(--border));transition:width .2s ease}.achievement-card:hover::before{width:6px}.achievement-card[data-tier=bronze]::before{--tier-color:#CD7F32}.achievement-card[data-tier=silver]::before{--tier-color:#C0C0C0}.achievement-card[data-tier=gold]::before{--tier-color:#FFD700}.achievement-card-header{display:flex;align-items:center;gap:1rem;padding:1rem 1rem .75rem 1.25rem}.achievement-icon{width:56px;height:56px;flex-shrink:0;position:relative}.achievement-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .2))}.achievement-tier-badge{position:absolute;bottom:-4px;right:-4px;font-size:.625rem;font-weight:700;text-transform:uppercase;padding:.125rem .375rem;border-radius:4px;background:var(--tier-bg);color:var(--tier-text);box-shadow:0 1px 3px rgba(0,0,0,.2)}.achievement-tier-badge[data-tier=bronze]{--tier-bg:#CD7F32;--tier-text:#fff}.achievement-tier-badge[data-tier=silver]{--tier-bg:#C0C0C0;--tier-text:#333}.achievement-tier-badge[data-tier=gold]{--tier-bg:#FFD700;--tier-text:#333}.achievement-info{flex:1;min-width:0}.achievement-title{font-weight:600;font-size:.9375rem;color:var(--text);margin-bottom:.25rem;line-height:1.3}.achievement-description{font-size:.8125rem;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.achievement-progress-section{padding:0 1rem .75rem 1.25rem}.achievement-progress-bar{height:6px;background:var(--surface-hover);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.achievement-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent,var(--primary)));border-radius:3px;transition:width .3s ease}.achievement-card[data-tier=bronze] .achievement-progress-fill{background:linear-gradient(90deg,#cd7f32,#e8a867)}.achievement-card[data-tier=silver] .achievement-progress-fill{background:linear-gradient(90deg,#a8a8a8,#d4d4d4)}.achievement-card[data-tier=gold] .achievement-progress-fill{background:linear-gradient(90deg,#daa520,gold)}.achievement-progress-text{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.achievement-rewards{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem .75rem 1.25rem;background:var(--surface-hover);border-top:1px solid var(--border);margin-top:auto}.achievement-reward{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600}.achievement-reward i{font-size:.875rem}.achievement-reward.xp-reward{color:var(--primary)}.achievement-reward.xp-reward i{color:var(--primary)}.achievement-reward.coin-reward{color:gold}.achievement-reward .coin-icon-small{width:14px;height:14px}.achievement-action{border-radius:0 0 10px 10px;padding:.75rem 1rem;background:var(--surface-hover)}.achievement-claim-btn{width:100%}.achievement-claim-btn.claimed{background:var(--success);color:#fff;cursor:default}.achievement-claim-btn.locked{background:var(--surface);color:var(--text-muted);border:1px solid var(--border);cursor:default}.achievement-status{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;font-size:.8125rem;color:var(--text-muted);background:var(--surface-hover)}.achievement-status i{font-size:.75rem}.achievement-status.completed{color:var(--success)}.achievement-card.newly-unlocked{animation:achievement-shine 1s ease-out}@keyframes achievement-shine{0%{box-shadow:0 0 0 0 rgba(255,215,0,.6)}50%{box-shadow:0 0 20px 10px rgba(255,215,0,.3)}100%{box-shadow:0 8px 24px rgba(0,0,0,.15)}}@media (max-width:768px){#achievementsModal{z-index:1050}#achievementsModal .modal-content.achievements-modal{background:var(--panel-solid-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important;margin:0!important;min-width:100%!important;width:100%!important;min-height:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important;padding:1rem!important;padding-bottom:calc(1rem + var(--mobile-bottom-menu-height,56px) + env(safe-area-inset-bottom,0px))!important;box-shadow:none!important;border:none!important;overflow-y:auto!important}#achievementsModal.modal:not(.hidden){align-items:stretch!important;justify-content:flex-start!important}#achievementsModal .modal-body{padding:0}#achievementsModal .achievement-list{grid-template-columns:1fr;padding:.75rem;gap:.75rem}.achievement-card-header{padding:.875rem .875rem .625rem 1rem}.achievement-icon{width:48px;height:48px}.achievement-progress-section{padding:0 .875rem .625rem 1rem}.achievement-rewards{padding:.625rem .875rem}.achievement-action{padding:.625rem .875rem}.achievement-controls{padding:.75rem}.achievement-filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.achievement-filters::-webkit-scrollbar{display:none}}@media (min-width:769px){#achievementsModal .modal-content.achievements-modal{background:var(--panel-solid-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important;margin:0!important;min-width:100vw!important;width:100vw!important;min-height:100vh!important;height:100vh!important;max-width:100%!important;max-height:100%!important;padding:1rem!important;box-shadow:none!important;border:none!important}#achievementsModal.modal:not(.hidden){align-items:stretch!important;justify-content:flex-start!important}#achievementsModal .achievement-list{grid-template-columns:repeat(3,1fr);gap:1rem}.achievement-icon{width:64px;height:64px}}@media (max-width:768px){#leaderboardModal{z-index:1050}#leaderboardModal .modal-content{background:var(--panel-solid-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important;margin:0!important;min-width:100%!important;width:100%!important;min-height:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important;padding:1rem!important;padding-bottom:calc(1rem + var(--mobile-bottom-menu-height,56px) + env(safe-area-inset-bottom,0px))!important;box-shadow:none!important;border:none!important;overflow-y:auto!important}#leaderboardModal.modal:not(.hidden){align-items:stretch!important;justify-content:flex-start!important}}:root[data-theme=light] .achievement-card{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}:root[data-theme=light] .achievement-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1)}:root[data-theme=light] .achievement-rewards{background:rgba(0,0,0,.02)}:root[data-theme=light] .achievement-action{background:rgba(0,0,0,.02)}:root[data-theme=light] .achievement-claim-btn.locked{background:#f5f5f5}:root[data-theme=light] .achievement-filters .chip{background:#f5f5f5}:root[data-theme=light] .achievement-filters .chip:hover{background:#eee}:root[data-theme=light] .achievements-heading .modal-title{color:#000}:root[data-theme=light] .achievements-heading .modal-title::before{color:#000}.game-card[data-mode=ai]{display:none!important}.game-card--trial{--card-mode-color:var(--mode-trial);position:relative;overflow:visible;clip-path:none}.game-card--trial .game-card-icon{background:var(--card-mode-color);color:#111;box-shadow:0 0 12px color-mix(in oklab,var(--card-mode-color) 40%,transparent)}.game-card--trial .game-card-play{background:var(--card-mode-color);color:#111}.game-card--trial .game-card-play:hover{filter:brightness(1.15)}.trial-lobby-new-chip{position:absolute;top:-7px;right:.5rem;background:linear-gradient(135deg,#ff6b6b 0,#ff2ea8 100%);color:#fff;font-size:.625rem;font-weight:700;padding:2px 6px;clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px rgba(238,90,36,.4);z-index:10;pointer-events:none;overflow:hidden}.trial-lobby-new-chip::after{content:'';position:absolute;top:-100%;left:-50%;width:300%;height:220%;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 100%);transform:rotate(25deg);animation:trial-chip-shine 2s linear infinite;pointer-events:none}#trialModal{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--panel-solid-bg);z-index:1150;display:flex;flex-direction:column;min-height:100dvh;overflow:hidden}#trialModal.hidden{display:none}#trialModal .modal-content.trial-modal{width:100%;height:100%;max-width:100%;max-height:100%;margin:0;border-radius:0;border:none;background:var(--panel-solid-bg);display:flex;flex-direction:column;overflow:hidden;padding:0;padding-bottom:calc(var(--mobile-bottom-menu-height,56px) + env(safe-area-inset-bottom,0px))!important}#trialModal .modal-header{padding:1rem 1.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.trial-heading{display:flex;align-items:center;gap:1rem}.trial-heading .modal-title{color:var(--error);font-family:var(--font-heading);font-weight:700;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.trial-heading .modal-title i{font-size:1rem}#trialModal .modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:1.5rem;position:relative}.trial-character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;max-width:1200px;margin:0 auto}.trial-character-card{position:relative;background:var(--surface);border:2px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease;aspect-ratio:3/4;display:flex;flex-direction:column}@media (hover:hover) and (pointer:fine){.trial-character-card:hover:not(.locked){border-color:var(--error);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3)}.trial-character-card:hover:not(.locked) .trial-character-info{transform:translateY(100%);opacity:0}}.trial-character-card.mobile-hover:not(.locked){border-color:var(--error);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3)}.trial-character-card.mobile-hover:not(.locked) .trial-character-info{transform:translateY(100%);opacity:0}@media (hover:hover) and (pointer:fine){.trial-character-card:active:not(.locked){transform:translateY(0)}}.trial-character-card.locked{opacity:.7;cursor:not-allowed;filter:grayscale(.8) contrast(1.1)}.trial-character-portrait{flex:1;position:relative;overflow:hidden;background:var(--surface-hover);display:flex;align-items:center;justify-content:center}.trial-character-portrait img{width:100%;height:100%;object-fit:cover;object-position:top center}.trial-video-container{position:absolute;inset:0;opacity:0;transition:opacity .3s ease;pointer-events:none;display:flex;align-items:center;justify-content:center;background:var(--surface-hover)}.trial-video-container.active{opacity:1}.trial-video-container.hidden{display:none}.trial-character-video{width:100%;height:100%;object-fit:cover;object-position:top center}.trial-video-loader{position:absolute;z-index:1;width:24px;height:24px;border-width:2px}.trial-video-loader.hidden{display:none}.trial-character-portrait-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--surface-hover) 0,var(--surface) 100%);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.75rem}.trial-character-portrait-placeholder::after{content:''}.trial-lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;color:var(--text-secondary);text-align:center;background:rgba(0,0,0,.2)}.trial-lock-overlay i{font-size:1.5rem;margin-bottom:.5rem}.trial-lock-overlay span{font-size:.7rem;padding:.25rem .5rem}.trial-character-info{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:var(--bg-secondary);border-top:1px solid var(--border);transition:transform .3s ease,opacity .3s ease;z-index:1}.trial-character-name{font-family:var(--font-heading);font-weight:700;font-size:.875rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.trial-character-header{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.trial-first-defeat-loot{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.trial-loot-item{display:flex;align-items:center;gap:2px;font-size:.625rem;font-weight:600;color:var(--text-secondary)}.trial-loot-item i{font-size:.5rem;color:var(--primary)}.trial-loot-item .coin-icon-small{width:10px;height:10px}.trial-character-title{font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trial-character-difficulty{font-size:.6rem;color:var(--text-muted);margin-top:.125rem;display:flex;align-items:center;gap:.25rem}.trial-difficulty-label{color:var(--text-muted);opacity:.7}.trial-difficulty-pips{display:flex;gap:2px;align-items:center}.trial-difficulty-pip{width:5px;height:5px;border-radius:1px;background:var(--border)}.trial-difficulty-pip.filled{background:var(--accent)}.trial-character-style{font-size:.6rem;color:var(--text-muted);margin-top:.125rem}.trial-style-label{color:var(--text-muted);opacity:.7}.trial-new-chip{position:absolute;top:.5rem;right:.5rem;background:linear-gradient(135deg,#ff6b6b 0,#ff2ea8 100%);color:#fff;font-size:.625rem;font-weight:700;padding:2px 6px;clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px rgba(238,90,36,.4);z-index:4;pointer-events:none;overflow:hidden}.trial-new-chip::after{content:'';position:absolute;top:-100%;left:-50%;width:300%;height:220%;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 100%);transform:rotate(25deg);animation:trial-chip-shine 2s linear infinite;pointer-events:none}@keyframes trial-chip-shine{0%{transform:translateX(-100%) rotate(25deg)}100%{transform:translateX(100%) rotate(25deg)}}.trial-character-card.defeated::after{content:'✓';position:absolute;top:.5rem;right:.5rem;width:1.5rem;height:1.5rem;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;z-index:3}.trial-detail-panel{display:none!important}@media (max-width:768px){#trialModal{display:flex!important;align-items:stretch;justify-content:stretch;padding:0;overflow:hidden!important}#trialModal.hidden{display:none!important}.trial-character-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}#trialModal .modal-body{padding:1rem}.trial-heading .modal-title{font-size:1rem}}@media (max-width:480px){.trial-character-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.trial-character-card{aspect-ratio:2/3}.trial-character-info{padding:.375rem}.trial-character-name{font-size:.75rem}.trial-character-title{font-size:.625rem}}.lobby-activity-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1rem;backdrop-filter:blur(12px) saturate(120%);margin-top:1rem;margin-bottom:1rem}.lobby-activity-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0}.lobby-activity-title i{color:var(--accent);font-size:.85rem}.lobby-activity-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.lobby-activity-more{display:flex;align-items:center;gap:.25rem;background:0 0;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease}.lobby-activity-more:hover{color:var(--accent);background:var(--surface-hover)}.lobby-activity-feed{display:flex;flex-direction:column;gap:.5rem}.activity-entry{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;background:var(--surface);border-left:3px solid var(--entry-accent,var(--accent));cursor:pointer;transition:all .2s ease}.activity-entry:hover{background:var(--surface-hover);transform:translateX(2px)}.activity-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--entry-accent,var(--accent)) 15%,transparent);border-radius:50%;color:var(--entry-accent,var(--accent));font-size:.85rem}.activity-content{flex:1;min-width:0}.activity-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}.activity-player{font-weight:600;font-size:.8rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-time{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.activity-description{font-size:.75rem;color:var(--text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-like-btn{flex-shrink:0;display:flex;align-items:center;gap:.25rem;background:0 0;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:.35rem .5rem;border-radius:16px;transition:all .2s ease}.activity-like-btn:hover{background:color-mix(in srgb,var(--accent2) 15%,transparent);color:var(--accent2)}.activity-like-btn.liked{color:var(--accent2)}.activity-like-btn.liked i{animation:heartBeat .3s ease}@keyframes heartBeat{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}.like-count{font-weight:500}.activity-empty,.activity-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;color:var(--text-muted);text-align:center}.activity-empty i,.activity-empty-state i{font-size:1.5rem;opacity:.5}.activity-empty span,.activity-empty-state p{font-size:.8rem;margin:0}.lobby-activity-feed .activity-empty.activity-empty-compact{padding:.35rem .5rem;gap:.25rem;color:var(--text-muted);text-align:center}.lobby-activity-feed .activity-empty.activity-empty-compact i{display:none}.lobby-activity-feed .activity-empty.activity-empty-compact span{font-size:.78rem;line-height:1.2;display:block}.activity-loading{display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--text-muted)}.activity-feed-full{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.activity-feed-full .activity-entry{padding:.75rem 1rem}.activity-load-more{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.activity-load-more:hover{background:var(--surface-hover);color:var(--accent);border-color:var(--accent)}#activityModal .modal-content{background:var(--panel-solid-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-radius:0!important;margin:0!important;min-width:100vw!important;width:100vw!important;min-height:100vh!important;height:100vh!important;max-width:100%!important;max-height:100%!important;padding:0!important;box-shadow:none!important;border:none!important}#activityModal.modal:not(.hidden){align-items:stretch!important;justify-content:flex-start!important}#activityModal .modal-header{padding:1rem;border-bottom:1px solid var(--glass-border)}#activityModal .modal-body{padding:0;overflow-y:auto;flex:1;padding-bottom:calc(1rem + var(--mobile-bottom-menu-height,56px) + env(safe-area-inset-bottom,0px))}.activity-modal-tabs{display:flex;border-bottom:1px solid var(--glass-border);padding:0 1rem;background:var(--surface)}.activity-modal-tab{flex:1;padding:.75rem 1rem;background:0 0;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.activity-modal-tab:hover{color:var(--text-secondary)}.activity-modal-tab.active{color:var(--accent);border-bottom-color:var(--accent)}@media (max-width:768px){.lobby-activity-section{padding:.75rem;margin-top:.75rem;margin-bottom:.75rem}.activity-entry{padding:.5rem .6rem;gap:.5rem}.activity-icon{width:28px;height:28px;font-size:.75rem}.activity-player{font-size:.75rem}.activity-description{font-size:.7rem}.activity-like-btn{padding:.25rem .35rem;font-size:.7rem}}@media (max-width:480px){.lobby-activity-header{flex-wrap:wrap}.activity-entry{flex-wrap:wrap}.activity-like-btn{margin-left:auto}}#storeModal .modal-content{padding:0!important}@media (max-width:768px){#storeModal .modal-content{padding-bottom:calc(1rem + var(--mobile-bottom-menu-height,56px) + env(safe-area-inset-bottom,0px))!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}}.store-header{display:flex;flex-direction:column;padding:1rem 1.25rem 0;background:linear-gradient(180deg,var(--bg-secondary) 0,transparent 100%);flex-shrink:0}.store-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.store-title{font-size:1.35rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.store-title i{color:var(--accent)}.store-close{background:0 0;border:none;color:var(--text-muted);font-size:1.75rem;cursor:pointer;padding:.25rem;border-radius:6px;transition:all .2s ease;line-height:1}.store-close:hover{background:var(--surface);color:var(--text-primary)}.store-balance{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--surface);border-radius:8px;margin-bottom:.75rem;justify-content:flex-end}.store-balance-icon{color:#fbbf24;font-size:1.1rem;width:1rem;height:1rem;object-fit:contain}.store-balance-amount{font-weight:600;font-size:1.1rem;color:var(--text-primary)}.store-balance-label{color:var(--text-muted);font-size:.85rem;margin-left:auto}.store-tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding:0 .5rem;align-content:flex-start;overflow-x:visible;scrollbar-width:none;-ms-overflow-style:none}.store-tabs::-webkit-scrollbar{display:none}.store-tab{flex:0 0 auto;white-space:nowrap}.store-tab{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:0 0;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.store-tab:hover{color:var(--text-secondary)}.store-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.store-tab i{font-size:.9rem}.store-body{flex:1;overflow-y:auto;padding:1rem;padding-bottom:calc(2rem + var(--mobile-bottom-menu-height,56px) + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:.75rem}.store-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.store-empty i{font-size:2.5rem;margin-bottom:1rem;opacity:.5}.store-product{display:flex;align-items:center;gap:.875rem;padding:.875rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:all .2s ease;cursor:pointer}.store-product:hover{background:var(--surface-hover);border-color:var(--accent)}.store-product.featured{border-color:var(--accent-muted,rgba(139,240,255,.3));box-shadow:0 0 12px rgba(139,240,255,.1)}.store-product.featured:hover{border-color:var(--accent);box-shadow:0 0 16px rgba(139,240,255,.2)}.store-product.owned{opacity:.7;cursor:default}.store-product.coming-soon{opacity:.6;cursor:not-allowed}.store-product-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-secondary);flex-shrink:0}.store-product-icon .store-preview-area{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden}.store-product-icon .store-preview-area img{max-width:100%;max-height:100%;display:block}.store-preview-area.coin-pack-preview .coin-pack-img,.store-product-icon .coin-pack-img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain}.store-tab-icon{width:20px;height:20px;object-fit:contain;display:inline-block;vertical-align:middle}.store-product-price .coin-icon{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-right:.4rem}.store-product-icon .store-preview-area img.pixel-piece{width:96%;height:96%;max-width:100%;max-height:100%;image-rendering:pixelated;image-rendering:-moz-crisp-edges}.store-product-icon i{font-size:1.5rem}.store-product-info{flex:1;min-width:0}.store-product-name{font-weight:600;font-size:.95rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.store-product-badge{font-size:.6rem;padding:.2rem .45rem;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.store-product-badge.featured{background:linear-gradient(135deg,#fbbf24 0,#f59e0b 100%);color:#1a1a1a}.store-product-badge.owned{background:linear-gradient(135deg,#4ade80 0,#22c55e 100%);color:#fff}.store-product-badge.active{background:linear-gradient(135deg,#38bdf8 0,#0ea5e9 100%);color:#fff}.store-product-badge.coming-soon{background:linear-gradient(135deg,#94a3b8 0,#64748b 100%);color:#fff}.store-product-badge.unavailable{background:linear-gradient(135deg,#94a3b8 0,#64748b 100%);color:#fff}.store-product-desc{font-size:.8rem;color:var(--text-muted);margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-product-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;flex-shrink:0;min-width:130px}.store-product-price{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem;color:var(--text-primary)}.store-product-price i{color:#fbbf24;font-size:1rem}.store-product-price img{width:1rem;height:1rem;object-fit:contain}.button-coin-icon{width:18px;height:18px;object-fit:contain}.button-price-wrapper{display:flex;flex-direction:column;align-items:center;gap:.1rem}.button-original-price{font-size:.65rem;text-decoration:line-through;opacity:.7;line-height:1}.button-current-price{display:flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:700;line-height:1}.store-original-price{color:var(--text-muted);text-decoration:line-through;font-size:.75rem;font-weight:400;opacity:.8}.store-discounted-price{color:#22c55e;font-weight:700}.store-buy-btn{min-width:120px;width:120px;height:42px;padding:0 1rem;font-size:.875rem;font-weight:600;font-family:inherit;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#475569 0,#334155 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 2px 4px rgba(0,0,0,.15),0 4px 8px rgba(71,85,105,.25),inset 0 1px 0 rgba(255,255,255,.15)}.store-buy-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.15);box-shadow:0 4px 8px rgba(0,0,0,.2),0 8px 16px rgba(71,85,105,.35),inset 0 1px 0 rgba(255,255,255,.2)}.store-buy-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.15),0 2px 4px rgba(71,85,105,.2),inset 0 1px 0 rgba(255,255,255,.1)}.store-buy-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.store-buy-btn .button-coin-icon{width:18px;height:18px;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, .4))}.store-buy-btn.coin-pack,.store-buy-btn.fiat-purchase{min-width:120px;width:120px;background:linear-gradient(135deg,#22c55e 0,#16a34a 100%);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1),0 4px 8px rgba(34,197,94,.25),inset 0 1px 0 rgba(255,255,255,.2)}.store-buy-btn.coin-pack:hover:not(:disabled),.store-buy-btn.fiat-purchase:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 8px rgba(0,0,0,.15),0 8px 16px rgba(34,197,94,.35),inset 0 1px 0 rgba(255,255,255,.25)}.store-buy-btn.coin-pack i,.store-buy-btn.fiat-purchase i{font-size:.9rem}.store-buy-btn.owned{background:linear-gradient(135deg,#4ade80 0,#22c55e 100%);color:#fff;pointer-events:none;box-shadow:0 2px 4px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.2)}.store-buy-btn.active{background:linear-gradient(135deg,#fbbf24 0,#f59e0b 100%);color:#1a1a1a;pointer-events:none;box-shadow:0 2px 4px rgba(0,0,0,.08),0 0 0 2px rgba(251,191,36,.3),inset 0 1px 0 rgba(255,255,255,.2)}.store-buy-btn.unavailable{background:linear-gradient(135deg,#64748b 0,#475569 100%);color:#e2e8f0;pointer-events:none;box-shadow:0 2px 4px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.1)}.store-buy-btn.has-discount{flex-direction:column;gap:.15rem;height:48px;padding:.5rem 1rem}.store-buy-btn.has-discount .button-original-price{font-size:.65rem;text-decoration:line-through;opacity:.7;line-height:1}.store-buy-btn.has-discount .button-current-price{font-size:.875rem;font-weight:700;display:flex;align-items:center;gap:.35rem;line-height:1}.store-product-buttons{display:flex;gap:.5rem;align-items:stretch}.store-preview-btn{width:42px;height:42px;flex-shrink:0;background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;font-size:1rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.store-preview-btn:hover{background:var(--surface);color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.15)}.store-preview-btn i{font-size:1rem}.store-boost-expiry{font-size:.7rem;color:var(--warning);text-align:right}.store-boost-expiry.unavailable{color:var(--text-muted)}.store-ad-section{margin-top:.5rem;padding:1rem;background:linear-gradient(135deg,var(--surface) 0,var(--bg-tertiary) 100%);border:1px dashed var(--border);border-radius:12px;text-align:center}.store-ad-title{font-weight:600;font-size:.95rem;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.store-ad-title i{color:var(--warning)}.store-ad-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.store-ad-btn{min-width:140px;height:42px;padding:0 1.25rem;background:linear-gradient(135deg,#fbbf24 0,#f59e0b 100%);color:#1a1a1a;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1),0 4px 8px rgba(251,191,36,.2),inset 0 1px 0 rgba(255,255,255,.25)}.store-ad-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 4px 8px rgba(0,0,0,.15),0 8px 16px rgba(251,191,36,.3),inset 0 1px 0 rgba(255,255,255,.3)}.store-ad-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.store-ad-remaining{font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.boost-indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .4rem;background:var(--warning);color:#1a1a1a;border-radius:4px;font-size:.65rem;font-weight:600;animation:boostPulse 2s ease-in-out infinite}@keyframes boostPulse{0%,100%{opacity:1}50%{opacity:.8}}:root[data-theme=light] .store-product{background:rgba(255,255,255,.8)}:root[data-theme=light] .store-product:hover{background:rgba(255,255,255,.95)}:root[data-theme=light] .store-product-icon{background:rgba(0,0,0,.05)}:root[data-theme=light] .store-ad-section{background:linear-gradient(135deg,rgba(255,255,255,.9) 0,rgba(240,240,240,.9) 100%)}:root[data-theme=light] .store-buy-btn{box-shadow:0 2px 4px rgba(0,0,0,.08),0 4px 8px rgba(251,191,36,.15)}:root[data-theme=light] .store-buy-btn:hover:not(:disabled){box-shadow:0 4px 8px rgba(0,0,0,.12),0 8px 16px rgba(251,191,36,.25)}:root[data-theme=light] .store-buy-btn.coin-pack,:root[data-theme=light] .store-buy-btn.fiat-purchase{box-shadow:0 2px 4px rgba(0,0,0,.08),0 4px 8px rgba(34,197,94,.15)}:root[data-theme=light] .store-buy-btn.coin-pack:hover:not(:disabled),:root[data-theme=light] .store-buy-btn.fiat-purchase:hover:not(:disabled){box-shadow:0 4px 8px rgba(0,0,0,.12),0 8px 16px rgba(34,197,94,.25)}:root[data-theme=light] .store-preview-btn{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1)}:root[data-theme=light] .store-preview-btn:hover{background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.1)}:root[data-theme=sakura] .store-product.featured{border-color:#ff69b4;box-shadow:0 0 12px rgba(255,105,180,.15)}:root[data-theme=sakura] .store-tab.active{color:#ff69b4;border-bottom-color:#ff69b4}:root[data-theme=sakura] .store-buy-btn{background:linear-gradient(135deg,#475569 0,#334155 100%);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.15),0 4px 8px rgba(71,85,105,.25),inset 0 1px 0 rgba(255,255,255,.15)}:root[data-theme=sakura] .store-buy-btn:hover:not(:disabled){filter:brightness(1.15);box-shadow:0 4px 8px rgba(0,0,0,.2),0 8px 16px rgba(71,85,105,.35),inset 0 1px 0 rgba(255,255,255,.2)}:root[data-theme=sakura] .store-buy-btn.coin-pack,:root[data-theme=sakura] .store-buy-btn.fiat-purchase{background:linear-gradient(135deg,#22c55e 0,#16a34a 100%);color:#fff}:root[data-theme=sakura] .store-buy-btn.owned{background:linear-gradient(135deg,#4ade80 0,#22c55e 100%)}:root[data-theme=sakura] .store-buy-btn.active{background:linear-gradient(135deg,#ff85a2 0,#ff69b4 100%);color:#fff}.store-preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(4px);animation:fadeIn .2s ease}.store-preview-modal.hidden{display:none}.store-preview-content{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,.5);animation:slideUp .3s ease}.store-preview-close{position:absolute;top:1rem;right:1rem;background:var(--surface-hover);border:1px solid var(--border);color:var(--text-primary);font-size:1.5rem;width:36px;height:36px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.store-preview-close:hover{background:var(--accent);color:var(--text-contrast);border-color:var(--accent)}.store-preview-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.store-preview-media{margin:1.5rem 0;border-radius:8px;overflow:hidden}.store-preview-media.audio-preview{background:var(--surface-hover);padding:1rem;border:1px solid var(--border)}.store-preview-media.audio-preview audio{width:100%}.store-preview-media.image-preview img{width:100%;max-height:400px;object-fit:cover}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.customize-panel{display:flex;flex-direction:column;height:100%}.customize-tabs{display:flex;gap:.25rem;padding:.25rem;background:var(--surface);border-radius:.5rem;border:1px solid var(--border);flex-shrink:0}.customize-tab{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem;background:0 0;border:none;border-radius:.4rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.customize-tab:hover{color:var(--text-primary);background:var(--surface-hover)}.customize-tab.active{color:var(--accent);background:var(--bg-secondary)}.customize-tab i{font-size:1rem}.customize-tab-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;padding:0 3px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b 0,#ff2ea8 100%);color:#fff;font-size:.55rem;font-weight:700;clip-path:polygon(2px 0,100% 0,calc(100% - 2px) 100%,0 100%);box-shadow:0 2px 6px rgba(238,90,36,.4);pointer-events:none;position:relative;overflow:hidden}.customize-tab-badge.unlocked{background:linear-gradient(135deg,#4ade80 0,#22c55e 100%);box-shadow:0 2px 6px rgba(34,197,94,.4)}.sidebar-badge.customize-badge{margin-left:auto;min-width:16px;height:16px;padding:0 4px;display:none;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b 0,#ff2ea8 100%);color:#fff;font-size:.6rem;font-weight:700;clip-path:polygon(2px 0,100% 0,calc(100% - 2px) 100%,0 100%);box-shadow:0 2px 6px rgba(238,90,36,.4)}.sidebar-badge.customize-badge.unlocked{background:linear-gradient(135deg,#4ade80 0,#22c55e 100%);box-shadow:0 2px 6px rgba(34,197,94,.4)}.sidebar-badge.customize-badge.visible{display:flex}.customize-tab{position:relative}.customize-content{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0}.customize-grid{display:grid;align-items:start;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.5rem;padding:.5rem;overflow-x:hidden}@media (max-width:768px){.customize-grid{padding-bottom:calc(1rem + var(--mobile-bottom-menu-height,56px) + env(safe-area-inset-bottom,0px))}}@media (min-width:769px){.right-sidebar .customize-grid{grid-template-columns:repeat(3,1fr)}}.customize-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:.4rem;background:var(--surface);border:2px solid var(--border);border-radius:.5rem;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;will-change:transform;min-height:80px;-webkit-backface-visibility:hidden;backface-visibility:hidden}.customize-card:hover{border-color:var(--accent);transform:translateY(-2px);z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.06)}.customize-card.selected{border-color:var(--accent);background:rgba(var(--accent-rgb,0,213,255),.15);box-shadow:0 0 0 2px var(--accent)}.customize-card.selected::after{content:'✓';position:absolute;top:2px;right:4px;font-size:.65rem;font-weight:700;color:var(--accent)}.customize-card.previewing{border-color:var(--warning);background:rgba(var(--warning-rgb,245,158,11),.15);animation:pulse-preview 1s infinite}@keyframes pulse-preview{0%,100%{box-shadow:0 0 0 2px var(--warning)}50%{box-shadow:0 0 8px 2px var(--warning)}}.customize-card-preview{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.customize-card-preview img{max-width:100%;max-height:100%;object-fit:contain}.customize-card-preview-img{width:100%;height:100%;object-fit:cover;border-radius:4px}.customize-card-preview.piece-preview img{width:48px;height:48px;object-fit:contain}.customize-card-preview i{font-size:1.5rem;color:var(--text-secondary)}.customize-card-name{font-size:.6rem;font-weight:600;color:var(--text-primary);text-align:center;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;max-height:2.4em;max-width:100%;word-wrap:break-word}.customize-chip{position:absolute;top:.5rem;right:.5rem;color:#fff;font-size:.5rem;font-weight:700;padding:2px 6px;clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%);text-transform:uppercase;letter-spacing:.5px;z-index:10;pointer-events:none;overflow:hidden}.chip-shine::after{content:'';position:absolute;top:-100%;left:-50%;width:300%;height:220%;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 100%);transform:rotate(25deg);animation:trial-chip-shine 2s linear infinite;pointer-events:none}.customize-chip-new{background:linear-gradient(135deg,#ff6b6b 0,#ff2ea8 100%);box-shadow:0 2px 8px rgba(238,90,36,.4)}.customize-chip-unlocked{background:linear-gradient(135deg,#4ade80 0,#22c55e 100%);box-shadow:0 2px 8px rgba(34,197,94,.4)}.customize-card-meta{font-size:.55rem;font-weight:500;color:var(--text-muted);text-align:center;margin-top:2px}.customize-card-none .customize-card-preview i{opacity:.5}.board-preview-mini{display:grid;grid-template-columns:1fr 1fr;width:60px;height:60px;border-radius:3px;overflow:hidden;border:1px solid var(--border)}.board-preview-mini .sq{width:100%;height:100%}.customize-card .piece-preview img.pixel-piece{width:90%;height:90%;max-width:100%;max-height:100%;image-rendering:pixelated;image-rendering:-moz-crisp-edges}.customize-buy-btn{display:flex;align-items:center;justify-content:center;gap:3px;padding:3px 8px;margin-top:4px;font-size:.65rem;font-weight:700;background:var(--accent);color:var(--btn-fg,#fff);border:none;border-radius:4px;cursor:pointer;transition:all .15s;width:100%}.customize-buy-btn:active,.customize-buy-btn:hover{filter:brightness(1.15);transform:scale(1.02)}.customize-buy-btn .coin{width:11px;height:11px}.customize-reset-btn{flex-shrink:0;width:100%;padding:.6rem;font-size:.75rem}.customize-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:80px;color:var(--text-muted);font-size:.8rem}.right-sidebar .customize-panel{padding:0;max-height:400px;overflow:hidden}.right-sidebar .lobby-tabs-content-wrapper{max-height:320px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable both-edges}.mobile-customize-wrapper{height:100%;display:flex;flex-direction:column;overflow:hidden}.mobile-customize-wrapper .customize-panel{height:100%;flex:1;min-height:0}.mobile-customize-wrapper .lobby-tabs-content-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-gutter:stable both-edges}