@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:block;src:url(/fonts/oswald-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/oswald-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Oswald Fallback;src:local(Segoe UI Semibold),local(Segoe UI);size-adjust:88.1%;ascent-override:119%;descent-override:26%;line-gap-override:0%}:root{--font-display:"Oswald", "Oswald Fallback", "Segoe UI", system-ui, sans-serif;--bg:#000;--bg-card:#111;--bg-hover:#1a1a1a;--lobby-zone-light:#fff;--lobby-zone-dark:#000;--lobby-ink-light:#000;--lobby-ink-dark:#fff;--lobby-card-light:#000;--lobby-card-dark:#fff;--lobby-card-ink-light:#fff;--lobby-card-ink-dark:#111;--lobby-card-hover-light:#171717;--lobby-card-hover-dark:#ededed;--lobby-icon-filter-light:brightness(0) invert(1);--lobby-icon-filter-dark:brightness(0);--accent:#81b64c;--accent-hover:#9ccc65;--accent-orange:#d68100;--active:#0c7ffe;--active-hover:#4da3ff;--active-border:#0c7ffe59;--active-tint-08:#0c7ffe14;--active-tint-12:#0c7ffe1f;--active-tint-15:#0c7ffe26;--active-tint-18:#0c7ffe2e;--active-tint-28:#0c7ffe47;--confirm:#991b1b;--confirm-hover:#b72d2d;--hint:#ca8a08;--hint-hover:#d9990c;--hint-ink:#1a1200;--hint-shown:var(--accent);--hint-shown-hover:var(--accent-hover);--text:#bababa;--text-bright:#fff;--text-muted:#888;--text-subtle:#ffffff8c;--border:#404040;--player-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{touch-action:manipulation;-ms-touch-action:manipulation}body{touch-action:manipulation;overscroll-behavior:none;min-height:100dvh;margin:0}a{color:var(--accent);text-decoration:none}button{font-family:inherit}.app-banners{z-index:1000;pointer-events:none;flex-direction:column;gap:0;display:flex;position:fixed;top:0;left:0;right:0}.app-banner{pointer-events:auto;text-align:center;padding:.65rem 1rem;font-size:.9rem;font-weight:600;transition:background-color .18s}.app-banner--error{color:#fff;background:#6b2b2b}.app-banner--ok{color:#fff;background:#2b5c2b}.app-banner--info{background:var(--bg-card);color:var(--text-bright);border-bottom:1px solid var(--border)}.app-banner--failed{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.app-banner--slide-in{animation:.22s ease-out both app-banner-slide-in}.app-banner--slide-out{animation:.22s ease-in both app-banner-slide-out}@keyframes app-banner-slide-in{0%{opacity:.4;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes app-banner-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.app-banner__btn{color:#6b2b2b;cursor:pointer;background:#fff;border:none;border-radius:3px;padding:.4rem .85rem;font-size:.85rem;font-weight:700}.app-banner__btn:hover{background:#f0f0f0}.app-banner__countdown{font-variant-numeric:tabular-nums;color:var(--accent-orange);font-weight:700}.app-version-notice{display:none}.app-layout{flex-direction:column;min-height:100dvh;display:flex}.app-layout__main{flex-direction:column;flex:auto;min-height:0;display:flex}.app-layout__main>.lobby{flex:1;min-height:0;overflow:hidden}.app-layout__main>.lobby:has(.play-actions--accordion-open){overflow:hidden auto}.app-layout__main>.game{flex:1;min-height:0}@media (width<=719px){.app-layout__main>.game{flex:0 auto;min-height:auto}}@media (width>=720px){.app-layout__main>.game:not(.game--centered){flex:1;min-height:0;overflow:hidden}}.build-info{z-index:1002;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;position:fixed;bottom:.75rem;right:.75rem}.build-info--plain{letter-spacing:.02em;color:var(--text-muted);opacity:.65;font-size:.62rem;font-weight:500;line-height:1}.app-footer{pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.75rem;display:flex;overflow:hidden}.app-footer__line{align-items:center;gap:.65rem;margin:0;display:flex}.app-footer__line--left{flex-shrink:1;min-width:0}.app-footer__line--right{flex-shrink:0;margin-left:auto}.app-footer__stat{white-space:nowrap;letter-spacing:.02em;color:var(--text-muted);opacity:.75;align-items:baseline;gap:.15rem;font-size:.62rem;font-weight:500;line-height:1;display:inline-flex}.app-footer__stat strong{color:var(--text-bright);font-weight:600;font-size:inherit;font-variant-numeric:tabular-nums}.app-footer__metric{font-variant-numeric:tabular-nums}.app-footer__metric--ping{text-align:right;min-width:3ch;display:inline-block}.app-footer__unit{font-variant-numeric:tabular-nums}.app-footer__tag{white-space:nowrap;letter-spacing:.02em;color:var(--text-muted);opacity:.9;font-variant-numeric:tabular-nums;font-size:.62rem;font-weight:500;line-height:1}.app-footer__signal{flex-shrink:0;align-items:flex-end;gap:2px;height:.72rem;display:inline-flex}.app-footer__signal-bar{background:#ffffff2e;border-radius:1px;width:3px;height:35%}.app-footer__signal-bar:nth-child(2){height:55%}.app-footer__signal-bar:nth-child(3){height:75%}.app-footer__signal-bar:nth-child(4){height:100%}.app-footer__signal-bar--on{background:#0c7ffe}.lobby{flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:relative;overflow:hidden}.lobby:has(.play-actions--accordion-open){justify-content:flex-start;padding-top:1rem;padding-bottom:1.5rem;overflow:hidden auto}html[data-lobby-home]:not([data-lobby-exiting]) body{background:var(--lobby-zone-dark)}body:has(.lobby:not(.lobby--queue)){background:var(--lobby-zone-dark)}html[data-lobby-home]:not([data-lobby-exiting]) body:before{content:"";z-index:0;pointer-events:none;background:var(--lobby-zone-light);clip-path:polygon(0 0,100% 0,0 100%);position:fixed;inset:0}body:has(.lobby:not(.lobby--queue)):before{content:"";z-index:0;pointer-events:none;background:var(--lobby-zone-light);clip-path:polygon(0 0,100% 0,0 100%);position:fixed;inset:0}html[data-lobby-home]:not([data-lobby-exiting]) body .app-footer{z-index:1;mix-blend-mode:difference;color:#fff;position:relative}body:has(.lobby:not(.lobby--queue)) .app-footer{z-index:1;mix-blend-mode:difference;color:#fff;position:relative}html[data-lobby-home]:not([data-lobby-exiting]) body .app-footer__stat,html[data-lobby-home]:not([data-lobby-exiting]) body .app-footer__tag{color:inherit;opacity:1}body:has(.lobby:not(.lobby--queue)) .app-footer__stat{color:inherit;opacity:1}body:has(.lobby:not(.lobby--queue)) .app-footer__tag{color:inherit;opacity:1}html[data-lobby-home]:not([data-lobby-exiting]) body .app-footer__stat strong,html[data-lobby-home]:not([data-lobby-exiting]) body .app-footer__tag strong{color:inherit;opacity:1}body:has(.lobby:not(.lobby--queue)) .app-footer__stat strong{color:inherit;opacity:1}body:has(.lobby:not(.lobby--queue)) .app-footer__tag strong{color:inherit;opacity:1}html[data-lobby-home]:not([data-lobby-exiting]) body .app-footer__signal-bar{opacity:.45;background:#fff}body:has(.lobby:not(.lobby--queue)) .app-footer__signal-bar{opacity:.45;background:#fff}html[data-lobby-home]:not([data-lobby-exiting]) body .app-footer__signal-bar--on{opacity:1;background:#fff}body:has(.lobby:not(.lobby--queue)) .app-footer__signal-bar--on{opacity:1;background:#fff}.lobby:not(.lobby--queue){background:0 0}.lobby__diagonal-pieces{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:visible}:root[data-lobby-exiting] .lobby:not(.lobby--queue) .lobby__content{opacity:0;pointer-events:none;transition:none}:root[data-lobby-exiting] .lobby__brand-marks,:root[data-lobby-exiting] .lobby__diagonal-pieces{visibility:hidden}:root[data-lobby-exiting=lobby] .app-footer{z-index:10000;position:relative}html[data-lobby-exiting] body{background:var(--bg)}html[data-lobby-exiting] body:before{content:none;display:none}html[data-lobby-exiting=lobby] body{background:#000}:root[data-lobby-exiting=route] .app-footer{z-index:10000;mix-blend-mode:normal;color:inherit;position:relative}:root[data-lobby-exiting=route] .app-footer .app-footer__stat,:root[data-lobby-exiting=route] .app-footer .app-footer__tag{color:var(--text-muted);opacity:.75}:root[data-lobby-exiting=route] .app-footer .app-footer__stat strong,:root[data-lobby-exiting=route] .app-footer .app-footer__tag strong{color:var(--text-bright);opacity:1}:root[data-lobby-exiting=route] .app-footer .app-footer__signal-bar{background:#ffffff2e}:root[data-lobby-exiting=route] .app-footer .app-footer__signal-bar--on{background:#0c7ffe}body:has(.lobby--queue){background:#000}body:has(.lobby--queue) .app-footer{mix-blend-mode:normal;color:inherit}:is(body:has(.lobby--queue) .app-footer__stat,body:has(.lobby--queue) .app-footer__tag){color:var(--text-muted);opacity:.75}:is(body:has(.lobby--queue) .app-footer__stat strong,body:has(.lobby--queue) .app-footer__tag strong){color:var(--text-bright);opacity:1}body:has(.lobby--queue) .app-footer__signal-bar{background:#ffffff2e}body:has(.lobby--queue) .app-footer__signal-bar--on{background:#0c7ffe}.lobby-exit-doors{z-index:9999;pointer-events:none;contain:strict;isolation:isolate;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.lobby-exit-doors__panel{backface-visibility:hidden;position:absolute;inset:0;transform:translate(0,0)}.lobby-exit-doors__fill{width:100%;height:100%;display:block;position:absolute;inset:0}.lobby-exit-doors .lobby__brand{z-index:1}.lobby-exit-doors--opening .lobby-exit-doors__panel--tl{will-change:transform;animation:.72s cubic-bezier(.65,0,.35,1) forwards lobby-exit-tl}.lobby-exit-doors--opening .lobby-exit-doors__panel--br{will-change:transform;animation:.72s cubic-bezier(.65,0,.35,1) forwards lobby-exit-br}@keyframes lobby-exit-tl{0%{transform:translate(0,0)}to{transform:translate(-100vw,-100vh)}}@keyframes lobby-exit-br{0%{transform:translate(0,0)}to{transform:translate(100vw,100vh)}}@media (prefers-reduced-motion:reduce){.lobby-exit-doors--opening .lobby-exit-doors__panel--tl,.lobby-exit-doors--opening .lobby-exit-doors__panel--br{animation-duration:.01ms}}.lobby__brand-marks{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.lobby__brand{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;-webkit-user-select:none;user-select:none;margin:0;font-weight:700;line-height:.85;position:absolute}.lobby__brand-short{display:inline}.lobby__brand-full{display:none}.lobby__brand--must{color:var(--lobby-ink-light);font-size:clamp(4.5rem,18vw,11rem);top:clamp(.75rem,2.5vw,1.75rem);left:clamp(.85rem,2.8vw,2rem)}.lobby__brand--chess{color:var(--lobby-ink-dark);text-align:right;transform-origin:50%;font-size:clamp(4.5rem,18vw,11rem);bottom:clamp(2.75rem,5.5vw,3.75rem);right:clamp(.85rem,2.8vw,2rem);transform:scaleX(-1)}@media (width>=900px){.lobby__brand-short{display:none}.lobby__brand-full{display:inline}.lobby__brand--must,.lobby__brand--chess{letter-spacing:.06em;font-size:clamp(3.25rem,9vw,7.5rem)}}.lobby__diagonal-piece{transform-origin:0 0;width:0;height:0;position:absolute}.lobby__diagonal-piece-shape{-webkit-user-select:none;user-select:none;max-width:none;display:block;-webkit-mask-position:bottom;mask-position:bottom;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.lobby__content{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:560px;min-height:0;display:flex;position:relative}.lobby__center{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:480px;display:flex;position:relative}.lobby__center--waiting{flex:1;justify-content:flex-start;gap:.75rem;width:100%;max-width:100%;min-height:0;padding:0;overflow:hidden}.lobby--queue{background:#000;justify-content:flex-start;align-items:center;padding:.75rem .5rem 1.25rem}.lobby__content--queue{justify-content:flex-start;align-items:center;width:100%;max-width:1120px;margin:0 auto}.lobby-page__back{z-index:5;position:fixed;top:.75rem;left:.5rem}.lobby-page{flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:1120px;margin:0 auto;padding-top:2.25rem;display:flex}.lobby-page__header{flex-direction:column;align-items:center;width:100%;display:flex}.lobby-page__title{width:100%;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:#fff;text-align:center;margin:0;font-size:clamp(1.65rem,4.5vw,2.35rem);font-weight:700;line-height:1}.queue-grid-wrap{width:100%}.queue-grid--board{grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;width:100%;display:grid}@media (width<=959px){.queue-grid--board{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=559px){.queue-grid--board{display:none}}.queue-list--compact{display:none}@media (width<=559px){.queue-list--compact{flex-direction:column;gap:.65rem;display:flex}}.queue-list__group{background:#ffffff0a;border-radius:4px;flex-direction:column;gap:0;display:flex;overflow:hidden}.queue-list__section+.queue-list__section .queue-list__row{border-top:1px solid #ffffff0f}.queue-list__row{color:#c8b08a;cursor:pointer;text-align:left;background:#ffffff0a;border:none;grid-template-columns:1fr auto auto;align-items:center;gap:.65rem;width:100%;min-height:3.1rem;padding:.85rem 1rem;display:grid}.queue-list__group .queue-list__row{background:0 0}.queue-list__label{letter-spacing:.01em;font-size:1.05rem;font-weight:600}.queue-list__count{color:#ffffff8c;white-space:nowrap;font-size:.82rem;font-weight:600}.queue-list__chevron{color:#ffffff73;width:1.1rem;height:1.1rem;transition:transform .15s}.queue-list__chevron--open{transform:rotate(90deg)}.queue-list__entries{background:#00000038;flex-direction:column;gap:.35rem;padding:0 .65rem .65rem;display:flex}.queue-grid__col{flex-direction:column;gap:.35rem;min-width:0;display:flex}.queue-grid__head{color:#ffffffe0;text-align:center;white-space:nowrap;margin:0 0 .15rem;font-size:.72rem;font-weight:600}.queue-grid__list{flex-direction:column;gap:.35rem;display:flex}.queue-cell{color:#ffffff59;cursor:default;text-align:left;background:#101010;border:none;border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:0 .35rem;width:100%;min-height:4.35rem;padding:.45rem .5rem;display:grid;position:relative}.queue-cell--spacer{pointer-events:none;background:#0a0a0a;border:none}.queue-cell--waiting{cursor:pointer;color:#fff;background:#4f4f4f}.queue-cell--waiting:hover:not(:disabled){background:#5a5a5a}.queue-cell--paired{cursor:pointer;background:var(--active);color:#000;box-shadow:none;border:none;outline:none}.queue-cell--paired:hover:not(:disabled){background:var(--active-hover)}.queue-cell--paired .queue-cell__name{color:#000000c7}.queue-cell--you{cursor:default;pointer-events:none;box-shadow:none;outline:none}.queue-cell--you.queue-cell--waiting:hover{background:#4f4f4f}.queue-cell--busy{opacity:.72;cursor:wait}.queue-cell--compact{border-radius:3px;min-height:3.25rem}.queue-cell__player{align-items:center;min-width:0;display:flex}.queue-cell__meta{flex-direction:column;gap:.05rem;min-width:0;display:flex}.queue-cell__name{white-space:nowrap;text-overflow:ellipsis;max-width:5.5rem;font-size:.72rem;font-weight:600;line-height:1.1;overflow:hidden}.queue-cell__you-tag{opacity:.72;font-weight:600}.queue-cell__rating{color:#ffffff8c;font-size:.62rem;font-weight:600;line-height:1.1}.queue-cell--paired .queue-cell__rating{color:#0000009e}.queue-cell__time{font-family:var(--font-display);align-items:flex-end;gap:.1rem;font-weight:700;line-height:1;display:inline-flex}.queue-cell__time-main{font-size:1.45rem}.queue-cell__time-unit{margin-bottom:.15rem;font-size:.62rem}.queue-cell__hint{text-align:center;pointer-events:none;font-size:.52rem;font-weight:600;position:absolute;bottom:.12rem;left:.35rem;right:.35rem}@media (width<=959px){.queue-cell{min-height:3.85rem}.queue-cell__time-main{font-size:1.25rem}.queue-cell__name{max-width:4rem}}@media (width<=559px){.queue-cell__name{max-width:none}}.lobby__name-field{isolation:isolate;width:100%;max-width:200px;position:relative}.lobby__name-display{text-align:center;white-space:pre;text-overflow:ellipsis;width:100%;padding:.4rem 0;font-size:.95rem;line-height:normal;display:block;overflow:hidden}.lobby__name-display--placeholder{opacity:.45}.lobby__name-faces.diagonal-split-face--white{color:var(--lobby-ink-light)}.lobby__name-faces.diagonal-split-face--black{color:var(--lobby-ink-dark)}.lobby__name{z-index:2;color:#0000;width:100%;max-width:none;caret-color:var(--lobby-ink-light);text-align:center;background:0 0;background-image:linear-gradient(color-mix(in srgb, var(--lobby-ink-light) 45%, transparent), color-mix(in srgb, var(--lobby-ink-light) 45%, transparent));background-position:50% 100%;background-repeat:no-repeat;background-size:0% 1px;border:none;outline:none;margin:0;padding:.4rem 0;font-size:.95rem;transition:background-size .28s;position:absolute;inset:0}.lobby__name::placeholder{color:#0000}.lobby__name:focus{background-size:100% 1px}.lobby__title-row{justify-content:center;align-items:center;width:100%;min-height:1.75rem;display:flex;position:relative}.lobby__title{color:var(--text-bright);text-align:center;white-space:nowrap;margin:0;font-size:1.1rem;font-weight:600}.lobby__title--long{white-space:nowrap;padding:0 2.5rem 0 2.75rem}.lobby-tabs{grid-template-columns:repeat(3,1fr);gap:.4rem;width:100%;display:grid}.lobby-tab{min-height:4.25rem;color:var(--text-muted);cursor:pointer;background:#302e2bb8;border:1px solid #0000;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .35rem;transition:background .15s,border-color .15s,color .15s;display:flex}.lobby-tab:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.lobby-tab--active{background:var(--active);color:var(--text-bright);cursor:default;border-color:#0000}.lobby-tab--active:hover:not(:disabled){background:var(--active);color:var(--text-bright)}.lobby-tab:disabled{opacity:.55;cursor:not-allowed}.lobby-tab__icon{opacity:.92;flex-shrink:0;width:1.35rem;height:1.35rem}.lobby-tab__label{text-align:center;font-size:.68rem;font-weight:600;line-height:1.2}.lobby-tab__subtitle{text-align:center;color:var(--text-subtle);opacity:.9;font-size:.58rem;font-weight:500;line-height:1.2}.lobby-tab--active .lobby-tab__subtitle{color:#ffffffb8}.lobby-awaiting-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin:-.35rem 0 0;padding:0;font-family:inherit;font-size:.82rem;display:inline}.lobby-awaiting-link:hover{color:var(--text)}.play-actions{flex-direction:column;gap:.75rem;width:100%;max-width:360px;display:flex}.play-hero-slot{grid-template-rows:1fr;transition:grid-template-rows .4s cubic-bezier(.33,0,.2,1),opacity .36s cubic-bezier(.33,0,.2,1),margin-block .4s cubic-bezier(.33,0,.2,1);display:grid}.play-hero-slot--hidden{opacity:0;pointer-events:none;grid-template-rows:0fr;margin-block:-.375rem;transition:grid-template-rows .48s cubic-bezier(.45,.05,.55,.95),opacity .4s cubic-bezier(.45,.05,.55,.95) 80ms,margin-block .48s cubic-bezier(.45,.05,.55,.95) 50ms}.play-hero-slot__inner{min-height:0;transition:transform .4s cubic-bezier(.33,0,.2,1);transform:translateY(0)scale(1)}.play-hero-slot--hidden .play-hero-slot__inner{transition:transform .48s cubic-bezier(.45,.05,.55,.95);overflow:hidden;transform:translateY(-5px)scale(.992)}.play-hero{background:0 0;border:none;border-radius:4px;width:100%;max-width:none;overflow:hidden;box-shadow:0 8px 28px #00000047}.play-hero--expanded{overflow:visible}.play-hero--expanded .play-hero__action{border-radius:4px 4px 0 0;overflow:hidden}.play-hero--expanded .play-hero__action>.diagonal-split-bg,.play-hero--expanded .play-hero__action>.diagonal-split-face{border-radius:4px 4px 0 0}.play-hero__panel-slot{grid-template-rows:0fr;transition:grid-template-rows .48s cubic-bezier(.45,.05,.55,.95);display:grid}.play-hero__panel-slot--open{grid-template-rows:1fr;transition:grid-template-rows .48s cubic-bezier(.33,0,.2,1)}.play-hero__panel-slot__inner{border-radius:0 0 4px 4px;min-height:0;overflow:hidden}.play-hero__panel-slot--open .play-hero__panel-slot__inner{overflow:visible}.play-hero__panel{isolation:isolate;opacity:0;background:0 0;border-top:1px solid #80808059;border-radius:0 0 4px 4px;flex-direction:column;gap:.75rem;padding:.75rem .75rem 1rem;transition:opacity .4s cubic-bezier(.45,.05,.55,.95),transform .48s cubic-bezier(.45,.05,.55,.95);display:flex;position:relative;overflow:hidden;transform:translateY(-5px)scale(.992);container:play-hero-panel/inline-size}.play-hero--expanded .play-hero__panel{overflow:visible}.play-hero--expanded .play-hero__panel>.diagonal-split-bg{border-radius:0 0 4px 4px}.play-hero__panel-slot--open .play-hero__panel{opacity:1;transition:opacity .4s cubic-bezier(.33,0,.2,1) 80ms,transform .48s cubic-bezier(.33,0,.2,1) 50ms;transform:translateY(0)scale(1)}.play-hero__panel-content{z-index:1;mix-blend-mode:difference;color:#fff;flex-direction:column;gap:.75rem;width:100%;display:flex;position:relative}.play-hero__panel-content .time-category-grid{border-color:#ffffff73;border-radius:4px}.play-hero__panel-content .time-category-grid__head,.play-hero__panel-content .qr-block__memo,.play-hero__panel-content .qr-block__hint,.play-hero__panel-content .join-link a{color:inherit;opacity:.9}.play-hero__panel-content .time-category-grid__head{letter-spacing:.04em;font-weight:700}.play-hero__panel-content .time-category-grid__btn{color:inherit;background:0 0;border-color:#0000}.play-hero__panel-content .time-category-grid__btn:hover:not(:disabled):not(.time-category-grid__btn--active){background:#ffffff24}.play-hero__panel-content .time-category-grid__btn--active{color:#fff;background:#ffffff29;border-width:2px;border-color:#fff;font-weight:700}.play-hero__panel-content .play-hero__extras{mix-blend-mode:normal}.play-hero__extras{z-index:3;flex-direction:column;gap:.65rem;display:flex;position:relative}.play-hero__extras .side-picker__label{display:none}.play-hero__extras .variant-picker--open{z-index:40}.play-hero__extras .variant-picker__trigger{background:#8080802e;border:1px solid #80808059;border-radius:4px}.play-hero__extras .variant-picker__menu{z-index:40;background:#111;border-color:#fff3;border-radius:4px;top:auto;bottom:calc(100% + .35rem);box-shadow:0 8px 24px #00000073}.play-hero__extras .variant-picker__option{background:0 0}.play-hero__extras .variant-picker__option:hover{background:#ffffff14}.play-hero__extras .variant-picker__option--active{background:var(--active)}.play-hero__extras .variant-picker--open .variant-picker__caret{transform:rotate(180deg)}.play-hero__side-picker{z-index:3;mix-blend-mode:normal;width:100%;position:relative}.play-hero__side-picker .side-picker__label{display:none}.play-hero__side-picker .side-picker__row{gap:.35rem}.play-hero__side-picker .side-picker__btn-label{display:none}.play-hero__side-picker .side-picker__btn{color:#fff;background:0 0;border-color:#0000;min-height:2.75rem;padding:.45rem}.play-hero__side-picker .side-picker__btn:hover:not(:disabled):not(.side-picker__btn--active){background:#ffffff14}.play-hero__side-picker .side-picker__btn--active{border-color:var(--active);color:var(--active)}.play-hero__side-picker .side-picker__icon{mix-blend-mode:normal}.play-hero__action{isolation:isolate;color:#000;width:100%;min-height:4.5rem;font-family:var(--font-display);letter-spacing:.045em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.85rem 1rem .75rem;font-size:1.85rem;font-weight:700;line-height:1;display:flex;position:relative;overflow:hidden}.play-hero__action:hover:not(:disabled) .diagonal-split-bg--white{background:var(--lobby-card-hover-light)}.play-hero__action:hover:not(:disabled) .diagonal-split-bg--black{background:var(--lobby-card-hover-dark)}.play-hero__action:disabled{opacity:.55;cursor:not-allowed}.play-hero__action--with-thumb{padding:.85rem 1rem}.play-hero__action-main{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-width:0;display:flex;position:relative}.play-hero__action--with-thumb .play-hero__action-main{width:100%}.play-hero__action-thumb{z-index:1;opacity:.92;pointer-events:none;color:inherit;line-height:0;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.play-hero__action-thumb img,.play-hero__action-thumb svg,.play-hero__action-thumb .play-hero__action-thumb-shape{object-fit:contain;width:52px;height:52px;display:block}.play-hero__action-thumb-shape{background-color:currentColor;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.play-hero__action-thumb--qr{z-index:2;mix-blend-mode:normal;background:var(--lobby-zone-light,#fff);border-radius:4px;padding:2px}.play-hero__action-label{font:inherit;letter-spacing:inherit;text-transform:inherit;padding-inline-end:.08em;line-height:1}.play-hero__status{letter-spacing:.01em;text-transform:none;opacity:.72;font-family:Segoe UI,system-ui,sans-serif;font-size:.68rem;font-weight:600;line-height:1.2}.play-hero__status-a11y{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.play-hero__settings{isolation:isolate;color:#000;letter-spacing:.01em;cursor:pointer;background:0 0;border:none;border-top:1px solid #80808059;justify-content:center;align-items:center;gap:.45rem;width:100%;min-height:2.15rem;padding:.4rem .75rem;font-family:Segoe UI,system-ui,sans-serif;font-size:.8rem;font-weight:600;display:flex;position:relative;overflow:hidden}.play-hero__settings:hover:not(:disabled) .diagonal-split-bg--white{background:var(--lobby-card-hover-light)}.play-hero__settings:hover:not(:disabled) .diagonal-split-bg--black{background:var(--lobby-card-hover-dark)}.play-hero__settings:disabled{opacity:.55;cursor:not-allowed}.play-hero__settings-content{z-index:1;justify-content:center;align-items:center;gap:.45rem;display:inline-flex;position:relative}.play-hero--expanded .play-hero__settings{border-bottom:none}.play-hero__qr-code{z-index:2;mix-blend-mode:normal;justify-content:center;width:100%;display:flex;position:relative}.play-hero__qr-code .qr-block__code{background:var(--lobby-zone-light,#fff);border-radius:4px;padding:.35rem;line-height:0}.play-hero__qr-block{width:100%;max-width:100%;margin:0}.play-hero__qr-block .qr-block__memo{font-size:.78rem}.play-hero__qr-block .join-link{word-break:break-all;font-size:.72rem}.play-hero__settings-icon{stroke-width:1.25px;flex-shrink:0;width:1.05rem;height:1.05rem}.play-hero__settings-text{letter-spacing:.02em}.diagonal-split-bg{z-index:0;pointer-events:none;transition:background .12s;position:absolute;inset:0}.diagonal-split-bg--white{background:var(--lobby-card-light);clip-path:var(--diag-clip-white,polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%))}.diagonal-split-bg--black{background:var(--lobby-card-dark);clip-path:var(--diag-clip-black,polygon(0 0, 0 0, 0 0))}.diagonal-split-measure{visibility:hidden;width:100%;display:block;position:relative}.diagonal-split-face{z-index:1;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.diagonal-split-face--interactive{pointer-events:auto;overflow:visible}.diagonal-split-face--white{color:var(--lobby-card-ink-light);clip-path:var(--diag-clip-white,polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%))}.diagonal-split-face--black{color:var(--lobby-card-ink-dark);clip-path:var(--diag-clip-black,polygon(0 0, 0 0, 0 0))}.diagonal-split-face__flip{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.time-category-grid{border:1px solid var(--active-border);border-radius:4px;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;width:100%;padding:.45rem;display:grid}.time-category-grid__col{flex-direction:column;gap:.25rem;min-width:0;display:flex}.time-category-grid__head{color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.58rem;font-weight:600}.time-category-grid__list{flex-direction:column;gap:.25rem;display:flex}.time-category-grid__btn{min-height:2rem;color:var(--text-bright);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:.25rem .15rem;font-size:.78rem;font-weight:600}.time-category-grid__btn:hover:not(:disabled){background:#ffffff0f}.time-category-grid__btn--active{border-color:var(--active);color:var(--active)}.time-category-grid__btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=520px){.time-category-grid{gap:.25rem}.time-category-grid__head{letter-spacing:.02em;font-size:.52rem}.time-category-grid__btn{min-height:1.85rem;padding:.2rem .1rem;font-size:.72rem}}@container play-hero-panel (width<=300px){.time-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.lobby-section-head{text-align:center;width:100%}.lobby-section-head__title{color:var(--text-bright);margin:0;font-size:1.1rem;font-weight:600}.lobby-section-head__subtitle{color:var(--text-muted);margin:.3rem 0 0;font-size:.82rem}.lobby-section-head__subtitle--link{font-family:inherit;font-size:.82rem;font-weight:inherit;line-height:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin:.3rem 0 0;padding:0;display:inline}.lobby-section-head__subtitle--link:hover{color:var(--text-muted)}.lobby__grid-wrap{width:100%}.lobby__setup{flex-direction:column;gap:.85rem;width:100%;display:flex}.lobby__qr-section{flex-direction:column;align-self:center;align-items:center;width:100%;max-width:320px;margin:.5rem auto 0;display:flex}.lobby__or{color:var(--text-muted);text-align:center;margin:0 0 .4rem;font-size:.8rem}.lobby__hint{color:var(--text-muted);text-align:center;margin:.5rem 0 0;font-size:.85rem}.lobby__qr-btn{background:var(--bg-card);width:100%;color:var(--text);cursor:pointer;border:none;border-radius:3px;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.9rem 1rem;font-size:.95rem;display:inline-flex}.lobby__qr-btn:hover{background:var(--bg-hover);color:var(--text-bright)}.lobby__qr-icon{opacity:.9;flex-shrink:0;width:1.15rem;height:1.15rem}.lobby__title-row .lobby__back{margin:0;padding-left:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.lobby-section-head .lobby__title-row{min-height:1.75rem}.lobby-section-head .lobby__title-row .lobby-section-head__title{padding:0 2.5rem}.field{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.field--inline{flex-direction:row;align-items:center;gap:.75rem}.field--inline span{flex-shrink:0}.field--inline input{flex:1}.field input{background:var(--bg-card);border:1px solid var(--border);color:var(--text-bright);border-radius:3px;min-height:44px;padding:.6rem .75rem;font-size:1rem}.pairing-grid{grid-template-columns:repeat(3,1fr);gap:.45rem;width:100%;display:grid}.pairing-btn{color:var(--text-bright);cursor:pointer;background:#302e2beb;border:none;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:76px;padding:1rem .35rem;transition:background .12s;display:flex}.pairing-btn:hover:not(:disabled){background:var(--bg-hover)}.pairing-btn:active:not(:disabled){background:#4a4844}.pairing-btn:disabled{opacity:.5;cursor:not-allowed}.pairing-btn--waiting{background:var(--active);cursor:default;outline:none}.pairing-btn--waiting:hover:not(:disabled){background:var(--active)}.pairing-btn--waiting .pairing-btn__label{color:#ffffffb8}.pairing-btn__time{letter-spacing:.02em;font-size:1.35rem;font-weight:600}.pairing-btn__label{color:var(--text-subtle);font-size:.72rem}.pairing-btn--custom .pairing-btn__time{font-size:1.1rem;font-weight:500}.game-setup{flex-direction:column;gap:.85rem;width:100%;display:flex}.game-setup__hint{text-align:center;color:var(--text-subtle);margin:0;font-size:.85rem}.variant-picker{width:100%;position:relative}.variant-picker__trigger,.variant-picker__option{text-align:left;background:var(--bg-card);width:100%;color:var(--text-bright);cursor:pointer;border:none;align-items:center;gap:.65rem;display:flex}.variant-picker__trigger{border-radius:3px;min-height:44px;padding:.45rem .75rem}.variant-picker__trigger:hover{background:var(--bg-hover)}.variant-picker__icon{text-align:center;opacity:.9;flex-shrink:0;width:1.35rem;font-size:1rem}.variant-picker__copy{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.variant-picker__name{color:var(--accent-orange);font-size:.9rem;font-weight:600;line-height:1.2}.variant-picker__desc{color:var(--text-subtle);font-size:.7rem;line-height:1.2}.variant-picker__caret{color:var(--text-muted);flex-shrink:0;font-size:.85rem;transition:transform .15s}.variant-picker__menu{z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;max-height:min(50vh,18rem);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.variant-picker__option{border-radius:3px;padding:.4rem .55rem}.variant-picker__option:hover{background:var(--bg-hover)}.variant-picker__option--active{background:var(--active);cursor:default}.variant-picker__option--active:hover{background:var(--active)}.game-setup-modal{z-index:1100;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}.game-setup-modal__backdrop{cursor:pointer;background:#0000008c;border:none;position:absolute;inset:0}.game-setup-modal__sheet{z-index:1;background:var(--bg);border:1px solid var(--border);border-radius:6px;width:min(100%,480px);max-height:calc(100dvh - 2rem);padding:1rem;position:relative;overflow-y:auto}.game-setup-modal__header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.game-setup-modal__title{margin:0;font-size:1.05rem;font-weight:600}.side-picker{width:100%}.side-picker__label{color:var(--text-subtle);text-align:center;margin:0 0 .45rem;font-size:.8rem}.side-picker__row{grid-template-columns:repeat(3,1fr);gap:.45rem;display:grid}.side-picker__btn{color:var(--text-bright);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:64px;padding:.65rem .5rem;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s;display:flex}.side-picker__btn:hover:not(:disabled){background:#ffffff0f}.side-picker__btn:disabled{opacity:.5;cursor:not-allowed}.side-picker__btn--active{border-color:var(--active);color:var(--active);cursor:default;background:0 0}.side-picker__btn--active:hover:not(:disabled){background:#ffffff0f}.side-picker__icon{flex-shrink:0;width:1.65rem;height:1.65rem;position:relative}.side-picker__king{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.side-picker__icon--random .side-picker__king--black-half{clip-path:inset(0 50% 0 0);position:absolute;inset:0}.side-picker__icon--random .side-picker__king--white-half{clip-path:inset(0 0 0 50%);position:absolute;inset:0}.side-picker__btn-label{line-height:1.1}.game-setup-modal__close{background:var(--bg-card);width:2rem;height:2rem;color:var(--text-bright);cursor:pointer;border:none;border-radius:3px;flex-shrink:0;font-size:1.35rem;line-height:1}.game-setup-modal__close:hover{background:var(--bg-hover)}.lobby__waiting,.lobby__card{z-index:1;position:relative}.lobby__waiting{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 0;display:flex}.lobby__center--waiting .lobby-table-wrap{flex:1;min-height:0}.lobby-table-wrap{background:var(--bg-card);border-radius:3px;flex-direction:column;width:100%;display:flex;overflow:hidden}.lobby-table__scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.lobby-table__sub{color:var(--text-muted);text-align:center;margin:0 0 .5rem;font-size:.8rem;line-height:1.4}.lobby-table__header{color:var(--text-muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.65rem .85rem;font-size:.85rem;display:flex}.lobby-table__count{color:var(--accent-orange)}.lobby-table{border-collapse:collapse;width:100%;font-size:.9rem}.lobby-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:.5rem .85rem;font-size:.75rem;font-weight:500}.lobby-table td{color:var(--text-bright);border-bottom:1px solid #40404080;padding:.6rem .85rem}.lobby-table tbody tr:last-child td{border-bottom:none}.lobby-table__row--you{background:var(--active-tint-08)}.lobby-table__row--you td:first-child{font-weight:600}.lobby-table__row--playable{cursor:pointer}.lobby-table__row--playable:hover{background:var(--active-tint-12)}.lobby-table__row--playable:focus-visible{outline:2px solid var(--accent-orange);outline-offset:-2px}.lobby-table__row--matching{background:var(--active-tint-15)}.lobby-table__empty{text-align:center;color:var(--text-muted);padding:1.25rem!important}.lobby-table__status{color:var(--text-muted);font-size:.8rem}.lobby-table__status--you{color:var(--active);font-weight:600}.lobby-table__status--play{color:var(--accent-orange);font-weight:600}.lobby-table__status--matching{color:var(--text-bright);font-weight:600}.lobby-table__hint{color:var(--text-muted);text-align:center;border-top:1px solid var(--border);margin:0;padding:.65rem .85rem;font-size:.8rem;line-height:1.4}.btn{cursor:pointer;border:none;border-radius:3px;min-height:44px;padding:.85rem 1.25rem;font-size:1rem;font-weight:600}.btn--block{width:100%}.btn--primary{background:var(--accent);color:#1a1a18}.btn--primary:hover{background:var(--accent-hover)}.btn--ghost{color:var(--text-muted);background:0 0;min-height:auto;padding:.5rem 0}.btn--back{align-items:center;gap:.35rem;display:inline-flex}.btn--back svg{flex-shrink:0;width:.85rem;height:.85rem}.btn--secondary{background:var(--text-bright);color:#1a1a18}.btn--secondary:hover:not(:disabled){background:var(--active-hover);color:var(--text-bright)}.btn--secondary:disabled{opacity:.5;cursor:not-allowed}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#e57373;margin:0;font-size:.9rem}.qr-block{flex-direction:column;align-items:center;gap:1rem;display:flex}.qr-block__memo{width:100%;max-width:280px;color:var(--text-muted);text-align:center;margin:0 auto;font-size:.8rem;line-height:1.45}.qr-block__hint{color:var(--text-muted);text-align:center;margin:0;font-size:.9rem}.join-link{word-break:break-all;text-align:center;font-size:.85rem}.join-link a{color:#ffffff8c;text-underline-offset:.15em;text-decoration:underline}.join-link a:hover{color:#ffffffe6}.game{--game-wide-bp:1100px;--game-layout-gap:5px;--game-controls-w:220px;--game-sidebar-w:280px;--game-header-h:2.75rem;--game-player-bars-h:6.5rem;--game-board-gap:.35rem;--game-footer-h:3rem;--game-pad-h:1.25rem;--game-chrome-reserve:calc(var(--game-header-h) + var(--game-player-bars-h) + var(--game-footer-h) + var(--game-pad-h) + var(--game-board-gap) * 2);--game-board-max-size:min(100vw - 1rem, 560px);flex-direction:column;width:100%;max-width:100%;min-height:0;padding:.5rem;display:flex}@media (width>=1100px){.game{--game-board-max-size:min(calc(100dvh - var(--game-chrome-reserve)), calc(100vw - 2rem));--game-controls-w:clamp(260px, 20vw, 320px);flex:1;min-height:0;padding-bottom:.5rem}}.game--centered{text-align:center;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem}.game__header{flex-shrink:0;justify-content:space-between;align-items:center;padding:.25rem .25rem .5rem;display:flex}.game__meta{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}@media (width>=1100px){.game__meta{display:none}}.game__controls-stack{display:contents}@media (width>=1100px){.game__controls-stack{width:100%;max-width:var(--game-controls-w);flex-direction:column;align-items:center;display:flex}}.game__info-header{display:none}@media (width>=1100px){.game__info-header{text-align:center;flex-direction:column;align-items:center;gap:.2rem;width:100%;margin-bottom:1rem;display:flex}}.game__info-header__title{color:var(--text);margin:0;font-size:1.05rem;font-weight:600;line-height:1.25}.game__info-header__subtitle{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.3}.game__info-header__live{margin-top:.35rem}.game__live-link{color:var(--active);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.game__live-link:hover{color:var(--active-hover)}.game__layout{flex:1;grid-template-areas:"stage""controls""moves";gap:.75rem;min-height:0;display:grid}@media (width>=1100px){.game__layout{align-items:center;gap:var(--game-layout-gap);grid-template:"controls stage sidebar"minmax(0,1fr)/1fr auto 1fr;width:100%}.game__layout:has(.game__sidebar-column--empty){grid-template-columns:1fr auto;grid-template-areas:"controls stage"}}.game__stage-column{justify-content:center;align-items:center;gap:var(--game-board-gap);flex-direction:column;grid-area:stage;min-width:0;min-height:0;display:flex}@media (width>=1100px){.game__stage-column{align-self:stretch;height:100%}}.game__controls-column{text-align:center;flex-direction:column;grid-area:controls;min-width:0;display:flex}@media (width>=1100px){.game__controls-column{justify-content:center;align-self:stretch;align-items:center;width:100%;min-height:0}}@media (width<=1099px){.game__controls-column{justify-content:flex-start;align-items:center;gap:.65rem}}.game__controls-panel{flex-direction:column;align-items:center;gap:.65rem;width:100%;display:flex}@media (width>=1100px){.game__controls-panel{max-width:var(--game-controls-w)}}@media (width<=1099px){.game__controls-panel{flex:1;min-height:0}.game__controls-panel .game__status{margin-top:auto;padding-bottom:.65rem}}.game__controls-panel .game__status{text-align:center;margin:0}.game__controls-panel .game-action-bar{justify-content:center}.game__board-column{gap:var(--game-board-gap);flex-direction:column;width:100%;display:flex}@media (width>=1100px){.game__board-column{width:var(--game-board-max-size);max-width:var(--game-board-max-size);flex-shrink:0}}.game__board-row{width:100%;max-width:var(--game-board-max-size,min(100vw - 1rem, 560px));align-self:center;align-items:flex-start;gap:.3rem;margin:0 auto;display:flex}.game__sidebar{background:0 0;border-radius:0;flex-shrink:0;min-height:44px;max-height:200px;padding:0;overflow-y:auto}@media (width<=1099px){.game__sidebar{display:none}}@media (width>=1100px){.game__sidebar{flex-direction:column;flex:auto;width:100%;min-height:0;max-height:none;display:flex;overflow:hidden}}.game__sidebar-column{flex-direction:column;flex-shrink:0;grid-area:sidebar;justify-content:center;align-items:center;gap:.5rem;min-width:0;min-height:0;display:none}@media (width>=1100px){.game__sidebar-column{align-self:stretch;width:100%;display:flex}}.game__sidebar-column--empty{display:none}.game__sidebar-column .game__sidebar{width:100%;max-width:var(--game-sidebar-w);max-height:var(--game-board-max-size);flex:0 auto}.game__sidebar-column .game__qr-invite--sidebar{display:none}@media (width>=1100px){.game__sidebar-column .game__qr-invite--sidebar{flex-shrink:0;width:100%;display:flex}}.game__sidebar-column .game-chat-bar{width:100%;max-width:var(--game-sidebar-w);padding-top:.65rem;padding-left:0;padding-right:0}.game__sidebar-column .game-chat-row{align-items:stretch;width:100%}.game__sidebar-column .game-chat-thought{flex:100%;width:100%;min-width:min-content}.game__sidebar-column .game-chat{flex:auto;width:auto;max-width:none}.game__qr-invite--inline{width:100%;max-width:var(--game-board-max-size,min(100vw - 1rem, 560px));margin:.65rem auto 0}@media (width>=1100px){.game__qr-invite--inline{display:none}}.game__qr-overlay{z-index:4;pointer-events:auto;background:#000000b8;justify-content:center;align-items:center;padding:.75rem;display:flex;position:absolute;inset:0}@media (width>=1100px){.game__qr-overlay{display:none}}.game__qr-invite--overlay{gap:.75rem;width:100%;max-width:17.5rem;margin:0}.game__qr-invite--overlay .qr-block__memo{max-width:none;color:var(--text-bright);font-size:.72rem;line-height:1.4}.game__qr-invite--overlay .qr-block__hint{color:var(--text-bright);font-size:.82rem}.game__qr-invite--overlay .join-link{font-size:.72rem}.game__qr-invite--overlay .join-link a{color:#ffffffeb}.game__qr-invite--overlay .join-link a:hover{color:#fff}.game__move-stack{flex-direction:column;flex-shrink:0;grid-area:moves;gap:.5rem;display:flex;overflow:visible}@media (width>=1100px){.game__move-stack--inline{display:none}}.game__move-panel{background:0 0;border-radius:0;flex-direction:column;flex-shrink:0;min-height:0;max-height:200px;padding:0;display:flex;overflow:hidden}.game__move-panel .move-table{flex:auto;height:auto;min-height:0}@media (width>=1100px){.game__move-panel--inline,.game__move-panel--analysis{display:none}}@media (width<=719px){.game__move-panel--analysis{max-height:280px}.game{flex:0 auto;padding-top:0;padding-bottom:0}.game__header{padding-bottom:.25rem}.game__layout{flex:0 auto;grid-template-rows:auto auto auto;align-content:start;gap:0}.game__stage-column,.game__controls-column{justify-content:flex-start;align-self:start;gap:0}.game__controls-panel,.game__board-column{gap:0}.game__status{margin:0;padding-bottom:.65rem}.game-action-bar{gap:0;padding:0}.game__move-stack{align-self:start;gap:0}.game-chat-bar{padding-top:0;padding-bottom:0}.player-bar{min-height:44px;padding-top:.4rem;padding-bottom:.4rem}}.player-bar{opacity:.85;align-items:center;min-height:52px;padding:.65rem 0;transition:opacity .15s;display:flex;position:relative}.player-bar.active{opacity:1}.player-bar__left{flex:1;align-items:center;gap:.55rem;min-width:0;display:flex}.player-bar__center{pointer-events:none;justify-content:center;align-items:center;max-width:calc(100% - 12rem);display:flex;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}@media (width<=399px){.player-bar__center{display:none}}.player-bar__clock{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.player-bar__name{color:var(--text-bright);white-space:nowrap;font-size:.95rem}.player-bar .clock{font-variant-numeric:tabular-nums;font-synthesis:none;-webkit-font-smoothing:antialiased;letter-spacing:.04em;color:#5a5a5a;text-align:right;background:0 0;justify-content:flex-end;align-items:center;min-width:4.75rem;padding:0;font-family:inherit;font-size:1.85rem;font-weight:300;line-height:1;display:inline-flex}.player-bar .clock--active{color:var(--text-bright)}.player-bar .clock--low{color:#ff6b6b}.player-bar .clock--active.clock--low{color:#f44}.player-bar .clock--win{color:var(--text-bright)}.board-stage{width:100%;max-width:var(--game-board-max-size,min(100vw - 1rem, 560px));aspect-ratio:1;margin:0 auto;position:relative}.board-bubble-layer{pointer-events:none;z-index:4;position:absolute;inset:0}.board-wrap{-webkit-user-select:none;user-select:none;touch-action:manipulation;contain:style;border-radius:3px;width:100%;height:100%;position:relative;overflow:hidden}.board-wrap>*{width:100%;height:100%}.board-wrap *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.board-wrap [id$=-piece-][style*="cursor: grabbing"],.board-wrap [id$=-piece-][style*=cursor\:grabbing]{will-change:transform;pointer-events:none}.board-notation{pointer-events:none;z-index:2;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);font-size:10px;line-height:1;display:grid;position:absolute;inset:0}.board-notation__file,.board-notation__rank{font-weight:500}.board-notation--on-light{color:#b58863}.board-notation--on-dark{color:#f0d9b5}.board-notation__file{place-self:end start;padding:0 0 2px 3px}.board-notation__rank{place-self:start end;padding:2px 3px 0 0}.board-reveal{--door-top:0%;--door-bottom:0%;--ghost-opacity:0;aspect-ratio:1;background:#f0d9b5;border-radius:3px;width:100%;max-width:100%;margin:0 auto;position:relative;overflow:hidden}.board-reveal__layer{position:absolute;inset:0}.board-reveal__layer .board-wrap,.board-reveal__layer .board-stage{aspect-ratio:auto;width:100%;max-width:none;height:100%;margin:0}.board-reveal__layer .board-notation{z-index:2}.board-reveal__ghost{z-index:0;opacity:var(--ghost-opacity);pointer-events:none;isolation:isolate;-webkit-filter:invert()hue-rotate(180deg)contrast(1.2)brightness(1.05);transition:none;transform:translateZ(0)}.board-reveal[data-xray-effect=classic] .board-reveal__ghost{-webkit-filter:invert()hue-rotate(180deg)contrast(1.2)brightness(1.05)}.board-reveal[data-xray-effect=blue] .board-reveal__ghost{-webkit-filter:invert()sepia()hue-rotate(165deg)saturate(4.5)contrast(1.35)brightness(1.05)}.board-reveal[data-xray-effect=purple] .board-reveal__ghost{-webkit-filter:invert()sepia()hue-rotate(240deg)saturate(4.2)contrast(1.3)brightness(.95)}.board-reveal[data-xray-effect=mono] .board-reveal__ghost{-webkit-filter:invert()grayscale()contrast(1.55)brightness(1.18)}.board-reveal[data-xray-effect=void] .board-reveal__ghost{-webkit-filter:invert()grayscale(.85)contrast(2.1)brightness(.65)hue-rotate(90deg)}.board-reveal[data-xray-effect=ultra-blue] .board-reveal__ghost{-webkit-filter:invert()sepia()hue-rotate(175deg)saturate(6)contrast(1.5)brightness(1.2)}.board-reveal[data-xray-effect=cobalt] .board-reveal__ghost{-webkit-filter:invert()sepia()hue-rotate(195deg)saturate(5)contrast(1.55)brightness(.82)}.board-reveal[data-xray-effect=indigo] .board-reveal__ghost{-webkit-filter:invert()sepia()hue-rotate(215deg)saturate(4.8)contrast(1.4)brightness(.92)}.board-reveal[data-xray-effect=violet-glow] .board-reveal__ghost{-webkit-filter:invert()sepia()hue-rotate(255deg)saturate(5.5)contrast(1.45)brightness(1.08)}.board-reveal[data-xray-effect=magenta] .board-reveal__ghost{-webkit-filter:invert()sepia()hue-rotate(275deg)saturate(5.2)contrast(1.42)brightness()}.board-reveal--animating .board-reveal__ghost{will-change:opacity}.board-reveal__normal{z-index:1;transform:translateZ(0)}.board-reveal--animating .board-reveal__normal{clip-path:inset(var(--door-top) 0 var(--door-bottom) 0);will-change:clip-path;backface-visibility:hidden}.board-reveal--animating{pointer-events:none}.dev-reveal-effects{flex-wrap:wrap;justify-content:center;gap:.35rem;width:100%;max-width:560px;margin-bottom:.5rem;display:flex}.dev-reveal-effects__btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:3px;padding:.35rem .5rem;font-size:.72rem}.dev-reveal-effects__btn:hover{color:var(--text-bright);border-color:var(--accent-orange)}.dev-reveal-effects__btn--active{color:var(--text-bright);border-color:var(--accent);background:var(--active-tint-12)}.game__status{text-align:center;color:var(--text-muted);margin:.5rem 0;font-size:.9rem}.game__status--warn{color:#ffabab}.game-over{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.game-over__side-row{gap:.5rem;width:100%;display:flex}.game-over__side-row .game-over__btn{text-transform:none;letter-spacing:normal;flex:1 1 0;width:auto;min-width:0;padding-inline:.5rem}.game-over__reason{color:var(--text-muted);font-size:.85rem}.game-over__hint{text-align:center;color:var(--text-muted);margin:0;font-size:.85rem}.game-over__hint--spectator{color:#ffabab}.game-over__btn{background:var(--bg-hover);width:100%;color:var(--text-bright);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;border:none;border-radius:3px;min-height:48px;padding:.9rem;font-size:.95rem;font-weight:600}@media (width>=720px){.game-over__btn{width:50%}}.game-over__btn:hover:not(:disabled){background:#4a4844}.game-over__btn:disabled{opacity:.6}.game-over__btn--secondary{border:1px solid var(--border);text-transform:none;color:var(--text);background:0 0;font-weight:500}.presence-dot{border:2px solid #6b8f71;border-radius:50%;flex-shrink:0;width:10px;height:10px}.presence-dot--online{background:#6b8f71}.presence-dot--away{background:0 0}.captured{opacity:.95;align-items:center;gap:.15rem;display:inline-flex}.captured__balance{color:#1a1a1a;font-variant-numeric:tabular-nums;background:#fff;border-radius:3px;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;margin-right:.1rem;padding:0 .15rem;font-size:.58rem;font-weight:700;line-height:1;display:inline-flex}.captured__piece{width:1.35rem;height:1.35rem;color:var(--text-bright);flex-shrink:0;line-height:0;display:inline-flex;position:relative}.captured__piece svg{width:100%;height:100%;display:block}.captured__piece--black svg g{fill:#111;stroke:var(--text-bright);stroke-width:2px;paint-order:stroke fill}.captured__count{color:var(--text-bright);font-size:.5rem;font-weight:700;line-height:1;position:absolute;top:-.15rem;right:-.35rem}.move-list{font-family:ui-monospace,monospace;font-size:.8rem}.move-list__row{gap:.35rem;padding:.15rem 0;display:flex}.move-list__num{color:var(--text-muted);min-width:1.75rem}.move-list__move{color:var(--text);border-radius:2px;min-width:2.5rem;padding:.1rem .35rem}.move-list__move.active{background:var(--accent);color:#1a1a18}.move-list__move:hover{color:var(--text-bright)}.game__board-stack{flex:1 1 0;width:100%;min-width:0;position:relative}.vs-intro{z-index:5;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;inset:0}.vs-intro--enter .vs-intro__card:first-of-type{animation:.5s cubic-bezier(.22,1,.36,1) both vsIntroFlyInTop}.vs-intro--enter .vs-intro__badge{animation:.35s ease-out .15s both vsIntroBadgeIn}.vs-intro--enter .vs-intro__card:last-of-type{animation:.5s cubic-bezier(.22,1,.36,1) 80ms both vsIntroFlyInBottom}.vs-intro--exit{animation:.4s ease-in forwards vsIntroFadeOut}.vs-intro--exit .vs-intro__card,.vs-intro--exit .vs-intro__badge{animation:none}@media (prefers-reduced-motion:reduce){.vs-intro--enter .vs-intro__card,.vs-intro--enter .vs-intro__badge,.vs-intro--exit,.vs-intro--exit .vs-intro__card,.vs-intro--exit .vs-intro__badge{animation:none}}.vs-intro__card{color:#1a1a18;background:#fff;border-radius:4px;align-items:center;gap:.65rem;min-width:min(90%,260px);padding:.55rem .85rem;display:flex;box-shadow:0 4px 20px #00000059}.vs-intro__card--dark{color:#fff;background:#1a1a18}.vs-intro__info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.vs-intro__name{align-items:center;gap:.35rem;font-size:.95rem;font-weight:700;display:flex}.vs-intro__flag{border-radius:2px;flex-shrink:0;width:1.05rem;height:auto;display:inline-block;box-shadow:0 0 0 1px #0000001f}.vs-intro__score{color:#666;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.vs-intro__card--dark .vs-intro__score{color:#aaa}.vs-intro__badge{color:#fff;letter-spacing:.08em;background:#0000008c;border-radius:4px;justify-content:center;align-items:center;min-width:2.25rem;padding:.2rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.score-result-overlay{z-index:6;pointer-events:none;justify-content:center;align-items:center;animation:.35s ease-out scoreResultFadeIn;display:flex;position:absolute;inset:0}.score-result-overlay--win .score-result-overlay__card,.score-result-overlay--loss .score-result-overlay__card{animation:.45s cubic-bezier(.34,1.4,.64,1) scoreResultCardPop}.score-result-overlay--exit{animation:.4s ease-in forwards vsIntroFadeOut}@media (prefers-reduced-motion:reduce){.score-result-overlay--exit{animation:none}}.score-result-overlay__card{justify-content:space-between;min-width:min(92%,280px)}.score-result-overlay__score{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.vs-intro__card--dark .score-result-overlay__score{color:#fff}.score-result-overlay__delta{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:1.35rem;font-weight:800;line-height:1}.score-result-overlay__delta--pulse{animation:.55s ease-out scoreDeltaPulse}.score-result-overlay__delta--gain{color:#81b64c}.score-result-overlay__delta--loss{color:#e85d75}.vs-intro__card--dark .score-result-overlay__delta--loss{color:#ff8a9b}@keyframes scoreResultFadeIn{0%{opacity:0}to{opacity:1}}@keyframes vsIntroFlyInTop{0%{opacity:0;transform:translateY(-48px)}to{opacity:1;transform:translateY(0)}}@keyframes vsIntroFlyInBottom{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@keyframes vsIntroBadgeIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes vsIntroFlyOutTop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-48px)}}@keyframes vsIntroFlyOutBottom{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(48px)}}@keyframes vsIntroBadgeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}@keyframes vsIntroFadeOut{0%{opacity:1}to{opacity:0}}@keyframes scoreResultCardPop{0%{opacity:0;transform:scale(.92)translateY(-32px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes scoreDeltaPulse{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.game-action-bar{border-radius:3px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;max-width:100%;padding:.5rem;display:flex}.game-action-bar__btn{color:var(--text-bright);cursor:pointer;opacity:.85;background:0 0;border:none;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.game-action-bar__btn svg{width:1.2rem;height:1.2rem}.game-action-bar__btn:hover:not(:disabled){opacity:1;color:#fff}.game-action-bar__btn:disabled{opacity:.35;cursor:default}.game-action-bar__btn--pending{background:var(--confirm);color:var(--text-bright);opacity:1;border-radius:4px}.game-action-bar__btn--pending:hover:not(:disabled){background:var(--confirm-hover);color:var(--text-bright);opacity:1}.game-action-bar__btn--invited{background:var(--active);color:var(--text-bright);opacity:1;border-radius:4px}.game-action-bar__btn--invited:hover:not(:disabled){background:var(--active-hover);color:var(--text-bright);opacity:1}.game-action-bar__btn--close svg{width:1.05rem;height:1.05rem}.game-action-bar__btn--hint{opacity:1}.game-action-bar__btn--hint svg{width:1.8rem;height:1.8rem}.game-action-bar__btn--hint-pending,.game-action-bar__btn--hint.game-action-bar__btn--hint-pending{color:#fff;opacity:1;border-radius:4px;background:var(--hint)!important}.game-action-bar__btn--hint-pending svg,.game-action-bar__btn--hint-pending svg path,.game-action-bar__btn--hint.game-action-bar__btn--hint-pending svg,.game-action-bar__btn--hint.game-action-bar__btn--hint-pending svg path{color:#fff;fill:#fff}.game-action-bar__btn--hint-pending:hover:not(:disabled),.game-action-bar__btn--hint.game-action-bar__btn--hint-pending:hover:not(:disabled){color:#fff;opacity:1;background:var(--hint-hover)!important}.game-action-bar__btn--hint-shown,.game-action-bar__btn--hint.game-action-bar__btn--hint-shown{color:#fff;opacity:1;border-radius:4px;background:var(--hint-shown)!important}.game-action-bar__btn--hint-shown svg,.game-action-bar__btn--hint-shown svg path,.game-action-bar__btn--hint.game-action-bar__btn--hint-shown svg,.game-action-bar__btn--hint.game-action-bar__btn--hint-shown svg path{color:#fff;fill:#fff}.game-action-bar__btn--hint-shown:hover:not(:disabled),.game-action-bar__btn--hint.game-action-bar__btn--hint-shown:hover:not(:disabled){color:#fff;opacity:1;background:var(--hint-shown-hover)!important}.game-action-bar__btn--hint-shown:disabled,.game-action-bar__btn--hint.game-action-bar__btn--hint-shown:disabled{color:#fff;opacity:1;cursor:default;background:var(--hint-shown)!important}.game-action-bar__btn--hint-shown:disabled svg,.game-action-bar__btn--hint-shown:disabled svg path,.game-action-bar__btn--hint.game-action-bar__btn--hint-shown:disabled svg,.game-action-bar__btn--hint.game-action-bar__btn--hint-shown:disabled svg path{color:#fff;fill:#fff}.game-action-bar__btn--rematch svg,.game-action-bar__btn--trophy svg,.game-action-bar__btn--new-opponent svg,.game-action-bar__btn--takeback svg{width:1.45rem;height:1.45rem}.game-action-bar__btn--side .side-picker__icon{width:1.75rem;height:1.75rem}.move-table{height:100%;min-height:0;color:var(--text-bright);flex-direction:column;font-size:.82rem;display:flex;container-type:inline-size}.move-table__nav{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:.5rem;display:grid}.move-table__nav-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-width:0;padding:.2rem .1rem;display:flex}.move-table__nav-btn:disabled{opacity:.35;cursor:default}.move-table__nav-btn:not(:disabled):hover{color:var(--text-bright)}.move-table__nav-icon{width:1.65rem;height:1.65rem;color:var(--text-bright);flex-shrink:0}.move-table__nav-label{letter-spacing:.01em;text-transform:capitalize;white-space:nowrap;font-size:.62rem}.move-table__rows{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}@media (width>=1100px){.move-table__rows{max-height:none}}.move-table__row{border-bottom:1px solid #ffffff14;grid-template-columns:1.35rem minmax(0,1fr) minmax(0,1fr) auto;align-items:stretch;gap:.2rem;min-height:2.35rem;padding:.1rem 0;display:grid}.move-table__num{color:var(--text-muted);align-items:center;font-size:.78rem;line-height:1;display:flex}.move-table__cell{width:100%;min-height:2.15rem;color:var(--text-bright);box-sizing:border-box;border:1px solid #0000;border-radius:2px;justify-content:flex-start;align-items:center;padding:.2rem .35rem;text-decoration:none;display:flex}.move-table__cell--active{color:#fff;background:0 0;border-color:#ffffffd9}.move-table__cell--empty{pointer-events:none;min-height:2.15rem}.move-table__cell:hover:not(.move-table__cell--empty):not(.move-table__cell--active){border-color:#ffffff61}.move-table__cell:hover:not(.move-table__cell--empty){color:#fff}.move-table__cell-inner{align-items:center;gap:.2rem;min-width:0;display:inline-flex}.move-table__notation{align-items:center;gap:.18rem;min-width:0;display:inline-flex}.move-table__piece{width:.82rem;height:.82rem;color:var(--text-bright);opacity:.95;flex-shrink:0;display:inline-flex}.move-table__piece svg{width:100%;height:100%;display:block}.move-table__piece--black svg g{fill:#111;stroke:var(--text-bright);stroke-width:1.4px;paint-order:stroke fill}@container (width<=200px){.move-table__piece{display:none}}.move-table__move-text{letter-spacing:.01em;font-weight:500}.move-table__suffix{font-weight:600}.move-table__suffix--check,.move-table__suffix--mate{color:#ff6b6b}.move-table__times{border-left:1px solid #ffffff1f;flex-direction:column;justify-content:center;align-items:flex-end;gap:.28rem;min-width:3.75rem;min-height:2.15rem;padding-left:.45rem;display:flex}.move-table__time{justify-content:flex-end;align-items:center;gap:.28rem;width:100%;min-height:.9rem;display:inline-flex}.move-table__time-value{font-family:var(--player-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem}.move-table__time--empty{color:#fff3;font-family:var(--player-mono);font-size:.72rem}.move-table__time-bar{background:#ffffff47;border-radius:2px;flex-shrink:0;width:3px;display:block}.move-table__time-bar--wide{width:12px;height:4px!important}.move-table__result{text-align:center;padding:.85rem 0 .35rem}.move-table__result-score{letter-spacing:.04em;color:var(--text-bright);margin-bottom:.2rem;font-size:1.35rem;font-weight:300}.move-table__result-score--interactive{cursor:pointer;transition:color .15s}.move-table__result-score--interactive:hover,.move-table__result-score--interactive--open{color:var(--active)}.move-table__series-history{text-align:left;margin-top:.65rem}.series-history{border-top:1px solid var(--border);padding-top:.55rem}.series-history__table{border-collapse:collapse;width:100%;font-size:.72rem}.series-history__table th{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);text-align:left;padding:0 .35rem .35rem;font-weight:600}.series-history__table td{vertical-align:top;border-top:1px solid #ffffff0f;padding:.35rem}.series-history__row--current .series-history__link{color:var(--active)}.series-history__link{color:inherit;text-decoration:none;display:block}.series-history__link:hover{color:var(--active)}.series-history__score{letter-spacing:.03em;color:var(--text-bright);font-size:.95rem;font-weight:500;display:block}.series-history__caption{color:var(--text-muted);margin-top:.1rem;font-size:.68rem;display:block}.series-history__when,.series-history__clock{white-space:nowrap;color:var(--text-muted);font-variant-numeric:tabular-nums}.series-history__empty{color:var(--text-muted);text-align:center;margin:.35rem 0 0;font-size:.72rem}.move-table__result-caption{color:var(--text-muted);font-size:.78rem}.game-chat-bar{--game-chat-control-height:calc(.72rem * 1.3 + .38rem * 2);justify-content:center;align-items:center;width:100%;padding:1rem .5rem .65rem;display:flex;overflow:visible}@media (hover:none) and (pointer:coarse){.game-chat-bar{--game-chat-control-height:calc(16px * 1.3 + .38rem * 2)}}.game-chat-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.28rem;max-width:100%;display:flex}.game-chat-thought{flex-wrap:nowrap;flex:auto;align-items:center;gap:.35rem;min-width:min-content;max-width:100%;display:flex;position:relative;overflow:visible}.game-chat__actions{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:.28rem;display:flex}.game-chat__king{opacity:.4;pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;width:1.55rem;height:1.55rem;display:flex}.game-chat__king svg{width:100%;height:100%;display:block}.game-chat{min-width:min-content;max-width:100%;min-height:var(--game-chat-control-height);background:var(--bg-hover);border:1px solid var(--border);isolation:isolate;border-radius:4px 14px 14px 4px;flex:auto;align-items:center;padding:.38rem .5rem;display:inline-grid;position:relative}.game-chat:before{content:"";border-top:7px solid #0000;border-bottom:7px solid #0000;border-right:7px solid var(--border);z-index:0;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.game-chat:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:6px solid var(--bg-hover);z-index:1;position:absolute;top:50%;left:-5px;transform:translateY(-50%)}.game-chat__sizer{visibility:hidden;white-space:pre;z-index:2;grid-area:1/1;min-width:1ch;padding:0;font-size:.72rem;line-height:1.3;position:relative}.game-chat__sizer--placeholder{font-style:italic}@media (hover:none) and (pointer:coarse){.game-chat__sizer{font-size:16px}}.game-chat__input{width:100%;min-width:0;color:var(--text);z-index:2;background:0 0;border:none;outline:none;grid-area:1/1;padding:0;font-size:.72rem;line-height:1.3;position:relative}@media (hover:none) and (pointer:coarse){.game-chat__input{font-size:16px}}.game-chat__input::placeholder{color:var(--text-muted);font-style:italic}.game-chat__input:disabled{opacity:.45;cursor:default}.game-chat__send,.game-chat__emoji,.game-chat__close{width:var(--game-chat-control-height);height:var(--game-chat-control-height);border:1px solid var(--border);background:var(--bg-hover);color:var(--text);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.game-chat__send svg,.game-chat__emoji svg,.game-chat__close svg{width:.85rem;height:.85rem}.game-chat__send:disabled,.game-chat__emoji:disabled,.game-chat__close:disabled{opacity:.35;cursor:default}.game-chat__send:hover:not(:disabled),.game-chat__emoji:hover:not(:disabled),.game-chat__close:hover:not(:disabled){background:#ffffff1a}.game-chat__emoji{font-size:.92rem}.game-chat__close{color:var(--text-muted)}.game-chat__close:hover{color:var(--text)}.board-bubble{z-index:4;box-sizing:border-box;pointer-events:none;color:#1a1a1a;text-align:center;word-break:break-word;overflow-wrap:anywhere;filter:drop-shadow(0 2px 8px #00000047);background:#fffffff5;border-radius:12px;width:max-content;max-width:min(34vw,104px);padding:.35rem .5rem;font-size:.68rem;font-weight:600;line-height:1.3;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;overflow:hidden;transform:translate(-50%,-100%)}.board-bubble:after{content:"";z-index:-1;background:#fffffff5;width:10px;height:10px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.board-bubble--travel-up{animation-name:board-bubble-travel-up}.board-bubble--travel-down{animation-name:board-bubble-travel-down}@keyframes board-bubble-travel-up{0%{left:var(--bubble-x);top:var(--bubble-y);opacity:0;transform:translate(-50%,-100%)scale(.72)}8%{opacity:1;transform:translate(-50%,-100%)scale(1)}22%{left:calc(var(--bubble-x) + 2%);top:calc(var(--bubble-y) - 15%)}38%{left:calc(var(--bubble-x) - 1.8%);top:calc(var(--bubble-y) - 32%)}54%{left:calc(var(--bubble-x) + 1.2%);top:calc(var(--bubble-y) - 48%)}70%{left:calc(var(--bubble-x) - 0.6%);top:calc(var(--bubble-y) - 65%)}86%{left:var(--bubble-x);top:calc(var(--bubble-y) - 82%);opacity:1}to{left:var(--bubble-x);opacity:0;top:-4%;transform:translate(-50%,-100%)scale(.82)}}@keyframes board-bubble-travel-down{0%{left:var(--bubble-x);top:var(--bubble-y);opacity:0;transform:translate(-50%,-100%)scale(.72)}8%{opacity:1;transform:translate(-50%,-100%)scale(1)}22%{left:calc(var(--bubble-x) - 2%);top:calc(var(--bubble-y) + 15%)}38%{left:calc(var(--bubble-x) + 1.8%);top:calc(var(--bubble-y) + 32%)}54%{left:calc(var(--bubble-x) - 1.2%);top:calc(var(--bubble-y) + 48%)}70%{left:calc(var(--bubble-x) + 0.6%);top:calc(var(--bubble-y) + 65%)}86%{left:var(--bubble-x);top:calc(var(--bubble-y) + 82%);opacity:1}to{left:var(--bubble-x);opacity:0;top:104%;transform:translate(-50%,-100%)scale(.82)}}.player-bar__identity{flex-direction:column;gap:.05rem;min-width:0;display:flex}.player-bar__score{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text-bright);font-family:inherit;font-size:.8rem;font-weight:300;line-height:1.1}.player-bar__flag{vertical-align:-.15em;border-radius:2px;width:.9rem;height:auto;margin-left:.35rem;display:inline-block;position:relative;top:-2px;box-shadow:0 0 0 1px #0000001f}.board-move-arrow{pointer-events:none;z-index:2;contain:layout style paint;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.board-move-arrow__shaft,.board-move-arrow__head{stroke:#000000d1;stroke-width:.2px;fill:none;stroke-dasharray:1;stroke-dashoffset:1px}.board-move-arrow--hint{z-index:3}.board-move-arrow__shaft{stroke-linecap:butt;animation:.13s ease-out forwards board-move-arrow-draw-shaft;animation-delay:var(--arrow-delay,0s)}.board-move-arrow__head{stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:90ms ease-out forwards board-move-arrow-draw-head,70ms ease-out forwards board-move-arrow-fade-head;animation-delay:calc(var(--arrow-delay,0s) + 80ms), calc(var(--arrow-delay,0s) + 90ms)}@keyframes board-move-arrow-draw-shaft{to{stroke-dashoffset:0}}@keyframes board-move-arrow-draw-head{to{stroke-dashoffset:0}}@keyframes board-move-arrow-fade-head{to{opacity:1}}@media (prefers-reduced-motion:reduce){.board-move-arrow__shaft,.board-move-arrow__head{stroke-dashoffset:0;opacity:1;animation:none}}.board-draw-badge{color:#fff;pointer-events:none;z-index:3;background:#505050d9;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;transform:translate(calc(3px - 50%),calc(-50% - 13px))}.board-draw-badge svg{width:11px;height:11px}.promotion-picker__backdrop{z-index:8;cursor:default;background:#0000002e;border:0;margin:0;padding:0;position:absolute;inset:0}.promotion-picker{z-index:9;pointer-events:auto;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;width:25%;height:25%;display:grid;position:absolute;box-shadow:0 2px 12px #00000047}.promotion-picker__choice{cursor:pointer;border:0;justify-content:center;align-items:center;min-width:0;min-height:0;margin:0;padding:8%;transition:filter .12s;display:flex}.promotion-picker__choice svg{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.promotion-picker__choice:first-child{background:#f0d9b5}.promotion-picker__choice:nth-child(2),.promotion-picker__choice:nth-child(3){background:#b58863}.promotion-picker__choice:nth-child(4){background:#f0d9b5}.promotion-picker__choice:hover{filter:brightness(1.12)}.promotion-picker__choice:active{filter:brightness(.92)}.board-wrap .square--fallen-king{justify-content:center;align-items:center;display:flex}.board-wrap .piece--fallen{transform-origin:50%;z-index:4;flex-shrink:0;width:100%;height:100%;animation:.55s cubic-bezier(.34,1.15,.64,1) forwards king-fall;position:relative}@keyframes king-fall{0%{transform:rotate(0)}to{transform:rotate(90deg)}}.eval-bar{flex-direction:column;flex-shrink:0;align-self:stretch;width:5px;display:flex}.eval-bar__track{contain:layout style paint;background:#1a1816;border-radius:4px;flex:1;min-height:0;position:relative;overflow:hidden}.eval-bar__white{will-change:transform;background:#f0f0f0;height:100%;transition:transform .25s;position:absolute;left:0;right:0}.eval-bar__black{will-change:transform;background:#403d39;height:100%;transition:transform .25s;position:absolute;left:0;right:0}.eval-bar--view-black .eval-bar__white{transform-origin:top;transform:scaleY(var(--eval-white-scale,.5));top:0}.eval-bar--view-black .eval-bar__black{transform-origin:bottom;transform:scaleY(var(--eval-black-scale,.5));bottom:0}.eval-bar--view-white .eval-bar__white{transform-origin:bottom;transform:scaleY(var(--eval-white-scale,.5));bottom:0}.eval-bar--view-white .eval-bar__black{transform-origin:top;transform:scaleY(var(--eval-black-scale,.5));top:0}.eval-bar--view-black.eval-bar--intro .eval-bar__white{transform-origin:top;animation:1.4s cubic-bezier(.22,1,.36,1) forwards eval-bar-scale-from-top}.eval-bar--view-black.eval-bar--intro .eval-bar__black,.eval-bar--view-white.eval-bar--intro .eval-bar__white{transform-origin:bottom;animation:1.4s cubic-bezier(.22,1,.36,1) forwards eval-bar-scale-from-bottom}.eval-bar--view-white.eval-bar--intro .eval-bar__black{transform-origin:top;animation:1.4s cubic-bezier(.22,1,.36,1) forwards eval-bar-scale-from-top}@keyframes eval-bar-scale-from-top{0%{transform:scaleY(0)}to{transform:scaleY(.5)}}@keyframes eval-bar-scale-from-bottom{0%{transform:scaleY(0)}to{transform:scaleY(.5)}}@media (prefers-reduced-motion:reduce){.eval-bar__white,.eval-bar__black{transition:none}.eval-bar--intro .eval-bar__white,.eval-bar--intro .eval-bar__black{animation:none;transform:scaleY(.5)}}.eval-bar__mid{background:#ffffff40;height:1px;position:absolute;top:50%;left:0;right:0}.move-table__symbol{color:#e0c070;margin-left:.15rem;font-size:.72rem;font-weight:700}.move-table__symbol--brilliant{color:#26c2d0}.move-table__symbol--excellent{color:#7fa650}.move-table__symbol--inaccuracy{color:#e0c070}.move-table__symbol--mistake{color:#e07070}.move-table__symbol--blunder{color:#c02020}.engine-level-picker{width:100%}.engine-level-picker__label{color:var(--text-subtle);text-align:center;margin:0 0 .45rem;font-size:.8rem}.engine-level-picker__row{grid-template-columns:repeat(5,1fr);gap:.45rem;display:grid}.engine-level-picker__btn{background:var(--bg-card);color:var(--text-bright);cursor:pointer;border:1px solid #0000;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.55rem .2rem;transition:background .12s,border-color .12s;display:flex}.engine-level-picker__btn:hover:not(:disabled){background:var(--bg-hover)}.engine-level-picker__btn:disabled{opacity:.5;cursor:not-allowed}.engine-level-picker__btn--active{background:var(--active);cursor:default;border-color:#0000}.engine-level-picker__btn--active:hover:not(:disabled){background:var(--active)}.engine-level-picker__btn--active .engine-level-picker__elo{color:#ffffffb8}.engine-level-picker__name{text-align:center;font-size:1rem;font-weight:600;line-height:1.15}.engine-level-picker__elo{color:var(--text-subtle);font-size:.65rem;font-weight:400;line-height:1.1}.confetti-canvas{pointer-events:none;z-index:2000;position:fixed;inset:0}.dev-confetti{text-align:center;padding:2rem}.dev-actions{background:var(--bg);min-height:100vh;padding:1.25rem 1rem 3rem}.dev-actions__inner{flex-direction:column;gap:1.5rem;max-width:720px;margin:0 auto;display:flex}.dev-actions__heading{color:var(--text-bright);margin:0;font-size:1.35rem}.dev-actions__block{border:1px solid var(--border);background:#0a0a0a;border-radius:6px;flex-direction:column;gap:.65rem;padding:1rem;display:flex}.dev-actions__title{color:var(--text-bright);margin:0;font-size:.95rem;font-weight:600}.dev-actions__sample{justify-content:center;display:flex}.dev-actions__bar{justify-content:center}.dev-actions__status{margin:0;padding-bottom:0}.dev-actions__icon-grid{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:1rem .75rem;display:grid}.dev-actions__icon-cell{flex-direction:column;align-items:center;gap:.45rem;display:flex}.dev-actions__label{color:var(--text-muted);text-align:center;font-size:.72rem;line-height:1.2}
