.chess-game{--chess-table-width:min(100%, 600px, max(240px, calc(100dvh - 370px)));box-sizing:border-box;color:#fff;background:radial-gradient(at 50% 42%,#285d50,#123b32);border-radius:28px;width:100%;max-width:1100px;margin:0 auto 24px;padding:18px 20px 22px;position:relative}.chess-game--captures{--chess-table-width:min(100%, 600px, max(240px, calc(100dvh - 430px)));padding-top:14px;padding-bottom:18px}.chess-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:36px;margin-bottom:8px;display:grid}.chess-toolbar>a,.chess-toolbar>button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:5px 0;font-size:15px;font-weight:800;text-decoration:none}.chess-toolbar>strong{font-size:23px;font-weight:900}.chess-toolbar>small{color:#c1d9cd;text-align:right;justify-self:end;font-size:11px}.chess-toolbar>a:focus-visible,.chess-toolbar>button:focus-visible{outline-offset:4px;border-radius:3px;outline:2px solid #b9ddff}.chess-table{width:var(--chess-table-width);margin:0 auto}.chess-board-stage{border-radius:9px;width:100%;position:relative}.chess-seat{box-sizing:border-box;justify-content:center;align-items:center;gap:12px;min-height:72px;padding:8px 4px 12px;display:flex}.chess-seat[data-current=true]{padding-top:16px;padding-bottom:4px}.chess-seat .game-player-avatar{box-sizing:border-box;aspect-ratio:1;flex:none;width:48px;height:48px}.chess-seat .game-turn-avatar{box-sizing:border-box;flex:none;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:0;padding:0}.chess-seat .game-turn-avatar.is-active:before{box-sizing:border-box;z-index:3;inset:-3px}.chess-seat .game-turn-label{white-space:nowrap;font-size:9px}.chess-seat-identity{min-width:0;max-width:min(240px,65%)}.chess-seat-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;font-weight:800;display:block;overflow:hidden}.chess-seat-color{color:#bed4ca;align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.chess-color-dot{box-sizing:border-box;background:#fff8e8;border:1px solid #b0a182;border-radius:50%;flex:0 0 11px;width:11px;height:11px}.chess-color-dot.is-black{background:#29231e;border-color:#a9b9b0}.chess-seat-color .chess-piece{filter:none;width:12px;height:15px}.chess-player-info{min-width:0}.chess-game--captures .chess-seat,.chess-game--captures .chess-seat[data-current=true]{padding-bottom:14px}.chess-captured{box-sizing:border-box;justify-content:center;align-items:center;min-height:35px;margin:2px 0 1px;padding:2px;display:flex}.chess-captured-list{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.chess-captured-piece{box-sizing:border-box;color:#e4eee7;justify-content:center;align-items:center;gap:1px;min-width:26px;height:31px;padding:1px 2px;display:flex}.chess-captured-piece>.chess-piece{filter:none;flex:0 0 22px;width:22px;height:28px}.chess-captured-piece>.chess-piece--b{--chess-piece-stroke:#c2bba8}.chess-captured-piece>span{font-size:12px;font-weight:800;line-height:1}.chess-status{color:#e4eee7;text-align:center;min-height:18px;margin:0 0 10px;font-size:13px;font-weight:700;line-height:1.4}.chess-status.is-error{color:#ffd4c6}.chess-board-frame{box-sizing:border-box;background:linear-gradient(135deg,#c79353,#a36c35 35%,#754322 70%,#bc894a);border:1px solid #5c351b;border-radius:9px;width:100%;margin:0 auto;padding:clamp(7px,1.2vw,12px);position:relative;box-shadow:0 12px 28px #001b1666,inset 0 1px 1px #f3d3a1,inset 0 -3px 1px #502f1b}.chess-board{aspect-ratio:1;touch-action:manipulation;border:1px solid #4d301e;border-radius:2px;grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.chess-square{isolation:isolate;aspect-ratio:1;outline-offset:-3px;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:0;place-items:center;min-width:0;padding:4%;display:grid;position:relative}.chess-square.is-light{color:#765133;background:#ecd9b6}.chess-square.is-dark{color:#f5e6c9;background:#9c6942}.chess-square:focus-visible{z-index:2;outline:3px solid #80bbff}.chess-square[aria-disabled=true]{cursor:default}.chess-square.is-last:before{content:"";z-index:-1;background:#d9de6a5e;position:absolute;inset:0}.chess-square.is-selected:before{content:"";z-index:-1;background:#8fbdf14d;position:absolute;inset:0;box-shadow:inset 0 0 0 3px #7eb8f5}.chess-square.is-target:after{content:"";aspect-ratio:1;pointer-events:none;background:#3526184d;border-radius:50%;width:23%;position:absolute}.chess-square.is-capture:after{content:"";pointer-events:none;border:4px solid #30201680;border-radius:50%;position:absolute;inset:4%}.chess-square.is-check{background:radial-gradient(circle,#f58469,#b54037)!important}.chess-rank,.chess-file{pointer-events:none;font-size:clamp(8px,1vw,11px);font-weight:800;line-height:1;position:absolute}.chess-rank{top:6%;left:5%}.chess-file{bottom:5%;right:6%}.chess-piece{pointer-events:none;filter:drop-shadow(0 2px 1px #25170950);width:89%;height:93%;overflow:visible}.chess-piece--w{color:#fff8e8;--chess-piece-stroke:#47301e;--chess-piece-detail:#9e8055}.chess-piece--b{color:#29231e;--chess-piece-stroke:#100d0a;--chess-piece-detail:#a28b6a}.chess-square-piece{pointer-events:none;place-items:center;width:100%;height:100%;display:grid}.chess-square-piece.is-moving-piece{visibility:hidden}.chess-move-layer{z-index:4;pointer-events:none;position:absolute;inset:0}.chess-move-flight,.chess-move-capture{pointer-events:none;place-items:center;width:12.5%;height:12.5%;display:grid;position:absolute}.chess-move-flight{z-index:2;will-change:transform;animation:chess-piece-travel var(--chess-move-duration) cubic-bezier(.2,.7,.2,1) both}.chess-move-capture{z-index:1;animation:chess-piece-captured var(--chess-move-duration) ease-out both}.chess-move-flight>.chess-piece,.chess-move-capture>.chess-piece{width:82%;height:86%}@keyframes chess-piece-travel{0%{transform:translate(var(--chess-move-x), var(--chess-move-y))}to{transform:translate(0)}}@keyframes chess-piece-captured{0%,60%{opacity:1}to{opacity:0}}.chess-board-error{color:#803e2a;text-align:center;background:#f4e4c7;border:1px solid #c49d6d;border-radius:8px;padding:30px 18px}.chess-promotion-overlay,.chess-local-overlay{z-index:20;border-radius:inherit;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#142b236b;place-items:center;padding:14px;display:grid;position:absolute;inset:0}.chess-promotion,.chess-local-dialog{box-sizing:border-box;color:#3b2b1e;text-align:center;background:#fffaf1;border:1px solid #dcc7a6;border-radius:18px;width:min(360px,100%);padding:22px;box-shadow:0 20px 70px #071e174d}.chess-promotion h3,.chess-local-dialog h2{letter-spacing:-.03em;margin:0 0 7px;font-size:22px;font-weight:900}.chess-promotion p,.chess-local-dialog p{color:#8d765a;margin:0 0 17px;font-size:12px;line-height:1.6}.chess-promotion>div{grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0;display:grid}.chess-promotion>div>button{cursor:pointer;background:#efe0c5;border:1px solid #dec9a7;border-radius:10px;padding:9px 3px}.chess-promotion>div>button:focus-visible{outline-offset:1px;outline:3px solid #5386c1}.chess-promotion .chess-piece{width:42px;height:58px}.chess-promotion span{color:#715a3e;text-transform:capitalize;font-size:10px;font-weight:800;display:block}.chess-text-button{color:#715a3e;font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 9px;font-size:12px}.chess-text-button:focus-visible{outline-offset:2px;outline:2px solid #5386c1}.chess-local-dialog>div{gap:8px;display:flex}.chess-local-dialog>div>button{color:#6b5030;font:inherit;cursor:pointer;background:#eee2cc;border:1px solid #d4c1a6;border-radius:10px;flex:1;padding:11px 12px;font-size:12px;font-weight:800}.chess-local-dialog>div>button:last-child{color:#fff8e8;background:#74502e;border-color:#74502e}.chess-matchmaking.is-found{animation:none}@media (min-width:821px) and (min-height:360px) and (hover:hover) and (pointer:fine){.app-shell:has(>main>.chess-game){grid-template-rows:auto minmax(0,1fr);height:100dvh;display:grid}.app-shell:has(>main>.chess-game)>.site-header{min-height:clamp(48px,9dvh,84px)}.app-shell:has(>main>.chess-game)>.site-footer{display:none}.chess-game{--chess-desktop-avatar-size:clamp(32px, 8dvh, 48px);grid-template-rows:auto minmax(0,1fr);height:100%;margin-bottom:0;padding-block:clamp(8px,1.35dvh,16px);display:grid}.chess-table{grid-template-rows:auto auto minmax(0,1fr) auto;width:100%;min-height:0;display:grid}.chess-player-info{grid-template-columns:minmax(0,1fr) min(42%,324px) minmax(0,1fr);align-items:center;display:grid}.chess-player-info>.chess-seat[data-current]{grid-area:1/2;min-height:0;padding-block:16px 14px}.chess-seat .game-turn-avatar,.chess-seat .game-player-avatar{width:var(--chess-desktop-avatar-size);height:var(--chess-desktop-avatar-size)}.chess-captured{grid-area:1/3;justify-content:flex-start;min-width:0;margin:0}.chess-captured-list{justify-content:flex-start}.chess-board-stage{--chess-desktop-board-size:min(100cqi, 100cqb, 840px);place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.chess-board-stage>.chess-board-frame{width:var(--chess-desktop-board-size)}.chess-board-stage>.chess-transition{width:var(--chess-desktop-board-size);height:var(--chess-desktop-board-size);margin:auto}}@media (max-width:650px){.chess-game{border-radius:20px;padding:12px 10px 18px}.chess-toolbar{min-height:32px;margin-bottom:2px}.chess-toolbar>strong{font-size:20px}.chess-toolbar>a,.chess-toolbar>button{font-size:13px}.chess-toolbar>small{font-size:10px}.chess-seat{gap:10px;min-height:66px;padding-top:5px;padding-bottom:10px}.chess-seat[data-current=true]{padding-top:13px;padding-bottom:2px}.chess-seat .game-turn-avatar,.chess-seat .game-player-avatar{width:42px;height:42px}.chess-seat-name{font-size:14px}.chess-seat-color{margin-top:3px;font-size:11px}.chess-status{margin-bottom:8px;font-size:12px}.chess-board-frame{border-radius:7px;padding:7px}.chess-promotion{padding:16px}.chess-promotion h3{font-size:19px}}@media (prefers-reduced-motion:reduce){.chess-game *{scroll-behavior:auto!important}.chess-move-layer{display:none}.chess-square-piece.is-moving-piece{visibility:visible}}
