/* Original club-board finish. Shared by every theme, practice board and live game. */
:root{--r:10px}
body{background:var(--bg);background-image:none;background-attachment:scroll}
.sidebar{background:var(--sidebar);background-image:none}
.card,.metric,.lesson-tile,.bracket-box{background:var(--panel);background-image:none;border-color:var(--border);border-radius:10px}
.hero{background:var(--panel2);background-image:none;border-radius:12px}
.auth-story{background:var(--sidebar);background-image:none}.auth-form-side{background:var(--bg)}.auth-art{background:none}.auth-art-halo{display:none}
.brand-mark{background:var(--panel3);box-shadow:none;border-radius:8px;border-color:var(--border)}
.hero-art-board,.auth-art-grid{border-radius:5px;border-color:var(--border)}
.nav .nav-item,.explore-links .nav-item{border-radius:6px}.nav .nav-item.active{background:var(--panel3);border-color:transparent;box-shadow:inset 3px 0 var(--mint)}
.icon-button{border-radius:6px}.btn{border-radius:7px;font-weight:700}.btn:not(.ghost):not(.link):not(.danger){box-shadow:0 3px 0 color-mix(in srgb,var(--button) 67%,#000)}.btn.ghost,.btn.link{box-shadow:none}.btn:hover{transform:none}.btn:active:not(:disabled){transform:translateY(1px)}
input,select,textarea,.choice,.clock-panel,.moves-list,.mode-tabs{border-radius:7px}.pill{border-radius:5px}.notice{border-radius:8px}
.chessboard{border:0;outline:0;border-radius:4px;box-shadow:0 3px 12px #0003;overflow:hidden;isolation:isolate}
.sq.light,.appearance-square.light,.theme-mini-board>.light{background-color:var(--board-light);background-image:var(--board-texture-light,none)}
.sq.dark,.appearance-square.dark,.theme-mini-board>.dark{background-color:var(--board-dark);background-image:var(--board-texture-dark,none)}
.sq.last-move{box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--board-selected) 42%,transparent)}
.sq.picked{background-color:var(--board-selected);background-image:none;box-shadow:inset 0 0 0 2px #9c8c3099}
.sq.target:after{inset:36%;background:var(--board-dot);box-shadow:none}.sq.target:has(.chess-piece):after{inset:3%;background:none;border:5px solid var(--board-dot);box-shadow:none}
/* One outline system for boards, avatars and picker samples. */
.chess-piece{width:94%;height:94%;filter:drop-shadow(0 .7px .35px #0003)}.sq .chess-piece{filter:drop-shadow(0 .7px .35px #0003)}
.chess-piece.white{--piece-fill:var(--white-piece-fill,#f9f8f4);--piece-outline:var(--white-piece-outline,#44423e);--piece-detail:var(--white-piece-detail,#44423e);--piece-highlight:color-mix(in srgb,var(--piece-fill) 95%,#fff);--piece-shadow:color-mix(in srgb,var(--piece-fill) 88%,var(--piece-outline))}
.chess-piece.black{--piece-fill:var(--black-piece-fill,#56534f);--piece-outline:var(--black-piece-outline,#282724);--piece-detail:var(--black-piece-detail,#c7c4bd);--piece-highlight:color-mix(in srgb,var(--piece-fill) 92%,#fff);--piece-shadow:color-mix(in srgb,var(--piece-fill) 88%,var(--piece-outline))}
.piece-svg{width:100%;height:100%;display:block;overflow:visible}/* Artist paths retain their own fills, strokes, cuts and shading. */
.appearance-heading h2{font-size:1.7rem;letter-spacing:-.035em}.appearance-heading p{font-size:.82rem;line-height:1.6}.appearance-heading>.pill{background:var(--panel2);color:var(--muted)}
.appearance-studio{grid-template-columns:minmax(250px,.85fr) minmax(0,1.45fr);gap:28px;align-items:start}
.studio-preview{background:var(--panel2);border:1px solid var(--border);border-radius:9px;padding:18px;box-shadow:none}
.studio-preview .appearance-board{border:0;border-radius:3px;box-shadow:0 2px 8px #0003}.studio-summary>strong{font-weight:700}.studio-status{line-height:1.65}.studio-live-dot{color:var(--muted)}
.appearance-square{position:relative}.appearance-rank,.appearance-file{position:absolute;font-size:clamp(6px,.65vw,9px);font-weight:700;line-height:1;pointer-events:none;z-index:2}.appearance-rank{left:2px;top:2px}.appearance-file{right:2px;bottom:2px}.appearance-square.light{color:var(--board-label-light)}.appearance-square.dark{color:var(--board-label-dark)}
.studio-tabs{gap:5px;border-bottom:1px solid var(--border);padding-bottom:12px}.studio-tabs>button{border:0;border-radius:6px;background:var(--panel2);color:var(--muted);min-height:42px;font-weight:650}.studio-tabs>button[aria-selected=true]{background:var(--panel3);color:var(--white);box-shadow:inset 0 -3px var(--mint)}
.studio-panel-heading h3{font-size:1.1rem}.studio-panel-heading p{max-width:56ch;line-height:1.7}.theme-grid{gap:12px}.theme-choice{border-radius:8px;padding:6px;background:var(--panel2)}.theme-choice:hover{box-shadow:none}.theme-choice[aria-pressed=true]{box-shadow:0 0 0 2px var(--mint)}
.theme-preview{height:106px;min-height:106px;padding:10px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;border-radius:4px;background:var(--sidebar)}.theme-preview-chrome{gap:6px}.theme-preview-chrome i{height:3px;background:var(--border)}.theme-preview-chrome i:first-child{height:7px;background:var(--mint)}
.theme-mini-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));width:100%;height:100%;max-width:94px;aspect-ratio:1;border:0;border-radius:2px;overflow:hidden;justify-self:center}
.theme-mini-board>span{display:grid;place-items:center;aspect-ratio:auto;min-width:0;min-height:0}.theme-mini-board .chess-piece{width:100%;height:100%;filter:none}.theme-choice-info{padding:10px 6px 6px;gap:4px}.theme-choice-info strong{font-size:.81rem}.theme-choice-info>span:not(.theme-selected){font-size:.65rem;line-height:1.45}.theme-selected{border-radius:4px;font-size:.7rem;width:18px;height:18px;top:8px;right:3px}
.board-palette-grid,.piece-style-grid{gap:12px}.board-palette-choice,.piece-style-choice,.piece-palette-choice{position:relative;min-width:0;background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--white);overflow:hidden}.board-palette-choice[aria-pressed=true],.piece-style-choice[aria-pressed=true],.piece-palette-choice[aria-pressed=true]{border-color:var(--mint);box-shadow:0 0 0 2px var(--mint)}
.board-swatch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));height:auto;width:min(100%,90px);aspect-ratio:1;overflow:hidden;border:0;border-radius:2px;background:none;gap:0;margin:0 auto 10px}.board-swatch i{min-height:0;min-width:0;background:var(--swatch-light);background-image:var(--swatch-texture-light,none)}.board-swatch i.dark{background:var(--swatch-dark);background-image:var(--swatch-texture-dark,none)}
.board-palette-choice>strong,.piece-style-choice>strong,.piece-palette-choice>strong{font-size:.75rem;line-height:1.4}.board-palette-choice{padding:12px 9px}.piece-style-choice{padding:13px 8px 14px}.piece-style-preview{gap:0;height:65px;align-items:center;justify-content:center;overflow:visible}.piece-style-preview .chess-piece{height:55px;width:40px;max-width:34%;filter:drop-shadow(0 1px .5px #0003)}.piece-style-description{font-size:.62rem!important;line-height:1.5;color:var(--muted);margin-top:5px}.piece-palette-choice .piece-style-preview .chess-piece{max-width:48%;width:54px;height:59px}
.appearance-check{display:none;position:absolute;right:5px;top:5px;align-items:center;justify-content:center;width:17px;height:17px;background:var(--mint);color:var(--button-text);font-size:10px;font-weight:800;border-radius:3px}.board-palette-choice[aria-pressed=true] .appearance-check,.piece-style-choice[aria-pressed=true] .appearance-check,.piece-palette-choice[aria-pressed=true] .appearance-check{display:flex}
.appearance-dialog{border-radius:10px}.auth-theme-button{border-radius:7px;box-shadow:none}.appearance-dialog .studio-tabs{background:var(--bg)}
@media(max-width:1050px){.appearance-studio{grid-template-columns:minmax(220px,.85fr) minmax(0,1.25fr);gap:22px}.theme-preview{height:96px;min-height:96px}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.appearance-studio{grid-template-columns:1fr;gap:22px}.appearance-heading h2{font-size:1.5rem}.studio-preview{padding:14px;gap:10px 16px}.studio-tabs>button{font-size:.74rem;min-height:44px}.theme-preview{height:94px;min-height:94px}.theme-choice-info>span:not(.theme-selected){font-size:.64rem}.theme-choice-info strong{font-size:.79rem}.board-palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.board-palette-choice{padding:11px 7px}.board-palette-choice>strong{font-size:.68rem}.piece-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.piece-style-preview{height:60px}.piece-style-preview .chess-piece{width:40px;height:53px}.piece-style-choice>strong,.piece-palette-choice>strong{font-size:.77rem}.piece-style-description{font-size:.65rem!important}.piece-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-square .chess-piece{width:96%;height:96%}.mobile-navigation>button{border-radius:7px}.card,.metric,.lesson-tile,.clock-panel{border-radius:9px}}
@media(prefers-reduced-motion:reduce){.btn:active:not(:disabled){transform:none}}
/* Explicit check styling wins over the legacy card-description selector. */
.piece-style-choice>span.appearance-check,.board-palette-choice>span.appearance-check,.piece-palette-choice>span.appearance-check{color:var(--button-text);font-size:11px;line-height:1}
@media(max-width:650px){.studio-preview{grid-template-columns:1fr;gap:12px;padding:14px}.studio-preview .appearance-board{grid-column:1;grid-row:auto;width:100%;max-width:250px;justify-self:center}.studio-summary{grid-column:1;grid-row:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}.studio-summary>span{text-align:right;font-size:.65rem}.studio-status{grid-column:1;grid-row:auto;font-size:.65rem;min-height:0}.studio-preview>.btn{grid-column:1;grid-row:auto;justify-self:start;min-height:34px;font-size:.65rem}.studio-preview-top{grid-column:1}}
/* A light board surface keeps dark pieces readable in every picker theme. */
.piece-style-preview{background:var(--board-light);border-radius:4px}
