:root,[data-theme=midnight]{--radius-xs:2px;--radius-sm:3px;--radius-md:4px;--radius-lg:5px;--radius-xl:6px;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bg-dark:#161512;--bg-panel:#262421;--bg-card:#302d28;--text-primary:#bababa;--text-bright:#fff;--text-secondary:#8c8881;--text-muted:#6b665f;--accent-blue:#3692e7;--accent-blue-hover:#48a0f2;--accent-orange:#df6a15;--accent-green:#629924;--accent-green-hover:#75b32e;--accent-amber:#e58f2a;--accent-red:#c33;--board-light:#dee3e6;--board-dark:#8ca2ad;--board-highlight-selected:#cdd26a;--board-highlight-staged:#aaa23a;--board-border:#262421;--border:#36332e;--border-light:#44403a;--border-subtle:#2b2824;--shadow-lg:0 4px 12px #0006;--shadow-md:0 2px 4px #0000004d;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--nav-bg:#161512;--btn-secondary-bg:#2b2824;--btn-secondary-hover-bg:#36332e;--btn-secondary-text:#bababa;--input-bg:#1e1d1a;--piece-w-fill:#fff;--piece-w-stroke:#1b1b1b;--piece-w-detail:#1b1b1b;--piece-b-fill:#262421;--piece-b-stroke:#111;--piece-b-detail:#fff}[data-theme=daylight]{--bg-dark:#f8fafc;--bg-panel:#fff;--bg-card:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-blue:#2563eb;--accent-blue-hover:#1d4ed8;--accent-green:#10b981;--accent-green-hover:#059669;--accent-amber:#d97706;--accent-red:#ef4444;--board-light:#f1f5f9;--board-dark:#94a3b8;--board-highlight-selected:#cbd5e1;--board-highlight-staged:#fef08a;--board-border:#cbd5e1;--border:#e2e8f0;--border-light:#cbd5e1;--shadow-lg:0 10px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--nav-bg:#ffffffe0;--btn-secondary-bg:#e2e8f0;--btn-secondary-hover-bg:#cbd5e1;--btn-secondary-text:#0f172a;--input-bg:#fff;--piece-w-fill:#fff;--piece-w-stroke:#334155;--piece-w-detail:#334155;--piece-b-fill:#0f172a;--piece-b-stroke:#020617;--piece-b-detail:#f8fafc}[data-theme=solar]{--bg-dark:#fbf7ee;--bg-panel:#fffef9;--bg-card:#f5eedc;--text-primary:#291809;--text-secondary:#6d4c2b;--text-muted:#9a7853;--accent-blue:#d97706;--accent-blue-hover:#b45309;--accent-green:#15803d;--accent-green-hover:#166534;--accent-amber:#b45309;--accent-red:#dc2626;--board-light:#fefae0;--board-dark:#d4a373;--board-highlight-selected:#e9d5a1;--board-highlight-staged:#fae588;--board-border:#bc6c25;--border:#e6d5bc;--border-light:#d9c4a5;--shadow-lg:0 10px 25px -5px #5a320a14;--shadow-md:0 4px 6px -1px #5a320a0f;--nav-bg:#fffef9e6;--btn-secondary-bg:#ecdcc3;--btn-secondary-hover-bg:#dfcbb0;--btn-secondary-text:#291809;--input-bg:#fffef9;--piece-w-fill:#fffdf5;--piece-w-stroke:#78350f;--piece-w-detail:#78350f;--piece-b-fill:#451a03;--piece-b-stroke:#291002;--piece-b-detail:#fef3c7}[data-theme=nordic]{--bg-dark:#f0fdfa;--bg-panel:#fff;--bg-card:#e6fffa;--text-primary:#0f2e2b;--text-secondary:#115e59;--text-muted:#2dd4bf;--accent-blue:#0d9488;--accent-blue-hover:#0f766e;--accent-green:#059669;--accent-green-hover:#047857;--accent-amber:#d97706;--accent-red:#e11d48;--board-light:#f0fdfa;--board-dark:#5eead4;--board-highlight-selected:#99f6e4;--board-highlight-staged:#ccfbf1;--board-border:#2dd4bf;--border:#ccfbf1;--border-light:#99f6e4;--shadow-lg:0 10px 25px -5px #0d948814;--shadow-md:0 4px 6px -1px #0d94880f;--nav-bg:#ffffffe0;--btn-secondary-bg:#ccfbf1;--btn-secondary-hover-bg:#99f6e4;--btn-secondary-text:#0f2e2b;--input-bg:#fff;--piece-w-fill:#fff;--piece-w-stroke:#0f766e;--piece-w-detail:#0f766e;--piece-b-fill:#134e4a;--piece-b-stroke:#042f2e;--piece-b-detail:#ccfbf1}[data-theme=tournament]{--bg-dark:#07130e;--bg-panel:#10231b;--bg-card:#183327;--text-primary:#f0fdf4;--text-secondary:#a7f3d0;--text-muted:#6ee7b7;--accent-blue:#10b981;--accent-blue-hover:#059669;--accent-green:#34d399;--accent-green-hover:#10b981;--accent-amber:#fbbf24;--accent-red:#f87171;--board-light:#eeeed2;--board-dark:#2d734e;--board-border:#183c29;--border:#214334;--border-light:#2c5945;--nav-bg:#10231bd9;--btn-secondary-bg:#1c3b2e;--btn-secondary-hover-bg:#285442;--btn-secondary-text:#f0fdf4;--input-bg:#142c22;--piece-w-fill:#fffffd;--piece-w-stroke:#1b1b1b;--piece-w-detail:#1b1b1b;--piece-b-fill:#222;--piece-b-stroke:#111;--piece-b-detail:#fff}[data-theme=woodcraft]{--bg-dark:#130c08;--bg-panel:#211611;--bg-card:#302018;--text-primary:#fef3c7;--text-secondary:#fde68a;--text-muted:#d97706;--accent-blue:#f59e0b;--accent-blue-hover:#d97706;--accent-green:#84cc16;--accent-green-hover:#65a30d;--accent-amber:#fbbf24;--accent-red:#ef4444;--board-light:#f0d9b5;--board-dark:#b58863;--board-border:#442a1b;--border:#4a3427;--border-light:#6b4937;--nav-bg:#211611d9;--btn-secondary-bg:#38251b;--btn-secondary-hover-bg:#4f3426;--btn-secondary-text:#fef3c7;--input-bg:#2a1c14;--piece-w-fill:#fdf8e2;--piece-w-stroke:#5c3d28;--piece-w-detail:#5c3d28;--piece-b-fill:#3b2314;--piece-b-stroke:#1f1008;--piece-b-detail:#d4a373}[data-theme=cyberpunk]{--bg-dark:#05050a;--bg-panel:#0d0c18;--bg-card:#17152b;--text-primary:#fdf4ff;--text-secondary:#c084fc;--text-muted:#818cf8;--accent-blue:#06b6d4;--accent-blue-hover:#0891b2;--accent-green:#a855f7;--accent-green-hover:#9333ea;--accent-amber:#f43f5e;--accent-red:#fb7185;--board-light:#473d68;--board-dark:#1e1b2e;--board-border:#121020;--border:#2c254e;--border-light:#433973;--nav-bg:#0d0c18d9;--btn-secondary-bg:#221c3d;--btn-secondary-hover-bg:#332b5c;--btn-secondary-text:#fdf4ff;--input-bg:#16132a;--piece-w-fill:#22d3ee;--piece-w-stroke:#083344;--piece-w-detail:#083344;--piece-b-fill:#f43f5e;--piece-b-stroke:#4c0519;--piece-b-detail:#ffe4e6}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-family);justify-content:center;align-items:stretch;min-height:100vh;line-height:1.5;display:flex;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.btn{border-radius:var(--radius-md,4px);cursor:pointer;color:#fff;border:1.5px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .12s;display:inline-flex;box-shadow:inset 0 1px #ffffff1f,0 1px 2px #00000040}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px 3px #00000059}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background-color:var(--accent-blue);color:#fff;border-color:#1d4ed8}.btn-primary:hover:not(:disabled){background-color:var(--accent-blue-hover);border-color:#1e40af}.btn-secondary{background-color:var(--btn-secondary-bg,#1e293b);color:var(--btn-secondary-text,#f8fafc);border:1.5px solid var(--border)}.btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover-bg,#334155);border-color:var(--border-light)}.btn-lock-in{background-color:#16a34a;border-color:#15803d;padding:.85rem 1.5rem;font-size:1.05rem;box-shadow:inset 0 1px #ffffff40,0 2px 4px #0000004d}.btn-lock-in:hover:not(:disabled){background-color:#15803d;border-color:#166534}.btn-sm{border-radius:var(--radius-sm,3px);padding:.4rem .8rem;font-size:.85rem}.btn-lg{padding:.9rem 1.75rem;font-size:1.1rem}.btn-icon{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.375rem;align-items:center;gap:.35rem;padding:.5rem;transition:all .15s;display:inline-flex}.btn-icon:hover{color:var(--text-primary);background-color:#ffffff14}.input-field{background-color:var(--input-bg,#1e293b);border:1px solid var(--border-light);color:var(--text-primary);border-radius:.5rem;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.input-field:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #3b82f64d}.lobby-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.lobby-card{background-color:var(--bg-panel);border:1px solid var(--border);width:100%;max-width:520px;box-shadow:var(--shadow-lg);border-radius:1rem;padding:2.5rem}.lobby-header{text-align:center;margin-bottom:2rem}.lobby-logo-badge{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:1.25rem;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:1.25rem;display:inline-flex;box-shadow:0 8px 16px #2563eb4d}.lobby-title{letter-spacing:-.03em;background:linear-gradient(90deg,#fff,#93c5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.4rem;font-weight:800}.lobby-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.4}.lobby-buttons{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.btn-lobby{text-align:left;border-radius:.75rem;justify-content:flex-start;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.btn-text-block{flex-direction:column;display:flex}.btn-main-text{font-size:1.05rem;font-weight:700}.btn-sub-text{opacity:.75;font-size:.8rem;font-weight:400}.divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;margin:.5rem 0;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--border);flex:1}.divider:before{margin-right:1rem}.divider:after{margin-left:1rem}.join-form{gap:.5rem;display:flex}.join-input{text-transform:uppercase;letter-spacing:.05em;flex:1;font-weight:600}.join-btn{white-space:nowrap}.rules-section{border-top:1px solid var(--border);padding-top:1.5rem}.rules-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem;font-size:.9rem}.rules-list{color:var(--text-secondary);flex-direction:column;gap:.6rem;font-size:.85rem;list-style:none;display:flex}.rules-list li strong{color:var(--text-primary)}.alert-box{border-radius:.5rem;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.alert-info{color:#93c5fd;background-color:#3b82f626;border:1px solid #3b82f64d}.alert-error{color:#fca5a5;background-color:#ef444426;border:1px solid #ef44444d}.loading-card{background-color:var(--bg-panel);border:1px solid var(--border);text-align:center;border-radius:1rem;flex-direction:column;align-items:center;gap:1rem;padding:3rem;display:flex}.loading-card p{color:var(--text-secondary)}.game-arena-layout{flex-direction:column;width:100%;max-width:1300px;min-height:100vh;margin:0 auto;padding:1rem 1.5rem;display:flex}.arena-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.75rem 0;display:flex}.header-left,.header-right{align-items:center;gap:.75rem;display:flex}.arena-brand{align-items:center;gap:.5rem;display:flex}.brand-icon{color:var(--accent-blue)}.brand-title{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.turn-pill{color:#93c5fd;background-color:#3b82f626;border:1px solid #3b82f64d;border-radius:9999px;margin-left:.25rem;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.room-code-badge{background-color:var(--bg-card);border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;border-radius:.375rem;align-items:center;gap:.4rem;padding:.4rem .75rem;font-family:inherit;font-size:.85rem;transition:background-color .15s;display:inline-flex}.room-code-badge:hover{background-color:#334155}.code-label{color:var(--text-muted)}.code-text{letter-spacing:.05em;color:#60a5fa;font-weight:700}.copied-check{color:var(--accent-green)}.arena-main-content{grid-template-columns:minmax(360px,660px) minmax(300px,440px);justify-content:center;align-items:start;gap:2.5rem;display:grid}.board-section{flex-direction:column;gap:.85rem;width:100%;display:flex}.player-strip{background-color:var(--bg-panel);border:1px solid var(--border);border-radius:.75rem;justify-content:space-between;align-items:center;padding:.8rem 1.25rem;transition:border-color .2s,background-color .2s;display:flex}.player-strip.player-locked{background-color:#10b98114;border-color:#10b98166}.player-meta{align-items:center;gap:.85rem;display:flex}.player-avatar{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.75rem;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a}.avatar-w{color:#0f172a;background-color:#e2e8f0}.avatar-b{color:#f8fafc;border:1px solid var(--border-light);background-color:#1e293b}.avatar-spectator{color:#94a3b8;background-color:#334155}.player-details{flex-direction:column;display:flex}.player-name{font-size:1.05rem;font-weight:700}.player-status-text{color:var(--text-muted);font-size:.85rem}.status-locked-tag{color:#34d399;align-items:center;gap:.25rem;font-weight:600;display:inline-flex}.status-thinking-tag{color:#fbbf24;align-items:center;gap:.35rem;display:inline-flex}.status-staged-tag{color:#60a5fa;align-items:center;gap:.25rem;font-weight:600;display:inline-flex}.pulse-dot{background-color:#fbbf24;border-radius:50%;width:7px;height:7px;animation:1.5s infinite pulseDot}@keyframes pulseDot{0%{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.3)}to{opacity:.5;transform:scale(.95)}}.captured-tray{align-items:center;gap:.2rem;min-height:28px;display:flex}.captured-mini-piece{opacity:.85;width:26px;height:26px;display:inline-block}.chessboard-center-stage{width:100%}.native-chessboard-wrapper{width:100%;max-width:660px;box-shadow:var(--shadow-lg);border:2px solid var(--board-border);border-radius:.65rem;margin:0 auto;overflow:hidden}.native-chessboard-grid{aspect-ratio:1;background-color:var(--board-dark);grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid}.board-square{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;transition:background-color .12s;display:flex;position:relative}.square-light{background-color:var(--board-light)}.square-dark{background-color:var(--board-dark)}.square-selected{background-color:var(--board-highlight-selected)!important}.square-origin-staged{background-color:#f6f669a6!important}.square-dest-staged{background-color:#baca44d9!important}.square-moved-from{background-color:#f6f66973!important}.square-moved-to{background-color:#baca44a6!important}.square-path-marker{pointer-events:none;z-index:1;position:absolute}.from-marker{border:2px dashed #eab308cc;border-radius:50%;width:14px;height:14px;animation:2s ease-in-out infinite pulseDot;top:6px;right:6px}.to-marker{border:2px solid #baca44e6;border-radius:4px;inset:2px}.square-collision-highlight{animation:1s ease-in-out infinite alternate collisionFlash}@keyframes collisionFlash{0%{background-color:#ef4444a6!important}to{background-color:#dc2626f2!important}}.coord-rank{font-size:.72rem;font-weight:800;font-family:var(--font-mono);pointer-events:none;opacity:.85;position:absolute;top:3px;left:4px}.coord-file{font-size:.72rem;font-weight:800;font-family:var(--font-mono);pointer-events:none;opacity:.85;position:absolute;bottom:2px;right:4px}.square-light .coord-rank,.square-light .coord-file{color:var(--board-dark)}.square-dark .coord-rank,.square-dark .coord-file{color:var(--board-light)}.piece-container{z-index:2;justify-content:center;align-items:center;width:88%;height:88%;transition:transform .1s;display:flex}.piece-container svg,.staged-origin-ghost svg,.captured-mini-piece svg,.promotion-piece-preview svg{pointer-events:none;width:100%!important;height:100%!important;display:block!important}.piece-draggable{cursor:grab}.piece-draggable:active{cursor:grabbing}.piece-staged-preview{filter:drop-shadow(0 4px 12px #3b82f6b3);animation:1.8s ease-in-out infinite pulsePreview;transform:scale(1.1)}@keyframes pulsePreview{0%,to{transform:scale(1.08)}50%{transform:scale(1.15)}}.anim-piece{will-change:transform;animation:.28s cubic-bezier(.25,1,.5,1) forwards smoothLerpGlide;z-index:10!important}@keyframes smoothLerpGlide{0%{transform:translate3d(var(--start-x,0), var(--start-y,0), 0)}to{transform:translate(0,0)}}.staged-origin-ghost{opacity:.38;filter:grayscale(60%);pointer-events:none;z-index:1;justify-content:center;align-items:center;width:88%;height:88%;display:flex;position:absolute}.legal-dot-indicator{pointer-events:none;z-index:3;background-color:#00000047;border-radius:50%;width:26%;height:26%;position:absolute}.legal-capture-ring{pointer-events:none;z-index:3;border:5px solid #ef4444b3;border-radius:50%;width:82%;height:82%;position:absolute}.legal-defend-ring{pointer-events:none;z-index:3;border:4px dashed #06b6d4e6;border-radius:50%;width:84%;height:84%;animation:1.8s ease-in-out infinite defendPulse;position:absolute;box-shadow:0 0 12px #06b6d480,inset 0 0 8px #06b6d440}@keyframes defendPulse{0%,to{opacity:.85;transform:scale(.95)}50%{opacity:1;transform:scale(1.03)}}.collision-boom-badge{z-index:5;pointer-events:none;font-size:1.8rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) boomPop;position:absolute}@keyframes boomPop{0%{opacity:0;transform:scale(.2)rotate(-15deg)}60%{opacity:1;transform:scale(1.25)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.side-panel-section{flex-direction:column;gap:1rem;display:flex}.waiting-card{background-color:var(--bg-panel);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow-md);border-radius:.75rem;padding:1.5rem}.waiting-pulse-icon{width:52px;height:52px;color:var(--accent-blue);background-color:#3b82f626;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.waiting-card h3{margin-bottom:.5rem;font-size:1.2rem}.waiting-card p{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.85rem;line-height:1.4}.waiting-copy-box{gap:.5rem;display:flex}.share-input{cursor:pointer;flex:1;padding:.5rem .75rem;font-size:.8rem}.action-control-card{background-color:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:.75rem;padding:1.1rem 1.25rem}.fixed-action-card{flex-direction:column;justify-content:center;gap:.5rem;min-height:82px;display:flex}.action-card-header{justify-content:space-between;align-items:center;display:flex}.action-card-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.85rem;font-weight:700}.action-status-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.prompt-status-row{align-items:center;gap:.5rem;display:flex}.dot-indicator{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.pulse-blue{background-color:#3b82f6;animation:1.6s infinite dotPulse;box-shadow:0 0 8px #3b82f6}.pulse-green{background-color:#10b981;animation:1.6s infinite dotPulse;box-shadow:0 0 8px #10b981}@keyframes dotPulse{0%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.3)}to{opacity:.6;transform:scale(.9)}}.status-label{color:var(--text-primary);font-size:.9rem;font-weight:600}.staged-mini-badge{color:#93c5fd;background-color:#3b82f626;border:1px solid #3b82f659;border-radius:.375rem;padding:.2rem .55rem;font-size:.78rem;font-weight:700}.btn-xs{border-radius:.375rem;padding:.25rem .55rem;font-size:.75rem}.undo-btn{background-color:#273549;border-color:#475569;align-items:center;gap:.35rem;display:inline-flex}.undo-btn:hover{background-color:#334155}.kbd-hint{color:var(--text-secondary);background:#ffffff1f;border:1px solid #fff3;border-radius:3px;padding:.05rem .3rem;font-family:inherit;font-size:.65rem;font-weight:700;display:inline-block}.reactions-bar{background-color:var(--bg-panel);border:1px solid var(--border);border-radius:.625rem;align-items:center;gap:.5rem;margin-top:.5rem;padding:.4rem .75rem;display:flex}.reactions-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.emoji-list{align-items:center;gap:.3rem;display:flex}.btn-emoji{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.375rem;padding:.2rem .35rem;font-size:1.25rem;line-height:1;transition:transform .12s,background-color .12s}.btn-emoji:hover:not(:disabled){background-color:#ffffff14;transform:scale(1.3)}.btn-emoji:disabled{opacity:.3;cursor:not-allowed;transform:none}.avatar-wrapper{display:inline-flex;position:relative}.floating-reaction-badge{z-index:20;pointer-events:none;filter:drop-shadow(0 4px 10px #00000080);font-size:1.6rem;animation:2.2s ease-out forwards floatReaction;position:absolute;top:-16px;right:-12px}@keyframes floatReaction{0%{opacity:0;transform:scale(.2)translateY(0)}15%{opacity:1;transform:scale(1.3)translateY(-6px)}75%{opacity:1;transform:scale(1.1)translateY(-18px)}to{opacity:0;transform:scale(.8)translateY(-30px)}}.history-card{background-color:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:.75rem;padding:1.1rem 1.25rem}.history-card-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem;font-weight:700}.history-scroll{max-height:280px;overflow-y:auto}.empty-history{color:var(--text-muted);text-align:center;padding:1rem 0;font-size:.85rem}.history-list{flex-direction:column;gap:.45rem;display:flex}.history-row{background-color:#ffffff06;border:1px solid #ffffff0a;border-radius:.375rem;flex-direction:column;gap:.25rem;padding:.45rem .6rem;display:flex}.history-row-main{justify-content:space-between;align-items:center;display:flex}.hist-turn{color:var(--text-muted);min-width:28px;font-size:.78rem;font-weight:700}.hist-moves{align-items:center;gap:1rem;display:flex}.hist-move-item{color:#e2e8f0;align-items:center;gap:.35rem;font-family:monospace;font-size:.88rem;font-weight:600;display:inline-flex}.color-tag{border-radius:.25rem;padding:.1rem .35rem;font-size:.68rem;font-weight:800;line-height:1}.white-tag{color:#0f172a;background-color:#e2e8f0}.black-tag{color:#f8fafc;background-color:#334155}.history-row-events{flex-direction:column;gap:.2rem;padding-left:2rem;display:flex}.event-note{color:var(--text-secondary);font-size:.78rem}.event-note-collision{color:#fca5a5;font-weight:600}.event-note-capture{color:#fcd34d}.event-note-pass{color:#93c5fd}.event-note-counter_ambush{color:#38bdf8;font-weight:600}.event-note-defend_hold{color:#a7f3d0;font-style:italic}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background-color:#000000bf;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-over-modal{background-color:var(--bg-panel);border:1px solid var(--border-light);text-align:center;border-radius:1rem;width:100%;max-width:480px;padding:2.5rem;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn;box-shadow:0 20px 35px #00000080}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-icon-header{margin-bottom:1.25rem}.modal-icon-win{color:#fbbf24}.modal-icon-lose{color:#f87171}.modal-icon-draw{color:#60a5fa}.modal-title{margin-bottom:.5rem;font-size:2rem;font-weight:800}.modal-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem;line-height:1.4}.modal-actions{flex-direction:column;gap:.75rem;display:flex}.modal-close-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.4rem;transition:all .15s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close-icon-btn:hover{color:var(--text-primary);background:#ffffff14}.game-over-modal{position:relative}.modal-unrated-box{border:1px solid var(--border);background:#ffffff0a;border-radius:.5rem;flex-direction:column;align-items:center;gap:.35rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex}.unrated-badge-row{align-items:center;gap:.5rem;display:flex}.unrated-pill{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;background:#94a3b826;border:1px solid #94a3b840;border-radius:1rem;padding:.2rem .6rem;font-size:.8rem;font-weight:700}.unrated-note{color:var(--text-muted);font-size:.84rem}.game-over-summary-bar{background:#21201d;border:1px solid #36332e;border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;padding:.55rem 1rem;animation:.2s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.summary-bar-text{color:var(--text-primary);align-items:center;gap:.6rem;font-size:.95rem;font-weight:700;display:flex}.summary-trophy-icon{color:#f59e0b}.summary-unrated-tag{color:var(--text-muted);background:#ffffff14;border-radius:.25rem;padding:.15rem .45rem;font-size:.75rem;font-weight:600}.summary-bar-actions{align-items:center;gap:.5rem;display:flex}.replay-controls-card{background:#1e1c18;border:1px solid #36332e;border-radius:.5rem;flex-direction:column;gap:.65rem;margin-top:.75rem;padding:.75rem 1rem;animation:.2s ease-out fadeIn;display:flex;box-shadow:0 4px 12px #00000059}.replay-info-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.replay-turn-indicator{align-items:center;gap:.65rem;display:flex}.replay-turn-pill{color:#3692e7;letter-spacing:-.01em;background:#3692e71f;border:1px solid #3692e747;border-radius:.375rem;padding:.2rem .55rem;font-size:.82rem;font-weight:800}.replay-turn-moves{align-items:center;gap:.45rem;display:flex}.replay-move-tag{border-radius:.25rem;align-items:center;gap:.3rem;padding:.15rem .45rem;font-family:monospace;font-size:.85rem;font-weight:700;display:inline-flex}.replay-turn-events{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.replay-scrubber-row{width:100%;padding:.15rem 0}.replay-slider{appearance:none;cursor:pointer;background:#2b2824;border-radius:3px;outline:none;width:100%;height:6px;transition:background .15s}.replay-slider:hover{background:#3b3732}.replay-slider::-webkit-slider-thumb{appearance:none;cursor:grab;background:#3692e7;border-radius:50%;width:16px;height:16px;transition:transform .1s;box-shadow:0 0 6px #3692e799}.replay-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.replay-slider::-moz-range-thumb{cursor:grab;background:#3692e7;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 6px #3692e799}.replay-btn-row{justify-content:center;align-items:center;gap:.5rem;display:flex}.replay-btn{color:#bababa;cursor:pointer;background:#262421;border:1px solid #3b3732;border-radius:.375rem;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.85rem;font-weight:600;transition:all .12s;display:inline-flex}.replay-btn:hover:not(:disabled){color:#fff;background:#33302b;border-color:#4a453f}.replay-btn:disabled{opacity:.38;cursor:not-allowed}.replay-play-btn{color:#fff;background:#3692e7;border-color:#2b7bc4;padding:.4rem .95rem}.replay-play-btn:hover:not(:disabled){background:#2b7bc4}.replay-play-btn.btn-active-play{background:#df6a15;border-color:#c45b10;animation:1.5s ease-in-out infinite pulsePlayBtn}@keyframes pulsePlayBtn{0%,to{opacity:1}50%{opacity:.82}}.replay-speed-select{color:#bababa;cursor:pointer;background:#262421;border:1px solid #3b3732;border-radius:.375rem;outline:none;padding:.35rem .5rem;font-size:.78rem;font-weight:600}.replay-speed-select:hover{color:#fff;border-color:#4a453f}.history-starting-pos-btn{width:100%;color:var(--text-muted);cursor:pointer;text-align:center;background:#ffffff0a;border:1px dashed #3b3732;border-radius:.375rem;margin-bottom:.5rem;padding:.4rem;font-size:.8rem;font-weight:600;transition:all .15s}.history-starting-pos-btn:hover{color:var(--text-primary);background:#ffffff14;border-color:#555}.history-starting-pos-btn.active{color:#3692e7;background:#3692e726;border-style:solid;border-color:#3692e7}.history-row.history-row-clickable{cursor:pointer;transition:all .12s}.history-row.history-row-clickable:hover{background:#ffffff0f;border-color:#444}.history-row.history-row-active{box-shadow:0 0 0 1px #3692e7;background:#3692e729!important;border-color:#3692e7!important}.lobby-footer-actions{justify-content:center;margin-top:1.5rem;display:flex}.btn-how-to-play{color:var(--text-secondary);border:1px solid var(--border-light);border-radius:.5rem;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;transition:all .15s;display:inline-flex}.btn-how-to-play:hover{color:var(--text-primary);border-color:var(--text-secondary)}.how-to-play-modal{background-color:var(--bg-panel);border:1px solid var(--border-light);border-radius:1rem;width:100%;max-width:500px;padding:1.75rem;animation:.25s cubic-bezier(.175,.885,.32,1.275) popIn;box-shadow:0 20px 35px #00000080}.how-to-play-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.how-to-play-title-group{align-items:center;gap:.65rem;display:flex}.how-to-play-icon-badge{color:var(--accent-blue);align-items:center;display:flex}.how-to-play-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:700}.close-modal-btn{color:var(--text-muted);border-radius:.375rem;padding:.35rem}.close-modal-btn:hover{color:var(--text-primary);background-color:#ffffff14}.how-to-play-body{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.rule-item{align-items:flex-start;gap:.85rem;display:flex}.rule-badge{color:#60a5fa;background-color:#3b82f626;border:1px solid #3b82f64d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;font-size:.8rem;font-weight:800;display:flex}.rule-text strong{color:var(--text-primary);margin-bottom:.2rem;font-size:.95rem;display:block}.rule-text p{color:var(--text-secondary);font-size:.85rem;line-height:1.45}.how-to-play-footer{border-top:1px solid var(--border);justify-content:flex-end;padding-top:.75rem;display:flex}.lobby-top-bar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.user-profile-badge{align-items:center;gap:.5rem;display:flex}.user-profile-main{flex-direction:column;gap:.25rem;display:flex}.profile-name-tag{cursor:pointer;border-radius:.375rem;align-items:center;gap:.4rem;padding:.2rem .4rem;transition:background-color .15s;display:flex}.profile-name-tag:hover{background-color:#ffffff14}.profile-username{color:var(--text-primary);font-size:.95rem;font-weight:700}.edit-icon-subtle{color:var(--text-muted)}.edit-name-form{align-items:center;gap:.35rem;display:flex}.input-xs{width:140px;height:28px;padding:.25rem .5rem;font-size:.85rem}.btn-save-name{color:var(--accent-green)}.profile-stats-row{align-items:center;gap:.5rem;font-size:.78rem;display:flex}.profile-elo-pill{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:9999px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-weight:700;display:inline-flex}.profile-record-pill{color:var(--text-secondary);font-weight:500}.leaderboard-btn{color:#fbbf24;border-color:#f59e0b4d;gap:.4rem}.leaderboard-btn:hover{background-color:#f59e0b1a}.btn-cancel-queue{margin-left:auto;padding:.25rem .5rem;font-size:.75rem}.player-name-line{align-items:center;gap:.45rem;display:flex}.player-elo-badge{color:#fbbf24;letter-spacing:.02em;background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:.25rem;padding:.1rem .35rem;font-size:.75rem;font-weight:700}.modal-elo-box{background-color:#ffffff0a;border:1px solid #ffffff14;border-radius:.75rem;flex-direction:column;align-items:center;gap:.4rem;margin:1rem 0;padding:.85rem 1.25rem;display:flex}.elo-change-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.78rem;font-weight:600}.elo-change-row{align-items:center;gap:.85rem;display:flex}.elo-delta-pill{border-radius:9999px;align-items:center;gap:.25rem;padding:.3rem .75rem;font-size:1.05rem;font-weight:800;display:inline-flex}.elo-plus{color:#34d399;background-color:#10b98133;border:1px solid #10b98166}.elo-minus{color:#f87171;background-color:#ef444433;border:1px solid #ef444466}.elo-even{color:#cbd5e1;background-color:#94a3b833;border:1px solid #94a3b866}.elo-calc-text{color:var(--text-secondary);font-size:.95rem}.elo-calc-text strong{color:var(--text-primary)}.leaderboard-modal{max-width:520px}.leaderboard-body{padding:.5rem 0}.leaderboard-loading,.leaderboard-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}.leaderboard-table-wrap{border:1px solid #ffffff0f;border-radius:.5rem;max-height:380px;overflow-y:auto}.leaderboard-table{border-collapse:collapse;text-align:left;width:100%}.leaderboard-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);background-color:#0f172acc;padding:.75rem 1rem;font-size:.78rem;font-weight:700;position:sticky;top:0}.leaderboard-table td{border-bottom:1px solid #ffffff0a;padding:.8rem 1rem;font-size:.9rem}.leader-row:hover{background-color:#ffffff08}.leader-row-me{background-color:#3b82f61a}.td-rank{width:55px}.rank-badge{align-items:center;gap:.2rem;font-size:.85rem;font-weight:800;display:inline-flex}.rank-1{color:#fbbf24}.rank-2{color:#cbd5e1}.rank-3{color:#d97706}.rank-number{color:var(--text-muted);padding-left:.35rem;font-weight:600}.leader-name{color:var(--text-primary);align-items:center;gap:.45rem;font-weight:600;display:flex}.you-pill{background-color:var(--accent-blue);color:#fff;letter-spacing:.04em;border-radius:.25rem;padding:.1rem .35rem;font-size:.65rem;font-weight:800}.leader-elo{color:#fbbf24;font-weight:800}.record-text{color:var(--text-secondary);font-size:.8rem}.stat-w{color:#34d399;font-weight:600}.stat-l{color:#f87171;font-weight:600}.stat-d{color:var(--text-muted);font-weight:600}.leaderboard-hint{color:var(--text-muted);font-size:.78rem}.leaderboard-auth-banner{border-radius:var(--radius-md);color:#fde68a;background:#f59e0b1a;border:1px solid #f59e0b47;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;padding:.6rem .85rem;font-size:.82rem;display:flex}.leaderboard-auth-banner-text{align-items:center;gap:.4rem;display:flex}.leaderboard-auth-btn{color:#fef08a;white-space:nowrap;border-color:#f59e0b59;gap:.35rem;padding:.32rem .65rem;font-size:.75rem}.leaderboard-auth-btn:hover{color:#fff;background:#f59e0b38}.lobby-top-actions{align-items:center;gap:.5rem;display:flex}.auth-btn{gap:.4rem}.auth-modal{max-width:420px}.auth-modal-body{padding:1rem 0}.auth-form{flex-direction:column;gap:1.1rem;display:flex}.auth-input-group{flex-direction:column;gap:.4rem;display:flex}.auth-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.auth-submit-btn{margin-top:.5rem}.btn-full{width:100%}.auth-toggle-row{text-align:center;color:var(--text-muted);margin-top:.5rem;font-size:.85rem}.auth-link-btn{color:#60a5fa;cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.auth-link-btn:hover{color:#93c5fd}.auth-error{gap:.5rem;padding:.65rem .85rem;font-size:.85rem}.account-details-view{flex-direction:column;gap:.85rem;padding:.5rem 0;display:flex}.account-welcome{color:var(--text-muted);font-size:.85rem}.account-email-pill{border:1px solid var(--border);color:var(--text-primary);word-break:break-all;background-color:#ffffff0d;border-radius:.5rem;padding:.65rem 1rem;font-size:.95rem;font-weight:700}.account-hint{color:var(--text-secondary);font-size:.82rem;line-height:1.4}.logout-btn{color:#f87171;border-color:#ef44444d;margin-top:.5rem}.logout-btn:hover{background-color:#ef44441a}.showdown-auth-modal{max-width:440px}.showdown-form{flex-direction:column;gap:1.1rem;display:flex}.showdown-intro{color:var(--text-secondary);margin-bottom:.2rem;font-size:.88rem;line-height:1.45}.showdown-btn-row{margin-top:.4rem}.showdown-submit-btn{gap:.5rem;font-weight:700}.showdown-notice-box{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);background:#ffffff08;padding:.65rem .85rem;font-size:.8rem;line-height:1.4}.login-notice{gap:.5rem;font-size:.85rem}.register-elo-callout{border-radius:var(--radius-md);color:#fde68a;background:#f59e0b1f;border:1px solid #f59e0b4d;align-items:flex-start;gap:.65rem;padding:.75rem .9rem;font-size:.84rem;line-height:1.45;display:flex}.register-elo-callout-text{flex-direction:column;gap:.2rem;display:flex}.account-user-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff08;flex-direction:column;gap:.9rem;padding:1.1rem;display:flex}.account-user-header{align-items:center;gap:.75rem;display:flex}.account-username{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:800;line-height:1.2}.registered-pill{color:#34d399;background:#34d39926;border:1px solid #34d3994d;border-radius:9999px;margin-top:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.account-stats-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.account-stat-box{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;background:#00000040;flex-direction:column;align-items:center;padding:.5rem .6rem;display:flex}.account-stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.7rem;font-weight:600}.account-stat-val{color:var(--text-primary);font-size:1.05rem;font-weight:800}.profile-name-tag-row{align-items:center;gap:.4rem;display:flex}.showdown-name-registered{cursor:pointer;align-items:center;gap:.35rem;display:flex}.badge-registered-tag{color:#34d399;font-size:.85rem;font-weight:800}.unregistered-name-group{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.showdown-name-unregistered{cursor:pointer;align-items:center;gap:.35rem;display:flex}.unregistered-pill-tag{color:#fbbf24;background:#f59e0b2e;border:1px solid #f59e0b59;border-radius:9999px;padding:.1rem .4rem;font-size:.68rem;font-weight:700}.btn-claim-name{border-radius:var(--radius-sm);gap:.25rem;padding:.2rem .5rem;font-size:.75rem;animation:2.5s infinite subtlePulse}@keyframes subtlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.btn-choose-name-top{border-radius:var(--radius-sm);gap:.3rem;padding:.25rem .6rem;font-size:.78rem}.showdown-callout-banner{border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:.85rem;margin-bottom:1.1rem;padding:.65rem .95rem;font-size:.85rem;display:flex}.choose-name-callout{color:#c7d2fe;background:#6366f11f;border:1px solid #6366f14d}.unregistered-callout{color:#fde68a;background:#f59e0b1f;border:1px solid #f59e0b4d}.callout-text-group{align-items:center;gap:.5rem;line-height:1.35;display:flex}.btn-callout-register{white-space:nowrap;color:#fde68a;border-color:#f59e0b66;gap:.3rem;padding:.35rem .75rem;font-size:.78rem}.btn-callout-register:hover{color:#fff;background:#f59e0b33}.lobby-user-pill{cursor:pointer;-webkit-user-select:none;user-select:none;background:#1e293bbf;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .75rem;transition:all .15s;display:inline-flex}.lobby-user-pill:hover{background:#334155e6;border-color:#6366f166;transform:translateY(-1px)}.user-pill-avatar{color:#a5b4fc;background:#6366f140;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.user-pill-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.88rem;font-weight:700;overflow:hidden}.user-pill-guest-tag{color:#fbbf24;text-transform:uppercase;letter-spacing:.02em;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:9999px;padding:.05rem .35rem;font-size:.65rem;font-weight:600}.top-bar-placeholder{min-width:1px}.friends-btn{gap:.35rem}.btn-register-top{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;gap:.3rem;font-weight:600}.btn-register-top:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.friends-modal{width:100%;max-width:480px}.friends-nav-tabs{border-bottom:1px solid #ffffff14;align-items:center;gap:.35rem;padding:.75rem 1.25rem 0;display:flex}.friends-nav-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.friends-nav-btn:hover{color:var(--text-primary)}.friends-nav-btn.active{color:#818cf8;border-bottom-color:#818cf8}.friends-count-pill{color:var(--text-secondary);background:#ffffff14;border-radius:9999px;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.requests-badge{color:#fff;background:#ef4444;border-radius:9999px;padding:.05rem .4rem;font-size:.7rem;font-weight:800}.friends-modal-body{min-height:240px;max-height:420px;padding:1.25rem;overflow-y:auto}.friends-empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2.5rem 1rem;display:flex}.friends-items-list,.requests-items-list{flex-direction:column;gap:.5rem;display:flex}.friend-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:.65rem .85rem;transition:all .15s;display:flex}.friend-card:hover{background:var(--bg-panel);border-color:var(--accent-blue)}.friend-info{align-items:center;gap:.65rem;display:flex}.friend-presence-wrapper{justify-content:center;align-items:center;display:flex}.presence-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.presence-online{background-color:#10b981;box-shadow:0 0 6px #10b98199}.presence-ingame{background-color:#f59e0b;box-shadow:0 0 6px #f59e0b99}.presence-offline{background-color:#64748b}.friend-text-block{flex-direction:column;gap:.1rem;display:flex}.friend-name-row{align-items:center;gap:.35rem;display:flex}.friend-name{color:var(--text-primary);font-size:.9rem;font-weight:700}.friend-status-text{color:var(--text-muted);font-size:.74rem}.friend-elo-label{color:var(--text-secondary)}.friend-actions{align-items:center;gap:.35rem;display:flex}.btn-challenge{gap:.3rem;padding:.25rem .55rem;font-size:.76rem}.btn-remove-friend{color:var(--text-muted);border-radius:var(--radius-sm);padding:.25rem;transition:all .15s}.btn-remove-friend:hover{color:#ef4444;background:#ef44441a}.add-friend-view{padding:.5rem 0}.add-friend-form{flex-direction:column;gap:.85rem;display:flex}.add-friend-hint{color:var(--text-muted);font-size:.83rem;line-height:1.4}.request-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.request-info{flex-direction:column;gap:.1rem;display:flex}.request-from-name{color:var(--text-primary);font-size:.9rem;font-weight:700}.request-time-text{color:var(--text-muted);font-size:.74rem}.request-actions{align-items:center;gap:.35rem;display:flex}.challenge-popup-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.challenge-popup-card{background:var(--bg-card,#1e293b);border-radius:var(--radius-lg,.75rem);text-align:center;border:1px solid #6366f166;flex-direction:column;align-items:center;width:100%;max-width:380px;padding:1.5rem;animation:.25s cubic-bezier(.16,1,.3,1) modalPop;display:flex;box-shadow:0 10px 30px #00000080,0 0 20px #6366f133}.challenge-popup-header{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.challenge-icon-bounce{color:#fbbf24;animation:1.5s infinite challengeBounce}@keyframes challengeBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.challenge-popup-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:800}.challenge-popup-text{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.92rem;line-height:1.45}.challenge-popup-text strong{color:var(--text-primary)}.challenge-popup-actions{flex-direction:column;gap:.5rem;width:100%;display:flex}.btn-accept-challenge{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border:none;gap:.4rem;font-weight:700}.btn-accept-challenge:hover{background:linear-gradient(135deg,#34d399,#10b981)}.btn-decline-challenge{gap:.4rem}.site-layout{background-color:var(--bg-dark);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.site-navbar{background:var(--bg-panel);border-bottom:2px solid var(--border);z-index:100;justify-content:space-between;align-items:center;gap:1.5rem;padding:.65rem 1.75rem;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0003}.site-brand{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;display:flex}.brand-logo-icon{border-radius:var(--radius-md,4px);background:var(--accent-blue);color:#fff;border:1.5px solid #1d4ed8;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 1px 2px #00000040}.brand-text-block{flex-direction:column;display:flex}.brand-title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.25rem;font-weight:850;line-height:1.1}.brand-badge{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:800;font-family:var(--font-mono)}.nav-link-btn{border-radius:var(--radius-sm,3px);color:var(--text-secondary);cursor:pointer;background:0 0;border:1.5px solid #0000;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.88rem;font-weight:700;transition:all .12s;display:inline-flex}.nav-link-btn:hover{color:var(--text-primary);border-color:var(--border);background:#ffffff0f}.nav-link-btn.active{color:#fff;background:var(--accent-blue);border:1.5px solid #1d4ed8}.nav-badge-pill{border-radius:var(--radius-xs,2px);color:#34d399;font-size:.7rem;font-weight:800;font-family:var(--font-mono);background:#10b9812e;border:1px solid #10b98166;padding:.1rem .4rem}.navbar-user-pill{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#7d7d7d14;border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .75rem;transition:all .15s;display:flex}.navbar-user-pill:hover{border-color:var(--accent-blue);background:#7d7d7d29;transform:translateY(-1px)}.nav-user-avatar{color:#a5b4fc;background:#6366f140;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.nav-user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.88rem;font-weight:700;overflow:hidden}.nav-user-elo{color:#fbbf24;background:#f59e0b26;border-radius:9999px;padding:.1rem .4rem;font-size:.78rem;font-weight:700}.nav-guest-tag{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-weight:700}.nav-help-btn{color:var(--text-muted);border-radius:50%;padding:.4rem;transition:color .15s}.nav-help-btn:hover{color:var(--text-primary)}.site-main-viewport{flex-direction:column;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem;display:flex}.play-hub-container{flex-direction:column;gap:2rem;width:100%;display:flex}.queue-active-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg,#6366f126,#10b98126);border:1px solid #6366f166;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.5rem;animation:.25s ease-out fadeIn;display:flex;box-shadow:0 4px 20px #6366f133}.queue-status-left{align-items:center;gap:1rem;display:flex}.queue-radar-ring{background:#6366f133;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.radar-icon-pulse{color:#818cf8;animation:1.5s infinite pulseRadar}@keyframes pulseRadar{0%{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.15)}to{opacity:.7;transform:scale(.95)}}.queue-status-text{flex-direction:column;gap:.15rem;display:flex}.queue-status-title{color:#fff;font-size:1.05rem;font-weight:800}.queue-status-sub{color:var(--text-secondary);font-size:.85rem}.queue-status-sub strong{color:#fbbf24}.btn-cancel-queue-hero{color:#fca5a5;white-space:nowrap;border-color:#ef444466}.btn-cancel-queue-hero:hover{color:#fff;background:#ef444426}.alert-hub-error{margin-bottom:0}.play-hero-section{background:var(--bg-panel);border:2px solid var(--border);border-radius:var(--radius-md,4px);grid-template-columns:1fr auto;align-items:center;gap:2.5rem;padding:2.2rem;display:grid;box-shadow:0 2px 6px #00000040}.hero-text-col{flex-direction:column;gap:.85rem;display:flex}.hero-headline{letter-spacing:-.03em;color:var(--text-primary);font-size:2.3rem;font-weight:850;line-height:1.15}.hero-subhead{color:var(--text-secondary);max-width:620px;font-size:1.05rem;line-height:1.5}.hero-cta-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md,4px);text-align:center;flex-direction:column;align-items:center;gap:.65rem;width:280px;padding:1.5rem;display:flex;box-shadow:0 2px 4px #00000040}.hero-cta-card h3{color:var(--text-primary);font-size:1.1rem;font-weight:800}.hero-cta-card p{color:var(--text-muted);font-size:.82rem;line-height:1.4}.game-modes-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.mode-card{background:var(--bg-panel);border:2px solid var(--border);border-radius:var(--radius-md,4px);flex-direction:column;padding:1.5rem;transition:all .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #0003}.mode-card:hover{border-color:var(--accent-blue);transform:translateY(-2px);box-shadow:0 4px 10px #0000004d}.mode-card-highlighted{border-color:var(--accent-blue);background:var(--bg-panel)}.mode-card-searching{border-color:#10b981;box-shadow:0 0 12px #10b98140}.mode-card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.mode-icon-box{border-radius:var(--radius-sm,3px);justify-content:center;align-items:center;width:44px;height:44px;display:flex}.mode-icon-primary{color:var(--accent-blue);background:#2563eb26;border:1.5px solid #2563eb59}.mode-icon-secondary{color:#34d399;background:#10b98126;border:1.5px solid #10b98159}.mode-icon-tertiary{color:#fbbf24;background:#f59e0b26;border:1.5px solid #f59e0b59}.mode-badge-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-xs,2px);background:var(--bg-card);border:1.5px solid var(--border);color:var(--text-secondary);font-size:.72rem;font-weight:800;font-family:var(--font-mono);padding:.2rem .5rem}.mode-title{color:var(--text-primary);margin-bottom:.4rem;font-size:1.35rem;font-weight:800}.mode-desc{color:var(--text-muted);flex:1;margin-bottom:1.5rem;font-size:.88rem;line-height:1.45}.btn-mode-action{gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:700}.mode-join-form{flex-direction:column;gap:.65rem;width:100%;display:flex}.mode-code-input{box-sizing:border-box;text-transform:uppercase;letter-spacing:.12em;text-align:center;width:100%;min-width:0;padding:.7rem .85rem;font-size:.95rem;font-weight:700}.hub-widget-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;padding:1.5rem;display:flex}.widget-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.widget-title-row h4{color:var(--text-primary);font-size:1.05rem;font-weight:800}.widget-empty-block{text-align:center;color:var(--text-muted);padding:1.75rem 1rem;font-size:.88rem}.widget-friends-list{flex-direction:column;gap:.6rem;display:flex}.widget-friend-item{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.friend-meta-group{align-items:center;gap:.5rem;display:flex}.widget-friend-name{color:var(--text-primary);font-size:.88rem;font-weight:700}.widget-friend-elo{color:var(--text-muted);font-size:.78rem}.rule-bullet-num{background:var(--bg-card);border:1px solid var(--border);color:#d97706;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:.72rem;font-weight:800;display:flex}.page-container{flex-direction:column;gap:1.5rem;width:100%;display:flex}.page-header-nav{align-items:center;margin-bottom:.5rem;display:flex}.profile-layout-grid{flex-direction:column;gap:1.5rem;display:flex}.profile-hero-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);align-items:center;gap:1.75rem;padding:2rem;display:flex}.profile-avatar-large{background:linear-gradient(135deg, var(--accent-blue), #8b5cf6);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;box-shadow:0 4px 16px #6366f159}.profile-hero-details{flex-direction:column;flex:1;gap:.6rem;display:flex}.profile-hero-name-row{align-items:center;gap:.75rem;display:flex}.profile-hero-name{color:var(--text-primary);margin:0;font-size:1.85rem;font-weight:900}.badge-registered-pill{color:#34d399;background:#10b9812e;border:1px solid #10b98166;border-radius:9999px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-guest-pill{color:#fbbf24;text-transform:uppercase;background:#f59e0b2e;border:1px solid #f59e0b66;border-radius:9999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.profile-tier-row{align-items:center;gap:1rem;display:flex}.profile-tier-badge{border:1px solid;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.82rem;font-weight:800;display:inline-flex}.profile-elo-display{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:1.1rem;display:inline-flex}.profile-elo-display strong{color:var(--text-primary)}.profile-rd-text{color:var(--text-muted);margin-left:.15rem;font-size:.82rem;font-weight:600}.stat-card-sub-rd{color:var(--text-muted);margin-left:.25rem;font-size:.95rem;font-weight:600}.provisional-pill{color:#f59e0b;text-transform:uppercase;letter-spacing:.04em;background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:9999px;align-items:center;margin-left:.35rem;padding:.12rem .45rem;font-size:.68rem;font-weight:700;display:inline-flex}.rating-history-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm,0 1px 3px #0000000d);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;position:relative}.rating-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.rating-title-group{align-items:center;gap:.75rem;display:flex}.rating-icon-box{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--accent-blue);background:#6366f11f;border:1px solid #6366f140;justify-content:center;align-items:center;display:flex}.rating-chart-title{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:800;line-height:1.2}.rating-chart-sub{color:var(--text-muted);font-size:.8rem;font-weight:500}.rating-summary-chips{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.rating-chip{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:.15rem;min-width:80px;padding:.45rem .85rem;display:flex}.rating-chip-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.68rem;font-weight:700}.rating-chip-val{align-items:center;gap:.35rem;font-size:1.05rem;font-weight:800;display:flex}.rd-badge-inline{color:var(--text-muted);font-size:.72rem;font-weight:600}.rating-chart-viewport{border-radius:var(--radius-sm);width:100%;position:relative;overflow:visible}.rating-svg-canvas{width:100%;height:auto;max-height:240px;display:block;overflow:visible}.chart-grid-line{stroke:var(--border);stroke-dasharray:4 4;stroke-width:1px;opacity:.6}.chart-axis-label{fill:var(--text-muted);font-family:inherit;font-size:11px;font-weight:600}.chart-stroke-line{filter:drop-shadow(0 2px 8px #6366f159)}.chart-data-dot{fill:var(--bg-panel);stroke:var(--accent-blue);stroke-width:2.5px;cursor:pointer;transition:all .15s}.chart-data-dot-active{r:6;stroke:#38bdf8;stroke-width:3.5px;fill:#fff;filter:drop-shadow(0 0 6px #38bdf8cc)}.chart-tooltip-popover{background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);pointer-events:none;z-index:20;flex-direction:column;gap:.25rem;min-width:130px;padding:.55rem .85rem;transition:transform 80ms;display:flex;position:absolute;transform:translate(-50%,-125%)}.tooltip-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tooltip-rating{color:var(--text-primary);align-items:center;gap:.3rem;font-size:.95rem;font-weight:800;display:flex}.tooltip-rd{color:var(--text-muted);font-size:.72rem;font-weight:600}.tooltip-delta{border-radius:4px;padding:.1rem .35rem;font-size:.78rem;font-weight:800}.delta-pos{color:#10b981;background:#10b9811f}.delta-neg{color:#ef4444;background:#ef44441f}.tooltip-match-meta{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.tooltip-result-pill{border-radius:4px;padding:.05rem .35rem;font-size:.65rem;font-weight:800}.result-win{color:#10b981;background:#10b98126}.result-loss{color:#ef4444;background:#ef444426}.result-draw{color:#94a3b8;background:#94a3b826}.tooltip-opponent{white-space:nowrap;text-overflow:ellipsis;max-width:110px;font-weight:600;overflow:hidden}.tooltip-time{color:var(--text-muted);font-size:.7rem}.chart-empty-hint{text-align:center;color:var(--text-muted);padding:.35rem 0;font-size:.8rem}.profile-unnamed-callout{border-radius:var(--radius-md);color:#c7d2fe;background:#6366f11f;border:1px solid #6366f14d;justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.profile-stats-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.stat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.35rem;padding:1.5rem;display:flex}.stat-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.78rem;font-weight:700}.stat-card-value{color:var(--text-primary);font-size:2.1rem;font-weight:900;line-height:1.1}.elo-highlight{color:#fbbf24}.stat-card-sub{color:var(--text-secondary);font-size:.82rem}.winrate-bar-container{background:#ffffff14;border-radius:9999px;height:6px;margin-top:.4rem;overflow:hidden}.winrate-bar-fill{background:linear-gradient(90deg,#10b981,#06b6d4);border-radius:9999px;height:100%}.profile-section-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem}.section-title{margin-bottom:1rem;font-size:1.2rem;font-weight:800}.guest-protection-box{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b40;align-items:flex-start;gap:1.25rem;padding:1.25rem;display:flex}.protection-icon-col{padding-top:2px}.protection-content{flex-direction:column;flex:1;gap:.45rem;display:flex}.protection-content h4{color:#fde68a;font-size:1.05rem;font-weight:800}.protection-content p{color:var(--text-secondary);font-size:.86rem;line-height:1.45}.protection-actions{gap:.75rem;margin-top:.5rem;display:flex}.registered-account-info{flex-direction:column;gap:.75rem;display:flex}.account-detail-row{gap:.75rem;font-size:.92rem;display:flex}.detail-label{color:var(--text-muted);width:100px}.account-actions-row{margin-top:.75rem}.btn-logout{color:#fca5a5;border-color:#ef444459}.btn-logout:hover{color:#fff;background:#ef444426}.profile-play-cta{border-radius:var(--radius-lg);background:linear-gradient(135deg,#6366f11f,#8b5cf61f);border:1px solid #6366f159;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 2rem;display:flex}.cta-text h3{margin-bottom:.25rem;font-size:1.25rem;font-weight:800}.cta-text p{color:var(--text-secondary);font-size:.88rem}.settings-content-wrapper{flex-direction:column;gap:2rem;display:flex}.settings-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:1.25rem;display:flex}.settings-title-group{align-items:center;gap:1rem;display:flex}.settings-title{margin:0;font-size:1.85rem;font-weight:900}.settings-subtitle{color:var(--text-secondary);font-size:.92rem}.settings-section{flex-direction:column;gap:1rem;display:flex}.section-header-row{align-items:center;gap:.6rem;display:flex}.section-heading{margin:0;font-size:1.25rem;font-weight:800}.section-desc{color:var(--text-muted);font-size:.88rem}.themes-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.theme-card{background:var(--bg-panel);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;gap:1rem;padding:1.25rem;transition:all .2s;display:flex}.theme-card:hover{border-color:#6366f166;transform:translateY(-2px)}.theme-card-selected{background:linear-gradient(135deg, #6366f114, var(--bg-panel));box-shadow:0 0 20px #6366f140;border-color:var(--accent-blue)!important}.theme-board-preview{border-radius:var(--radius-sm);border:2px solid;flex-shrink:0;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;width:64px;height:64px;display:grid;overflow:hidden}.preview-sq{color:#fff;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.theme-info{flex-direction:column;flex:1;gap:.35rem;display:flex}.theme-name-row{justify-content:space-between;align-items:center;display:flex}.theme-name{color:var(--text-primary);font-size:1rem;font-weight:800}.theme-active-tag{color:#34d399;background:#10b98126;border-radius:9999px;align-items:center;gap:.25rem;padding:.1rem .4rem;font-size:.72rem;font-weight:800;display:inline-flex}.theme-desc{color:var(--text-muted);font-size:.8rem;line-height:1.35}.theme-palette-dots{gap:.35rem;margin-top:.25rem;display:flex}.palette-dot{border:1px solid #fff3;border-radius:50%;width:12px;height:12px}.settings-option-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem;display:flex}.option-info{flex-direction:column;gap:.2rem;display:flex}.option-title{font-size:.98rem;font-weight:800}.option-sub{color:var(--text-muted);font-size:.82rem}.anim-toggle-group{gap:.35rem;display:flex}.settings-footer-row{justify-content:flex-end;margin-top:1rem;display:flex}.theme-filter-pills{background:var(--bg-card);border:1px solid var(--border);border-radius:9999px;gap:.4rem;padding:.25rem;display:flex}.theme-filter-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.theme-filter-btn:hover{color:var(--text-primary)}.theme-filter-btn.active{background:var(--accent-blue);color:#fff}.theme-mode-tag{border-radius:9999px;padding:.1rem .45rem;font-size:.68rem;font-weight:700;display:inline-flex}.mode-light{color:#d97706;background:#f59e0b26;border:1px solid #f59e0b4d}.mode-dark{color:#818cf8;background:#6366f126;border:1px solid #6366f14d}.theme-meta-row{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.theme-pieces-swatch{align-items:center;gap:.3rem;display:flex}.piece-dot{border:1.5px solid;border-radius:50%;width:14px;height:14px}.piece-tag-text{color:var(--text-muted);font-size:.72rem;font-weight:600}.leaderboard-page{flex-direction:column;gap:1.5rem;display:flex}.leaderboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.leaderboard-title-group{align-items:center;gap:1rem;display:flex}.leaderboard-icon-badge{border-radius:var(--radius-md);background:#f59e0b26;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.leaderboard-guest-banner{border-radius:var(--radius-md);color:var(--text-primary);background:#f59e0b1f;border:1px solid #f59e0b59;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.leaderboard-podium-grid{grid-template-columns:repeat(3,1fr);align-items:flex-end;gap:1.5rem;margin:1.5rem 0;display:grid}.podium-card{text-align:center;border-radius:var(--radius-lg);background:var(--bg-panel);border:2px solid var(--border);flex-direction:column;align-items:center;padding:1.75rem 1rem 1.25rem;transition:all .2s;display:flex;position:relative}.podium-gold{background:linear-gradient(180deg, #f59e0b24, var(--bg-panel));border-color:#f59e0b99;order:2;transform:translateY(-12px);box-shadow:0 10px 25px -5px #f59e0b40}.podium-silver{background:linear-gradient(180deg, #94a3b81a, var(--bg-panel));border-color:#94a3b880;order:1}.podium-bronze{background:linear-gradient(180deg, #b453091a, var(--bg-panel));border-color:#b4530980;order:3}.podium-crown{margin-bottom:-.25rem;font-size:1.75rem;line-height:1}.podium-rank-badge{color:var(--text-muted);font-size:.85rem;font-weight:900;position:absolute;top:.75rem;right:.75rem}.podium-avatar{border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:.75rem;display:flex}.trophy-gold{color:#fbbf24}.medal-silver{color:#94a3b8}.medal-bronze{color:#d97706}.podium-name{color:var(--text-primary);margin-bottom:.25rem;font-size:1.15rem;font-weight:800}.podium-elo{color:var(--accent-amber);font-size:1.35rem;font-weight:900}.podium-elo span{color:var(--text-muted);font-size:.8rem;font-weight:600}.podium-record{color:var(--text-secondary);margin-top:.25rem;font-size:.8rem}.champion-badge{text-transform:uppercase;letter-spacing:.05em;color:#fbbf24;background:#f59e0b33;border-radius:9999px;margin-top:.6rem;padding:.15rem .6rem;font-size:.72rem;font-weight:800}.leaderboard-table-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.leaderboard-full-table{border-collapse:collapse;text-align:left;width:100%}.leaderboard-full-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-card);border-bottom:1px solid var(--border);padding:.85rem 1.25rem;font-size:.8rem;font-weight:700}.leaderboard-full-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:.95rem 1.25rem;font-size:.9rem}.leaderboard-full-table tr:last-child td{border-bottom:none}.row-current-player{background:#6366f11a!important}.player-col-flex{align-items:center;gap:.5rem;display:flex}.player-table-name{color:var(--text-primary);font-weight:700}.rank-number-pill{border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.88rem;font-weight:800}.you-pill-tag{background:var(--accent-blue);color:#fff;border-radius:9999px;padding:.1rem .45rem;font-size:.7rem;font-weight:800}.friends-page{flex-direction:column;gap:1.5rem;display:flex}.friends-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.friends-title-group{align-items:center;gap:1rem;display:flex}.friends-icon-badge{border-radius:var(--radius-md);background:#6366f126;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.friends-stats-pills{gap:.75rem;display:flex}.friends-stat-pill{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);border-radius:9999px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-size:.85rem;display:flex}.friends-layout-grid{grid-template-columns:1.8fr 1.2fr;gap:1.5rem;display:grid}.friends-list-card,.friends-side-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.friends-card-header,.side-card-title-row{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.friend-row-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.9rem 1.1rem;transition:all .15s;display:flex}.friend-row-card:hover{border-color:var(--accent-blue)}.friend-row-info{align-items:center;gap:.85rem;display:flex}.friend-name-col{flex-direction:column;gap:.15rem;display:flex}.friend-title-line{align-items:center;gap:.45rem;display:flex}.friend-name-text{color:var(--text-primary);font-size:.95rem;font-weight:700}.friend-presence-label{color:var(--text-muted);font-size:.8rem}.status-online-label{color:#10b981;font-weight:600}.status-ingame-label{color:#f59e0b;font-weight:600}.status-offline-label{color:var(--text-muted)}.friend-elo-pill-small{color:var(--accent-amber);font-weight:700}.friend-row-actions{align-items:center;gap:.5rem;display:flex}.btn-challenge-action{gap:.35rem}.btn-remove-subtle{color:var(--text-muted);padding:.35rem}.btn-remove-subtle:hover{color:#ef4444;background:#ef444426}.add-friend-side-form{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.side-card-desc{color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem}.request-side-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.request-side-name{color:var(--text-primary);font-size:.9rem;font-weight:700}.request-side-sub{color:var(--text-muted);font-size:.75rem;display:block}.request-side-btns{align-items:center;gap:.4rem;display:flex}.requests-empty-block,.friends-empty-full{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}@media (width<=900px){.site-navbar{gap:.75rem;padding:.75rem 1rem}.site-nav-left{gap:1rem}.site-main-viewport{padding:1rem}.play-hero-section{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}.hero-cta-card{width:100%}.game-modes-grid,.play-hub-widgets-row{grid-template-columns:1fr}.profile-hero-card{text-align:center;flex-direction:column;gap:1rem;padding:1.5rem}.profile-hero-name-row,.profile-tier-row{justify-content:center}.profile-stats-grid{grid-template-columns:1fr}.arena-main-content{grid-template-columns:1fr;max-width:660px;margin:0 auto}.hide-mobile{display:none}.leaderboard-podium-grid{grid-template-columns:1fr;gap:1rem}.podium-gold{order:1;transform:none}.podium-silver{order:2}.podium-bronze{order:3}.friends-layout-grid{grid-template-columns:1fr}.leaderboard-table-card{overflow-x:auto}}@media (width<=600px){.site-navbar{flex-direction:column;align-items:stretch;gap:.75rem}.site-nav-left{justify-content:space-between;width:100%}.site-nav-links{width:100%;padding-bottom:.25rem;overflow-x:auto}.site-nav-right{justify-content:space-between;width:100%}.hero-headline{font-size:1.7rem}.game-arena-layout{padding:.5rem}.lobby-card{padding:1.5rem 1rem}.lobby-top-bar{flex-direction:column;align-items:stretch;gap:.75rem}.lobby-user-pill{align-self:flex-start}.lobby-top-actions{flex-wrap:wrap;gap:.4rem;width:100%;display:flex}.leaderboard-btn,.friends-btn,.auth-btn{flex:auto;justify-content:center}.lobby-title{font-size:1.9rem}.arena-header{flex-wrap:wrap;gap:.5rem}}.promotion-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000b8;justify-content:center;align-items:center;padding:1rem;animation:.15s fadeIn;display:flex;position:absolute;inset:0}.promotion-dialog{background:var(--bg-panel);border:2px solid var(--border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:360px;padding:1.5rem;display:flex;box-shadow:0 15px 35px #00000073}.promotion-title{color:var(--text-primary);letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.promotion-subtitle{color:var(--text-muted);margin-top:-.6rem;font-size:.85rem}.promotion-pieces-grid{grid-template-columns:repeat(4,1fr);gap:.65rem;width:100%;display:grid}.promotion-piece-card{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem .4rem;transition:all .15s;display:flex}.promotion-piece-card:hover{border-color:var(--accent-blue);background:#6366f126;transform:translateY(-2px)}.promotion-piece-preview{justify-content:center;align-items:center;width:48px;height:48px;display:flex}.promotion-piece-label{color:var(--text-secondary);font-size:.75rem;font-weight:700}.promotion-cancel-btn{margin-top:.25rem}.btn-timer-showdown{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.82rem;font-weight:700;transition:all .15s;display:inline-flex}.btn-timer-showdown:hover{border-color:var(--accent-blue);color:var(--text-primary)}.btn-timer-showdown.timer-active{color:#10b981;background:#10b98126;border-color:#10b981}.player-timer-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:.35rem;padding:.15rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:700;display:inline-flex}.timer-val-main{color:var(--text-primary)}.timer-val-sub{color:var(--text-muted);font-size:.68rem;font-weight:500}.player-timer-box.timer-danger{color:#ef4444;background:#ef44442e;border-color:#ef4444;animation:1s infinite alternate timerPulse}.player-timer-box.timer-danger .timer-val-main{color:#ef4444}@keyframes timerPulse{0%{transform:scale(1)}to{transform:scale(1.04)}}.showdown-timer-warning-banner{color:#fbbf24;border-radius:var(--radius-sm);background:#f59e0b26;border:1.5px solid #f59e0b;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem 1rem;font-size:.85rem;font-weight:800;animation:1.2s ease-in-out infinite warningPulse;display:flex}@keyframes warningPulse{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.85;transform:translateY(-1px)}}.variant-selection-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.variant-header-row{justify-content:space-between;align-items:center;display:flex}.variant-title-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.82rem;font-weight:800}.variant-active-badge{color:var(--accent-blue);border-radius:var(--radius-xs,2px);font-size:.75rem;font-weight:800;font-family:var(--font-mono);background:#2563eb1f;border:1px solid #2563eb47;padding:.15rem .55rem}.variant-buttons-row{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.variant-toggle-btn{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-sm,3px);cursor:pointer;text-align:left;flex-direction:row;align-items:center;gap:.85rem;padding:.65rem .95rem;transition:all .12s;display:flex}.variant-toggle-btn:hover{border-color:var(--accent-blue);background:#2563eb14}.variant-toggle-btn.active{border-color:var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue);background:#2563eb29}.playfield-graphic{border-radius:3px;flex-shrink:0;box-shadow:0 1px 3px #00000059}.variant-name{letter-spacing:-.01em;color:var(--text-primary);font-size:.98rem;font-weight:850}.native-chessboard-wrapper.variant-skirmish{max-width:520px}.site-navbar{z-index:100;background:#161512;border-bottom:1px solid #2b2824;justify-content:space-between;align-items:center;height:48px;min-height:48px;padding:0 1.25rem;display:flex;position:sticky;top:0}.site-nav-left{align-items:center;gap:1.5rem;display:flex}.site-brand{cursor:pointer;align-items:center;gap:.5rem;text-decoration:none;display:flex}.brand-logo-icon{width:30px;height:30px;color:var(--accent-blue);background:#262421;border:1px solid #36332e;border-radius:4px;justify-content:center;align-items:center;display:flex}.brand-title{color:#fff;letter-spacing:-.02em;font-size:1.1rem;font-weight:800}.site-nav-links{align-items:center;gap:.25rem;display:flex}.nav-link-btn{color:#8c8881;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.85rem;font-weight:700;transition:color .12s,background .12s;display:flex}.nav-link-btn:hover{color:#fff;background:#ffffff0a}.nav-link-btn.active{color:#fff;background:#262421}.site-nav-right{align-items:center;gap:.65rem;display:flex}.nav-auth-actions{align-items:center;gap:.5rem;display:flex}.nav-ghost-btn{color:#bababa;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.4rem .65rem;font-size:.82rem;font-weight:700;transition:color .12s}.nav-ghost-btn:hover{color:#fff}.btn-choose-name-top{color:#fff;letter-spacing:.04em;cursor:pointer;background:#3692e7;border:none;border-radius:3px;padding:.4rem .85rem;font-size:.82rem;font-weight:700;transition:background .12s}.btn-choose-name-top:hover{background:#2982d6}.navbar-user-pill{cursor:pointer;background:#262421;border:1px solid #36332e;border-radius:3px;align-items:center;gap:.45rem;padding:.3rem .65rem;font-size:.88rem;transition:border-color .12s;display:flex}.navbar-user-pill:hover{border-color:#48433d}.nav-user-name{color:#fff;font-weight:700}.nav-user-elo{color:#df6a15;font-weight:600}.play-hub-container.lichess-container{max-width:1040px;margin:0 auto;padding:1.5rem 1rem 3rem}.lichess-lobby{align-items:flex-start;gap:1.25rem;margin-bottom:2rem;display:flex}@media (width<=860px){.lichess-lobby{flex-direction:column}}.lichess-sidebar{flex-direction:column;flex-shrink:0;gap:.85rem;width:320px;display:flex}@media (width<=860px){.lichess-sidebar{width:100%}}.lichess-action-stack{flex-direction:column;gap:.5rem;display:flex}.lichess-sidebar-btn{color:#fff;cursor:pointer;text-align:left;background:#262421;border:1px solid #36332e;border-radius:4px;align-items:center;gap:.85rem;padding:.85rem 1rem;font-size:1.02rem;font-weight:600;transition:background .12s,border-color .12s;display:flex}.lichess-sidebar-btn:hover{background:#302d28;border-color:#48433d}.lichess-sidebar-btn:active{transform:translateY(1px)}.lichess-btn-icon-wrap{color:#bababa;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.lichess-sidebar-stats{color:#8c8881;text-align:left;padding:.25rem;font-size:.88rem}.lichess-sidebar-stats .stat-highlight{color:#fff;font-weight:700}.lichess-sidebar-stats .stat-sep{color:#44403a;margin:0 .4rem}.lichess-quick-join-box{background:#262421;border:1px solid #36332e;border-radius:4px;padding:.6rem .75rem}.lichess-code-form{gap:.4rem;display:flex}.lichess-code-input{color:#fff;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;background:#161512;border:1px solid #36332e;border-radius:3px;flex:1;padding:.45rem .6rem;font-size:.95rem}.lichess-code-input:focus{border-color:#3692e7;outline:none}.lichess-code-btn{color:#fff;cursor:pointer;background:#3692e7;border:none;border-radius:3px;padding:0 .9rem;font-size:.88rem;font-weight:700;transition:background .12s}.lichess-code-btn:hover:not(:disabled){background:#2982d6}.lichess-code-btn:disabled{opacity:.4;cursor:not-allowed}.lichess-sidebar-footer{color:#6b665f;padding:.25rem;font-size:.82rem;line-height:1.45}.lichess-sidebar-footer p{margin:0}.lichess-main-col{background:#1e1d1a;border:1px solid #36332e;border-radius:4px;flex:1;min-width:0;overflow:hidden}.lichess-tabs-nav{background:#161512;border-bottom:1px solid #36332e;display:flex}.lichess-tab-nav-btn{color:#8c8881;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.35rem;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;transition:color .12s;display:flex}.lichess-tab-nav-btn:hover{color:#fff}.lichess-tab-nav-btn.active{color:#fff;border-bottom-color:#df6a15}.tab-count-badge{color:#df6a15;font-size:.8rem}.lichess-quick-wrapper{flex-direction:column;justify-content:center;min-height:310px;padding:1.25rem;display:flex}.lichess-quick-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.quick-tile{cursor:pointer;text-align:center;background:#262421;border:1px solid #36332e;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1.35rem .75rem;transition:background .12s,border-color .12s,transform 80ms;display:flex}.quick-tile:hover{background:#302d28;border-color:#48433d}.quick-tile:active{transform:scale(.98)}.tile-primary-text{color:#fff;letter-spacing:-.01em;font-size:1.22rem;font-weight:700}.tile-sub-text{color:#8c8881;font-size:.82rem;font-weight:500}.lichess-queue-overlay{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2.5rem 1rem;display:flex}.lichess-radar-spinner{justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:.75rem;display:flex;position:relative}.radar-circle{opacity:0;border:1.5px solid #df6a15;border-radius:50%;animation:2s cubic-bezier(.215,.61,.355,1) infinite radarPulse;position:absolute}.radar-c1{width:32px;height:32px;animation-delay:0s}.radar-c2{width:52px;height:52px;animation-delay:.6s}.radar-c3{width:72px;height:72px;animation-delay:1.2s}@keyframes radarPulse{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.3)}}.radar-core-icon{color:#df6a15;z-index:2}.queue-headline{color:#fff;margin:.5rem 0 .25rem;font-size:1.3rem;font-weight:700}.queue-detail{color:#8c8881;margin:0 0 .5rem;font-size:.9rem}.queue-timer-clock{font-family:var(--font-mono);color:#df6a15;margin:0 0 1.25rem;font-size:1.1rem;font-weight:700}.btn-cancel-queue-lichess{color:#bababa;cursor:pointer;background:#262421;border:1px solid #36332e;border-radius:3px;padding:.45rem 1.4rem;font-size:.9rem;font-weight:600;transition:background .12s,color .12s}.btn-cancel-queue-lichess:hover{color:#fff;background:#302d28}.lichess-lobby-view,.lichess-leaderboard-view{padding:1rem}.lobby-table-header-bar{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.lobby-table-title{color:#fff;font-size:.95rem;font-weight:700}.lobby-table-container{overflow-x:auto}.lichess-table{border-collapse:collapse;width:100%;font-size:.88rem}.lichess-table th{text-align:left;color:#8c8881;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #36332e;padding:.5rem .65rem;font-size:.78rem;font-weight:700}.lichess-table td{color:#bababa;border-bottom:1px solid #2b2824;padding:.65rem}.lichess-table tr:hover td{background:#ffffff05}.badge-variant{color:#fff;background:#262421;border:1px solid #36332e;border-radius:3px;padding:.15rem .45rem;font-size:.78rem;font-weight:600}.status-pill{border-radius:3px;padding:.15rem .45rem;font-size:.78rem;font-weight:600}.status-waiting{color:#3692e7;background:#3692e726}.status-playing{color:#629924;background:#62992426}.vs-sep{color:#6b665f;font-size:.82rem}.lobby-empty-placeholder{text-align:center;color:#8c8881;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;display:flex}.lichess-create-modal{background:#262421;border:1px solid #36332e;border-radius:4px;max-width:440px}.create-section-label{color:#8c8881;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;font-size:.82rem;font-weight:700;display:block}.create-variant-row{gap:.65rem;margin-bottom:1.25rem;display:flex}.create-variant-btn{cursor:pointer;color:#bababa;background:#1e1d1a;border:1px solid #36332e;border-radius:4px;flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:.75rem .5rem;transition:all .12s;display:flex}.create-variant-btn:hover{color:#fff;border-color:#48433d}.create-variant-btn.active{color:#fff;background:#2b2824;border-color:#3692e7;box-shadow:0 0 0 1px #3692e7}.create-variant-text{font-size:.88rem;font-weight:700}.create-modal-actions{flex-direction:column;gap:.5rem;display:flex}.play-hub-widgets-row{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}@media (width<=768px){.play-hub-widgets-row{grid-template-columns:1fr}}.hub-widget-card{background:#262421;border:1px solid #36332e;border-radius:4px;padding:1rem 1.25rem}.widget-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.widget-title-row{align-items:center;gap:.5rem;display:flex}.widget-title-row h4{color:#fff;margin:0;font-size:.98rem;font-weight:700}.widget-friend-item{border-bottom:1px solid #2b2824;justify-content:space-between;align-items:center;padding:.4rem 0;display:flex}.widget-friend-item:last-child{border-bottom:none}.widget-rules-list{flex-direction:column;gap:.5rem;display:flex}.rule-bullet{color:#bababa;align-items:flex-start;gap:.65rem;font-size:.88rem;line-height:1.4;display:flex}.rule-bullet-num{color:#df6a15;background:#161512;border:1px solid #36332e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;font-size:.75rem;font-weight:700;display:flex}
