@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff)format("woff")}:root{color:#242824;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#f3f1e9;--surface:#faf9f4;--ink:#242824;--muted:#666b63;--line:#cecec2;--accent:#bd3d20;--orange:#ea5735;--soft-orange:#f7e2d8;--slate:#81958e;--display:"Barlow Condensed", "Arial Narrow", Impact, sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;background:#f3f1e9;font-family:Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit;text-decoration:none}input{min-width:0;color:var(--ink)}input::placeholder{color:#757970;opacity:1}h1,h2,h3,p{margin:0}svg{flex-shrink:0}::selection{color:var(--ink);background:#edb29b}.app-shell{flex-direction:column;width:min(100%,1440px);min-height:100dvh;margin:0 auto;padding:0 56px;display:flex}.site-header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;gap:24px;min-height:86px;display:flex}.brand{letter-spacing:-1px;align-items:center;gap:12px;min-height:44px;font-size:24px;font-weight:750;display:inline-flex}.brand-symbol{grid-template-columns:1fr 1fr;width:28px;height:28px;display:grid}.brand-symbol i{background:var(--ink)}.brand-symbol i:nth-child(2),.brand-symbol i:nth-child(3){background:var(--orange)}.site-header nav{align-items:center;gap:26px;display:flex}.sound-toggle{flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:8px;font-size:12px;display:inline-flex}.sound-toggle:hover{color:var(--accent);background:#e9e8de}.sound-toggle[aria-checked=false]{color:var(--muted)}.text-button{align-items:center;gap:8px;min-height:44px;padding:8px 0;font-size:13px;font-weight:550;display:inline-flex}.text-button:hover{color:var(--accent)}.header-divider{background:var(--line);width:1px;height:16px}.header-caption{font:11px var(--mono);color:var(--muted)}.connection-label{font:11px var(--mono);align-items:center;gap:7px;display:flex}.connection-label i,.turn-indicator i{background:#47745b;border-radius:50%;width:6px;height:6px}.connection-label.practice i{background:var(--accent)}.eyebrow,.edition-line{font:11px var(--mono);letter-spacing:.7px;text-transform:uppercase;align-items:center;gap:8px;display:flex}.edition-line{color:var(--accent)}.edition-line span{display:inline-block}.landing{flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:76px;padding:58px 0 64px;display:grid}.intro{color:var(--ink);letter-spacing:-.35px;font-size:18px;line-height:1.5}.entry-form>label,.join-code label{font:11px var(--mono);letter-spacing:.65px;margin-bottom:9px;display:block}.nickname-field{background:var(--surface);border:1px solid #888e82;align-items:center;gap:12px;height:54px;padding:0 14px;display:flex}.nickname-field>svg{color:var(--muted)}.nickname-field input{background:0 0;border:0;outline:none;width:100%;height:100%;font-size:16px}.primary-button{background:var(--ink);width:100%;min-height:48px;color:var(--surface);border:1px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.primary-button:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.play-button{height:54px;margin-top:9px;font-size:16px}.play-button>span{align-items:center;gap:10px;display:inline-flex}.entry-alternatives{justify-content:space-between;align-items:center;gap:16px;display:flex}.entry-alternatives button{align-items:center;gap:8px;min-height:48px;padding:8px 0;font-size:12px;display:flex}.entry-alternatives button:hover{color:var(--accent)}.entry-alternatives>span{background:var(--line);width:1px;height:16px}.practice-button{border-top:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:min(100%,392px);min-height:58px;margin-top:18px;padding:16px 0;font-size:13px;display:flex}.practice-button>svg:first-child{color:var(--accent)}.practice-button>svg:last-child{margin-left:auto}.practice-button strong{font-weight:600}.practice-button small{color:var(--muted);margin-left:8px;font-size:11px}.practice-button:hover{color:var(--accent)}.entry-note{color:var(--muted);font:10px/1.6 var(--mono);max-width:392px}.join-code{margin-top:16px}.join-code input{background:var(--surface);width:100%;height:48px;font:16px var(--mono);letter-spacing:2px;border:1px solid #888e82;border-radius:0;padding:10px 14px}.landing-visual{align-self:center;width:100%;margin-top:9px}.preview-topline{font:10px var(--mono);letter-spacing:.4px;border-top:1px solid var(--ink);justify-content:space-between;gap:12px;padding:13px 0;display:flex}.preview-topline>span:first-child{align-items:center;gap:7px;display:flex}.preview-topline i{background:var(--accent);width:5px;height:5px}.landing-board-wrap{border:1px solid var(--ink)}.preview-bottom{border-bottom:1px solid var(--ink);align-items:center;gap:16px;padding:18px 0;display:flex}.diagram-number{font:600 38px/.9 var(--display);color:var(--accent)}.preview-bottom p{color:var(--muted);font-size:12px;line-height:1.55}.preview-bottom p strong{color:var(--ink);font-weight:550}.diagram-move{font:600 26px var(--display);white-space:nowrap;margin-left:auto}.site-footer{border-top:1px solid var(--line);color:var(--muted);font:10px var(--mono);justify-content:space-between;align-items:center;gap:24px;margin-top:auto;padding:10px 0;display:flex}.site-footer>span:last-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.site-footer button{min-height:44px;font:inherit;color:var(--ink);align-items:center;gap:6px;padding:6px 0;display:inline-flex}.site-footer button:hover{color:var(--accent)}.footer-dot{color:var(--muted)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:var(--soft-orange);border-left:3px solid var(--accent);color:#822b18;margin:12px 0;padding:12px 16px;font-size:13px;line-height:1.5}.landing .error-message{max-width:392px}.arena{width:100%;max-width:1040px;margin:0 auto;padding:24px 0 40px}.arena-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.arena-heading h1{font:600 34px/1 var(--display);letter-spacing:-.3px;margin-top:7px}.arena-heading .eyebrow{color:var(--muted);font-size:10px}.arena-actions{align-items:center;gap:8px;display:flex}.secondary-button{background:0 0;border:1px solid #9da295;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:12px;display:flex}.secondary-button:hover{border-color:var(--ink);background:#e9e8de}.invite-button{font:12px var(--mono);letter-spacing:1px}.icon-button{place-items:center;width:44px;height:44px;padding:0;display:grid}.icon-button:hover:not(:disabled){background:#e1e2d7}.arena-grid{grid-template:"board turn""board sidebar"1fr/minmax(0,1fr) 306px;align-items:start;gap:24px 32px;display:grid}.turn-card{background:var(--surface);border:1px solid var(--line);grid-area:turn;padding:22px}.turn-card.live-turn{border:1px solid var(--ink);padding:14px 16px 0}.turn-summary{justify-content:space-between;align-items:center;gap:14px;display:flex}.turn-copy{min-width:0}.card-kicker{color:var(--muted);font:10px var(--mono);letter-spacing:.5px;justify-content:space-between;align-items:center;gap:8px;display:flex}.turn-card h2{font:600 32px/1.05 var(--display);letter-spacing:-.2px;margin-top:7px}.live-turn h2{font:600 24px/1.05 var(--display);margin-top:5px}.turn-card>p,.turn-detail{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.55}.live-turn .turn-detail{min-height:17px;margin-top:8px;font-size:11px}.timer{color:var(--ink);font:600 52px/.9 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-1px;flex-shrink:0;align-items:baseline;gap:4px;display:flex}.timer>svg{display:none}.timer small{font:12px var(--mono);margin-left:2px}.timer.urgent{color:var(--accent)}.timer-track{background:#dadbd0;height:3px;margin:12px -16px 0;overflow:hidden}.timer-track>div{background:var(--ink);height:100%;transition:width .1s linear}.turn-card .primary-button{margin-top:20px}.turn-card .inline-invite{justify-content:center;width:100%;margin-top:6px;font-size:12px}.vote-accepted.live-turn{border-color:#507760}.locked-receipt{align-items:center;gap:12px;margin-top:7px;display:flex}.locked-receipt>span{font:600 22px/1 var(--display);align-items:center;gap:5px;display:inline-flex}.locked-receipt>span>svg{color:#47745b}.locked-receipt small{color:#45684f;font:9px var(--mono);letter-spacing:.2px}.board-column{grid-area:1/board/3;min-width:0}.board-component{width:100%;position:relative}.chessboard-frame{outline:none;width:100%}.chessboard-frame:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.team-bar{align-items:center;gap:9px;height:49px;display:flex}.team-piece{place-items:center;width:29px;height:32px;font-size:27px;line-height:1;display:grid}.team-piece.white{color:#fff;text-shadow:1px 0 var(--ink), -1px 0 var(--ink), 0 1px var(--ink), 0 -1px var(--ink)}.team-piece.black{color:var(--ink)}.team-bar>div:nth-child(2){align-items:baseline;gap:10px;display:flex}.team-bar>div:nth-child(2) strong{font-size:12px;font-weight:600}.team-bar>div:nth-child(2)>span{color:var(--muted);font-size:10px}.turn-indicator{font:9px var(--mono);color:#45684f;align-items:center;gap:6px;margin-left:auto;display:flex}.team-bar-avatars{margin-left:auto;display:flex}.team-bar-avatars span{border:1px solid var(--line);width:24px;height:24px;font:10px var(--mono);background:#e3e6dc;place-items:center;margin-left:-1px;display:grid}.turn-indicator+.team-bar-avatars{margin-left:6px}.board-caption{border-top:1px solid var(--line);color:var(--muted);font:10px var(--mono);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.board-caption>span{align-items:center;gap:6px;display:flex}.keyboard-controls{align-items:center;gap:8px;min-height:49px;padding:3px 0;display:flex}.keyboard-controls label{font:10px var(--mono);color:var(--muted)}.keyboard-controls input{background:var(--surface);width:82px;height:40px;font:13px var(--mono);border:1px solid #a8ad9f;border-radius:0;padding:6px 9px}.keyboard-controls>span{color:var(--muted);max-width:50%;margin-left:auto;font-size:10px;line-height:1.4}.game-sidebar{flex-direction:column;grid-area:sidebar;gap:24px;min-width:0;display:flex}.mobile-tabs{display:none}.mobile-tabs button{justify-content:center;align-items:center;gap:7px;display:flex}.mobile-tabs button span{font:10px var(--mono)}.detail-panel{min-width:0}.candidates-card,.roster-card,.replay-card,.moves-card{border-top:2px solid var(--ink)}.section-heading{justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.section-heading h3{font:600 23px/1 var(--display);letter-spacing:.1px}.section-heading>span{color:var(--muted);font:10px var(--mono);align-items:center;gap:5px;display:flex}.hidden-candidates{padding:18px 0 24px}.hidden-lines{display:none}.privacy-icon{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);place-items:center;margin-bottom:12px;display:inline-grid}.hidden-candidates strong{font-size:13px;font-weight:600;display:block}.hidden-candidates p,.empty-candidates p{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.6}.empty-candidates{color:var(--muted);padding:18px 0 24px}.candidate-list{scrollbar-width:thin;max-height:280px;margin:0;padding:0;list-style:none;overflow:auto}.candidate-row{border:1px solid #0000;border-top-color:var(--line);text-align:left;width:100%;min-height:64px;padding:10px 8px;display:block}.candidate-row:focus-visible{outline-offset:-3px}.candidate-label{align-items:center;gap:8px;min-height:24px;display:flex}.candidate-label>svg{color:var(--muted);margin-left:auto}.candidate-row strong{font:600 24px/1 var(--display);min-width:35px}.candidate-bar-row{align-items:center;gap:10px;margin-top:7px;display:flex}.candidate-meter{background:#e5e8de;flex:1;height:18px}.candidate-meter>span{background:#81958e;height:100%;transition:width .15s;display:block}.candidate-count{font:600 12px var(--mono);text-align:right;font-variant-numeric:tabular-nums;min-width:25px}.candidate-chart[data-team=white]{--chosen-color:#fff;--chosen-text:#161a18;--chosen-track:#cad0cb}.candidate-chart[data-team=black]{--chosen-color:#161a18;--chosen-text:#fff;--chosen-track:#747b78}.candidate-row.is-chosen{background:var(--chosen-color);color:var(--chosen-text);border-color:#161a18}.candidate-row.is-chosen .candidate-label>svg{color:inherit}.candidate-row.is-chosen .candidate-meter{background:var(--chosen-track)}.candidate-row.is-chosen .candidate-meter>span{background:var(--chosen-color);box-shadow:inset 0 0 0 1px var(--chosen-text)}.chosen-label{color:inherit;flex-wrap:wrap;align-items:center;gap:3px;font-size:10px;font-weight:600;display:flex}.chosen-label small{font:8px var(--mono);text-transform:uppercase;width:100%;padding-left:15px}.vote-reveal-chart{margin-top:14px}.vote-reveal-chart .candidate-list{max-height:230px}.reveal-chart-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px;padding-bottom:10px;display:flex}.reveal-chart-heading strong{font:600 20px var(--display)}.reveal-chart-heading>span{color:var(--muted);font:9px var(--mono)}.timer-track>div.reveal-progress{background:var(--accent)}.candidate-reveal-note{color:var(--muted);padding-bottom:12px;font-size:12px;line-height:1.6}.candidate-note{color:var(--muted);align-items:center;gap:6px;margin:12px 0 4px;font-size:10px;display:flex}.team-rosters{scrollbar-width:thin;grid-template-columns:1fr 1fr;gap:20px;max-height:270px;display:grid;overflow:auto}.roster-team-name{font:10px var(--mono);text-transform:uppercase;border-bottom:1px solid var(--line);align-items:center;gap:6px;padding-bottom:9px;display:flex}.roster-team-name>i{background:#fff;border:1px solid #666e60;width:7px;height:7px}.roster-team-name>i.black{background:var(--ink)}.roster-team-name>span{color:var(--muted);margin-left:auto}.roster-member{align-items:center;gap:6px;padding-top:10px;font-size:11px;display:flex}.roster-avatar{border:1px solid var(--line);width:23px;height:23px;color:var(--muted);font:10px var(--mono);flex-shrink:0;place-items:center;display:grid}.roster-nickname{text-overflow:ellipsis;white-space:nowrap;max-width:96px;overflow:hidden}.roster-nickname small{color:var(--muted);font-size:9px}.roster-member>span[title]{color:var(--accent);display:flex}.member-dot{background:#a5aaa0;border-radius:50%;flex-shrink:0;width:4px;height:4px;margin-left:auto}.member-dot.online{background:#47745b}.roster-member.offline{opacity:.5}.empty-roster{color:var(--muted);padding-top:10px;font-size:12px;line-height:1.5}.roster-note{border-top:1px solid var(--line);color:var(--muted);margin-top:16px;padding-top:12px;font-size:11px;line-height:1.6}.practice-notice,.recovery-notice{border-left:3px solid var(--accent);background:#e8e6dc;align-items:center;gap:10px;margin:0 0 16px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.practice-notice{color:var(--muted);background:0 0;border:0;padding:0;font-size:11px}.recovery-notice>span{flex:1}.recovery-notice>button{min-height:44px;color:var(--accent);align-items:center;gap:6px;font-size:12px;display:flex}.result-stats{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;padding:14px 0;display:grid}.result-stats strong{font:600 42px/1 var(--display);display:block}.result-stats span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.audit-details{color:var(--muted);margin-top:12px;font-size:11px}.audit-details summary{cursor:pointer;min-height:44px;color:var(--ink);padding:14px 0}.audit-details p{margin:10px 0 5px;font-size:11px;line-height:1.5}.audit-details code{font:10px/1.5 var(--mono);overflow-wrap:anywhere}.audit-check .text-button{color:var(--accent);font-size:11px}.replay-card>input,.moves-card>input{width:100%;min-height:44px;accent-color:var(--accent);margin:0}.replay-controls{justify-content:space-between;align-items:center;display:flex}.replay-controls>span{font:600 26px var(--display)}.move-history{scrollbar-width:thin;grid-template-columns:1fr 1fr;gap:0 8px;max-height:220px;padding:6px 0 0;display:grid;overflow:auto}.move-history button{text-align:left;min-height:44px;font:12px var(--mono);align-items:center;gap:10px;padding:8px 10px;display:flex}.move-history button small{color:var(--muted);font:inherit}.move-history button.current{background:#dee3d6}.move-history button:hover{background:#e6e8de}.move-history button:disabled{opacity:1;cursor:default}.empty-moves{color:var(--muted);padding:10px 0 20px;font-size:12px;line-height:1.6}.arena-waiting .arena-grid,.arena-finished .arena-grid{grid-template-areas:"board turn""board sidebar";row-gap:24px}.arena-waiting .game-sidebar,.arena-finished .game-sidebar{border-left:0;padding-left:0}.arena-waiting .board-column,.arena-finished .board-column{grid-row:1/3}.modal{background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:0;width:min(480px,100% - 32px);max-height:90dvh;padding:24px;overflow:auto;box-shadow:0 20px 100px #1113}.modal::backdrop{background:#20251fc2}.modal-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.modal-top h2{font:600 36px/1 var(--display);margin-top:3px}.modal-top .icon-button{flex-shrink:0;margin-top:-6px;margin-right:-8px}.rules-content{color:var(--muted);font-size:13px;line-height:1.75}.rules-content>p{margin-bottom:20px}.rules-content ol{gap:16px;margin:0;padding-left:20px;display:grid}.rules-content li{padding-left:5px}.rules-content strong{color:var(--ink);font-weight:600}.fine-print{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:11px;line-height:1.7}.modal-description{color:var(--muted);margin-bottom:20px;font-size:13px;line-height:1.7}.modal-actions{gap:10px;display:flex}.modal-actions>*{flex:1}.modal-actions .primary-button{width:auto}.preview-modal{width:min(452px,100% - 32px)}.preview-explanation{font:12px var(--mono);align-items:center;gap:12px;margin-bottom:16px;display:flex}.preview-explanation>span:nth-child(2){align-items:center;gap:5px;display:flex}.move-pill{background:var(--ink);color:var(--surface);font:600 25px var(--display);padding:5px 9px}.readonly-label{color:var(--muted);align-items:center;gap:5px;margin-left:auto;font-size:9px;display:flex}.preview-disclaimer{color:var(--muted);margin-top:16px;font-size:12px;line-height:1.6}.preview-clock{font:12px var(--mono);color:var(--accent);align-items:center;gap:7px;margin-top:12px;display:flex}.promotion-options{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.promotion-options button{background:var(--surface);border:1px solid #9aa391;flex-direction:column;align-items:center;gap:7px;padding:12px 4px;font-size:12px;display:flex}.promotion-options button:hover{border-color:var(--ink);background:#dbe4d3}.promotion-options button>span{font-size:46px;line-height:1.15}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=1100px){.arena-playing{max-width:min(1040px,100dvh + 20px)}}@media (width<=1100px){.app-shell{padding-inline:32px}.landing{gap:40px}.landing-copy h1{font-size:clamp(74px,8.6vw,100px)}.arena-grid{grid-template-columns:minmax(0,1fr) 278px;column-gap:24px}.game-sidebar{padding-left:0}.team-bar-avatars{display:none}.team-bar>div:nth-child(2){gap:7px}.board-caption{font-size:9px}.roster-avatar{display:none}}@media (width<=800px){.app-shell{padding-inline:24px}.header-caption,.header-divider{display:none}.site-header{min-height:74px}.landing{gap:28px;padding-top:40px}.landing-copy h1{font-size:76px}.intro{font-size:15px}.preview-topline{font-size:8px}.preview-bottom{gap:10px}.preview-bottom p{font-size:10px}.diagram-move{font-size:22px}.entry-alternatives{gap:12px}.entry-alternatives button{gap:5px;font-size:11px}.arena-grid{grid-template-columns:minmax(0,1fr) 246px;gap:20px}.game-sidebar{padding-left:0}.team-rosters{gap:14px}.turn-indicator{font-size:8px}.team-bar>div:nth-child(2){display:block}.team-bar>div:nth-child(2)>span{margin-top:3px;display:block}.live-turn h2{font-size:22px}.timer{font-size:46px}.keyboard-controls>span,.board-caption>span:first-child{display:none}.turn-card{padding:18px}}@media (width<=700px){.app-shell{padding:0 16px}.site-header{gap:12px;min-height:64px}.brand{letter-spacing:-.8px;gap:9px;font-size:22px}.brand-symbol{width:24px;height:24px}.site-header nav{gap:10px}.sound-toggle>span,.site-header .connection-label{display:none}.text-button{font-size:12px}.site-header .text-button>svg{display:none}.connection-label{font-size:9px}.connection-label i{width:5px;height:5px}.landing{flex-direction:column;align-items:stretch;gap:40px;padding:32px 0 36px;display:flex}.edition-line{font-size:10px}.landing-copy h1{letter-spacing:-1px;margin:22px 0;font-size:clamp(64px,19.6vw,110px)}.intro{font-size:17px}.entry-form{max-width:none;margin-top:28px}.entry-alternatives button{gap:7px;font-size:12px}.practice-button{width:100%;min-height:60px;margin-top:13px}.entry-note{font-size:10px}.landing-visual{align-self:center;max-width:520px;margin:0}.preview-topline{padding:12px 0;font-size:9px}.preview-bottom{gap:14px;padding:15px 0}.preview-bottom p{font-size:11px}.diagram-number{font-size:34px}.diagram-move{font-size:25px}.site-footer{padding:14px 0 4px;font-size:9px;display:block}.site-footer>span:first-child{display:block}.site-footer>span:last-child{gap:5px}.arena{padding:12px 0 24px}.arena-heading{gap:10px;min-height:44px;margin-bottom:12px}.arena-heading .eyebrow{letter-spacing:.15px;gap:5px;font-size:9px}.arena-heading .eyebrow svg{width:12px;height:12px}.arena-heading h1{margin-top:4px;font-size:26px}.arena-actions{gap:2px}.invite-button{letter-spacing:.5px;padding:8px;font-size:10px}.invite-button>svg{width:13px;height:13px}.arena-grid,.arena-waiting .arena-grid,.arena-finished .arena-grid{flex-direction:column;gap:0;display:flex}.turn-card{width:100%;padding:20px}.turn-card.live-turn{min-height:84px;padding:10px 12px 0}.turn-summary{gap:10px;min-height:44px}.card-kicker{letter-spacing:.4px;font-size:9px}.live-turn h2{margin-top:5px;font-size:24px;line-height:1}.timer{font-size:46px}.timer small{font-size:10px}.live-turn .turn-detail{min-height:15px;margin-top:5px;font-size:10px;line-height:1.4}.timer-track{height:3px;margin:7px -12px 0}.locked-receipt{gap:8px;margin-top:5px;display:inline-flex}.locked-receipt>span{font-size:18px}.locked-receipt small{font-size:8px}.vote-accepted .turn-copy{grid-template-columns:auto 1fr;align-items:center;column-gap:10px;display:grid}.vote-accepted .card-kicker{grid-column:1/-1}.vote-accepted .locked-receipt small{display:none}.board-column{width:100%}.team-bar{gap:5px;height:37px}.team-piece{width:23px;height:27px;font-size:24px}.team-bar>div:nth-child(2){align-items:baseline;gap:7px;display:flex}.team-bar>div:nth-child(2) strong{font-size:11px}.team-bar>div:nth-child(2)>span{margin-top:0;font-size:9px;display:inline}.team-bar-avatars{display:none}.turn-indicator{gap:5px;font-size:8px}.turn-indicator i{width:4px;height:4px}.keyboard-controls{min-height:44px;padding:2px 0}.keyboard-controls input{width:80px;height:44px;font-size:16px}.keyboard-controls label{font-size:9px}.keyboard-controls>span{max-width:42%;font-size:9px;display:block}.board-caption{padding:9px 0;font-size:9px}.board-caption>span:first-child{display:flex}.game-sidebar,.arena-waiting .game-sidebar,.arena-finished .game-sidebar{border-left:0;width:100%;padding-left:0;display:block}.mobile-tabs{border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin-top:8px;display:grid}.mobile-tabs button{min-height:48px;color:var(--muted);justify-content:center;align-items:center;gap:7px;padding:8px 6px;font-size:12px;display:flex;position:relative}.mobile-tabs button[aria-selected=true]{color:var(--ink);font-weight:600}.mobile-tabs button[aria-selected=true]:after{content:"";background:var(--accent);height:3px;position:absolute;bottom:-1px;left:0;right:0}.mobile-tabs button span{font:10px var(--mono)}.detail-panel{border-top:0;display:none}.detail-panel.is-active{display:block}.section-heading{padding:18px 0 14px}.section-heading h3{font-size:24px}.section-heading>span{font-size:11px}.hidden-candidates{padding:5px 0 24px}.privacy-icon{float:left;width:40px;height:40px;margin:2px 12px 20px 0}.hidden-candidates p{margin-top:4px;font-size:12px}.candidate-list{max-height:300px}.candidate-row{min-height:52px}.candidate-note{font-size:11px}.vote-reveal-chart{z-index:10;left:16px;right:16px;bottom:max(16px, env(safe-area-inset-bottom));border:1px solid var(--accent);background:var(--surface);margin:0;padding:14px;position:fixed;box-shadow:0 8px 40px #24282445}.vote-reveal-chart .candidate-list{max-height:min(230px,38dvh)}.reveal-chart-heading strong{font-size:22px}.team-rosters{grid-template-columns:1fr 1fr;gap:24px;max-height:320px}.roster-team-name{font-size:11px}.roster-member{padding-top:12px;font-size:12px}.roster-avatar{width:26px;height:26px;display:grid}.roster-nickname{max-width:110px}.roster-note{font-size:12px}.arena-waiting .board-column{display:none}.arena-waiting .game-sidebar{margin-top:24px}.arena-waiting .roster-card{border-top:2px solid var(--ink)}.arena-finished .turn-card{margin-bottom:10px}.practice-notice{margin-bottom:10px;font-size:10px;line-height:1.4}.practice-notice>svg{width:13px;height:13px}.recovery-notice{flex-wrap:wrap;margin-bottom:10px;padding:9px 12px;font-size:11px}.recovery-notice>button{margin-left:auto}.modal{padding:20px}.modal-top h2{font-size:31px}.modal-actions>*{font-size:12px}.promotion-options{gap:7px}.promotion-options button{font-size:11px}.promotion-options button>span{font-size:40px}}@media (width<=370px){.app-shell{padding-inline:12px}.brand{gap:7px;font-size:19px}.brand-symbol{width:21px;height:21px}.site-header nav{gap:7px}.site-header .text-button{font-size:11px}.connection-label{gap:4px;font-size:8px}.landing-copy h1{font-size:64px}.intro{font-size:15px}.entry-alternatives button{font-size:11px}.arena-heading .eyebrow{font-size:8px}.arena-heading h1{font-size:24px}.invite-button{font-size:9px}.live-turn h2{font-size:22px}.timer{font-size:42px}.team-bar>div:nth-child(2)>span{font-size:8px}.turn-indicator{font-size:7px}.board-caption,.keyboard-controls>span{font-size:8px}}@media (height<=520px) and (width>=600px) and (orientation:landscape){.app-shell{padding-inline:max(18px, env(safe-area-inset-left))}.site-header{min-height:48px}.brand{font-size:19px}.brand-symbol{width:22px;height:22px}.arena{max-width:900px;padding:6px 0 20px}.arena-heading{min-height:44px;margin-bottom:5px}.arena-heading h1{display:none}.arena-grid,.arena-waiting .arena-grid,.arena-finished .arena-grid{grid-template-columns:minmax(0,calc(100dvh - 143px)) minmax(240px,1fr);grid-template-areas:"board turn""board sidebar";gap:12px 24px;display:grid}.board-column{grid-row:1/3}.arena-playing .team-bar{height:24px}.team-bar>div:nth-child(2)>span,.team-bar-avatars,.board-caption,.keyboard-controls{display:none}.team-piece{width:20px;height:22px;font-size:20px}.team-bar>div:nth-child(2) strong{font-size:10px}.turn-card.live-turn{min-height:0;padding:10px 12px 0}.live-turn .turn-detail{font-size:11px}.timer-track{margin:8px -12px 0}.game-sidebar{border:0;padding:0;display:block}.mobile-tabs{border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.mobile-tabs button{min-height:44px;padding:8px;font-size:12px}.mobile-tabs button[aria-selected=true]{border-bottom:3px solid var(--accent)}.detail-panel{border:0;display:none}.detail-panel.is-active{display:block}.section-heading{padding:12px 0}.section-heading h3{font-size:21px}.hidden-candidates,.empty-candidates{padding:0 0 12px}.privacy-icon,.practice-notice{display:none}.arena-waiting .board-column{display:block}.candidate-list,.team-rosters,.move-history{max-height:180px}.vote-reveal-chart{z-index:10;left:auto;right:max(18px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));border:1px solid var(--accent);background:var(--surface);width:min(340px,44vw);margin:0;padding:12px;position:fixed;box-shadow:0 8px 40px #24282445}.vote-reveal-chart .candidate-list{max-height:min(200px,56dvh)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}.edition-line{justify-content:space-between}.edition-line>span:last-child{color:var(--muted);font-size:9px}.nickname-field>span{white-space:nowrap}.turn-feedback{align-items:center;gap:12px;min-height:30px;margin-top:7px;display:flex}.live-turn .turn-feedback .turn-detail{margin:0}.turn-feedback .locked-receipt{flex-shrink:0;margin:0}.turn-feedback .locked-receipt small{display:inline}.vote-accepted .turn-feedback .turn-detail{display:none}.lobby-ready{border-block:1px solid var(--line);gap:20px;margin-top:20px;padding:14px 0;display:flex}.lobby-ready>span{flex:1;align-items:center;gap:7px;font-size:12px;display:flex}.lobby-ready strong{font:600 24px var(--display);margin-left:auto}.lobby-ready i{background:#aaa;border-radius:50%;width:6px;height:6px}.lobby-ready i.ready{background:#47745b}.host-label{font:8px var(--mono);border:1px solid var(--line);color:var(--muted);padding:3px 4px}.hidden-candidates>svg{color:var(--muted);margin-bottom:12px}.empty-mark{font:32px var(--display);color:#88917e}.move-history>span{font:12px var(--mono);align-items:center;gap:10px;padding:10px;display:flex}.move-history>span small{font:inherit;color:var(--muted)}.mobile-tabs:has(button:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.fine-print p+p{margin-top:10px}@media (width<=700px){.vote-accepted .turn-copy{display:block}.turn-feedback{gap:9px;min-height:29px;margin-top:4px}.live-turn .turn-feedback .turn-detail{font-size:10px;line-height:1.35}.turn-feedback .locked-receipt small{font-size:8px;display:inline}.vote-accepted .turn-feedback .turn-detail{display:none}.hidden-candidates>svg{float:left;margin:4px 14px 20px 0}.practice-notice{font:9px/1.5 var(--mono);display:block}.practice-notice span{margin-left:8px;font:10px/1.5 Helvetica Neue,Arial,sans-serif}}@media (width<=370px) and (height<=650px){.site-header{min-height:56px}.arena-playing{padding-top:6px}.arena-playing .arena-heading{margin-bottom:6px}.arena-playing .arena-heading h1{display:none}.arena-playing .practice-notice{margin-bottom:8px}.arena-playing .practice-notice span{display:none}.arena-playing .team-bar{height:30px}.arena-playing .turn-card.live-turn{padding-top:8px}}.live-turn .turn-summary{min-height:72px}.live-turn .turn-feedback{height:38px;margin-top:6px}.live-turn .timer-track{margin-top:8px}.vote-summary{min-height:52px;color:var(--muted);padding-bottom:10px;font-size:11px;line-height:1.6}.vote-summary span{display:block}.vote-summary strong{color:var(--ink)}.vote-panel-content{min-height:350px}.vote-panel-content.vote-reveal-chart{margin-top:0}.candidate-list,.vote-reveal-chart .candidate-list{max-height:216px}.candidate-row{min-height:60px;padding:7px 8px}.candidate-row strong{font-size:22px}.candidate-count{min-width:48px;font-size:11px}.candidate-chart[data-team=white],.candidate-chart[data-team=black]{--chosen-track:#b4bdb7}.candidate-row.is-chosen{color:var(--ink);background:#e4e8e2;border-color:#7a847d}.candidate-row.is-chosen .candidate-meter>span{box-shadow:inset 0 0 0 1px #79867d}.candidate-meter{height:15px}.your-vote-label{color:var(--muted);font:9px var(--mono)}.candidate-more{text-align:left;width:100%;min-height:44px;color:var(--muted);font-size:11px;text-decoration:underline;display:block}.candidate-note{margin-top:4px}@media (width<=700px){.live-turn .turn-summary{min-height:44px}.live-turn .turn-feedback{height:29px;margin-top:4px}.detail-panel:has(.vote-reveal-chart){display:block}.vote-reveal-chart .section-heading{padding:0 0 8px}.vote-reveal-chart .vote-summary{min-height:42px;padding-bottom:5px}.vote-reveal-chart{min-height:0}.vote-reveal-chart .candidate-list{max-height:min(192px,33dvh)}.vote-reveal-chart .candidate-row{min-height:54px}}@media (height<=520px) and (width>=600px) and (orientation:landscape){.live-turn .turn-summary{min-height:44px}.detail-panel:has(.vote-reveal-chart){display:block}.vote-reveal-chart{min-height:0;max-height:85dvh;overflow:auto}.vote-reveal-chart .section-heading{padding:0 0 6px}.vote-reveal-chart .vote-summary{min-height:0;padding-bottom:4px}.vote-reveal-chart .candidate-list{max-height:160px}}.mobile-move-button,.candidate-more-compact,.mobile-team-strip,.mobile-invite-button{display:none}.app-shell:has(.arena-playing){width:100%;height:100dvh;min-height:100dvh;padding:env(safe-area-inset-top) max(12px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px, env(safe-area-inset-left))}.app-shell:has(.arena-playing) .site-header{border-bottom-width:1px;flex-shrink:0;height:48px;min-height:48px;padding-right:88px}.app-shell:has(.arena-playing) .site-header .brand{display:none}.app-shell:has(.arena-playing) .site-footer{display:none}.app-shell:has(.arena-playing) .connection-label{display:none}.app-shell:has(.arena-playing) .sound-toggle>span{display:none}.app-shell:has(.arena-playing) .site-header nav{gap:2px;margin-left:auto}.app-shell:has(.arena-playing) .site-header .text-button{font-size:10px}.app-shell:has(.arena-playing) .site-header .text-button>svg{display:none}.arena-playing{flex-direction:column;flex:1;max-width:none;min-height:0;padding:4px 0 8px;display:flex}.arena-playing .arena-heading{top:env(safe-area-inset-top);left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));pointer-events:none;height:48px;min-height:48px;margin:0;position:absolute}.arena-playing .arena-heading h1,.arena-playing .practice-notice{display:none}.arena-playing .arena-heading .eyebrow{letter-spacing:.1px;max-width:95px;font-size:8px;line-height:1.4}.arena-playing .arena-actions{pointer-events:auto;gap:0;margin-left:auto}.arena-playing .arena-actions .invite-button{display:none}.arena-playing .mobile-move-button{width:44px;height:44px;font:16px var(--mono);display:block}.arena-playing .arena-grid{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.arena-playing .turn-card.live-turn{flex-shrink:0;width:100%;height:52px;min-height:52px;padding:5px 9px 0}.arena-playing .turn-summary{gap:6px;height:39px;min-height:39px}.arena-playing .live-turn h2{margin-top:2px;font-size:20px;line-height:1}.arena-playing .timer small{font-size:9px}.arena-playing .turn-feedback{display:none}.arena-playing .turn-feedback .turn-detail{font-size:9px;line-height:1.2}.arena-playing .locked-receipt>span{font-size:17px}.arena-playing .timer-track{height:2px;margin:4px -9px 0}.arena-playing .board-column{width:min(100%, max(180px, calc(100dvh - 316px - env(safe-area-inset-top) - env(safe-area-inset-bottom))));flex-shrink:0;margin-inline:auto}.arena-playing .team-bar{display:none}.arena-playing .mobile-team-strip{height:24px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.mobile-team-strip>span{align-items:center;gap:5px;display:flex}.mobile-team-strip>span.active{color:var(--ink);font-weight:600}.mobile-team-strip i{border:1px solid var(--ink);background:#fff;width:9px;height:9px}.mobile-team-strip i.black{background:var(--ink)}.mobile-team-strip small{font:9px var(--mono)}.arena-playing .team-piece{width:18px;height:22px;font-size:21px}.arena-playing .team-bar>div:nth-child(2){align-items:baseline;gap:5px;display:flex}.arena-playing .team-bar>div:nth-child(2) strong{font-size:10px}.arena-playing .team-bar>div:nth-child(2)>span{font-size:8px;display:inline}.arena-playing .turn-indicator{gap:3px;font-size:7px}.arena-playing .keyboard-controls,.arena-playing .board-caption{display:none}.coordinate-modal .keyboard-controls{flex-wrap:wrap;padding-top:10px;display:flex}.coordinate-modal .keyboard-controls input{width:100px;height:44px;font-size:16px}.coordinate-modal .keyboard-controls>span{width:100%;max-width:none;display:block}.arena-playing .game-sidebar{border:0;flex-shrink:0;width:100%;height:164px;min-height:0;margin-top:0;padding:0;display:block;position:relative}.arena-playing .mobile-tabs{border-bottom:1px solid var(--ink);grid-template-columns:repeat(3,1fr);height:44px;margin:0;display:grid}.arena-playing .mobile-tabs button{min-height:44px;padding:4px;font-size:11px}.arena-playing .detail-panel{overscroll-behavior:contain;border:0;height:120px;display:none;overflow:auto}.arena-playing .detail-panel.is-active{display:block}.arena-playing #panel-votes:has(.vote-reveal-chart){z-index:2;background:var(--surface);display:block;position:absolute;top:44px;left:0;right:0}.arena-playing .section-heading{height:24px;padding:4px 2px}.arena-playing .section-heading h3{font:600 13px var(--display)}.arena-playing .section-heading>span{font-size:9px}.arena-playing .vote-panel-content,.arena-playing .vote-reveal-chart{width:100%;height:120px;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;margin:0;padding:0;position:static;overflow:visible}.arena-playing .vote-summary,.arena-playing .vote-reveal-chart .vote-summary{height:32px;min-height:32px;padding:0 2px;font-size:10px;line-height:15px}.arena-playing .candidate-chart{grid-template-columns:minmax(0,1fr);gap:4px;display:grid}.arena-playing .candidate-chart:has(.candidate-more){grid-template-columns:minmax(0,1fr) 44px}.arena-playing .candidate-list,.arena-playing .vote-reveal-chart .candidate-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:60px;max-height:none;padding:2px;display:grid;overflow:hidden}.arena-playing .candidate-row,.arena-playing .vote-reveal-chart .candidate-row{border:1px solid var(--line);background:#e9ece5;height:56px;min-height:44px;padding:5px 6px;position:relative}.arena-playing .candidate-label{min-height:22px;display:block}.arena-playing .candidate-row strong{font:600 22px/1 var(--display)}.arena-playing .candidate-label>svg,.arena-playing .chosen-label,.arena-playing .your-vote-label,.arena-playing .candidate-meter,.arena-playing .candidate-note{display:none}.arena-playing .candidate-bar-row{margin-top:4px;display:block}.arena-playing .candidate-count{font:11px/1 var(--mono);text-align:left;min-width:0;display:block}.arena-playing .candidate-row.is-chosen{background:var(--chosen-color);color:var(--chosen-text);border-color:#68716b}.arena-playing .candidate-row.is-chosen:after{content:"✓";font-size:10px;position:absolute;top:5px;right:5px}.arena-playing .candidate-more{text-align:center;border:1px solid var(--line);height:56px;min-height:44px;margin:2px 0;text-decoration:none}.arena-playing .candidate-more-full{display:none}.arena-playing .candidate-more-compact{font:12px var(--mono);display:inline}.arena-playing .candidate-chart[data-expanded=true] .candidate-list{overscroll-behavior:contain;display:flex;overflow-x:auto}.arena-playing .candidate-chart[data-expanded=true] .candidate-list>li{flex:0 0 80px}.arena-playing .hidden-candidates,.arena-playing .empty-candidates{padding:6px 2px}.arena-playing .hidden-candidates>svg{display:none}.arena-playing .hidden-candidates strong{font-size:12px}.arena-playing .hidden-candidates p,.arena-playing .empty-candidates p{margin-top:2px;font-size:10px}.arena-playing .team-rosters,.arena-playing .move-history{max-height:none;overflow:visible}.arena-playing .mobile-invite-button{align-items:center;gap:6px;min-height:44px;font-size:11px;display:flex}.arena-playing .roster-member{padding-top:6px;font-size:11px}.arena-playing:has(.recovery-notice,.error-message) .board-column{width:min(100%,max(160px,100dvh - 376px))}.arena-playing .mobile-tabs button{color:var(--muted);position:relative}.arena-playing .mobile-tabs button[aria-selected=true]{color:var(--ink);border-bottom:0;font-weight:600}.arena-playing .mobile-tabs button[aria-selected=true]:after{content:"";background:var(--accent);height:3px;position:absolute;bottom:-1px;left:0;right:0}.arena-playing .chessboard-frame{aspect-ratio:1}@media (width>=701px),(width>=480px) and (height<=520px) and (orientation:landscape){.arena-playing .arena-grid{--board-space:calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom));grid-template-columns:minmax(0, min(var(--board-space), calc(100% - 336px))) 320px;grid-template-rows:52px minmax(0,1fr);grid-template-areas:"board turn""board sidebar";justify-content:center;gap:12px 16px;display:grid}:is(.arena-playing .board-column,.arena-playing:has(.recovery-notice,.error-message) .board-column){grid-row:1/3;width:100%}.arena-playing .game-sidebar{align-self:start;height:auto;margin-top:0}.arena-playing .detail-panel{height:min(420px,100dvh - 168px)}.arena-playing #panel-votes{height:120px}.arena-playing:has(.recovery-notice,.error-message) .arena-grid{--board-space:calc(100dvh - 144px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}@media (width>=1001px){.arena-playing #panel-votes,.arena-playing .vote-panel-content,.arena-playing .vote-reveal-chart{height:min(404px,100dvh - 168px)}.arena-playing .candidate-chart:has(.candidate-more){grid-template-columns:minmax(0,1fr)}.arena-playing .candidate-list,.arena-playing .vote-reveal-chart .candidate-list,.arena-playing .candidate-chart[data-expanded=true] .candidate-list,.arena-playing .locked-counter-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:56px;align-content:start;height:300px;display:grid;overflow:hidden auto}.arena-playing .candidate-more{height:44px;margin:0}.arena-playing .candidate-more-full{display:inline}.arena-playing .candidate-more-compact{display:none}.app-shell:has(.arena-playing) .site-header .text-button{font-size:12px}.arena-playing .arena-heading .eyebrow{max-width:none;font-size:11px}.arena-playing .mobile-team-strip{font-size:12px}}@media (height<=520px) and (width>=480px) and (width<=1000px) and (orientation:landscape){.arena-playing .arena-grid{grid-template-columns:minmax(0, var(--board-space)) minmax(0, 1fr);grid-template-rows:72px minmax(164px,1fr);gap:8px 16px}.arena-playing .game-sidebar{align-self:end;height:164px}.arena-playing .detail-panel{height:120px}}@media (width<=700px){.landing{gap:0;padding:18px 0}.landing-visual{display:none}.landing-copy h1{margin:14px 0;font-size:clamp(50px,15vw,76px)}.landing .edition-line>span:last-child{display:none}.landing .intro{font-size:14px}.entry-form{margin-top:20px}.practice-button{min-height:48px;margin-top:6px}.landing+.site-footer{display:none}}.locked-counter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:60px;padding:2px;display:grid}.locked-counter{border:1px solid var(--line);min-width:0;height:56px;color:var(--muted);background:#e9ece5;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.mode-picker{border:0;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 20px;padding:0;display:grid}.mode-picker legend{font:11px var(--mono);margin-bottom:8px}.mode-picker>label{border:1px solid var(--line);cursor:pointer;background:var(--surface);align-items:center;gap:9px;min-height:62px;padding:10px 12px;display:flex}.mode-picker>label.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#e7eade}.mode-picker input{accent-color:var(--ink);width:16px;height:16px;margin:0}.mode-picker strong{font-size:14px;display:block}.mode-picker small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.code-mode-note{color:var(--muted);margin:8px 0;font-size:12px}.tag-turn-context{justify-content:space-between;gap:12px;padding:7px 0 4px;font-size:11px;display:flex}.tag-turn-context>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tag-turn-context>span:last-child{text-align:right}.tag-turn-order{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0;padding:2px;list-style:none;display:grid}.tag-turn-order li{border:1px solid var(--line);background:var(--surface);min-width:0;padding:7px 6px}.tag-turn-order li.current-player{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#e4e8e2}.tag-turn-order .tag-seat{font:9px var(--mono);color:var(--muted)}.tag-turn-order strong{text-overflow:ellipsis;white-space:nowrap;margin:5px 0;font-size:12px;display:block;overflow:hidden}.tag-turn-order small{color:var(--muted);font-size:9px}.tag-order-note{color:var(--muted);padding:5px 2px;font-size:9px}.roster-seat{border:1px solid var(--line);width:19px;height:19px;font:10px var(--mono);justify-content:center;align-items:center;margin-right:6px;display:inline-flex}.active-label{color:var(--accent)}.arena-playing.tag-team .turn-card.live-turn{height:76px;min-height:76px}.arena-playing.tag-team .turn-copy{min-width:0}.arena-playing.tag-team .turn-copy h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.arena-playing.tag-team .board-column{width:min(100%, max(180px, calc(100dvh - 340px - env(safe-area-inset-top) - env(safe-area-inset-bottom))))}.arena-playing.tag-team:has(.recovery-notice,.error-message) .board-column{width:min(100%,max(160px,100dvh - 400px))}@media (width>=701px),(width>=480px) and (height<=520px) and (orientation:landscape){.arena-playing.tag-team .arena-grid{grid-template-rows:76px minmax(0,1fr)}:is(.arena-playing.tag-team .board-column,.arena-playing.tag-team:has(.recovery-notice,.error-message) .board-column){width:100%}.arena-playing.tag-team #panel-turns{height:auto}.tag-turn-order{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tag-turn-order li{padding:12px}.tag-turn-order strong{margin:8px 0;font-size:15px}.tag-turn-order small{font-size:11px}.tag-order-note{padding:12px 2px;font-size:11px;line-height:1.5}}@media (width<=700px){.mode-picker{margin-bottom:14px}.mode-picker>label{min-height:56px;padding:8px}}@media (height<=520px) and (width>=480px) and (width<=1000px) and (orientation:landscape){.arena-playing.tag-team .tag-turn-order{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.arena-playing.tag-team .tag-turn-order li{padding:5px 4px}.arena-playing.tag-team .tag-turn-order strong{margin:5px 0;font-size:11px}.arena-playing.tag-team .tag-turn-order small{font-size:9px}.arena-playing.tag-team .tag-order-note{padding:5px 2px;font-size:9px}}.bot-badge{vertical-align:middle;color:#37533c;font:8px/1 var(--mono);letter-spacing:.2px;background:#e5ebe0;border:1px solid #9aab9b;margin-left:4px;padding:2px 3px;display:inline-block}.tag-turn-order .tag-seat{justify-content:space-between;align-items:center;gap:2px;display:flex}.tag-turn-order .bot-badge{flex-shrink:0;font-size:8px}.tag-turn-context .bot-badge{margin-top:-2px}.tag-team .tag-order-note{line-height:1.45}.tag-team .mobile-team-strip{gap:5px}.tag-team .mobile-team-strip small{font-size:8px}.roster-nickname .bot-strength{font:9px/1.2 var(--mono);margin:2px 0 0 25px;display:block}.tag-team .mobile-tabs button:has(span){gap:4px}.tag-team .mobile-tabs button>span{font-size:9px}.tag-team .tag-turn-order li>small{min-height:25px;display:block}@media (width<=700px){.tag-team .tag-turn-order li>small{font-size:8px}.tag-team .tag-turn-order .order-bot-strength{font-size:8px;display:block}}@media (width<=700px) and (height>=521px){.arena-playing.tag-team .game-sidebar{height:184px}.arena-playing.tag-team .detail-panel{height:140px}.arena-playing.tag-team .board-column{width:min(100%, max(180px, calc(100dvh - 360px - env(safe-area-inset-top) - env(safe-area-inset-bottom))))}.arena-playing.tag-team:has(.recovery-notice,.error-message) .board-column{width:min(100%,max(160px,100dvh - 420px))}}.time-control-picker{margin:0 0 18px}.time-control-picker label{font:11px var(--mono);letter-spacing:.65px;margin-bottom:8px;display:block}.time-control-picker select{width:100%;min-height:46px;color:var(--ink);background:var(--surface);border:1px solid #888e82;border-radius:0;padding:10px 12px;font:14px Helvetica Neue,Arial,sans-serif}.time-control-picker select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.time-control-picker p{color:var(--muted);margin-top:7px;font-size:11px;line-height:1.45}.lobby-time-control{border:1px solid var(--line);background:var(--paper);margin-top:16px;padding:12px}.lobby-time-control strong{font-size:15px;display:block}.lobby-time-control span{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5;display:block}.clock-preset-label{font:10px var(--mono);color:var(--muted);text-align:right;flex-shrink:0}.team-clocks{grid-template-columns:1fr 1fr;gap:7px;margin-top:6px;display:grid}.team-clock{border:1px solid var(--line);background:#e9e9e1;justify-content:space-between;align-items:center;gap:7px;min-width:0;height:50px;padding:6px 8px;display:flex}.team-clock.running{background:#e3eadd;border-color:#5f735b;box-shadow:inset 0 0 0 1px #5f735b}.team-clock.urgent{color:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.team-clock-label{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;font-size:10px;display:flex}.team-clock-label i{border:1px solid var(--ink);background:var(--surface);width:8px;height:8px}.team-clock-label i.black{background:var(--ink)}.team-clock-label small{width:100%;color:var(--muted);font:7px var(--mono);margin-top:2px;display:block}.team-clock strong{font:600 26px/1 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}.arena-playing.tag-team.shared-clock-game .turn-card.live-turn{height:132px;min-height:132px}.arena-playing.tag-team.shared-clock-game .board-column{width:min(100%, max(180px, calc(100dvh - 416px - env(safe-area-inset-top) - env(safe-area-inset-bottom))))}.arena-playing.tag-team.shared-clock-game:has(.recovery-notice,.error-message) .board-column{width:min(100%,max(160px,100dvh - 476px))}@media (width>=701px),(width>=480px) and (height<=520px) and (orientation:landscape){.arena-playing.tag-team.shared-clock-game .arena-grid{grid-template-rows:132px minmax(0,1fr)}:is(.arena-playing.tag-team.shared-clock-game .board-column,.arena-playing.tag-team.shared-clock-game:has(.recovery-notice,.error-message) .board-column){width:100%}}@media (width<=700px){.time-control-picker{margin-bottom:14px}}@media (width<=479px) and (height<=600px){.arena-playing.tag-team.shared-clock-game .turn-card.live-turn{height:112px;min-height:112px}.arena-playing.tag-team.shared-clock-game .turn-summary{height:31px;min-height:31px}.arena-playing.tag-team.shared-clock-game .tag-turn-context{padding-top:4px;padding-bottom:2px}.arena-playing.tag-team.shared-clock-game .team-clocks{margin-top:4px}.arena-playing.tag-team.shared-clock-game .team-clock{height:44px}.arena-playing.tag-team.shared-clock-game .board-column{width:min(100%, max(180px, calc(100dvh - 396px - env(safe-area-inset-top) - env(safe-area-inset-bottom))))}.arena-playing.tag-team.shared-clock-game:has(.recovery-notice,.error-message) .board-column{width:min(100%,max(160px,100dvh - 456px))}}.tag-landing{gap:64px;padding-block:36px}.tag-landing .landing-copy h1{margin-block:22px;font-size:clamp(58px,6.2vw,88px)}.tag-landing .intro{font-size:21px}.tag-landing .entry-form{max-width:420px;margin-top:26px}.tag-landing .mode-picker{margin-bottom:20px}.tag-landing .mode-picker>label.selected{background:#e1e8dc;border-color:#365347;box-shadow:inset 0 0 0 1px #365347}.time-control-cards{border:0;min-width:0;margin:0 0 20px;padding:0}.time-control-cards legend{font:11px var(--mono);margin-bottom:10px}.time-control-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.time-control-options label{cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:5px;min-height:63px;padding:10px 12px;transition:background .15s,border-color .15s;position:relative}.time-control-options label:hover{border-color:#7b8d7f}.time-control-options label.selected{color:#f7f7ee;background:#263f34;border-color:#263f34}.time-control-options input{opacity:0;width:1px;height:1px;position:absolute}.time-control-options .pace-category{text-transform:capitalize;margin-bottom:4px;font-size:10px;display:block}.time-control-options strong{font:600 25px/1 var(--display)}.time-control-options svg{position:absolute;top:10px;right:8px}.time-control-cards:disabled label{opacity:.5;cursor:wait}.time-control-cards p{color:var(--muted);align-items:center;gap:5px;margin-top:9px;font-size:10px;display:flex}.shared-time-note{margin-left:auto}.tag-landing .entry-note{max-width:420px;font:11px/1.6 Helvetica Neue,sans-serif}.tag-landing .practice-button{max-width:420px}.tag-preview-flow{margin-bottom:26px}.tag-preview-label{color:#506350;font:10px var(--mono);justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.tag-preview-flow ol{grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.tag-preview-flow li{position:relative}.tag-preview-flow li:not(:last-child):after{content:"→";border-bottom:1px solid var(--line);text-align:right;color:#7c8b7b;line-height:14px;position:absolute;top:10px;left:54px;right:13px}.preview-token{width:42px;height:42px;font:12px var(--mono);background:#e7eadf;border:1px solid #9caa97;border-radius:50%;justify-content:center;align-items:center;display:flex}.preview-token.black{color:#eff2e7;background:#293c34;border-color:#293c34}.tag-preview-flow strong{margin-top:10px;font-size:12px;display:block}.tag-preview-flow small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.tag-landing .preview-bottom{margin-top:26px}.player-avatar{color:#324c3d;width:36px;height:36px;font:600 11px var(--mono);background:#e4e9dd;border:1px solid #bdc8b5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.player-avatar.black{color:#345065;background:#dbe5ea;border-color:#b7cad2}.player-avatar.avatar-2.white{color:#746139;background:#e9dfcc;border-color:#d4c19e}.player-avatar.avatar-2.black{color:#705474;background:#e7dde9;border-color:#ccbbce}.player-avatar svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:27px;height:27px}.team-dot{background:#faf9f4;border:1px solid #7b8575;border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.team-dot.black{background:#283c32;border-color:#283c32}.tag-team .bot-badge{color:#4a5f4a;font:8px/1.1 var(--mono);background:#e4e9de;border:0;border-radius:3px;padding:3px 4px}.tag-team.arena-waiting .turn-card{color:#faf9f1;background:#263f34;border-color:#263f34}.tag-team.arena-waiting .turn-card>p,.tag-team.arena-waiting .lobby-time-control span{color:#ced8cb}.tag-team.arena-waiting .turn-card h2{font-size:40px}.tag-team.arena-waiting .turn-card .primary-button{color:#24372c;background:#e2edc1;border-radius:4px}.tag-team .lobby-time-control{background:#314c3e;border:1px solid #526757;border-radius:5px}.tag-team .lobby-time-control strong{font:600 26px var(--display)}.tag-lobby-seats{gap:14px;display:grid}.seat-team{border:1px solid var(--line);border-radius:6px;overflow:hidden}.seat-team-heading{background:#e7e9df;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.seat-team-heading>span{align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.lobby-seat{background:var(--surface);align-items:center;gap:10px;padding:12px;display:flex}.lobby-seat+.lobby-seat{border-top:1px solid var(--line)}.lobby-seat>div{flex:1;min-width:0}.lobby-seat strong{overflow-wrap:anywhere;align-items:center;gap:6px;font-size:13px;display:flex}.lobby-seat>div>small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.you-label{font:9px var(--mono);color:#66705e}.seat-presence{color:#8a7356;display:flex}.tag-team .roster-note{font-size:10px;line-height:1.6}.tag-board-bar{justify-content:space-between;align-items:center;gap:8px;min-height:48px;display:flex}.tag-board-side{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.tag-board-bar>div{align-items:center;gap:14px;min-width:0;display:flex}.tag-board-bar>div>span{align-items:center;gap:6px;min-width:0;font-size:11px;display:flex}.tag-board-bar>div>span>span:not(.player-avatar){text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.tag-board-bar .player-avatar{width:27px;height:27px;font-size:9px}.tag-board-bar .player-avatar svg{width:23px;height:23px}.tag-board-bar .playing{font-weight:700}.tag-board-bar .playing .player-avatar{outline-offset:2px;outline:2px solid #698253}.tag-team.arena-playing .turn-card.live-turn{background:#faf9f4;border-color:#c9d1c0;padding:10px 12px}.tag-team .turn-summary{align-items:center}.tag-team .tag-turn-context{align-items:center;padding:4px 0;font-size:11px}.tag-turn-context .current-turn-player{align-items:center;gap:7px;min-width:0;display:flex}.tag-turn-context .current-turn-player>span:last-child{text-overflow:ellipsis;overflow:hidden}.tag-turn-context .player-avatar{width:27px;height:27px;font-size:9px}.tag-turn-context .player-avatar svg{width:23px;height:23px}.tag-turn-context .next-turn-player{align-items:center;gap:5px;font-size:11px;display:flex}.next-turn-player>small:not(.bot-badge){font:8px var(--mono);color:var(--muted)}.next-turn-player>strong{text-overflow:ellipsis;max-width:100px;overflow:hidden}.tag-team .team-clock{background:#eeefe6;border-color:#d2d5c9;border-radius:5px}.tag-team .team-clock.running.urgent{color:#fff;background:#792e22;border-color:#792e22}.tag-team .team-clock strong{font-size:32px}.tag-team .team-clock-label{font-size:11px}.tag-team .team-clock-label small{font-size:8px}.tag-team .section-heading>span{align-items:center;gap:4px;display:flex}.tag-team .tag-turn-order{gap:6px;padding:0}.tag-team .tag-turn-order li{background:var(--surface);border-radius:6px;padding:8px 6px;position:relative}.tag-team .tag-turn-order li.current-player{box-shadow:none;background:#e2e9d6;border-color:#758866}.tag-team .tag-turn-order li.next-player{border-style:dashed;border-color:#939e85}.tag-team .tag-turn-order strong{font-size:12px}.tag-team .tag-turn-order .order-status{color:#5e6657;white-space:nowrap;min-height:0;font-size:9px;display:block}.tag-team .tag-turn-order .tag-seat{font:9px var(--mono);justify-content:start}.tag-joining{margin-top:12px}.join-progress{gap:3px;display:flex}.join-progress i{background:#759263;border-radius:2px;flex:1;height:3px}.tag-team .tag-order-note{color:#626b59;margin:0;padding:7px 0 0;font-size:10px}.tag-engine-note{color:#6b7265;padding-top:12px;font-size:9px}@media (width>=701px) and (height>=521px){.app-shell:has(.tag-team.arena-playing){max-width:1440px;padding:0 32px}.tag-team.arena-playing{padding-top:20px}.tag-team.arena-playing .arena-heading{left:32px;right:32px}.tag-team.arena-playing .arena-heading .eyebrow{letter-spacing:1px;max-width:none;font-size:11px}.tag-team.arena-playing .arena-grid{--board-space:calc(100dvh - 190px);grid-template-columns:minmax(0, min(var(--board-space), calc(100% - 370px))) 340px;grid-template-rows:max-content minmax(0,1fr);gap:20px 30px}.tag-team.arena-playing.shared-clock-game .arena-grid{grid-template-rows:max-content minmax(0,1fr)}.tag-team.arena-playing .turn-card.live-turn,.tag-team.arena-playing.shared-clock-game .turn-card.live-turn{height:auto;min-height:232px;padding:20px}.tag-team.arena-playing .turn-summary{height:auto;min-height:48px;position:relative}.tag-team.arena-playing .turn-copy{width:100%}.tag-team.arena-playing .clock-preset-label{position:absolute;top:0;right:0}.tag-team.arena-playing .live-turn h2{margin-top:8px;font-size:28px}.tag-team.arena-playing .card-kicker{letter-spacing:.8px;font-size:9px}.tag-team.arena-playing .clock-preset-label{max-width:65px;font-size:9px;line-height:1.5}.tag-team.arena-playing .tag-turn-context{margin:6px 0}.tag-team.arena-playing .team-clock{grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:5px;height:76px;padding:8px 10px;display:grid}.tag-team.arena-playing .team-clock-label{flex-wrap:nowrap;width:100%;font-size:10px}.tag-team.arena-playing .team-clock-label small{width:auto;margin:0 0 0 auto;font-size:7px}.tag-team.arena-playing .team-clock strong{font-size:34px}.tag-team.arena-playing .turn-feedback{display:block}.tag-team.arena-playing .turn-feedback .turn-detail{margin-top:12px;font-size:11px}.tag-team.arena-playing .mobile-tabs{height:42px}.tag-team.arena-playing .mobile-tabs button{font-size:12px}.tag-team.arena-playing #panel-turns{height:auto;max-height:calc(100dvh - 420px);overflow:auto}.tag-team.arena-playing:has(.recovery-notice,.error-message) .arena-grid{--board-space:calc(100dvh - 280px)}.tag-team.arena-playing:has(.recovery-notice,.error-message) #panel-turns{max-height:calc(100dvh - 510px)}.tag-team.arena-playing .section-heading{height:40px}.tag-team.arena-playing .section-heading h3{font:600 20px var(--display)}.tag-team .tag-turn-order{grid-template-columns:1fr;gap:7px}.tag-team .tag-turn-order li{align-items:center;gap:10px;min-height:64px;padding:10px;display:flex}.tag-turn-order .order-player{flex:1;min-width:0}.tag-team .tag-turn-order strong{margin:4px 0 0;font-size:13px}.tag-team .tag-turn-order .order-status{font-size:10px}.tag-team .tag-order-note{line-height:1.5}.tag-team.arena-playing .board-caption{font-size:10px;display:flex}}@media (width<=700px){.tag-landing{padding-top:20px}.tag-landing .landing-copy h1{margin:18px 0 12px;font-size:clamp(44px,12vw,60px);line-height:1.02}.tag-landing .landing-copy h1 br{display:initial}.tag-landing .intro{font-size:16px}.tag-landing .entry-form{margin-top:20px}.tag-landing .mode-picker,.time-control-cards{margin-bottom:16px}.time-control-options label{min-height:58px;padding:8px 10px}.tag-team.arena-waiting .arena-grid{flex-direction:column;gap:18px;display:flex}.tag-team.arena-waiting .turn-card,.tag-team.arena-waiting .game-sidebar{width:100%}.tag-team.arena-waiting .game-sidebar{order:1}.tag-team.arena-waiting .board-column{order:2;width:100%}.tag-team.arena-waiting .turn-card h2{font-size:34px}.tag-team.arena-waiting .arena-heading h1{font-size:30px}.tag-team.arena-playing .turn-card.live-turn,.tag-team.arena-playing.shared-clock-game .turn-card.live-turn{height:132px;min-height:132px;padding:8px 10px}.tag-team.arena-playing .turn-summary{height:32px;min-height:32px}.tag-team.arena-playing .tag-turn-context{height:27px;margin:0}.tag-team.arena-playing .team-clocks{margin-top:5px}.tag-team.arena-playing .team-clock{height:45px}.tag-team .team-clock-label{white-space:nowrap;font-size:9px;display:block}.tag-team .team-clock-label i{width:7px;height:7px;margin-right:4px;display:inline-block}.tag-team .team-clock strong{font-size:28px}.tag-team.arena-playing .board-column,.tag-team.arena-playing.shared-clock-game .board-column{width:min(100%,max(160px,100dvh - 430px))}.tag-team.arena-playing .tag-board-bar{height:24px;min-height:24px}.tag-team.arena-playing .tag-board-bar .player-avatar{display:none}.tag-team.arena-playing .tag-board-bar>div{gap:10px}.tag-team.arena-playing .tag-board-bar>div>span{gap:2px;font-size:10px}.tag-team.arena-playing .tag-board-bar>div>span>span:not(.player-avatar){max-width:70px}.tag-team.arena-playing .tag-board-side{font-size:9px}.tag-team.arena-playing .tag-board-bar .bot-badge{padding:2px;font-size:7px}.tag-team.arena-playing .game-sidebar{height:184px}.tag-team.arena-playing .detail-panel{height:140px}.tag-team.arena-playing #panel-turns .section-heading{display:none}.tag-team .tag-turn-order{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-top:7px}.tag-team .tag-turn-order li{padding:6px 5px}.tag-team .tag-turn-order .order-number{display:none}.tag-team .tag-turn-order .player-avatar{width:26px;height:26px;margin-bottom:5px}.tag-team .tag-turn-order .player-avatar svg{width:23px;height:23px}.tag-team .tag-turn-order .tag-seat{white-space:nowrap;gap:0;font-size:8px}.tag-team .tag-turn-order .bot-badge{margin-left:3px;padding:2px;font-size:7px}.tag-team .tag-turn-order strong{margin:4px 0;font-size:10px}.tag-team .tag-turn-order .order-status{font-size:8px}.tag-team .tag-joining{margin-top:7px}.tag-team .tag-order-note{padding-top:5px;font-size:9px;line-height:1.3}.tag-team .tag-engine-note{display:none}}@media (width<=479px) and (height<=650px){.tag-team.arena-playing .turn-card.live-turn,.tag-team.arena-playing.shared-clock-game .turn-card.live-turn{height:116px;min-height:116px;padding-block:5px}.tag-team.arena-playing .turn-summary{height:28px;min-height:28px}.tag-team.arena-playing .tag-turn-context{height:24px;padding:2px 0}.tag-team.arena-playing .tag-turn-context .player-avatar{display:none}.tag-team.arena-playing .team-clock{height:42px}.tag-team.arena-playing .game-sidebar{height:151px}.tag-team.arena-playing .detail-panel{height:107px}.tag-team .tag-turn-order .player-avatar{display:none}.tag-team.arena-playing .board-column,.tag-team.arena-playing.shared-clock-game .board-column{width:min(100%,max(150px,100dvh - 382px))}.tag-team.arena-playing .tag-board-bar{height:20px;min-height:20px}}@media (height<=520px) and (width>=480px) and (orientation:landscape){.tag-team.arena-playing .arena-grid,.tag-team.arena-playing.shared-clock-game .arena-grid{--board-space:calc(100dvh - 110px);grid-template-columns:minmax(0, var(--board-space)) minmax(0, 1fr);grid-template-rows:132px minmax(0,1fr);gap:4px 16px}.tag-team.arena-playing .tag-board-bar{height:24px;min-height:24px}.tag-team.arena-playing .tag-board-bar .player-avatar,.tag-team .tag-turn-order .player-avatar,.tag-team .tag-turn-order .order-number,.tag-team .tag-engine-note,.tag-team #panel-turns .section-heading{display:none}.tag-team.arena-playing .tag-board-bar>div{gap:8px}.tag-team.arena-playing .tag-board-bar>div>span{font-size:9px}.tag-team.arena-playing .tag-board-bar>div>span>span:not(.player-avatar){max-width:70px}.tag-team.arena-playing .game-sidebar{align-self:start;height:auto}.tag-team .tag-turn-order{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:6px}.tag-team .tag-turn-order strong{margin:5px 0;font-size:11px}.tag-team .tag-joining{margin-top:6px}.tag-team .tag-order-note{padding-top:5px;font-size:9px}}:root{color:#243b35;--paper:#faf8f0;--surface:#fffef9;--ink:#243b35;--muted:#576b61;--line:#d6dfd2;--accent:#21664b;--orange:#b24c2f;--soft-orange:#fff0e7;--slate:#80b395;--mint:#d8ebdc;--yellow:#f8cb58;--display:"Nunito", "Arial Rounded MT Bold", sans-serif;--shadow:0 6px 24px #243b3509;background:#faf8f0;font-family:Nunito,Arial Rounded MT Bold,sans-serif}body{background-image:radial-gradient(#466e4d0b .8px,#0000 .8px);background-size:16px 16px}button,input,select{font-family:inherit}button,a,input,summary{transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}main:focus{outline:none}button:disabled{opacity:.5}::selection{background:var(--yellow)}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:10px;padding:12px 18px;position:fixed;top:8px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--line);min-height:80px}.brand{letter-spacing:-.9px;gap:10px;font-size:24px;font-weight:900}.brand-mascot{background:var(--mint);border:1.5px solid var(--ink);border-radius:13px;place-items:center;width:42px;height:42px;display:grid;transform:rotate(-5deg)}.brand-dot{color:var(--accent)}.site-header nav{gap:18px}.site-header .text-button{font-weight:800}.sound-toggle{border-radius:10px;font-weight:700}.sound-toggle:hover{background:var(--mint);color:var(--ink)}.connection-label{font:700 12px var(--display)}.landing{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:clamp(40px,6vw,88px);padding:40px 0}.landing-copy{min-width:0}.edition-line{color:var(--accent);font:800 12px/1.3 var(--display);text-transform:none;letter-spacing:.1px;justify-content:flex-start;gap:7px;display:inline-flex}.landing .edition-line>span:last-child{color:inherit;font-size:inherit;display:inline}.landing-copy h1{font:900 clamp(48px, 5vw, 70px)/1.04 var(--display);letter-spacing:-3px;margin:18px 0 16px}.landing-copy h1 span{color:var(--accent)}.intro{letter-spacing:-.2px;color:var(--muted);font-size:17px;font-weight:600;line-height:1.55}.entry-form{max-width:440px;margin-top:26px}.entry-form>label,.join-code label,.mode-picker legend{font:800 13px var(--display);letter-spacing:0;margin-bottom:9px}.mode-picker{gap:10px;margin-bottom:20px}.mode-picker>label{border:1px solid #9aada0;border-radius:12px;gap:9px;min-height:70px;padding:12px}.mode-picker>label>svg{color:var(--muted);margin-left:auto}.mode-picker>label.selected{background:var(--mint);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mode-picker>label:hover{background:#edf3e9}.mode-picker>label.selected:hover{background:var(--mint)}.mode-picker>label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.mode-picker input{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px;margin:0}.mode-picker input:focus-visible{outline:none}.mode-picker strong{font-size:14px;font-weight:900}.mode-picker small{color:var(--muted);margin-top:3px;font-size:12px}.mode-picker:disabled>label{cursor:not-allowed;opacity:.6}.nickname-field{background:var(--surface);border:1px solid #8b9f92;border-radius:11px;height:52px}.nickname-field input{font-weight:600}.nickname-field>span{font:800 10px var(--display);color:var(--muted)}.nickname-field:focus-within{outline:3px solid var(--accent);outline-offset:3px}.nickname-field input:focus-visible{outline:none}.join-code input,.keyboard-controls input,.share-input{background:var(--surface);border:1px solid #8b9f92;border-radius:10px}.primary-button{color:var(--ink);background:var(--yellow);border:1px solid #b38b29;border-radius:11px;font-weight:900;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:0 3px #b38b29}.primary-button:hover:not(:disabled){background:#ffda74;border-color:#b38b29;transform:translateY(-1px);box-shadow:0 4px #b38b29}.primary-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #b38b29}.play-button{height:54px;margin-top:12px;padding-inline:18px;font-size:17px}.play-button>svg{width:26px;height:26px;color:var(--surface);background:var(--ink);border-radius:50%;padding:4px}.entry-alternatives{gap:12px;padding-top:7px}.entry-alternatives button{border-radius:8px;font-size:13px;font-weight:800}.entry-alternatives button:hover{text-underline-offset:4px;text-decoration:underline}.practice-button{border:1px solid var(--line);background:#f0f2e8;border-radius:12px;gap:12px;width:100%;max-width:440px;min-height:66px;margin-top:12px;padding:11px 14px}.practice-button strong{font-size:14px;font-weight:800}.practice-button small{margin:2px 0 0;font-size:12px;display:block}.practice-mascot{flex-shrink:0;place-items:center;display:grid}.practice-button:hover:not(:disabled){background:var(--mint);color:var(--ink);border-color:#8da793}.entry-note{font:600 12px/1.5 var(--display);max-width:440px;margin-top:12px}.landing-visual{background:#dfecdd;border:1px solid #98ae9c;border-radius:22px;width:min(100%,520px);margin:22px auto 12px;padding:18px;position:relative;transform:rotate(-1deg);box-shadow:0 16px 40px #243b3512,0 3px #a5baa5}.club-sticker{background:var(--yellow);z-index:1;border:1px solid #b38b29;border-radius:12px;align-items:center;gap:7px;padding:10px 14px;font-size:12px;font-weight:800;display:flex;position:absolute;top:-22px;right:16px;transform:rotate(4deg);box-shadow:0 2px #b38b29}.preview-topline{font:700 11px var(--display);letter-spacing:0;border:0;gap:8px;padding:12px 0 14px}.preview-topline i{background:var(--accent);border-radius:50%;width:6px;height:6px}.preview-topline>span:last-child{white-space:nowrap;font-size:10px}.landing-board-wrap{border:0;border-radius:10px}.chessboard-frame{border-radius:10px;box-shadow:0 0 0 1px #456b54,0 3px #456b5426}.chessboard-frame:focus-visible{outline-offset:4px}.preview-bottom{border:0;gap:10px;padding:16px 0 0}.preview-friends{align-items:center;display:flex}.preview-friends>svg+svg{margin-left:-12px}.preview-bottom p{color:var(--muted);font-size:12px}.preview-bottom p strong{font-weight:900}.preview-badge{background:var(--surface);white-space:nowrap;border:1px solid #a5baa5;border-radius:20px;align-items:center;gap:5px;margin-left:auto;padding:6px 9px;font-size:11px;font-weight:800;display:flex}.site-footer{font:600 12px var(--display);border-top:1px solid var(--line)}.secondary-button{background:var(--surface);box-shadow:none;border:1px solid #93a599;border-radius:10px;font-weight:800}.secondary-button:hover:not(:disabled){background:#edf3e9}.icon-button,.mobile-move-button{border-radius:10px}.icon-button:hover:not(:disabled),.mobile-move-button:hover:not(:disabled){background:var(--mint)}.arena-heading h1{font-size:32px;font-weight:900}.eyebrow,.card-kicker{font-family:var(--display);font-weight:800}.turn-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px}.turn-card h2{font-size:28px;font-weight:900;line-height:1.15}.turn-card>p{font-size:13px}.timer{font-weight:900}.timer.urgent,.team-clock.urgent{color:#a13c24}.timer-track{background:#dce7d3;border-radius:0 0 12px 12px}.timer-track>div{background:var(--accent)}.timer-track>div.urgent{background:#b74428}.turn-card.vote-accepted{background:#eaf3e5}.turn-card.live-turn{border:1px solid #a9bbaa}.turn-card.your-turn{border-color:var(--accent)}.section-heading h3{font-size:20px;font-weight:900}.privacy-icon,.roster-avatar,.team-bar-avatars span{background:#edf3e9;border-color:#b4c8b3;border-radius:50%}.roster-team-name>i,.mobile-team-strip i{border-radius:50%}.team-piece>svg{width:100%;height:100%}.host-label,.bot-badge,.move-pill{border-radius:5px}.candidate-row,.locked-counter,.candidate-more{border-radius:9px}.candidate-row strong{font-weight:900}.candidate-row:hover{background:#edf3e9}.candidate-meter{border-radius:5px;overflow:hidden}.candidate-meter>span{background:var(--slate)}.move-history button{border-radius:8px}.move-history button.current{background:var(--mint);font-weight:700}.error-message{border:1px solid #dcaf98;border-left:3px solid #a13c24;border-radius:10px}.recovery-notice{background:#fff0c6;border-radius:10px}.board-component{position:relative}.board-input-feedback{z-index:3;background:var(--soft-orange);color:#822b18;box-shadow:var(--shadow);pointer-events:none;border:1px solid #dcaf98;border-radius:9px;padding:10px 12px;font-size:13px;position:absolute;bottom:10px;left:10px;right:10px}.modal{border:1px solid #a4b7a5;border-radius:20px;padding:28px;box-shadow:0 24px 80px #162e3440}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#172f28a6}.modal-top{gap:16px}.modal-top h2{letter-spacing:-.7px;font-size:27px;font-weight:900;line-height:1.2}.rules-content{font-size:14px}.rules-content strong{font-weight:900}.modal-description{line-height:1.65}.promotion-options button{border:1px solid #9aae9d;border-radius:12px;font-weight:800;box-shadow:0 2px #ccd9c7}.promotion-options button:hover{background:var(--mint)}.share-label{margin:20px 0 8px;font-size:13px;font-weight:800;display:block}.share-input{width:100%;min-height:48px;padding:10px 12px;font-size:16px}.share-code{color:var(--muted);margin-top:18px;font-size:14px}.share-code strong{font:700 18px var(--mono);color:var(--ink);letter-spacing:2px;margin-left:10px;display:inline-block}.result-stats strong{font-weight:900}.result-stats span{font-size:12px}.audit-details summary{font-weight:800}.arena-waiting .roster-card,.arena-finished .detail-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 16px 16px}.arena-finished .mobile-tabs{background:#eef2e7;border-radius:12px;grid-template-columns:repeat(2,1fr);display:grid}.arena-finished .mobile-tabs button{border-radius:10px;min-height:44px;font-weight:800}.arena-finished .mobile-tabs button[aria-selected=true]{background:var(--mint)}.arena-finished .detail-panel{display:none}.arena-finished .detail-panel.is-active{display:block}.app-shell:has(.arena-playing){background:var(--paper)}.arena-playing .live-turn h2{letter-spacing:-.4px;font-size:18px;font-weight:900}.arena-playing .timer{font-size:34px}.arena-playing .turn-card.live-turn{box-shadow:none;border-radius:12px}.arena-playing .section-heading h3{font-size:13px;font-weight:900}.arena-playing .mobile-tabs{border-color:var(--line);background:#eaf0e4;border-radius:11px 11px 0 0}.arena-playing .mobile-tabs button{font-size:12px;font-weight:800}.arena-playing .mobile-tabs button[aria-selected=true]{background:var(--surface);border-radius:10px 10px 0 0}.arena-playing .mobile-tabs button[aria-selected=true]:after{border-radius:4px;height:3px;left:12px;right:12px}.arena-playing .candidate-row{background:#edf3e9;border-color:#c1d2bd}.arena-playing .candidate-row:hover{background:var(--mint);border-color:#8aaa8e}.arena-playing .candidate-row strong{font-size:21px;font-weight:900}.arena-playing .candidate-row.is-chosen{background:var(--chosen-color);color:var(--chosen-text);border:2px solid var(--ink);box-shadow:inset 0 -3px 0 var(--yellow)}.arena-playing .locked-counter{color:#6c8171;background:#f2f4ec;border:1px dashed #bdceba}.arena-playing .detail-panel{background:var(--surface);border-radius:0 0 12px 12px}.arena-playing .game-sidebar .section-heading,.arena-playing .vote-summary{padding-inline:6px}.arena-playing .card-kicker{font-size:9px}.arena-playing .detail-panel:focus-visible{outline-offset:-3px}@media (width>=701px) and (height>=521px){.arena-playing:not(.tag-team) .arena-grid{grid-template-rows:132px minmax(0,1fr)}.arena-playing:not(.tag-team) .turn-card.live-turn{height:132px;padding:14px 15px 0}.arena-playing:not(.tag-team) .turn-summary{align-items:flex-start;height:55px;min-height:55px}.arena-playing:not(.tag-team) .live-turn h2{margin-top:5px;font-size:20px;line-height:1.12}.arena-playing:not(.tag-team) .timer{margin-top:12px;font-size:34px}.arena-playing:not(.tag-team) .turn-feedback{height:40px;margin-top:4px;display:flex}.arena-playing:not(.tag-team) .turn-feedback .turn-detail{font-size:12px;line-height:1.4}.arena-playing:not(.tag-team) .locked-receipt{flex-wrap:wrap;gap:6px}.arena-playing:not(.tag-team) .locked-receipt small{font-size:10px}.arena-playing:not(.tag-team) .timer-track{height:3px;margin:3px -15px 0}.arena-playing:not(.tag-team) .detail-panel{max-height:calc(100dvh - 246px)}.arena-playing:not(.tag-team) .section-heading{height:34px;padding-block:8px}.arena-playing:not(.tag-team) .section-heading h3{font-size:15px}.arena-playing:not(.tag-team) .section-heading>span{font-size:11px}.arena-playing:not(.tag-team) .vote-summary{height:44px;min-height:44px;font-size:12px;line-height:18px}.arena-playing:not(.tag-team) #panel-votes,.arena-playing:not(.tag-team) .vote-panel-content,.arena-playing:not(.tag-team) .vote-reveal-chart{height:144px}.arena-playing .roster-member{padding:10px 6px;font-size:12px}.arena-playing .move-history{padding:8px}}@media (width>=1001px) and (height>=521px){.arena-playing:not(.tag-team) #panel-votes,.arena-playing:not(.tag-team) .vote-panel-content,.arena-playing:not(.tag-team) .vote-reveal-chart{height:min(444px,100dvh - 246px)}.arena-playing:not(.tag-team) .candidate-list,.arena-playing:not(.tag-team) .locked-counter-grid{gap:6px;height:312px;padding-inline:6px}.arena-playing:not(.tag-team) .candidate-chart{gap:6px}}@media (width<=1100px) and (width>=701px){.landing{gap:30px}.landing-copy h1{letter-spacing:-2.5px;font-size:clamp(42px,5.5vw,62px)}.landing-visual{padding:12px}.preview-topline>span:first-child{font-size:10px}.preview-topline>span:last-child,.preview-badge{display:none}.mode-picker>label{padding-inline:9px}.mode-picker>label>svg{display:none}}@media (width<=700px){.site-header{gap:8px;min-height:68px}.brand{letter-spacing:-.8px;gap:8px;font-size:20px}.brand-mascot{border-radius:10px;width:34px;height:34px}.brand-mascot>svg{width:32px;height:32px}.site-header nav{gap:4px}.site-header .text-button{font-size:12px}.landing{gap:0;padding:26px 0}.edition-line{font-size:11px}.landing-copy h1{letter-spacing:-2px;margin:16px 0 12px;font-size:clamp(42px,12.5vw,68px)}.landing .intro{font-size:15px}.entry-form{max-width:none;margin-top:24px}.mode-picker{margin-bottom:18px}.mode-picker>label{min-height:64px;padding:10px}.mode-picker strong{font-size:13px}.mode-picker small{font-size:11px}.entry-alternatives button{font-size:12px}.practice-button{max-width:none;min-height:64px;margin-top:10px}.entry-note{text-align:center;max-width:none;font-size:11px}.landing-visual{display:none}.arena-heading h1{font-size:26px}.modal{border-radius:16px;padding:20px}.modal-top h2{font-size:24px}.preview-explanation{gap:7px;font-size:12px}.promotion-options{gap:7px}.arena-playing:not(.tag-team) .turn-card.live-turn{height:80px;min-height:80px;padding:6px 10px 0}.arena-playing:not(.tag-team) .turn-feedback{height:28px;margin-top:0;display:flex}.arena-playing:not(.tag-team) .turn-feedback .turn-detail{font-size:11px;line-height:1.25}.arena-playing:not(.tag-team) .timer-track{margin:3px -10px 0}.arena-playing:not(.tag-team) .board-column{width:min(100%, max(160px, calc(100dvh - 344px - env(safe-area-inset-top) - env(safe-area-inset-bottom))))}.arena-playing:not(.tag-team):has(.recovery-notice,.error-message) .board-column{width:min(100%,max(140px,100dvh - 430px))}.arena-playing .vote-summary,.arena-playing .vote-reveal-chart .vote-summary,.arena-playing .mobile-team-strip{font-size:11px}.arena-playing .locked-receipt small{font-size:9px}.arena-waiting:not(.tag-team) .arena-grid{flex-direction:column;gap:20px;display:flex}.arena-waiting .turn-card,.arena-waiting .game-sidebar{width:100%}.arena-waiting:not(.tag-team) .board-column{order:2}}@media (width<=360px){.app-shell:not(:has(.arena-playing)){padding-inline:12px}.brand{gap:6px;font-size:18px}.site-header nav{gap:0}.site-header .text-button{font-size:11px}.mode-picker>label>svg,.nickname-field>span{display:none}.arena-playing .live-turn h2{font-size:16px}.arena-playing:not(.tag-team) .turn-feedback .turn-detail{font-size:10px}.promotion-options button{font-size:11px}.entry-alternatives button{gap:5px;font-size:11px}}@media (height<=520px) and (width>=480px) and (orientation:landscape){.arena-playing:not(.tag-team) .arena-grid{grid-template-rows:80px minmax(164px,1fr)}.arena-playing:not(.tag-team) .turn-card.live-turn{height:80px;min-height:80px}.arena-playing:not(.tag-team) .turn-feedback{height:28px;margin-top:0;display:flex}.arena-playing:not(.tag-team) .turn-feedback .turn-detail{font-size:10px;line-height:1.2}.arena-playing:not(.tag-team) .board-column{width:100%}}@media (prefers-reduced-motion:no-preference){.modal[open]{animation:.16s ease-out dialog-enter}@keyframes dialog-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}@media (forced-colors:active){.primary-button,.secondary-button,.candidate-row,.turn-card,.mobile-tabs button[aria-selected=true]{border:2px solid buttontext}.timer-track>div{background:highlight}}.tag-landing .mode-picker>label{border-radius:14px}.tag-landing .mode-picker>label.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#e4f1e6}.tag-landing .entry-note{font-family:var(--display)}.time-control-cards legend{font:800 12px var(--display)}.time-control-options{gap:8px}.time-control-options label{border-color:var(--line);background:var(--surface);box-shadow:none;border-radius:12px;padding:11px 12px;transition:background .15s,border-color .15s,box-shadow .15s}.time-control-options .pace-category{color:var(--muted);margin-bottom:6px;padding-right:12px;font-size:11px;font-weight:700}.time-control-options strong{letter-spacing:-.6px;white-space:nowrap;font-weight:900}.time-control-options label>svg{color:var(--accent);top:11px;right:9px}.time-control-options label.selected{border-color:var(--accent);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent);background:#e4f1e6}.time-control-options label.selected .pace-category{color:var(--accent)}.time-control-options label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.time-control-cards:not(:disabled) .time-control-options label:hover{border-color:var(--accent);background:#eff5e9}.time-control-cards:not(:disabled) .time-control-options label.selected:hover{background:#d9eddd}.time-control-cards p{flex-wrap:wrap;gap:5px;font-size:11px;line-height:1.5}.time-control-cards p>svg{flex-shrink:0}.time-control-cards .shared-time-note{color:var(--accent);font-weight:800}.player-avatar{color:var(--ink);font-family:var(--display);box-shadow:none;background:#f9dea0;border-color:#bbbe9c;font-weight:900}.player-avatar.white.avatar-2{background:var(--mint);color:var(--ink);border-color:#a7c6b0}.player-avatar.black{border-color:var(--ink);background:var(--ink);color:var(--surface)}.player-avatar.black.avatar-2{color:var(--surface);background:#77688d;border-color:#77688d}.player-avatar.is-bot.white{background:var(--soft-orange);color:var(--ink)}.player-avatar.is-bot.black{color:var(--ink);background:#e7e0f0;border-color:#b8abc8}.team-dot{border-color:var(--ink);background:var(--surface)}.team-dot.black{border-color:var(--ink);background:var(--ink)}.tag-team .bot-badge{color:#3f594b;font-family:var(--display);background:#e8eddf;border-radius:4px;font-size:9px;font-weight:900}.tag-preview-label{color:var(--muted);font:800 11px var(--display);letter-spacing:.5px}.tag-preview-flow li:not(:last-child):after{color:var(--accent);border-color:#97b8a0;font-weight:800}.preview-token{background:var(--yellow);color:var(--ink);font-family:var(--display);border-color:#b2aa75;border-radius:14px;font-weight:900;box-shadow:0 2px #243b3514}.preview-token.black{border-color:var(--ink);color:var(--surface);background:var(--ink);box-shadow:0 2px #243b3514}.tag-preview-flow li:nth-child(3) .preview-token{background:var(--surface);border-color:#a8b5a7}.tag-preview-flow strong{font-size:13px;font-weight:900}.tag-preview-flow small{color:#40594e;font-size:10px;line-height:1.4}.tag-landing .landing-board-wrap{box-shadow:0 5px 16px #243b3514}.seat-team{border-color:var(--line);background:var(--surface);border-radius:14px}.seat-team-heading{background:#eaf0e4;padding:12px}.seat-team.black .seat-team-heading{background:#eeebf3}.seat-team-heading>span{font-size:13px;font-weight:900}.seat-team-heading>small{font:800 10px var(--display);color:var(--muted)}.lobby-seat{padding-block:14px}.lobby-seat strong{font-size:14px;font-weight:800}.lobby-seat>div>small{font-size:12px;line-height:1.4}.lobby-seat .you-label{color:var(--accent);font:800 10px var(--display)}.lobby-seat.open-seat{background:#f8f8f0}.lobby-seat.open-seat strong,.seat-presence{color:var(--muted)}.seat-presence.ready{color:var(--accent)}.tag-team .roster-note{font-size:12px}.tag-team .turn-card{border-radius:16px}.tag-team.arena-waiting .turn-card{background:var(--ink);border-color:var(--ink);color:var(--surface)}.tag-team.arena-waiting .turn-card .card-kicker{color:var(--mint)}.tag-team.arena-waiting .turn-card>p{color:#d6e7cc}.tag-team.arena-waiting .turn-card .primary-button{background:var(--yellow);color:var(--ink);border-radius:12px;box-shadow:0 2px #132a24}.tag-team.arena-waiting .turn-card .inline-invite{color:var(--surface)}.tag-team.arena-waiting .turn-card :focus-visible{outline-color:var(--mint)}.tag-team .lobby-time-control{color:var(--ink);background:#f3e8be;border-color:#b5c8a4;border-radius:12px}.tag-team .lobby-time-control strong{font-weight:900}.tag-team .lobby-time-control span{font-size:12px}.tag-team.arena-waiting .lobby-time-control span{color:#40594e}.tag-team.arena-playing .turn-card.live-turn{border-color:var(--line);background:var(--surface);box-shadow:0 3px 10px #243b3508}.tag-team.arena-playing .turn-card.your-turn{background:#edf5e8;border-color:#8cb99b}.tag-team .tag-turn-order li{border-color:var(--line);background:var(--surface);border-radius:10px}.tag-team .tag-turn-order li.current-player{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:#e1f0e3}.tag-team .tag-turn-order li.next-player{background:#fff6d9;border-style:solid;border-color:#d2bb77}.tag-turn-order .order-number{color:var(--muted);font:800 11px var(--display)}.tag-turn-order .player-avatar{box-shadow:none}.tag-team .tag-turn-order .tag-seat{font:800 10px var(--display)}.tag-team .tag-turn-order strong{font-weight:900}.tag-team .tag-turn-order .order-status{color:var(--muted);font-size:11px}.tag-team .tag-turn-order .order-status.now{color:var(--accent);font-weight:900}.join-progress i{background:#80b395;border-radius:4px}.join-progress i.used{background:var(--line)}.tag-team .tag-order-note{color:var(--muted);font-size:11px}.tag-engine-note{color:var(--muted);font-size:11px;line-height:1.5}.tag-turn-context{font-weight:700}.tag-team .tag-turn-context{gap:8px;font-size:12px}.tag-turn-context .current-turn-player{flex:1}.tag-turn-context .next-turn-player{flex-shrink:0;font-size:12px}.next-turn-player>small:not(.bot-badge){color:var(--muted);font:800 9px var(--display)}.tag-team .clock-preset-label{font-family:var(--display);font-weight:800}.tag-team .team-clock{border-color:var(--line);background:#f0f2e9;border-radius:10px}.tag-team .team-clock.running{color:var(--ink);box-shadow:none;background:#f9d777;border-color:#b49a44}.tag-team .team-clock.running small{color:#445038}.tag-team .team-clock.running.urgent{color:#963b23;background:var(--soft-orange);box-shadow:none;border-color:#bb7358}.tag-team .team-clock.running.urgent small{color:#963b23}.tag-team .team-clock-label{font-weight:800}.tag-team .team-clock-label i{border-radius:50%}.tag-team .team-clock-label small{font-family:var(--display);letter-spacing:.2px;font-size:9px;font-weight:800}.tag-team .team-clock strong{letter-spacing:-1px;font-weight:900}.tag-board-side{font-weight:800}.tag-board-bar>div>span{font-weight:700}.tag-board-bar .playing{color:var(--accent);font-weight:900}.tag-board-bar .playing .player-avatar{outline-color:var(--accent)}@media (width>=701px) and (height>=521px){.tag-team.arena-playing .arena-grid{--board-space:calc(100dvh - 208px)}.tag-team.arena-playing .card-kicker{font-size:10px}.tag-team.arena-playing .clock-preset-label{white-space:nowrap;max-width:none;font-size:10px}.tag-team.arena-playing .team-clock-label{font-size:12px}.tag-team.arena-playing .team-clock-label small{font-size:9px}.tag-team.arena-playing .team-clock strong{font-size:34px}.tag-team .tag-turn-order li{gap:9px}.tag-team .tag-turn-order strong{font-size:14px}.tag-team.arena-playing .turn-feedback .turn-detail{font-size:12px;line-height:1.4}.tag-team.arena-playing .board-caption{font-size:11px}}@media (width<=700px){.time-control-options label{padding:10px}.time-control-options strong{font-size:clamp(19px,5.4vw,25px)}.time-control-options .pace-category{font-size:11px}.time-control-cards .shared-time-note{margin-left:18px}.tag-team .team-clock-label{font-size:10px}.tag-team .team-clock-label small{font-size:8px}.tag-team .tag-turn-order li{padding:6px}.tag-team .tag-turn-order .tag-seat{font-size:9px}.tag-team .tag-turn-order .bot-badge{margin-left:3px;font-size:8px}.tag-team .tag-turn-order strong{margin-block:3px;font-size:11px}.tag-team .tag-turn-order .order-status{font-size:9px}.tag-team .tag-order-note{font-size:10px;line-height:1.35}.tag-team.arena-playing .tag-board-bar>div{gap:7px}.tag-team.arena-playing .tag-board-bar>div>span{font-size:11px}.tag-team.arena-playing .tag-board-side{font-size:10px}.tag-team.arena-playing .tag-board-bar .bot-badge{font-size:8px}}@media (width<=360px){.time-control-options{gap:6px}.time-control-options label{padding:10px 8px}.time-control-options .pace-category{font-size:10px}.time-control-options label>svg{width:11px;top:9px;right:5px}.tag-team .tag-turn-context,.tag-turn-context .next-turn-player{font-size:11px}.tag-team .tag-turn-context .next-turn-player>strong{max-width:65px}.tag-team .tag-turn-order li{padding-inline:5px}.tag-team .tag-turn-order .tag-seat{font-size:8px}.tag-team .tag-turn-order .bot-badge{margin-left:2px;font-size:7px}.tag-team.arena-playing .tag-board-bar,.tag-team.arena-playing .tag-board-bar>div{gap:5px}.tag-team.arena-playing .tag-board-bar>div>span{gap:2px;font-size:9px}.tag-team.arena-playing .tag-board-side{gap:4px;font-size:9px}.tag-team.arena-playing .tag-board-bar .bot-badge{font-size:7px}}@media (height<=520px) and (width>=480px) and (orientation:landscape){.tag-team.arena-playing .board-column,.tag-team.arena-playing.shared-clock-game .board-column{width:100%}.tag-team.arena-playing .turn-card.live-turn,.tag-team.arena-playing.shared-clock-game .turn-card.live-turn{height:132px;min-height:132px;padding:8px 10px}.tag-team.arena-playing .turn-summary{height:32px;min-height:32px}.tag-team.arena-playing .tag-turn-context{height:27px;margin:0;padding:2px 0}.tag-team.arena-playing .team-clock{height:45px}.tag-team .team-clock strong{font-size:28px}.tag-team .team-clock-label{font-size:10px}.tag-team .team-clock-label small{font-size:8px}.tag-team .tag-turn-order .tag-seat{font-size:9px}.tag-team .tag-turn-order .order-status,.tag-team .tag-order-note{font-size:10px}}@media (height<=360px) and (width>=480px) and (orientation:landscape){.tag-team.arena-playing .arena-grid,.tag-team.arena-playing.shared-clock-game .arena-grid{grid-template-rows:114px minmax(0,1fr)}.tag-team.arena-playing .turn-card.live-turn,.tag-team.arena-playing.shared-clock-game .turn-card.live-turn{height:114px;min-height:114px;padding-block:6px}.tag-team.arena-playing .turn-summary{height:28px;min-height:28px}.tag-team.arena-playing .tag-turn-context{height:24px}.tag-team.arena-playing .tag-turn-context .player-avatar{display:none}.tag-team.arena-playing .team-clocks{margin-top:4px}.tag-team.arena-playing .team-clock{height:42px}}
