:root{--text:#6b6375;--text-muted:#5d6370;--text-h:#08060d;--bg:#fff;--surface:#fff;--surface-muted:#f7f7f8;--border:#e5e4e7;--border-strong:#d8dbe2;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-contrast:#fff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--accent-shadow:#aa3bff33;--accent-shadow-hover:#aa3bff47;--focus:#7c20c4;--danger:#a33b3b;--danger-strong:#b42318;--result-bg:#f4f1e8;--result-text:#292b35;--review-bg:#eef3ff;--review-border:#b9c7e8;--review-text:#23447d;--selected-bg:#dfe9ff;--selected-border:#5578c5;--board-border:#292b35;--board-piece:#292b35;--board-light:#f0d9b5;--board-dark:#b58863;--board-target:#231e1959;--option-light-text:#544c5e;--option-light-bg:#f5f0e8;--option-dark-text:#f5f0e8;--option-dark-bg:#544c5e;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-muted:#b2adbc;--text-h:#f3f4f6;--bg:#16171d;--surface:#20212a;--surface-muted:#292a35;--border:#2e303a;--border-strong:#444653;--code-bg:#1f2028;--accent:#c084fc;--accent-contrast:#1b1024;--accent-bg:#c084fc26;--accent-border:#c084fc80;--accent-shadow:#c084fc33;--accent-shadow-hover:#c084fc4d;--focus:#e0b7ff;--danger:#ff9a9a;--danger-strong:#ffaaa3;--result-bg:#393328;--result-text:#f4ead8;--review-bg:#27334d;--review-border:#718ac4;--review-text:#c8d7ff;--selected-bg:#45345c;--selected-border:#c084fc;--board-border:#0d0e13;--board-piece:#17131c;--board-light:#d9bd95;--board-dark:#8b6349;--board-target:#0f0c1473;--option-light-text:#3a303f;--option-light-bg:#d9c9b2;--option-dark-text:#f4e9d8;--option-dark-bg:#4a4253;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{color:var(--text);background:var(--bg);margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}[data-page-heading]:focus{outline:none}:where(a,button,input:not([type=radio]),select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:3px}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}header>a{color:var(--text-h);letter-spacing:-.02em;font-size:1.05rem;font-weight:700;text-decoration:none}header>a:before{content:"♞";color:var(--accent);margin-right:.5rem}header nav a{color:var(--text);font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s}header nav a:hover{color:var(--accent)}header a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}@media (width<=600px){header{padding:1rem 1.25rem}}.home-page{place-items:center;display:grid}.hero{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,3vh,2rem);width:min(100%,56rem);min-height:calc(100svh - 7.5rem);padding:clamp(2rem,4vh,3.5rem) clamp(1.25rem,5vw,4rem);display:flex;position:relative;overflow:hidden;translate:0 -1.25rem}.hero__copy{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:46rem;animation:.55s both hero-rise;display:flex;transform:translate(-2.25rem)}.hero__copy h1{letter-spacing:-.045em;text-wrap:balance;max-width:11ch;margin:0;font-family:ui-serif,Georgia,Cambria,Times New Roman,serif;font-size:clamp(3rem,6.4vw,4.8rem);font-weight:600;line-height:.96}.hero__lead{max-width:32rem;color:var(--text-muted);text-wrap:balance;margin-top:clamp(1rem,2.5vh,1.4rem);font-size:clamp(1rem,1.8vw,1.2rem)}.create-match-button{border:1px solid var(--accent);box-sizing:border-box;width:min(100%,15rem);min-height:3.75rem;color:var(--accent-contrast);background:var(--accent);cursor:pointer;border-radius:.4rem;justify-content:center;align-items:center;margin-top:clamp(1.5rem,3.5vh,2rem);padding:.75rem 1.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 5px 12px #00000024}.create-match-button:hover{background:color-mix(in srgb, var(--accent) 88%, var(--bg));transform:translateY(-1px);box-shadow:0 7px 14px #0000002e}.create-match-button:active{transform:translateY(0)}.create-match-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.hero__no-account{color:var(--text-muted);margin-top:.8rem;font-size:.85rem;font-weight:600}.hero__board-scene{place-items:center;width:clamp(12rem,20vw,14rem);animation:.7s .1s both hero-rise;display:grid;position:absolute;bottom:clamp(2rem,7vh,4rem);right:1.5rem;transform:rotate(2.5deg)}.hero__board{aspect-ratio:1;border:.3rem solid var(--board-border);background-color:var(--board-light);background-image:conic-gradient(var(--board-dark) 25%, transparent 0 50%, var(--board-dark) 0 75%, transparent 0);width:100%;box-shadow:.45rem .45rem 0 var(--accent-bg), 0 .75rem 1.5rem #0000001f;background-size:25% 25%;border-radius:.2rem;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:relative;overflow:hidden}.hero__piece,.hero__move-marker{z-index:1;place-items:center;min-width:0;min-height:0;display:grid}.hero__piece{color:var(--board-piece);filter:drop-shadow(0 1px #fff3);font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1}.hero__piece--black-king{grid-area:1/5}.hero__piece--black-knight{grid-area:3/6}.hero__piece--white-knight{grid-area:6/3}.hero__piece--white-king{grid-area:8/5}.hero__move-marker{grid-area:5/5}.hero__move-marker:after{aspect-ratio:1;border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 20%, transparent);content:"";border-radius:50%;width:36%}@media (width<=900px){.hero{translate:0 -.5rem}.hero__copy{transform:none}.hero__board-scene{width:13rem;position:relative;bottom:auto;right:auto}}@media (width<=600px){.hero{gap:1.5rem;min-height:auto;padding:2.5rem 1.25rem 2rem}.hero__copy h1{font-size:clamp(2.4rem,12vw,3.25rem);line-height:.98}.hero__lead{margin-top:1rem;font-size:1rem}.create-match-button{width:min(100%,21rem);min-height:3.5rem;margin-top:1.4rem}.hero__no-account{margin-top:.65rem}.hero__board-scene{width:clamp(11rem,50vw,12rem);transform:none}.hero__piece{font-size:clamp(1.15rem,6vw,1.4rem)}}@media (width<=360px){.hero{gap:1.1rem;padding-top:1.75rem}.hero__copy h1{font-size:2.35rem}.hero__lead{margin-top:.75rem}.create-match-button{margin-top:1.1rem}.hero__board-scene{width:10.5rem}}@media (prefers-reduced-motion:reduce){.hero__copy,.hero__board-scene,.create-match-button{transition:none;animation:none}}@keyframes hero-rise{0%{opacity:0;translate:0 .75rem}to{opacity:1;translate:0}}.site-footer{border-top:1px solid var(--border);color:var(--text);flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1rem;margin-top:auto;padding:1rem 1.25rem;font-size:.8rem;display:flex}.site-footer a{color:var(--text);font-weight:600;text-decoration:none}.site-footer a:hover{color:var(--accent)}.site-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}.info-page{justify-content:center;padding:4.5rem 1.5rem;display:flex}.info-page-card{border:1px solid var(--border);background:var(--surface);width:min(100%,38rem);box-shadow:var(--shadow);text-align:left;border-radius:1rem;padding:2.5rem}.info-page-eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:700}.info-page-card h1{margin:0 0 .75rem;font-size:2.2rem}.info-page-card h2{margin-top:2rem}.info-page-card p{color:var(--text)}.info-page-card ol{color:var(--text);gap:.65rem;padding-left:1.5rem;display:grid}.info-page-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:2rem;display:flex}.info-page-primary-link,.info-page-secondary-link{border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.info-page-primary-link{color:var(--accent-contrast);background:var(--accent)}.info-page-secondary-link{color:var(--text-h);border:1px solid var(--border)}.info-page-primary-link:focus-visible,.info-page-secondary-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (width<=600px){.info-page{padding:2rem 1rem}.info-page-card{padding:1.5rem}.info-page-card h1{font-size:1.8rem}.info-page-actions{flex-direction:column;align-items:stretch}.info-page-primary-link,.info-page-secondary-link{box-sizing:border-box;width:100%}}.create-match-page{justify-content:center;padding:4.5rem 1.5rem;display:flex}.match-settings-card{border:1px solid var(--border);background:var(--surface);width:min(100%,42rem);box-shadow:var(--shadow);text-align:left;border-radius:1rem;padding:2.5rem}.match-settings-intro{text-align:center;margin-bottom:2.25rem}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.match-settings-intro h1{margin:0 0 .75rem;font-size:2.5rem}.match-settings-form{flex-direction:column;gap:2rem;display:flex}fieldset{border:0;min-width:0;padding:0}legend{color:var(--text-h);margin-bottom:.75rem;font-size:1rem;font-weight:700}.option-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.option-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:.65rem;align-items:center;gap:.75rem;min-height:4.25rem;padding:.9rem 1rem;transition:border-color .2s,background .2s,transform .2s;display:flex;position:relative}.option-card:hover{border-color:var(--accent-border);transform:translateY(-1px)}.option-card--selected{border-color:var(--accent);background:var(--accent-bg)}.option-card input{opacity:0;width:1px;height:1px;position:absolute}.option-card input:focus-visible+.option-card__icon,.option-card input:focus-visible~.option-card__content{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.option-card__icon{border-radius:50%;flex:0 0 2rem;place-items:center;width:2rem;height:2rem;font-size:1.5rem;display:grid}.option-card__icon--light{color:var(--option-light-text);background:var(--option-light-bg)}.option-card__icon--dark{color:var(--option-dark-text);background:var(--option-dark-bg)}.option-card__icon--random{color:var(--accent);background:var(--accent-bg);font-size:1rem;font-weight:800}.option-card__content{flex-direction:column;gap:.1rem;display:flex}.option-card__content strong{color:var(--text-h);font-size:.95rem}.option-card__content small{color:var(--text);font-size:.75rem}.create-invite-button{border:1px solid var(--border);width:100%;color:var(--accent-contrast);background:var(--accent);cursor:pointer;font:inherit;border-radius:.6rem;padding:.9rem 1.25rem;font-size:1rem;font-weight:700}.create-invite-button:disabled{cursor:wait;opacity:.75}.invite-error{color:var(--danger-strong);text-align:center;margin-top:-1.25rem;font-size:.9rem}.back-home-link{color:var(--text);margin-top:2rem;font-size:.9rem;text-decoration:none;display:inline-block}.back-home-link:hover{color:var(--accent)}.back-home-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}@media (width<=600px){.create-match-page{padding:2rem 1rem}.match-settings-card{padding:1.5rem}.match-settings-intro h1{font-size:2rem}.option-grid{grid-template-columns:1fr}.option-card{min-height:3.5rem}}.async-state{justify-content:center;padding:4.5rem 1.5rem;display:flex}.async-state-card{border:1px solid var(--border);background:var(--surface);width:min(100%,38rem);box-shadow:var(--shadow);text-align:center;border-radius:1rem;padding:2.5rem}.async-state-card h1{margin:0 0 .75rem;font-size:2.2rem}.async-state-card p{color:var(--text)}.async-state-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1rem;margin-top:2rem;display:flex}.async-state-actions button,.async-state-actions a{border:1px solid var(--border);font:inherit;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.async-state-actions button{color:var(--accent-contrast);background:var(--accent);cursor:pointer}.async-state-actions a{color:var(--text-h)}.async-state-actions button:focus-visible,.async-state-actions a:focus-visible{outline:2px solid var(--focus);outline-offset:4px}@media (width<=600px){.async-state{padding:2rem 1rem}.async-state-card{padding:1.5rem}.async-state-actions{flex-direction:column;align-items:stretch}}.invite-page{justify-content:center;padding:4.5rem 1.5rem;display:flex}.invite-page-card{border:1px solid var(--border);background:var(--surface);width:min(100%,38rem);box-shadow:var(--shadow);text-align:left;border-radius:1rem;padding:2.5rem}.invite-page-card h1{color:var(--text-h);margin:0 0 .75rem;font-size:2.2rem}.invite-page-card p{color:var(--text)}.invite-link-label{color:var(--text-h);margin-top:1.5rem;font-size:.9rem;font-weight:700;display:block}.invite-link-actions{gap:.6rem;margin-top:.5rem;display:flex}.invite-link-actions input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-h);background:var(--surface);font:inherit;border-radius:.4rem;padding:.75rem}.invite-link-actions button{border:1px solid var(--border);color:var(--accent-contrast);background:var(--accent);cursor:pointer;font:inherit;border-radius:.4rem;flex:none;padding:.75rem 1rem;font-weight:700}.copy-status{min-height:1.25rem;color:var(--danger-strong);margin:.5rem 0 0;font-size:.85rem}.invite-page-card>button{border:1px solid var(--border);color:var(--accent-contrast);background:var(--accent);cursor:pointer;font:inherit;border-radius:.4rem;margin-top:.75rem;padding:.75rem 1rem;font-weight:700}.invite-page-card>button:disabled{cursor:wait;opacity:.7}.invite-page-link{color:var(--accent);margin-top:1.5rem;font-weight:700;text-decoration:none;display:inline-block}.invite-page-link:hover{text-decoration:underline}@media (width<=600px){.invite-page{padding:2rem 1rem}.invite-page-card{padding:1.5rem}.invite-page-card h1{font-size:1.8rem}.invite-link-actions{flex-direction:column}}.chessboard{aspect-ratio:1;border:.4rem solid var(--board-border);box-sizing:border-box;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:min(100%,36rem);margin:2rem auto 1rem;display:grid}.chessboard-wrapper{width:100%}.promotion-picker{z-index:10;border:1px solid var(--border);box-sizing:border-box;background:var(--surface-muted);text-align:center;width:min(28rem,100vw - 2rem);max-height:calc(100svh - 2rem);color:var(--text-h);border-radius:.65rem;gap:.75rem;margin:0;padding:1rem;display:grid;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)}.promotion-picker:not([open]){display:none}.promotion-picker::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000007a}.promotion-picker h2{margin:0;font-size:1.25rem}.promotion-picker p{color:var(--text-muted);margin:0}.promotion-picker__choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.promotion-picker__choices button{border:1px solid var(--border-strong);min-height:3.5rem;color:var(--board-piece);background:var(--surface);cursor:pointer;border-radius:.4rem;font-size:2rem;line-height:1}.promotion-picker>button:last-child{justify-self:center;padding:.45rem .8rem}.promotion-picker button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.square{color:var(--board-piece);cursor:pointer;border:0;border-radius:0;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;font-size:clamp(1.6rem,7vw,3rem);line-height:1;display:grid;position:relative}.square.light{background:var(--board-light)}.square.dark{background:var(--board-dark)}.square:hover,.square:focus-visible{filter:brightness(1.08)}.square:disabled{cursor:default;opacity:1}.square:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;z-index:1}.square.selected{box-shadow:inset 0 0 0 5px var(--focus)}.square.in-check{box-shadow:inset 0 0 0 5px var(--danger-strong)}.square.legal-target:after{background:var(--board-target);content:"";border-radius:50%;width:22%;height:22%;position:absolute}.match-page{place-items:center;min-height:70vh;padding:3rem 1rem;display:grid}.match-card{text-align:center;width:min(100%,38rem)}.match-page--active{box-sizing:border-box;flex-direction:column;flex:auto;justify-content:flex-start;align-items:center;width:100%;height:100dvh;min-height:100svh;padding:.75rem;display:flex;position:relative;overflow:hidden auto}.active-match{--active-sidebar-width:clamp(15rem, 22vw, 22rem);--active-player-bar-height:3.25rem;--active-board-size:max(16rem, min(48rem, calc(100dvh - 14rem), calc(100vw - var(--active-sidebar-width) - 3rem)));text-align:center;flex-direction:column;width:min(100%,100rem);min-height:0;display:flex}body.live-match-mode #root{border-inline:0;width:100%;max-width:none}body.live-match-mode header,body.live-match-mode .site-footer{display:none}.active-match-layout{grid-template-columns:minmax(0, 1fr) var(--active-sidebar-width);grid-template-rows:var(--active-player-bar-height) var(--active-board-size) var(--active-player-bar-height);gap:.5rem 1.5rem;width:100%;display:grid}.active-match-player-card--opponent{grid-area:1/1}.active-match-player-card--self{grid-area:3/1}.active-match-board-stage{width:100%;height:var(--active-board-size);grid-area:2/1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.active-match-board-stage .chessboard-wrapper{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex}.active-match-board-stage .chessboard{width:var(--active-board-size);height:var(--active-board-size);max-width:100%;margin:0}.active-player-card{box-sizing:border-box;height:var(--active-player-bar-height);min-height:var(--active-player-bar-height);border:1px solid var(--border-strong);background:var(--surface);text-align:left;border-radius:.55rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .75rem;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;display:flex;position:relative;overflow:visible;box-shadow:0 .45rem 1rem #00000014}.active-player-card--white{border-top:.25rem solid var(--board-light)}.active-player-card--black{border-top:.25rem solid var(--board-dark)}.active-player-card--current-turn{border-color:var(--accent-border);background:var(--accent-bg);box-shadow:0 .65rem 1.25rem var(--accent-shadow);transform:translateY(-1px)}.active-player-card--clock-running .active-player-card__clock{color:var(--accent)}.active-player-card--in-check{border-color:var(--danger-strong);background:color-mix(in srgb, var(--danger) 8%, var(--surface))}.active-player-card__identity{align-items:center;gap:.5rem;min-width:0;display:flex}.active-player-card__piece{color:var(--board-piece);font-size:1.25rem;line-height:1}.active-player-card__color{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-weight:700}.active-player-card__you{color:var(--accent);letter-spacing:.04em;margin-left:.3rem;font-size:.62rem}.active-player-card__name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700;overflow:hidden}.active-player-card__status{text-align:right;flex:0 0 11rem;justify-content:flex-end;align-items:center;gap:.65rem;min-width:11rem;display:flex}.active-player-card__presence{min-width:4.8rem;color:var(--text-muted);white-space:nowrap;justify-content:flex-start;align-items:center;gap:.3rem;font-size:.7rem;display:inline-flex}.active-player-card__presence>span{font-size:.8rem;line-height:1}.active-player-card__presence--online>span{color:var(--accent)}.active-player-card__presence--offline>span{color:var(--text-muted)}.active-player-card__clock{width:5.5rem;min-height:1.35rem;color:var(--result-text);font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;flex:0 0 5.5rem;font-size:1.1rem;transition:color .2s;display:inline-block}.active-player-card__turn,.active-player-card__check{background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:.1rem .35rem;font-size:.62rem;font-weight:700;position:absolute;bottom:-.55rem;right:.65rem}.active-player-card__check{background:var(--danger-strong);left:.65rem;right:auto}.active-match-player-card--opponent .active-player-card__turn,.active-match-player-card--opponent .active-player-card__check{top:auto;bottom:0;transform:translateY(100%)}.active-match-player-card--self .active-player-card__turn,.active-match-player-card--self .active-player-card__check{top:0;bottom:auto;transform:translateY(-100%)}.active-match-sidebar{box-sizing:border-box;min-width:0;min-height:0;height:var(--active-board-size);border:1px solid var(--border);background:var(--surface-muted);text-align:left;border-radius:.8rem;flex-direction:column;grid-area:2/2;padding:.65rem;display:flex;overflow:hidden}.active-match-history{flex-direction:column;flex:auto;min-height:0;display:flex}.active-match-history h2{text-align:center;margin:0 0 .45rem;font-size:1rem}.active-match-controls{border-top:1px solid var(--border);flex:none;margin-top:1rem;padding-top:1rem}.active-match-controls h2{margin:0 0 .7rem;font-size:1.1rem}.game-result{transition:background .2s,border-color .2s,box-shadow .2s}.active-match-controls .match-actions{justify-content:flex-start;margin:0}.active-match-controls .confirmation-actions{justify-content:flex-start}.match-workspace-notices{border:1px solid var(--border-strong);box-sizing:border-box;background:var(--surface-muted);text-align:left;border-radius:.65rem;gap:.45rem;width:100%;height:3rem;min-height:3rem;margin:0 0 .75rem;padding:.55rem .8rem;display:grid;overflow-y:auto}.match-workspace-notices--empty{visibility:hidden}.match-workspace-notices p{margin:0}.workspace-connection-status{color:var(--text-muted);font-size:.9rem}.workspace-error{color:var(--danger)!important}.active-match-return{z-index:2;background:var(--surface);border-radius:.35rem;padding:.25rem .45rem;display:inline-block;position:absolute;top:.75rem;left:.75rem}.match-result-overlay{z-index:3;border:1px solid var(--border-strong);box-sizing:border-box;width:min(32rem,100% - 14rem);color:var(--result-text);background:var(--result-bg);text-align:center;pointer-events:none;border-radius:.6rem;padding:.65rem 1rem;font-weight:700;position:absolute;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 .5rem 1.25rem #00000024}.match-lobby{text-align:center;width:min(100%,42rem)}.match-lobby h1{margin:0 0 1.25rem}.lobby-status{border:1px solid var(--accent-border);background:linear-gradient(135deg, var(--accent-bg), var(--surface));box-shadow:0 .8rem 1.8rem var(--accent-shadow);border-radius:1rem;margin:0 auto 1rem;padding:1.25rem}.lobby-status__icon{color:var(--accent);font-size:2.5rem;line-height:1;display:block}.lobby-status h2{margin:.7rem 0 .3rem}.lobby-status p{color:var(--text-muted)}.lobby-players{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem auto;display:grid}.lobby-player-slot{border:1px solid var(--border-strong);background:var(--surface-muted);text-align:left;border-radius:.8rem;min-width:0;padding:.9rem}.lobby-player-slot--white{border-top:.25rem solid var(--board-light)}.lobby-player-slot--black{border-top:.25rem solid var(--board-dark)}.lobby-player-slot__header{color:var(--text-h);align-items:center;gap:.4rem;display:flex}.lobby-player-slot__piece{font-size:1.4rem}.lobby-player-slot__you{background:var(--accent-bg);color:var(--accent);border-radius:999px;margin-left:auto;padding:.15rem .4rem;font-size:.75rem;font-weight:700}.lobby-player-slot__name{margin-top:.55rem;font-weight:700;color:var(--text-h)!important}.lobby-player-slot__status{margin-top:.15rem;font-size:.8rem}.lobby-primary-action{gap:.75rem;width:min(100%,30rem);margin:1.25rem auto;display:grid}.lobby-primary-action .player-name-form,.lobby-invite-panel{border:1px solid var(--border-strong);box-sizing:border-box;background:var(--surface);border-radius:.8rem;width:100%;max-width:none;margin:0;padding:1rem}.lobby-primary-action .player-name-form input,.lobby-manual-copy input{border:1px solid var(--border-strong);box-sizing:border-box;width:100%;min-height:2.75rem;color:var(--text-h);background:var(--surface-muted);font:inherit;border-radius:.4rem;padding:.6rem .7rem}.lobby-primary-action .player-name-form button,.lobby-copy-invite{border:1px solid var(--accent);width:100%;min-height:3rem;color:var(--accent-contrast);background:var(--accent);box-shadow:0 .35rem .8rem var(--accent-shadow);cursor:pointer;font:inherit;border-radius:.5rem;padding:.65rem 1rem;font-weight:700}.lobby-primary-action .player-name-form button:disabled,.lobby-copy-invite:disabled{cursor:wait;opacity:.7}.lobby-actions{justify-items:center;gap:.75rem;display:grid}.lobby-invite-panel{gap:.75rem;display:grid}.lobby-invite-panel h2{text-align:center;margin:0}.lobby-invite-panel h2:focus{outline:none}.lobby-manual-copy{text-align:left;gap:.45rem;display:grid}.lobby-manual-copy label{color:var(--text-h);font-weight:600}.lobby-cancel-invite{color:var(--danger);cursor:pointer;font:inherit;text-underline-offset:.2rem;background:0 0;border:0;padding:.25rem .4rem;font-size:.85rem;text-decoration:underline}.lobby-cancel-invite:disabled{cursor:wait;opacity:.65}.lobby-cancel-confirmation{border:1px solid var(--danger-strong);box-sizing:border-box;background:color-mix(in srgb, var(--danger) 7%, var(--surface));border-radius:.65rem;gap:.75rem;width:100%;padding:.9rem;display:grid}.lobby-cancel-confirmation>span{color:var(--text-h);font-size:.9rem}.lobby-action-error,.copy-status{font-size:.9rem;color:var(--danger)!important}.lobby-connection-notice{color:var(--text-muted);margin:.75rem auto 0;font-size:.8rem}.match-lobby>.match-link{margin-top:1rem;display:inline-block}.clocks--static{margin-top:1.25rem}.clock-static-value{color:var(--result-text);grid-column:1/-1;font-size:1.35rem}.match-card h1{margin:.4rem 0}.match-card p{color:var(--text-muted)}.turn-status{font-size:.9rem}.connection-status{font-size:.8rem}.player-name-form{text-align:left;gap:.55rem;max-width:20rem;margin:1.25rem auto;display:grid}.player-name-form input{padding:.55rem .65rem}.player-name-form p{margin:0;color:var(--danger)!important}.clocks{grid-template-columns:1fr 1fr;gap:.75rem;max-width:24rem;margin:1rem auto;display:grid}.clock{border:1px solid var(--border-strong);background:var(--surface-muted);border-radius:.5rem;gap:.2rem;padding:.65rem .85rem;display:grid}.clock span{color:var(--text-muted);font-size:.85rem}.clock strong{color:var(--result-text);font-variant-numeric:tabular-nums;font-size:1.5rem}.clock-active{border-color:var(--selected-border);background:var(--review-bg)}.clock-label{grid-column:1/-1;font-size:.8rem;margin:0!important}.game-result{border:1px solid var(--border-strong);color:var(--result-text);border-radius:.5rem;margin:1rem auto;padding:.75rem 1rem;font-weight:600}.game-result-terminal{background:var(--result-bg)}.match-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:1rem auto;display:flex}.match-actions button{padding:.5rem .75rem}.confirmation-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.confirmation-actions span,.match-actions span[role=status]{color:var(--text-muted);font-size:.9rem}.review-status{border:1px solid var(--review-border);border-radius:.5rem;margin:1rem auto;padding:.65rem 1rem;font-weight:600;color:var(--review-text)!important}.move-history{text-align:left;flex-direction:column;flex:auto;max-width:none;min-height:0;margin:0;display:flex}.history-controls{justify-content:center;gap:.5rem;margin-bottom:.75rem;display:flex}.history-controls button{border:1px solid var(--border-strong);background:var(--surface);min-width:2.5rem;min-height:2.5rem;color:var(--result-text);font:inherit;border-radius:.4rem;padding:.4rem .65rem;font-weight:700}.history-controls button:last-child{min-width:3.5rem}.history-controls button:disabled{cursor:default;opacity:.55}.history-controls .history-live:disabled{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent);opacity:1}.history-review-status{text-align:center;min-height:1.25rem;margin:-.25rem 0 .5rem;font-size:.8rem;color:var(--review-text)!important}.move-history-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding-right:.25rem;overflow-y:auto}.active-match-sidebar .move-history-scroll{flex:auto}.history-start,.move-list button{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--result-text);text-align:left;border-radius:.35rem;padding:.5rem .65rem}.history-start{margin-bottom:.5rem}.move-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.move-turn{grid-template-columns:2rem 1fr 1fr;align-items:center;gap:.35rem;display:grid}.turn-label{color:var(--text-muted);font-size:.85rem}.history-selected{background:var(--selected-bg)!important;border-color:var(--selected-border)!important}.history-latest{box-shadow:inset 0 -3px 0 var(--selected-border)}.match-link{color:var(--result-text);font-weight:600}@media (width<=900px){.match-page--active{height:auto;min-height:100svh;padding:.75rem}.active-match{--active-player-bar-height:3rem;--active-board-size:max(16rem, min(36rem, calc(100vw - 1.5rem), calc(100dvh - 10rem)));width:100%}.active-match-layout{grid-template-columns:1fr;grid-template-rows:var(--active-player-bar-height) var(--active-board-size) auto var(--active-player-bar-height)}.active-match-player-card--opponent,.active-match-board-stage,.active-match-sidebar,.active-match-player-card--self{grid-column:1}.active-match-player-card--opponent{grid-row:1}.active-match-board-stage{grid-row:2}.active-match-sidebar{grid-row:3;height:min(24rem,45svh)}.active-match-player-card--self{grid-row:auto}.active-match-board-stage{width:100%;height:var(--active-board-size);min-height:auto}.active-match-board-stage .chessboard-wrapper{height:auto}.active-match-board-stage .chessboard{width:var(--active-board-size);height:var(--active-board-size);max-height:none}.active-match-sidebar{height:min(20rem,45svh);overflow:hidden}.move-history-scroll{max-height:none}.match-result-overlay{width:min(32rem,100% - 1.5rem);top:3.5rem}}@media (width<=600px){.match-page{padding:2rem .75rem}.lobby-players{grid-template-columns:1fr}.lobby-status{margin-top:1.1rem;padding:1rem}.clocks{gap:.5rem}.clock{padding-inline:.55rem}.clock-label{font-size:.75rem}.active-player-card{padding:.4rem .6rem}.active-player-card__name{font-size:.85rem}.active-player-card__status{flex-basis:9.5rem;gap:.35rem;min-width:9.5rem}.active-player-card__presence{min-width:4.45rem;font-size:.65rem}.active-player-card__clock{flex-basis:4.7rem;width:4.7rem;font-size:1rem}.active-match-sidebar{height:min(18rem,50svh);padding:.65rem}}@media (prefers-reduced-motion:reduce){.active-player-card,.active-player-card__clock,.game-result{transition:none}}
