.king-result-badge{color:#18201b;pointer-events:none;background:#e7bd64;border:1px solid #f3efe6;border-radius:6px;justify-content:center;align-items:center;gap:2px;width:36px;height:25px;display:flex;box-shadow:0 2px 5px #0008}.king-result-badge.result-loser{color:#fff;background:#a33542}.king-result-badge.result-draw{color:#fff;background:#276d88}.king-outcome-icon{width:17px;height:17px}.king-reason-icon{width:12px;height:12px}.flat-square>.king-result-badge{z-index:4;position:absolute;top:1px;right:1px}.king-tooltip{z-index:12;color:#f4f3e8;white-space:normal;text-align:center;pointer-events:none;background:#101813;border:1px solid #82968b;border-radius:4px;width:max-content;max-width:160px;padding:6px 8px;font:12px/1.4 sans-serif;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%)}.king-result-host:hover,.king-result-host:focus-visible{z-index:8}.king-result-host:not([data-tooltip-dismissed]):hover>.king-tooltip,.king-result-host:not([data-tooltip-dismissed]):focus-visible>.king-tooltip{display:block}.king-tooltip.tooltip-left{left:0;transform:none}.king-tooltip.tooltip-right{left:auto;right:0;transform:none}.king-tooltip.tooltip-above{top:auto;bottom:100%}.king-result-anchor{pointer-events:none}.king-result-anchor .king-result-host{pointer-events:auto;border-radius:6px;position:relative}.king-result-anchor .king-result-host:focus-visible{outline-offset:3px;outline:3px solid #fc6}.flat-king-motion{place-items:center;width:100%;height:100%;display:grid}.king-motion{animation-duration:.9s;animation-delay:var(--result-delay,0s);animation-timing-function:ease-out}.king-motion.result-winner{animation-name:king-win}.king-motion.result-loser{animation-name:king-loss}.king-motion.result-draw{animation-name:king-draw}@keyframes king-win{30%{transform:translateY(-8%)scale(1.07)}}@keyframes king-loss{35%{transform:translateY(6%)rotate(-9deg)}}@keyframes king-draw{40%{transform:scale(1.06)}}@media (width<=600px){.flat-square .king-result-badge{border-radius:4px;gap:1px;width:27px;height:20px;top:-5px;right:-3px}.flat-square .king-outcome-icon{width:13px;height:13px}.flat-square .king-reason-icon{width:10px;height:10px}}@media (prefers-reduced-motion:reduce){.king-motion{animation:none!important}}.flat-viewport{place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.flat-frame{aspect-ratio:1;box-sizing:border-box;width:min(100%,76vh);transform:scale(var(--flat-board-zoom,1));transform-origin:50%;direction:ltr;margin:auto;padding:1.4rem;position:relative}.flat-board{aspect-ratio:1;box-sizing:border-box;border:2px solid #987447;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid}.flat-square{cursor:pointer;border:0;border-radius:0;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative}.flat-square.light{background:#e8eacc}.flat-square.dark{background:#688c4e}.flat-square.checked{background:#aa594c}.flat-square.selected{background:#e2ad53}.flat-square.last-move-to{box-shadow:inset 0 0 0 4px #f5d493}.flat-square.last-move-from{box-shadow:inset 0 0 0 4px #73d8c1}.flat-square:focus-visible{outline-offset:-3px;z-index:1;outline:3px solid #fc6}.flat-square:disabled{cursor:default}.flat-square:disabled:hover .flat-piece{transform:translateY(var(--flat-piece-offset-y)) scale(var(--flat-piece-scale))}.flat-piece{--flat-piece-scale:1;--flat-piece-offset-y:0%;z-index:1;filter:drop-shadow(0 2px 1px #17233255);width:90%;height:90%;transform:translateY(var(--flat-piece-offset-y)) scale(var(--flat-piece-scale));background-image:url(/assets/chess-pieces-2d-1x-B8zUv91R.png);background-position-y:0%;background-repeat:no-repeat;background-size:600% 200%;transition:filter .16s,transform .16s;display:block;position:relative}@media (resolution>=1.5x){.flat-piece{background-image:url(/assets/chess-pieces-2d-2x-CaxB5iuF.png)}}.flat-square:hover .flat-piece{transform:translateY(calc(var(--flat-piece-offset-y) - 2%)) scale(var(--flat-piece-scale))}.flat-piece.piece-p{background-position-x:.73%}.flat-piece.piece-n{background-position-x:19.69%}.flat-piece.piece-b{background-position-x:39.07%}.flat-piece.piece-r{background-position-x:58.8%}.flat-piece.piece-q{background-position-x:79.02%;height:99%;top:-3%}.flat-piece.piece-k{background-position-x:98.31%;top:-1.5%}.flat-piece.side-b{--flat-piece-scale:.97;--flat-piece-offset-y:9.1%;filter:drop-shadow(0 2px 1px #17233255);background-position-y:100%}.flat-piece.side-w.state-hidden{filter:sepia(.7)saturate(3.4)hue-rotate(145deg)brightness(1.04)contrast(1.12)}.flat-piece.side-b.state-hidden{filter:sepia(.85)saturate(3.2)hue-rotate(145deg)brightness(1.08)contrast(1.12)}.flat-target{z-index:3;pointer-events:none;background:#1d382daa;border-radius:50%;width:22%;height:22%;position:absolute}.flat-target.capture{background:0 0;border:3px solid #69ed8f;width:85%;height:85%}.flat-files{text-align:center;color:#d9c9a7;grid-template-columns:repeat(8,1fr);font-size:.9rem;display:grid;position:absolute;bottom:0;left:1.4rem;right:1.4rem}.flat-ranks{color:#d9c9a7;grid-template-rows:repeat(8,1fr);align-items:center;font-size:.75rem;display:grid;position:absolute;top:1.4rem;bottom:1.4rem;left:0}@media (width<=760px){.flat-ranks{justify-items:center;width:1.4rem}}.identity-bot-badge{color:var(--text-subtle);vertical-align:middle;white-space:nowrap;border:1px solid;border-radius:999px;flex-shrink:0;align-self:center;align-items:center;padding:2px 6px;font-size:.6875rem;font-weight:700;line-height:1.2;display:inline-flex}.profile-snapshot-backdrop{z-index:1000;background:#000000ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.profile-snapshot{border:1px solid var(--border);background:var(--surface,#17201b);width:min(100%,480px);max-height:min(90dvh,720px);color:var(--text-strong);border-radius:16px;padding:26px;position:relative;overflow:auto;box-shadow:0 24px 80px #0006}.profile-snapshot-close{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.profile-snapshot-heading{align-items:center;gap:16px;padding-right:20px;display:flex}.profile-snapshot-heading h2{overflow-wrap:anywhere;margin:0;font-size:1.3rem}.profile-snapshot-heading p{color:var(--text-subtle);margin:5px 0 0}.profile-snapshot-avatar{background:var(--surface-hover);width:64px;height:64px;color:var(--accent);border-radius:50%;flex:0 0 64px;place-items:center;font-size:1.8rem;display:grid;position:relative;overflow:hidden}.profile-snapshot-avatar img{object-fit:cover;width:100%;height:100%;position:absolute}.profile-snapshot-ratings{gap:8px;margin:22px 0;display:grid}.profile-snapshot-ratings>div{border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr auto auto;gap:14px;padding:10px;font-size:.9rem;display:grid}.profile-snapshot>.product-action{width:fit-content;margin-inline:auto;display:flex}@media (width<=440px){.profile-snapshot-ratings>div{grid-template-columns:1fr 1fr}.profile-snapshot-ratings strong{grid-column:1/-1}}.create-game-card .create-game-form{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:28px}.create-settings{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);gap:24px;min-width:0;padding:24px;display:grid}.create-game-card .create-settings legend{align-items:center;gap:9px;margin-bottom:12px;font-size:.86rem;display:flex}.create-settings legend svg{color:var(--accent)}.create-game-card .create-options label{background:var(--surface-raised);border-radius:9px;grid-template-columns:minmax(0,1fr) 16px;align-content:center;gap:5px 8px;min-height:66px;padding:12px;transition:border-color .15s,background .15s;position:relative}.create-game-card .create-options label:hover{background:var(--surface-hover);border-color:var(--border-accent)}.create-game-card .create-options label:has(input:checked){border-color:var(--border-accent);background:var(--surface-selected)}.create-game-card .create-options label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.create-game-card .create-options input{appearance:none;background:0 0;border:1px solid #788078;border-radius:50%;grid-area:1/2;align-self:center;width:15px;height:15px}.create-game-card .create-options input:checked{border:4px solid var(--accent);background:var(--surface-input)}.create-game-card .create-options strong{grid-area:1/1;font-size:.8rem;font-weight:600}.create-game-card .create-options span{grid-column:1/-1;font-size:.73rem;line-height:1.5}.create-game-card .create-time-control label{align-content:start;min-height:122px;padding:16px 12px}.create-game-card .create-time-control .create-time-icon{color:var(--text-muted);grid-area:1/1;margin-bottom:10px;line-height:1}.create-time-icon svg{width:21px;height:21px}.create-game-card .create-time-control label:has(input:checked) .create-time-icon{color:var(--accent)}.create-game-card .create-time-control strong{grid-area:2/1/auto/-1}.create-game-card .create-time-control label>span:last-child{color:var(--text-strong);font-variant-numeric:tabular-nums;grid-row:3;font-size:1.1rem}.create-game-card .form-hint,.create-field-description{color:var(--text-muted);margin:10px 0 0;font-size:.73rem;line-height:1.6}.create-field-description{margin:-5px 0 12px}.create-preview{border-radius:var(--radius-card);background:radial-gradient(ellipse at 50% 0, #daad6317, transparent 65%), var(--surface);text-align:center;border:1px solid #daad6340;padding:26px 22px 22px;position:sticky;top:28px}.create-preview-emblem{width:60px;height:60px;color:var(--accent);background:#daad630f;border:1px solid #daad6340;border-radius:18px;place-items:center;margin:0 auto 22px;display:grid}.create-preview .eyebrow{letter-spacing:.12em;font-size:.66rem}.create-game-card .create-preview h2{margin:10px 0;font-size:1.55rem}.create-preview-clock{color:var(--text-strong);font-variant-numeric:tabular-nums;margin:16px 0 24px;font-size:2.8rem;line-height:1.1}.create-preview-clock span{color:var(--text-muted);margin-top:10px;font-size:.7rem;display:block}.create-preview-details{border-block:1px solid var(--border);text-align:left;gap:16px;margin:0;padding:22px 0;font-size:.74rem;display:grid}.create-preview-details>div{justify-content:space-between;gap:12px;display:flex}.create-preview-details dt{color:var(--text-muted)}.create-preview-details dd{text-align:right;color:var(--text-strong);margin:0}.create-preview-note{color:var(--text-muted);margin:20px 0;font-size:.74rem;line-height:1.65}.create-game-card .create-preview .lobby-primary{border-radius:var(--radius-control);border-color:var(--accent);width:100%;min-height:44px;color:var(--action-text);background:var(--action-background);font-size:var(--text-caption);justify-content:center;align-items:center;padding:10px 16px;font-weight:700;line-height:1.25;display:flex}.create-game-card .create-preview .lobby-primary:hover:not(:disabled){border-color:var(--accent);background:var(--action-hover)}.create-error{color:var(--danger);font-size:.8rem;line-height:1.5}.create-settings:has(fieldset:disabled){opacity:.65}@media (width<=800px){.create-game-card .create-game-form{grid-template-columns:1fr;gap:20px}.create-preview{position:static}.create-preview-emblem{display:none}}@media (width<=480px){.create-settings{gap:22px;padding:16px}.create-game-card .create-time-control .create-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.create-game-card .create-time-control label{padding:12px 8px}.create-game-card .create-time-control input{width:12px;height:12px;position:absolute;top:8px;right:6px}.create-game-card .create-time-control strong{font-size:.7rem}.create-game-card .create-options.two{grid-template-columns:1fr}.create-game-card .create-options label{min-height:54px}}@media (prefers-reduced-motion:reduce){.create-game-card .create-options label{transition:none}}.dashboard-primary-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.dashboard-primary-grid .player-hub-card{border:1px solid var(--border);cursor:default;border-radius:14px;flex-direction:column;min-width:0;min-height:0;padding:24px;display:flex}.dashboard-primary-grid .dashboard-match-card{border-color:#daad6347;grid-area:span 2/1}.dashboard-primary-grid .dashboard-entry-card{padding-left:84px}.dashboard-entry-icon{border:1px solid var(--border);width:40px;height:40px;color:var(--accent);background:#daad630f;border-radius:10px;place-items:center;display:grid;position:absolute;top:24px;left:24px}.dashboard-primary-grid .player-hub-card>p:not(.player-hub-card-kicker){max-width:none;font-size:var(--text-caption)}.dashboard-primary-grid .player-hub-card:hover{transform:none}.dashboard-primary-grid .game-hall-primary-actions{flex-wrap:wrap;margin-top:20px}.dashboard-match-note{color:var(--text-muted);font-size:var(--text-caption)}.dashboard-primary-grid .game-hall-options{grid-template-columns:1fr;margin-top:20px}.dashboard-primary-grid .game-hall-option{grid-template-columns:minmax(0,1fr) auto 20px;gap:2px 16px;padding:12px 14px}.dashboard-primary-grid .game-hall-option small{grid-column:1}.dashboard-primary-grid .game-hall-option>span:not(.game-hall-selection){grid-area:1/2/3;align-self:center}.dashboard-primary-grid .game-hall-selection{color:var(--accent);grid-area:1/3/3;align-self:center;font-size:1rem}.player-hub-grid.dashboard-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.dashboard-secondary-grid .dashboard-solo-card{cursor:default;border-radius:12px;padding:20px}.dashboard-solo-card .game-hall-primary-actions{flex-wrap:wrap}.app-dialog .settings-row{text-align:left;flex-direction:column;align-items:stretch;gap:12px}.dashboard-secondary-grid .dashboard-shortcut{border-radius:12px;grid-template-columns:minmax(0,1fr) 20px;align-content:start;gap:10px;padding:20px}.dashboard-secondary-grid .dashboard-shortcut .player-hub-icon{grid-area:1/1}.dashboard-secondary-grid .dashboard-shortcut .player-hub-card-kicker,.dashboard-secondary-grid .dashboard-shortcut>:is(strong,small){grid-column:1/-1}.dashboard-secondary-grid .dashboard-shortcut>small{font-size:var(--text-caption)}.dashboard-secondary-grid .dashboard-shortcut .player-hub-arrow{grid-area:1/2;justify-self:end;line-height:1}.create-game-form{gap:24px;margin-top:28px;display:grid}.create-game-form fieldset{border:0;min-width:0;margin:0;padding:0}.create-game-form legend{color:var(--text-strong);margin-bottom:10px;font-weight:700}.create-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.create-options.two{grid-template-columns:repeat(2,minmax(0,1fr))}.create-options label{border:1px solid var(--border);cursor:pointer;border-radius:8px;grid-template-columns:20px 1fr;align-content:start;gap:5px;padding:14px 10px;display:grid}.create-options label:has(input:checked){border-color:var(--accent);background:#daad6314}.create-options input{accent-color:var(--accent);margin:3px 0}.create-options span{color:var(--text-muted);grid-column:2;font-size:.78rem}.create-options strong{font-size:.85rem}.form-hint,.create-summary{color:var(--text-muted);font-size:.82rem;line-height:1.5}.game-password,.lobby-password label{gap:8px;margin-top:14px;display:grid}.game-password input,.lobby-password input{border:1px solid var(--border);min-height:44px;color:var(--text-strong);background:#0b0e0c;border-radius:6px;width:100%;padding:10px}.lobby-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;align-items:center;gap:16px 24px;display:grid}.lobby-card button:not(.product-action):not(.content-back),.create-game-card button:not(.password-input-toggle):not(.content-back):not(.lobby-primary){border:1px solid var(--border);min-height:44px;color:var(--text-strong);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px}.lobby-card button:focus-visible,.create-game-card :is(button:not(.password-input-toggle),input):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lobby-card button:disabled,.create-game-card button:not(.password-input-toggle):disabled{opacity:.6;cursor:wait}.lobby-card .lobby-primary,.create-game-card .lobby-primary{background:var(--accent);border-color:var(--accent);color:#15180f;font-weight:700}.lobby-section{padding:28px 0 8px}.lobby-section>p{color:var(--text-muted);margin:6px 0 16px;font-size:.85rem}.lobby-list{margin:12px 0;padding:0;list-style:none}.lobby-list>li{margin-bottom:8px}.lobby-list>li.lobby-row,.lobby-list>li>.lobby-row{padding:14px 24px}.lobby-row>div{overflow-wrap:anywhere;min-width:0}.lobby-row strong{color:var(--text-strong);font-size:.94rem}.lobby-row p{margin:6px 0;font-size:.85rem}.lobby-row small{color:var(--text-muted);font-size:.76rem;line-height:1.7;display:block}.lobby-row-actions{justify-self:end;gap:8px;display:flex}.lobby-row>button{border-color:var(--accent);color:var(--accent);justify-self:end}.lobby-players{gap:6px;display:grid}.lobby-player{align-items:center;gap:8px;min-width:0;display:flex}.lobby-player-dot{border-radius:50%;flex:0 0 11px;width:11px;height:11px}.lobby-player-dot--white{background:#f1eee4;border:1px solid #aaa99f}.lobby-player-dot--black{background:#242923;border:1px solid #888f83}.lobby-player-dot--random{background:linear-gradient(90deg,#f1eee4 50%,#242923 50%);border:1px solid #888f83}.lobby-player-flag{flex:none}.lobby-game-details p{margin-top:0}@media (width<=600px){.lobby-list>li.lobby-row,.lobby-list>li>.lobby-row{padding:14px 20px}.lobby-row{grid-template-columns:minmax(0,1fr) auto}.lobby-game-details{grid-area:2/1/auto/-1}.lobby-row-actions{flex-direction:column;grid-area:1/2}.lobby-row-action{grid-area:1/2}}.versus{color:var(--text-muted);font-weight:400}.lobby-empty{color:var(--text-muted);background:#ffffff08;border-radius:8px;padding:20px}.lobby-password{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.spectator-moves{grid-template-columns:1fr 1fr;gap:8px 24px;display:grid}@media (width<=900px){.dashboard-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-primary-grid .dashboard-match-card{grid-area:auto/1/auto/-1}.player-hub-grid.dashboard-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.dashboard-primary-grid{grid-template-columns:1fr}.dashboard-primary-grid .game-hall-primary-actions{align-items:flex-start}.dashboard-primary-grid .game-hall-primary-actions button{width:100%}}@media (width<=480px){.dashboard-primary-grid .player-hub-card{padding:18px}.dashboard-primary-grid .dashboard-entry-card{padding-left:72px}.dashboard-entry-icon{top:18px;left:18px}.player-hub-grid.dashboard-secondary-grid{grid-template-columns:1fr}.dashboard-secondary-grid .dashboard-shortcut{grid-template-columns:24px minmax(0,1fr) 16px;gap:6px 12px;min-height:0;padding:18px}.dashboard-secondary-grid .dashboard-shortcut .player-hub-icon{grid-row:1/4}.dashboard-secondary-grid .dashboard-shortcut .player-hub-card-kicker,.dashboard-secondary-grid .dashboard-shortcut>:is(strong,small){grid-column:2}.dashboard-secondary-grid .dashboard-shortcut .player-hub-arrow{grid-area:2/3}.create-options,.create-options.two{grid-template-columns:1fr}.lobby-card,.create-game-card{padding:18px}}.board-shell{height:100dvh;min-height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template:"board primary""board record"minmax(0,1fr)"board actions"/minmax(0,1fr) clamp(340px,22vw,430px);display:grid;overflow:hidden}.game-primary-panel,.game-record-panel,.game-action-panel{z-index:3;border-left:1px solid var(--border);background:#101512;min-width:0;position:relative}.game-primary-panel{border-bottom:1px solid var(--border);grid-area:primary;max-height:62svh;padding:14px 18px;overflow:auto}.game-record-panel{scrollbar-gutter:stable;flex-direction:column;grid-area:record;gap:12px;min-height:0;padding:12px 18px;display:flex;overflow:auto}.signup-identity-note{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.6}.waiting-invite{margin-top:12px}.game-rules-help p{color:var(--text-muted);margin:6px 0 0;font-size:.875rem;line-height:1.6}.game-rules-help{border-top:1px solid var(--border);margin-top:16px;padding-top:8px}.game-rules-help summary{min-height:44px;color:var(--accent);cursor:pointer;align-content:center;display:list-item}.game-rules-help a{min-height:44px;color:var(--accent);align-items:center;display:inline-flex}.history-empty>button,.friends-empty>button{margin-top:12px}.game-actions.game-action-panel>[role=status]{color:var(--text-muted);grid-column:1/-1;margin:0;font-size:.85rem}.game-actions.game-action-panel{border-top:1px solid var(--border);grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:12px 18px}.eyebrow,.panel-label{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:.75rem;font-weight:700}h1,h2{color:var(--text-strong);font-family:var(--font-display);margin:0;font-weight:500}h1{font-size:var(--text-page);letter-spacing:0;line-height:1.2}h2{font-size:var(--text-section)}.landing-shell{min-height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);isolation:isolate;background:radial-gradient(circle at 74% 45%,#4b765838,#0000 34%),radial-gradient(circle at 16% 15%,#daad6312,#0000 28%),linear-gradient(135deg,#090c0a 0%,#0c110e 55%,#080a09 100%);position:relative}.landing-shell:before{z-index:-1;content:"";background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.landing-nav{border-bottom:1px solid #e7dac11a;justify-content:space-between;align-items:center;width:min(1320px,100% - 48px);height:64px;margin:0 auto;display:flex}.landing-brand{color:var(--text-strong);font-family:var(--font-display);letter-spacing:0;align-items:center;font-size:1.2rem;text-decoration:none;display:inline-flex}.landing-brand-mark{width:42px;height:42px;color:var(--accent);background:#daad630f;border:1px solid #daad6357;border-radius:50%;place-items:center;margin-right:12px;font-size:1.55rem;display:grid}.landing-hero{grid-template-columns:380px minmax(0,1fr);align-items:stretch;gap:20px;width:min(1320px,100% - 48px);margin:0 auto;padding:20px 0;display:grid;position:relative}.landing-copy{z-index:2;border:1px solid var(--border);background:#131715e0;border-radius:12px;min-width:0;padding:24px;position:relative}.landing-kicker{color:var(--accent);letter-spacing:0;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 12px;font-size:.75rem;font-weight:800;display:flex}.landing-kicker span{background:var(--accent);width:26px;height:1px}.landing-copy h1{letter-spacing:0;max-width:690px;font-size:2rem;line-height:1.15}.landing-copy h1 em{color:var(--accent);font-weight:400}.landing-lede{max-width:530px;color:var(--text-muted);font-size:var(--text-body);margin:14px 0 0;line-height:1.6}.landing-signin-card{border-top:1px solid var(--border);max-width:540px;margin-top:20px;padding:16px 0 0}.landing-signin-intro,.landing-signin-card>p[role=status]{color:var(--text-muted);margin:8px 0 0;font-size:.76rem;line-height:1.5}.landing-signin-form{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:0;display:grid}.landing-signin-form label,.landing-signin-field{min-width:0;color:var(--text-muted);gap:5px;font-size:.75rem;font-weight:750;display:grid}.landing-signin-form input{width:100%;min-width:0;color:var(--text-strong);font:inherit;background:#ffffff0a;border:1px solid #e7dac12e;border-radius:7px;padding:10px 11px;font-size:1rem}.password-input{min-width:0;position:relative}.game-password .password-input{width:100%}.game-password .password-input input,.landing-signin-form .password-input input,.signup-field .password-input input{padding-right:48px}.password-input-toggle{width:40px;height:40px;color:var(--accent);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-input-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.password-input-toggle:disabled{cursor:wait;opacity:.65}.landing-signin-form input[aria-invalid=true]{border-color:#d77b70}.landing-signin-form small,.landing-provider-actions small{color:#dc9187;font-size:.75rem;line-height:1.4}.landing-signin-names{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px;display:grid}.landing-signin-error{color:#e79a90;grid-column:1/-1;margin:0;font-size:.75rem;line-height:1.4}.landing-provider-button{width:100%}.landing-provider-icon{flex:0 0 16px;width:16px;height:16px}.landing-signin-submit{grid-column:1/-1;width:100%}.landing-provider-actions{grid-template-columns:1fr;gap:8px;margin-top:12px;display:grid}.landing-signin-divider,.landing-provider-actions small{grid-column:1/-1}.landing-signin-divider{color:var(--text-subtle);text-transform:uppercase;align-items:center;gap:9px;font-size:.75rem;display:flex}.landing-signin-divider:before,.landing-signin-divider:after{content:"";background:#e7dac11f;flex:1;height:1px}.landing-actions{grid-template-columns:1fr 1fr;gap:8px;max-width:540px;margin-top:16px;display:grid}.landing-guest-note{max-width:440px;color:var(--text-subtle);margin:12px 0 0;font-size:.75rem;line-height:1.55}.landing-cta{width:100%;min-width:0}.landing-board-column{pointer-events:none;min-width:0}.landing-board-card{border:1px solid var(--border);background:#101512;border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden}.landing-board-meta,.landing-board-status{color:var(--text-subtle);letter-spacing:0;text-transform:uppercase;flex:none;justify-content:space-between;align-items:center;padding:14px 18px;font-size:.75rem;font-weight:700;display:flex}.landing-board-meta{border-bottom:1px solid var(--border);justify-content:flex-start}.landing-board-meta span:first-child{color:var(--text-muted);align-items:center;gap:8px;display:inline-flex}.landing-live-dot{background:#77c98a;border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #77c98a}.landing-scene{pointer-events:none;flex:1;min-height:420px}.landing-scene .flat-viewport{container-type:size}.landing-scene .flat-frame{width:min(100cqw,100cqh)}.landing-scene .piece-asset-message{pointer-events:auto}.landing-board-status{border-top:1px solid var(--border);gap:12px}.landing-board-status strong{color:var(--accent);letter-spacing:0;text-transform:none;font-size:.875rem;font-weight:700}.landing-footer{width:min(1320px,100% - 48px);color:var(--text-subtle);letter-spacing:0;text-transform:uppercase;justify-content:space-between;margin:0 auto;padding-bottom:18px;font-size:.75rem;display:flex}.landing-brand:focus-visible,.landing-signin-form input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.signup-shell{min-height:100svh;padding:env(safe-area-inset-top) max(var(--page-gutter), env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(var(--page-gutter), env(safe-area-inset-left));background:radial-gradient(circle at 50% 12%,#486f534d,#0000 36%),linear-gradient(145deg,#090c0a,#0d120f 58%,#080a09)}.signup-shell>.return-navigation{width:min(640px,100%);margin-left:auto;margin-right:auto}.signup-shell>.return-navigation-top{border-bottom:1px solid var(--border);align-items:center;min-height:64px;display:flex}.signup-shell>.return-navigation-bottom{margin-top:24px}.signup-brand-mark{width:38px;height:38px;color:var(--accent);background:#daad630f;border:1px solid #daad635c;border-radius:50%;place-items:center;font-size:1.35rem;display:inline-grid}.signup-card,.signup-success{background:0 0;border:0;border-radius:0;width:min(640px,100%);margin:32px auto 0;padding:24px 0}.signup-intro{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:26px}.signup-intro h1,.signup-success h1{font-size:var(--text-page)}.signup-intro .google-onboarding-title,.google-onboarding-state .google-onboarding-title{font-size:var(--text-page);letter-spacing:0;line-height:1.2}.google-onboarding-title:focus{outline:none}.signup-intro>p:last-child,.signup-success>p:not(.eyebrow){color:var(--text-muted);margin:14px 0 0;line-height:1.65}.signup-form{gap:19px;display:grid}.signup-field{align-content:start;gap:7px;min-width:0;display:grid}.signup-field label,.signup-field-label{color:var(--text-strong);font-size:.77rem;font-weight:800}.signup-field input,.signup-field select{width:100%;min-width:0;color:var(--text-strong);background:#ffffff0a;border:1px solid #e7dac133;border-radius:8px;outline:0;padding:12px 13px;font-size:1rem;transition:border-color .16s,box-shadow .16s}.signup-field input:focus,.signup-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #daad631f}.signup-field input[readonly]{color:var(--text-muted);cursor:default;background:#ffffff05}.signup-field input[aria-invalid=true],.signup-field select[aria-invalid=true]{border-color:#d77b70}.select-picker{min-width:0;position:relative}.select-picker .select-picker-native{opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;padding:0;position:absolute}.select-picker-trigger{border:1px solid var(--border);border-radius:var(--radius-control);width:100%;min-width:0;min-height:50px;color:var(--text-strong);background:var(--surface-input);font:inherit;text-align:start;cursor:pointer;align-items:center;gap:12px;padding:12px 13px;font-size:1rem;display:flex}.select-picker-trigger>span{overflow-wrap:anywhere;flex:1;min-width:0}.select-picker-icon,.select-picker-chevron{color:var(--accent);flex-shrink:0}.select-picker-trigger:hover:not(:disabled),.select-picker-trigger[aria-expanded=true]{border-color:var(--accent)}.select-picker-trigger[aria-invalid=true]{border-color:var(--danger)}.select-picker-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.select-picker-trigger:disabled{opacity:.55;cursor:not-allowed}.country-required-hint{display:none}@media (width<=760px){.country-required-hint{color:var(--text-muted);font-size:.77rem;display:block}}.select-picker-dialog{border:1px solid var(--border);width:min(360px,100% - 32px);max-height:min(400px,100dvh - 32px);color:var(--text-strong);background:var(--surface);border-radius:12px;margin:0;padding:0;position:fixed;inset:auto;overflow:hidden;box-shadow:0 16px 48px #0000002e}:is(html:has(.select-picker-dialog[open]),body:has(.select-picker-dialog[open])){overflow:hidden}.select-picker-dialog[open]{flex-direction:column;display:flex}.select-picker-dialog::backdrop{background:#00000014}.select-picker-dialog-header{min-height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));border-bottom:1px solid var(--border);flex:none;align-items:center;display:flex}.select-picker-dialog-header h2{margin:0;text-align:center;flex:1;margin-inline-end:48px;font-size:1.1rem}.select-picker-dialog-cancel{min-width:48px;min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.select-picker-dialog-list{overscroll-behavior:contain;min-height:0;padding:8px max(16px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.select-picker-dialog-list button{width:100%;min-height:48px;color:var(--text-strong);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.select-picker-dialog-list button:hover{background:var(--surface-hover)}.select-picker-dialog-list button[aria-current=true]{background:var(--surface-selected);color:var(--accent);font-weight:700}.select-picker-dialog-list button:focus-visible,.select-picker-dialog-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (width<=760px){.select-picker-dialog{background:var(--page-background);border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;inset:0}.select-picker-dialog::backdrop{background:var(--surface-page)}}.signup-username-row{grid-template-columns:minmax(0,1fr) auto;gap:9px;min-width:0;display:grid}.signup-username-row button{min-width:94px;color:var(--accent);cursor:pointer;background:#daad6314;border:1px solid #daad6380;border-radius:8px;padding:0 15px;font-size:.76rem;font-weight:800}.signup-name-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.signup-help,.signup-error,.signup-status{min-height:0;margin:0;font-size:.75rem;line-height:1.45}.signup-help{color:var(--text-subtle)}.signup-error,.signup-submit-error,.signup-validation-summary,.signup-status-unavailable,.signup-status-error{color:#e79a90}.signup-status-available{color:#86d395}.signup-status:empty{display:none}.signup-submit-error{background:#d77b7012;border:1px solid #d77b7040;border-radius:8px;margin:0;padding:11px 13px;font-size:.75rem;line-height:1.45}.signup-validation-summary{margin:0;font-size:.75rem}.signup-primary-button{color:#11150f;background:var(--accent);cursor:pointer;border:1px solid #0000;border-radius:8px;width:100%;margin-top:4px;padding:14px 20px;font-size:.82rem;font-weight:850}.signup-primary-button:disabled,.signup-username-row button:disabled{cursor:wait;opacity:.65}.signup-primary-button:focus-visible,.signup-username-row button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.signup-success{text-align:center;margin-top:clamp(64px,14vh,150px)}.signup-success .signup-brand-mark{width:56px;height:56px;margin-bottom:24px;font-size:2rem}.signup-success .signup-primary-button{margin-top:28px}.google-onboarding-state>p:not(.eyebrow){color:var(--text-muted);margin:14px 0 0;line-height:1.65}.google-onboarding-state .signup-primary-button{margin-top:28px}.content-shell,.player-hub-shell{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) max(var(--page-gutter), env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(var(--page-gutter), env(safe-area-inset-left));background:radial-gradient(circle at 50% 22%,#35524161,#0000 38%),#0b0e0c;place-items:center;display:grid}.player-hub-shell{background:radial-gradient(circle at 82% 8%,#daad631f,#0000 25%),radial-gradient(circle at 12% 44%,#35524159,#0000 34%),#0b0e0c;align-items:start}.player-hub{width:min(1120px,100%)}.player-hub-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:0 0 20px;display:flex}.player-hub-brand{align-items:center;gap:10px;display:flex}.player-hub-brand>span{color:var(--accent);font-size:2rem;line-height:1}.player-hub-brand>strong{font-family:var(--font-display);font-size:1rem;font-weight:500}.player-hub-header{padding:20px 0 0}.player-hub-header h1{margin:0;font-family:inherit;font-size:.75rem;font-weight:700;line-height:1.5}.player-hub-account{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;display:grid}.player-hub-account>span{width:36px;height:36px;color:var(--accent);background:#daad631f;border:1px solid #daad633d;border-radius:50%;place-items:center;font-weight:800;display:grid}.player-hub-account strong{color:var(--text-strong);font-size:.8rem}.player-hub-account .player-hub-person-avatar{border:1px solid var(--border-accent);width:44px;height:44px;color:inherit;background:var(--surface-hover);border-radius:50%;flex:0 0 44px;place-items:center;font-weight:800;display:grid;position:relative;overflow:hidden}.player-hub-person-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.player-hub-account .player-hub-person-name{overflow-wrap:anywhere;text-align:start;min-width:0}.player-hub-country-flag{flex:none;font-size:1.15em;line-height:1}.player-hub-account strong .player-hub-country-flag{margin-inline-start:6px}.player-hub-account button{white-space:nowrap;grid-column:3;justify-self:start}.player-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.player-hub-card{border:1px solid var(--border);min-height:164px;color:var(--text-strong);cursor:pointer;text-align:left;background:linear-gradient(145deg,#ffffff0a,#0000 58%),#101512f5;border-radius:8px;padding:20px;transition:border-color .16s,transform .16s,background .16s;position:relative;overflow:hidden}.player-hub-card:hover{background:linear-gradient(145deg,#daad6317,#0000 60%),#101512f5;border-color:#daad6375;transform:translateY(-2px)}.player-hub-card:focus-visible,.player-hub-card-actions button:focus-visible,.player-hub-account button:focus-visible,.saved-game-row:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.player-hub-card-featured{cursor:default;border:0;border-block:1px solid var(--border);background:radial-gradient(circle at 88% 22%,#daad632e,#0000 27%),linear-gradient(135deg,#283c2ee0,#101512fa);border-radius:0;grid-column:span 2;min-height:220px}.player-hub-card-featured:hover{border-color:var(--border);background:radial-gradient(circle at 88% 22%,#daad632e,#0000 27%),linear-gradient(135deg,#283c2ee0,#101512fa);transform:none}.dashboard-shortcut{grid-template-columns:28px minmax(0,1fr) 18px;align-content:center;gap:5px 12px;min-height:144px;display:grid}.dashboard-shortcut .player-hub-icon{grid-row:1/4;margin:0}.dashboard-shortcut>:is(strong,small,.player-hub-card-kicker){grid-column:2;margin:0}.dashboard-shortcut .player-hub-arrow{grid-area:2/3;position:static}.player-hub-icon{color:var(--accent);font-family:var(--font-display);margin-bottom:16px;font-size:1.75rem;line-height:1;display:block}.player-hub-card-featured .player-hub-icon{color:#daad6333;font-size:4rem;position:absolute;top:20px;right:28px}.player-hub-card-kicker{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:800;display:block}.player-hub-card h2,.player-hub-card>strong{font-family:var(--font-display);font-size:1rem;font-weight:500;display:block}.player-hub-card>p:not(.player-hub-card-kicker),.player-hub-card>small{max-width:390px;color:var(--text-muted);margin:9px 0 0;font-size:.78rem;line-height:1.55;display:block}.player-hub-card-actions{z-index:1;flex-wrap:wrap;gap:10px;margin-top:24px;display:flex;position:relative}.player-hub-card-actions button{border:1px solid var(--accent);color:#15180f;background:var(--accent);cursor:pointer;border-radius:8px;padding:10px 15px;font-size:.76rem;font-weight:800}.player-hub-card-actions .player-hub-secondary-action{color:var(--text-strong);background:0 0}.game-hall-options{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:22px;display:grid;position:relative}.game-hall-option{border:1px solid var(--border);min-width:0;color:var(--text-strong);background:var(--surface-raised);cursor:pointer;text-align:left;border-radius:6px;gap:3px;padding:13px;display:grid}.game-hall-option.selected{border-color:var(--accent);background:var(--surface-selected);box-shadow:inset 0 0 0 1px var(--border-accent)}.game-hall-option strong{font-size:.8125rem}.game-hall-option:focus-visible,.game-hall-status button:focus-visible,.running-games-card button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.game-hall-option span,.game-hall-option small{color:var(--text-muted);font-size:.75rem}.game-hall-primary-actions,.game-hall-status{z-index:1;align-items:center;gap:10px;margin-top:14px;display:flex;position:relative}.game-hall-status button,.running-games-actions button,.running-games-state button,.running-games-more{border:1px solid var(--accent);color:var(--action-text);background:var(--action-background);cursor:pointer;border-radius:8px;padding:10px 15px;font-size:.76rem;font-weight:800}.game-hall-status button:disabled,.game-hall-option:disabled{cursor:not-allowed;opacity:.55}.game-hall-status{min-height:34px;color:var(--text-muted);font-size:.76rem}.private-game-label{z-index:1;letter-spacing:0;text-transform:uppercase;font-weight:700;position:relative;color:var(--text-subtle)!important;margin-top:12px!important;font-size:.75rem!important}.running-games-card{width:min(780px,100%)}.running-games-actions{justify-content:flex-end;margin:20px 0 12px;display:flex}.running-games-list{gap:9px;padding:0;list-style:none;display:grid}.running-games-list li{border-bottom:1px solid var(--border);padding:15px}.running-games-list li div{flex-wrap:wrap;gap:8px;display:flex}.running-games-list li span,.running-games-list li small,.running-games-state{color:var(--text-muted)}.running-games-list li small{margin-top:7px;display:block}.player-hub-arrow{color:var(--accent);font-size:1.15rem;position:absolute;bottom:20px;right:24px}.player-hub-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:20px;margin-top:20px;padding-top:8px;display:flex}.player-hub-footer button{min-height:44px;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;align-items:center;padding:0 4px;font-size:.76rem;display:inline-flex}.player-list-card{width:min(680px,100%)}.player-save-note{border-left:2px solid var(--accent);color:var(--text-muted);background:#daad6312;margin:16px 0 0;padding:12px 14px;font-size:.76rem;line-height:1.55}.saved-game-row{border:1px solid var(--border);width:100%;color:var(--text-strong);cursor:pointer;text-align:left;background:#ffffff0a;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:18px;display:flex}.saved-game-row>span:first-child{gap:4px;display:grid}.saved-game-row small,.saved-game-row>span:last-child{color:var(--text-muted);font-size:.75rem}.player-empty-state{border-block:1px solid var(--border);text-align:center;place-items:center;margin-top:26px;padding:32px 16px;display:grid}.player-empty-state>span{color:var(--accent);font-size:2.5rem}.player-empty-state h2{margin-top:15px}.player-empty-state p{max-width:430px;color:var(--text-muted);margin:10px 0 0;line-height:1.6}.content-card{width:min(560px,100%);padding:24px 0}.content-card h1{font-size:var(--text-page)}.content-card>p:not(.eyebrow),.app-dialog>p:not(.eyebrow){color:var(--text-muted);line-height:1.65}.menu-account-error{color:#e79a90;margin:10px 0 0;font-size:.75rem}.content-back{min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;padding:0 4px;font-size:.8rem;font-weight:700;display:inline-flex}.content-back:hover{color:var(--text-strong)}.content-back:disabled{opacity:.5;cursor:not-allowed}.content-back:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.return-navigation-top{grid-area:return-top;margin-bottom:24px}.return-navigation-bottom{border-top:1px solid var(--border);grid-area:return-bottom;margin-top:32px;padding-top:16px}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:20px 0;display:flex}.settings-row span{gap:4px;display:grid}.settings-row small{color:var(--text-subtle)}.settings-row select{border:1px solid var(--border);min-width:120px;max-width:100%;color:var(--text-strong);background:#171d19;border-radius:8px;padding:8px 10px;font-size:1rem}.settings-row input{width:22px;height:22px;accent-color:var(--accent)}.settings-row .settings-action{flex-shrink:0;min-height:44px}.storage-notice{z-index:30;color:#f4efe4;background:#241f16;border:1px solid #daad6385;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;width:min(620px,100% - 28px);padding:11px 14px;font-size:.78rem;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #00000057}.storage-notice button{color:#e8bb70;cursor:pointer;background:0 0;border:0;font-weight:700}.game-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.game-actions .control-button{width:100%;min-height:44px;padding:8px 7px}.control-button,.app-dialog button,.terminal-actions button{border:1px solid var(--border);color:var(--text-strong);cursor:pointer;background:#ffffff0d;border-radius:8px;padding:9px 13px;font-size:.78rem;font-weight:700;transition:border-color .16s,background .16s,transform .16s}.control-button:hover:not(:disabled),.control-button:focus-visible,.app-dialog button:hover,.app-dialog button:focus-visible,.terminal-actions button:hover:not(:disabled),.terminal-actions button:focus-visible{background:#daad631a;border-color:#daad63b8}.control-button:active,.app-dialog button:active,.terminal-actions button:active{transform:translateY(1px)}.control-button:focus-visible,.app-dialog button:focus-visible,.terminal-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.control-button:disabled,.terminal-actions button:disabled{cursor:not-allowed;opacity:.38}.board-column{background:#3c4550;grid-area:board;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;container-type:inline-size}.board-position{flex-direction:column;min-width:0;min-height:0;display:flex}.board-position>.scene-frame{flex:1}.player-strip-middle{grid-template-columns:minmax(0,1fr);align-items:center;min-width:0;display:grid}.player-strip-middle.has-countdown-slot{grid-template-columns:minmax(0,1fr) 72px;gap:10px}.move-countdown-slot{width:72px;height:28px;display:block}.move-countdown-notice{border:1px solid var(--danger);width:100%;height:100%;color:var(--danger);background:var(--surface-danger,#321b1a);font-variant-numeric:tabular-nums;border-radius:6px;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;line-height:1.2;display:flex}.player-strip.active.clock-urgent{border-color:var(--danger);box-shadow:inset 4px 0 0 var(--danger)}.player-strip.active.clock-urgent .player-turn-state strong{border-color:var(--danger);color:var(--danger);background:var(--surface-danger,#321b1a)}.scene-frame{background:radial-gradient(circle at 50% 44%,#304a3c38,#0000 42%),#0b0e0c;min-width:0;min-height:0;position:relative}.waiting-board-lock{z-index:5;cursor:wait;position:absolute;inset:0}.waiting-game-error{color:#efb0a4;margin:12px 0 0;font-size:.76rem;line-height:1.5}.scene-frame canvas{touch-action:none;display:block}.piece-asset-message{border:1px solid var(--border);min-width:min(210px,100vw - 48px);max-width:calc(100vw - 48px);color:var(--text-strong);white-space:normal;background:#0b0e0ceb;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:12px 16px;display:flex;box-shadow:0 10px 32px #00000059}.piece-asset-message button{border:1px solid var(--accent);color:#0b0e0c;background:var(--accent);cursor:pointer;border-radius:7px;padding:7px 11px}.game-summary{padding-top:0}.shared-game-entry-form{flex-wrap:wrap;align-items:end;gap:8px;margin-top:14px;display:flex}.shared-game-entry-form .game-password{flex:120px;min-width:0;margin-top:0}.shared-game-entry-actions{flex-wrap:wrap;gap:8px;display:flex}.shared-game-entry-actions .control-button{font:inherit;padding:8px 16px}.retry-button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;padding:9px 10px;font-size:.75rem;font-weight:700}.difficulty-control{gap:6px;margin-bottom:22px;display:grid}.difficulty-control span{color:var(--text-subtle);letter-spacing:0;text-transform:uppercase;font-size:.75rem;font-weight:700}.difficulty-control select{border:1px solid var(--border);width:100%;color:var(--text-strong);background:#171d19;border-radius:8px;padding:8px 10px;font-size:1rem}.difficulty-control select:disabled{opacity:.45}.game-status{color:var(--text-strong);font-family:var(--font-display);font-size:1.35rem;line-height:1.2;display:block}.game-status[data-status=check],.game-status[data-status=checkmate],.game-status[data-status=engine-error]{color:#ef9a84}.retry-button{color:var(--accent);margin-top:12px}.turn-detail,.empty-history,.game-help,.panel-heading span{color:var(--text-subtle);font-size:.76rem}.turn-detail{margin:8px 0 0}.history-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.move-panel{min-height:120px}.history-panel>:not(.move-history){flex-shrink:0}.move-history{scrollbar-gutter:stable;flex:1;min-height:0;overflow:auto}.player-strip{border-block:1px solid var(--border);background:#101512;grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;min-height:54px;padding:8px clamp(12px,2vw,28px);display:grid}.player-strip.active{box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(90deg,#daad6317,#101512 38%)}.player-identity{align-items:center;gap:9px;min-width:0;display:flex}.player-identity>span:last-child{min-width:0;display:grid}.player-name-line{align-items:center;gap:5px;min-width:0;min-height:44px;margin-block:-3px;display:flex}.player-name-line strong{min-width:0}.player-inline-rating,.player-country-flag{white-space:nowrap;flex:none}.player-inline-rating{color:var(--text-subtle);font-size:.75rem}.player-country-flag{font-family:system-ui,sans-serif;font-size:.85rem}.player-pending-detail{flex:0 auto;min-width:0}.player-profile-trigger{max-width:100%;color:var(--text-strong);font:inherit;text-align:start;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700;overflow:hidden}.player-profile-trigger:hover{text-decoration:underline}.player-profile-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.player-name-line .player-bot-badge{white-space:nowrap;flex:none;margin-inline-start:0;font-size:.65rem}.player-identity strong,.player-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-identity strong,.player-identity .player-profile-trigger{color:var(--text-strong);font-size:.82rem}.player-identity .player-profile-trigger{min-height:44px}.player-identity small{color:var(--text-subtle);font-size:.75rem}.player-color{background:#eee8d5;border:1px solid #ffffff59;border-radius:50%;flex:none;width:13px;height:13px}.player-connection{min-width:0;color:var(--text-subtle);flex:0 auto;align-items:center;gap:5px;font-size:.7rem;display:flex}.player-connection-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.player-connection>span:first-child{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.player-connection[data-connection=Online]{color:var(--connection-online,#87c9a5)}.player-connection[data-connection=Offline]{color:var(--accent)}.player-connection[data-connection=Left],.player-connection[data-connection="Not at table"]{color:var(--text-muted)}.spectators-panel{min-height:0;overflow:auto}.spectators-list{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.spectators-list li{overflow-wrap:anywhere;border-bottom:1px solid var(--border);padding:8px 0}.player-offline-countdown{font-variant-numeric:tabular-nums}.player-strip.side-b .player-color{background:#16211c;border-color:#82ad9eb3}.player-captures{scrollbar-width:none;align-items:center;gap:4px;min-width:0;min-height:28px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.player-captures::-webkit-scrollbar{display:none}.captured-piece{background:0 0;border-radius:0;flex:none;place-items:center;width:24px;height:28px;margin-right:-2px;font-size:1.35rem;line-height:1;display:grid;position:relative}.captured-piece-art{background-image:url(/assets/captured-pieces-reference-BFR3-UOq.png);background-position-y:0%;background-repeat:no-repeat;background-size:600% 200%;width:24px;height:24px;display:block}.captured-piece.piece-p .captured-piece-art{background-position-x:100%}.captured-piece.piece-n .captured-piece-art{background-position-x:60%}.captured-piece.piece-b .captured-piece-art{background-position-x:40%}.captured-piece.piece-r .captured-piece-art{background-position-x:80%}.captured-piece.piece-q .captured-piece-art{background-position-x:20%}.captured-piece.piece-k .captured-piece-art{background-position-x:0%}.captured-piece.side-w{color:#f4f1e8;text-shadow:none}.captured-piece.side-w .captured-piece-art{opacity:.98}.captured-piece.side-b{color:#858781;text-shadow:none}.captured-piece.side-b .captured-piece-art{opacity:1;background-position-y:100%}.captured-piece.unknown-capture{background:0 0;border:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;font-weight:700;line-height:1}.captured-piece.latest-capture{box-shadow:none;background:0 0}.captured-piece.private-capture,.captured-piece.revealed-hidden-capture,.captured-piece.unknown-capture{border-radius:6px;width:28px;height:28px;box-shadow:inset 0 0 0 2px #73d8c1,0 0 5px #73d8c18c}.capture-empty{color:var(--text-subtle);white-space:nowrap;font-size:.75rem}.player-captures:focus-visible,.move-history:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.player-turn-state{color:var(--text-subtle);text-transform:uppercase;letter-spacing:0;align-items:center;gap:10px;font-size:.75rem;display:flex}.player-strip.active .player-turn-state>span{color:var(--accent)}.player-turn-state strong{border:1px solid var(--border);min-width:72px;color:var(--text-strong);background:var(--surface-raised);text-align:center;letter-spacing:0;border-radius:7px;padding:6px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem}.player-strip.active .player-turn-state strong{border-color:var(--accent);color:var(--accent)}.panel-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.move-history{grid-template-columns:minmax(0,1fr);align-content:start;margin:8px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.move-history li{border-bottom:1px solid var(--border);color:var(--text-strong);grid-template-columns:2.4ch minmax(0,1fr) minmax(0,1fr) 62px;gap:5px;padding:0;font-size:.8rem;display:grid}.move-history li span{color:var(--text-subtle)}.game-tabs{border-bottom:1px solid var(--border);flex:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.game-tabs button{min-height:44px;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 8px;font-size:.78rem;font-weight:800}.game-tabs button.active{border-bottom-color:var(--accent);color:var(--text-strong)}.game-tabs button:focus-visible,.game-review-controls button:focus-visible,.game-secondary-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.move-pair{border-bottom:1px solid var(--border);grid-template-columns:2.4ch minmax(0,1fr) minmax(0,1fr) 62px;align-items:stretch;gap:5px;padding:0;display:grid}.move-pair .move-number{color:var(--text-subtle);padding:8px 0 8px 4px}.move-cell{border-radius:5px;align-items:center;min-width:0;padding:7px;display:flex}.move-times{grid-template-rows:1fr 1fr;align-content:center;gap:1px;padding-block:3px;display:grid}.move-time{justify-content:flex-end;align-items:center;gap:4px;min-width:62px;height:13px;display:inline-flex}.move-time i{background:var(--accent);border-radius:2px;flex:none;max-width:24px;height:4px;display:block}.move-time small{min-width:29px;color:var(--text-subtle);text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.move-cell.selected{box-shadow:none;background:0 0}.move-cell.selected strong{width:fit-content;color:var(--action-text);background:var(--action-background);border-radius:5px;padding:4px 6px;box-shadow:0 4px 12px #00000052,0 0 0 1px #ffebc247}.move-cell strong{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notation-piece{font-family:Apple Symbols,Segoe UI Symbol,DejaVu Sans,serif;font-size:1.35em;font-weight:400;line-height:1}.move-history .notation-piece{color:inherit}.move-cell small{color:var(--text-subtle);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.move-history .move-result-row{min-height:46px;color:var(--text-strong);justify-content:center;align-items:center;gap:9px;display:flex}.move-result-row strong{font-family:var(--font-display);font-size:1rem}.move-result-row span{color:var(--text-muted);font-size:.75rem}.game-info-panel{flex:1;min-height:0;overflow:auto}.completed-game-summary{background:#daad6312;border:1px solid #daad6359;border-radius:10px;align-items:center;gap:14px;margin-top:10px;padding:14px;display:flex}.completed-game-notation{min-width:68px;color:var(--accent);font-family:var(--font-display);text-align:center;font-size:1.35rem}.completed-game-summary>span{gap:3px;display:grid}.completed-game-summary b{color:var(--text-strong);font-size:.86rem}.completed-game-summary small{color:var(--text-subtle);font-size:.75rem}.game-info-list{gap:8px;margin:18px 0 0;display:grid}.game-info-list div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.game-info-list dt{color:var(--text-subtle);font-size:.75rem}.game-info-list dd{color:var(--text-strong);text-align:right;justify-items:end;gap:2px;margin:0;font-size:.75rem;display:grid}.game-info-list dd small{color:var(--text-subtle);font-size:.75rem;font-weight:400}.share-status{color:var(--accent);overflow-wrap:anywhere;margin:14px 0 0;font-size:.75rem;line-height:1.4}.game-review-controls,.game-secondary-controls{flex:none;gap:8px;display:grid}.game-review-controls{border-top:1px solid var(--border);grid-template-columns:repeat(5,minmax(0,1fr));padding-top:12px}.game-review-controls button{border:1px solid var(--border);min-height:44px;color:var(--text-strong);background:var(--surface-raised);cursor:pointer;border-radius:7px;place-items:center;font-size:1.05rem;display:grid}.game-review-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;width:22px;height:22px}.game-review-controls button:disabled{cursor:not-allowed;opacity:.56}.game-secondary-controls{grid-template-columns:1fr 1fr;padding-top:2px}.game-secondary-controls button{min-height:44px;color:var(--text-subtle);cursor:pointer;text-align:center;background:0 0;border:0;align-items:center;gap:5px;padding:5px 4px;font-size:.75rem;display:inline-flex}.game-secondary-controls svg{flex:none}.game-secondary-controls button:first-child{text-align:left}.game-secondary-controls button:last-child{text-align:right;justify-content:flex-end}.waiting-game-shell .game-secondary-controls button:only-child{text-align:left;justify-content:flex-start}.empty-history{margin:14px 0}.game-help{margin:8px 0 0;line-height:1.55}.dialog-backdrop{z-index:12;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#060907a3;place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.dialog-backdrop-fixed{position:fixed}.app-dialog{border:1px solid var(--border);text-align:center;background:#121814;border-radius:8px;width:min(420px,100%);max-height:85dvh;padding:26px;overflow-y:auto;box-shadow:0 24px 70px #00000070}.app-dialog .dialog-secondary{color:var(--text-subtle);border-color:#0000;margin-top:14px}.table-closure-banner{border:1px solid var(--accent);color:#fff4d6;background:#302917;border-left-width:4px;border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.table-closure-banner>svg{color:#f3c56c;flex:0 0 22px;margin-top:3px}.table-closure-banner h2{color:inherit;margin:0 0 6px;font-size:1.2rem;line-height:1.35}.table-closure-banner p{margin:0;font-size:.95rem;line-height:1.5}:root[data-theme=light] .table-closure-banner{color:#35250d;background:#fff3d8;border-color:#a66a16}:root[data-theme=light] .table-closure-banner>svg{color:#865414}.opponent-departure-dialog{color:var(--text);border-color:var(--accent);width:min(440px,100vw - 32px);max-height:calc(100dvh - 40px)}.opponent-departure-dialog::backdrop{background:#060907b8}.opponent-departure-dialog .dialog-actions{flex-direction:column;align-items:stretch}.opponent-departure-dialog .dialog-actions button{width:100%;min-height:44px}.dialog-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.join-field,.online-controls label{color:var(--text-muted);text-align:left;gap:6px;margin:16px 0;font-size:.76rem;display:grid}.join-field input,.online-controls input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-strong);font:inherit;background:#0d120f;border-radius:8px;padding:9px 10px;font-size:1rem}.online-controls{border:1px solid var(--border);border-radius:9px;gap:8px;margin:0 0 12px;padding:10px;display:grid}.online-controls>button,.online-controls>div button{border:1px solid var(--border);color:var(--text-strong);cursor:pointer;background:#ffffff0d;border-radius:7px;padding:7px 9px}.online-controls>div{color:var(--accent);flex-wrap:wrap;align-items:center;gap:7px;font-size:.75rem;display:flex}.terminal-result-panel{border-bottom:1px solid var(--border);flex:none;padding-bottom:16px}.terminal-result-panel h2{font-size:1.5rem}.terminal-result-panel p{font-size:.85rem;line-height:1.5}.terminal-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.terminal-actions button{border-radius:6px;justify-content:center;align-items:center;gap:7px;max-width:100%;min-height:44px;padding:9px 12px;font-size:.8rem;display:inline-flex}.terminal-actions button svg{flex:none}.terminal-navigation{padding-top:8px}.terminal-result-panel .storage-notice{width:auto;margin-top:12px;position:static;transform:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.selection-status{align-items:baseline;gap:11px;display:flex}.selection-status span,.game-feedback-panel p{color:var(--text-subtle);font-size:.76rem}.selection-status strong{min-width:2ch;color:var(--accent);text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem}@media (width<=1100px){.player-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-nav,.landing-hero{width:min(920px,100% - 40px)}.landing-hero{grid-template-columns:340px minmax(0,1fr);gap:16px}.landing-copy{padding:20px}.landing-copy h1{font-size:1.875rem}.landing-footer{width:min(920px,100% - 40px);margin:0 auto;padding:0 0 18px}}@media (width>=761px) and (height<=700px){.game-actions.game-action-panel{gap:6px;padding:8px 12px}.game-record-panel{gap:8px;padding-block:8px}}@media (width>=761px) and (width<=1000px){.landing-hero{grid-template-columns:minmax(0,1fr)}.landing-copy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:16px 24px;display:grid}.landing-intro,.landing-actions,.landing-guest-note{grid-column:1}.landing-copy .landing-signin-card{border-top:0;border-left:1px solid var(--border);grid-area:1/2/4;margin:0;padding:0 0 0 24px}.landing-actions,.landing-guest-note{margin-top:0}.landing-scene{aspect-ratio:1.5;flex:none;min-height:0}}@media (width<=760px){.landing-nav,.landing-hero,.landing-footer{width:calc(100% - 32px)}.landing-nav{height:60px}.landing-brand-mark{width:36px;height:36px;font-size:1.25rem}.landing-hero{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px 0}.landing-copy{padding:20px}.landing-copy h1{font-size:1.875rem;line-height:1.2}.landing-lede{margin-top:12px}.landing-actions{grid-template-columns:1fr 1fr;display:grid}.landing-signin-form,.landing-signin-names{grid-template-columns:1fr}.landing-signin-form>*,.landing-signin-names{grid-column:1}.landing-board-column{width:100%}.landing-scene{aspect-ratio:1.15;flex:none;min-height:0}.landing-footer{flex-direction:column;align-items:flex-start;gap:8px}.landing-board-status{gap:8px}.landing-board-status span:first-child{max-width:45%}.landing-footer{margin-top:8px}.signup-card,.signup-success{border-radius:0;margin-top:16px;padding:20px 0}.signup-name-grid{grid-template-columns:1fr;gap:19px}.board-shell{grid-template:"primary""board""actions""record"/minmax(0,1fr);height:auto;min-height:100svh;overflow:visible}.board-column{grid-template-rows:auto auto auto}.board-shell:has(.online-invitation){padding-bottom:var(--online-invitation-height,150px)}.game-primary-panel:has(.online-invitation){z-index:4}.online-invitation{z-index:4;padding:12px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border-top:1px solid var(--accent);background:var(--surface);position:fixed;inset:auto 0 0;box-shadow:0 -6px 24px #00000040}.online-invitation .turn-detail{color:var(--text-strong);margin:0 0 10px}.online-invitation .online-controls{border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.online-invitation .online-controls>button{min-height:44px}.board-position>.scene-frame{aspect-ratio:1;flex:none;height:auto;min-height:0}.player-hub-toolbar{gap:8px;padding-bottom:12px}.player-hub-brand{gap:6px;min-width:0}.player-hub-brand>span{flex-shrink:0;font-size:1.5rem}.player-hub-brand>strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.75rem;overflow:hidden}.player-hub-account{flex-shrink:0;grid-template-columns:minmax(0,1fr) auto;gap:8px}.player-hub-account>span{display:none}.player-hub-account strong{white-space:nowrap;text-overflow:ellipsis;max-width:64px;font-size:.75rem;overflow:hidden}.player-hub-account button{grid-column:2}.player-hub-grid{grid-template-columns:1fr}.player-hub-card-featured{grid-column:auto}.game-hall-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.game-hall-option{padding:10px 7px}.game-hall-primary-actions,.game-hall-status{flex-direction:column;align-items:stretch}.game-hall-primary-actions button,.game-hall-status button{width:100%}.player-hub-footer{justify-content:flex-start;padding-bottom:20px}.player-hub-card-actions button{flex:120px}.settings-row:has(input[type=checkbox]){flex-direction:row;align-items:center}.content-card{padding:16px 0}.settings-row{flex-direction:column;align-items:flex-start;gap:12px}.game-primary-panel,.game-record-panel,.game-action-panel{border-left:0}.game-primary-panel{max-height:none;padding:12px 16px;overflow:visible}.game-status{font-size:1.125rem}.game-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.game-record-panel{border-top:1px solid var(--border);min-height:0;padding:18px 16px;overflow:visible}.history-panel{flex:0 auto;min-height:0;max-height:160px}.game-actions.game-action-panel{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 16px}}@media (width<=380px){.landing-copy{padding:16px}.landing-copy h1{font-size:1.875rem}.landing-provider-actions,.landing-actions{grid-template-columns:1fr}.landing-board-meta,.landing-board-status{padding:12px}.landing-board-status{font-size:.75rem}.player-turn-state>span{display:none}}@container (width<=600px){.player-strip{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;min-height:82px;padding-inline:10px}.player-name-line{flex-wrap:nowrap}.player-pending-detail,.player-connection{flex:none;max-width:100%}.player-strip-middle{grid-area:2/1/auto/-1}}.move-select{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;max-width:100%;padding:0}.move-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:5px}.player-turn-state{grid-column:-2/-1}.game-swap-board{grid-column:2}.move-select{text-align:left;min-width:0;min-height:0;display:flex}.move-select strong{display:block}@media (width>=761px){#root:has(>.board-shell){flex-direction:column;height:100dvh;display:flex}#root:has(>.board-shell)>[role=status]{flex:none}#root>.board-shell{flex:1;height:auto;min-height:0}}.content-shell.dashboard-page-shell{align-content:start;justify-items:center}.content-card.dashboard-page{width:100%;max-width:960px;padding:0}.dashboard-page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.dashboard-page-heading h1{margin:0}.dashboard-page-heading .eyebrow{margin:0 0 8px}.dashboard-page-description{color:var(--text-muted);margin:12px 0 0;line-height:1.65}.dashboard-page-heading>button{flex-shrink:0}.dashboard-page .dashboard-page-tabs{border-bottom:1px solid var(--border);margin:0 0 16px;display:flex}.dashboard-page .dashboard-page-tabs button{min-width:0;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:12px 4px}.dashboard-page .dashboard-page-tabs [aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.dashboard-page button:not(.password-input-toggle):focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=520px){.dashboard-page-heading{flex-direction:column;align-items:flex-start;gap:16px}}html:has(.lobby-card){scrollbar-gutter:stable}.lobby-card .lobby-view-tabs{margin-bottom:12px}.content-shell.dashboard-page-shell:has(.lobby-card){grid-template-columns:minmax(0,1fr)}.lobby-card{min-width:0}.lobby-card .lobby-view-tabs button{font-weight:700}.lobby-card .lobby-category-tabs{margin-bottom:0}.lobby-card .dashboard-page-tabs.lobby-category-tabs button[role=tab]{padding-inline:2px;font-size:.75rem}.lobby-card .dashboard-page-tabs.lobby-view-tabs button[role=tab][aria-selected=true]{background:var(--action-background);color:var(--action-text);box-shadow:none;font-weight:800}.lobby-card .dashboard-page-tabs.lobby-category-tabs button[role=tab][aria-selected=true]{background:color-mix(in srgb, var(--action-background) 30%, var(--surface));color:var(--text-strong);box-shadow:inset 0 0 0 2px var(--accent);font-weight:800}.lobby-results{position:relative}.lobby-previous-results{opacity:.18;pointer-events:none}.lobby-loading-notice{z-index:3;border:1px solid var(--border);background:#101512;border-radius:12px;padding:0 16px;position:absolute;inset:0 0 auto}.landing-shell,.signup-shell,.content-shell,.player-hub-shell{background:var(--page-background)}.landing-shell:before{content:none}.eyebrow,.landing-kicker,.player-hub-card-kicker{letter-spacing:.08em;font-size:.6875rem;font-weight:700}.landing-copy,.landing-board-card,.signup-card,.signup-success,.player-hub-card,.dashboard-primary-grid .player-hub-card,.settings-group,.about-rules article{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.landing-copy,.signup-card,.signup-success{padding:var(--space-group)}.signup-card,.signup-success{margin-top:32px}.signup-intro{margin-bottom:24px;padding-bottom:24px}.landing-brand-mark,.signup-brand-mark,.player-hub-brand>span{border:1px solid var(--border-accent);background:var(--surface-selected);width:40px;height:40px;color:var(--accent);border-radius:12px;flex-shrink:0;place-items:center;font-size:1.5rem;display:inline-grid}.player-hub,.content-card.dashboard-page{max-width:var(--page-width)}.player-hub-header{padding-top:28px}.player-hub-header h1{font-family:var(--font-display);font-size:var(--text-page);text-transform:none;letter-spacing:0;color:var(--text-strong);font-weight:400;line-height:1.3}.player-hub-header .eyebrow{margin-bottom:8px}.player-hub-card-featured,.player-hub-card-featured:hover{background:var(--surface)}.player-hub-card:hover{background:var(--surface-raised);transform:none}.dashboard-primary-grid .dashboard-match-card{border-color:var(--border-accent);background:linear-gradient(140deg, #daad630d, transparent 60%), var(--surface)}.player-hub-card-featured .player-hub-icon{color:var(--accent);opacity:.65}.player-hub-footer{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.player-hub-footer button{color:var(--text-muted)}.player-hub-footer button:hover{color:var(--accent)}.dashboard-page-heading{margin-bottom:28px}.dashboard-page-description{max-width:65ch;font-size:var(--text-body)}.content-card.dashboard-page:is(.preferences-page,.about-page){max-width:720px}.settings-group{padding:0 24px}.settings-group .settings-row{padding-block:24px}.settings-group .settings-row:last-child{border-bottom:0}.settings-options{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.settings-language-picker{width:min(100%,260px);min-width:0}.settings-language-picker .select-picker-trigger{min-height:44px;padding:8px 12px}.settings-option{border:1px solid var(--border);min-width:0;min-height:44px;color:var(--text-strong);cursor:pointer;background:#ffffff05;border-radius:9px;grid-template-columns:max-content 16px;align-content:center;gap:8px;padding:8px 10px;transition:border-color .15s,background .15s;display:grid}.settings-option:hover{background:#daad630d;border-color:#daad6373}.settings-option:has(input:checked){background:#daad6317;border-color:#daad63a6}.settings-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.settings-option:has(input:disabled){cursor:not-allowed;opacity:.65}.settings-option input[type=radio]{appearance:none;background:0 0;border:1px solid #788078;border-radius:50%;grid-area:1/2;align-self:center;width:15px;height:15px;margin:0}.settings-option input[type=radio]:checked{border:4px solid var(--accent);background:#192019}.settings-option span{grid-area:1/1;align-self:center;font-size:.8rem;font-weight:600;display:block}.settings-row strong{font-size:var(--text-body)}.settings-row small{font-size:var(--text-caption);line-height:1.6}.settings-row select{flex-shrink:0;min-width:180px}.settings-row input[type=checkbox]{appearance:none;border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;border-radius:20px;flex-shrink:0;width:44px;height:26px;margin:9px 0;position:relative}.settings-row input[type=checkbox]:after{content:"";background:var(--text-muted);border-radius:50%;width:16px;height:16px;position:absolute;top:4px;left:4px}.settings-row input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.settings-row input[type=checkbox]:checked:after{background:var(--surface-page);left:22px}.about-rules{gap:16px;display:grid}.about-rules article{grid-template-columns:36px minmax(0,1fr);gap:8px 16px;padding:24px;display:grid}.about-step{color:var(--accent);font-size:var(--text-caption);font-variant-numeric:tabular-nums;grid-row:1/3;padding-top:4px}.about-rules h2{font-size:1.125rem}.about-rules p{color:var(--text-muted);line-height:1.7;font-size:var(--text-body);grid-column:2;margin:0}.landing-signin-form input,.signup-field input,.signup-field select,.game-password input,.lobby-password input,.settings-row select,.join-field input,.online-controls input{border-color:var(--border);border-radius:var(--radius-control);color:var(--text-strong);background:var(--surface-input);font-size:1rem}:is(.landing-signin-form,.signup-field) input[aria-invalid=true],.signup-field select[aria-invalid=true]{border-color:var(--danger)}.signup-primary-button,.lobby-card .lobby-primary,.create-game-card .lobby-primary{border:1px solid var(--accent);border-radius:var(--radius-control);color:var(--action-text);background:var(--action-background);box-shadow:none;font-weight:700}.signup-username-row button,.control-button,.terminal-actions button,.app-dialog button,.lobby-card button:not(.content-back):not(.lobby-primary):not([role=tab]):not(.product-action){border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text-strong);background:var(--surface-raised);box-shadow:none}:is(.control-button,.terminal-actions button,.app-dialog button,.signup-username-row button):hover:not(:disabled){border-color:var(--border-accent);background:var(--surface-hover);transform:none}.product-action{border-radius:var(--radius-control);min-width:44px;min-height:44px;box-shadow:none;cursor:pointer;font-size:var(--text-caption);text-align:center;border:1px solid;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-weight:700;line-height:1.25;text-decoration:none;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.product-action:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.product-action:disabled{cursor:not-allowed;opacity:.55}.product-action svg{flex:none}.product-action--primary{border-color:var(--accent);color:var(--action-text);background:var(--action-background)}.product-action--primary:hover:not(:disabled){border-color:var(--accent);background:var(--action-hover)}.product-action--secondary{border-color:var(--border);color:var(--text-strong);background:var(--surface-raised)}.product-action--secondary:hover:not(:disabled){border-color:var(--border-accent);background:var(--surface-hover)}@media (prefers-reduced-motion:reduce){.product-action{transition:none}}.control-button-accent{color:var(--accent)}.landing-provider-actions small{color:var(--text-subtle)}.landing-signin-error,.signup-submit-error,.menu-account-error{color:var(--danger)}.app-dialog{border-radius:var(--radius-card);background:var(--surface);text-align:left;padding:24px}.app-dialog h2{line-height:1.4}.app-dialog .dialog-actions{justify-content:flex-start;align-items:center;margin-top:24px}.app-dialog .dialog-secondary{color:var(--text-muted);margin-top:0}.computer-side-picker{border:0;min-width:0;margin:24px 0 0;padding:0}.computer-side-picker legend{margin-bottom:10px;padding:0;font-weight:700}.computer-side-segments{border:1px solid var(--border);border-radius:var(--radius-control);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.computer-side-segments label{cursor:pointer;min-width:0;position:relative}.computer-side-segments input{opacity:0;width:1px;height:1px;position:absolute}.computer-side-segments span{border-radius:var(--radius-control);min-height:44px;color:var(--text-muted);border:1px solid #0000;justify-content:center;align-items:center;display:flex}.computer-side-segments label:hover span{background:var(--surface-hover)}.computer-side-segments input:checked+span{border-color:var(--border-accent);background:var(--surface-raised);color:var(--accent);font-weight:700}.computer-side-segments input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.dashboard-page .dashboard-page-tabs,.game-tabs{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:4px;padding:4px}.dashboard-page .dashboard-page-tabs button,.game-tabs button{border-radius:var(--radius-control);color:var(--text-muted);font-size:var(--text-caption);background:0 0;border:0;font-weight:500}.dashboard-page .dashboard-page-tabs [aria-selected=true],.game-tabs button.active{color:var(--accent);background:var(--surface-selected);border:0;box-shadow:inset 0 0 0 1px #daad633d}.lobby-card>.lobby-section{margin-top:24px}.lobby-section>h2{font-size:var(--text-section)}.lobby-row{background:var(--surface);border-radius:var(--radius-control)}.lobby-empty,.player-empty-state{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);font-size:var(--text-caption);padding:24px;line-height:1.7}.lobby-loading-notice{background:var(--surface);border-radius:var(--radius-control)}.game-primary-panel,.game-record-panel,.game-action-panel,.player-strip{background:var(--surface)}.player-strip.active{background:linear-gradient(90deg, var(--surface-selected), var(--surface) 55%)}.board-column{background:var(--surface-page)}.game-tabs{border:0;border-bottom:1px solid var(--border);flex-shrink:0;padding:0}.game-summary .panel-label{color:var(--text-muted)}@media (width<=760px){.signup-card,.signup-success{margin-top:20px;padding:20px}}@media (width<=520px){.settings-group{padding:0 16px}.settings-row:has(select){flex-direction:column;align-items:stretch;gap:12px}.settings-row select{width:100%}.settings-options{justify-content:flex-start;gap:6px}.about-rules article{grid-template-columns:24px minmax(0,1fr);gap:8px 12px;padding:20px 16px}.dashboard-page-heading{margin-bottom:24px}.landing-copy,.lobby-empty{padding:20px 16px}.player-hub-header{padding-top:24px}.player-hub-brand>span{width:36px;height:36px}}@media (width>=761px) and (height<=800px){.game-record-panel{gap:8px;padding-block:8px}}.content-shell:not(.dashboard-page-shell)>.content-card:not(.dashboard-page){border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:24px}.app-dialog .dialog-actions>button:not(.dialog-secondary){border-color:var(--border-accent);color:var(--accent);background:var(--surface-selected)}@media (width<=760px){.player-hub-account{flex-shrink:1;min-width:0;display:flex}.player-hub-account .player-hub-person-link{flex:auto;min-width:0}.player-hub-account .player-hub-person-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.chat-panel{flex-direction:column;min-height:0;display:flex;overflow:auto}.chat-panel .chat-messages{flex:160px;min-height:80px;margin:0;padding:0;list-style:none;overflow-y:auto}.chat-messages li{overflow-wrap:anywhere;padding:6px 0}.chat-messages strong{font-size:.8rem}.chat-messages p{white-space:pre-wrap;margin:0;font-size:.85rem}.chat-composer{flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px;padding-top:8px;display:grid}.chat-input{min-width:0;position:relative}.chat-composer>[role=alert]{grid-column:1/-1;margin:0}.chat-composer .control-button{min-height:44px;padding:8px 12px}.chat-composer textarea{box-sizing:border-box;resize:none;scrollbar-width:thin;border:1px solid var(--border);width:100%;height:44px;min-height:44px;max-height:120px;color:var(--text-strong);font:inherit;background:#ffffff05;border-radius:8px;padding:11px 60px 11px 12px;font-size:.82rem;line-height:20px;transition:border-color .12s,background .12s;display:block;overflow-y:auto}.chat-composer textarea:focus-visible{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface);outline:none}.chat-composer textarea:placeholder-shown{padding-right:12px}.chat-composer textarea:placeholder-shown+small{visibility:hidden}.chat-composer textarea:disabled{color:var(--text-muted);opacity:.6;cursor:not-allowed}.chat-composer .control-button:not(:disabled){color:var(--accent);border-color:var(--accent);background:#e8b1501a}.chat-composer small{color:var(--text-muted);pointer-events:none;font-size:.65rem;position:absolute;top:15px;right:10px}.game-tabs:has(#chat-tab){grid-template-columns:.85fr .75fr .7fr 1.6fr}.game-tabs:has(#chat-tab) button{padding-inline:3px;font-size:.72rem}@media (width<=760px){.history-panel.chat-panel{flex:none;max-height:none;overflow:visible}.chat-panel .chat-messages{flex:0 0 220px;max-height:220px}}.entry-settings-button,.player-hub-account button{border:1px solid var(--border);border-radius:var(--radius-control);min-height:36px;color:var(--text-subtle);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.82rem;font-weight:500;display:inline-flex}.entry-settings-button:hover,.player-hub-account button:hover{color:var(--text-strong);background:var(--surface-hover)}.entry-settings-button:focus-visible,.player-hub-account button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.player-hub-account .player-hub-person-link{min-width:0;min-height:44px;color:var(--text-strong);background:0 0;border:0;gap:10px;padding:0;font-weight:700}.player-hub-account .player-hub-person-link:hover{color:var(--accent);background:0 0}@media (width<=760px){.entry-settings-button,.player-hub-account button{min-height:40px}}.settings-option[aria-pressed=true]{border-color:var(--border-accent);background:var(--surface-selected)}.settings-option[aria-pressed=true]:after{content:"✓";color:var(--accent);grid-area:1/2;font-weight:800}.player-hub-account{display:flex}.player-hub-account strong{flex:1;min-width:0}:root[data-theme=light] .landing-shell{background:var(--page-background)}:root[data-theme=light] .landing-nav{border-bottom-color:var(--border)}:root[data-theme=light] .settings-option,:root[data-theme=light] .signup-field input,:root[data-theme=light] .signup-field select,:root[data-theme=light] .settings-row select{color:var(--text-strong);background:var(--surface-input);border-color:var(--border)}:root[data-theme=light] .settings-option input[type=radio]:checked{background:var(--surface-input)}:root[data-theme=light] .settings-option:is([aria-pressed=true],:has(input:checked)){border-color:var(--border-accent);background:#f4ead9}:root[data-theme=light] .product-action--primary{border-color:var(--accent);color:var(--action-text);background:var(--action-background)}:root[data-theme=light] .lobby-loading-notice,:root[data-theme=light] .app-dialog,:root[data-theme=light] .player-hub-card,:root[data-theme=light] .landing-copy,:root[data-theme=light] .landing-board-card{background-color:var(--surface);color:var(--text-strong)}:root[data-theme=light] :is(.player-hub-card,.landing-copy,.landing-board-card,.settings-group,.about-rules article,.create-settings,.create-preview,.history-row,.leaderboard-list){box-shadow:0 12px 34px #2030220f}:root[data-theme=light] .board-column{background:#e9eee6}:root[data-theme=light] .scene-frame{background:var(--board-scene-background)}:root[data-theme=light] .game-primary-panel,:root[data-theme=light] .game-action-panel{background:var(--surface)}:root[data-theme=light] .game-record-panel{background:#f8f9f4}:root[data-theme=light] .player-strip{background:var(--surface)}:root[data-theme=light] .player-strip.active{background:linear-gradient(90deg, #f5e9d2, var(--surface) 42%)}:root[data-theme=light] .captured-piece.side-w .captured-piece-art{opacity:1;filter:drop-shadow(0 0 1px #1f3326f2)drop-shadow(0 1px 1px #1f3326bf)}:root[data-theme=light] :is(.captured-piece.private-capture,.captured-piece.revealed-hidden-capture,.captured-piece.unknown-capture){background:#e1f0e9;box-shadow:inset 0 0 0 2px #278b78}:root[data-theme=light] .captured-piece.unknown-capture{color:#214b3d}:root[data-theme=light] .player-strip.active.clock-urgent{background:linear-gradient(90deg, var(--surface-danger), var(--surface) 42%)}:root[data-theme=light] .game-tabs{background:var(--surface-raised);border:1px solid var(--border)}:root[data-theme=light] .game-tabs button.active{color:var(--accent);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border-accent)}:root[data-theme=light] .game-review-controls button:not(:disabled):hover,:root[data-theme=light] .game-review-controls button:not(:disabled):focus-visible{border-color:var(--border-accent);background:var(--surface-selected)}:root[data-theme=light] .game-secondary-controls button{color:var(--text-muted)}:root[data-theme=light] .game-hall-option:hover:not(:disabled){border-color:var(--border-accent);background:var(--surface-hover)}:root[data-theme=light] .game-hall-option.selected:hover:not(:disabled){background:var(--surface-selected)}@media (width<=640px){.player-hub-toolbar{grid-template-columns:40px minmax(0,1fr) 44px 44px;align-items:center;gap:8px;padding-bottom:12px;display:grid}.player-hub-brand{grid-column:1;min-width:0}.player-hub-brand>strong{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.player-hub-account{display:contents}.player-hub-account .player-hub-person-link{grid-area:1/2;justify-content:flex-start;width:100%;min-width:0}.player-hub-account>strong{text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;overflow:hidden}.player-hub-account .player-hub-settings{grid-area:1/3}.player-hub-account .player-hub-sign-out{grid-area:1/4}.player-hub-toolbar:not(:has(.player-hub-settings)){grid-template-columns:40px minmax(0,1fr) 44px}.player-hub-toolbar:not(:has(.player-hub-settings)) .player-hub-sign-out{grid-column:3}.player-hub-account :is(.player-hub-settings,.player-hub-sign-out){width:44px;height:44px;padding:0}.player-hub-utility-label{display:none}.player-hub-header{padding-top:16px}.player-hub-header .eyebrow{margin-bottom:4px}.dashboard-primary-grid{margin-top:12px}}@media (width<=600px){.dashboard-primary-grid .game-hall-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.dashboard-primary-grid .game-hall-option{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;gap:2px 4px;min-height:88px;padding:10px 8px}.dashboard-primary-grid .game-hall-option strong{grid-column:1/-1}.dashboard-primary-grid .game-hall-option>span:not(.game-hall-selection){grid-area:2/1}.dashboard-primary-grid .game-hall-option small{grid-area:3/1/auto/-1}.dashboard-primary-grid .game-hall-selection{grid-area:2/2}.dashboard-primary-grid .game-hall-primary-actions{margin-top:16px}}.landing-footer{flex-wrap:wrap}.landing-utility-links{border-top:1px solid var(--border);width:100%;padding-block:12px 8px}.community-footer-links{flex-wrap:wrap;align-items:center;gap:0 20px;display:flex}.community-footer-links :is(a,button){min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;font:inherit;text-transform:none;background:0 0;border:0;align-items:center;margin:0;padding:0;font-size:.78rem;font-weight:400;line-height:1.5;text-decoration:none;display:inline-flex}.community-footer-links :is(a,button):hover{color:var(--accent)}.community-footer-links :is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.player-hub-footer.community-footer-links{justify-content:flex-start}.site-footer{box-sizing:border-box;border-top:1px solid var(--border);text-transform:none;letter-spacing:normal;gap:8px;width:100%;margin-top:24px;padding-top:12px;display:grid}.landing-footer .site-footer{margin-top:0}.site-footer .community-footer-links{justify-content:flex-start;gap:4px 28px}.site-footer-meta{color:var(--text-subtle);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:4px;font-size:.75rem;line-height:1.6;display:flex}.account-form{gap:1rem;max-width:34rem;display:grid}.account-form label{gap:.4rem;font-weight:600;display:grid}.account-form input:not([type=file]){box-sizing:border-box;border:1px solid var(--border,#a8b0a5);background:var(--surface,#fff);width:100%;color:inherit;font:inherit;border-radius:.65rem;padding:.75rem}.account-form input[readonly]{opacity:.7}.account-recovery-provider-note{color:var(--text-muted,#526055);margin:0;font-size:.875rem;line-height:1.5}.account-recovery-provider-note a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.account-avatar-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.account-avatar-section{gap:.5rem;display:grid}.account-avatar-section p{margin:0;font-size:.875rem;line-height:1.5}.account-avatar-section p:empty{display:none}.account-avatar{object-fit:cover;background:var(--surface-hover);border-radius:50%;width:4rem;height:4rem}.account-avatar-fallback{color:var(--accent);place-items:center;font-size:2rem;display:grid}.account-avatar-row label{cursor:pointer;position:relative}.account-avatar-row label:focus-within{outline-offset:3px;outline:2px solid}.account-avatar-row input[type=file]{opacity:0;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.player-bot-badge{vertical-align:middle;border:1px solid;border-radius:999px;margin-inline-start:.45rem;padding:.1rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.landing-forgot-link{color:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:.2rem 0;text-decoration:underline}.profile-page .account-form form h2{margin:.25rem 0 0;font-size:1.125rem;font-weight:500;line-height:1.4}.profile-page .account-form form label{font-size:.875rem;line-height:1.45}.profile-page .account-form form input:not([type=file]){font-size:.9375rem;font-weight:400;line-height:1.5}.profile-page .account-form form small,.profile-page .account-form>p{font-size:.875rem;line-height:1.5}.profile-page .account-form :is(button,.account-avatar-row label){font-size:.875rem;font-weight:600}.person-page{width:min(1120px,100%)}.person-identity{border:1px solid var(--border);border-radius:var(--radius-card,12px);background:var(--surface,#101512f5);grid-template-columns:5rem minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.25rem;display:grid}.person-avatar{aspect-ratio:1;border:1px solid var(--border-accent);background:var(--surface-hover);width:5rem;color:var(--accent);border-radius:50%;place-items:center;font-size:2.5rem;font-weight:700;display:grid;position:relative;overflow:hidden}.person-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.person-identity-copy{min-width:0}.person-identity-copy h2{overflow-wrap:anywhere;color:var(--text-strong);font-family:var(--font-display);margin:0;font-size:clamp(1.25rem,2vw,1.5rem)}.person-country-flag{white-space:nowrap;margin-inline-start:.45rem;font-family:system-ui,sans-serif;font-size:.85em;display:inline-block}.person-full-name{color:var(--text-strong);margin:.2rem 0 0;font-size:1rem}.person-location{color:var(--text-subtle);align-items:center;gap:.35rem;margin:.45rem 0 0;display:flex}.person-joined{color:var(--text-subtle);flex-wrap:wrap;gap:.4rem;margin:.65rem 0 0;font-size:.85rem;display:flex}.person-joined time{color:var(--text-strong)}.person-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.person-actions .product-action{white-space:nowrap}.person-results{margin-top:clamp(1.25rem,3vw,2rem)}.person-results>h2{color:var(--text-strong);font-family:var(--font-display);margin:0 0 1rem;font-size:1.5rem}.person-results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.person-category{border:1px solid var(--border);border-radius:var(--radius-card,12px);background:var(--surface,#101512f5);min-width:0;padding:1.25rem}.person-category h3{color:var(--text-strong);margin:0 0 1.25rem;font-size:1.15rem}.person-rating{color:var(--text-subtle);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 .5rem;display:flex}.person-rating strong{color:var(--accent);font-size:2rem;line-height:1}.person-win-rate{color:var(--text-subtle);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 1.25rem;display:flex}.person-win-rate strong{color:var(--text-strong);font-size:1.15rem}.person-chart{margin:0 0 1.25rem}.person-chart-caption,.person-chart-dates{color:var(--text-subtle);justify-content:space-between;gap:.5rem;font-size:.75rem;display:flex}.person-chart-caption{margin-bottom:.45rem}.person-chart-dates{margin-top:.15rem}.person-chart svg{width:100%;height:auto;display:block;overflow:visible}.person-chart-grid{fill:none;stroke:var(--border);stroke-width:1px}.person-chart-axis{fill:var(--text-subtle);font-family:inherit;font-size:10px}.person-chart-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.person-chart-point{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.person-chart-empty{border-top:1px solid var(--border);min-height:8.8rem;color:var(--text-subtle);place-items:center;margin-bottom:1.25rem;font-size:.85rem;display:grid}.person-category dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.person-category dl div{border-top:1px solid var(--border);text-align:center;gap:.4rem;padding-top:.8rem;display:grid}.person-category dt{color:var(--text-subtle);font-size:.85rem}.person-category dd{color:var(--text-strong);margin:0;font-size:1.2rem;font-weight:700}@media (width<=760px){.person-identity{grid-template-columns:4.5rem minmax(0,1fr);gap:1rem}.person-avatar{width:4.5rem;font-size:2.25rem}.person-actions{grid-column:1/-1;justify-content:flex-start}.person-results-grid{grid-template-columns:1fr}}.content-card.dashboard-page.community-policy-page{max-width:720px}.community-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start;gap:20px;display:grid}.community-layout--single{grid-template-columns:minmax(0,1fr)}.community-add-feedback{white-space:nowrap;justify-content:center;align-items:center;gap:8px;display:inline-flex}.community-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);min-width:0;padding:24px}.community-panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding-bottom:18px;display:flex}.community-panel-heading h2{font-size:var(--text-section);margin:0;line-height:1.35}.community-count{border:1px solid var(--border);min-width:28px;color:var(--text-muted);font-size:var(--text-caption);text-align:center;border-radius:999px;padding:4px 8px}.community-history{flex-direction:column;min-height:455px;display:flex}.community-layout--single .community-history{min-height:0}.community-empty{min-height:345px;color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.community-empty>svg,.community-signin>svg{box-sizing:content-box;border:1px solid var(--border);background:var(--surface-raised);width:24px;height:24px;color:var(--accent);border-radius:14px;padding:14px}.community-empty p,.community-signin p{font-size:var(--text-body);margin:0}.community-feedback-list{gap:10px;padding-top:18px;display:grid}.community-feedback-item{border:1px solid var(--border);background:var(--surface-input);width:100%;min-width:0;color:var(--text-strong);cursor:pointer;text-align:start;border-radius:12px;gap:12px;padding:16px;transition:border-color .15s,background .15s;display:grid}.community-feedback-item:hover,.community-feedback-item.is-selected{border-color:var(--border-accent);background:var(--surface-selected)}.community-feedback-item>strong{overflow-wrap:anywhere;font-size:var(--text-body);font-weight:700;line-height:1.45}.community-feedback-topline,.community-feedback-bottomline,.community-detail-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.community-feedback-bottomline{color:var(--text-subtle)}.community-feedback-bottomline>svg{color:var(--accent);flex:none}.community-kind,.community-status{width:fit-content;font-size:var(--text-caption);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;font-weight:700;line-height:1.25;display:inline-flex}.community-kind{color:var(--accent)}.community-status{border:1px solid var(--border);color:var(--text-muted);padding:6px 9px}.community-status[data-status=resolved]{color:var(--success)}.community-status[data-status=in-progress],.community-status[data-status=planned]{color:var(--accent)}.community-feedback-author{overflow-wrap:anywhere;min-width:0;color:var(--text-muted);font-size:var(--text-caption);align-items:center;gap:6px;line-height:1.5;display:inline-flex}.community-feedback-author img{object-fit:cover;background:var(--surface-hover);border-radius:50%;flex:none;width:19px;height:19px}.community-pagination{border-top:1px solid var(--border);justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;display:flex}.community-pagination button,.community-text-action{color:var(--accent);cursor:pointer;font:inherit;font-size:var(--text-caption);background:0 0;border:0;padding:0;font-weight:700}.community-pagination button:disabled{color:var(--text-subtle);cursor:not-allowed;opacity:.55}.community-form{align-content:start;gap:19px;display:grid}.community-form-page{max-width:640px;margin-inline:auto}.community-field{min-width:0;color:var(--text-strong);font-size:var(--text-body);gap:8px;font-weight:700;display:grid}.community-field-label{display:block}.community-kind-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.community-kind-options button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-input);min-height:43px;color:var(--text-muted);cursor:pointer;font:inherit;justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex}.community-kind-options button:hover,.community-kind-options button.is-selected{border-color:var(--border-accent);background:var(--surface-selected);color:var(--accent)}.community-field input,.community-field textarea,.community-status-control select{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-input);width:100%;min-width:0;color:var(--text-strong);font:inherit;outline:none;padding:11px 13px;font-size:1rem;font-weight:400}.community-field input{min-height:44px}.community-field textarea{resize:vertical;min-height:122px;line-height:1.6}.community-field input:focus,.community-field textarea:focus,.community-status-control select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-selected)}.community-upload{border:1px dashed var(--border-accent);border-radius:var(--radius-control);background:var(--surface-input);min-width:0;min-height:68px;color:var(--text-strong);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;display:flex;position:relative}.community-upload:hover,.community-upload:focus-within{border-color:var(--accent);background:var(--surface-selected)}.community-upload:focus-within{outline:2px solid var(--accent);outline-offset:2px}.community-upload>svg{color:var(--accent);flex:none}.community-upload>span{gap:3px;min-width:0;display:grid}.community-upload strong{font-size:var(--text-body)}.community-upload small{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere;font-weight:400}.community-upload input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.community-submit{width:100%;min-height:44px;margin-top:2px}.community-signin{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:230px;display:flex}.community-detail{align-content:start;gap:17px;display:grid}.community-detail-page{max-width:760px;margin-inline:auto}.community-detail-meta{flex-wrap:wrap;justify-content:flex-start}.community-detail h2{overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--text-section);margin:0;font-weight:500;line-height:1.4}.community-description{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-muted);font-size:var(--text-body);margin:0;line-height:1.7}.community-attachment{border:1px solid var(--border);object-fit:contain;border-radius:10px;max-width:100%;max-height:350px;display:block}.community-detail-author{border-top:1px solid var(--border);padding-top:14px}.community-status-control{color:var(--text-strong);font-size:var(--text-body);gap:8px;font-weight:700;display:grid}.community-notice{color:var(--accent);font-size:var(--text-body);margin:16px 0 0}.community-policy{align-content:start;gap:1.5rem;display:grid}.community-policy section{border-bottom:1px solid var(--border);padding-bottom:1.5rem}.community-policy-page .community-policy>section:last-child,.discovery-document .community-policy>section:last-child{border-bottom:0;padding-bottom:0}.community-policy section h2{font-size:var(--text-section);margin:0 0 .7rem;line-height:1.4}.community-policy section p{max-width:70ch;color:var(--text-muted);font-size:var(--text-body);margin:0;line-height:1.7}.community-policy section p+p{margin-top:.9rem}.community-policy-links{flex-wrap:wrap;gap:.75rem;display:flex}@media (width<=760px){.community-layout{grid-template-columns:minmax(0,1fr);gap:16px}.community-history{min-height:260px}.community-empty{min-height:190px}}@media (width<=520px){.community-panel{padding:18px}.community-feedback-item{padding:14px}.community-feedback-topline{flex-wrap:wrap}.community-policy{gap:1.25rem}.community-policy section{padding-bottom:1.25rem}}@media (prefers-reduced-motion:reduce){.community-feedback-item{transition:none}}.player-avatar{background:var(--surface-hover);width:32px;height:32px;color:var(--accent);border-radius:50%;flex:0 0 32px;place-items:center;font-size:1rem;font-weight:700;line-height:1;display:inline-grid;position:relative;overflow:hidden}.player-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}html:has(.friends-page){scrollbar-gutter:stable}.friends-page .friends-section{padding-top:0}.friends-page .friends-list{margin-top:0}.friends-page :is(.friends-list,.friends-search-results){border:1px solid var(--border);background:var(--surface);border-radius:12px;box-shadow:0 8px 28px #0000000a}.friends-page :is(.friends-list,.friends-search-results)>li{background:0 0;border:0;border-radius:0;margin:0;transition:background-color .14s}.friends-page :is(.friends-list,.friends-search-results)>li+li{border-top:1px solid var(--border)}.friends-page :is(.friends-list,.friends-search-results)>li:first-child{border-start-start-radius:11px;border-start-end-radius:11px}.friends-page :is(.friends-list,.friends-search-results)>li:last-child{border-end-end-radius:11px;border-end-start-radius:11px}.friends-page :is(.friends-list,.friends-search-results)>li:hover,.friends-page :is(.friends-list,.friends-search-results)>li:focus-within{background:var(--surface-selected)}.friends-page .friends-list>.friends-row>.friends-row-main{background:0 0;border-radius:0;padding-inline:16px}.friends-page .friends-list>.friends-row>.friends-row-main--idle{min-height:60px;padding-block:8px}.friends-page .friends-row-main--idle .friends-activity{margin-bottom:0}.friends-page :is(.friends-list,.friends-search-results) .friends-search-identity{min-height:32px;font-size:.8125rem;line-height:1.5;text-decoration:none}.friends-page :is(.friends-list,.friends-search-results) .friends-profile-trigger:hover strong{color:var(--accent)}.friends-page .friends-list .friends-password,.friends-page .friends-list .friends-join-error{padding-inline:16px}.friends-count{vertical-align:middle;border:1px solid var(--border);background:var(--surface);min-width:25px;height:25px;color:var(--text-muted);font-family:var(--font-body);border-radius:999px;place-items:center;margin-inline-start:8px;padding-inline:6px;font-size:.75rem;font-weight:700;display:inline-grid}.friends-refresh{flex:none}.friends-search{width:100%;color:var(--text-muted);gap:8px;margin:0 0 10px;font-size:.76rem;font-weight:700;display:grid}.friends-search-control{border:1px solid var(--border);background:var(--surface);min-height:56px;color:var(--text-muted);border-radius:14px;align-items:center;gap:12px;padding:6px 12px;transition:border-color .16s,box-shadow .16s;display:flex;box-shadow:0 2px 12px #16271b0a}.friends-search-control:hover{border-color:var(--border-accent)}.friends-search-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #b3792724,0 4px 18px #16271b12}.friends-search-control>svg{box-sizing:content-box;background:var(--surface-raised);color:var(--text-muted);border-radius:10px;flex:none;padding:9px}.friends-search-control input{width:100%;min-width:0;height:44px;color:var(--text-strong);font:inherit;background:0 0;border:0;border-radius:0;font-size:.9375rem;font-weight:400}.friends-search-control input:focus-visible{outline:none}.friends-search-control input::placeholder{color:var(--text-muted);opacity:.8}.friends-search-control input::-webkit-search-cancel-button{cursor:pointer;filter:grayscale();opacity:.65}.friends-row-main{min-height:92px}.friends-row-main--idle{grid-template-columns:minmax(0,1fr) auto;min-height:70px}.friends-row-actions{grid-column:3;justify-content:flex-end;align-items:center;gap:10px;display:flex}.friends-row-main--idle .friends-row-actions{grid-column:2}.friends-remove{border:1px solid var(--border);border-radius:var(--radius-control);width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;flex:none;place-items:center;display:inline-grid}.friends-remove:hover,.friends-remove:focus-visible{border-color:var(--danger);color:var(--danger)}.friends-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.friends-remove-dialog::backdrop{background:#0000008c}.friends-remove-dialog .dialog-actions>button:last-child{border-color:var(--danger);color:var(--danger)}.friends-players{gap:5px}.friends-activity{min-width:0;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:.75rem;display:flex}.friends-activity strong{overflow-wrap:anywhere;color:var(--text-strong);font-size:.8125rem}.friends-activity-label{margin-left:4px}.friends-person-name{color:var(--text-muted)}.friends-dot{background:var(--text-subtle);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.friends-status--online .friends-dot{background:var(--connection-online)}.friends-status--playing .friends-dot{background:#649bdf}.friends-status--watching .friends-dot{background:#a782d6}.friends-status--waiting .friends-dot{background:var(--accent)}.friends-seat strong{font-size:.875rem}.friends-game-details p{margin:0 0 4px}.friends-row-main .lobby-row-action{border-color:var(--border);background:var(--surface-raised);color:var(--text-strong)}.friends-row-main .lobby-row-action:hover:not(:disabled){border-color:var(--border-accent);background:var(--surface-hover)}.friends-password{align-items:end;gap:10px;padding:0 24px 16px;display:flex}.friends-password label{max-width:240px;color:var(--text-muted);flex:180px;margin:0;font-size:.75rem}.friends-password input{border-color:var(--border);border-radius:var(--radius-control);background:var(--surface-input);color:var(--text-strong)}.friends-loading,.friends-error,.friends-join-error{color:var(--text-muted);margin:0 0 14px;font-size:.85rem}.friends-error,.friends-join-error{color:var(--danger)}.friends-join-error{padding:0 24px 14px}.friends-empty h3{color:var(--text-strong);margin:0 0 4px;font-size:.875rem}.friends-empty p{color:var(--text-muted);margin:0}@media (width<=600px){.friends-row-main{gap:10px 14px}.friends-game-details{grid-area:2/1/auto/-1}.friends-row-actions{grid-area:1/2}.friends-password{flex-wrap:wrap;padding-inline:20px}.friends-password label{flex-basis:100%;max-width:none}.friends-join-error{padding-inline:20px}}.friends-search-result{min-height:60px;color:var(--text-muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 16px;font-size:.75rem;display:grid}.friends-search-identity{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.friends-search-identity strong{color:var(--text-strong);font-size:.8125rem}.friends-search-result .friends-error{grid-column:1/-1;margin:0}.friends-search-username{align-items:center;gap:6px;min-width:0;display:flex}.friends-profile-trigger{min-height:24px;color:inherit;font:inherit;text-align:start;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-radius:3px;justify-self:start;min-width:0;padding:0}.friends-profile-trigger:hover{text-decoration:underline}.friends-profile-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.friends-search-results:empty{display:none}.friends-search-summary{color:var(--text-muted);margin:0 0 12px;font-size:.8125rem;line-height:1.5}.friends-search-summary p{margin:4px 0}.content-card.dashboard-page.leaderboard-page{min-width:0;max-width:880px}.leaderboard-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow-x:auto}.leaderboard-table{table-layout:fixed;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%;min-width:740px}.leaderboard-table th,.leaderboard-table td{padding:14px 16px}.leaderboard-table thead{color:var(--text-subtle);background:var(--surface-raised);font-size:.72rem}.leaderboard-table tbody tr+tr{border-top:1px solid var(--border)}.leaderboard-table tbody th{overflow-wrap:anywhere;font-weight:500}.leaderboard-table th:first-child,.leaderboard-table td:first-child{text-align:center;width:72px}.leaderboard-table th:nth-child(n+3),.leaderboard-table td:nth-child(n+3){text-align:center;width:74px}.leaderboard-rank{width:28px;height:28px;color:var(--text-subtle);place-items:center;font-size:.8rem;display:inline-grid}.leaderboard-rank-1,.leaderboard-rank-2,.leaderboard-rank-3{border-radius:var(--radius-control);font-weight:700}.leaderboard-rank-1{color:#edc777;background:#daad632b}.leaderboard-rank-2{color:#d4dddf;background:#b1c1c81f}.leaderboard-rank-3{color:#dbaa87;background:#c28b6421}.leaderboard-player{min-width:0;display:block}.leaderboard-rating{color:var(--text-strong);font-size:1rem;font-weight:700}.leaderboard-you{background:var(--surface-selected)}:root[data-theme=light] .leaderboard-rank-1{color:#875610}:root[data-theme=light] .leaderboard-rank-2{color:#455a5d}:root[data-theme=light] .leaderboard-rank-3{color:#855334}.leaderboard-you>td:first-child{box-shadow:inset 3px 0 var(--accent)}.leaderboard-you-label{color:var(--accent);flex-shrink:0;font-size:.68rem;font-weight:700}@media (width<=520px){.leaderboard-table th,.leaderboard-table td{padding:10px 8px}.leaderboard-table th:first-child,.leaderboard-table td:first-child{width:44px}.leaderboard-table th:nth-child(n+3),.leaderboard-table td:nth-child(n+3){width:66px}.leaderboard-table tbody th{font-size:.85rem}}.leaderboard-status{color:var(--text-muted);padding:2rem 0}.leaderboard-summary{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.5rem;margin-top:1rem;font-size:.85rem;display:flex}.leaderboard-status button{min-height:44px;padding:.5rem .75rem}.leaderboard-pagination{justify-content:space-between;align-items:center;gap:.6rem;margin:1.5rem 0;display:flex}.leaderboard-pagination button{border-radius:var(--radius-control);min-height:44px;color:inherit;cursor:pointer;background:#ffffff06;border:1px solid #ffffff26;padding:.65rem 1rem}.leaderboard-pagination button:disabled{opacity:.4;cursor:default}.leaderboard-pagination button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=520px){.leaderboard-pagination button{padding-inline:.7rem}}html:has(.leaderboard-page){scrollbar-gutter:stable}.leaderboard-results{position:relative}.leaderboard-previous-results{opacity:.18;pointer-events:none}.leaderboard-loading-notice{z-index:1;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:0 16px;position:absolute;inset:0 0 auto}.leaderboard-status{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);font-size:var(--text-caption);padding:24px}.leaderboard-status button,.leaderboard-pagination button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--text-strong);cursor:pointer}.leaderboard-player .friends-search-identity{flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;min-height:32px;font-size:.8125rem;text-decoration:none;display:flex}.leaderboard-username{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.leaderboard-username strong{overflow-wrap:anywhere;min-width:0}.leaderboard-country{text-align:center;font-size:1rem;line-height:1}.leaderboard-player .friends-person-name{min-width:0;line-height:1.5}.leaderboard-table tbody tr{transition:background-color .14s}.leaderboard-table tbody tr:hover,.leaderboard-table tbody tr:focus-within{background:var(--surface-selected)}.leaderboard-player button:hover strong{color:var(--accent)}.leaderboard-table td{vertical-align:middle}.leaderboard-table thead th{letter-spacing:.03em;font-weight:600}.leaderboard-list{box-shadow:0 8px 28px #0000000a}.leaderboard-you-label{background:var(--surface-raised);border-radius:4px;padding:2px 5px}.leaderboard-table tbody th,.leaderboard-table tbody td{padding-block:14px}.promotion-picker{--promotion-size:72px;z-index:40;width:calc(var(--promotion-size) + 6px);background:#f2f3e9;border:1px solid #969b8e;border-radius:3px;flex-direction:column;padding:2px;display:flex;box-shadow:0 4px 16px #0000004d}.promotion-piece-option,.promotion-cancel{color:#41473e;background:0 0;border:0;border-radius:0;place-items:center;width:100%;min-width:0;padding:0;display:grid}.promotion-piece-option{height:var(--promotion-size);min-height:var(--promotion-size)}.promotion-picker button:hover{background:#d5e6bf}.promotion-picker button:focus-visible{outline-offset:-2px;background:#e0ebd2;outline:2px solid #527b33}.promotion-cancel{border-top:1px solid #d0d5c7;height:44px;min-height:44px}.promotion-picker .flat-piece{pointer-events:none}.promotion-choice-list{position:relative}.promotion-preview,.promotion-preview-canvas{pointer-events:none;position:absolute;inset:0}.promotion-preview-status{color:#41473e;text-align:center;pointer-events:auto;background:#f2f3e9;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:2px;font-size:11px;display:flex;position:absolute;inset:0}.promotion-preview-status button{width:44px;min-width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid}@media (width<=600px),(height<=500px){.promotion-picker{--promotion-size:48px}}.history-list{margin:0;padding:0;list-style:none}.history-row{border-bottom:1px solid #ffffff16;grid-template-columns:112px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 90px 100px;grid-template-areas:"preview players type date result action";align-items:center;gap:1rem;padding:1.2rem 0;display:grid;position:relative}.history-opponent{overflow-wrap:anywhere;grid-area:players;gap:.3rem;min-width:0;display:grid}.history-opponent strong{font-size:1rem}.history-opponent span,.history-type,.history-date,.history-result span{color:var(--text-muted);font-size:.8rem}.history-type,.history-date{overflow-wrap:anywhere;gap:.3rem;min-width:0;display:grid}.history-type{grid-area:type}.history-date{grid-area:date}.history-continue{z-index:2;grid-area:action;position:relative}.history-open{z-index:1;border-radius:var(--radius-control);cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.history-open:hover{background:var(--surface-selected)}.history-result{grid-area:result;gap:.3rem;min-width:90px;display:grid}.history-result-win{color:var(--success)}.history-result-loss{color:var(--danger)}.history-pagination{justify-content:space-between;align-items:center;gap:.6rem;margin:1.5rem 0;display:flex}.history-pagination button,.history-continue,.history-error button{border-radius:var(--radius-control);min-height:44px;color:inherit;cursor:pointer;background:#ffffff06;border:1px solid #ffffff26;padding:.65rem 1rem}.history-card button:disabled{opacity:.4;cursor:default}.history-card button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.history-empty{text-align:center;color:var(--text-muted);padding:3rem 1rem}.history-error{color:var(--danger);padding:1rem 0}@media (width<=520px){.history-pagination button{padding-inline:.7rem}}.history-preview{grid-area:preview;width:112px}.history-board{aspect-ratio:1;direction:ltr;border:1px solid #ad926255;border-radius:3px;grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden}.history-square{aspect-ratio:1;place-items:center;display:grid;position:relative}.history-square.light{background:#e8eacc}.history-square.dark{background:#688c4e}.history-board-placeholder{aspect-ratio:1;box-sizing:border-box;text-align:center;color:#999e94;border:1px dashed #ffffff26;border-radius:3px;place-items:center;padding:.5rem;font-size:.75rem;display:grid}.history-players{gap:.6rem;margin-bottom:.35rem;display:grid}.history-player{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.history-player strong{overflow-wrap:anywhere;font-size:.95rem}.history-side{border:1px solid #b3b6ab;border-radius:50%;flex:0 0 .6rem;width:.6rem;height:.6rem;display:inline-block}.history-side-white{background:#eeeede}.history-side-black{background:#292e29}.history-rating{white-space:nowrap}.history-rating .history-rating-gain{color:var(--success)}.history-rating .history-rating-loss{color:var(--danger)}.history-result strong{font-variant-numeric:tabular-nums;white-space:nowrap}@media (width<=900px){.history-row{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"preview players players players""type type date date""result result action action";gap:.8rem}.history-preview{width:96px;max-width:100%}.history-player .history-rating{flex-basis:100%;padding-left:1.2rem}.history-result{align-items:baseline;gap:.5rem;display:flex}.history-continue{justify-self:end;width:auto}}html:has(.history-card){scrollbar-gutter:stable}.history-results{position:relative}.history-previous-results{opacity:.18;pointer-events:none}.history-loading-notice{z-index:3;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:0 16px;position:absolute;inset:0 0 auto}.history-list{gap:12px;display:grid}.history-row{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:20px 16px}.history-empty{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.history-pagination button,.history-continue,.history-error button{border-color:var(--border);background:var(--surface-raised)}@media (width>=901px){.history-row{grid-template-columns:96px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 80px 90px;gap:12px}.history-preview{width:96px}.history-result{min-width:0}}.history-player{grid-template-columns:10px minmax(0,1fr);gap:3px 8px;display:grid}.history-player .history-side{grid-area:1/1}.history-player-name{grid-column:2;min-width:0}.history-player-name .player-bot-badge{white-space:nowrap;margin-inline-start:.25rem;padding:.05rem .3rem;font-size:.65rem}.history-player .history-rating{grid-column:2;padding-left:0}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff")}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-400-normal-C42RasBZ.woff2)format("woff2"),url(/assets/libre-baskerville-latin-400-normal-BTm3cn9P.woff)format("woff")}:root{color:#f4efe4;background:var(--surface-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:#0b100d;--surface:#121a15;--surface-raised:#18221b;--surface-input:#0e1511;--surface-hover:#1d2921;--surface-selected:#daad6317;--border-accent:#daad6380;--danger:#edaaa0;--success:#a9c89b;--radius-card:16px;--radius-control:8px;--space-group:24px;--page-width:960px;--page-background:radial-gradient(ellipse at 50% 0%, #3149383d, transparent 60%), var(--surface-page);--border:#e7dac124;--accent:#daad63;--action-background:#daad63;--action-hover:#e4b96f;--action-text:#171c13;--surface-danger:#321b1a;--connection-online:#87c9a5;--board-scene-background:#0b0e0c;--text-strong:#f4efe4;--text-muted:#bdb6aa;--text-subtle:#aaa69c;--font-display:"Libre Baskerville", Georgia, serif;--text-page:1.75rem;--text-section:1.25rem;--text-body:.9375rem;--text-caption:.8125rem;--page-gutter:clamp(16px, 3vw, 40px);font-family:DM Sans,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#243329;--surface-page:#f2f1e9;--surface:#fffefa;--surface-raised:#e9eee6;--surface-input:#fff;--surface-hover:#e2e9df;--surface-selected:#7b521717;--border-accent:#85591a99;--danger:#a23229;--success:#286340;--page-background:radial-gradient(ellipse at 50% 0%, #c6d8be52, transparent 60%), var(--surface-page);--border:#273c2b33;--accent:#865414;--action-background:#e5b466;--action-hover:#edc381;--action-text:#30200e;--surface-danger:#fce9e5;--connection-online:#287350;--board-scene-background:#e9eee6;--text-strong:#1f2e23;--text-muted:#475a4b;--text-subtle:#566558}*{box-sizing:border-box}html{background:var(--surface-page);min-width:320px}body{min-width:320px;min-height:100vh;font-size:var(--text-body);margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button,select,input:not([type=checkbox]):not([type=radio]){min-height:44px}button{min-width:44px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,p,strong,small{overflow-wrap:anywhere}.connection-status{padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));color:#f4efe4;border-bottom:1px solid var(--accent);font-size:var(--text-caption);background:#343023;justify-content:center;align-items:center;gap:10px;display:flex}.connection-status svg{flex:none}:root[data-theme=light] .connection-status{color:var(--text-strong);border-bottom-color:var(--border);background:#e7eadf}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.discovery-document{box-sizing:border-box;max-width:960px;min-height:100svh;margin:auto;padding:28px 24px 48px}.discovery-document>header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;display:flex}.discovery-brand{color:var(--text-strong);font-size:1.25rem;font-weight:700;text-decoration:none}.discovery-document>article{max-width:720px;margin:40px auto 0}.discovery-document h1{font-family:var(--font-display);font-size:clamp(2rem,6vw,3rem);line-height:1.2}.discovery-links{flex-wrap:wrap;gap:8px 20px;display:flex}.discovery-links a{min-height:44px;color:var(--text-muted);font-size:var(--text-body);align-items:center;text-decoration:none;display:inline-flex}.discovery-links a:hover{color:var(--accent);text-decoration:underline}.discovery-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.discovery-sections{margin-block:24px}.discovery-home-introduction{box-sizing:border-box;width:min(1320px,100% - 48px);margin:4px auto 24px}.discovery-home-heading{flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:16px;display:flex}.discovery-home-heading:after{content:"";border-top:1px solid var(--border);flex:1;align-self:center;min-width:24px}.discovery-home-heading .eyebrow{color:var(--accent);margin:0}.discovery-home-heading h2{margin:0;font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.3}.discovery-home-introduction .discovery-sections{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);gap:12px;margin:0;display:grid}.discovery-home-introduction .discovery-sections section{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:32px minmax(0,1fr);align-content:start;column-gap:12px;min-width:0;padding:20px;display:grid}.discovery-home-introduction .discovery-sections section:nth-child(2){background:linear-gradient(135deg, var(--surface-raised), var(--surface))}.discovery-answer-icon{box-sizing:content-box;color:var(--accent);background:var(--surface-selected);border-radius:8px;grid-area:1/1/span 3;padding:6px}.discovery-home-introduction .discovery-sections :is(h3,p){grid-column:2}.discovery-home-introduction .discovery-sections h3{color:var(--text-strong);font-family:var(--font-display);overflow-wrap:anywhere;margin:0 0 8px;font-size:1.0625rem;font-weight:400;line-height:1.5}.discovery-home-introduction .discovery-sections section p{font-size:var(--text-body);overflow-wrap:anywhere;line-height:1.6}.discovery-home-introduction .discovery-sections section p+p{margin-top:8px}@media (width<=1100px){.discovery-home-introduction{width:min(920px,100% - 40px)}}@media (width<=1000px){.discovery-home-introduction .discovery-sections{grid-template-columns:minmax(0,1fr);gap:16px}}@media (width<=760px){.discovery-home-introduction{width:calc(100% - 32px);margin-top:8px}.discovery-document{padding:20px 20px 36px}}
