.setup-fieldset{border:0;padding:0;margin:24px 0;min-width:0}.setup-fieldset legend{font-size:13px;font-weight:700;color:var(--text);padding:0;margin-bottom:12px}.setup-fieldset>.subtle-note{margin:0 0 14px}
.color-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.color-option,.engine-level-card,.appearance-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;border:1px solid var(--line);border-radius:7px;padding:15px;cursor:pointer;transition:border-color .15s,background .15s}.color-option:has(input:checked),.engine-level-card:has(input:checked),.appearance-choice:has(input:checked){border-color:var(--gold);background:#c9a96e0c;box-shadow:inset 0 0 0 1px var(--gold)}.color-option:focus-within,.engine-level-card:focus-within,.appearance-choice:focus-within{outline:2px solid var(--gold);outline-offset:3px}.color-option>input,.engine-level-card>input,.appearance-choice>input{position:absolute;width:1px;height:1px;opacity:0}.color-option strong{font-size:13px}.color-option small,.engine-level-card small{font-size:10px;color:var(--muted);line-height:1.6}.color-swatch{display:grid;place-items:center;width:55px;height:55px;border-radius:5px;border:1px solid #9c967966}.color-swatch img{width:45px;height:45px}.white-side{background:#f0edda}.black-side{background:#27312a}.engine-levels,.guest-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.engine-level-card{padding:14px}.engine-level-card strong{font-size:12px;line-height:1.5}.level-symbol{color:var(--gold);font-size:8px;letter-spacing:3px}.automatic-color-note{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:13px 15px;border-radius:5px;display:flex;align-items:center;gap:10px}.automatic-color-note .icon{width:18px;flex-shrink:0}.setup-bottom>[hidden]{display:none}.guest-badge{font-size:9px}
.chessboard[data-theme=wood]{--light:#e5d1ac;--dark:#98734f}.chessboard[data-theme=blue]{--light:#dce7e8;--dark:#638997}.chessboard[data-theme=slate]{--light:#d9dce0;--dark:#737d8b}.chessboard[data-theme=rose]{--light:#f0ded8;--dark:#9a6673}.chessboard[data-theme=sand]{--light:#f1e7d1;--dark:#b49e7a}
.chessboard .piece{transition:none;animation:none}.chessboard[data-piece-color=walnut] .piece-w{filter:sepia(.4) saturate(.8) brightness(1.03) drop-shadow(0 2px 1px #0005)}.chessboard[data-piece-color=walnut] .piece-b{filter:sepia(1) saturate(1.6) hue-rotate(340deg) brightness(1.4) drop-shadow(0 2px 1px #0005)}.chessboard[data-piece-color=ocean] .piece-w{filter:grayscale(1) brightness(1.06) drop-shadow(0 2px 1px #0005)}.chessboard[data-piece-color=ocean] .piece-b{filter:sepia(1) saturate(2) hue-rotate(155deg) drop-shadow(0 2px 1px #0005)}.chessboard[data-piece-color=silver] .piece{filter:grayscale(1) brightness(1.14) drop-shadow(0 2px 1px #0005)}.board-toolbar{flex-wrap:wrap}
.appearance-panel{margin-bottom:30px}.appearance-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:start}.appearance-layout .board-frame{max-width:430px;margin:20px auto}.appearance-layout>div>.subtle-note{max-width:430px;margin:15px auto}.appearance-boards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.appearance-pieces,.appearance-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.appearance-choice{padding:10px;align-items:center;text-align:center;min-width:0}.appearance-choice strong{font-size:9px;overflow-wrap:anywhere}.appearance-pieces img{width:45px;height:45px}.appearance-pieces img.mono{filter:grayscale(1)}.board-swatch{width:48px;height:48px;background:repeating-conic-gradient(var(--swatch-light) 0% 25%,var(--swatch-dark) 0% 50%) 50%/24px 24px;border-radius:3px}.piece-color-swatch{width:35px;height:25px;border-radius:15px;border:1px solid #9c967955;background:linear-gradient(90deg,#f0edda 50%,#27312a 50%)}.piece-color-swatch.walnut{background:linear-gradient(90deg,#efddb4 50%,#62452d 50%)}.piece-color-swatch.ocean{background:linear-gradient(90deg,#edf0f2 50%,#253f59 50%)}.piece-color-swatch.silver{background:linear-gradient(90deg,#eeeff0 50%,#62666c 50%)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.8fr);gap:50px;max-width:1100px;margin:auto}.contact-layout fieldset{border:0;margin:0;padding:0;display:grid;gap:20px}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-help{padding-top:15px}.contact-help h2{font-size:27px;margin-bottom:25px}.contact-help dt{font-size:13px;font-weight:700;margin:22px 0 8px}.contact-help dd{margin:0;font-size:12px;line-height:1.9;color:var(--muted)}.contact-help>.subtle-note{margin-top:30px}.contact-message p{font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.contact-layout textarea{resize:vertical}.contact-layout .subtle-note a{color:var(--gold)}
.puzzle-mini-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));aspect-ratio:1;width:100%;height:auto;max-width:190px;margin-bottom:18px;border-radius:4px;overflow:hidden}.puzzle-mini-board>span{min-width:0;min-height:0;display:grid;place-items:center;background:var(--light,#eeeed2);aspect-ratio:1}.puzzle-mini-board>span.dark{background:var(--dark,#7d965b)}.puzzle-mini-board img{min-width:0;min-height:0;max-width:100%;max-height:100%;width:90%;height:90%;object-fit:contain}.exercise-tile .puzzle-description{font-size:11px;line-height:1.8;color:var(--muted);margin-top:12px}.exercise-tile h3{line-height:1.6}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}.lesson-card{border:1px solid var(--line);padding:22px;border-radius:6px;display:flex;flex-direction:column;align-items:flex-start}.lesson-card h3{font-size:15px;margin-bottom:12px}.lesson-card p{font-size:11px;color:var(--muted);line-height:1.9;flex:1}.lesson-card button{margin-top:16px}#exercise-feedback{white-space:pre-line;line-height:1.9}.opening-title p{white-space:pre-line}
@media(max-width:850px){.appearance-layout{grid-template-columns:1fr;gap:20px}.appearance-layout .board-frame{max-width:380px}.lesson-grid{grid-template-columns:1fr 1fr}.contact-layout{gap:25px}.appearance-pieces,.appearance-colors{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.engine-levels,.guest-levels{grid-template-columns:1fr 1fr}.engine-level-card{padding:12px}.engine-level-card strong{font-size:11px}.color-option{padding:13px}.contact-layout{grid-template-columns:1fr}.contact-help{padding-top:0}.appearance-pieces,.appearance-colors{grid-template-columns:repeat(2,1fr)}.appearance-boards{grid-template-columns:repeat(3,1fr)}.appearance-panel .section-heading{align-items:flex-start;gap:10px;flex-direction:column}.lesson-grid{grid-template-columns:1fr}.board-toolbar .check-label{display:flex}.guest-badge{display:none}}
.black-side img{filter:drop-shadow(0 0 1px #f0edda) brightness(1.25)}
@media(min-width:900px){.engine-levels{grid-template-columns:repeat(3,minmax(0,1fr))}}
.premove-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;margin-top:10px;border:1px solid #9d78c455;background:#9d78c40b;border-radius:5px;font-size:11px;color:var(--muted)}.premove-notice[hidden]{display:none}.premove-notice .text-button{color:#b9a0da;white-space:nowrap}
.setup-options>h2{margin-bottom:22px}.setup-options .mode-grid{margin-bottom:26px}.setup-options>h3{margin:24px 0 14px}.setup-options>#time-controls{margin-bottom:20px}.setup-options>details{margin:20px 0 26px}.setup-options .setup-bottom{display:flex;flex-direction:column;gap:18px;margin:24px 0 28px}.setup-bottom>.setup-fieldset{margin:0}.setup-bottom>.automatic-color-note{margin:0;line-height:1.8}.setup-bottom>#rated-wrap{margin:0}.setup-options>#setup-error:empty{display:none}.setup-options>#setup-error:not(:empty){margin:16px 0}
.match-wait-card{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface2);margin:0}.match-wait-card[hidden]{display:none}.match-wait-heading{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;align-items:start}.match-wait-heading>.spinner{width:24px;height:24px;margin:4px 0 0}.match-wait-heading h3{font-size:17px;margin:0 0 9px}.match-wait-heading p{font-size:12px;color:var(--muted);line-height:1.85;margin:0;max-width:440px}.match-details{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.match-details>.badge{font-size:10px;padding:5px 9px}.match-wait-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px}.match-wait-footer p{font-size:11px;color:var(--muted);margin:0}.match-wait-footer strong{display:block;font-size:19px;color:var(--text);font-weight:600;margin-top:5px;font-variant-numeric:tabular-nums}.match-wait-footer .button{margin:0;white-space:nowrap}
@media(max-width:620px){.match-wait-card{padding:19px}.match-wait-heading{gap:12px}.match-wait-heading h3{font-size:15px}.match-wait-heading p{font-size:11px}.match-wait-footer{align-items:stretch;flex-direction:column;gap:17px}.match-wait-footer p{display:flex;align-items:center;justify-content:space-between}.match-wait-footer strong{display:inline;margin:0}.match-wait-footer>.button{width:100%;justify-content:center}.setup-options .setup-bottom{gap:20px}}



.exercise-tile{text-align:center}.exercise-tile .puzzle-mini-board{margin:0 auto 22px}.exercise-tile h3{margin:0 0 10px}
.exercise-buttons{align-items:center;gap:12px 18px}.exercise-buttons>.text-button{white-space:normal}
@media(max-width:620px){.exercise-buttons{flex-direction:column;align-items:stretch}.exercise-buttons>button{width:100%;text-align:center}}
.board-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.board-appearance-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.board-appearance-tools .compact-label{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0;min-width:0}.board-appearance-tools select{width:100%;min-width:0;max-width:100%}.board-toggle-tools{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.board-toggle-tools>.icon-button{margin-right:auto}.board-toggle-tools .check-label{display:flex;align-items:center;margin:0;white-space:nowrap}.board-toggle-tools input{margin:0}
.player-safety-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);margin-top:14px}.chat-panel{border-top:1px solid var(--line);margin-top:12px;padding-top:20px}.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-heading h3{font-size:16px}.chat-heading .text-button{font-size:10px;white-space:normal;text-align:right}.chat-panel .subtle-note{font-size:10px;line-height:1.8;margin:10px 0 14px}#chat-messages{height:220px;overflow-y:auto;padding:4px 6px 12px 0;overscroll-behavior:contain}#chat-empty{font-size:11px;line-height:1.8}.chat-message{padding:10px 12px;border-radius:6px;background:var(--surface2);margin:0 18px 10px 0;overflow-wrap:anywhere}.chat-message.mine{margin:0 0 10px 18px;border:1px solid var(--line);background:transparent}.chat-message header,.moderation-message header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.chat-message strong{font-size:10px;color:var(--gold)}.chat-message time{font-size:9px;color:var(--muted);white-space:nowrap}.chat-message p{font-size:12px;line-height:1.7;white-space:pre-wrap;margin:5px 0 0}#chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:12px}#chat-form input{min-width:0;width:100%;font-size:11px}#chat-form button{margin:0}.chat-panel .form-error:empty{display:none}.player-report-dialog{width:min(540px,calc(100% - 32px))}.player-report-dialog>p{margin:16px 0 24px}#player-report-form{display:flex;flex-direction:column;gap:18px}#player-report-form .form-error:empty{display:none}.report-context{overflow-wrap:anywhere}.report-context>p{white-space:pre-wrap;line-height:1.9;margin:14px 0}.report-context>h3{line-height:1.6}.report-transcript{border:1px solid var(--line);border-radius:6px;padding:14px;max-height:340px;overflow:auto}.report-transcript summary{margin-bottom:14px}.moderation-message{padding:12px 0;border-top:1px solid var(--line)}.moderation-message header{flex-wrap:wrap;font-size:11px}.moderation-message time{color:var(--muted)}.moderation-message p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:7px}
@media(max-width:620px){.board-toolbar{padding:12px}.board-appearance-tools{gap:9px}.board-appearance-tools select{padding:8px 5px;font-size:10px}.board-toggle-tools{gap:20px}.board-toggle-tools .check-label{font-size:10px}.chat-panel{padding-top:16px}.chat-message p{font-size:12px}.chat-heading h3{font-size:15px}.player-report-dialog{padding:24px}}
.material-balance{display:inline-flex;align-items:center;gap:5px;font-size:10px;line-height:1.6;color:var(--muted);margin-top:4px}.material-balance.advantage{color:var(--gold);font-weight:750}.material-balance.disadvantage{color:var(--muted)}
.analysis-progress-card{max-width:850px;margin:0 auto;text-align:center;padding:36px}.analysis-progress-card>.eyebrow{justify-content:center}.analysis-progress-card>.progress-track{margin:26px 0 20px;height:8px}.analysis-progress-card>.muted{line-height:1.9;max-width:620px;margin:0 auto}#analysis-progress-actions{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}#analysis-progress-actions>.button{margin:0}.analysis-progress-card #analysis-error{margin-top:18px}.analysis-progress-card #analysis-error:empty{display:none}.analysis-progress-card .quota-offer{text-align:center}
.rating-brilliant{--rating-color:#50c8b4}.rating-only_good{--rating-color:#b297eb}.rating-great{--rating-color:#84b6e2}.rating-best{--rating-color:#a4c978}.rating-excellent{--rating-color:#b4ca91}.rating-good{--rating-color:#a0b18b}.rating-book{--rating-color:#c5ac85}.rating-forced{--rating-color:#b0b5bb}.rating-inaccuracy{--rating-color:#e4c36c}.rating-mistake{--rating-color:#e5a262}.rating-blunder{--rating-color:#e98178}.move-rating-icon,.board-rating-badge{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--rating-color,#a0b18b);color:#172119;font-family:Manrope,sans-serif;font-weight:900;line-height:1;letter-spacing:-.7px}.move-rating-icon{width:23px;height:23px;font-size:12px}.move-rating-icon svg,.board-rating-badge svg{width:70%;height:70%}.board-rating-badge{position:absolute;top:3px;right:3px;width:clamp(20px,3vw,31px);height:clamp(20px,3vw,31px);font-size:clamp(12px,1.6vw,17px);border:2px solid #172119;box-shadow:0 2px 5px #0006;z-index:8;pointer-events:none}.square.rated-square{box-shadow:inset 0 0 0 3px var(--rating-color)}#analysis-moves [data-analysis-index]{display:flex;align-items:center;gap:7px}#analysis-moves .move-rating-icon{width:20px;height:20px;font-size:10px}.move-rating-result{display:flex;align-items:center;gap:10px;font-size:13px}.analysis-sidebar #analysis-comment p{font-size:11px;line-height:1.85;margin:12px 0 0}.classification-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:10px}.classification-legend>span{display:flex;align-items:center;gap:8px;line-height:1.5}.accuracy-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:center}.accuracy-summary>div{min-width:0}.accuracy-summary .game-level-estimate{display:block;border-top:1px solid var(--line);padding-top:12px;margin:12px 0 5px;font-size:12px;font-weight:750;color:var(--gold)}.accuracy-summary .game-level-estimate.unavailable{font-size:10px;font-weight:400;color:var(--muted);line-height:1.8}.accuracy-summary>.rating-estimate-note{grid-column:1/-1;font-size:10px;line-height:1.8;color:var(--muted);text-align:left;margin-bottom:8px}.history-analysis{display:flex;flex-direction:column;gap:5px}.history-analysis>strong{font-size:15px;color:var(--gold)}.history-analysis>strong small{font-size:10px;font-weight:400}.history-analysis>small{font-size:10px;color:var(--muted)}
@media(max-width:620px){.analysis-progress-card{padding:24px}.analysis-progress-card h2{font-size:28px}#analysis-progress-actions{flex-direction:column;align-items:stretch;gap:12px}.classification-legend{gap:10px;font-size:9px}.classification-legend .move-rating-icon{width:21px;height:21px}.board-rating-badge{top:1px;right:1px}.accuracy-summary{gap:12px}.accuracy-summary>.rating-estimate-note{font-size:9px}}
td.table-actions{display:table-cell;vertical-align:middle;white-space:nowrap}td.table-actions>.button{margin-right:10px}.analysis-player-row{display:flex;align-items:center;gap:11px;padding:12px 0}.analysis-player-row strong{display:flex;align-items:center;gap:10px;font-size:12px}.analysis-player-row small{display:block;font-size:10px;color:var(--muted)}.analysis-side-piece{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;font-size:22px}.analysis-side-piece.white{color:#efe9d8}.analysis-side-piece.black{background:#d1cbb7;color:#20251e}.you-label{font-size:9px;color:var(--gold);border:1px solid var(--line);border-radius:4px;padding:0 6px}.analysis-counts-panel{margin-top:20px;padding:20px}.analysis-counts-panel>h3{font-size:15px;margin-bottom:16px}.move-count-table{width:100%;border-collapse:collapse}.move-count-table th,.move-count-table td{padding:8px 6px;font-size:11px}.move-count-table th:not(:first-child),.move-count-table td:not(:first-child){text-align:center;width:60px}.move-count-table td:first-child{display:table-cell;white-space:normal}.move-count-table .move-rating-icon{vertical-align:middle;margin-right:9px;width:21px;height:21px;font-size:11px}.move-count-total{font-weight:750}.move-count-total td{border-top:1px solid var(--gold)}
#training-due>button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:16px}#training-due>button>.badge{margin:0;justify-self:start}#training-due>button>.badge:last-child{justify-self:end}#training-due>button>span{min-width:0;overflow-wrap:anywhere}#training-plan .badge:first-child{margin-left:0}.list-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;flex-wrap:wrap}.list-pagination>span{font-size:11px;color:var(--muted)}.list-pagination:empty{display:none}
@media(max-width:620px){.analysis-player-row{padding:10px 0}.analysis-counts-panel{padding:16px}.move-count-table td,.move-count-table th{font-size:10px}.list-pagination{gap:12px}.list-pagination>span{flex-basis:100%;order:-1;text-align:center}#training-due>button{grid-template-columns:32px minmax(0,1fr) auto;gap:10px}#training-due>button>.badge:last-child{font-size:9px}}
html[data-appearance-ready] .chessboard[data-initial-board]{--light:var(--first-board-light,#eeeed2);--dark:var(--first-board-dark,#7d965b)}.board-toolbar.account-toolbar{border:0;padding:0;background:transparent;margin-top:8px}.account-toolbar .board-toggle-tools{border:0;margin:0;padding:0}.account-toolbar #board-profile-link{font-size:10px;margin:0}.board-appearance-tools[hidden]{display:none}
.chessboard[data-theme=olive]{--light:#eeeed2;--dark:#7d965b}
.analysis-summary-player{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;min-height:32px;font-size:11px;line-height:1.5;margin:4px 0;overflow-wrap:anywhere}.analysis-summary-player>.you-label{font-size:8px}

.draw-offer-card{margin:22px 0;padding:20px;border:1px solid #c8aa6a55;border-radius:10px;background:#c8aa6a0a}.draw-offer-heading{display:flex;align-items:flex-start;gap:13px}.draw-offer-symbol{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border:1px solid #c8aa6a55;border-radius:50%;color:var(--gold);font-size:23px;line-height:1}.draw-offer-heading strong{font-size:13px;color:var(--text);line-height:1.6}.draw-offer-heading p{color:var(--muted);font-size:11px;line-height:1.8;margin-top:5px}.draw-offer-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-top:20px}.draw-offer-actions>.button{width:100%;font-size:10px;padding:10px 9px;white-space:normal}.draw-offer-pending{display:flex;flex-direction:column;gap:8px;margin:18px 0;border-left:2px solid var(--gold);padding:10px 14px;color:var(--muted);font-size:11px;line-height:1.8}.draw-offer-pending>.text-button{align-self:flex-start;padding:0;font-size:10px}.result-box .result-outcome{display:block;font-size:11px;text-transform:uppercase;letter-spacing:2px;margin-bottom:5px}.result-box>strong{display:block;font-size:30px;line-height:1.4;margin-bottom:5px}.spectator-replay{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:12px 0;margin:18px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.spectator-replay>span{font-size:10px;color:var(--muted);text-align:center;flex:1}.spectator-replay .icon-button{width:32px;height:32px;font-size:20px}.move-row button.active{background:#c8aa6a20;color:var(--gold);border-radius:3px}
.tournament-ready{position:fixed;right:24px;bottom:24px;z-index:2000;max-width:min(640px,calc(100vw - 36px));display:flex;align-items:center;gap:18px;padding:20px 24px;border:1px solid var(--gold);border-radius:12px;background:var(--surface);box-shadow:0 12px 60px #0008}.tournament-ready-symbol{font-size:36px;line-height:1;color:var(--gold)}.tournament-ready>div{display:flex;flex-direction:column;gap:4px;min-width:0}.tournament-ready strong{font-size:14px}.tournament-ready>div>span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.tournament-ready small{font-size:10px;color:var(--gold)}.tournament-ready>.button{flex-shrink:0;font-size:11px}
@media(max-width:620px){.draw-offer-card{padding:18px}.draw-offer-actions{gap:10px}.tournament-ready{bottom:14px;left:14px;right:14px;max-width:none;gap:12px;padding:18px;flex-wrap:wrap}.tournament-ready>div{flex:1}.tournament-ready>.button{width:100%}.spectator-replay .icon-button{width:30px}}
.game-resume-check{display:flex;align-items:center;justify-content:center;gap:18px;min-height:220px;font-size:13px;color:var(--muted)}.game-resume-check .spinner{margin:0;width:26px;height:26px}
.puzzle-library-count{margin:0 0 20px}.exercise-tile .badge+.badge{margin-left:8px}.mining-settings{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:22px}.mining-settings>label:not(.check-label){font-size:11px;display:flex;flex-direction:column;gap:8px}.mining-settings>.check-label{margin-right:auto;padding-bottom:10px}.mining-settings>small{width:100%;color:var(--muted);font-size:10px}.mining-table-note{display:block;margin-top:5px;font-size:10px}.mining-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;margin-top:25px}.mining-board{width:100%;aspect-ratio:1;border-radius:6px;overflow:hidden}.mining-variation{color:var(--gold);padding:18px 0;font-size:13px;line-height:1.9}.mining-preview .notice{font-size:11px;padding:16px}.mining-review-actions{display:flex;gap:14px;flex-wrap:wrap}.mining-stats span{color:var(--muted);font-size:11px}
@media(max-width:620px){.mining-preview{grid-template-columns:1fr;gap:20px}.mining-settings{align-items:stretch;flex-direction:column;gap:16px}.mining-settings input[type=number]{width:100%}.mining-settings>.check-label{padding:0}.mining-review-actions>.button{width:100%}}
.mining-board{height:auto}.admin-tournament-back{margin-right:24px}
.admin-content .admin-tournament-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-tournament-table td:first-child{white-space:normal;min-width:190px;max-width:320px;overflow-wrap:anywhere}.admin-tournament-table small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.admin-tournament-row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.admin-tournament-row-actions .text-button{font-size:10px;padding:4px 0}.admin-tournament-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;color:var(--muted);font-size:11px}.admin-tournament-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-tournament-action-form{display:flex;flex-direction:column;gap:14px;margin-top:22px}.admin-tournament-action-form>label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted)}.admin-tournament-action-form>.button{align-self:flex-start}.admin-tournament-members{padding:0;margin-top:16px}.admin-tournament-members table{font-size:11px}.admin-tournament-members .button{font-size:9px}.admin-tournament-controls+.admin-tournament-action-form{border-top:1px solid var(--line);padding-top:22px}
@media(max-width:620px){.admin-content .admin-tournament-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tournament-summary{gap:10px}.admin-tournament-controls{flex-direction:column;align-items:stretch}.admin-tournament-action-form>.button{align-self:stretch}.admin-tournament-members th,.admin-tournament-members td{font-size:10px;padding:12px 7px}}
#admin-tournament-filters{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(120px,1fr)) auto;gap:16px;align-items:end}#admin-tournament-filters>label{min-width:0}#admin-tournament-filters>.button{white-space:nowrap}
@media(max-width:1000px){#admin-tournament-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#admin-tournament-filters>label:first-child{grid-column:1/-1}}
@media(max-width:620px){#admin-tournament-filters{grid-template-columns:1fr}#admin-tournament-filters>label:first-child{grid-column:auto}}

/* Report visibility is also enforced by the API. */
#analysis-area[data-report-level="basic"] .premium-report,#analysis-area[data-report-level="basic"] [data-premium-only]{display:none!important}
.basic-report-offer{display:grid;gap:18px;margin-bottom:28px}.basic-report-offer p{margin:0}.basic-report-offer .button{margin-top:4px}
.post-game-analysis,.plan-order-dialog{width:min(560px,calc(100vw - 32px));padding:40px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text)}
.post-game-analysis h2,.plan-order-dialog h2{margin:20px 0}.post-game-analysis p,.plan-order-dialog p{line-height:1.7;margin:18px 0}.post-analysis-actions{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin-top:28px}.post-analysis-actions .text-button{padding:10px}
.post-game-analysis .progress-track{margin:24px 0}.post-game-analysis::backdrop,.plan-order-dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}
.puzzle-entitlement{margin-bottom:28px}.remember-login{margin:8px 0 20px;align-items:flex-start}.remember-login small{display:block;margin-top:4px;font-weight:400;opacity:.7}.plan-order-dialog .terms-checkbox{margin:24px 0}
@media(max-width:620px){.post-game-analysis,.plan-order-dialog{padding:28px 22px}.post-analysis-actions .button{white-space:normal}}

/* Profile, membership and account controls */
.profile-category-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.profile-category-tabs .button{min-width:90px;justify-content:center}
.profile-category-tabs .button.active,.profile-category-tabs .button.active:hover,.avatar-choice.active{background:var(--gold,#c8aa6e);color:#15130e;border-color:var(--gold,#c8aa6e)}
.profile-progress,.membership-panel{margin-top:24px}
.profile-progress .section-heading{align-items:center;gap:24px;flex-wrap:wrap}
.category-stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin:28px 0}
.category-stat-grid strong{font-size:26px;display:block}.category-stat-grid span{display:block;color:var(--muted);font-size:13px}
.result-distribution{height:8px;display:flex;gap:3px;border-radius:8px;overflow:hidden;background:#343127}
.result-distribution .win{background:#91af70}.result-distribution .draw{background:#c7b887}.result-distribution .loss{background:#bc7770}
.result-legend,.recent-form{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:16px 0;font-size:13px}
.form-dot{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#333028}.form-dot.win{background:#3d5332;color:#d4e9b7}.form-dot.loss{background:#623c37;color:#ffd7cc}.form-dot.draw{background:#5c533b;color:#f9e6b2}
.membership-facts,.usage-cards,.color-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.membership-facts{margin:24px 0}.membership-facts span,.membership-facts small,.usage-card small{display:block;color:var(--muted);font-size:13px}.membership-facts strong{display:block;margin:8px 0}
.usage-card{border:1px solid var(--border,#393324);padding:24px;border-radius:12px}.usage-card>strong{display:block;font-size:26px;margin:10px 0}.usage-card p{font-size:13px;margin-bottom:0}.usage-card progress{width:100%;height:7px;accent-color:#c8aa6e;margin-top:16px}
.avatar-image{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.profile-avatar{overflow:hidden;flex-shrink:0}
.avatar-editor{display:grid;grid-template-columns:160px minmax(0,1fr);gap:32px;align-items:start}.avatar-current{text-align:center}.avatar-current .profile-avatar{display:inline-grid;place-items:center;width:112px;height:112px}.avatar-current p{font-size:12px;color:var(--muted)}
.avatar-presets{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.avatar-choice{display:grid;justify-items:center;gap:6px;border:1px solid var(--border,#393324);border-radius:10px;padding:12px;min-width:76px;background:transparent;color:inherit}.avatar-choice span{font-size:32px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%}.avatar-choice small{font-size:12px}.avatar-upload-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.avatar-file-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.avatar-upload-actions:focus-within label{outline:2px solid #c8aa6e;outline-offset:4px}
.account-form{display:grid;gap:18px;margin-top:24px}.account-form h2{margin:0}.account-form .subtle-note,.account-form .form-error{margin:0}.settings-layout{margin-top:24px;align-items:start}
.coach-explanation h3{margin-top:0}.coach-explanation p{margin:16px 0}.coach-lines{display:grid;gap:12px;padding:16px;border:1px solid #5b5734;border-radius:10px}.coach-lines span{font-size:12px;display:block;color:var(--muted)}.coach-lines strong{font-size:14px;color:var(--text,#f2efdf)}.coach-compare{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.chess-clock{font-variant-numeric:tabular-nums;min-width:142px;text-align:center}
@media(max-width:850px){.category-stat-grid{grid-template-columns:repeat(3,1fr)}.profile-progress .section-heading{display:block}.profile-category-tabs{margin-top:22px}.profile-category-tabs .button{min-width:0;padding:12px 8px}.avatar-editor{grid-template-columns:1fr}.avatar-current{text-align:left}.avatar-current p{display:inline-block;margin-left:18px;vertical-align:middle}}
@media(max-width:540px){.membership-facts,.usage-cards,.color-stat-grid{grid-template-columns:1fr}.category-stat-grid{gap:18px 8px}.category-stat-grid strong{font-size:22px}.membership-panel .section-heading{display:block}.membership-panel .section-heading .button{margin-top:16px}.avatar-choice{min-width:66px;padding:10px}.avatar-editor{gap:12px}.chess-clock{min-width:110px}}

/* Balanced account forms and clear invitations */
.account-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.account-settings-grid #settings-form{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;align-items:end}
.account-settings-grid .account-setting-card{margin:0;min-width:0}
.account-settings-grid #account-email{display:flex;flex-direction:column;gap:18px}
.account-settings-grid #account-email>h2,.account-settings-grid #account-email>p{margin:0}
.account-settings-grid #email-form,.account-settings-grid #password-form{display:flex;flex-direction:column;gap:20px}
.account-settings-grid #email-form{flex:1;margin-top:4px}
.account-settings-grid #email-form>.button,.account-settings-grid #password-form>.button{margin-top:auto;width:100%}
.account-settings-grid #password-form>#request-reset{align-self:flex-start}
.account-settings-grid #resend-verification{align-self:flex-start}
.account-settings-grid #email-pending:empty,.account-settings-grid .form-error:empty,.account-settings-grid #mail-delivery-note:empty{display:none}
.account-settings-grid .account-delete-card{grid-column:1/-1}
#friend-requests{margin-top:20px}
#friend-requests>.friend-request-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:20px 0}
.friend-request-person,.friend-request-actions{display:flex;align-items:center;gap:12px}
.friend-request-person{min-width:0}.friend-request-person strong{overflow-wrap:anywhere}
.friend-request-actions .button{min-width:104px}
.seo-page-settings{display:grid;gap:12px}.seo-page-row{border:1px solid var(--line);border-radius:10px;padding:18px}.seo-page-row summary{cursor:pointer;color:var(--gold)}.seo-page-row .form-grid{margin-top:20px}
/* Puzzle progress remains visible without relying on colour alone */
.puzzle-progress-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:8px 0 20px}
.puzzle-progress-tools .check-label{margin:0}.puzzle-progress-tools .subtle-note{margin:0}
.puzzle-progress{display:inline-flex;align-items:center;justify-content:center;padding:5px 11px;border:1px solid var(--line);border-radius:20px;font-size:11px;margin:2px 0 14px;color:var(--muted)}
.puzzle-progress.solved{background:#8faf7020;border-color:#8faf7060;color:#bfd99b}.puzzle-progress.attempted{border-color:#c9ab7060;color:var(--gold)}
.exercise-tile.puzzle-solved{border-color:#8faf7045}
/* Result and a small, explicitly preliminary review anchored to the board. */
.board-column>.board-frame{position:relative}
.post-game-analysis-board{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;padding:18px;pointer-events:none;opacity:0;transition:opacity .45s ease;background:#00000018}
.post-game-analysis-board.visible{opacity:1}
.post-game-analysis-card{position:relative;pointer-events:auto;display:flex;flex-direction:column;width:min(430px,100%);max-height:100%;overflow:hidden;padding:26px;border:1px solid #c9ab7066;border-radius:16px;background:linear-gradient(145deg,#26231dfc,#181712fc);color:var(--text);box-shadow:0 18px 60px #0007;transform:translateY(8px);transition:transform .45s ease}
.visible .post-game-analysis-card{transform:translateY(0)}
.post-game-analysis-card svg{width:20px;height:20px;flex:none}
.post-game-analysis-card .post-analysis-close{position:absolute;right:9px;top:9px;width:30px;height:30px;font-size:23px;z-index:1}
.post-result-heading{display:flex;align-items:center;gap:14px;padding-right:12px;flex-shrink:0}
.post-result-emblem{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--gold);border:1px solid #c9ab7040;background:#c9ab7010;flex:none}
.post-result-emblem svg{width:26px;height:26px}
.outcome-win .post-result-emblem{color:#c8dca1;border-color:#a3bb6660;background:#a3bb6615}
.post-game-analysis-card .eyebrow{font-size:7px;letter-spacing:1.5px;margin:0 0 7px}
.post-game-analysis-card h2{font-size:29px;line-height:1.15;margin:0 0 5px}
.post-game-analysis-card .post-result-reason{font-size:11px;line-height:1.4;color:var(--muted);margin:0}
.post-result-players{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-top:22px;flex-shrink:0}
.post-result-player{display:flex;align-items:center;gap:8px;min-width:0}
.post-result-player:last-child{flex-direction:row-reverse;text-align:right}
.post-result-player>div{min-width:0}.post-result-player strong{display:block;font-size:11px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.post-result-player small{display:block;font-size:9px;margin-top:4px;color:var(--muted)}
.post-result-player .avatar{width:30px;height:30px;font-size:16px;flex:none}
.post-result-score{font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:1px}
.post-result-stats{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);margin-top:18px;padding:13px 0;flex-shrink:0}
.post-result-stat{padding:0 10px}.post-result-stat:first-child{padding-left:0;border-right:1px solid var(--line)}.post-result-stat:last-child{padding-right:0;text-align:right}
.post-result-stat>span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.post-result-stat>div{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.post-result-stat:last-child>div{justify-content:flex-end}
.post-result-stat strong{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.post-result-stat b{font-size:12px}.post-result-stat small{font-size:8px;color:var(--muted)}
.post-result-stat .positive{color:#bed49c}.post-result-stat .negative{color:#e9a68e}
.post-quick-review{margin-top:17px;min-height:62px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8b785340 transparent}
.post-review-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.post-review-heading>span{display:flex;align-items:center;gap:6px;color:var(--gold);font-size:9px;font-weight:600;letter-spacing:1px}.post-review-heading svg{width:13px;height:13px}.post-review-heading>small{font-size:8px;letter-spacing:1px;color:var(--muted)}
.post-review-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.post-review-counts>div{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:6px;row-gap:5px;padding:11px 4px;border:1px solid var(--line);border-radius:8px;background:#ffffff03}
.post-review-counts svg{width:15px;height:15px}.post-review-counts strong{font-size:18px}.post-review-counts span{grid-column:1/-1;font-size:9px;color:var(--muted);text-align:center}
.quick-best{color:#d2bd87}.quick-solid{color:#b6cd9a}.quick-review{color:#e4aa83}
.post-game-analysis-card .post-review-note{font-size:9px;line-height:1.5;color:var(--muted);margin:9px 0 0}
.post-game-analysis-card .post-review-insight{font-size:11px;line-height:1.55;margin:12px 0 0;padding:11px 12px;border-left:2px solid #c9ab7066;background:#c9ab7009;color:#d5c9b3}
.post-review-loading{display:flex;align-items:center;gap:13px;min-height:86px}.post-review-loading .spinner{width:21px;height:21px;flex:none}
.post-review-loading strong{display:block;font-size:12px;line-height:1.5;font-weight:500}.post-review-loading small{display:block;font-size:9px;line-height:1.5;color:var(--muted);margin-top:5px}
.post-review-empty{font-size:11px;line-height:1.6;color:var(--muted);padding:10px 0}.post-review-empty .text-button{display:block;padding:8px 0;color:var(--gold)}
.post-basic-eval{display:flex;align-items:center;gap:14px;min-height:55px}.post-basic-eval>strong{font-size:26px;color:var(--gold);font-variant-numeric:tabular-nums}.post-basic-eval span{font-size:11px}.post-basic-eval small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.post-game-analysis-card .post-analysis-actions{display:flex;flex-direction:column;gap:9px;margin-top:18px;flex-shrink:0}
.post-game-analysis-card .post-analysis-actions>.button{display:flex;align-items:center;justify-content:center;gap:9px;white-space:normal;padding:13px 10px;font-size:12px}
.post-game-analysis-card .post-analysis-actions>.button svg{width:17px;height:17px}
.post-next-actions{display:flex;gap:9px}.post-next-actions>.button{flex:1;padding:10px 8px;font-size:10px;text-align:center;white-space:normal;background:#ffffff03}
.post-game-analysis-card .form-error{font-size:11px;line-height:1.4;margin:8px 0 0;max-height:45px;overflow:auto;flex-shrink:0}.post-game-analysis-card .form-error:empty{display:none}
.post-full-progress{flex-shrink:0;font-size:10px;margin-top:12px}.post-full-progress small{display:block;font-size:9px;line-height:1.5;color:var(--muted)}.post-full-progress .progress-track{margin:8px 0}
@media(max-width:700px){.account-settings-grid,.account-settings-grid #settings-form{grid-template-columns:1fr}.account-settings-grid #password-form{grid-column:auto;grid-row:auto}.friend-request-row{flex-wrap:wrap}.friend-request-actions{width:100%}.friend-request-actions .button{flex:1}}
@media(max-width:450px){.post-game-analysis-board{padding:10px}.post-game-analysis-card{padding:16px;border-radius:12px}.post-result-heading{gap:10px}.post-result-emblem{width:32px;height:32px}.post-result-emblem svg{width:19px;height:19px}.post-game-analysis-card h2{font-size:23px}.post-game-analysis-card .eyebrow{display:none}.post-game-analysis-card .post-result-reason{font-size:9px}.post-result-players{display:none}.post-result-stats{margin-top:10px;padding:8px 0}.post-result-stat>span{font-size:9px;margin-bottom:2px}.post-result-stat strong{font-size:19px}.post-result-stat small{font-size:7px}.post-quick-review{margin-top:10px}.post-review-heading{margin-bottom:7px}.post-review-heading>span{font-size:8px}.post-review-heading>small{font-size:7px}.post-review-counts>div{padding:7px 2px;gap:3px 5px}.post-review-counts strong{font-size:15px}.post-review-counts span{font-size:8px}.post-game-analysis-card .post-review-note{font-size:8px;margin-top:6px}.post-game-analysis-card .post-review-insight{font-size:10px;padding:8px;margin-top:7px}.post-game-analysis-card .post-analysis-actions{margin-top:10px;gap:6px}.post-game-analysis-card .post-analysis-actions>.button{padding:10px 8px;font-size:11px}.post-next-actions{gap:6px}.post-next-actions>.button{padding:8px 6px;font-size:9px}.post-review-loading{min-height:56px}.post-review-loading strong{font-size:10px}.post-review-loading small{font-size:8px}}
@media(max-width:450px){.post-game-analysis-card{padding:12px}.post-game-analysis-card h2{font-size:21px}.post-result-stat>span{line-height:1.2}.post-result-stat strong{line-height:1.15}.post-result-stat>div{line-height:1.2}.post-review-counts strong{line-height:1}.post-review-counts span{line-height:1.2}.post-review-note{line-height:1.3!important}.post-result-stats{margin-top:8px}.post-quick-review{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.post-game-analysis-board,.post-game-analysis-card{transition:none}}

.puzzle-progress.new{background:#c9ab7012;border-color:#c9ab7045;color:#d8cfb7}

.analysis-quality-summary{padding:16px;border:1px solid var(--line);border-radius:10px;margin:20px 0;color:var(--muted);font-size:11px}.analysis-quality-summary strong{color:var(--text);font-size:12px}.analysis-quality-summary p{margin:8px 0}
.move-evidence{margin:20px 0}.move-evidence h3{font-size:13px;margin:18px 0 10px}.verification-state{font-size:12px;font-weight:700;color:var(--gold)}.verification-state.confirmed{color:#aecb8f}
.analysis-candidates{border:1px solid var(--line);border-radius:8px;overflow:hidden}.analysis-candidates>div{display:flex;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid var(--line);font-size:11px}.analysis-candidates>div:last-child{border:0}.analysis-candidates strong{font-size:11px;overflow-wrap:anywhere}.analysis-candidates span:last-child{text-align:right;white-space:nowrap}.analysis-candidates small{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.sacrifice-proof{background:#79b5a810;border:1px solid #79b5a840;border-radius:8px;padding:16px;margin-top:16px;font-size:11px;color:var(--muted)}.sacrifice-proof h3{margin-top:0;color:#9ecfc2}
