/* A quiet, tactile chess table. All robot artwork and motion are removed. */
.board-heading{margin-bottom:22px}.board-stage{margin:0}.chess-canvas{top:-35px;height:calc(100% + 74px)}.board-frame{padding:24px;background:#4e3524 url('./assets/maple-walnut-atlas.webp') right center/200% 100%;border-color:#7f6141;box-shadow:0 10px 0 #32241b,0 14px 5px #0006,0 28px 45px #0005,inset 2px 2px 1px #c09a6a,inset -2px -3px 2px #251b16}.board-frame:before{border-color:#bca17a88}.board{z-index:6}.cell{background:#dfc391 url('./assets/maple-walnut-atlas.webp') left center/200% 100%}.cell.dark{background:#523823 url('./assets/maple-walnut-atlas.webp') right center/200% 100%}.scene-ready .cell{background:transparent}.scene-ready .cell .coord{opacity:.85;z-index:9}.coord{font-family:Georgia,serif;font-size:9px!important;color:#72573c}.cell.dark .coord{color:#d8b98c}.scene-ready .board-frame,.scene-ready .board{background:transparent;border-color:transparent;box-shadow:none}.piece-label{display:none;position:absolute;bottom:3px;left:50%;transform:translateX(-50%);font:500 8px/1.25 "Malgun Gothic",system-ui,sans-serif;letter-spacing:-.06em;padding:1px 4px;border-radius:2px;white-space:nowrap;pointer-events:none;z-index:10}.piece-names-visible .piece-label{display:block}.piece-label.white{color:#59432a;background:#eee2cbbd;box-shadow:0 1px 2px #0002}.piece-label.black{color:#ecd9b8;background:#30281fcc;box-shadow:0 1px 2px #0003}.board-tools{display:flex;gap:15px;align-items:center}.board-tools .text-button{font-size:.66rem}.board-tools #piece-names[aria-pressed=true]{color:#d9b987}.bottom-strip{margin-top:23px}.opponent-summary{display:flex;align-items:center;gap:12px;margin:17px 0 0;padding:15px 13px;border:1px solid #36464c;border-radius:6px;background:linear-gradient(110deg,#1b2a32,#13212a)}.opponent-emblem{width:37px;height:43px;flex-shrink:0;display:grid;place-items:center}.opponent-emblem .piece{width:38px;height:43px;--piece-fill:#ae9470;--piece-stroke:#5d4a32;--piece-detail:#ddc497}.opponent-summary .eyebrow{display:block;font-size:.47rem;letter-spacing:.15em;margin:0 0 7px;color:#9caeb5}.opponent-summary strong{font-size:.83rem;font-weight:600}.opponent-summary #portrait-level{font:.65rem ui-monospace,monospace;color:#e5bd87;margin-left:9px}.opponent-summary p{font-size:.65rem;color:#9cabb4;line-height:1.6;margin:6px 0 0}.opponent-summary.thinking{border-color:#aa895b}.difficulty-heading{margin-top:18px}.piece-reference{margin-top:15px;padding:13px 0 0;border-top:1px solid var(--line)}#piece-reference-list{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}#piece-reference-list>div{display:flex;flex-direction:column;align-items:center;gap:4px}#piece-reference-list .piece{width:28px;height:32px;--piece-fill:#d8c5a3;--piece-stroke:#635139;--piece-detail:#9a835f}#piece-reference-list span{font-size:.57rem;color:#a7b5b9}.piece-reference>p{font-size:.58rem;color:#7e929a;text-align:center;margin:10px 0 0}.scene-fallback .robot-perch:after{display:none}
@media(min-width:761px) and (max-height:820px){.app-shell{max-width:min(1180px,calc(100svh + 220px));padding:0 30px}main{grid-template-columns:minmax(0,1fr) 280px;gap:32px}.board-heading{margin-bottom:18px}.board-frame{padding:21px}.chess-canvas{top:-32px;height:calc(100% + 67px)}.opponent-summary{padding:13px 12px;margin-top:15px}.board-caption{font-size:.61rem}.piece-label{font-size:8px;bottom:2px}.board-tools{gap:12px}}
@media(max-width:1000px) and (min-width:761px){.board-frame{padding:19px}.board-tools{gap:9px}.board-caption,.board-tools .text-button{font-size:.6rem}}
@media(max-width:760px){.board-heading{margin-bottom:22px}.board-heading>div{max-width:none}.board-heading .eyebrow{font-size:.52rem}.board-frame{padding:18px}.chess-canvas{top:-25px;height:calc(100% + 57px)}.bottom-strip{margin-top:20px}.board-caption{font-size:.59rem;gap:5px}.board-tools{gap:10px}.board-tools .text-button{font-size:.61rem}.piece-label{font-size:7px;padding:1px 3px;bottom:2px}.opponent-summary{margin-top:16px;padding:16px;gap:13px}.opponent-summary .eyebrow{font-size:.53rem}.opponent-summary strong{font-size:.94rem}.opponent-summary p{font-size:.72rem}.opponent-summary #portrait-level{font-size:.72rem}.piece-reference{padding-top:15px;margin-top:17px}#piece-reference-list .piece{width:32px;height:37px}#piece-reference-list span{font-size:.65rem}.piece-reference>p{font-size:.66rem}.board-caption>span{gap:4px}.legend-last{margin-left:6px}}
.player{display:grid;grid-template-columns:24px minmax(0,1fr);gap:5px 8px}.player-info{min-width:0}.player-info>span{white-space:nowrap}.turn-tag{grid-column:2;justify-self:start;margin:0;padding:3px 5px}.captured{grid-column:2}
@media(min-width:761px){.app-shell{max-width:min(1250px,calc(100svh + 130px))}}
@media(min-width:761px) and (max-height:820px){.app-shell{max-width:min(1180px,calc(100svh + 130px))}}
@media(max-width:380px){.board-frame{padding:14px}.chess-canvas{top:-21px;height:calc(100% + 49px)}.board-caption{align-items:flex-start;gap:2px;flex-wrap:wrap}.board-tools{margin-left:auto;gap:14px}.piece-label{font-size:6px;padding:1px 2px}.board-tools .text-button{font-size:.61rem}}
