@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f1f0f5;--bg-2:#edecf3;--bg-3:#efe9f2;--surface:#fff;--surface-grad:#fbfbfd;--surface-2:#f3f3f8;--surface-3:#e9e9f1;--border:#dcdde6;--border-soft:#e7e7ef;--header-bg:#ffffffb8;--text:#141926;--muted:#5f6474;--faint:#9a9eae;--heading-grad-to:#3c4358;--accent:#c2f44d;--accent-hover:#b4ee35;--accent-press:#8fc724;--accent-ink:#1a2409;--accent-glow:#a3dc2659;--accent-soft:#e9fbc2;--gold:#a87b0e;--gold-soft:#f7efd6;--danger:#e5484d;--danger-text:#c62f2a;--error-bg:#fdecec;--error-border:#f3c2c0;--error-text:#b3261e;--draw-bg:#fbf5de;--draw-border:#e3c766;--overlay:#171c2c6b;--row-alt:#14192808;--icon-inset:#fff9;--clock-active-bg:#141926;--clock-active-ink:#fff;--board-light:#efeed8;--board-dark:#7c9a5e;--shadow-sm:0 1px 2px #1419280f;--shadow:0 4px 14px #14192814, 0 1px 3px #1419280f;--shadow-lg:0 18px 44px #14192824, 0 4px 12px #14192814;--shadow-board:0 20px 50px #161c2d2e;--radius-sm:8px;--radius:12px;--radius-lg:18px;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);font-synthesis-weight:none;letter-spacing:-.011em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--bg:#17161c;--bg-2:#141319;--bg-3:#181420;--surface:#201f28;--surface-grad:#232230;--surface-2:#2a2833;--surface-3:#34313f;--border:#3a3844;--border-soft:#2c2a36;--header-bg:#17161cb8;--text:#f2f1f5;--muted:#9d9aa8;--faint:#6f6c7c;--heading-grad-to:#b9b6c6;--accent-glow:#a3dc2638;--accent-soft:#c2f44d29;--gold:#e6c366;--gold-soft:#e6c36624;--danger-text:#f2918f;--error-bg:#e5484d24;--error-border:#e5484d66;--error-text:#f4a7a3;--draw-bg:#e6c3661a;--draw-border:#e6c36680;--overlay:#0a090e8c;--row-alt:#ffffff06;--icon-inset:#ffffff0a;--clock-active-bg:#f5f2ea;--clock-active-ink:#1b1a17;--shadow-sm:0 1px 2px #0000004d;--shadow:0 4px 12px #00000059, 0 1px 3px #0000004d;--shadow-lg:0 18px 48px #00000080, 0 4px 12px #00000059;--shadow-board:0 24px 60px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1100px 600px at 82% -8%, #c2f44d29, transparent 60%), radial-gradient(900px 520px at 4% 2%, #7a6cff14, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 70%, var(--bg-3) 100%);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh;transition:background .25s var(--ease), color .25s var(--ease);background-attachment:fixed}:root[data-theme=dark] body{background:radial-gradient(1100px 600px at 78% -8%, #c2f44d12, transparent 60%), radial-gradient(900px 500px at 8% 0%, #786cff12, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 70%, var(--bg-3) 100%);background-attachment:fixed}::selection{background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}#root,.app{flex-direction:column;min-height:100vh;display:flex}button{font:inherit;cursor:pointer}h1,h2,h3{margin:0}.header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(16px)saturate(1.4);border-bottom:1px solid var(--border-soft);position:sticky;top:0}.header-inner{align-items:center;gap:28px;max-width:1200px;height:60px;margin:0 auto;padding:0 24px;display:flex}.brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:9px;font-size:21px;font-weight:800;text-decoration:none;display:flex}.brand-icon{width:34px;height:34px;color:var(--accent-ink);background:linear-gradient(150deg, var(--accent), var(--accent-hover));box-shadow:0 4px 14px var(--accent-glow);border-radius:10px;place-items:center;font-size:22px;line-height:1;display:grid}.nav{flex:1;gap:4px;display:flex}.nav-link{color:var(--muted);border-radius:8px;padding:8px 14px;font-size:15px;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:var(--surface-2)}.nav-link.active{color:var(--text);background:var(--accent-soft)}.nav-link.disabled{cursor:default}.nav-link.disabled:hover{color:var(--muted);background:0 0}.nav-link em{text-transform:uppercase;letter-spacing:.5px;background:var(--gold-soft);color:var(--gold);vertical-align:2px;border-radius:4px;margin-left:4px;padding:2px 6px;font-size:10px;font-style:normal}.theme-toggle{background:var(--surface-2);color:var(--text);border:0;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:16px;line-height:1;transition:background .15s;display:grid}.theme-toggle:hover{background:var(--surface-3)}.header-user{align-items:center;gap:8px;display:flex}.header-username{text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--text);font-size:14px;font-weight:700;text-decoration:none;overflow:hidden}.header-username:hover{color:var(--accent-press)}.btn-sm{border-radius:8px;padding:7px 14px;font-size:13.5px}.lang{background:var(--surface-2);border-radius:8px;gap:2px;padding:3px;display:flex}.lang button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:5px 10px;font-size:13px;font-weight:700}.lang button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:32px 24px 64px}.btn{background:var(--surface);color:var(--text);border:1px solid var(--border);letter-spacing:-.01em;box-shadow:var(--shadow-sm);transition:background .16s var(--ease), border-color .16s var(--ease), transform .12s var(--ease), box-shadow .16s var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:650;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--faint);transform:translateY(-1px)}.btn:active{box-shadow:none;transform:translateY(0)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 18px var(--accent-glow);border-color:#0000}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 10px 26px var(--accent-glow);border-color:#0000}.btn-danger{background:var(--surface);color:var(--danger-text)}.btn-danger:hover{background:var(--danger);color:#fff;border-color:#0000}.btn-lg{border-radius:10px;padding:14px 28px;font-size:17px}.btn-block{width:100%}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:56px;padding:48px 0 28px;display:grid}.hero-text{animation:fade-up .7s var(--ease-out) both}.hero h1{letter-spacing:-.03em;background:linear-gradient(180deg, var(--text), var(--heading-grad-to));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:18px;font-size:clamp(38px,5vw,56px);font-weight:800;line-height:1.05}.hero-highlights{flex-direction:column;gap:8px;max-width:52ch;margin:0 0 30px;display:flex}.hl-line{color:var(--muted);margin:0;font-size:16px;line-height:1.55}.hl-line strong{font-weight:700}.hl-ready strong{color:var(--accent-press)}.hl-soon strong{color:var(--gold)}.hero-actions{gap:14px;display:flex}.hero-board{animation:fade-up .7s var(--ease-out) .12s both}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.engine-note{color:var(--muted);margin:18px 0 0;font-size:13px}.hero-board{width:100%;max-width:420px;margin-left:auto}.features{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:56px;display:grid}.feature-card{background:linear-gradient(180deg, var(--surface), var(--surface-grad));border:1px solid var(--border-soft);border-radius:var(--radius-lg);color:var(--text);box-shadow:var(--shadow-sm);padding:26px;text-decoration:none;display:block;position:relative;overflow:hidden}.feature-card.available{transition:transform .25s var(--ease-out), border-color .25s var(--ease), box-shadow .25s var(--ease)}.feature-card.available:after{content:"";border-radius:inherit;background:linear-gradient(140deg, var(--accent-press), transparent 45%);-webkit-mask-composite:xor;opacity:0;transition:opacity .25s var(--ease);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.feature-card.available:hover{box-shadow:var(--shadow-lg);border-color:#0000;transform:translateY(-4px)}.feature-card.available:hover:after{opacity:1}.feature-icon{background:var(--surface-2);width:54px;height:54px;box-shadow:inset 0 1px 0 var(--icon-inset);border-radius:14px;place-items:center;margin-bottom:14px;font-size:32px;display:inline-grid}.feature-card h3{margin-bottom:8px;font-size:18px}.feature-card p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.5}.soon-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--gold);background:var(--gold-soft);border-radius:5px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:14px;right:14px}.play-page{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:28px;display:grid}.board-wrap{width:100%;max-width:min(100vh - 150px,680px);margin:0 auto;position:relative}.board-sizer{width:100%}.board-overlay{z-index:10;background:var(--overlay);border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.result-card{background:var(--surface);border:1px solid var(--border-soft);text-align:center;box-shadow:var(--shadow-lg);border-radius:14px;padding:28px 40px}.result-title{margin-bottom:6px;font-size:26px;font-weight:800}.result-sub{color:var(--muted);margin-bottom:18px}.side-col{width:100%}.mode-panel{background:linear-gradient(180deg, var(--surface), var(--surface-grad));border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.mode-panel-title{align-items:center;gap:10px;margin-bottom:16px;font-size:20px;display:flex}.mode-panel-icon{font-size:22px;line-height:1}.mode-list{flex-direction:column;gap:10px;display:flex}.mode-card{background:var(--surface-2);color:var(--text);border:1px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:background .15s,border-color .15s,transform 50ms;display:flex;position:relative}a.mode-card:hover{background:var(--surface-3);border-color:var(--accent-press)}a.mode-card:active{transform:translateY(1px)}.mode-card.disabled{opacity:.55;cursor:not-allowed}.mode-icon{text-align:center;flex-shrink:0;width:40px;font-size:30px;line-height:1}.mode-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.mode-title{font-size:16px;font-weight:700}.mode-text{color:var(--muted);font-size:13.5px;line-height:1.4}.mode-soon{text-transform:uppercase;letter-spacing:.5px;color:var(--gold);background:var(--gold-soft);border-radius:5px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:10px;right:12px}.game-panel,.setup-panel{background:linear-gradient(180deg, var(--surface), var(--surface-grad));border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:20px;display:flex}.setup-panel h2{font-size:20px}.setup-label{color:var(--muted);font-size:14px}.setup-label strong{color:var(--text)}.elo-hint{color:var(--muted)}.color-picker{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.color-btn{background:var(--surface-2);color:var(--text);border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;font-size:13px;font-weight:600;display:flex}.color-btn.active{border-color:var(--accent-press);background:var(--accent-soft)}.color-icon{font-size:24px;line-height:1}.level-slider{width:100%;accent-color:var(--accent-press)}.level-scale{color:var(--muted);justify-content:space-between;margin-top:-8px;font-size:12px;display:flex}.player-card{align-items:center;gap:12px;display:flex}.avatar{background:var(--surface-2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:flex}.player-meta{flex:1;min-width:0}.player-name{font-weight:700}.player-sub{color:var(--muted);font-size:13px}.status-chip{background:var(--surface-2);text-align:center;border-radius:8px;padding:9px 12px;font-size:14px;font-weight:600}.status-chip.over{background:var(--accent);color:var(--accent-ink)}.move-list-wrap{background:var(--surface-2);border-radius:8px;overflow:hidden}.move-list-title{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--border-soft);padding:8px 12px;font-size:12px;font-weight:700}.move-list{min-height:120px;max-height:240px;padding:6px 0;overflow-y:auto}.move-empty{color:var(--muted);text-align:center;padding:12px}.move-row{grid-template-columns:40px 1fr 1fr;padding:3px 12px;font-size:14.5px;display:grid}.move-row:nth-child(odd){background:var(--row-alt)}.move-num{color:var(--muted)}.move-san{font-weight:600}.move-san.current{background:var(--accent-soft);border-radius:4px;justify-self:start;padding:0 6px}.panel-actions{flex-wrap:wrap;gap:8px;display:flex}.panel-actions .btn{white-space:nowrap;flex:1;padding:9px 10px;font-size:13.5px}.error-box{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:8px;padding:10px 12px;font-size:13.5px}.match-intro{z-index:20;background:var(--overlay);animation:intro-fade .25s var(--ease-out) both;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.match-intro.leaving{animation:intro-fade .4s var(--ease) reverse both}.match-intro-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;animation:intro-pop .45s var(--ease-out) both;padding:24px 34px}.match-intro.leaving .match-intro-card{animation:intro-card-out .4s var(--ease) both}.match-intro-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-bottom:16px;font-size:11px;font-weight:700}.match-intro-row{align-items:center;gap:22px;display:flex}.match-side{flex-direction:column;align-items:center;gap:6px;min-width:104px;display:flex}.match-icon{background:var(--surface-2);width:52px;height:52px;box-shadow:inset 0 1px 0 var(--icon-inset);border-radius:14px;place-items:center;font-size:30px;line-height:1;display:grid}.match-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:15px;font-weight:700;overflow:hidden}.match-sub{color:var(--muted);font-size:12px}.match-vs{background:var(--accent);width:44px;height:44px;color:var(--accent-ink);letter-spacing:.5px;box-shadow:0 6px 18px var(--accent-glow);animation:vs-pop .5s var(--ease-out) .15s both;border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:800;display:grid}@keyframes intro-fade{0%{opacity:0}to{opacity:1}}@keyframes intro-pop{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes intro-card-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@keyframes vs-pop{0%{opacity:0;transform:scale(.4)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent-press);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{max-width:420px;animation:fade-up .5s var(--ease-out) both;margin:32px auto 0}.hp-field{opacity:0;height:0;position:absolute;left:-9999px;overflow:hidden}.legal-page{max-width:720px;animation:fade-up .5s var(--ease-out) both;margin:32px auto 0;padding:0 16px}.legal-page h1{margin-bottom:4px;font-size:1.5rem}.legal-updated{color:var(--muted);margin-bottom:24px;font-size:.85rem}.legal-page h2{margin-top:20px;margin-bottom:6px;font-size:1.05rem}.legal-page section p{color:var(--muted);line-height:1.6}.app-footer{text-align:center;color:var(--faint);padding:24px 16px;font-size:.82rem}.app-footer a{color:var(--muted);text-decoration:none}.app-footer a:hover{text-decoration:underline}.field-hint{color:var(--muted);margin-top:-8px;font-size:12px}.field-error{color:var(--error-text);margin-top:-8px;font-size:12px}.note a{color:var(--text);font-weight:600}.profile-page{max-width:640px;animation:fade-up .5s var(--ease-out) both;flex-direction:column;gap:20px;margin:0 auto;display:flex}.profile-head{align-items:center;gap:14px;display:flex}.profile-head h2{font-size:22px}.profile-avatar{width:56px;height:56px;color:var(--accent-ink);background:linear-gradient(150deg, var(--accent), var(--accent-hover));box-shadow:0 6px 18px var(--accent-glow);border-radius:16px;flex-shrink:0;place-items:center;font-size:24px;font-weight:800;display:grid}.history-list{flex-direction:column;display:flex}.history-row{border-bottom:1px solid var(--border-soft);grid-template-columns:92px 1fr auto;align-items:center;gap:12px;padding:10px 4px;display:grid}.history-row:last-child{border-bottom:0}.result-badge{text-align:center;border-radius:6px;padding:4px 0;font-size:12px;font-weight:700}.result-badge.win{background:var(--accent-soft);color:var(--text)}.result-badge.loss{background:var(--danger-soft);color:var(--danger-text)}.result-badge.draw{background:var(--surface-3);color:var(--muted)}.history-meta{flex-direction:column;min-width:0;display:flex}.history-opp{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.history-sub{color:var(--muted);font-size:12.5px}.history-date{color:var(--muted);white-space:nowrap;font-size:12.5px}.online-setup{max-width:480px;margin:24px auto 0}.name-input{background:var(--surface);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:8px;width:100%;padding:10px 12px}.name-input:focus{outline:2px solid var(--accent-press);outline-offset:-1px}.name-input.input-error{border-color:var(--danger)}.name-input.input-error:focus{outline-color:var(--danger)}.invite-link-row{gap:8px;width:100%;display:flex}.invite-link{flex:1;min-width:0;font-size:.9rem}.invite-link-row .btn{white-space:nowrap}.tc-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tc-btn{background:var(--surface-2);color:var(--text);border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;transition:border-color .12s;display:flex}.tc-btn:hover:not(:disabled){border-color:var(--accent-press)}.tc-btn:disabled{opacity:.5;cursor:default}.tc-time{font-size:20px;font-weight:800}.tc-kind{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.mode-toggle{background:var(--surface-2);border-radius:10px;gap:6px;margin-bottom:4px;padding:4px;display:flex}.mode-btn{color:var(--muted);background:0 0;border:0;border-radius:7px;flex:1;padding:8px 10px;font-size:13.5px;font-weight:600;transition:background .12s,color .12s}.mode-btn.active{background:var(--accent);color:var(--accent-ink)}.mode-guest-note{margin-bottom:4px}.player-rating{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:700}.rating-delta{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.rating-delta.up{color:var(--accent-press)}.rating-delta.down{color:var(--danger-text)}.searching-box{flex-direction:column;align-items:center;gap:16px;padding:24px 0;display:flex}.spinner-lg{border-width:4px;width:42px;height:42px}.board-stack{width:100%;max-width:min(100vh - 240px,640px);margin:0 auto}.board-stack .board-wrap{max-width:none}.online-bar,.player-bar{justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;display:flex}.player-avatar{background:var(--surface-2);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:19px;line-height:1;display:flex}.h2h-chip{color:var(--muted);background:var(--surface-2);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:-2px 0 4px;padding:4px 12px;font-size:12.5px;display:flex}.h2h-title{color:var(--text);font-weight:700}.h2h-score{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.h2h-you{color:var(--accent-press);font-weight:700}.h2h-opp{color:var(--danger-text);font-weight:700}.h2h-sep{color:var(--faint)}.player-row{align-items:center;gap:10px;min-width:0;display:flex}.player-row .player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.presence-dot{background:var(--accent-press);border-radius:50%;flex-shrink:0;width:9px;height:9px}.presence-dot.off{background:var(--faint)}.clock{font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--muted);border-radius:8px;flex-shrink:0;padding:5px 14px;font-size:22px;font-weight:800}.clock.active{background:var(--clock-active-bg);color:var(--clock-active-ink)}.clock.active.low{background:var(--danger);color:#fff}.draw-banner{background:var(--draw-bg);border:1px solid var(--draw-border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:13.5px;display:flex}.draw-banner span{flex:1;min-width:120px}.draw-banner .btn{padding:6px 12px;font-size:13px}.note{color:var(--muted);text-align:center;font-size:13px}.cabinet{animation:fade-up .5s var(--ease-out) both;grid-template-columns:248px 1fr;align-items:start;gap:24px;display:grid}.cabinet-nav{background:linear-gradient(180deg, var(--surface), var(--surface-grad));border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 14px;position:sticky;top:88px}.cabinet-id{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;margin-bottom:12px;padding:4px 6px 16px;display:flex}.cabinet-id-meta{min-width:0}.cabinet-id-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:15px;font-weight:750;display:flex;overflow:hidden}.cabinet-id-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.cabinet-menu{flex-direction:column;gap:2px;display:flex}.cabinet-link{width:100%;color:var(--muted);font:inherit;text-align:left;cursor:pointer;transition:background .14s var(--ease), color .14s var(--ease);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14.5px;font-weight:600;display:flex}.cabinet-link:hover{background:var(--surface-2);color:var(--text)}.cabinet-link.active{background:var(--accent-soft);color:var(--text);font-weight:700}.cabinet-link-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.cabinet-content{min-width:0}.cabinet-panel{background:linear-gradient(180deg, var(--surface), var(--surface-grad));border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:18px;padding:24px;display:flex}.cabinet-panel h2{font-size:21px}.cabinet-panel h3{color:var(--muted);font-size:15px;font-weight:650}.info-grid{grid-template-columns:auto 1fr;gap:10px 20px;margin:0;font-size:14.5px;display:grid}.info-grid dt{color:var(--muted)}.info-grid dd{margin:0;font-weight:600}.muted-text{color:var(--faint);font-weight:500}.flag{font-size:16px}.cabinet-form{border-top:1px solid var(--border-soft);flex-direction:column;gap:10px;max-width:420px;padding-top:8px;display:flex}.cabinet-form .btn{align-self:flex-start;margin-top:6px}.settings-list{flex-direction:column;gap:16px;max-width:420px;display:flex}.settings-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-label{font-size:.95rem}.toggle-input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:var(--border-soft);border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-track{background:var(--accent)}.toggle-input:checked+.toggle-track:after{transform:translate(20px)}.select-input{appearance:none;cursor:pointer}.label-optional{color:var(--faint);font-weight:500}.success-box{background:var(--accent-soft);border:1px solid var(--accent-press);color:var(--text);border-radius:8px;padding:10px 12px;font-size:13.5px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.stat-card{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);text-align:center;padding:16px}.stat-value{letter-spacing:-.02em;font-size:28px;font-weight:800}.stat-value.win{color:var(--accent-press)}.stat-value.loss{color:var(--danger-text)}.stat-label{color:var(--muted);margin-top:4px;font-size:12.5px}.rating-block{margin-bottom:20px}.rating-block h3{margin:0 0 10px;font-size:14px}.rating-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.rating-card{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);text-align:center;padding:14px}.rating-card-cat{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12.5px}.rating-card-value{letter-spacing:-.02em;font-size:26px;font-weight:800}.rating-card-value .prov{color:var(--muted);margin-left:1px;font-size:16px}.history-delta{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.history-delta.up{color:var(--accent-press)}.history-delta.down{color:var(--danger-text)}.soon-box{text-align:center;padding:32px 0}.soon-pill{text-transform:uppercase;letter-spacing:.5px;color:var(--gold);background:var(--gold-soft);border-radius:6px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-block}.resign-confirm{animation:fade-up .2s var(--ease-out) both;flex-direction:column;gap:8px;display:flex}.resign-confirm-q{text-align:center;color:var(--text);font-size:14px;font-weight:650}@media (width<=960px){.hero{grid-template-columns:1fr;gap:32px}.hero-board{margin:0 auto}.features,.play-page,.cabinet{grid-template-columns:1fr}.cabinet-nav{position:static}.cabinet-menu{flex-flow:wrap}.cabinet-link{width:auto}.header-inner{flex-wrap:wrap;gap:8px 12px;height:auto;padding:10px 14px}.brand{margin-right:auto}.nav{-webkit-overflow-scrolling:touch;flex:0 0 100%;order:10;gap:2px;overflow-x:auto}.nav-link{white-space:nowrap;padding:8px 10px}.main{padding:20px 14px 48px}}@media (width<=560px){.header-inner{padding:10px 12px}.brand{font-size:19px}.nav-link.disabled{display:none}.nav-link{font-size:14px}.lang button{padding:5px 8px}.hero{padding:28px 0 20px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero h1{font-size:clamp(30px,8vw,40px)}.hl-line{font-size:15px}.cabinet-panel{padding:18px}.result-card{padding:24px 22px}}
