.chess-game{border-block:1px solid var(--color-border);color:var(--color-foreground);margin-block:2rem;padding-block:1.25rem}.chess-game__header{margin-bottom:1rem}.chess-game__title{margin-bottom:.65rem;font-size:1rem;font-weight:700;display:block}.chess-game__meta{border:1px solid var(--color-border);background:var(--color-muted);border-radius:.375rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .9rem;padding:.65rem .75rem;display:grid}.chess-game__meta-item{min-width:0}.chess-game__meta-label,.chess-game__meta-value{display:block}.chess-game__meta-label{color:var(--color-muted-foreground);font-size:.75rem;line-height:1.35}.chess-game__meta-value{overflow-wrap:anywhere;font-size:.9rem;font-weight:600;line-height:1.35}.chess-game__body{grid-template-columns:minmax(0,22rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.chess-game__board-panel,.chess-game__side{min-width:0}.chess-game__board{aspect-ratio:1;width:min(100%,22rem);margin-inline:auto}.chess-game__board .cm-chessboard{border-radius:.375rem;overflow:hidden}.chess-game .cm-chessboard.default-contrast .board .square.white{fill:#f0ece4}.chess-game .cm-chessboard.default-contrast .board .square.black{fill:#7f949d}[data-theme=dark] .chess-game .cm-chessboard.default-contrast .board .square.white{fill:#d7d2c8}[data-theme=dark] .chess-game .cm-chessboard.default-contrast .board .square.black{fill:#536f7d}.chess-game .cm-chessboard .markers .marker.marker-frame-primary{stroke:var(--color-accent);opacity:.65}.chess-game__controls{grid-template-columns:2.25rem 2.25rem minmax(0,1fr) 2.25rem 2.25rem;align-items:center;gap:.35rem;margin-top:.65rem;display:grid}.chess-game__controls button,.chess-game__moves button{border:1px solid var(--color-border);background:var(--color-background);min-width:0;color:var(--color-foreground);font:inherit;border-radius:.25rem}.chess-game__controls button{justify-content:center;align-items:center;min-height:2.15rem;padding:0;font-weight:700;display:inline-flex}.chess-game__controls button:hover,.chess-game__moves button:hover{border-color:var(--color-accent);color:var(--color-accent)}.chess-game__controls button:disabled{cursor:not-allowed;opacity:.45}.chess-game__status{color:var(--color-muted-foreground);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.chess-game__moves{border:1px solid var(--color-border);border-radius:.375rem;gap:.15rem;max-height:22rem;padding:.35rem;display:grid;overflow:auto}.chess-game__move-row{grid-template-columns:2.15rem minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.2rem;display:grid}.chess-game__move-number{color:var(--color-muted-foreground);font-variant-numeric:tabular-nums;font-size:.8rem}.chess-game__moves button{--move-background:var(--color-background);--move-border:var(--color-border);border-color:var(--move-border);background:var(--move-background);text-align:left;text-overflow:ellipsis;white-space:nowrap;min-height:2rem;padding:.25rem .4rem;font-size:.9rem;overflow:hidden}.chess-game__moves button[data-annotation-kind=good]{--move-background:color-mix(in srgb, #22c55e 13%, var(--color-background));--move-border:color-mix(in srgb, #22c55e 42%, var(--color-border))}.chess-game__moves button[data-annotation-kind=mixed]{--move-background:color-mix(in srgb, #f59e0b 14%, var(--color-background));--move-border:color-mix(in srgb, #f59e0b 45%, var(--color-border))}.chess-game__moves button[data-annotation-kind=mistake]{--move-background:color-mix(in srgb, #ef4444 13%, var(--color-background));--move-border:color-mix(in srgb, #ef4444 42%, var(--color-border))}.chess-game__moves button[data-has-note=true]:after{color:var(--color-accent);content:" *"}.chess-game__moves button.is-active{border-color:var(--color-accent);background:color-mix(in srgb, var(--move-background) 72%, var(--color-muted));color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.chess-game__note{border-left:2px solid var(--color-accent);color:var(--color-foreground);white-space:pre-wrap;margin-top:.85rem;padding-left:.75rem;font-size:.9rem;line-height:1.6}.chess-game--error{border-color:var(--color-accent)}@media (width<=48rem){.chess-game__meta,.chess-game__body{grid-template-columns:1fr}.chess-game__moves{max-height:14rem}}
