: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}}