:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#182131;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;margin:0}#root{min-height:100vh}*{box-sizing:border-box}button,input{font:inherit}button{color:#f8fafc;cursor:pointer;background:#223047;border:1px solid #3f4a5f;border-radius:8px;padding:12px 16px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .16s}button:disabled{cursor:not-allowed;opacity:.48}button:hover{background:#2d3c57}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #e2b714}.app-shell{color:#e5e7eb;background:#182131;min-height:100vh}@media (width<=640px){:root{--app-header-height:50px;--mobile-page-padding:clamp(10px, 3.5vw, 14px);--mobile-gap:clamp(8px, 2.5vw, 12px);--mobile-card-padding:clamp(12px, 3.8vw, 16px);--mobile-card-radius:14px;--mobile-button-height:46px;--mobile-safe-bottom:env(safe-area-inset-bottom,0px);--mobile-bottom-safe:max(16px, var(--mobile-safe-bottom));--mobile-title:clamp(1.7rem, 8vw, 2.35rem);--mobile-subtitle:.95rem}.app-shell{min-height:100dvh}button,.primary-button,.secondary-button{min-height:var(--mobile-button-height)}input,select{min-height:46px}.training-simple-page,.exercise-page,.piece-tracking-page,.reconstruction-page,.visual-reconstruction-page,.partial-game-page{padding-left:var(--mobile-page-padding);padding-right:var(--mobile-page-padding)}.training-simple-page,.reconstruction-side-panel,.partial-game-page .partial-game-playback-card{padding:var(--mobile-card-padding)}.exercise-page,.piece-tracking-page.active-piece-tracking-session,.reconstruction-page,.visual-reconstruction-page,.partial-game-page{padding-bottom:calc(var(--mobile-safe-bottom) + 96px)}}.centered-screen{place-items:center;padding:32px;display:grid}.panel,.board-card{background:#202b3d;border:1px solid #3a4659;box-shadow:0 18px 36px #0409123d}.menu-card{text-align:center;border-radius:12px;width:min(100%,860px);max-width:860px;padding:clamp(32px,7vw,64px)}h1,h2,p{margin-top:0}h1,h2{color:#fff;letter-spacing:-.035em}h1{margin-bottom:34px;font-size:clamp(2.7rem,7vw,6rem);line-height:.92}h2{margin-bottom:20px;font-size:clamp(1.7rem,3vw,2.4rem)}.menu-card h1{white-space:nowrap;margin-bottom:16px;font-size:clamp(1rem,5.2vw,3.5rem)}.menu-subheading{color:#cbd5e1;max-width:44rem;margin:0 auto 34px;font-size:clamp(1rem,2.6vw,1.35rem);line-height:1.35}.menu-progress-row{color:#dbe4ef;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin:-18px auto 22px;font-size:clamp(1rem,2.2vw,1.18rem);font-weight:600;display:flex}.menu-progress-row>span{align-items:center;gap:6px;display:inline-flex}.menu-progress-icon{font-size:1.2em;line-height:1}.menu-progress-row strong{color:#fff}.menu-actions{gap:14px;max-width:420px;margin:0 auto;display:grid}.menu-primary-actions,.menu-secondary-actions{gap:10px;display:grid}.menu-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-secondary-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.menu-secondary-actions button{min-height:42px;padding:9px 8px;font-size:.92rem}.primary-button{color:#101827;background:#e2b714;border-color:#e2b714}.primary-button:hover{background:#f1c936}.secondary-button{background:#1b2638}.danger-button{background:#9f2936;border-color:#c2414c}.danger-button:hover{background:#b73744}.play-screen{display:flex}.side-menu{background:#121a28;border-right:1px solid #3a4659;flex-direction:column;width:220px;min-height:100vh;padding:14px;transition:width .18s;display:flex}.side-menu.closed{width:70px}.icon-menu-button{flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;display:inline-flex}.icon-menu-button span{background:#fff;border-radius:999px;width:22px;height:3px;display:block}.side-menu nav{flex-direction:column;flex:1;gap:10px;margin-top:18px;display:flex}.game-area{flex:1;min-width:0;padding:14px clamp(16px,2.4vw,28px) 24px}.game-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:12px;display:grid}.game-header h1{text-align:center;grid-column:2;margin:0;font-size:clamp(1.55rem,3.3vw,2.8rem)}.game-header .secondary-button{grid-column:3;justify-self:end}.game-header .play-back-button{grid-column:1;justify-self:start;margin-left:58px}.setup-grid,.active-game-layout{grid-template-columns:minmax(500px,1fr) minmax(390px,460px);align-items:start;gap:12px;display:grid}.setup-grid{grid-template-columns:minmax(360px,min(62vh,620px)) minmax(320px,420px);justify-content:center;align-items:center;gap:clamp(18px,3vw,34px);max-width:1120px;margin:0 auto}.setup-grid .preview-board{justify-self:end;max-width:min(62vh,620px,100%)}.setup-grid .setup-panel{justify-self:start;width:min(100%,420px)}.active-game-layout{--board-size:min(66vh, 620px, calc(100vw - 540px));grid-template-columns:minmax(360px, var(--board-size)) minmax(300px, 380px);justify-content:center;align-items:start;gap:clamp(10px,1.4vw,18px)}.board-card{border-radius:10px;padding:10px}.large-board{width:100%;max-width:min(70vh,660px,100%);margin:0 auto}.active-game-layout .large-board{max-width:var(--board-size)}.preview-board{max-width:min(72vh,700px,100%)}.setup-panel{border-radius:10px;justify-self:start;width:min(100%,460px);padding:32px}.slider-label,.range-caps{justify-content:space-between;align-items:center;display:flex}.slider-label{margin-bottom:12px}.slider-label strong{color:#e2b714;font-size:1.4rem}.engine-slider{--rating-progress:35%;appearance:none;background:linear-gradient(90deg, #e2b714 var(--rating-progress), #101827 var(--rating-progress));cursor:pointer;border:1px solid #3a4659;border-radius:999px;width:100%;height:22px;padding:0}.engine-slider::-webkit-slider-thumb{appearance:none;background:#fff;border:4px solid #e2b714;border-radius:50%;width:34px;height:34px;transition:transform .16s,box-shadow .16s;box-shadow:0 4px 14px #00000059}.engine-slider::-moz-range-thumb{background:#fff;border:4px solid #e2b714;border-radius:50%;width:34px;height:34px;transition:transform .16s,box-shadow .16s;box-shadow:0 4px 14px #00000059}.engine-slider:hover::-webkit-slider-thumb{transform:scale(1.06);box-shadow:0 0 0 8px #e2b7142e,0 4px 14px #00000059}.engine-slider:focus-visible::-webkit-slider-thumb{transform:scale(1.06);box-shadow:0 0 0 8px #e2b7142e,0 4px 14px #00000059}.engine-slider:hover::-moz-range-thumb{transform:scale(1.06);box-shadow:0 0 0 8px #e2b7142e,0 4px 14px #00000059}.engine-slider:focus-visible::-moz-range-thumb{transform:scale(1.06);box-shadow:0 0 0 8px #e2b7142e,0 4px 14px #00000059}.range-caps{color:#aeb8c8;margin-bottom:22px;font-size:.9rem}.color-picker{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;display:grid}.color-picker button{place-items:center;gap:6px;min-height:112px;padding:14px 8px;display:grid}.king-icon{font-size:clamp(2.7rem,5vw,4.1rem);line-height:.9}.setup-play-button{width:100%;max-width:300px;margin:0 auto;padding:18px 28px;font-size:1.35rem;display:block}.color-picker button.selected,.input-mode-buttons button.selected{color:#111827;background:#e2b714;border-color:#e2b714}.board-column,.moves-column{min-width:0}.moves-column{gap:8px;display:grid;position:relative}.board-hidden{aspect-ratio:1;justify-content:center;align-items:center;display:flex}.hidden-board-message{color:#aeb8c8;font-size:clamp(2rem,5vw,4rem);font-weight:800}.board-actions,.list-actions{gap:8px;margin-top:10px;display:grid}.board-actions{grid-template-columns:repeat(3,1fr)}.list-actions{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.board-actions button,.list-actions button,.move-navigation button,.input-mode-buttons button{white-space:nowrap;min-height:44px;padding:10px 12px}.move-input-panel{grid-template-columns:150px 1fr;align-items:stretch;gap:10px;margin-top:10px;display:grid}.input-mode-buttons{gap:8px;display:grid}.move-entry-bar{background:#101827;border:1px solid #3a4659;border-radius:8px;align-items:center;gap:10px;min-height:92px;padding:10px;display:flex}.move-entry-bar input{color:#fff;background:0 0;border:0;flex:1;min-width:0}.move-entry-bar input:disabled{color:#7f8a9d}.transcript-bar{color:#dbe4f0;text-align:left}.move-list-panel{height:calc(var(--board-size) + 20px);border-radius:10px;min-height:360px;padding:12px;overflow-y:auto}.move-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.move-list li{background:#172133;border:1px solid #303c50;border-radius:6px;grid-template-columns:34px 1fr 1fr;align-items:center;gap:8px;padding:7px;display:grid}.move-list span{color:#aeb8c8}.move-list strong{color:#fff;min-height:1.4em}.move-list-move{color:#fff;text-align:left;text-overflow:ellipsis;background:0 0;border-color:#0000;min-height:32px;padding:4px 6px;overflow:hidden}.move-list-move:hover:not(:disabled),.move-list-move.current{background:#e2b71429;border-color:#e2b71473}.move-navigation{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.share-menu{z-index:5;border-radius:10px;gap:8px;width:min(100%,260px);padding:10px;display:grid;position:absolute;bottom:92px;right:0;box-shadow:0 16px 34px #00000047}.copy-feedback{color:#bbf7d0;text-align:center;min-height:1.2em;margin:0;font-size:.92rem;font-weight:800}.empty-moves{color:#aeb8c8;margin:0}.status-line{color:#dbe4f0;text-align:center;min-height:1.5em;margin:14px 0 0}.result-overlay{z-index:20;background:#080d16b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.result-card{text-align:center;border-radius:10px;width:100%;max-width:520px;padding:28px;position:relative}.result-close-button{background:#101827;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:1.35rem;display:inline-flex;position:absolute;top:14px;right:14px}.result-card h2{margin-bottom:12px;font-size:clamp(2rem,6vw,4rem)}.result-actions{gap:10px;margin-top:24px;display:grid}.empty-panel{text-align:center;border-radius:10px;padding:56px}.empty-panel h1{margin:0}.back-button{position:absolute;top:24px;left:24px}@media (width<=1100px){.setup-grid,.active-game-layout{--board-size:min(68vh, 620px, 100%);grid-template-columns:minmax(0,1fr)}.setup-grid .preview-board,.setup-grid .setup-panel{justify-self:center}.moves-column{gap:var(--mobile-gap);grid-template-columns:1fr;display:grid}.move-list-panel{height:260px;min-height:220px}}@media (width<=760px){.play-screen{display:block}.side-menu,.side-menu.closed{width:100%;min-height:auto}.side-menu nav{grid-template-columns:repeat(2,minmax(0,1fr))}.game-header{flex-direction:column;align-items:stretch;display:flex}.game-header h1,.game-header .secondary-button{grid-column:auto}.setup-grid,.active-game-layout{grid-template-columns:minmax(0,1fr)}.board-actions,.list-actions,.color-picker{grid-template-columns:1fr}.move-navigation{grid-template-columns:repeat(4,1fr)}.move-input-panel{grid-template-columns:1fr}}@media (width<=520px){.game-area{padding:var(--mobile-page-padding)}.empty-panel,.setup-panel{padding:24px}.move-list li{grid-template-columns:34px 1fr 1fr}}@media (width<=640px){.back-button,.page-back-button,.settings-back-button{width:fit-content;margin-bottom:12px;position:static}.play-screen{display:block}.game-area{padding:calc(var(--app-header-height) + env(safe-area-inset-top)) var(--mobile-page-padding) calc(64px + var(--mobile-bottom-safe))}.game-header{align-items:stretch;gap:var(--mobile-gap);grid-template-columns:1fr;margin-bottom:10px}.game-header h1{order:1;grid-column:auto;font-size:clamp(1.35rem,7vw,2rem);line-height:1}.game-header .play-back-button,.game-header .secondary-button{grid-column:auto;justify-self:stretch;width:100%;margin-left:0}.game-header .play-back-button{order:0}.game-header .secondary-button{order:2}.active-game-layout{--board-size:min(100%, calc(100vw - 2 * var(--mobile-page-padding)));gap:var(--mobile-gap)}.large-board{max-width:var(--board-size)}.move-list-panel{min-height:140px;max-height:180px}.move-navigation{grid-template-columns:repeat(4,minmax(0,1fr))}.move-navigation button{min-height:46px}.list-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.list-actions .list-main-action{grid-column:1/-1}.centered-screen{padding:calc(var(--app-header-height) + env(safe-area-inset-top) + 8px) var(--mobile-page-padding) var(--mobile-bottom-safe);align-content:start;gap:8px}.centered-screen>.auth-corner{justify-self:end;width:fit-content;max-width:100%;margin-bottom:6px;position:static}.menu-card{border-radius:var(--mobile-card-radius);width:100%;padding:18px 14px}.menu-card h1{white-space:normal;margin-bottom:6px;font-size:1.8rem;line-height:1}.menu-subheading{margin-bottom:14px;font-size:.95rem}.menu-progress-row{gap:12px;margin:-4px auto 12px;font-size:.98rem}.menu-actions{gap:8px;width:100%;max-width:none}.menu-primary-actions,.menu-secondary-actions{gap:8px}.menu-actions button{width:100%;min-height:44px;padding-block:9px}}.voice-panel{grid-template-columns:64px 1fr;align-items:center;gap:14px;width:100%;display:grid}.voice-controls{gap:8px;width:100%;display:grid}.voice-controls select{color:#fff;background:#172133;border:1px solid #3a4659;border-radius:8px;width:100%;padding:8px 10px}@media (width<=520px){.voice-panel{grid-template-columns:1fr;justify-items:center}}.theme-royal{background:linear-gradient(135deg,#10213d,#182f59 55%,#10213d)}.theme-classic{background:linear-gradient(135deg,#1f2a24,#3a2f1e)}.settings-panel{border-radius:18px;width:min(100%,980px);max-width:980px;padding:clamp(28px,5vw,46px)}.settings-header{text-align:center;margin-bottom:28px}.settings-header h1{margin-bottom:12px;font-size:clamp(2.2rem,5vw,4.2rem)}.eyebrow{color:#e2b714;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-weight:800}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-card{background:linear-gradient(#ffffff09,#0f172a47);border:1px solid #3a4659;border-radius:14px;gap:12px;padding:20px;display:grid}.settings-card-wide{grid-column:1/-1}.settings-card h2{margin:0;font-size:1.35rem}.settings-label,.settings-help{color:#aeb8c8}.settings-card select{color:#fff;background:#101827;border:1px solid #3a4659;border-radius:10px;width:100%;padding:12px}.theme-options{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.theme-options button{place-items:center;gap:8px;min-height:92px;display:grid}.theme-options button.selected{color:#111827;background:#e2b714;border-color:#e2b714}.theme-swatch{border:2px solid #ffffff8c;border-radius:999px;width:30px;height:30px;display:inline-block}.theme-swatch-midnight{background:linear-gradient(135deg,#101827,#38bdf8)}.theme-swatch-royal{background:linear-gradient(135deg,#1d4ed8,#93c5fd)}.theme-swatch-classic{background:linear-gradient(135deg,#14532d,#e2b714)}.volume-slider{background:linear-gradient(90deg, #38bdf8 var(--rating-progress), #101827 var(--rating-progress))}.voice-panel{background:linear-gradient(135deg,#38bdf814,#e2b7140d);border:1px solid #94a3b847;border-radius:16px;padding:12px}.voice-panel.voice-panel-recording.voice-panel-recording{background:linear-gradient(135deg,#ef44443d,#7f1d1d5c);border-color:#f87171e6;box-shadow:0 0 0 1px #f8717161,0 0 28px #ef444457}.voice-panel-recording .dictation-transcript{color:#fee2e2;background:linear-gradient(135deg,#7f1d1dd1,#450a0ac2);border-color:#fca5a5eb;box-shadow:inset 0 0 18px #f8717147,0 0 20px #ef444433}.dictation-transcript{color:#f8fafc;text-align:left;background:#101827b8;border:1px solid #94a3b83d;border-radius:12px;align-items:center;width:100%;min-height:58px;padding:12px 14px;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.45;display:flex}.voice-panel-idle .dictation-transcript{color:#aeb8c8}.voice-panel-processing .dictation-transcript{color:#c4b5fd}.voice-panel-invalid .dictation-transcript{color:#fecdd3}.voice-panel-accepted .dictation-transcript{color:#bbf7d0}@media (width<=760px){.settings-grid,.theme-options{grid-template-columns:1fr}}.voice-state-label{color:#e2b714;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;font-weight:900}.volume-slider::-webkit-slider-thumb{border-color:#38bdf8}.volume-slider::-moz-range-thumb{border-color:#38bdf8}.volume-slider:hover::-webkit-slider-thumb{box-shadow:0 0 0 8px #38bdf82e,0 4px 14px #00000059}.volume-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 8px #38bdf82e,0 4px 14px #00000059}.volume-slider:hover::-moz-range-thumb{box-shadow:0 0 0 8px #38bdf82e,0 4px 14px #00000059}.volume-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 8px #38bdf82e,0 4px 14px #00000059}.server-record-button{color:#101827;cursor:pointer;background:linear-gradient(135deg,#e2b714,#f97316);border:0;border-radius:999px;justify-content:center;justify-self:start;align-items:center;min-height:42px;padding:10px 18px;font-weight:900;display:inline-flex;box-shadow:0 12px 24px #e2b71438}.server-record-button[aria-pressed=true]{color:#fff;background:linear-gradient(135deg,#fb7185,#ef4444)}.server-record-button:disabled{cursor:not-allowed;opacity:.62}.training-screen{padding:clamp(18px,3vw,34px)}.training-topbar{justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto 16px;display:flex}.training-simple-page{border-radius:18px;max-width:1080px;margin:0 auto;padding:clamp(24px,5vw,48px)}.training-simple-page .eyebrow{color:#fff}.training-simple-page .level-number-eyebrow{color:#e2b714}.exercise-page{padding-top:clamp(18px,3vw,30px)}.exercise-coordinate{max-width:1240px}.exercise-page .exercise-title-row{margin-top:clamp(12px,2.4vw,28px)}.training-simple-page h1{color:#fff;white-space:normal;margin-bottom:14px;font-size:clamp(2.2rem,6vw,4.5rem)}.level-list{gap:14px;display:grid}.level-list-item{text-align:left;background:linear-gradient(135deg,#223047f2,#101827f2);border:1px solid #3a4659;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;display:grid}.level-list-item:hover{border-color:#e2b7148c;transform:translateY(-1px)}.level-list-item-open{display:none}.level-list-item-number,.coordinate-prompt span{color:#e2b714;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;font-weight:900}.level-list-item-main{gap:5px;min-width:0;display:grid}.level-list-item-heading{justify-content:flex-start;align-items:baseline;gap:14px;min-width:0;display:flex}.level-list-item strong{color:#fff;font-size:clamp(1.3rem,3vw,2rem)}.level-list-item-heading strong:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.level-exercise-count{color:#aeb8c8;font-size:.92rem;font-weight:750}.level-list-item-meta{justify-content:flex-end;align-items:center;gap:10px;display:flex}.level-rating-pill{color:#f8e7a0;background:#e2b71424;border:1px solid #e2b71452;border-radius:999px;padding:.35rem .6rem;font-size:.95rem;font-weight:950;line-height:1}.level-exercise-list{gap:14px;display:grid}.level-exercise-row{background:#1018277a;border:1px solid #3a4659;border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:18px;display:grid}.level-exercise-row h2{color:#fff;margin-bottom:8px;font-size:clamp(1.35rem,3vw,2rem)}.level-exercise-row p{color:#aeb8c8;margin:0;line-height:1.55}.exercise-title-row{grid-template-columns:1fr auto;align-items:start;gap:18px;margin-bottom:18px;display:grid}.exercise-title-row h1{margin:0}.timer-pill{color:#fde68a;text-align:center;background:#e2b7141f;border:1px solid #e2b71466;border-radius:20px;gap:2px;min-width:132px;padding:10px 18px;display:grid}.timer-pill span{color:#e2b714;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:900}.timer-pill strong{color:#fff;letter-spacing:-.06em;font-size:clamp(2.4rem,5vw,4rem);line-height:.95}.stats-row.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.stats-row.compact div{text-align:center;background:#101827;border:1px solid #3a4659;border-radius:14px;padding:14px}.stats-row.compact span{color:#94a3b8;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:.75rem;font-weight:900;display:block}.stats-row.compact strong{color:#fff;font-size:clamp(1.4rem,3vw,2rem)}.start-panel,.result-panel,.speed-question-card,.coordinate-prompt{background:linear-gradient(135deg,#e2b7141c,#38bdf814);border:1px solid #e2b71442;border-radius:18px;padding:clamp(18px,3vw,28px)}.start-panel{text-align:center;place-items:center;gap:18px;max-width:520px;margin:0 auto;display:grid}.start-button{min-width:min(100%,260px);min-height:64px;padding-inline:40px;font-size:clamp(1.25rem,3vw,1.65rem)}.start-panel p,.result-panel p,.coordinate-prompt p{color:#cbd5e1;line-height:1.6}.result-panel{max-width:560px;margin:0 auto;padding:clamp(14px,2.4vw,22px)}.result-panel h2{margin-bottom:8px}.result-panel p{margin-bottom:0}.result-actions-row{justify-content:flex-end;margin-top:12px;display:flex}.result-actions-row .primary-button{min-width:190px;min-height:58px;font-size:1.2rem}.speed-question-card{text-align:center;max-width:680px;margin:0 auto}.speed-question-card>strong{color:#fff;letter-spacing:-.08em;margin-bottom:24px;font-size:clamp(5rem,18vw,10rem);line-height:.9;display:block}.answer-buttons{gap:12px;margin-top:14px;display:grid}.answer-buttons.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-buttons button{min-height:70px;font-size:1.25rem}.speed-feedback{color:#fde68a;min-height:1.4em;margin:18px 0 0;font-weight:900}.coordinate-layout{grid-template-columns:minmax(280px,360px) minmax(520px,680px);justify-content:center;align-items:start;gap:clamp(18px,3vw,28px);display:grid}.exercise-coordinate .coordinate-layout{grid-template-columns:minmax(0,820px) minmax(180px,240px);place-items:start stretch;gap:clamp(18px,3vw,32px)}.coordinate-board-column{justify-items:center;min-width:0;display:grid}.coordinate-board-stage{width:100%;max-width:min(80vh,820px,100%);position:relative}.exercise-coordinate .training-board-shell{max-width:100%}.coordinate-side-panel{gap:14px;width:100%;display:grid}.stats-row.compact.coordinate-stats{grid-template-columns:1fr;width:100%;margin-bottom:0}.stats-row.compact.coordinate-stats div{padding:16px}.coordinate-fixed-target{color:#fff;letter-spacing:-.04em;text-align:center;text-shadow:0 8px 20px #00000073;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:500;line-height:1}.coordinate-action-button,.coordinate-side-toggle{width:100%}.training-board-layout{grid-template-columns:minmax(300px,380px) minmax(600px,720px)}.training-board-page{max-width:1280px}.coordinate-prompt{background:linear-gradient(#ffffff09,#0f172a57);border:1px solid #3a4659;border-radius:18px;gap:14px;padding:clamp(18px,3vw,28px);display:grid}.exercise-coordinate .coordinate-prompt{box-shadow:none;pointer-events:none;text-align:center;background:0 0;border:0;justify-items:center;width:min(78%,420px);padding:0;animation:1.8s forwards coordinate-fade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.coordinate-prompt strong{color:#fff;font-size:clamp(2.3rem,7vw,4.8rem);line-height:.95;display:block}.exercise-coordinate .coordinate-prompt strong{letter-spacing:-.08em;text-shadow:0 8px 26px #00000094;font-size:clamp(4.5rem,13vw,8.5rem)}.exercise-coordinate .countdown-prompt{animation:none}@keyframes coordinate-fade{0%,35%{opacity:1}to{opacity:0}}.coordinate-toggle{color:#dbe4f0;align-items:center;gap:10px;font-weight:800;display:flex}.coordinate-toggle input{accent-color:#e2b714;width:18px;height:18px}.start-coordinate-toggle{background:#10182794;border:1px solid #3a4659;border-radius:14px;justify-content:center;width:100%;padding:14px 18px}.piece-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.piece-picker button{min-height:42px;padding:9px 10px}.piece-picker button.selected{color:#111827;background:#e2b714;border-color:#e2b714}.knight-prompt input{color:#fff;background:#101827;border:1px solid #3a4659;border-radius:10px;width:100%;padding:14px}.route-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.voice-status{color:#93c5fd;margin:0;font-weight:800}.training-board-shell{background:linear-gradient(135deg,#111827,#0b1220);border:1px solid #94a3b847;border-radius:22px;width:100%;max-width:720px;margin:0 auto;padding:12px;box-shadow:0 24px 50px #00000052}.coming-soon-badge{color:#7dd3fc;letter-spacing:.12em;text-transform:uppercase;background:#38bdf81f;border:1px solid #38bdf85c;border-radius:999px;margin-bottom:12px;padding:7px 10px;font-size:.8rem;font-weight:900;display:inline-block}@media (width<=900px){.coordinate-layout,.exercise-coordinate .coordinate-layout,.level-exercise-row{grid-template-columns:1fr}.stats-row.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-row.compact.coordinate-stats{grid-template-columns:1fr}.training-board-shell{max-width:100%}}@media (width<=560px){.training-screen{padding:var(--mobile-page-padding)}.training-topbar,.exercise-title-row,.answer-buttons.two-up{gap:var(--mobile-gap);grid-template-columns:1fr;display:grid}.stats-row.compact{grid-template-columns:1fr}}.movement-visualizer-page{max-width:1240px}.movement-visualizer-page h1{margin-bottom:18px}.movement-piece-picker{grid-template-columns:repeat(4,minmax(82px,1fr));gap:12px;max-width:520px;margin:0 auto clamp(18px,3vw,28px);display:grid}.movement-piece-picker button{place-items:center;min-height:62px;padding:8px 10px;font-size:2.35rem;line-height:1;display:grid}.movement-piece-picker button.selected{color:#111827;background:#e2b714;border-color:#e2b714}.movement-visualizer-layout{grid-template-columns:minmax(500px,600px) minmax(280px,360px);justify-content:center;align-items:start;gap:clamp(20px,3vw,36px);display:grid}.movement-board-column{gap:16px;min-width:0;display:grid}.movement-board-stage{width:100%;min-height:min(600px,68vh)}.movement-board-shell.training-board-shell{box-shadow:none;background:0 0;border:0;border-radius:6px;max-width:min(600px,100%);padding:0}.movement-hidden-board{aspect-ratio:1;color:#94a3b8;letter-spacing:.1em;text-transform:uppercase;background:#0f172a7a;border:1px dashed #e2b71457;border-radius:6px;place-items:center;max-width:min(600px,100%);margin:0 auto;font-size:clamp(1.6rem,4vw,2.8rem);font-weight:900;display:grid}.movement-challenge-panel{background:linear-gradient(#ffffff09,#0f172a57);border:1px solid #3a4659;border-radius:18px;gap:16px;padding:clamp(18px,3vw,28px);display:grid}.movement-challenge-panel>span{color:#e2b714;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;font-weight:900}.movement-challenge-panel>strong{color:#fff;font-size:clamp(2.1rem,5vw,3.7rem);line-height:.95;display:block}.movement-move-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.movement-move-stats>div{background:#10182794;border:1px solid #94a3b838;border-radius:14px;padding:12px 14px}.movement-move-stats span{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900;display:block}.movement-move-stats strong{color:#fff;margin-top:4px;font-size:1.55rem;line-height:1.1;display:block}.movement-status{color:#cbd5e1;margin:0;font-weight:800;line-height:1.45}.movement-hint-button{color:#101827;background:#e2b714;border-color:#e2b714;width:100%}.movement-hint-button:hover:not(:disabled){background:#f1c936}.movement-coordinate-toggle{background:#10182794;border:1px solid #94a3b838;border-radius:14px;padding:12px 14px}.movement-route-list{color:#fff;overflow-wrap:anywhere;background:#172133;border:1px solid #303c50;border-radius:10px;min-height:58px;padding:14px 16px;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:900;line-height:1.45}.movement-path-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.movement-input-panel{box-shadow:none;background:0 0;border:0;width:100%;max-width:min(980px,100%);margin:clamp(18px,3vw,30px) auto 0;padding:0}.movement-input-panel .move-entry-bar{background:0 0;border:0;align-items:stretch;min-height:0;padding:0}.movement-input-panel .move-entry-bar input{background:#101827;border:1px solid #3a4659;border-radius:10px;min-height:54px;padding:0 14px}.movement-input-panel .voice-panel{width:100%}@media (width<=980px){.movement-visualizer-layout{grid-template-columns:1fr}.movement-board-stage{min-height:auto}.movement-piece-picker{grid-template-columns:repeat(4,minmax(64px,1fr))}}@media (width<=560px){.movement-piece-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}.piece-tracking-page{max-width:1220px}.piece-tracking-title-row{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:18px;margin-bottom:clamp(20px,3vw,34px);display:grid}.training-source-label{color:#cbd5e1;letter-spacing:.02em;text-transform:uppercase;gap:4px;margin:6px 0 0;font-size:.82rem;display:inline-flex}.training-source-label strong{color:#e2e8f0}.training-source-details{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.training-source-details>span{color:#cbd5e1;background:#0f172ab3;border:1px solid #94a3b859;border-radius:999px;padding:6px 10px;font-size:.8rem}.training-source-details strong{color:#e2e8f0}.piece-tracking-description{color:#cbd5e1;max-width:760px;margin-bottom:0;font-size:clamp(1rem,2vw,1.18rem);line-height:1.6}.piece-tracking-stats{margin-top:8px}.piece-tracking-setup{gap:22px;display:grid}.difficulty-slider-card,.piece-tracking-fieldset,.piece-tracking-toggle,.piece-tracking-panel{background:linear-gradient(135deg,#101827bd,#1e293b9e);border:1px solid #94a3b83d;border-radius:20px;box-shadow:0 16px 34px #0409122e}.difficulty-slider-card{gap:16px;padding:clamp(18px,3vw,28px);display:grid}.difficulty-slider-header{justify-content:space-between;align-items:end;display:flex}.difficulty-slider-header span,.piece-tracking-phase,.piece-tracking-metrics span,.piece-tracking-answer-box label{color:#e2b714;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:900}.difficulty-slider-header strong{color:#fff;font-size:clamp(1.65rem,4vw,2.45rem);line-height:1}.difficulty-snap-slider{appearance:none;background:linear-gradient(90deg, #e2b714 var(--difficulty-progress), #101827 var(--difficulty-progress));cursor:pointer;border:1px solid #e2b71461;border-radius:999px;outline:none;width:100%;height:34px;padding:0 4px}.difficulty-snap-slider::-webkit-slider-thumb{appearance:none;background:#fff;border:7px solid #e2b714;border-radius:999px;width:56px;height:56px;box-shadow:0 8px 22px #00000057}.difficulty-snap-slider::-moz-range-thumb{background:#fff;border:7px solid #e2b714;border-radius:999px;width:42px;height:42px;box-shadow:0 8px 22px #00000057}.difficulty-ticks{color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;font-size:.78rem;font-weight:900;display:flex}.difficulty-slider-card p{color:#cbd5e1;margin:0;line-height:1.55}.piece-tracking-option-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;display:grid}.piece-tracking-fieldset{margin:0;padding:18px}.piece-tracking-fieldset legend{color:#fff;padding:0 8px;font-weight:900}.piece-tracking-segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.piece-tracking-segmented button{text-align:center;background:#0f172ab8;border-color:#94a3b83d;justify-content:center;align-items:center;gap:6px;min-height:116px;display:grid}.piece-tracking-segmented button.selected{color:#fff;background:#e2b7142e;border-color:#e2b714}.piece-tracking-segmented span,.piece-tracking-toggle small{color:#aeb8c8;font-size:.82rem;font-weight:700;line-height:1.35}.piece-tracking-toggle{cursor:pointer;align-items:center;gap:14px;padding:18px;display:flex}.piece-tracking-toggle input{accent-color:#e2b714;width:26px;height:26px}.piece-tracking-toggle span{gap:5px;display:grid}.piece-tracking-start{justify-self:start;min-width:240px;font-size:1.08rem}.piece-tracking-layout{grid-template-columns:minmax(360px,1fr) minmax(320px,420px);align-items:start;gap:clamp(16px,2vw,24px);display:grid}.piece-tracking-board-stage{place-items:center;min-height:min(70vh,660px);display:grid}.piece-tracking-board.training-board-shell{width:100%;max-width:min(70vh,660px,100%)}.piece-tracking-hidden-board{color:#cbd5e1;text-align:center;background:radial-gradient(circle at top,#38bdf81f,#0f172af0);border:1px dashed #94a3b870;border-radius:28px;align-content:center;gap:10px;width:min(100%,620px);min-height:min(70vh,600px);padding:34px;display:grid}.piece-tracking-hidden-board span{color:#e2b714;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;font-weight:900}.piece-tracking-hidden-board strong{color:#fff;font-size:clamp(2rem,6vw,4rem)}.piece-tracking-panel{gap:14px;padding:18px;display:grid;position:sticky;top:16px}.piece-tracking-panel h2{margin:0;font-size:clamp(1.35rem,3vw,2.1rem)}.piece-tracking-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.piece-tracking-metrics>div,.piece-tracking-segment-list{background:#101827a8;border:1px solid #94a3b838;border-radius:14px;padding:12px}.piece-tracking-metrics strong{color:#fff;margin-top:3px;font-size:1.35rem;display:block}.piece-tracking-segment-list{color:#fff;overflow-wrap:anywhere;min-height:54px;font-weight:900;line-height:1.5}.piece-tracking-answer-box{gap:9px;display:grid}.piece-tracking-answer-row{gap:8px;display:flex}.piece-tracking-answer-row input{color:#fff;background:#101827;border:1px solid #3a4659;border-radius:10px;flex:1;min-width:0;padding:0 14px}.piece-tracking-answer-box small{color:#94a3b8;line-height:1.4}@media (width<=980px){.piece-tracking-title-row,.piece-tracking-option-grid,.piece-tracking-layout{grid-template-columns:1fr}.piece-tracking-panel{position:static}}@media (width<=620px){.piece-tracking-segmented,.piece-tracking-metrics{grid-template-columns:1fr}.piece-tracking-answer-row{flex-direction:column}}@media (width<=640px){.piece-tracking-title-row{grid-template-columns:minmax(0,1fr)}.piece-tracking-stats,.piece-tracking-phase,.piece-tracking-metrics,.piece-tracking-segment-list,.piece-tracking-answer-box{display:none}.difficulty-snap-slider{padding:0}.piece-tracking-segmented button{text-align:center;justify-content:center;align-items:center;min-height:58px}.piece-tracking-layout{grid-template-columns:minmax(420px,1fr) minmax(260px,340px)}.piece-tracking-board-and-input{gap:12px;display:grid}.piece-tracking-input-panel{box-shadow:none;background:0 0;border:0;width:100%;margin-top:0}.piece-tracking-input-panel .move-entry-bar{align-items:stretch;min-height:92px}.piece-tracking-input-panel .voice-panel{width:100%}.piece-tracking-feedback{color:#cbd5e1;margin:0;font-weight:800;line-height:1.45}.piece-tracking-panel{align-content:start}.piece-tracking-panel .partial-game-move-card,.piece-tracking-panel .reconstruction-action-stack{justify-self:center;width:min(100%,280px)}.piece-tracking-panel .reconstruction-action-stack button{justify-self:stretch;width:100%}.piece-tracking-panel h2{margin-bottom:4px}}@media (width<=980px){.piece-tracking-layout{grid-template-columns:1fr}}.reconstruction-page{max-width:1320px}.reconstruction-title-row{align-items:start}.reconstruction-timer{text-align:center;gap:2px;min-width:128px;display:grid}.reconstruction-timer span{color:#cbd5e1;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.reconstruction-setup{gap:22px;display:grid}.reconstruction-difficulty-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.reconstruction-difficulty-grid button{text-align:center;background:#1b2638;place-items:center;min-height:118px;padding:14px 12px;display:grid}.reconstruction-difficulty-grid button.selected{background:#2f3d58;border-color:#e2b714;box-shadow:0 0 0 2px #e2b71442}.reconstruction-difficulty-grid strong{color:#fff;letter-spacing:-.04em;text-align:center;width:100%;margin:0 auto;font-size:clamp(1.1rem,2.2vw,1.65rem);line-height:.95;display:block}.reconstruction-level-description{color:#dbe4f0;text-align:center;margin:0;font-weight:800}.reconstruction-difficulty-grid span,.reconstruction-meta-row span,.per-position-results span{color:#cbd5e1}.reconstruction-meta-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.reconstruction-meta-row>span{background:#172235;border:1px solid #334155;border-radius:999px;padding:8px 12px}.mobile-session-title>.mobile-session-chip-row:not(.training-source-details){display:none}.reconstruction-layout{grid-template-columns:minmax(360px,600px) minmax(260px,340px);justify-content:center;align-items:start;gap:18px;display:grid}.reconstruction-board-card{justify-self:center;gap:10px;width:100%;max-width:min(100%,58dvh,600px);display:grid}.visual-reconstruction-page{--visual-reconstruction-board-size:min(58vw, 68dvh, 620px);--visual-reconstruction-square-size:calc(var(--visual-reconstruction-board-size) / 8);--visual-reconstruction-tray-width:clamp(84px, 8vw, 100px);--visual-reconstruction-stage-gap:clamp(10px, 1.4vw, 16px)}.visual-reconstruction-page .reconstruction-layout{grid-template-columns:minmax(0, calc(var(--visual-reconstruction-board-size) + (var(--visual-reconstruction-tray-width) * 2) + (var(--visual-reconstruction-stage-gap) * 2))) minmax(250px, 320px)}.visual-reconstruction-page .reconstruction-board-card{max-width:calc(var(--visual-reconstruction-board-size) + (var(--visual-reconstruction-tray-width) * 2) + (var(--visual-reconstruction-stage-gap) * 2) + 20px)}.visual-reconstruction-board-stage{align-items:center;gap:var(--visual-reconstruction-stage-gap);grid-template-columns:var(--visual-reconstruction-tray-width) minmax(0, var(--visual-reconstruction-board-size)) var(--visual-reconstruction-tray-width);justify-content:center;display:grid}.visual-reconstruction-board-area{justify-items:center;min-width:0;display:grid}.visual-reconstruction-chessboard-wrap{min-width:0;width:var(--visual-reconstruction-board-size)}.reconstruction-page--occupied-hints{--reconstruction-mobile-occupied-hint-background:radial-gradient(circle at center, #afa89ca8 0 18%, transparent 19%)}.reconstruction-side-panel,.reconstruction-results{background:#172235;border:1px solid #334155;border-radius:12px;gap:16px;padding:18px;display:grid}.reconstruction-side-panel h2,.reconstruction-results h2{margin-bottom:0}.reconstruction-chessboard-wrap,.visual-reconstruction-chessboard-wrap,.reconstruction-board-card{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none}.reconstruction-board-card [data-piece],.piece-tray [data-piece]{touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;justify-content:center;align-items:center;padding:3%;transition:filter 90ms,opacity 90ms,transform 90ms;display:flex}.reconstruction-board-card [data-piece] svg,.piece-tray [data-piece] svg{width:100%;max-width:100%;height:100%;max-height:100%;margin:auto;display:block}.piece-tray{touch-action:none;-webkit-user-select:none;user-select:none;background:#121a28;border:1px solid #334155;border-radius:12px;grid-template-columns:repeat(6,minmax(64px,1fr));gap:10px;padding:10px;display:grid}.tray-piece{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#202b3d;border:1px solid #3a4659;border-radius:14px;place-items:center;gap:0;min-height:78px;padding:9px;transition:background .14s,border-color .14s,box-shadow .14s,filter .14s,transform .14s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0f,0 10px 18px #04091229}.tray-piece:hover{background:#243247;border-color:#38bdf8;transform:translateY(-1px)scale(1.02);box-shadow:inset 0 0 0 2px #38bdf852,0 14px 24px #04091242}.tray-piece:active{cursor:grabbing;filter:brightness(1.04);transform:translateY(0)scale(1.03)}.tray-piece.selected{border-color:#38bdf8;box-shadow:inset 0 0 0 3px #38bdf88c,0 14px 24px #04091247}.tray-piece.empty{cursor:not-allowed;opacity:.42}.tray-piece.empty:hover{border-color:#3a4659;transform:none;box-shadow:inset 0 1px #ffffff0a,0 10px 18px #04091229}.tray-piece-count{color:#111827;pointer-events:none;background:#e2b714;border:1px solid #1118274d;border-radius:999px;justify-content:center;align-items:center;min-width:28px;padding:2px 6px;font-size:.78rem;font-weight:950;display:inline-flex;position:absolute;bottom:7px;right:7px}.tray-piece>div{width:min(100%,70px)!important;height:min(100%,70px)!important}.visual-reconstruction-page .piece-tray{width:var(--visual-reconstruction-tray-width);background:linear-gradient(#111827 0%,#172235 100%);grid-template-columns:1fr;place-self:center;gap:10px;padding:10px 8px}.visual-reconstruction-page .piece-tray-placeholder{opacity:0;pointer-events:none;visibility:hidden}.visual-reconstruction-page .tray-piece{aspect-ratio:1;min-width:72px;min-height:0;padding:4px;overflow:visible}.visual-reconstruction-page .tray-piece>div{width:min(100%,74px)!important;height:min(100%,74px)!important}.reconstruction-action-stack{gap:10px;display:grid}.reconstruction-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.reconstruction-score-grid div{background:#202b3d;border:1px solid #3a4659;border-radius:10px;gap:2px;padding:8px;display:grid}.reconstruction-score-grid span{color:#cbd5e1;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800}.reconstruction-score-grid strong{color:#fff;font-size:1.35rem}.final-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.per-position-results{gap:10px;display:grid}.reconstruction-debug-message{color:#fde68a;background:#eab3081f;border:1px solid #eab3085c;border-radius:10px;margin:18px 0 0;padding:10px 12px;font-size:.86rem}.per-position-results article{background:#202b3d;border:1px solid #3a4659;border-radius:10px;gap:2px;padding:8px;display:grid}@media (width<=960px){.reconstruction-layout,.reconstruction-difficulty-grid,.final-results-grid{grid-template-columns:1fr}.piece-tray{grid-template-columns:repeat(4,minmax(76px,1fr))}}@media (width<=720px){.visual-reconstruction-page{--visual-reconstruction-board-size:min(100%, calc(100vw - 48px));--visual-reconstruction-square-size:calc(var(--visual-reconstruction-board-size) / 8)}.visual-reconstruction-board-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-reconstruction-board-area{order:1;grid-column:1/-1;justify-self:center}.visual-reconstruction-chessboard-wrap{justify-self:center}.visual-reconstruction-page .piece-tray{order:2;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}}@media (width<=640px){.visual-reconstruction-page{--visual-reconstruction-board-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 54dvh, 420px);--visual-reconstruction-square-size:calc(var(--visual-reconstruction-board-size) / 8);--visual-reconstruction-stage-gap:10px}.visual-reconstruction-board-stage{grid-template-columns:minmax(0,1fr);place-items:center;gap:10px;width:100%;display:grid}.visual-reconstruction-board-area{order:1;grid-column:1;width:100%;max-width:100%}.visual-reconstruction-chessboard-wrap{aspect-ratio:1;max-width:100%;width:var(--visual-reconstruction-board-size);justify-self:center}.reconstruction-page--occupied-hints{--reconstruction-occupied-hint-background:var(--reconstruction-mobile-occupied-hint-background)}.visual-reconstruction-page .piece-tray.reconstruction-piece-tray{grid-template-columns:repeat(3,minmax(48px,56px));justify-content:center;gap:6px;width:auto;max-width:100%;padding:8px}.visual-reconstruction-page .reconstruction-piece-tray-white{order:3}.visual-reconstruction-page .reconstruction-piece-tray-black{order:4}.visual-reconstruction-page .tray-piece.reconstruction-tray-piece{border-radius:12px;width:clamp(48px,14vw,56px);min-width:48px;height:clamp(48px,14vw,56px);min-height:48px;padding:3px}.visual-reconstruction-page .tray-piece.selected,.visual-reconstruction-page .reconstruction-tray-piece-selected{background:#0f3a52;border-color:#7dd3fc;transform:translateY(-1px);box-shadow:inset 0 0 0 3px #7dd3fcc7,0 0 0 2px #0ea5e947,0 10px 20px #082f4952}.visual-reconstruction-page .tray-piece-count,.visual-reconstruction-page .reconstruction-tray-piece-count{min-width:22px;padding:1px 5px;font-size:.66rem;bottom:3px;right:3px}.visual-reconstruction-page .tray-piece>div{width:min(100%,50px)!important;height:min(100%,50px)!important}}.partial-game-setup .piece-tracking-description{text-align:center;margin:0}.partial-game-loading{min-height:360px}@media (width>=721px){.visual-reconstruction-page .partial-game-hidden-board{aspect-ratio:1;box-sizing:border-box;min-height:0;width:var(--visual-reconstruction-board-size);place-content:center;justify-self:center}}.partial-game-move-card{text-align:center;background:#202b3d;border:1px solid #3a4659;border-radius:12px;gap:4px;padding:16px;display:grid}.partial-game-move-card span,.partial-game-move-card small{color:#cbd5e1;font-weight:800}.partial-game-move-card span{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.partial-game-move-card strong{color:#fff;font-size:clamp(2rem,6vw,4rem);line-height:1}.partial-game-touch-helper{display:none}.partial-game-tts-toggle{margin:0}.settings-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.settings-section-heading .settings-help{margin:6px 0 0}.status-pill{color:#cbd5e1;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border:1px solid #94a3b852;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:800}.status-pill-ready{color:#bbf7d0;background:#22c55e24;border-color:#22c55e75}.status-pill-muted{background:#94a3b81f}.settings-warning{color:#fecaca;background:#f871711f;border:1px solid #f8717152;border-radius:12px;margin:0;padding:10px 12px;line-height:1.45}.voice-select-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.settings-field{gap:8px;display:grid}.voice-preview-button{white-space:nowrap;min-height:43px}@media (width<=720px){.settings-section-heading,.voice-select-row{grid-template-columns:1fr}.settings-section-heading{display:grid}.voice-preview-button{justify-self:start}}@media (width<=640px){.settings-panel{border-radius:var(--mobile-card-radius);padding:var(--mobile-card-padding);width:100%}.settings-header{text-align:left;margin-bottom:18px}.settings-header h1{font-size:clamp(2rem,12vw,3.2rem)}.settings-card{border-radius:16px;padding:16px}.theme-options,.voice-select-row{grid-template-columns:1fr}.voice-preview-button{justify-self:stretch;width:100%}}.blindfold-controls{gap:12px;display:grid}.segmented-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.segmented-buttons button.selected{color:#101827;background:#e2b714;border-color:#e2b714}.blindfold-puzzle-area{grid-template-columns:minmax(280px,420px) minmax(260px,1fr);align-items:start;gap:18px;margin-top:18px;display:grid}.blindfold-board-card,.blindfold-side-card{background:#202b3d;border:1px solid #3a4659;border-radius:16px;padding:14px}.hidden-board-placeholder{aspect-ratio:1;color:#cbd5e1;background:#111827;border:1px dashed #4b5563;border-radius:12px;place-items:center;font-weight:900;display:grid}.blindfold-hidden-piece-list{gap:9px;width:100%;max-width:90%;display:grid}.blindfold-hidden-piece-list p{color:#e5edf8;text-align:left;margin:0;font-size:clamp(.82rem,1.6vw,.98rem);font-weight:800;line-height:1.45}.blindfold-piece-divider{background:linear-gradient(90deg,#0000,#e2b714d1,#0000);width:100%;height:2px}.blindfold-hidden-piece-list .blindfold-hidden-turn{color:#e2b714;text-align:center}.blindfold-side-card{gap:12px;display:grid}.blindfold-prompt-text,.blindfold-meta{color:#dbe4f0;margin:0;line-height:1.5}.blindfold-meta{color:#aeb8c8;font-size:.9rem;font-weight:800}.blindfold-move-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.blindfold-move-form input{color:#fff;font:inherit;background:#111827;border:1px solid #3a4659;border-radius:10px;padding:11px 12px}.blindfold-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=860px){.blindfold-puzzle-area,.blindfold-move-form{grid-template-columns:1fr}}.blindfold-puzzle-menu{text-align:center;align-items:center;gap:24px;max-width:900px;display:grid}.blindfold-puzzle-menu h1{margin-bottom:0}.blindfold-menu-section{gap:12px;width:min(100%,760px);display:grid}.blindfold-menu-section h2{margin:0;font-size:clamp(1.25rem,2.5vw,1.7rem)}.blindfold-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.blindfold-choice-grid button{text-align:left;background:#101827;border-color:#3a4659;gap:6px;padding:16px;display:grid}.blindfold-choice-grid button.selected,.segmented-buttons button.selected{color:#101827;background:#e2b714;border-color:#e2b714}.blindfold-choice-grid strong{color:inherit;font-size:1.04rem}.blindfold-choice-grid span{color:inherit;opacity:.88;font-size:.92rem;font-weight:700}.blindfold-slider-stack{gap:20px;width:min(100%,760px);display:grid}.blindfold-slider-card{text-align:left}.blindfold-slider-card p strong{color:#fff}.blindfold-start-button{min-width:220px;padding:16px 28px;font-size:1.15rem}.exercise-blindfold-puzzles.blindfold-puzzle-exercise{max-width:1360px}.blindfold-exercise-title-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.blindfold-exercise-title-row h1{margin-bottom:0}.blindfold-stats{margin-bottom:16px}.blindfold-exercise-layout{grid-template-columns:minmax(520px,1fr) minmax(340px,430px);align-items:start;gap:clamp(16px,2vw,24px);display:grid}.blindfold-board-focus{padding:clamp(10px,1.4vw,16px)}.blindfold-hidden-board{text-align:center;min-height:min(72vh,720px)}.blindfold-hidden-board strong{color:#fff;letter-spacing:-.04em;font-size:clamp(2rem,5vw,4rem)}.blindfold-hidden-board span{color:#aeb8c8;max-width:360px;font-size:clamp(1rem,2vw,1.25rem);font-weight:800}.blindfold-controls-card{gap:14px}.blindfold-status-block{background:#101827;border:1px solid #3a4659;border-radius:14px;gap:5px;padding:14px;display:grid}.blindfold-status-block strong{color:#fff;font-size:1.2rem}.blindfold-status-block span,.blindfold-speech-status{color:#aeb8c8;font-weight:800}.blindfold-move-form{grid-template-columns:minmax(0,1fr) auto auto}.blindfold-move-form button{min-height:48px}.blindfold-speech-status{margin:-4px 0 0}.blindfold-actions button{flex:150px}.blindfold-move-list{background:#101827;border:1px solid #3a4659;border-radius:14px;gap:8px;min-height:120px;max-height:220px;padding:12px;display:grid;overflow:auto}.blindfold-move-list div{background:#202b3db8;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:9px 10px;display:grid}.blindfold-move-list span,.blindfold-move-list small,.blindfold-move-list p{color:#94a3b8;margin:0;font-weight:800}.blindfold-move-list strong{color:#fff}@media (width<=980px){.blindfold-exercise-layout{grid-template-columns:1fr}.blindfold-hidden-board{min-height:auto}}@media (width<=640px){.blindfold-choice-grid,.blindfold-move-form{grid-template-columns:1fr}.blindfold-puzzle-menu{text-align:left;justify-items:stretch;max-width:100%}.blindfold-puzzle-menu h1{text-align:center}.blindfold-slider-stack,.blindfold-slider-card,.blindfold-start-button{width:100%}.blindfold-slider-card{min-width:0}.blindfold-start-button{min-width:0;min-height:48px}.blindfold-exercise-title-row{flex-direction:column;align-items:stretch}}.blindfold-board-focus{justify-self:center;width:100%;max-width:min(58vh,560px,100%)}.blindfold-input-panel{grid-template-columns:112px 1fr;margin-top:0}.blindfold-input-panel .move-entry-bar{min-height:104px}.blindfold-text-entry{align-items:center;gap:10px;width:100%;display:flex}.blindfold-text-entry input{color:#fff;background:0 0;border:0;flex:1;min-width:0;padding:10px 0}@media (width<=640px){.blindfold-input-panel,.blindfold-text-entry{grid-template-columns:1fr}.blindfold-text-entry{flex-direction:column;align-items:stretch}}.exercise-blindfold-puzzles.blindfold-puzzle-exercise{max-width:1280px;padding:clamp(16px,2.6vw,30px)}.blindfold-exercise-layout{grid-template-columns:minmax(560px,680px) minmax(320px,390px);justify-content:center}.blindfold-board-column{gap:12px;display:grid}.blindfold-board-focus{border-radius:18px;justify-self:center;width:100%;max-width:min(64vh,640px,100%);padding:8px;overflow:hidden}.blindfold-hidden-board{border-radius:14px;width:100%;min-height:auto}.blindfold-input-panel{width:100%;max-width:min(64vh,640px,100%);margin:0 auto}.blindfold-controls-card{grid-template-rows:auto minmax(240px,1fr) auto auto;align-self:stretch;display:grid}.blindfold-turn-heading{text-align:center;margin:0;font-size:clamp(1.35rem,2.4vw,2rem)}.blindfold-move-list-panel{height:auto;min-height:250px;padding:10px}.blindfold-move-list-panel .move-list li{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr)}.move-list-empty{color:#94a3b8;font-weight:800}.blindfold-review-navigation{margin-top:0}.blindfold-actions{grid-template-columns:1fr;display:grid}.blindfold-feedback-line{color:#dbe4f0;text-align:center;min-height:1.35em;margin:0;font-weight:900}@media (width<=980px){.blindfold-exercise-layout{grid-template-columns:1fr}.blindfold-board-focus,.blindfold-input-panel{max-width:min(72vh,680px,100%)}.blindfold-controls-card{grid-template-rows:auto}}@media (width<=640px){.exercise-blindfold-puzzles.blindfold-puzzle-exercise{padding:12px}.blindfold-exercise-layout,.blindfold-board-column,.blindfold-controls-card{gap:10px}.blindfold-exercise-title-row,.blindfold-stats{margin-bottom:10px}.blindfold-board-focus,.blindfold-input-panel{max-width:min(100%,max(280px,100dvh - 260px))}.blindfold-board-focus{padding:6px}.blindfold-hidden-board{min-height:clamp(240px,48dvh,420px);padding:16px}.blindfold-input-panel{grid-template-columns:1fr}.blindfold-input-panel .input-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.blindfold-input-panel .move-entry-bar{min-height:auto}.blindfold-feedback-line{background:#101827;border:1px solid #3a4659;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:0;margin:0 auto;padding:10px 12px;font-size:clamp(1.1rem,4.5vw,1.45rem);line-height:1.25;display:flex}.blindfold-controls-card{padding:12px}.blindfold-turn-heading{font-size:1.2rem}.blindfold-move-list-panel{min-height:0;max-height:150px;overflow:auto}.blindfold-review-navigation,.blindfold-actions{gap:6px}}.verbal-hidden-board{min-height:auto;padding:clamp(18px,3vw,28px)}.auth-menu{color:#e5e7eb;place-items:center;gap:8px;display:grid;position:relative}.auth-menu-loading,.auth-guest-label{color:#cbd5e1;font-size:.92rem;font-weight:800}.auth-guest-menu{width:100%;max-width:420px;margin:0 auto 18px}.auth-guest-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.auth-guest-actions button,.auth-menu-panel button{padding:9px 12px}.auth-menu-trigger{cursor:pointer;background:#1b2638;border:1px solid #3f4a5f;border-radius:999px;align-items:center;gap:8px;padding:7px 11px 7px 7px;list-style:none;display:flex}.auth-menu-trigger::-webkit-details-marker{display:none}.auth-menu-trigger:hover{background:#2d3c57}.auth-avatar{border-radius:999px;width:28px;height:28px}.auth-avatar-fallback{color:#101827;background:#e2b714;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.auth-menu-panel{z-index:20;background:#101827;border:1px solid #3a4659;border-radius:12px;gap:10px;min-width:220px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 36px #0409125c}.auth-menu-email,.auth-help,.auth-error{margin:0;font-size:.86rem;line-height:1.35}.auth-menu-email,.auth-help{color:#aeb8c8}.auth-error{color:#fecaca}.game-header .auth-menu{grid-column:3;justify-self:end}.settings-card .auth-guest-menu{margin-bottom:0}@media (width<=760px){.game-header .auth-menu{grid-column:auto;justify-self:stretch}}@media (width<=560px){.auth-guest-actions{grid-template-columns:1fr;width:100%;display:grid}.auth-menu-panel{left:0;right:auto}}.auth-menu-link,.auth-profile-link{color:#fde68a;font-size:.9rem;font-weight:800;text-decoration:none}.auth-menu-link:hover,.auth-profile-link:hover{color:#fff;text-decoration:underline}.auth-menu-link{text-align:center;background:#1b2638;border:1px solid #3f4a5f;border-radius:8px;padding:9px 12px}.account-profile-panel{width:min(100%,1080px);max-width:1080px}.account-profile-grid{grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:12px;display:grid}.account-summary-card h2{margin-bottom:8px}.account-facts,.account-progress-stats{gap:10px;display:grid}.account-facts div,.account-progress-stats div{background:#0f172a6b;border:1px solid #334155;border-radius:10px;gap:3px;padding:8px;display:grid}.account-facts span,.account-progress-stats span{color:#aeb8c8;text-transform:uppercase;font-size:.84rem;font-weight:800}.account-facts strong,.account-progress-stats strong{color:#fff;font-size:1.15rem}.account-progress-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-progress-list{gap:12px;display:grid}.account-progress-row{border:1px solid #334155;border-radius:12px;padding:10px}.account-progress-row h3{color:#fff;margin:0 0 10px}.account-progress-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.account-actions-row{margin-top:18px}@media (width<=760px){.account-profile-grid,.account-progress-stats{grid-template-columns:1fr}.account-progress-heading{align-items:stretch;display:grid}}.auth-corner{z-index:40;position:fixed;top:14px;right:clamp(14px,2.4vw,28px)}.auth-link-menu{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.auth-action-link{border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:10px 14px;text-decoration:none;display:inline-flex}.site-menu{z-index:50;position:fixed;top:14px;left:14px}.site-menu-trigger{background:#121a28;border:1px solid #3a4659;list-style:none}.site-menu-trigger::-webkit-details-marker{display:none}.site-menu-panel{background:#121a28;border:1px solid #3a4659;border-radius:14px;flex-direction:column;gap:10px;min-width:220px;min-height:360px;margin-top:10px;padding:12px;display:flex;box-shadow:0 18px 36px #0409125c}.site-menu-profile,.side-menu-profile{margin-top:auto}.auth-page-card{max-width:560px}.unified-auth-card{background:linear-gradient(#121a28fa,#0b1220fa);border-color:#e2b71452;width:min(100%,440px);padding:clamp(24px,5vw,42px);box-shadow:0 24px 60px #0307127a}.auth-page-card h1{white-space:normal}.auth-page-actions{gap:10px;max-width:320px;margin:0 auto;display:grid}.unified-auth-actions,.unified-auth-form{width:100%;max-width:340px}.google-auth-button{color:#fff}.auth-divider{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;width:100%;max-width:340px;margin:18px auto 2px;font-size:.82rem;font-weight:900;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:linear-gradient(90deg,#0000,#e2b7146b);flex:1;height:1px}.auth-divider:after{background:linear-gradient(90deg,#e2b7146b,#0000)}.account-signin-card{max-width:560px;margin:0 auto}.stats-summary-card{margin-bottom:16px}@media (width<=640px){.auth-corner{max-width:calc(100vw - 2 * var(--mobile-page-padding) - 56px);right:max(var(--mobile-page-padding), env(safe-area-inset-right));top:calc(max(10px, env(safe-area-inset-top)) + 2px)}.auth-page-screen{--app-header-height:44px;padding:calc(var(--app-header-height) + env(safe-area-inset-top) + 8px) var(--mobile-page-padding) max(8px, env(safe-area-inset-bottom));align-content:start;justify-items:stretch;gap:8px}.auth-page-screen .page-back-button{display:none}.auth-page-screen .mobile-app-header{box-shadow:0 8px 18px #0409123d}.auth-page-card{border-radius:var(--mobile-card-radius);width:100%;padding:16px 14px}.auth-page-card h1{margin-bottom:6px;font-size:1.8rem}.auth-page-card p{margin-bottom:12px;font-size:.95rem}.auth-page-card .eyebrow{margin-bottom:6px}.auth-page-card .menu-subheading{line-height:1.25}.auth-page-actions,.unified-auth-actions{grid-template-columns:1fr;gap:8px}.google-auth-button{min-height:44px}.auth-divider{gap:8px;margin:10px auto 0}.auth-form{gap:8px;margin:10px 0 8px}.auth-form label{gap:4px}.auth-form label,.auth-form .primary-button{width:100%}.auth-form input{min-height:42px;padding:10px 12px;font-size:16px}.auth-form .primary-button{min-height:46px}.auth-switch-prompt{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;margin:8px 0 0;display:flex}.auth-switch-prompt .auth-text-button{min-height:0}}@media (width<=560px){.auth-corner{right:max(12px, env(safe-area-inset-right))}.auth-action-link{min-height:38px;padding:8px 10px}.site-menu{top:12px;left:12px}}.auth-form{text-align:left;gap:12px;margin:18px 0;display:grid}.auth-form label{color:#dbeafe;gap:6px;font-weight:800;display:grid}.auth-form label span{text-transform:uppercase;font-size:.86rem}.auth-form input{color:#fff;background:#0f172a;border:1px solid #334155;border-radius:10px;width:100%;padding:12px 14px}.auth-form input:read-only{color:#cbd5e1;opacity:.86}.password-input-shell{position:relative}.password-input-shell input{padding-right:46px}.password-visibility-toggle{color:#fde68a;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-visibility-toggle:hover,.password-visibility-toggle:focus-visible{color:#fff;background:#e2b71424}.password-visibility-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.auth-success{color:#bbf7d0;margin:0;font-size:.9rem;font-weight:800}.account-profile-column{gap:16px;display:grid}.account-profile-form-card{align-content:start}.compact-account-facts{margin-top:4px}.site-menu{z-index:50;flex-direction:column;align-items:flex-start;display:flex;position:fixed;top:14px;left:14px}.site-menu-trigger{background:#121a28;border:1px solid #3a4659;box-shadow:0 12px 24px #0409123d}.site-menu-panel{background:#121a28;border:1px solid #3a4659;border-radius:0 16px 16px 0;flex-direction:column;gap:18px;min-width:240px;min-height:min(520px,100vh - 78px);margin-top:10px;padding:16px 14px 16px 28px;display:flex;position:relative;left:-14px;transform:translate(0);box-shadow:0 18px 36px #0409125c}.site-menu-main-links,.site-menu-bottom-links{flex-direction:column;gap:10px;display:flex}.site-menu-main-links{flex:1}.site-menu-panel button{text-align:left}.site-menu-bottom-links{border-top:1px solid #334155;margin-top:auto;padding-top:14px}.site-menu-backdrop{display:none}@media (width<=640px){.site-menu{left:var(--mobile-page-padding);top:max(10px, env(safe-area-inset-top))}.site-menu-backdrop{z-index:45;background:#0206178a;display:block;position:fixed;inset:0}.site-menu-panel{border-radius:var(--mobile-card-radius);bottom:var(--mobile-safe-bottom);min-width:0;min-height:auto;max-height:min(70dvh,520px);padding:var(--mobile-card-padding);margin-top:0;position:fixed;left:8px;right:8px;overflow-y:auto}.site-menu-main-links,.site-menu-bottom-links{width:100%}.site-menu-panel button{width:100%;min-height:44px;padding:9px 12px}.training-screen{padding:calc(var(--app-header-height) + env(safe-area-inset-top)) var(--mobile-page-padding) calc(64px + var(--mobile-bottom-safe))}.training-topbar{gap:var(--mobile-gap);grid-template-columns:1fr;display:grid}}.sign-in-link,.auth-page-card form .primary-button,.site-menu-bottom-links .secondary-button{color:#fff}.danger-zone-actions{justify-items:start;gap:10px;display:grid}.account-actions-row{justify-content:center;gap:clamp(14px,3vw,28px)}.landing-page{padding:24px clamp(18px,4vw,64px) 64px;overflow-x:hidden}.landing-nav{justify-content:space-between;align-items:center;gap:18px;max-width:1180px;margin:0 auto;padding:8px 0 36px;display:flex}.landing-brand{color:#fff;letter-spacing:-.03em;font-size:clamp(1rem,2.2vw,1.3rem);font-weight:900}.landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:center;gap:clamp(28px,5vw,64px);max-width:1180px;min-height:min(720px,100vh - 150px);margin:0 auto;display:grid}.landing-hero-copy{max-width:680px}.landing-hero h1{margin-bottom:24px;font-size:clamp(3.4rem,8vw,7.6rem)}.landing-description{color:#dbeafe;margin-bottom:34px;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.55}.landing-cta{border-radius:999px;min-width:220px;padding:16px 26px;font-size:1.08rem}.landing-logo{justify-self:start;width:100%;max-width:min(540px,112%);height:auto;display:block;transform:translate(-28px)}.landing-section{max-width:1180px;margin:0 auto;padding:72px 0 0}.landing-section>h2,.landing-band h2{max-width:780px}.landing-exercise-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;display:grid}.landing-exercise-card{background:#202b3ddb;border:1px solid #3a4659;border-radius:20px;padding:18px}.landing-exercise-card h3{color:#fff;margin:0 0 10px;font-size:1.15rem}.landing-exercise-card p,.landing-band p{color:#cbd5e1;margin:0;line-height:1.5}.landing-band{background:linear-gradient(135deg,#e2b7141f,#3b82f61a);border:1px solid #94a3b83d;border-radius:28px;justify-content:space-between;align-items:center;gap:28px;margin-top:72px;padding:clamp(28px,5vw,48px);display:flex}@media (width<=860px){.landing-nav{display:none}.landing-hero,.landing-exercise-grid{grid-template-columns:1fr}.landing-band{flex-direction:column;align-items:flex-start}}@media (width<=640px){.account-profile-grid,.account-profile-grid-simple,.account-profile-column,.account-facts,.account-progress-stats,.profile-stat-highlights{grid-template-columns:1fr}.account-profile-panel .settings-card{border-radius:var(--mobile-card-radius);padding:var(--mobile-card-padding)}.account-profile-panel .settings-card button,.account-bottom-actions button{width:100%}.account-bottom-actions{gap:16px;width:100%;margin-top:36px;display:grid}.account-bottom-actions .danger-zone-actions{border-top:1px solid #c2414c57;width:100%;margin-top:10px;padding-top:20px;display:grid}.landing-page{padding:12px 14px 24px}.landing-nav{display:none}.landing-hero{text-align:center;grid-template-rows:auto auto auto;align-content:start;gap:14px;min-height:calc(100dvh - 32px);display:grid}.landing-hero-copy{display:contents}.landing-hero-heading{order:1}.landing-hero-actions{order:3}.landing-hero h1{margin-bottom:14px;font-size:clamp(2.4rem,11vw,3.3rem);line-height:.95}.landing-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:18px;font-size:1rem;display:-webkit-box;overflow:hidden}.landing-cta{width:min(100%,320px);min-height:48px}.landing-logo{clip-path:inset(0 0 0 1%);order:2;justify-self:center;max-width:min(62vw,260px);transform:none}.landing-section{padding-top:44px}.landing-exercise-grid{grid-template-columns:1fr;gap:10px;margin-top:16px}.landing-exercise-card{border-radius:14px;padding:12px 14px}.landing-exercise-card h3{margin-bottom:4px;font-size:1rem}.landing-exercise-card p{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.35;display:-webkit-box;overflow:hidden}}.landing-hero-copy .landing-cta{margin-left:auto;margin-right:auto;display:block}.auth-profile-button{color:#e5e7eb;text-decoration:none}.settings-back-button,.page-back-button{left:74px}.account-profile-grid-simple{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:start}.account-picture-card{text-align:center;place-items:center;gap:16px;display:grid}.account-picture-frame{aspect-ratio:1;background:radial-gradient(circle at 30% 20%,#e2b71457,#0f172adb);border:1px solid #e2b71461;border-radius:999px;justify-content:center;align-items:center;width:min(180px,56vw);display:inline-grid;overflow:hidden;box-shadow:0 18px 38px #00000047,0 0 34px #e2b7141a}.account-picture-image{object-fit:cover;width:100%;height:100%}.account-picture-fallback{color:#fff;letter-spacing:-.08em;text-shadow:0 8px 18px #00000047;justify-content:center;align-items:center;font-size:clamp(4rem,12vw,6.5rem);font-weight:1000;line-height:1;display:inline-flex}.account-picture-copy{gap:4px;display:grid}.account-picture-copy h2{color:#fff;overflow-wrap:anywhere;margin:0}.account-security-card{gap:18px;display:grid}.account-password-actions{gap:10px;display:grid}.account-password-actions h3{color:#fff;margin:0}.account-bottom-actions{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px;margin-top:24px;display:flex}.account-bottom-actions>.secondary-button,.account-bottom-actions .danger-zone-actions>.danger-button{min-width:154px;min-height:48px;padding:12px 16px}.account-bottom-actions .danger-zone-actions{justify-items:center;display:grid}.auth-switch-prompt{text-align:center}.auth-text-button{color:#fde68a;background:0 0;border:0;padding:0;font-weight:900;text-decoration:underline;display:inline}.auth-text-button:hover{color:#fff;background:0 0}.level-list-item.locked,.level-exercise-row.locked{opacity:.68;border-color:#fb923c57}.level-exercise-row button:disabled{cursor:not-allowed;opacity:.72}.account-summary-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.beta-profile-badge{color:#321600;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,#facc15,#f97316);border-radius:999px;align-items:center;width:fit-content;padding:.35rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex;box-shadow:0 10px 24px #f9731647}.beta-only-badge{color:#321600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(135deg,#facc15,#fb923c);border:1px solid #fef3c7b3;border-radius:999px;align-items:center;width:fit-content;padding:.45rem .65rem;font-size:.76rem;font-weight:950;line-height:1;display:inline-flex;box-shadow:0 10px 22px #f973163d}.beta-required-card{align-items:flex-start;gap:1rem}.training-info-button{color:#f8e7a0;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(135deg,#e2b71429,#78531247);border:1px solid #e2b71494;border-radius:999px;justify-content:center;align-items:center;padding:9px 13px;font-size:.78rem;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 10px 24px #04091233}.training-info-button:hover,.training-info-button:focus-visible{color:#fff5c8;background:linear-gradient(135deg,#e2b71447,#7853126b);border-color:#f8e7a0db;outline:none;transform:translateY(-1px)}.training-info-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#020617bd;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.training-info-modal{color:#e2e8f0;background:radial-gradient(circle at 0 0,#e2b7142e,#0000 38%),linear-gradient(145deg,#0f172afa,#080d18fa);border:1px solid #e2b71473;border-radius:22px;width:min(100%,520px);max-width:520px;max-height:min(82vh,760px);padding:22px;overflow:auto;box-shadow:0 28px 80px #0000008f,inset 0 1px #ffffff14}.training-info-modal-header{border-bottom:1px solid #e2b71438;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:14px;display:flex}.training-info-modal-header h2{color:#f8e7a0;margin:0;font-size:clamp(1.2rem,4vw,1.6rem)}.training-info-modal-close{color:#f8e7a0;cursor:pointer;background:#0f172ab8;border:1px solid #e2b71470;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.5rem;line-height:1;display:inline-flex}.training-info-list{gap:10px;margin:0;display:grid}.training-info-row{background:#0f172a94;border:1px solid #94a3b82e;border-radius:14px;grid-template-columns:minmax(130px,.75fr) minmax(0,1fr);gap:4px;padding:11px 13px;display:grid}.training-info-row dt{color:#f8e7a0;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.training-info-row dd{color:#f8fafc;overflow-wrap:anywhere;margin:0}.training-info-row a{color:#fde68a}@media (width<=560px){.training-source-details{gap:6px;margin-top:10px}.training-info-button{padding:8px 11px;font-size:.72rem}.training-info-modal-backdrop{align-items:flex-end;padding:10px}.training-info-modal{border-radius:var(--mobile-card-radius);max-height:88dvh;padding:var(--mobile-page-padding)}.training-info-row{grid-template-columns:1fr}}.stats-screen{min-height:100vh;padding:clamp(16px,3vw,32px)}.stats-dashboard-panel{background:radial-gradient(circle at 0 0,#e2b71429,#0000 34%),linear-gradient(145deg,#111827,#1c273a 54%,#101827);border-radius:24px;width:min(100%,1220px);max-width:1220px;margin:0 auto;padding:clamp(14px,2.4vw,24px)}.stats-hero-card,.premium-stat-card,.stats-section-card,.stats-empty-state{border:1px solid #e2b71433;box-shadow:0 22px 50px #00000038}.stats-hero-card{background:linear-gradient(135deg,#e2b71429,#0f172aeb);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:clamp(20px,3vw,30px);display:flex}.stats-hero-card h1{margin-bottom:10px;font-size:clamp(2.3rem,6vw,5.2rem)}.stats-hero-card p,.premium-stat-card p,.stats-empty-state p,.exercise-rating-card p{color:#cbd5e1;margin-bottom:0}.stats-overview-grid,.exercise-rating-grid,.stats-two-column-layout{gap:12px;display:grid}.stats-overview-grid{grid-template-columns:1.2fr .9fr .9fr;margin-bottom:12px}.premium-stat-card,.stats-section-card,.stats-empty-state{background:#0f172aad;border-radius:16px;padding:12px}.stats-card-label,.exercise-metric-row span,.stats-mini-grid span{color:#e2b714;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:900}.stats-rating-card>strong,.streak-card>strong{color:#fff;letter-spacing:-.06em;margin:4px 0;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1;display:block}.stats-rank-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.stats-rank-row span{color:#f8fafc;background:#e2b71424;border:1px solid #e2b71452;border-radius:999px;padding:5px 10px;font-weight:900}.stats-rank-row em{color:#86efac;font-style:normal;font-weight:800}.stats-progress-wrap{grid-template-columns:1fr auto;align-items:center;gap:8px;margin:10px 0;display:grid}.stats-progress-track{background:#334155cc;border-radius:999px;height:10px;overflow:hidden}.stats-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#e2b714,#facc15,#86efac);height:100%;display:block}.stats-progress-wrap small{color:#cbd5e1;font-weight:800}.stats-mini-grid,.exercise-metric-row{gap:10px;display:grid}.stats-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0}.stats-mini-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-mini-grid div,.exercise-metric-row div{background:#0206175c;border:1px solid #94a3b82e;border-radius:12px;gap:3px;padding:8px;display:grid}.stats-mini-grid b,.exercise-metric-row b{color:#fff;font-size:1.1rem}.stats-empty-state{place-items:center start;gap:12px;margin-bottom:12px;display:grid}.stats-empty-state h2,.stats-section-card h2,.exercise-rating-card h3{margin-bottom:6px}.stats-section-card{margin-bottom:12px}.stats-section-heading{justify-content:space-between;align-items:end;margin-bottom:8px;display:flex}.exercise-rating-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-rating-card{background:linear-gradient(#1e293bdb,#0f172ab8);border:1px solid #94a3b833;border-radius:14px;padding:12px}.exercise-rating-card.indicator-strength{border-color:#86efac61}.exercise-rating-card.indicator-focus{border-color:#fbbf2485}.exercise-rating-topline{grid-template-columns:auto 1fr auto;align-items:start;gap:12px;display:grid}.exercise-icon{background:#e2b71424;border:1px solid #e2b71452;border-radius:14px;place-items:center;width:32px;height:32px;font-size:1.6rem;display:inline-grid}.exercise-rating-topline strong{color:#f8fafc;font-size:1.25rem}.exercise-metric-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px}.stats-two-column-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.progression-ladder,.achievement-grid{gap:8px;display:grid}.ladder-step,.achievement-badge{background:#02061757;border:1px solid #94a3b82e;border-radius:14px;align-items:center;gap:8px;padding:8px;display:grid}.ladder-step{grid-template-columns:auto 1fr}.ladder-step>span,.achievement-badge>span{border-radius:999px;place-items:center;width:32px;height:32px;font-weight:900;display:inline-grid}.ladder-step.complete>span,.achievement-badge.unlocked>span{color:#101827;background:#e2b714}.ladder-step.current>span{color:#fff;background:#1d4ed8}.ladder-step.locked,.achievement-badge.locked{opacity:.66}.ladder-step small,.achievement-badge small{color:#aeb8c8;text-transform:capitalize}.achievement-badge{grid-template-columns:auto 1fr}.achievement-badge strong,.ladder-step strong{color:#fff;display:block}@media (width<=980px){.stats-overview-grid,.exercise-rating-grid,.stats-two-column-layout{grid-template-columns:1fr}}@media (width<=640px){.stats-screen{padding:calc(58px + env(safe-area-inset-top)) 12px calc(72px + var(--mobile-bottom-safe))}.stats-dashboard-panel{border-radius:var(--mobile-card-radius);padding:var(--mobile-card-padding)}.stats-hero-card{text-align:left;gap:14px;display:grid}.stats-hero-card h1{font-size:clamp(2rem,12vw,3.4rem)}.stats-hero-card,.stats-section-heading,.stats-rank-row{align-items:stretch}.stats-section-heading,.stats-rank-row{display:grid}.exercise-rating-topline{grid-template-columns:1fr}}.stats-simple-header,.training-overview-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.stats-simple-header h1{margin:0;font-size:clamp(2rem,5vw,3.4rem)}.compact-stats-overview{grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr)}.single-rank-row{justify-content:start}.daily-challenge-grid{grid-template-columns:1fr;gap:8px;display:grid}.daily-challenge-card{background:#02061757;border:1px solid #e2b71433;border-radius:14px;grid-template-columns:minmax(96px,auto) minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.daily-challenge-card span,.daily-challenge-card small{color:#e2b714;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:900}.daily-challenge-card strong,.exercise-rating-row strong{color:#fff}.daily-challenge-card p,.stats-empty-copy,.exercise-stats-placeholder p,.training-overview-header p{color:#cbd5e1;margin:0}.exercise-rating-list{gap:8px;display:grid}.exercise-rating-row{cursor:pointer;text-align:left;background:linear-gradient(90deg,#1e293bdb,#0f172ab8);border:1px solid #94a3b833;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:8px 10px;transition:border-color .2s,transform .2s;display:grid}.exercise-rating-row:hover,.exercise-rating-row:focus-visible{border-color:#e2b71494;transform:translateY(-1px)}.exercise-rating-row b{color:#e2b714;font-size:1.2rem}.level-list-item li small{color:#e2b714;margin-top:2px;font-weight:800;display:block}.rating-change-card{background:#0206176b;border:1px solid #94a3b83d;border-radius:14px;gap:4px;min-width:min(260px,100%);margin:12px auto;padding:12px 16px;display:inline-grid}.rating-change-card span{color:#e2b714;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:900}.rating-change-card strong{color:#fff;font-size:1.4rem}.rating-change-card b{font-size:1.1rem}.rating-change-card.rating-gain b{color:#0f6}.rating-change-card.rating-loss b{color:#ff1744}.exercise-save-warning{color:#fecaca;background:#7f1d1d33;border:1px solid #f871716b;border-radius:12px;max-width:min(360px,100%);margin:0 auto 12px;padding:10px 12px;font-size:.86rem;font-weight:800;line-height:1.35}@media (width<=980px){.compact-stats-overview,.daily-challenge-grid{grid-template-columns:1fr}}@media (width<=640px){.compact-stats-overview,.daily-challenge-grid,.exercise-rating-list,.achievement-grid,.exercise-detail-grid,.related-exercise-list{grid-template-columns:1fr}.stats-simple-header,.training-overview-header{grid-template-columns:1fr;align-items:stretch;display:grid}.exercise-rating-row{align-items:center;gap:var(--mobile-gap);grid-template-columns:auto minmax(0,1fr) auto auto;width:100%;min-height:48px}.exercise-rating-row strong{min-width:0}.exercise-rating-row:after{color:#e2b714;content:"›";font-size:1.7rem;font-weight:900;line-height:1}}.rating-heading-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.rating-heading-row h1{margin:0}.inline-rating-number,.exercise-row-rating{color:#fff;font-variant-numeric:tabular-nums;font-weight:950}.inline-rating-number{text-align:right;margin-left:auto;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1}.training-exercise-rating-line{color:#fff;white-space:nowrap;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.training-exercise-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.training-exercise-rating-line b{color:#fff;font-variant-numeric:tabular-nums;text-align:right;flex:none;margin-left:auto}.level-exercise-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.level-exercise-row{grid-template-columns:minmax(0,1fr) auto}.level-exercise-actions{justify-content:flex-end;align-items:center;gap:clamp(14px,3vw,24px);display:flex}.level-exercise-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.exercise-row-rating{text-align:right;flex:none;min-width:3ch;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1}.exercise-detail-dashboard{gap:16px;display:grid}.exercise-detail-header{background:linear-gradient(135deg,#e2b71424,#0f172ac7);border:1px solid #e2b71433;border-radius:18px;padding:clamp(18px,3vw,28px)}.exercise-detail-title-block{text-align:right;justify-items:end;display:grid}.exercise-detail-header h1{font-size:clamp(2rem,5vw,4rem)}.exercise-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.exercise-detail-grid .premium-stat-card>strong{color:#fff;margin-top:8px;font-size:clamp(2rem,5vw,3.4rem);line-height:1;display:block}.related-exercise-list,.recent-attempt-list{gap:10px;display:grid}.related-exercise-card,.recent-attempt-row{background:#02061757;border:1px solid #94a3b82e;border-radius:14px;padding:12px}.related-exercise-card{gap:4px;display:grid}.related-exercise-card strong,.recent-attempt-row strong{color:#fff}.related-exercise-card span,.recent-attempt-row span{color:#e2b714;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:900}.related-exercise-card p{color:#cbd5e1;margin:0}.recent-attempt-row{grid-template-columns:1fr auto auto;align-items:center;gap:12px;display:grid}.recent-attempt-row b{color:#86efac;font-variant-numeric:tabular-nums}@media (width<=980px){.exercise-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.training-screen{padding:calc(var(--app-header-height) + env(safe-area-inset-top)) var(--mobile-page-padding) calc(64px + var(--mobile-bottom-safe))}.training-simple-page{border-radius:var(--mobile-card-radius);padding:8px}.training-simple-page h1{margin-bottom:8px;font-size:clamp(1.65rem,9vw,2.7rem)}.timed-exercise-shell.exercise-page{width:100%;max-width:none;padding:16px}.timed-exercise-shell .exercise-title-row{gap:var(--mobile-gap);grid-template-columns:1fr;margin-top:0;display:grid}.timed-exercise-shell .exercise-title-row h1{font-size:clamp(1.8rem,10vw,2.8rem)}.timed-exercise-shell .timer-pill{justify-self:stretch;min-width:0;padding:8px 12px}.timed-exercise-shell .timer-pill strong{font-size:clamp(2rem,12vw,3rem)}.timed-exercise-shell .stats-row.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.timed-exercise-shell .stats-row.compact div{border-radius:12px;padding:10px 8px}.timed-exercise-shell .stats-row.compact span{margin-bottom:3px;font-size:.68rem}.timed-exercise-shell .stats-row.compact strong{font-size:clamp(1.25rem,8vw,1.75rem)}.timed-exercise-shell .exercise-prompt-area,.timed-exercise-shell .start-panel,.timed-exercise-shell .result-panel{width:100%}.timed-exercise-shell .start-panel{max-width:none}.timed-exercise-shell .exercise-controls{gap:var(--mobile-gap);justify-content:stretch;width:100%;display:grid}.timed-exercise-shell .exercise-controls .primary-button,.timed-exercise-shell .answer-buttons button,.timed-exercise-shell .coordinate-action-button{width:100%;min-height:64px;font-size:clamp(1.1rem,5vw,1.35rem)}.timed-exercise-shell .speed-question-card{max-width:none}.training-overview-header,.rating-heading-row{align-items:flex-start;gap:8px;display:grid}.rating-heading-row,.level-exercise-row,.recent-attempt-row{grid-template-columns:1fr}.level-list,.level-exercise-list{gap:8px}.level-exercise-row{gap:10px;padding:12px}.level-exercise-row h2{margin-bottom:5px;font-size:1.15rem;line-height:1.15}.level-exercise-row p{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.level-list-item{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;height:72px;padding:9px 12px;overflow:hidden}.level-list-item-heading{justify-content:flex-start;align-items:center;gap:8px;display:flex}.level-list-item-heading strong:first-child,.level-exercise-title{white-space:normal}.level-list-item-heading strong:first-child{font-size:clamp(1.05rem,5vw,1.25rem);line-height:1.05}.level-list-item-number{letter-spacing:.08em;max-width:44px;font-size:.7rem;line-height:1.1}.level-exercise-count{font-size:.78rem;line-height:1.1}.level-list-item-meta{justify-items:end;gap:4px;display:grid}.level-rating-pill{padding:.24rem .45rem;font-size:.82rem}.level-list-item .beta-only-badge{letter-spacing:.04em;padding:.26rem .38rem;font-size:.58rem}.level-exercise-actions>button{justify-self:end;width:auto;min-height:42px;margin-top:0;padding:8px 14px}.level-list-item-open{color:#e2b714;justify-content:flex-end;font-size:.76rem;font-weight:900;line-height:1;display:inline-flex}.level-list-item.locked .level-list-item-open{color:#cbd5e1}.level-exercise-actions{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:8px;display:grid}.level-exercise-badges{justify-content:flex-start;min-width:0}.exercise-row-rating{color:#f8e7a0;text-align:left;background:#e2b71424;border:1px solid #e2b71452;border-radius:999px;width:fit-content;min-width:0;padding:.25rem .55rem;font-size:1.15rem}.inline-rating-number{text-align:left;margin-left:0}.exercise-detail-grid{grid-template-columns:1fr}.training-exercise-rating-line{white-space:nowrap;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.training-exercise-rating-line b{color:#f8e7a0;background:#e2b71424;border:1px solid #e2b71452;border-radius:999px;margin-left:0;padding:.2rem .5rem}}.account-profile-stats-card{gap:12px;display:grid}.profile-overall-rating-card{background:linear-gradient(135deg,#e2b7142e,#0f172a94);border:1px solid #e2b71457;border-radius:16px;gap:4px;padding:14px;display:grid}.profile-overall-rating-card span,.profile-exercise-rating-copy small{color:#e2b714;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:900}.profile-overall-rating-card strong{color:#fff;letter-spacing:-.06em;font-size:clamp(2.4rem,6vw,4rem);line-height:1}.profile-overall-rating-card small{color:#e2e8f0;font-weight:900}.profile-exercise-rating-list{gap:8px}.profile-exercise-rating-copy{gap:2px;display:grid}.profile-exercise-rating-copy small{color:#aeb8c8;letter-spacing:.08em}.profile-exercise-rating-row b{text-align:right;min-width:3ch}.account-security-username-form{border-bottom:1px solid #94a3b838;margin-bottom:0;padding-bottom:18px}.exercise-rating-dock{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);bottom:max(18px, env(safe-area-inset-bottom));color:#fff;min-width:min(300px,100vw - 32px);right:max(18px, env(safe-area-inset-right));text-align:left;z-index:40;background:linear-gradient(135deg,#0f172af0,#1e293be6);border:1px solid #e2b71457;border-radius:18px;gap:6px;padding:14px 16px;animation:.18s ease-out ratingDockEnter;display:grid;position:fixed;box-shadow:0 20px 45px #0000005c,0 0 34px #e2b7141f}.exercise-rating-dock-label{color:#e2b714;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:900;line-height:1.15}.exercise-rating-dock-main{align-items:baseline;gap:12px;display:flex}.exercise-rating-dock-main strong{letter-spacing:-.06em;font-size:clamp(2rem,4vw,2.8rem);line-height:.95}.exercise-rating-dock-delta{border-radius:999px;padding:3px 9px;font-size:1.25rem;font-weight:1000;animation:.7s cubic-bezier(.19,1,.22,1) both ratingDeltaFly}.exercise-rating-dock.rating-gain .exercise-rating-dock-delta{color:#0f6;background:#00ff6638}.exercise-rating-dock.rating-loss .exercise-rating-dock-delta{color:#ff1744;background:#ff174438}.exercise-rating-dock.has-rating-change{animation:.42s ease-out ratingDockPulse}@keyframes ratingDockEnter{0%{opacity:0;transform:translate(18px,18px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes ratingDockPulse{0%{transform:translateY(8px)scale(.98)}45%{transform:translateY(-2px)scale(1.03)}to{transform:translate(0,0)scale(1)}}@keyframes ratingDeltaFly{0%{opacity:0;transform:translate(-18px,18px)scale(.82)}42%{opacity:1;transform:translateY(-6px)scale(1.16)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (width<=640px){.exercise-rating-dock{bottom:max(12px, env(safe-area-inset-bottom));min-width:0;left:12px;right:12px}.training-board-shell,.movement-board-shell.training-board-shell,.piece-tracking-board.training-board-shell{width:min(100%, calc(100vw - 2 * var(--mobile-page-padding)));max-width:420px;margin-inline:auto}.training-board-layout,.coordinate-layout,.exercise-coordinate .coordinate-layout,.movement-visualizer-layout,.piece-tracking-layout,.blindfold-exercise-layout{grid-template-columns:1fr}.coordinate-board-column,.movement-board-column,.piece-tracking-board-and-input,.blindfold-board-column{order:1}.coordinate-side-panel,.movement-input-panel,.piece-tracking-input-panel,.blindfold-input-panel,.blindfold-controls-card{order:2}.movement-challenge-panel,.piece-tracking-panel{order:0}.coordinate-board-stage{justify-items:center;gap:12px;width:100%;max-width:100%;min-height:auto;display:grid}.exercise-coordinate .coordinate-prompt{box-shadow:none;pointer-events:auto;width:min(100%, calc(100vw - 2 * var(--mobile-page-padding)));background:linear-gradient(#ffffff09,#0f172a57);border:1px solid #3a4659;border-radius:16px;order:-1;padding:14px 16px;animation:none;position:static;top:auto;left:auto;transform:none}.coordinate-prompt strong,.exercise-coordinate .coordinate-prompt strong,.movement-challenge-panel>strong,.piece-tracking-panel h2,.blindfold-turn-heading{font-size:clamp(1.4rem,7vw,2rem);line-height:1.05}.coordinate-prompt p,.movement-status,.piece-tracking-feedback,.piece-tracking-panel,.blindfold-status-block span,.blindfold-speech-status{font-size:clamp(.95rem,3.8vw,1rem);line-height:1.45}.movement-board-stage,.piece-tracking-board-stage,.piece-tracking-hidden-board,.blindfold-hidden-board,.blindfold-move-list-panel{min-height:auto}.piece-tracking-board-stage,.movement-board-stage{width:100%}.movement-hidden-board,.piece-tracking-hidden-board{width:min(100%, calc(100vw - 2 * var(--mobile-page-padding)));max-width:420px;padding:16px}.piece-tracking-board-and-input,.movement-visualizer-layout,.piece-tracking-layout{justify-items:center}.movement-input-panel,.piece-tracking-input-panel,.blindfold-input-panel{max-width:min(100%, calc(100vw - 2 * var(--mobile-page-padding)))}.voice-panel{gap:var(--mobile-gap);padding:var(--mobile-card-padding);grid-template-columns:minmax(54px,max-content) 1fr;justify-items:stretch}.dictation-transcript{min-height:48px;font-size:1rem}.voice-controls{gap:8px;min-width:0}.voice-state-label{letter-spacing:.1em;font-size:.9rem;line-height:1.2}.play-screen .input-mode-buttons button:first-child{color:#101827;min-height:var(--mobile-button-height);background:#e2b714;border-color:#e2b714;width:100%;padding-block:9px;box-shadow:0 12px 24px #e2b7142e}.play-screen .input-mode-buttons button:first-child:hover:not(:disabled){background:#f1c936;border-color:#f1c936}.panel,.board-card,.settings-card,.landing-exercise-card,.stats-section-card{border-radius:var(--mobile-card-radius)}.board-actions,.list-actions,.result-actions,.result-actions-row,.reconstruction-action-stack,.blindfold-actions,.auth-guest-actions,.auth-page-actions,.unified-auth-actions,.account-actions-row,.danger-zone-actions,.account-password-actions,.timed-exercise-shell .exercise-controls{gap:var(--mobile-gap);grid-template-columns:1fr;justify-content:stretch;width:100%;display:grid}.board-actions button,.list-actions button,.result-actions button,.result-actions-row button,.reconstruction-action-stack button,.blindfold-actions button,.auth-guest-actions button,.auth-page-actions button,.unified-auth-actions button,.account-actions-row button,.danger-zone-actions button,.account-password-actions button,.timed-exercise-shell .exercise-controls button,.menu-actions button,.landing-cta,.start-button,.coordinate-action-button,.voice-preview-button,.google-auth-button{justify-self:stretch;width:100%}.board-actions button,.list-actions button,.result-actions button,.result-actions-row button,.reconstruction-action-stack button,.blindfold-actions button,.auth-guest-actions button,.auth-page-actions button,.unified-auth-actions button,.account-actions-row button,.danger-zone-actions button,.account-password-actions button,.timed-exercise-shell .exercise-controls button,.menu-actions button,.landing-cta,.start-button,.coordinate-action-button,.voice-preview-button,.google-auth-button,.primary-button,.secondary-button,.danger-button{border-radius:12px;font-weight:800}.primary-button,.landing-cta,.start-button,.level-list-item-open{letter-spacing:.01em}.status-line,.copy-feedback,.auth-error,.auth-success,.speed-feedback,.movement-status,.piece-tracking-feedback,.blindfold-feedback-line,.blindfold-speech-status{color:#f8fafc;text-align:center;background:#0f172ae0;border:1px solid #38bdf842;border-left:4px solid #e2b714;border-radius:14px;min-height:0;margin-top:10px;padding:8px 10px;font-weight:900;line-height:1.45;box-shadow:0 12px 24px #04091238}.copy-feedback,.auth-success{color:#dff7ff;border-left-color:#38bdf8}.auth-error{color:#ffe7a3;border-color:#e2b71457 #e2b71457 #e2b71457 #e2b714}.result-card,.result-panel,.reconstruction-results{border-radius:var(--mobile-card-radius);background:linear-gradient(135deg,#202b3df5,#0f172af5);border:1px solid #e2b71457;box-shadow:0 18px 36px #04091247}.result-card p,.result-panel p,.reconstruction-results p,.reconstruction-level-description{color:#f8fafc;font-weight:800;line-height:1.55}}.mobile-app-header,.mobile-menu-backdrop,.mobile-menu-panel{display:none}@media (width<=640px){.with-mobile-app-header{padding-top:calc(var(--app-header-height) + env(safe-area-inset-top))}.mobile-app-header{height:var(--app-header-height);padding:0 max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));left:0;right:0;top:env(safe-area-inset-top);z-index:80;background:#121a28f5;border-bottom:1px solid #3a4659;grid-template-columns:minmax(74px,1fr) minmax(0,auto) minmax(44px,1fr);align-items:center;gap:6px;display:grid;position:fixed;box-shadow:0 12px 28px #04091252}.mobile-app-header:before{content:"";height:env(safe-area-inset-top);background:#121a28f5;position:fixed;top:0;left:0;right:0}.mobile-header-left,.mobile-header-right{align-items:center;gap:6px;min-width:0;display:flex}.mobile-header-right{justify-content:flex-end}.mobile-header-title{text-align:center;justify-content:center;align-items:center;min-width:0;margin:0;line-height:1.1;display:flex;overflow:hidden}.mobile-header-icon-button,.mobile-header-back-button,.mobile-header-profile-button{border-radius:999px;justify-content:center;align-items:center;min-height:36px;padding:6px 10px;display:inline-flex}.mobile-header-icon-button{background:#101827;flex-direction:column;gap:4px;width:38px;padding:0}.mobile-header-icon-button span{background:#fff;border-radius:999px;width:18px;height:2px;display:block}.mobile-header-back-button,.mobile-header-profile-button{min-height:34px;font-size:.78rem}.mobile-header-profile-button{color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-color:#0000;gap:6px;max-width:44vw;padding-left:4px;padding-right:4px;font-weight:900;overflow:hidden}.mobile-header-profile-button span:last-child{text-overflow:ellipsis;overflow:hidden}.mobile-header-avatar{color:#0b1220;object-fit:cover;background:linear-gradient(135deg,#f8fafc,#e2b714);border:1px solid #f8fafcb8;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;overflow:hidden}.mobile-header-avatar-fallback{font-size:.72rem;font-weight:900}.mobile-menu-backdrop{z-index:70;background:#0206178a;display:block;position:fixed;inset:0}.mobile-menu-panel{border-radius:var(--mobile-card-radius);left:var(--mobile-page-padding);padding:var(--mobile-card-padding);right:var(--mobile-page-padding);top:calc(var(--app-header-height) + env(safe-area-inset-top) + 8px);z-index:90;background:#121a28;border:1px solid #3a4659;gap:10px;display:grid;position:fixed;box-shadow:0 18px 36px #0409125c}.mobile-menu-panel button{text-align:left;width:100%}.with-mobile-app-header .site-menu,.with-mobile-app-header .auth-corner,.with-mobile-app-header .training-topbar,.with-mobile-app-header .page-back-button,.with-mobile-app-header .settings-back-button,.with-mobile-app-header .game-header .play-back-button,.with-mobile-app-header .game-header>.auth-link-menu,.with-mobile-app-header .game-header>.auth-profile-button,.with-mobile-app-header .game-header>button:not(.play-back-button){display:none}.with-mobile-app-header.play-screen,.with-mobile-app-header.training-screen,.with-mobile-app-header.centered-screen,.with-mobile-app-header.stats-screen{padding-top:calc(var(--app-header-height) + env(safe-area-inset-top))}.with-mobile-app-header.centered-screen:not(.auth-page-screen){padding-top:calc(var(--app-header-height) + env(safe-area-inset-top) + 8px);align-content:start}.with-mobile-app-header.play-screen .game-area{padding-top:var(--mobile-page-padding)}.with-mobile-app-header.auth-page-screen.centered-screen{padding:calc(var(--app-header-height) + env(safe-area-inset-top) + 8px) var(--mobile-page-padding) max(8px, env(safe-area-inset-bottom));align-content:start}.with-mobile-app-header .game-header,.site-menu,.auth-corner{display:none}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.setup-engine-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.setup-engine-header h2{margin:0}.setup-engine-header strong{color:#e2b714;font-size:1.4rem}@media (width<=640px){.with-mobile-app-header.play-screen .game-area{padding:var(--mobile-page-padding) var(--mobile-page-padding) max(8px, env(safe-area-inset-bottom))}.setup-grid{min-height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--mobile-page-padding) - var(--mobile-page-padding));align-content:center;gap:0}.setup-grid .preview-board{display:none}.setup-grid .setup-panel{max-height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--mobile-page-padding) - var(--mobile-page-padding));flex-direction:column;width:100%;padding:14px;display:flex}.setup-engine-header{margin-bottom:10px}.setup-engine-header h2{font-size:1.35rem;line-height:1}.setup-engine-header strong{font-size:1.35rem}.setup-panel .engine-slider{height:16px}.setup-panel .engine-slider::-webkit-slider-thumb{width:28px;height:28px}.setup-panel .engine-slider::-moz-range-thumb{width:28px;height:28px}.setup-panel .range-caps{margin-bottom:12px;font-size:.78rem}.color-picker{background:#101827;border:1px solid #3a4659;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:14px;display:grid;overflow:hidden}.color-picker button{border:0;border-radius:0;gap:0;min-height:44px;padding:0 8px}.color-picker button+button{border-left:1px solid #3a4659}.color-picker .king-icon{display:none}.setup-play-button{width:100%;max-width:none;min-height:44px;margin-top:auto;padding:10px 16px}}.mobile-game-top,.mobile-critical-actions,.mobile-tool-row,.mobile-tools-overlay{display:none}.mobile-game-shell{grid-auto-flow:row}.mobile-board-zone{--play-drag-piece-padding:3%;--play-drag-piece-scale:1;grid-area:1/1;min-width:0}.mobile-game-bottom{grid-area:2/1;min-width:0}.mobile-game-tools{grid-area:1/2/span 2}.drawer-panel{border-radius:10px;padding:0;overflow:hidden}.drawer-panel summary{cursor:pointer;padding:12px 14px;font-weight:800;list-style-position:inside}.drawer-content{gap:10px;padding:0 12px 12px;display:grid}.drawer-panel .move-list-panel{height:calc(var(--board-size) - 58px);border:1px solid #303c50;min-height:280px}.drawer-panel .share-menu{width:100%;position:static;bottom:auto}.desktop-moves-panel{gap:10px;padding:12px;display:grid}.desktop-moves-panel h2{margin:0;font-size:1rem}.mobile-moves-button,.mobile-moves-overlay{display:none}@media (width<=640px){.with-mobile-app-header.play-screen{height:100dvh;min-height:100dvh;overflow:hidden}.with-mobile-app-header.play-screen .game-area{height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top));padding:0 var(--mobile-page-padding) env(safe-area-inset-bottom);overflow:hidden}.active-game-layout{--board-size:min(94vw, 52dvh);height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom));gap:var(--mobile-gap);grid-template-rows:auto auto auto minmax(0,1fr);justify-content:stretch;display:grid;overflow:hidden}.mobile-game-shell{grid-template-columns:minmax(0,1fr);align-items:stretch}.mobile-game-top{background:#101827d1;border:1px solid #303c50;border-radius:12px;grid-area:1/1;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:7px 10px;display:flex}.mobile-game-top div{gap:2px;min-width:0;display:grid}.mobile-game-top strong,.mobile-game-top p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-game-top strong{color:#fff;font-size:.94rem}.mobile-game-eyebrow{color:#e2b714;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:800}.mobile-game-top p{color:#cbd5e1;text-align:right;max-width:42%;margin:0;font-size:.78rem;font-weight:700}.mobile-board-zone{grid-area:2/1;justify-items:center;min-height:0;display:grid}.mobile-board-zone .board-card,.active-game-layout .large-board{max-width:var(--board-size);width:var(--board-size)}.mobile-board-zone .board-card{padding:6px}.mobile-tool-row{grid-area:3/1;grid-template-columns:minmax(132px,1.4fr) repeat(3,minmax(0,1fr));align-items:stretch;gap:6px;min-width:0;display:grid}.mobile-tool-row>button,.mobile-input-toggle button{min-height:40px;padding:7px 8px}.mobile-input-toggle{background:#101827;border:1px solid #303c50;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.mobile-input-toggle button{background:0 0;border-color:#0000}.mobile-input-toggle button.selected{color:#111827;background:#e2b714;border-color:#e2b714}.mobile-game-bottom{grid-area:4/1;align-self:start;min-height:0;overflow:hidden}.mobile-game-bottom .move-input-panel{grid-template-columns:1fr;gap:6px;margin-top:0}.mobile-game-bottom .input-mode-buttons{display:none}.mobile-game-bottom .move-entry-bar{min-height:58px;padding:7px}.mobile-game-bottom .move-entry-bar input{font-size:.95rem}.mobile-game-bottom .voice-panel{grid-template-columns:minmax(54px,max-content) 1fr;gap:8px}.mobile-game-bottom .voice-controls{gap:3px}.mobile-game-bottom .voice-state-label{font-size:.82rem}.mobile-game-bottom .dictation-transcript{max-height:2.4em;font-size:.86rem;overflow:hidden}.mobile-game-tools{display:none}.mobile-critical-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.mobile-critical-actions button{min-height:38px;padding:7px 6px}.mobile-critical-actions button.selected{color:#111827;background:#e2b714;border-color:#e2b714}.drawer-panel{background:#172133;border-color:#303c50}.drawer-panel summary{min-height:36px;padding:8px 10px}.drawer-content{gap:8px;padding:0 8px 8px}.drawer-panel .board-actions,.drawer-panel .list-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.drawer-panel .board-actions button,.drawer-panel .list-actions button,.drawer-panel .move-navigation button{min-height:38px;padding:7px 8px}.drawer-panel .move-list-panel{height:auto;min-height:86px;max-height:24dvh;padding:8px}.desktop-moves-panel{display:none}.mobile-moves-button{text-align:left;background:#172133;border-color:#303c50;justify-content:space-between;align-items:center;min-height:38px;padding:7px 10px;display:flex}.mobile-moves-button span{font-weight:900}.mobile-moves-button strong{color:#e2b714;text-overflow:ellipsis;white-space:nowrap;max-width:58%;font-size:.82rem;overflow:hidden}.mobile-tools-overlay{z-index:30;display:block;position:fixed;inset:0}.mobile-tools-backdrop{background:#0206178f;border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.mobile-tools-sheet{max-height:72dvh;padding:14px 14px calc(14px + env(safe-area-inset-bottom));border-bottom:0;border-radius:18px 18px 0 0;gap:12px;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -18px 42px #02061770}.mobile-tools-sheet-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.mobile-tools-sheet-header h2,.mobile-tools-sheet-header p{margin:0}.mobile-tools-sheet-header p{color:#aeb8c8;margin-top:2px;font-size:.9rem}.mobile-tools-close{min-height:36px;padding:7px 12px}.mobile-tools-list{gap:8px;display:grid}.mobile-tools-list>button,.mobile-tools-resign{text-align:left;justify-content:flex-start;min-height:46px}.mobile-share-menu{gap:8px;width:100%;display:grid;position:static;bottom:auto}.mobile-tools-resign{color:#fee2e2;background:#7f1d1d;border-color:#b91c1c;margin-top:4px}.mobile-tools-resign:hover:not(:disabled){background:#991b1b;border-color:#ef4444}.mobile-moves-overlay{z-index:30;display:block;position:fixed;inset:0}.mobile-moves-backdrop{background:#0206178f;border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.mobile-moves-sheet{max-height:55dvh;padding:14px 14px calc(14px + env(safe-area-inset-bottom));border-bottom:0;border-radius:18px 18px 0 0;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -18px 42px #02061770}.mobile-moves-sheet-header{justify-content:space-between;align-items:start;gap:12px;padding-bottom:10px;display:flex}.mobile-moves-sheet-header h2,.mobile-moves-sheet-header p{margin:0}.mobile-moves-sheet-header p{color:#aeb8c8;margin-top:2px;font-size:.9rem}.mobile-moves-close{min-height:36px;padding:7px 12px}.mobile-moves-scroll{overscroll-behavior:contain;gap:8px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.mobile-moves-scroll .move-list-panel{border:1px solid #303c50;height:auto;min-height:0;padding:8px;overflow:visible}.move-list li{padding:5px}.status-line{display:none}.timed-exercise-shell.exercise-page{min-height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top) - 2 * var(--mobile-page-padding));flex-direction:column;gap:8px;padding:10px;display:flex}.timed-exercise-shell .exercise-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;margin:0;display:grid}.timed-exercise-shell .exercise-title-row h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(1.18rem,6vw,1.55rem);line-height:1;overflow:hidden}.timed-exercise-shell .timer-pill{border-radius:999px;justify-self:end;gap:0;min-width:74px;padding:4px 9px}.timed-exercise-shell .timer-pill span{letter-spacing:.08em;font-size:.56rem}.timed-exercise-shell .timer-pill strong{letter-spacing:-.04em;font-size:1.25rem;line-height:1}.timed-exercise-shell .stats-row.compact{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:4px}.timed-exercise-shell .stats-row.compact div{border-radius:999px;align-content:center;min-height:48px;max-height:58px;padding:5px 4px;display:grid}.timed-exercise-shell .stats-row.compact span{letter-spacing:.05em;margin-bottom:1px;font-size:.54rem}.timed-exercise-shell .stats-row.compact strong{font-size:clamp(.95rem,5vw,1.18rem);line-height:1}.timed-exercise-shell .start-panel,.timed-exercise-shell .result-panel{gap:10px;padding:12px}.timed-exercise-shell .start-panel{bottom:var(--mobile-safe-bottom);z-index:2;position:sticky}.timed-exercise-shell .start-button,.timed-exercise-shell .result-actions-row .primary-button{min-height:52px;font-size:1.08rem}.timed-exercise-shell .result-panel h2{font-size:1.55rem}.timed-exercise-shell .result-panel p{line-height:1.35}.timed-exercise-shell .exercise-prompt-area{flex:1;width:100%;min-height:0;display:flex}.timed-exercise-shell.exercise-square-color .stats-row.compact{gap:4px;margin-bottom:2px}.timed-exercise-shell.exercise-square-color .stats-row.compact div{min-height:44px;padding:4px 3px}.timed-exercise-shell.exercise-square-color .stats-row.compact span{font-size:.5rem}.timed-exercise-shell.exercise-square-color .stats-row.compact strong{font-size:clamp(.85rem,4.5vw,1.05rem)}.timed-exercise-shell.exercise-square-color .speed-question-card{flex-direction:column;flex:1;justify-content:center;gap:10px;width:100%;max-width:none;min-height:0;padding:12px;display:flex}.timed-exercise-shell.exercise-square-color .speed-question-card>strong{margin:auto 0 0;font-size:clamp(5.8rem,34vw,9rem)}.timed-exercise-shell.exercise-square-color .answer-buttons.two-up{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;display:grid}.timed-exercise-shell.exercise-square-color .answer-buttons button{min-height:58px;font-size:clamp(1rem,5vw,1.25rem)}.timed-exercise-shell.exercise-square-color .speed-feedback{min-height:1.2em;margin:0;font-size:.9rem}}@media (width<=360px){.timed-exercise-shell .stats-row.compact{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.timed-exercise-shell.exercise-coordinate.exercise-page{min-height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top) - 2 * var(--mobile-page-padding));gap:6px;padding:8px 6px;overflow:hidden}.timed-exercise-shell.exercise-coordinate .exercise-title-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;min-height:34px}.timed-exercise-shell.exercise-coordinate .exercise-title-row h1{letter-spacing:-.03em;font-size:clamp(1rem,5vw,1.35rem)}.timed-exercise-shell.exercise-coordinate .timer-pill{background:#e2b71429;min-width:66px;padding:3px 8px}.timed-exercise-shell.exercise-coordinate .timer-pill span{font-size:.5rem}.timed-exercise-shell.exercise-coordinate .timer-pill strong{font-size:1.08rem}.timed-exercise-shell.exercise-coordinate .exercise-prompt-area{flex:1;min-height:0;display:block}.exercise-coordinate .coordinate-layout{min-height:100%;padding-bottom:calc(58px + var(--mobile-safe-bottom));flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.exercise-coordinate .coordinate-side-panel{display:contents}.exercise-coordinate .coordinate-board-column{order:2;width:100%}.exercise-coordinate .coordinate-board-stage{width:min(92vw,48dvh);max-width:min(92vw,48dvh)}.exercise-coordinate .training-board-shell{box-shadow:none;background:0 0;border-radius:10px;width:min(92vw,48dvh);max-width:min(92vw,48dvh);padding:4px}.exercise-coordinate .training-board-shell>div{border-radius:8px;overflow:hidden}.exercise-coordinate .coordinate-prompt{z-index:3;background:#080d16c7;border:1px solid #e2b7148c;border-radius:999px;width:auto;padding:6px 14px 7px;animation:none;top:8px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #00000052}.exercise-coordinate .coordinate-prompt strong{letter-spacing:-.04em;font-size:clamp(1.35rem,8vw,2.2rem);line-height:1}.exercise-coordinate .countdown-prompt{padding-inline:16px;top:50%;transform:translate(-50%,-50%)}.stats-row.compact.coordinate-stats{order:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(92vw,48dvh);max-width:min(92vw,48dvh);margin:0 auto}.stats-row.compact.coordinate-stats div{background:#101827cc;border-radius:999px;min-height:34px;padding:4px 3px}.stats-row.compact.coordinate-stats span{letter-spacing:.04em;margin-bottom:1px;font-size:.46rem}.stats-row.compact.coordinate-stats strong{font-size:clamp(.78rem,4vw,.98rem)}.coordinate-fixed-target{display:none}.coordinate-action-button{bottom:var(--mobile-safe-bottom);left:var(--mobile-page-padding);min-height:52px;right:var(--mobile-page-padding);z-index:15;border-radius:16px;width:auto;position:fixed;box-shadow:0 -8px 24px #04091261}.coordinate-side-toggle{order:3;width:min(92vw,48dvh);min-height:38px;padding:8px 12px;font-size:.8rem}.exercise-blindfold-puzzles.blindfold-puzzle-exercise{height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top));max-width:none;padding:8px var(--mobile-page-padding) calc(168px + var(--mobile-safe-bottom));flex-direction:column;gap:8px;display:flex;overflow:hidden}.blindfold-exercise-title-row{flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:0;display:grid}.blindfold-exercise-title-row h1{text-align:left;margin:0;font-size:clamp(1.2rem,6vw,1.65rem);line-height:1}.blindfold-exercise-title-row .eyebrow{text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:.65rem;overflow:hidden}.blindfold-exercise-title-row .training-info-button{border-radius:999px;width:38px;height:38px;min-height:38px;padding:0;font-size:0}.blindfold-exercise-title-row .training-info-button:before{content:"i";text-transform:none;font-size:1rem;font-weight:950;line-height:1}.stats-row.compact.blindfold-stats{scrollbar-width:none;flex:none;gap:6px;margin:0;padding-bottom:2px;display:flex;overflow-x:auto}.stats-row.compact.blindfold-stats::-webkit-scrollbar{display:none}.stats-row.compact.blindfold-stats div{background:#101827e0;border:1px solid #94a3b842;border-radius:999px;flex:none;align-items:center;gap:6px;min-width:0;padding:6px 10px;display:inline-flex}.stats-row.compact.blindfold-stats span{margin:0;font-size:.67rem}.stats-row.compact.blindfold-stats strong{font-size:.95rem;line-height:1}.blindfold-exercise-layout{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow:visible}.blindfold-board-column{flex:auto;order:1;grid-template-rows:minmax(0,1fr) auto;gap:8px;min-height:0;display:grid}.blindfold-board-focus{align-self:start;max-width:min(100%,52dvh);max-height:min(52dvh,100dvh - 330px);padding:5px}.blindfold-board-focus .hidden-board-placeholder{min-height:min(52dvh,100dvh - 330px)}.blindfold-hidden-board{gap:6px;padding:12px}.blindfold-hidden-board strong{font-size:clamp(1.45rem,8vw,2.3rem)}.blindfold-hidden-board span{font-size:.82rem;line-height:1.25}.blindfold-hidden-piece-list{background:#0f172ad1;border:1px solid #94a3b833;border-radius:12px;gap:5px;max-height:92px;padding:8px;overflow:auto}.blindfold-hidden-piece-list p{font-size:.72rem;line-height:1.25}.blindfold-feedback-line{order:2}.blindfold-input-panel{max-width:none;padding:10px var(--mobile-page-padding) calc(10px + var(--mobile-bottom-safe));z-index:32;background:#202b3d;border:1px solid #3a4659;border-radius:18px 18px 0 0;width:auto;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -18px 44px #0206177a}.blindfold-input-panel .move-entry-bar{min-height:54px;padding:7px}.blindfold-input-panel .move-entry-bar>button,.blindfold-text-entry button{flex:none}.blindfold-controls-card{bottom:calc(118px + var(--mobile-bottom-safe));overscroll-behavior:contain;max-height:min(35dvh,280px);padding:12px var(--mobile-page-padding);z-index:31;border-radius:18px 18px 0 0;gap:8px;display:grid;position:fixed;left:0;right:0;overflow-y:auto;box-shadow:0 -16px 40px #0206176b}.blindfold-turn-heading{text-align:left;font-size:1rem}.blindfold-move-list-panel{border:1px solid #303c50;min-height:0;max-height:112px;padding:8px}.blindfold-review-navigation{grid-template-columns:repeat(4,minmax(0,1fr))}.blindfold-review-navigation button,.blindfold-actions button{min-height:38px;padding:7px 8px}.blindfold-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.blindfold-actions .primary-button{box-shadow:0 8px 22px #e2b71433}.training-info-modal-backdrop{align-items:flex-end;padding:0}.training-info-modal{max-width:none;max-height:70dvh;padding:16px var(--mobile-page-padding) calc(16px + var(--mobile-bottom-safe));border-bottom:0;border-radius:18px 18px 0 0;width:100%}}.account-profile-panel .settings-card{padding:12px}@media (width>=761px){.account-profile-panel .account-progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.level-list-item{grid-template-columns:auto minmax(0,1fr)}@media (width<=640px){.engine-slider,.setup-panel .engine-slider{height:20px}.engine-slider::-webkit-slider-thumb{width:42px;height:42px}.setup-panel .engine-slider::-webkit-slider-thumb{width:42px;height:42px}.engine-slider::-moz-range-thumb{width:42px;height:42px}.setup-panel .engine-slider::-moz-range-thumb{width:42px;height:42px}.training-levels-heading.training-overview-header,.training-levels-heading.rating-heading-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.training-levels-heading h1{margin:0;font-size:clamp(1.75rem,9vw,2.5rem);line-height:.95}.training-levels-heading .inline-rating-number{color:#e2b714;letter-spacing:-.08em;justify-self:end;margin-left:0;font-size:clamp(2.05rem,11vw,3rem);line-height:.9}.level-list-item{grid-template-columns:auto minmax(0,1fr);padding-right:14px}.level-list-item-meta,.level-rating-pill,.level-list-item-open{display:none}.training-board-shell,.movement-board-shell.training-board-shell,.piece-tracking-board.training-board-shell,.movement-hidden-board,.piece-tracking-hidden-board{max-width:520px;width:min(calc(100vw - 2 * var(--mobile-page-padding)), 56dvh, 520px)}.active-game-layout{--board-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 56dvh, 520px)}.exercise-coordinate .coordinate-board-stage,.exercise-coordinate .training-board-shell,.exercise-coordinate .coordinate-side-toggle{max-width:520px;width:min(calc(100vw - 2 * var(--mobile-page-padding)), 58dvh, 520px)}.exercise-coordinate .training-board-shell{padding:2px}.exercise-coordinate .coordinate-prompt{box-shadow:none;color:#fff;pointer-events:none;text-shadow:0 8px 22px #000000b3,0 0 18px #00000059;z-index:4;background:0 0;border:0;border-radius:0;width:auto;padding:0;animation:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.exercise-coordinate .coordinate-prompt strong{color:#fff;letter-spacing:-.09em;font-size:clamp(4rem,24vw,7rem);font-weight:1000;line-height:.9}.exercise-coordinate .countdown-prompt{padding:0;top:50%;transform:translate(-50%,-50%)}.exercise-coordinate .coordinate-fixed-target{display:none}.exercise-coordinate .coordinate-action-button{bottom:calc(10px + var(--mobile-safe-bottom));z-index:32}.exercise-rating-dock-coordinate{min-width:0;bottom:auto;left:auto;right:max(10px, env(safe-area-inset-right));top:calc(var(--app-header-height) + env(safe-area-inset-top) + 8px);border-radius:16px;align-items:center;gap:8px;width:auto;padding:8px 10px;display:flex}.exercise-rating-dock-coordinate .exercise-rating-dock-label{max-width:78px;font-size:.58rem}.exercise-rating-dock-coordinate .exercise-rating-dock-main strong{font-size:1.65rem}.account-profile-grid.account-profile-grid-simple,.account-profile-grid,.account-profile-column,.account-facts,.account-progress-stats{grid-template-columns:1fr;min-width:0}.account-profile-stats-column{order:2}.account-profile-details-column{order:1}.account-picture-card{padding-top:20px}.account-picture-frame{width:min(156px,48vw)}.account-profile-column,.account-security-card,.account-summary-card,.account-facts div,.account-progress-stats div{min-width:0}.account-facts strong,.account-progress-stats strong,.account-summary-card p,.account-security-card p{overflow-wrap:anywhere}.daily-challenge-card{grid-template-columns:minmax(0,1fr);align-items:start;gap:4px;padding:10px 12px}.daily-challenge-card strong,.daily-challenge-card p,.daily-challenge-card small{overflow-wrap:anywhere;min-width:0}.stats-rating-card,.streak-card{background:linear-gradient(#0f172a57,#0f172a24);border-color:#e2b7142e}.stats-rating-card>strong,.streak-card>strong{letter-spacing:-.09em;margin:2px 0 4px;font-size:clamp(3rem,16vw,5rem)}.stats-rank-row span{color:#e2b714;background:0 0;border:0;padding:0}}.training-mobile-level-list{display:none}.training-desktop-overview{gap:22px;display:grid}.training-desktop-level{gap:14px;display:grid}.training-desktop-level-heading{justify-content:space-between;align-items:end;gap:14px;display:flex}.training-desktop-level-heading .eyebrow{margin:0}.training-desktop-level-heading h2{color:#fff;letter-spacing:-.04em;text-align:right;flex:1;margin:0;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1}.level-exercise-row h3{color:#fff;margin:0 0 8px;font-size:clamp(1.35rem,3vw,2rem)}.desktop-under-board-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:12px;display:grid}.desktop-under-board-actions button{white-space:nowrap;min-height:46px}.desktop-under-board-share-menu{width:100%;max-width:360px;margin:10px auto 0;position:static}.desktop-under-board-feedback{text-align:center;margin:8px 0 0}@media (width<=640px){.training-desktop-overview,.desktop-under-board-actions,.desktop-under-board-share-menu,.desktop-under-board-feedback{display:none}.training-mobile-level-list{display:grid}}.training-level-list-with-exercises{display:grid}.level-exercise-summary-list{flex-wrap:wrap;gap:8px 10px;margin:4px 0 0;padding:0;list-style:none;display:flex}.level-exercise-summary-list li{color:#cbd5e1;background:0 0;border:0;border-radius:0;align-items:center;gap:7px;min-width:0;padding:5px 9px;display:inline-flex}.level-exercise-summary-list span{color:#cbd5e1;font-size:.86rem;font-weight:800;line-height:1.15}.level-exercise-summary-list small{color:#fff;padding-left:8px;font-size:.82rem;font-weight:950;line-height:1}.rating-change-card{text-align:left;grid-template-columns:minmax(0,1fr) auto;animation:.32s ease-out both ratingResultEnter}.rating-change-card span{grid-column:1/-1}.rating-change-card strong{align-self:center}.rating-change-card b{place-self:center end}@keyframes ratingResultEnter{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.training-level-list-with-exercises .level-list-item{align-items:start;height:auto;min-height:0;padding:8px 10px}.level-exercise-summary-list{gap:5px;margin-top:5px}.level-exercise-summary-list li{border-radius:9px;padding:4px 6px}.level-exercise-summary-list span{font-size:.72rem}.level-exercise-summary-list small{font-size:.7rem}.engine-slider::-webkit-slider-thumb{width:46px;height:46px;transform:translate(5px)}.setup-panel .engine-slider::-webkit-slider-thumb{width:46px;height:46px;transform:translate(5px)}.engine-slider::-moz-range-thumb{width:46px;height:46px;transform:translate(5px)}.setup-panel .engine-slider::-moz-range-thumb{width:46px;height:46px;transform:translate(5px)}.exercise-coordinate .coordinate-board-stage,.exercise-coordinate .training-board-shell,.exercise-coordinate .coordinate-side-toggle{max-width:520px;width:min(100%, calc(100vw - 2 * var(--mobile-page-padding)), 58dvh, 520px)}.reconstruction-difficulty-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.reconstruction-difficulty-grid button{border-radius:12px;min-height:58px;padding:8px 4px}.reconstruction-difficulty-grid strong{letter-spacing:-.02em;font-size:clamp(.78rem,3.6vw,1rem)}.rating-change-card{width:100%;min-width:0}.training-level-list-with-exercises .level-list-item{overflow:visible}}.training-level-list-with-exercises .level-list-item{grid-template-columns:minmax(0,1fr);align-items:start}.training-level-list-with-exercises .level-list-item-number{align-self:start;max-width:none}.training-level-list-with-exercises .level-list-item-heading{gap:8px;display:grid}.training-level-list-with-exercises .level-exercise-count{display:none}.training-level-list-with-exercises .level-exercise-summary-list{gap:6px;margin-top:10px;display:grid}.training-level-list-with-exercises .level-exercise-summary-list li{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:0 0 0 12px;display:grid;position:relative}.training-level-list-with-exercises .level-exercise-summary-list li:before{content:"";background:#e2b714b8;border-radius:999px;width:5px;height:5px;position:absolute;top:.64em;left:0;transform:translateY(-50%)}.training-level-list-with-exercises .level-exercise-summary-list span,.training-level-list-with-exercises .level-exercise-summary-list small{color:#fff}.training-level-list-with-exercises .level-exercise-summary-list small{padding-right:8px;font-size:.92rem}.training-levels-heading .inline-rating-number{font-size:clamp(2.4rem,5.2vw,3.8rem)}.overall-rating-trophy{align-items:center;gap:10px;display:inline-flex}.overall-rating-trophy span{letter-spacing:0;font-size:.58em;line-height:1}.training-level-list-with-exercises .level-exercise-summary-list small{color:#fff;text-align:right;border-right:3px solid #94a3b894;min-width:4ch;padding-left:0;padding-right:8px}.training-level-list-with-exercises .level-exercise-summary-list li.rating-trend-up small{border-right-color:#22c55e}.training-level-list-with-exercises .level-exercise-summary-list li.rating-trend-down small{border-right-color:#ef4444}@media (width<=640px){.training-level-list-with-exercises .level-list-item{grid-template-columns:auto minmax(0,1fr);align-items:center;height:72px;padding:9px 12px;overflow:hidden}.training-level-list-with-exercises .level-list-item-heading{display:flex}.training-level-list-with-exercises .level-exercise-count{display:block}.training-level-list-with-exercises .level-exercise-summary-list{display:none}.training-levels-heading .inline-rating-number{font-size:clamp(2.1rem,11vw,3.05rem)}.exercise-coordinate .coordinate-layout{padding-bottom:0}.exercise-coordinate .coordinate-action-button{order:4;justify-self:center;width:min(100%,320px);max-width:320px;min-height:46px;margin:4px auto 0;position:static;bottom:auto;left:auto;right:auto;box-shadow:0 8px 22px #e2b71438}.exercise-coordinate .coordinate-side-toggle{order:3;justify-self:center}#voice-volume::-webkit-slider-thumb{transform:translate(7px)}#voice-volume::-moz-range-thumb{transform:translate(7px)}#voice-speed::-webkit-slider-thumb{transform:translate(-5px)}#voice-speed::-moz-range-thumb{transform:translate(-5px)}.movement-visualizer-page{min-height:calc(100dvh - var(--app-header-height) - env(safe-area-inset-top));padding:8px var(--mobile-page-padding) calc(8px + var(--mobile-bottom-safe));flex-direction:column;gap:6px;display:flex;overflow:hidden}.movement-visualizer-page h1{margin:0;font-size:clamp(1.2rem,6vw,1.55rem);line-height:1}.movement-piece-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;max-width:none;margin:0}.movement-piece-picker button{min-height:38px;padding:4px;font-size:1.5rem}.movement-visualizer-layout{flex-direction:column;flex:auto;gap:6px;width:100%;min-height:0;display:flex}.movement-board-column{gap:0;width:100%}.movement-board-stage,.movement-board-shell.training-board-shell,.movement-hidden-board{max-width:min(calc(100vw - 2 * var(--mobile-page-padding)), 40dvh, 520px);width:min(calc(100vw - 2 * var(--mobile-page-padding)), 40dvh, 520px)}.movement-board-stage{align-self:center;min-height:0}.movement-hidden-board{min-height:180px}.movement-challenge-panel{gap:6px;width:100%;padding:8px}.movement-challenge-panel>span{letter-spacing:.08em;font-size:.62rem}.movement-challenge-panel>strong{font-size:clamp(1.25rem,6vw,1.7rem)}.movement-move-stats{gap:6px}.movement-move-stats>div{border-radius:10px;padding:6px 8px}.movement-move-stats span{font-size:.55rem}.movement-move-stats strong{margin-top:1px;font-size:1rem}.movement-status{font-size:.82rem;line-height:1.25}.movement-hint-button,.movement-coordinate-toggle,.movement-path-actions button{min-height:34px;padding:6px 8px}.movement-coordinate-toggle{font-size:.76rem}.movement-path-actions{gap:6px}.movement-route-list{min-height:34px;padding:6px 8px;font-size:.9rem}.movement-input-panel{flex:none;max-width:none;margin:0}.movement-input-panel .input-mode-buttons{gap:6px}.movement-input-panel .input-mode-buttons button,.movement-input-panel .move-entry-bar button{min-height:34px;padding:6px 8px}.movement-input-panel .move-entry-bar{gap:6px;min-height:0}.movement-input-panel .move-entry-bar input{min-height:38px;padding:0 10px;font-size:.9rem}}.level-list-item-trigger{color:inherit;text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;width:100%;min-height:0;padding:0;display:grid}.level-list-item-trigger:hover:not(:disabled),.level-list-item-trigger:focus-visible{box-shadow:none;background:0 0;border-color:#0000;transform:none}.exercise-summary-toggle{color:inherit;text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:0;padding:0;display:grid}.exercise-summary-toggle:hover,.exercise-summary-toggle:focus-visible{box-shadow:none;background:0 0;border:0;transform:none}.training-level-list-with-exercises .level-exercise-summary-list li{display:grid}.training-level-list-with-exercises .level-exercise-summary-list li p{color:#cbd5e1;grid-column:1/-1;margin:5px 0 3px 12px;font-size:.86rem;font-weight:700;line-height:1.45}.training-level-list-with-exercises .level-exercise-summary-list li.expanded:before{background:#fff}@media (width<=640px){#engine-rating::-webkit-slider-thumb{transform:translate(1px)}#engine-rating::-moz-range-thumb{transform:translate(1px)}#voice-volume::-webkit-slider-thumb{transform:translate(8px)}#voice-volume::-moz-range-thumb{transform:translate(8px)}#voice-speed::-webkit-slider-thumb{transform:translate(-7px)}#voice-speed::-moz-range-thumb{transform:translate(-7px)}.training-level-list-with-exercises .level-list-item-trigger{grid-template-columns:auto minmax(0,1fr);align-items:center}.movement-visualizer-page{--movement-mobile-board-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 42dvh, 380px)}.movement-board-stage,.movement-board-shell.training-board-shell,.movement-hidden-board{aspect-ratio:1;height:var(--movement-mobile-board-size);max-height:var(--movement-mobile-board-size);max-width:var(--movement-mobile-board-size);min-height:0;width:var(--movement-mobile-board-size)}.movement-challenge-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.movement-challenge-panel>span{display:none}.movement-move-stats{grid-area:1/1;grid-template-columns:repeat(2,minmax(0,1fr))}.movement-challenge-panel>strong{text-align:right;text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;justify-self:end;max-width:38vw;overflow:hidden}.movement-hint-button{order:2;grid-column:1/-1}.movement-route-list{order:3;grid-column:1/-1}.movement-path-actions{order:4;grid-column:1/-1}.movement-coordinate-toggle{order:5;grid-column:1/-1;justify-self:stretch}}.landing-exercise-toggle{color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:0;padding:0;display:grid}.landing-exercise-toggle:hover,.landing-exercise-toggle:focus-visible{box-shadow:none;background:0 0;border:0;transform:none}.landing-exercise-toggle span{color:#fff;font-size:1.15rem;font-weight:900;line-height:1.2}.landing-exercise-toggle small{color:#e2b714;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.landing-exercise-card.expanded{border-color:#e2b7147a}.landing-exercise-card.expanded p{margin-top:10px}@media (width<=640px){.landing-exercise-toggle span{font-size:1rem}.landing-exercise-card p,.landing-exercise-card.expanded p{margin-top:8px;font-size:.92rem;line-height:1.35;display:block;overflow:visible}}.landing-exercise-toggle{display:none}@media (width>=641px){.landing-exercise-card.expanded{border-color:#3a4659}}@media (width<=640px){.landing-exercise-card h3{display:none}.landing-exercise-toggle{display:grid}.landing-exercise-card p{display:none}.landing-exercise-card.expanded p{display:block}.landing-exercise-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;display:-webkit-box;overflow:hidden}.landing-exercise-card.expanded p{-webkit-line-clamp:unset;display:block;overflow:visible}}.training-level-list-with-exercises .level-list-item-trigger{z-index:1;grid-column:1/-1;min-height:56px;position:relative}.training-level-list-with-exercises .level-list-item-trigger:after{content:"";position:absolute;inset:-8px -10px}.exercise-rating-row b,.level-exercise-summary-list small,.training-level-list-with-exercises .level-exercise-summary-list small,.level-list-item li small{color:#fff}.movement-tools-panel{background:#101827b8;border:1px solid #3a4659;border-radius:16px;width:100%;max-width:min(980px,100%);margin:clamp(14px,2.4vw,24px) auto 0;padding:0}.movement-tools-panel summary{color:#fff;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;padding:12px 14px;font-weight:900;list-style-position:inside}.movement-tools-content{border-top:1px solid #94a3b838;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:10px;padding:12px;display:grid}.movement-tools-content .movement-coordinate-toggle{justify-content:center}@media (width<=640px){.training-level-list-with-exercises .level-list-item{grid-template-columns:1fr;min-height:76px}.training-level-list-with-exercises .level-list-item-trigger{align-items:center;min-height:58px}.movement-visualizer-page{--movement-mobile-board-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 58dvh, 520px);overflow:visible}.movement-board-stage,.movement-board-shell.training-board-shell,.movement-hidden-board{aspect-ratio:1;height:var(--movement-mobile-board-size);max-height:var(--movement-mobile-board-size);max-width:var(--movement-mobile-board-size);min-height:0;width:var(--movement-mobile-board-size)}.movement-tools-panel{margin-top:8px}.movement-tools-panel summary{min-height:44px;padding:10px 12px}.movement-tools-content{grid-template-columns:1fr;padding:10px}.movement-tools-content .movement-path-actions,.movement-tools-content .movement-coordinate-toggle{order:initial;grid-column:auto}.movement-visualizer-page{--movement-mobile-board-size:min(calc(100vw - 2 * var(--mobile-page-padding) - 16px), 46dvh, 420px)}.movement-board-column,.movement-board-stage{justify-items:center;max-width:100%;margin-inline:auto;overflow:visible}.movement-board-stage,.movement-board-shell.training-board-shell,.movement-hidden-board{width:var(--movement-mobile-board-size)}.movement-board-shell.training-board-shell{margin-inline:auto;padding:2px;display:block}.movement-board-shell.training-board-shell>div{max-width:100%;margin-inline:auto;overflow:hidden}.movement-input-panel{order:3;width:100%}.movement-tools-panel{order:4;width:100%}}@media (width>=641px){.training-level-list-with-exercises .level-list-item{cursor:pointer;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);align-items:stretch;padding:0}.training-level-list-with-exercises .level-list-item:focus-visible{border-color:#e2b714c7;outline:none;box-shadow:0 0 0 3px #e2b71438}.training-level-list-with-exercises .level-list-item-trigger{background:linear-gradient(90deg,#e2b714e6,#e2b714b8) 0/5px 100% no-repeat,linear-gradient(135deg,#e2b71412,#e2b71400);border-radius:15px 0 0 15px;grid-column:auto;grid-template-columns:minmax(0,1fr);align-content:center;gap:8px;min-height:100%;padding:18px 18px 18px 22px;display:grid}.training-level-list-with-exercises .level-list-item-trigger:after{content:none}.training-level-list-with-exercises .level-list-item-number{align-self:end}.training-level-list-with-exercises .level-list-item-main{gap:8px}.training-level-list-with-exercises .level-list-item-heading{align-items:start;gap:10px;display:grid}.training-level-list-with-exercises .level-list-item-heading strong:first-child{white-space:normal}.training-level-list-with-exercises .level-exercise-summary-list{align-content:center;margin:0;padding:18px 20px 18px 0}.training-level-list-with-exercises .level-exercise-summary-list li{cursor:inherit;pointer-events:none;align-items:center;min-height:32px}.training-level-list-with-exercises .level-exercise-summary-list span,.training-level-list-with-exercises .level-exercise-summary-list small{align-self:center}.training-level-list-with-exercises .level-exercise-summary-list small{box-shadow:none;background:0 0;border-left:0;border-radius:0;padding:0 8px 0 0;line-height:1}}.landing-footer{text-align:center;padding:0 clamp(24px,6vw,72px) 42px}.landing-footer a,.privacy-policy-card a,.auth-privacy-consent a{color:#fde68a;font-weight:800}.privacy-page{justify-items:center;padding:clamp(72px,9vw,108px) clamp(18px,4vw,42px) 80px;display:grid}.privacy-policy-card{text-align:left;border-radius:18px;gap:20px;width:min(100%,980px);max-width:980px;padding:clamp(24px,5vw,48px);line-height:1.65;display:grid}.privacy-policy-card h1{white-space:normal;margin-bottom:0;font-size:clamp(2rem,5vw,4rem)}.privacy-policy-card h2{margin-bottom:10px;font-size:clamp(1.25rem,2.4vw,1.8rem)}.privacy-policy-card section{border-top:1px solid #94a3b83d;padding-top:18px}.privacy-policy-card ul{margin:0;padding-left:1.35rem}.privacy-updated,.privacy-disclaimer{color:#cbd5e1;font-size:.95rem}.privacy-disclaimer{background:#e2b71414;border:1px solid #e2b71447;border-radius:12px;padding:12px 14px}.privacy-consent-banner{bottom:max(16px, env(safe-area-inset-bottom));color:#e5e7eb;z-index:120;background:#0f172af5;border:1px solid #e2b7146b;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:min(920px,100vw - 32px);padding:16px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 40px #03071275}.privacy-consent-banner strong{color:#fff;margin-bottom:4px;display:block}.privacy-consent-banner p{color:#cbd5e1;margin:0;font-size:.92rem;line-height:1.4}.privacy-consent-actions{flex-shrink:0;gap:10px;display:flex}.privacy-link-button{color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:132px;min-height:44px;text-decoration:none;display:inline-flex}.privacy-consent-actions .primary-button{border-radius:999px;min-width:132px;min-height:44px}.privacy-link-button:visited,.privacy-link-button:hover,.privacy-link-button:focus-visible{color:#fff}.auth-privacy-consent{text-align:left;background:#0f172a8f;border:1px solid #94a3b83d;border-radius:12px;max-width:340px;margin:16px auto 0;padding:12px}.auth-privacy-consent label{color:#cbd5e1;align-items:flex-start;gap:10px;font-size:.84rem;font-weight:700;line-height:1.45;display:flex}.auth-privacy-consent input[type=checkbox]{accent-color:#e2b714;appearance:auto;background:#0f172a;border-radius:3px;flex:none;width:16px;height:16px;min-height:0;margin:2px 0 0;padding:0}.auth-privacy-consent label span{text-transform:none;font-size:.84rem}.auth-privacy-consent a{color:#fff;font-weight:800}.legal-checkbox-group{gap:10px;max-width:420px;display:grid}.legal-checkbox-group label+label{margin-top:0}.legal-consent-card{max-width:560px}.legal-consent-screen .auth-help{max-width:420px}@media (width<=640px){.privacy-page{padding:calc(var(--app-header-height) + env(safe-area-inset-top) + 10px) var(--mobile-page-padding) calc(120px + env(safe-area-inset-bottom))}.privacy-page .page-back-button{display:none}.privacy-policy-card{border-radius:var(--mobile-card-radius);gap:14px;padding:18px 14px}.privacy-consent-banner{align-items:stretch;gap:12px;max-width:calc(100vw - 20px);padding:12px;display:grid}.privacy-consent-actions{grid-template-columns:1fr 1fr;display:grid}.auth-privacy-consent{margin-top:10px;padding:10px}}.legal-settings-links a{color:#fde68a;font-weight:800}.training-level-list-with-exercises .level-exercise-summary-list li{grid-template-columns:auto minmax(0,1fr) auto;padding-left:0}.training-level-list-with-exercises .level-exercise-summary-list li:before{content:none}.training-level-list-with-exercises .level-exercise-summary-icon,.level-exercise-title-icon{color:#f8e7a0;background:#e2b71424;border:1px solid #e2b71452;border-radius:10px;flex:none;place-items:center;width:26px;height:26px;font-size:1rem;display:inline-grid}.training-level-list-with-exercises .level-exercise-summary-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.level-exercise-title{align-items:center;gap:10px;display:flex}.level-exercise-title-icon{border-radius:12px;width:34px;height:34px;font-size:1.15rem}.level-exercise-title span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.training-level-list-with-exercises .level-exercise-summary-list li{grid-template-columns:minmax(0,1fr) auto}.training-level-list-with-exercises .level-exercise-summary-label,.level-exercise-title{background:#1e293b7a;border:1px solid #94a3b824;border-radius:999px;align-items:center;gap:8px;width:fit-content;min-width:0;padding:5px 10px;display:inline-flex;box-shadow:inset 0 1px #ffffff09}.training-level-list-with-exercises .level-exercise-summary-label{max-width:100%}.training-level-list-with-exercises .level-exercise-summary-icon,.level-exercise-title-icon{box-shadow:none;color:#f4d35e;background:0 0;border:0;border-radius:0;width:auto;height:auto}.level-exercise-title{white-space:normal;max-width:100%}.level-exercise-title-icon{color:#fff;font-size:1.35rem}@media (width<=640px){.piece-tracking-page{padding-bottom:calc(var(--mobile-safe-bottom) + 18px)}.piece-tracking-page .piece-tracking-title-row{gap:8px;margin-bottom:12px}.piece-tracking-page h1{margin-bottom:0;font-size:clamp(1.45rem,8vw,2.1rem);line-height:1.05}.piece-tracking-setup,.reconstruction-setup{padding-bottom:calc(var(--mobile-safe-bottom) + 18px);gap:12px}.difficulty-slider-card{border-radius:16px;gap:12px;padding:14px}.difficulty-slider-header{align-items:center;gap:10px}.difficulty-slider-header span{letter-spacing:.08em;font-size:.68rem}.difficulty-slider-header strong{color:#fff7d6;text-align:right;background:#e2b7142e;border:1px solid #e2b7146b;border-radius:999px;padding:8px 12px;font-size:clamp(1rem,4.8vw,1.28rem);line-height:1}.difficulty-snap-slider{height:24px;padding:0 3px}.difficulty-snap-slider::-webkit-slider-thumb{border-width:5px;width:42px;height:42px}.difficulty-snap-slider::-moz-range-thumb{border-width:5px;width:34px;height:34px}.blindfold-puzzle-menu .difficulty-ticks,.piece-tracking-setup .difficulty-ticks{display:none}.piece-tracking-option-grid{grid-template-columns:1fr;gap:12px}.piece-tracking-fieldset{border-radius:16px;padding:12px}.piece-tracking-fieldset legend{padding:0 6px;font-size:.92rem}.piece-tracking-segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.piece-tracking-segmented button{border-radius:12px;min-height:50px;padding:8px 6px;font-size:.92rem}.piece-tracking-segmented span,.piece-tracking-toggle small{display:none}.piece-tracking-toggle{border-radius:16px;gap:10px;min-height:52px;padding:12px}.piece-tracking-toggle input{width:24px;height:24px}.piece-tracking-toggle span{gap:2px}.piece-tracking-start,.reconstruction-setup .start-button{justify-self:stretch;width:100%;min-width:0;min-height:52px}.reconstruction-difficulty-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.reconstruction-difficulty-grid button{border-radius:12px;min-height:52px;padding:8px 4px}.reconstruction-difficulty-grid strong{letter-spacing:-.02em;font-size:clamp(.78rem,3.7vw,1rem);line-height:1}.reconstruction-level-description{color:#fff7d6;background:#e2b7141f;border:1px solid #e2b71447;border-radius:14px;padding:10px 12px;font-size:.92rem;line-height:1.4}.mobile-session-header.active-session-header{margin-bottom:10px;display:block}.mobile-session-header.active-session-header .mobile-session-title h1,.mobile-session-header.active-session-header .eyebrow,.mobile-session-header.active-session-header>.reconstruction-timer{display:none}.mobile-session-title>.mobile-session-chip-row{display:flex}.mobile-session-chip-row,.reconstruction-meta-row.mobile-session-chip-row,.training-source-details.mobile-session-chip-row{scrollbar-width:none;white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:6px;max-width:100%;margin-bottom:10px;padding-bottom:2px;display:flex;overflow-x:auto}.mobile-session-chip-row::-webkit-scrollbar{display:none}.reconstruction-meta-row.mobile-session-chip-row::-webkit-scrollbar{display:none}.training-source-details.mobile-session-chip-row::-webkit-scrollbar{display:none}.mobile-session-chip-row>span,.reconstruction-meta-row.mobile-session-chip-row>span,.training-source-details.mobile-session-chip-row>span{color:#cbd5e1;background:#0f172ac2;border:1px solid #94a3b857;border-radius:999px;flex:none;align-items:center;gap:4px;padding:7px 9px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.mobile-session-chip-row strong,.reconstruction-meta-row.mobile-session-chip-row strong,.training-source-details.mobile-session-chip-row strong{color:#fff;font-size:.78rem}.reconstruction-meta-row.mobile-session-chip-row{margin-bottom:10px}.mobile-session-chip-row .training-info-button,.reconstruction-meta-row.mobile-session-chip-row .training-info-button,.training-source-details.mobile-session-chip-row .training-info-button{box-shadow:none;color:#e2e8f0;letter-spacing:.04em;background:#1e293bcc;border-color:#94a3b86b;flex:none;padding:7px 9px;font-size:.68rem}.piece-tracking-page.active-piece-tracking-session{padding-bottom:calc(var(--mobile-safe-bottom) + 96px)}.piece-tracking-page .piece-tracking-layout{flex-direction:column;gap:12px;width:100%;display:flex}.piece-tracking-page .piece-tracking-board-and-input{display:contents}.piece-tracking-page .piece-tracking-mobile-board-stage{order:0;width:100%}.piece-tracking-page .piece-tracking-board.training-board-shell,.piece-tracking-page .piece-tracking-hidden-board{max-width:430px;width:min(calc(100vw - 2 * var(--mobile-page-padding)), 58dvh, 430px)}.piece-tracking-page .piece-tracking-board.training-board-shell{padding:4px}.piece-tracking-page .piece-tracking-hidden-board{min-height:min(calc(100vw - 2 * var(--mobile-page-padding)), 58dvh, 430px)}.piece-tracking-page .piece-tracking-prompt-panel{order:1;width:100%}.piece-tracking-page .piece-tracking-active-feedback{z-index:4;background:#0f172aeb;border:1px solid #94a3b857;border-radius:14px;order:2;width:100%;padding:10px 12px;position:relative}.piece-tracking-page .piece-tracking-mobile-action-panel{max-width:none;bottom:var(--mobile-safe-bottom);z-index:20;background:#101827f5;border:1px solid #94a3b85c;border-radius:18px 18px 0 0;order:3;grid-template-columns:1fr;gap:8px;width:100%;margin:0;padding:10px;position:sticky;box-shadow:0 -18px 36px #00000057}.piece-tracking-page .piece-tracking-input-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.piece-tracking-page .piece-tracking-input-mode-buttons button,.piece-tracking-page .piece-tracking-answer-bar input,.piece-tracking-page .piece-tracking-answer-bar>button{min-height:48px}.piece-tracking-page .piece-tracking-input-mode-buttons button,.piece-tracking-page .piece-tracking-answer-bar>button{max-height:56px;padding-block:10px}.piece-tracking-page .piece-tracking-answer-bar{border-radius:14px;min-height:56px;padding:4px 6px}.piece-tracking-page .piece-tracking-answer-bar input{height:48px}.piece-tracking-page .piece-tracking-voice-panel{width:100%;min-height:56px}.piece-tracking-page .mobile-feedback-copy,.piece-tracking-page .mobile-helper-copy{display:none}}@media (width<=640px) and (hover:none),(width<=640px) and (pointer:coarse){.piece-tracking-page .desktop-feedback-copy,.piece-tracking-page .desktop-helper-copy{display:none}.piece-tracking-page .mobile-feedback-copy,.piece-tracking-page .mobile-helper-copy{display:inline}}@media (width<=640px){.reconstruction-page{padding-bottom:calc(var(--mobile-safe-bottom) + 96px)}.reconstruction-side-panel .mobile-primary-actions,.reconstruction-side-panel .mobile-reconstruction-actions,.partial-game-side-panel .mobile-playback-actions{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);bottom:calc(var(--mobile-safe-bottom) + 8px);z-index:25;background:#0f172af0;border:1px solid #e2b71457;border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));align-self:end;gap:8px;width:100%;margin-top:4px;padding:10px;display:grid;position:sticky;box-shadow:0 -18px 38px #00000057,inset 0 0 0 1px #ffffff0a}.reconstruction-side-panel .mobile-primary-actions{grid-template-columns:1fr}.reconstruction-side-panel .mobile-primary-actions .primary-button,.reconstruction-side-panel .mobile-reconstruction-actions .primary-button,.partial-game-side-panel .mobile-playback-actions .primary-button{color:#101827;background:#e2b714;border-color:#e2b714;order:-1;grid-column:1/-1;width:100%}.reconstruction-side-panel .mobile-primary-actions .primary-button:hover:not(:disabled),.reconstruction-side-panel .mobile-reconstruction-actions .primary-button:hover:not(:disabled),.partial-game-side-panel .mobile-playback-actions .primary-button:hover:not(:disabled){background:#f1c936;border-color:#f1c936}.reconstruction-side-panel .mobile-primary-actions .secondary-button,.reconstruction-side-panel .mobile-reconstruction-actions .secondary-button,.partial-game-side-panel .mobile-playback-actions .secondary-button{width:100%;min-width:0}}@media (width<=380px){.reconstruction-side-panel .mobile-reconstruction-actions,.partial-game-side-panel .mobile-playback-actions{grid-template-columns:1fr}}@media (width<=640px){.partial-game-page{padding-bottom:calc(var(--mobile-safe-bottom) + 96px)}.partial-game-page .reconstruction-meta-row{margin-bottom:10px}.partial-game-page .reconstruction-layout{flex-direction:column;gap:10px;display:flex}.partial-game-page .reconstruction-board-card{order:1;width:100%;max-width:100%;padding:8px}.partial-game-page .reconstruction-side-panel.partial-game-side-panel{background:0 0;border:0;padding:0;display:contents}.partial-game-page .partial-game-playback-card{z-index:4;background:#0f172af0;border-color:#e2b7145c;order:0;gap:2px;width:100%;padding:10px 12px;box-shadow:0 14px 32px #0000003d}.partial-game-page .partial-game-move-card strong{font-size:clamp(1.45rem,9vw,2.4rem)}.partial-game-page .partial-game-move-card span,.partial-game-page .partial-game-move-card small{font-size:.72rem}.partial-game-page .partial-game-keyboard-helper{display:none}.partial-game-page .partial-game-touch-helper{display:inline}.partial-game-page{--partial-game-mobile-board-size:min(calc(100vw - (2 * var(--mobile-page-padding,14px)) - 34px), 400px)}.partial-game-page .partial-game-hidden-board,.partial-game-page .visual-reconstruction-chessboard-wrap{max-width:var(--partial-game-mobile-board-size);width:var(--partial-game-mobile-board-size);overflow:hidden;border-radius:0!important}.partial-game-page .partial-game-hidden-board{aspect-ratio:1;box-shadow:none;background:0 0;border:2px solid #e2b714d1;min-height:0}.partial-game-page #PartialGameReconstructionProvider-board,.partial-game-page #PartialGameReconstructionProvider-board>div,.partial-game-page #PartialGameReconstructionBoard-board,.partial-game-page #PartialGameReconstructionBoard-board>div{border-radius:0!important}.partial-game-side-panel .partial-game-playback-controls{order:2;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.partial-game-side-panel .partial-game-playback-controls .partial-game-continue-action,.partial-game-side-panel .partial-game-playback-controls .partial-game-previous-action,.partial-game-side-panel .partial-game-playback-controls .partial-game-restart-action,.partial-game-side-panel .partial-game-playback-controls .partial-game-reconstruct-action{order:initial;grid-column:auto;min-height:48px}.partial-game-side-panel .partial-game-playback-controls .partial-game-continue-action{order:0}.partial-game-side-panel .partial-game-playback-controls .partial-game-previous-action{order:1}.partial-game-side-panel .partial-game-playback-controls .partial-game-restart-action{order:2}.partial-game-side-panel .partial-game-playback-controls .partial-game-reconstruct-action{order:3}}@media (width<=768px){.visual-reconstruction-page,.piece-tracking-page{overflow-x:hidden}.visual-reconstruction-page.training-simple-page,.piece-tracking-page.training-simple-page{padding-left:var(--mobile-page-padding);padding-right:var(--mobile-page-padding);gap:10px}.visual-reconstruction-page .reconstruction-title-row,.piece-tracking-page .piece-tracking-title-row{margin-bottom:8px}.visual-reconstruction-page h1,.piece-tracking-page h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.25rem,6.4vw,1.75rem);line-height:1.02}.visual-reconstruction-page .reconstruction-setup,.piece-tracking-page .piece-tracking-setup{padding-bottom:calc(var(--mobile-safe-bottom) + 10px);gap:10px}.visual-reconstruction-page .reconstruction-difficulty-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.visual-reconstruction-page .reconstruction-difficulty-grid button{border-radius:14px;min-height:48px;padding:7px 4px}.visual-reconstruction-page .reconstruction-difficulty-grid strong{letter-spacing:-.03em;font-size:clamp(.76rem,3.5vw,.95rem)}.visual-reconstruction-page .reconstruction-level-description,.piece-tracking-page .difficulty-slider-card p{margin:0;font-size:.84rem;line-height:1.32}.visual-reconstruction-page .reconstruction-level-description{padding:8px 10px}.piece-tracking-page .difficulty-slider-card{gap:8px;padding:10px}.piece-tracking-page .difficulty-snap-slider{height:24px}.piece-tracking-page .difficulty-snap-slider::-webkit-slider-thumb{border-width:5px;width:42px;height:42px}.piece-tracking-page .difficulty-snap-slider::-moz-range-thumb{border-width:5px;width:34px;height:34px}.piece-tracking-page .piece-tracking-option-grid{gap:8px}.piece-tracking-page .piece-tracking-fieldset,.piece-tracking-page .piece-tracking-toggle{box-shadow:none;padding:10px}.piece-tracking-page .piece-tracking-segmented button{min-height:44px;padding:7px 4px}.piece-tracking-page .piece-tracking-toggle{min-height:46px}.piece-tracking-page .piece-tracking-start,.visual-reconstruction-page .reconstruction-setup .start-button{min-height:48px}.visual-reconstruction-page .reconstruction-layout{flex-direction:column;gap:8px;display:flex}.visual-reconstruction-page .reconstruction-board-card{box-shadow:none;background:0 0;border:0;width:100%;max-width:100%;padding:0}.visual-reconstruction-page .visual-reconstruction-board-stage{flex-direction:column;gap:7px;width:100%;display:flex}.visual-reconstruction-page .visual-reconstruction-board-area{order:1}.visual-reconstruction-page .visual-reconstruction-chessboard-wrap{width:min(calc(100vw - 2 * var(--mobile-page-padding)), 52dvh, 430px)}.visual-reconstruction-page .piece-tray.reconstruction-piece-tray{box-shadow:none;scrollbar-width:none;background:0 0;border:0;justify-content:flex-start;align-self:stretch;gap:6px;width:100%;max-width:100%;padding:0 2px 2px;display:flex;overflow-x:auto}.visual-reconstruction-page .piece-tray.reconstruction-piece-tray::-webkit-scrollbar{display:none}.visual-reconstruction-page .reconstruction-piece-tray-white{order:3}.visual-reconstruction-page .reconstruction-piece-tray-black{order:4}.visual-reconstruction-page .tray-piece.reconstruction-tray-piece{aspect-ratio:auto;background:#0f172ae0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:auto;min-width:60px;height:42px;min-height:42px;padding:4px 24px 4px 8px;display:inline-flex}.visual-reconstruction-page .tray-piece.reconstruction-tray-piece>div{width:32px!important;height:32px!important}.visual-reconstruction-page .tray-piece-count.reconstruction-tray-piece-count{min-width:22px;padding:1px 5px;font-size:.7rem;top:50%;bottom:auto;right:5px;transform:translateY(-50%)}.visual-reconstruction-page .reconstruction-side-panel{box-shadow:none;background:0 0;border:0;padding:0;display:contents}.visual-reconstruction-page .reconstruction-side-panel h2,.visual-reconstruction-page .reconstruction-side-panel>p{display:none}.visual-reconstruction-page .reconstruction-side-panel .mobile-primary-actions,.visual-reconstruction-page .reconstruction-side-panel .mobile-reconstruction-actions{bottom:var(--mobile-safe-bottom);left:var(--mobile-page-padding);right:var(--mobile-page-padding);border-radius:20px 20px 0 0;width:auto;margin:0;position:fixed}.visual-reconstruction-page .reconstruction-side-panel .mobile-reconstruction-actions{grid-template-columns:.9fr 1.1fr}.visual-reconstruction-page .reconstruction-side-panel .mobile-reconstruction-actions .primary-button{order:2;grid-column:auto}.visual-reconstruction-page .reconstruction-side-panel .mobile-reconstruction-actions .secondary-button{order:1}.piece-tracking-page.active-piece-tracking-session{padding-bottom:calc(var(--mobile-safe-bottom) + 118px)}.piece-tracking-page .piece-tracking-layout{gap:8px}.piece-tracking-page .piece-tracking-mobile-board-stage{min-height:0}.piece-tracking-page .piece-tracking-board.training-board-shell,.piece-tracking-page .piece-tracking-hidden-board{width:min(calc(100vw - 2 * var(--mobile-page-padding)), 48dvh, 400px)}.piece-tracking-page .piece-tracking-hidden-board{min-height:min(calc(100vw - 2 * var(--mobile-page-padding)), 48dvh, 400px);padding:18px}.piece-tracking-page .piece-tracking-prompt-panel{box-shadow:none;background:#0f172ab8;border-color:#e2b71447;border-radius:16px;order:-1;gap:8px;padding:10px;position:static}.piece-tracking-page .piece-tracking-prompt-panel h2{text-align:center;font-size:clamp(1rem,4.8vw,1.3rem);line-height:1.15}.piece-tracking-page .piece-tracking-prompt-panel>button{width:100%;min-height:42px}.piece-tracking-page .piece-tracking-move-card{text-align:center;gap:2px;padding:2px 0}.piece-tracking-page .piece-tracking-move-card strong{font-size:clamp(1.05rem,5.4vw,1.5rem);line-height:1.12}.piece-tracking-page .piece-tracking-move-count,.piece-tracking-page .piece-tracking-move-card small{color:#e2b714;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.piece-tracking-page .piece-tracking-prompt-panel .reconstruction-action-stack{grid-template-columns:1fr 1fr}.piece-tracking-page .piece-tracking-prompt-panel .reconstruction-action-stack .primary-button,.piece-tracking-page .piece-tracking-prompt-panel .reconstruction-action-stack .secondary-button{width:100%;min-width:0;min-height:44px;padding-inline:10px}.piece-tracking-page .piece-tracking-active-feedback{margin:0;padding:8px 10px;font-size:.86rem}.piece-tracking-page .piece-tracking-mobile-action-panel{bottom:var(--mobile-safe-bottom);left:var(--mobile-page-padding);right:var(--mobile-page-padding);border-radius:20px 20px 0 0;width:auto;padding:8px;position:fixed}.piece-tracking-page .piece-tracking-input-mode-buttons button,.piece-tracking-page .piece-tracking-answer-bar input,.piece-tracking-page .piece-tracking-answer-bar>button{min-height:42px}.piece-tracking-page .piece-tracking-answer-bar{min-height:48px}.piece-tracking-page .piece-tracking-answer-bar input{height:42px}.piece-tracking-page .piece-tracking-voice-panel{min-height:48px}}@media (width<=380px){.visual-reconstruction-page .reconstruction-side-panel .mobile-reconstruction-actions,.piece-tracking-page .piece-tracking-prompt-panel .reconstruction-action-stack{grid-template-columns:1fr}}.visual-reconstruction-mobile-top-actions,.reconstruction-mobile-top-actions,.visual-reconstruction-mobile-piece-tabs,.visual-reconstruction-mobile-info-drawer{display:none}.visual-reconstruction-tray-slot{display:contents}.visual-position-reconstruction-page .reconstruction-level-description{color:#fff;background:0 0;border:0;border-radius:0;padding:0}@media (width>=769px){.visual-position-reconstruction-page .visual-reconstruction-board-stage{transform:translate(-18px)}}@media (width<=640px){.movement-visualizer-page{--movement-mobile-board-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 430px)}.movement-board-column,.movement-board-stage,.movement-board-shell.training-board-shell,.movement-hidden-board{max-width:var(--movement-mobile-board-size);width:var(--movement-mobile-board-size);margin-left:auto;margin-right:auto}.movement-board-stage,.movement-board-shell.training-board-shell,.movement-hidden-board{height:var(--movement-mobile-board-size);max-height:var(--movement-mobile-board-size);min-height:0}.movement-visualizer-page .movement-board-stage{margin-left:auto;margin-right:calc(-1 * var(--mobile-page-padding));transform:none}}@media (width>=769px){.visual-position-reconstruction-page{--visual-reconstruction-tray-width:clamp(92px, 7vw, 108px);--visual-reconstruction-stage-gap:clamp(12px, 1.2vw, 16px);--reconstruction-drag-piece-scale:.74}.visual-position-reconstruction-page .reconstruction-layout{grid-template-columns:minmax(0, calc(var(--visual-reconstruction-board-size) + (var(--visual-reconstruction-tray-width) * 2) + (var(--visual-reconstruction-stage-gap) * 2))) minmax(280px, 320px);align-items:start;gap:clamp(20px,2.4vw,32px)}.visual-position-reconstruction-page .visual-reconstruction-board-stage{grid-template-columns:var(--visual-reconstruction-tray-width) minmax(0, var(--visual-reconstruction-board-size)) var(--visual-reconstruction-tray-width);justify-content:center;align-items:center;transform:none}.visual-position-reconstruction-page .reconstruction-board-card{justify-self:center;padding:10px}.visual-position-reconstruction-page .piece-tray.reconstruction-piece-tray{width:var(--visual-reconstruction-tray-width);background:linear-gradient(#172235fa,#0f172afa);border-color:#94a3b852;border-radius:14px;gap:10px;padding:10px 8px}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece{background:linear-gradient(#223047 0%,#182235 100%);border-color:#94a3b847;border-radius:12px;width:100%;min-width:0;padding:6px;box-shadow:inset 0 1px #ffffff14,0 8px 16px #0206172e}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece:hover{background:linear-gradient(#293952 0%,#1e2a3f 100%);border-color:#e2b71494;box-shadow:inset 0 0 0 2px #e2b71433,0 12px 22px #0206173d}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece>div{filter:drop-shadow(0 2px 1px #00000085);width:min(100%,72px)!important;height:min(100%,72px)!important}.visual-position-reconstruction-page .reconstruction-piece-tray-black .tray-piece.reconstruction-tray-piece>div{filter:drop-shadow(0 0 1px #ffffffdb)drop-shadow(0 2px 2px #000000b8)}.visual-position-reconstruction-page .tray-piece-count.reconstruction-tray-piece-count{bottom:6px;right:6px}.visual-position-reconstruction-page .visual-reconstruction-board-stage{column-gap:var(--visual-reconstruction-stage-gap);transform:none}.visual-position-reconstruction-page .visual-reconstruction-tray-slot{width:var(--visual-reconstruction-tray-width);display:block}.visual-position-reconstruction-page .visual-reconstruction-tray-slot-white{justify-self:end}.visual-position-reconstruction-page .visual-reconstruction-tray-slot-black{justify-self:start}}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap>div{border-radius:0!important}@media (width>=769px){.visual-position-reconstruction-page .reconstruction-layout{justify-content:center;align-items:start}.visual-position-reconstruction-page .reconstruction-board-card{justify-self:center;width:100%}.visual-position-reconstruction-page .reconstruction-board-zone{justify-content:center;align-items:center;gap:var(--visual-reconstruction-stage-gap);width:100%;margin-left:auto;margin-right:auto;display:flex}.visual-position-reconstruction-page .visual-reconstruction-board-area,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap{flex:0 0 var(--visual-reconstruction-board-size);max-width:var(--visual-reconstruction-board-size)}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap{overflow:hidden;border-radius:16px!important}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap>div{overflow:hidden;border-radius:inherit!important}}.shared-chessboard-frame{aspect-ratio:1;box-sizing:border-box;max-width:min(100%, var(--shared-board-max-size,720px));min-width:0;width:min(100%, var(--shared-board-size,var(--shared-board-max-size,720px)));margin-left:auto;margin-right:auto;overflow:hidden}.shared-chessboard-frame>div{aspect-ratio:1;max-width:100%}.training-board-shell.shared-chessboard-frame{--shared-board-max-size:min(70dvh, 720px);place-items:center;display:grid}.movement-board-shell.training-board-shell.shared-chessboard-frame{--shared-board-max-size:min(600px, 100%)}.piece-tracking-board.training-board-shell.shared-chessboard-frame{--shared-board-max-size:min(70dvh, 660px, 100%)}.exercise-coordinate .training-board-shell.shared-chessboard-frame{--shared-board-max-size:min(80vh, 820px, 100%)}.board-card.large-board.shared-chessboard-frame,.blindfold-board-card.shared-chessboard-frame{--shared-board-max-size:min(70vh, 660px, 100%);place-items:center;display:grid}.preview-board.shared-chessboard-frame{--shared-board-max-size:min(72vh, 700px, 100%)}.visual-reconstruction-mobile-status-row{display:none}@media (width>=769px){.visual-position-reconstruction-page{--visual-reconstruction-board-size:min(52vw, 68dvh, 620px)}.visual-position-reconstruction-page .reconstruction-layout{grid-template-columns:minmax(0, calc(var(--visual-reconstruction-board-size) + (var(--visual-reconstruction-tray-width) * 2) + (var(--visual-reconstruction-stage-gap) * 2) + 20px)) minmax(280px, 320px);justify-content:center;align-items:start;gap:clamp(20px,2.4vw,32px)}.visual-position-reconstruction-page .reconstruction-board-card{max-width:calc(var(--visual-reconstruction-board-size) + (var(--visual-reconstruction-tray-width) * 2) + (var(--visual-reconstruction-stage-gap) * 2) + 20px);justify-content:center;justify-self:center;align-items:center;width:100%;padding:10px;display:flex;overflow:hidden}.visual-position-reconstruction-page .visual-reconstruction-board-stage{align-items:center;column-gap:var(--visual-reconstruction-stage-gap);grid-template-columns:var(--visual-reconstruction-tray-width) var(--visual-reconstruction-board-size) var(--visual-reconstruction-tray-width);max-width:calc(var(--visual-reconstruction-board-size) + (var(--visual-reconstruction-tray-width) * 2) + (var(--visual-reconstruction-stage-gap) * 2));justify-content:center;width:100%;margin:0;display:grid;transform:none}.visual-position-reconstruction-page .visual-reconstruction-board-area{flex:initial;max-width:var(--visual-reconstruction-board-size);min-width:0;width:var(--visual-reconstruction-board-size);justify-items:center;margin:0;display:grid;transform:none}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame{--shared-board-size:var(--visual-reconstruction-board-size);--shared-board-max-size:var(--visual-reconstruction-board-size);flex:initial;height:auto;max-width:var(--visual-reconstruction-board-size);width:var(--visual-reconstruction-board-size);overflow:hidden;border-radius:16px!important}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame>div{overflow:hidden;border-radius:inherit!important;width:100%!important;height:100%!important}}.visual-reconstruction-mobile-start-action{display:none}@media (width<=768px){.board-shell,.chessboard-shell,.exercise-board-shell,.shared-chessboard-frame{--mobile-chessboard-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 430px, 54dvh);--board-size:var(--mobile-chessboard-size);--board-square-size:calc(var(--board-size) / 8);aspect-ratio:1;box-sizing:border-box;min-width:0;max-width:min(100%,430px);height:auto;width:var(--mobile-chessboard-size);flex-shrink:0;margin:0 auto;position:relative;overflow:hidden}.board-shell .board,.board-shell .chessboard,.board-shell canvas,.board-shell svg,.chessboard-shell .board,.chessboard-shell .chessboard,.chessboard-shell canvas,.chessboard-shell svg,.exercise-board-shell .board,.exercise-board-shell .chessboard,.exercise-board-shell canvas,.exercise-board-shell svg,.shared-chessboard-frame>div,.shared-chessboard-frame .chess-board,.shared-chessboard-frame .board,.shared-chessboard-frame canvas,.shared-chessboard-frame svg{aspect-ratio:1;max-width:100%;max-height:100%;width:100%!important;height:100%!important}.training-board-shell.shared-chessboard-frame,.movement-board-shell.training-board-shell.shared-chessboard-frame,.piece-tracking-board.training-board-shell.shared-chessboard-frame,.exercise-coordinate .training-board-shell.shared-chessboard-frame,.board-card.large-board.shared-chessboard-frame,.blindfold-board-card.shared-chessboard-frame,.preview-board.shared-chessboard-frame{--shared-board-max-size:var(--mobile-chessboard-size);--shared-board-size:var(--mobile-chessboard-size);max-width:min(100%,430px);height:auto;width:var(--mobile-chessboard-size)}.movement-hidden-board,.piece-tracking-hidden-board,.hidden-board-placeholder,.hidden-board-message{max-width:min(100%,430px)}.active-game-layout{--board-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 430px, 54dvh)}}@media (width<=640px){.shared-chessboard-frame,.training-board-shell.shared-chessboard-frame,.movement-board-shell.training-board-shell.shared-chessboard-frame,.piece-tracking-board.training-board-shell.shared-chessboard-frame,.exercise-coordinate .training-board-shell.shared-chessboard-frame,.board-card.large-board.shared-chessboard-frame,.blindfold-board-card.shared-chessboard-frame,.preview-board.shared-chessboard-frame{--mobile-chessboard-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 430px, 54dvh);--board-size:var(--mobile-chessboard-size);--board-square-size:calc(var(--board-size) / 8);--shared-board-size:var(--mobile-chessboard-size);--shared-board-max-size:var(--mobile-chessboard-size);aspect-ratio:1;box-shadow:none;max-width:min(100%,430px);height:auto;width:var(--mobile-chessboard-size);margin:0 auto;padding:0;border-radius:0!important;overflow:hidden!important}.shared-chessboard-frame>div,.shared-chessboard-frame [id$=-board],.shared-chessboard-frame .chess-board,.shared-chessboard-frame .board,.shared-chessboard-frame canvas,.shared-chessboard-frame svg{aspect-ratio:1;border-radius:0!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;overflow:hidden!important}.shared-chessboard-frame [data-piece]{box-sizing:border-box;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:3%!important}}@media (width<=768px){.visual-position-reconstruction-page.training-simple-page,.visual-position-reconstruction-page.exercise-page,.visual-position-reconstruction-page.reconstruction-page{--visual-reconstruction-phone-card-max:420px;--visual-reconstruction-card-padding:14px;--visual-reconstruction-board-size:min(calc(100vw - 52px), 400px, 54dvh);--visual-reconstruction-mobile-square-size:calc(var(--visual-reconstruction-board-size) / 8);overflow-x:clip}.visual-position-reconstruction-page .reconstruction-layout{max-width:min(100%, var(--visual-reconstruction-phone-card-max));flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;width:100%;margin-left:auto;margin-right:auto;display:flex;overflow:visible}.visual-position-reconstruction-page .reconstruction-board-card{max-width:min(100%, calc(var(--visual-reconstruction-board-size) + (2 * var(--visual-reconstruction-card-padding)) + 2px));padding:var(--visual-reconstruction-card-padding);background:#0f172ac7;border:1px solid #94a3b84d;border-radius:18px;flex-direction:column;justify-self:center;align-items:center;gap:14px;width:100%;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 18px 38px #02061742}.visual-position-reconstruction-page .visual-reconstruction-board-stage,.visual-position-reconstruction-page .reconstruction-board-zone{max-width:var(--visual-reconstruction-board-size);flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;margin:0 auto;display:flex;overflow:visible}.visual-position-reconstruction-page .piece-tray-placeholder{display:none!important}.visual-position-reconstruction-page .visual-reconstruction-board-area{max-width:var(--visual-reconstruction-board-size);width:var(--visual-reconstruction-board-size);flex:none;order:1;justify-items:center;margin:0 auto;display:grid;overflow:visible}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame{--board-size:var(--visual-reconstruction-board-size);--board-square-size:var(--visual-reconstruction-mobile-square-size);--shared-board-size:var(--visual-reconstruction-board-size);--shared-board-max-size:var(--visual-reconstruction-board-size);aspect-ratio:1;height:auto;max-width:var(--visual-reconstruction-board-size);width:var(--visual-reconstruction-board-size);flex:none;margin:0 auto;overflow:hidden;border-radius:12px!important}.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions,.visual-position-reconstruction-page .visual-reconstruction-mobile-start-action,.visual-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs,.visual-position-reconstruction-page .visual-reconstruction-tray-slot,.visual-position-reconstruction-page .visual-reconstruction-mobile-info-drawer,.visual-position-reconstruction-page .reconstruction-score-grid{max-width:var(--visual-reconstruction-board-size);width:100%;margin-left:auto;margin-right:auto;overflow:visible}.visual-position-reconstruction-page.training-simple-page,.visual-position-reconstruction-page.exercise-page,.visual-position-reconstruction-page.reconstruction-page,.visual-position-reconstruction-page.visual-reconstruction-page{--visual-reconstruction-card-padding:14px;--visual-reconstruction-board-size:min(calc(100vw - (2 * var(--mobile-page-padding,14px)) - (2 * var(--visual-reconstruction-card-padding)) - 4px), 400px, 54dvh);--visual-reconstruction-mobile-square-size:calc(var(--visual-reconstruction-board-size) / 8);--reconstruction-drag-piece-scale:1.02;padding:8px var(--mobile-page-padding,14px) calc(var(--mobile-safe-bottom,0px) + 14px);gap:10px;width:100%;overflow-x:clip}.visual-position-reconstruction-page .reconstruction-title-row.active-session-header,.visual-position-reconstruction-page .reconstruction-meta-row.mobile-session-chip-row{display:none}.visual-position-reconstruction-page .reconstruction-layout,.visual-position-reconstruction-page .reconstruction-board-card,.visual-position-reconstruction-page .reconstruction-board-zone,.visual-position-reconstruction-page .visual-reconstruction-board-stage,.visual-position-reconstruction-page .visual-reconstruction-board-area,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap,.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions,.visual-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs,.visual-position-reconstruction-page .visual-reconstruction-tray-slot,.visual-position-reconstruction-page .visual-reconstruction-mobile-start-action,.visual-position-reconstruction-page .visual-reconstruction-mobile-info-drawer,.visual-position-reconstruction-page .reconstruction-score-grid{box-sizing:border-box;min-width:0;transform:none}.visual-position-reconstruction-page .reconstruction-layout{flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;width:100%;display:flex;overflow-x:clip}.visual-position-reconstruction-page .reconstruction-board-card{max-width:min(100%, calc(var(--visual-reconstruction-board-size) + (2 * var(--visual-reconstruction-card-padding)) + 2px));padding:var(--visual-reconstruction-card-padding);background:#0f172ac7;border:1px solid #94a3b84d;border-radius:18px;flex-direction:column;align-items:center;gap:12px;width:100%;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 18px 38px #02061742}.visual-position-reconstruction-page .reconstruction-board-card>*{box-sizing:border-box;max-width:var(--visual-reconstruction-board-size);margin-left:auto;margin-right:auto}.visual-position-reconstruction-page .visual-reconstruction-mobile-status-row{order:0;justify-content:space-between;align-items:center;gap:12px;width:100%;margin:0;padding:0;display:flex}.visual-position-reconstruction-page .visual-reconstruction-mobile-status-row>span:first-child{color:#e2e8f0;letter-spacing:.12em;text-transform:uppercase;flex:auto;min-width:0;font-size:.9rem;font-weight:950;line-height:1.1}.visual-position-reconstruction-page .reconstruction-mobile-card-timer{box-shadow:none;color:#f8fafc;background:#0f172ab8;border:1px solid #94a3b857;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 14px;line-height:1;display:inline-flex;position:static}.visual-position-reconstruction-page .reconstruction-mobile-card-timer strong{color:#f8fafc;letter-spacing:-.03em;font-size:clamp(1.15rem,5vw,1.35rem);line-height:1}.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions{max-width:var(--visual-reconstruction-board-size);order:0;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:10px;width:100%;margin:12px auto 0;display:grid;position:static}.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions .primary-button,.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions .secondary-button,.visual-position-reconstruction-page .visual-reconstruction-mobile-start-action .primary-button{border-radius:12px;width:100%;min-width:0;min-height:48px;padding:10px 12px}.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions .primary-button,.visual-position-reconstruction-page .visual-reconstruction-mobile-start-action .primary-button{color:#101827;background:#e2b714;border-color:#e2b714}.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions .secondary-button{color:#e2e8f0;background:#0f172ab8;border-color:#94a3b857}.visual-position-reconstruction-page .reconstruction-board-zone,.visual-position-reconstruction-page .visual-reconstruction-board-stage{max-width:var(--visual-reconstruction-board-size);flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;margin:0 auto;display:flex;overflow:visible}.visual-position-reconstruction-page .visual-reconstruction-board-area{max-width:var(--visual-reconstruction-board-size);width:var(--visual-reconstruction-board-size);flex:none;order:1;align-self:center;justify-items:center;margin:0 auto;display:grid;overflow:visible}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame{--board-size:var(--visual-reconstruction-board-size);--board-square-size:var(--visual-reconstruction-mobile-square-size);--shared-board-size:var(--visual-reconstruction-board-size);--shared-board-max-size:var(--visual-reconstruction-board-size);aspect-ratio:1;height:auto;max-width:var(--visual-reconstruction-board-size);width:var(--visual-reconstruction-board-size);flex:none;align-self:center;margin:0 auto;overflow:hidden;border-radius:12px!important}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame>div,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame .chess-board,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame .board,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame canvas,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame svg{aspect-ratio:1;max-width:100%;max-height:100%;border-radius:inherit!important;width:100%!important;height:100%!important}.visual-position-reconstruction-page .visual-reconstruction-mobile-start-action{max-width:var(--visual-reconstruction-board-size);order:2;width:100%;margin:0 auto;display:block}.visual-position-reconstruction-page .reconstruction-side-panel{box-shadow:none;background:0 0;border:0;padding:0;display:contents}.visual-position-reconstruction-page .reconstruction-side-panel h2,.visual-position-reconstruction-page .reconstruction-side-panel>p,.visual-position-reconstruction-page .visual-reconstruction-side-panel--memorize .mobile-primary-actions,.visual-position-reconstruction-page .visual-reconstruction-side-panel--reconstruct .mobile-reconstruction-actions{display:none}.visual-position-reconstruction-page .visual-reconstruction-side-panel--review .mobile-reconstruction-actions{box-shadow:none;max-width:var(--visual-reconstruction-board-size);background:0 0;border:0;grid-template-columns:1fr;gap:10px;width:100%;margin:0 auto;padding:0;display:grid;position:static}.visual-position-reconstruction-page .visual-reconstruction-side-panel--review .mobile-reconstruction-actions .primary-button,.visual-position-reconstruction-page .visual-reconstruction-side-panel--review .mobile-reconstruction-actions .secondary-button{order:initial;grid-column:auto;width:100%;min-height:48px}.visual-position-reconstruction-page .reconstruction-score-grid{max-width:var(--visual-reconstruction-board-size);order:2;width:100%;margin:0 auto;overflow:visible}.visual-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs{max-width:var(--visual-reconstruction-board-size);background:#0f172ac7;border:1px solid #94a3b84d;border-radius:14px;order:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;margin:0 auto;padding:4px;display:grid}.visual-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs button{color:#e2e8f0;background:0 0;border:0;border-radius:10px;min-height:42px;padding:8px 10px;font-size:clamp(.94rem,4.2vw,1.05rem);font-weight:900}.visual-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs button.selected{color:#e2b714;background:#e2b71429;box-shadow:inset 0 0 0 1px #e2b714}.visual-position-reconstruction-page .visual-reconstruction-tray-slot{max-width:var(--visual-reconstruction-board-size);order:3;width:100%;margin:0 auto;display:none;overflow:visible}.visual-position-reconstruction-page .visual-reconstruction-tray-slot-active{display:block}.visual-position-reconstruction-page .piece-tray.reconstruction-piece-tray{background:0 0;border:0;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;display:flex;overflow:visible}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece{height:clamp(54px, calc(var(--visual-reconstruction-board-size) / 6.2), 66px);border-radius:12px;flex:1 1 0;min-width:0;max-width:68px;min-height:54px;padding:4px}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece>div,.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece svg,.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece [data-piece],.visual-position-reconstruction-page .reconstruction-board-card [data-piece],.visual-position-reconstruction-page .reconstruction-board-card [data-piece] svg,.visual-position-reconstruction-page .reconstruction-board-card [class*=drag] [data-piece],.visual-position-reconstruction-page .reconstruction-board-card [class*=drag] [data-piece] svg{height:var(--visual-reconstruction-mobile-square-size)!important;max-height:var(--visual-reconstruction-mobile-square-size)!important;max-width:var(--visual-reconstruction-mobile-square-size)!important;width:var(--visual-reconstruction-mobile-square-size)!important}.visual-position-reconstruction-page .tray-piece-count.reconstruction-tray-piece-count{min-width:24px;padding:1px 6px;font-size:.72rem;top:auto;bottom:4px;right:4px;transform:none}.visual-position-reconstruction-page .visual-reconstruction-mobile-info-drawer{max-width:var(--visual-reconstruction-board-size);z-index:auto;background:#0f172ac7;border:1px solid #94a3b84d;border-radius:18px;order:4;width:100%;margin:0 auto;display:block;position:static;bottom:auto;left:auto;right:auto;box-shadow:0 12px 26px #0206172e}.visual-position-reconstruction-page .visual-reconstruction-mobile-info-drawer summary{color:#e2e8f0;cursor:pointer;letter-spacing:0;text-align:left;text-transform:none;justify-content:space-between;align-items:center;min-height:52px;padding:0 16px;font-size:1rem;font-weight:900;list-style:none;display:flex}.visual-position-reconstruction-page .visual-reconstruction-mobile-info-drawer summary:after{content:"";border-bottom:3px solid;border-right:3px solid;width:10px;height:10px;transform:rotate(45deg)translateY(-2px)}.visual-position-reconstruction-page .visual-reconstruction-mobile-info-drawer[open] summary:after{transform:rotate(225deg)translateY(-2px)}.visual-position-reconstruction-page .visual-reconstruction-mobile-info-drawer summary::-webkit-details-marker{display:none}.visual-position-reconstruction-page .visual-reconstruction-mobile-info-content{color:#cbd5e1;border-top:1px solid #94a3b83d;gap:8px;max-height:min(40dvh,280px);padding:12px 16px 14px;font-size:.86rem;display:grid;overflow-y:auto}}@media (width<=640px){.visual-position-reconstruction-page.training-simple-page,.visual-position-reconstruction-page.exercise-page,.visual-position-reconstruction-page.reconstruction-page,.visual-position-reconstruction-page.visual-reconstruction-page{--visual-reconstruction-card-padding:0px;--visual-reconstruction-board-size:min(100%, 430px, 54dvh);--visual-reconstruction-mobile-square-size:calc(var(--visual-reconstruction-board-size) / 8)}.visual-position-reconstruction-page .reconstruction-board-card{gap:0;max-width:min(100%,430px);padding-left:0;padding-right:0}.visual-position-reconstruction-page .reconstruction-board-card>*{max-width:100%}.visual-position-reconstruction-page .reconstruction-board-zone,.visual-position-reconstruction-page .visual-reconstruction-board-stage{gap:0;width:100%;max-width:100%}.visual-position-reconstruction-page .visual-reconstruction-board-area,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap{justify-self:stretch;width:100%;max-width:100%}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame{--board-size:100%;--shared-board-size:100%;--shared-board-max-size:100%;width:100%;max-width:100%}.visual-position-reconstruction-page .visual-reconstruction-mobile-status-row,.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions,.visual-position-reconstruction-page .visual-reconstruction-mobile-start-action,.visual-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs,.visual-position-reconstruction-page .visual-reconstruction-tray-slot,.visual-position-reconstruction-page .visual-reconstruction-mobile-info-drawer,.visual-position-reconstruction-page .reconstruction-score-grid{max-width:calc(100% - 28px)}.visual-position-reconstruction-page .visual-reconstruction-mobile-status-row{margin-top:14px;margin-bottom:12px}.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions,.visual-position-reconstruction-page .visual-reconstruction-mobile-start-action,.visual-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs,.visual-position-reconstruction-page .visual-reconstruction-tray-slot,.visual-position-reconstruction-page .visual-reconstruction-mobile-info-drawer,.visual-position-reconstruction-page .reconstruction-score-grid{margin-top:12px}}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap>div,.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board{border-radius:0!important}.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board{overflow:hidden}.visual-position-reconstruction-page .reconstruction-board-card [data-piece],.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece [data-piece]{box-sizing:border-box;justify-content:center;align-items:center;min-width:0;min-height:0;padding:4%;display:flex;width:100%!important;height:100%!important}.visual-position-reconstruction-page .reconstruction-board-card [data-piece] svg,.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece [data-piece] svg{object-fit:contain;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}body [id^=VisualPieceReconstructionProvider-piece-][data-piece][style*=grabbing]{box-sizing:border-box;justify-content:center;align-items:center;display:flex;transform-origin:50%!important;width:clamp(58px,7.25vw,78px)!important;height:clamp(58px,7.25vw,78px)!important;padding:3%!important;transform:scale(1)!important}body [id^=VisualPieceReconstructionProvider-piece-][data-piece][style*=grabbing] svg{object-fit:contain;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}@media (width<=640px){.visual-position-reconstruction-page .reconstruction-board-card{padding-top:14px;padding-bottom:14px}.visual-position-reconstruction-page .visual-reconstruction-mobile-top-actions{margin-top:0;margin-bottom:12px}.visual-position-reconstruction-page .visual-reconstruction-mobile-start-action{margin-top:12px;margin-bottom:14px}.visual-position-reconstruction-page .visual-reconstruction-board-area,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap{border-radius:0!important}.visual-position-reconstruction-page .reconstruction-board-card [data-piece]{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece [data-piece]{width:min(100%,54px)!important;max-width:54px!important;height:min(100%,54px)!important;max-height:54px!important}body [id^=VisualPieceReconstructionProvider-piece-][data-piece][style*=grabbing]{width:clamp(42px,12.5vw,54px)!important;height:clamp(42px,12.5vw,54px)!important}}.visual-position-reconstruction-page{--visual-reconstruction-drag-piece-size:clamp(52px, calc(var(--visual-reconstruction-board-size) / 8), 78px)}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame>div,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame .chess-board,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame .board,.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board,.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board>div{border-radius:0!important}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame,.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board{overflow:hidden!important}.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board [data-piece]{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:3%!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=VisualPieceReconstructionProvider-piece-]){height:var(--visual-reconstruction-drag-piece-size,72px)!important;width:var(--visual-reconstruction-drag-piece-size,72px)!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=VisualPieceReconstructionProvider-piece-]) [id^=VisualPieceReconstructionProvider-piece-][data-piece]{box-sizing:border-box;justify-content:center;align-items:center;display:flex;transform-origin:50%!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:3%!important;transform:scale(1)!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=VisualPieceReconstructionProvider-piece-]) [id^=VisualPieceReconstructionProvider-piece-][data-piece] svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}@media (width<=640px){.visual-position-reconstruction-page{--visual-reconstruction-drag-piece-size:clamp(44px, calc(var(--visual-reconstruction-board-size) / 8), 56px)}.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame>div,.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board,.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board>div{border-radius:0!important}}@media (width>=641px){.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame,.visual-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame>div,.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board,.visual-position-reconstruction-page #VisualPieceReconstructionProvider-board>div{border-radius:16px!important}}@media (width<=640px){.visual-position-reconstruction-page{--visual-reconstruction-mobile-piece-size:clamp(48px, calc(var(--visual-reconstruction-board-size) / 8), 60px)}.visual-position-reconstruction-page .visual-reconstruction-tray-slot,.visual-position-reconstruction-page .piece-tray.reconstruction-piece-tray{overflow:visible}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece{flex:0 0 var(--visual-reconstruction-mobile-piece-size);height:var(--visual-reconstruction-mobile-piece-size);max-width:none;width:var(--visual-reconstruction-mobile-piece-size);padding:0}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece>div,.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece [data-piece],.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece svg{height:var(--visual-reconstruction-mobile-piece-size)!important;max-height:var(--visual-reconstruction-mobile-piece-size)!important;max-width:var(--visual-reconstruction-mobile-piece-size)!important;width:var(--visual-reconstruction-mobile-piece-size)!important}body [id^=VisualPieceReconstructionProvider-piece-][data-piece][style*=grabbing]{width:clamp(48px,12.5vw - 4px,60px)!important;height:clamp(48px,12.5vw - 4px,60px)!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=VisualPieceReconstructionProvider-piece-]){width:clamp(48px,12.5vw - 4px,60px)!important;height:clamp(48px,12.5vw - 4px,60px)!important}.visual-position-reconstruction-page{--visual-reconstruction-mobile-tray-gap:4px;--visual-reconstruction-mobile-piece-size:clamp(42px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6), 56px)}.visual-position-reconstruction-page .visual-reconstruction-tray-slot{max-width:calc(100% - 6px);margin-left:0;margin-right:auto;overflow:hidden}.visual-position-reconstruction-page .piece-tray.reconstruction-piece-tray{gap:var(--visual-reconstruction-mobile-tray-gap);justify-content:flex-start;width:100%;overflow:hidden}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece{flex:0 0 var(--visual-reconstruction-mobile-piece-size);height:var(--visual-reconstruction-mobile-piece-size);min-height:var(--visual-reconstruction-mobile-piece-size);width:var(--visual-reconstruction-mobile-piece-size)}}.piece-tracking-input-panel{grid-template-columns:92px minmax(0,1fr);margin-top:0}.piece-tracking-input-panel .move-entry-bar{min-height:70px}.piece-tracking-input-panel .input-mode-buttons button{min-height:36px;padding:8px 10px}.server-record-button{justify-self:center;width:64px;height:64px;min-height:64px;padding:0;font-size:1.55rem;transition:box-shadow .16s,transform .16s,filter .16s}.server-record-button:hover:not(:disabled),.server-record-button:focus-visible{transform:translateY(-1px)scale(1.04);box-shadow:0 0 0 7px #e2b71429,0 16px 30px #e2b71447}.server-record-button:active:not(:disabled){transform:scale(.96)}.server-record-button[aria-pressed=true]{animation:1s ease-in-out infinite alternate record-button-pulse}.server-record-button[aria-pressed=true] span[aria-hidden=true]{font-size:1.2rem}.record-button-label{white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@keyframes record-button-pulse{0%{box-shadow:0 0 #f8717147,0 12px 24px #ef444438}to{box-shadow:0 0 0 10px #f8717100,0 16px 30px #ef444452}}@media (width<=640px){.piece-tracking-page.active-piece-tracking-session{padding-bottom:calc(var(--mobile-safe-bottom) + 112px);padding-left:0;padding-right:0}.piece-tracking-page .piece-tracking-layout{flex-direction:column;align-items:stretch;gap:10px;width:100%;display:flex}.piece-tracking-page .piece-tracking-board-and-input{display:contents}.piece-tracking-page .piece-tracking-mobile-board-stage{order:0;width:100%}.piece-tracking-page .piece-tracking-board.training-board-shell,.piece-tracking-page .piece-tracking-hidden-board{width:min(100vw,430px,54dvh);max-width:min(100vw,430px);margin-left:auto;margin-right:auto;padding:0}.piece-tracking-page .piece-tracking-hidden-board{min-height:min(100vw,430px,54dvh);padding:18px}.piece-tracking-page .piece-tracking-prompt-panel{margin-left:var(--mobile-page-padding);margin-right:var(--mobile-page-padding);border-radius:16px;order:2;width:auto}.piece-tracking-page .piece-tracking-prompt-panel .reconstruction-action-stack{grid-template-columns:1fr 1fr}.piece-tracking-page .piece-tracking-active-feedback{margin-left:var(--mobile-page-padding);margin-right:var(--mobile-page-padding);order:1;width:auto}.piece-tracking-page .piece-tracking-mobile-action-panel{bottom:var(--mobile-safe-bottom);max-width:none;padding:10px var(--mobile-page-padding);z-index:20;background:#101827fa;border:1px solid #94a3b85c;border-radius:22px 22px 0 0;order:3;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;margin:0;position:sticky;left:0;right:0;box-shadow:0 -18px 36px #00000057}.piece-tracking-page .piece-tracking-input-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.piece-tracking-page .piece-tracking-answer-bar{border-radius:16px;min-height:62px;padding:6px}.piece-tracking-page .server-record-button{width:76px;height:76px;min-height:76px}.piece-tracking-page .mobile-helper-copy{display:none!important}.piece-tracking-page.active-piece-tracking-session{flex-direction:column;display:flex}.piece-tracking-page.active-piece-tracking-session .piece-tracking-layout{order:1}.piece-tracking-page .piece-tracking-title-row.active-session-header{margin:8px var(--mobile-page-padding) 0;background:#0f172abd;border:1px solid #94a3b842;border-radius:16px;order:2;width:auto;padding:10px}.piece-tracking-page .piece-tracking-title-row.active-session-header .mobile-session-chip-row{justify-content:center}.piece-tracking-page .piece-tracking-board.training-board-shell.shared-chessboard-frame{--mobile-chessboard-size:min(calc(100vw - (2 * var(--mobile-page-padding))), 390px);--board-size:var(--mobile-chessboard-size);--board-square-size:calc(var(--board-size) / 8);--shared-board-size:var(--mobile-chessboard-size);--shared-board-max-size:var(--mobile-chessboard-size);max-width:var(--mobile-chessboard-size);width:var(--mobile-chessboard-size)}.piece-tracking-page .piece-tracking-board.training-board-shell,.piece-tracking-page .piece-tracking-hidden-board{max-width:min(calc(100vw - (2 * var(--mobile-page-padding))), 390px);width:min(calc(100vw - (2 * var(--mobile-page-padding))), 390px)}.piece-tracking-page .piece-tracking-hidden-board{min-height:min(calc(100vw - (2 * var(--mobile-page-padding))), 390px)}}.voice-mic-button{color:#101827;background:linear-gradient(135deg,#f4cc31,#e2b714);border:1px solid #ffec99cc;border-radius:999px;flex:none;justify-content:center;place-self:center;align-items:center;width:52px;min-width:52px;height:52px;min-height:52px;padding:0;transition:background .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s;display:inline-flex;position:relative;box-shadow:0 10px 22px #04091252,inset 0 1px #ffffff52}.voice-mic-button:hover:not(:disabled),.voice-mic-button:focus-visible{background:linear-gradient(135deg,#ffe27a,#e2b714);transform:translateY(-1px);box-shadow:0 0 0 6px #e2b71429,0 14px 26px #04091257}.voice-mic-button:active:not(:disabled){transform:scale(.96)}.voice-mic-button:disabled{color:#dbe4ef;opacity:.72;background:#64748b;border-color:#cbd5e17a}.voice-mic-button-listening:not(.voice-mic-button-recording){box-shadow:0 0 0 5px #22c55e26,0 0 22px #22c55e47,0 10px 22px #04091252}.voice-mic-button-recording{color:#fff;background:linear-gradient(135deg,#ef4444,#b91c1c);border-color:#fecacac7;box-shadow:0 0 0 6px #ef44442e,0 0 24px #ef444442,0 10px 22px #04091252}.voice-mic-button-processing{background:linear-gradient(135deg,#e2b714,#22c55e)}.voice-mic-button-error{color:#fff;background:linear-gradient(135deg,#fb7185,#be123c);border-color:#fecdd3cc}.voice-mic-button-icon{fill:currentColor;width:25px;height:25px;display:block}.mobile-critical-mic-button{width:46px;min-width:46px;height:46px;min-height:46px}@media (width<=640px){.voice-mic-button{width:48px;min-width:48px;height:48px;min-height:48px}.voice-mic-button-icon{width:23px;height:23px}}@media (prefers-reduced-motion:reduce){.voice-mic-button,.voice-mic-button:hover:not(:disabled),.voice-mic-button:focus-visible{transition:none;transform:none}}.verbal-position-reconstruction-page{--visual-reconstruction-board-size:min(58vw, 68dvh, 620px);--visual-reconstruction-square-size:calc(var(--visual-reconstruction-board-size) / 8);--visual-reconstruction-mobile-square-size:calc(var(--visual-reconstruction-board-size) / 8);--visual-reconstruction-drag-piece-size:clamp(52px, calc(var(--visual-reconstruction-board-size) / 8), 78px)}.verbal-position-reconstruction-page .verbal-hidden-board.shared-chessboard-frame,.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame,.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame>div,.verbal-position-reconstruction-page #VerbalPositionReconstructionProvider-board,.verbal-position-reconstruction-page #VerbalPositionReconstructionProvider-board>div,.verbal-position-reconstruction-page #VerbalPositionReconstructionBoard-board,.verbal-position-reconstruction-page #VerbalPositionReconstructionBoard-board>div{border-radius:0!important}.verbal-position-reconstruction-page .verbal-hidden-board.shared-chessboard-frame{--board-size:var(--visual-reconstruction-board-size);--shared-board-size:var(--visual-reconstruction-board-size);--shared-board-max-size:var(--visual-reconstruction-board-size);box-shadow:none;color:#e5edf8;height:auto;max-height:var(--visual-reconstruction-board-size);max-width:var(--visual-reconstruction-board-size);min-height:0;width:var(--visual-reconstruction-board-size);background:0 0;border:2px solid #e2b714b8;justify-self:center;overflow:hidden}.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-hidden-piece-list{text-align:center;max-width:calc(100% - 20px)}.verbal-position-reconstruction-page .verbal-hidden-board.shared-chessboard-frame{place-items:center;display:grid;position:relative}.verbal-position-reconstruction-page .verbal-hidden-board>strong{color:#fff;letter-spacing:-.03em;text-shadow:0 2px 12px #020617bf;white-space:nowrap;z-index:3;background:#0f172ac2;border:1px solid #e2e8f02e;border-radius:999px;padding:.28em .78em;font-size:clamp(1.15rem,2.1vw,1.65rem);line-height:1;position:absolute;top:clamp(14px,2.6vw,24px);left:50%;transform:translate(-50%)}.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-hidden-piece-list{box-sizing:border-box;z-index:1;background:0 0;border:0;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);place-self:stretch stretch;gap:0;width:100%;max-width:none;height:100%;max-height:none;padding:0 clamp(12px,2.5vw,26px);display:grid;overflow:visible;transform:translateY(0)}.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-hidden-piece-list p{text-align:center;justify-content:center;align-items:center;min-height:0;line-height:1.18;display:flex}.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-hidden-piece-list p:first-child,.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-hidden-piece-list p:last-child{transform:none}.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-piece-divider{width:86%;margin:0 auto}.verbal-reconstruction-mobile-read-actions,.verbal-reconstruction-mobile-reconstruct-action,.verbal-reconstruction-tools-drawer{display:none}.verbal-reconstruction-read-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.verbal-reconstruction-previous-button,.verbal-reconstruction-next-button{min-height:48px;font-size:1rem;line-height:1.1}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=VerbalPositionReconstructionProvider-piece-]){height:var(--visual-reconstruction-drag-piece-size,72px)!important;width:var(--visual-reconstruction-drag-piece-size,72px)!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=VerbalPositionReconstructionProvider-piece-]) [id^=VerbalPositionReconstructionProvider-piece-][data-piece]{box-sizing:border-box;justify-content:center;align-items:center;display:flex;transform-origin:50%!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:3%!important;transform:scale(1)!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=VerbalPositionReconstructionProvider-piece-]) [id^=VerbalPositionReconstructionProvider-piece-][data-piece] svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}@media (width>=769px){.verbal-position-reconstruction-page .verbal-hidden-board.shared-chessboard-frame,.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame,.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame>div,.verbal-position-reconstruction-page #VerbalPositionReconstructionProvider-board,.verbal-position-reconstruction-page #VerbalPositionReconstructionProvider-board>div,.verbal-position-reconstruction-page #VerbalPositionReconstructionBoard-board,.verbal-position-reconstruction-page #VerbalPositionReconstructionBoard-board>div{border-radius:12px!important}}@media (width<=768px){.verbal-position-reconstruction-page.training-simple-page,.verbal-position-reconstruction-page.exercise-page,.verbal-position-reconstruction-page.reconstruction-page,.verbal-position-reconstruction-page.visual-reconstruction-page{--visual-reconstruction-card-padding:0px;--visual-reconstruction-board-size:min(calc(100vw - (2 * var(--mobile-page-padding,14px)) - 34px), 400px);--visual-reconstruction-mobile-square-size:calc(var(--visual-reconstruction-board-size) / 8);--visual-reconstruction-drag-piece-size:clamp(44px, calc(var(--visual-reconstruction-board-size) / 8), 56px);padding:8px var(--mobile-page-padding,14px) calc(var(--mobile-safe-bottom,0px) + 14px);gap:10px;width:100%;overflow-x:clip}.verbal-position-reconstruction-page .reconstruction-title-row.active-session-header,.verbal-position-reconstruction-page .reconstruction-meta-row.mobile-session-chip-row{display:none}.verbal-position-reconstruction-page .reconstruction-layout,.verbal-position-reconstruction-page .reconstruction-board-card,.verbal-position-reconstruction-page .reconstruction-board-zone,.verbal-position-reconstruction-page .visual-reconstruction-board-stage,.verbal-position-reconstruction-page .visual-reconstruction-board-area,.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap,.verbal-position-reconstruction-page .verbal-hidden-board,.verbal-position-reconstruction-page .verbal-reconstruction-mobile-status-row,.verbal-position-reconstruction-page .verbal-reconstruction-mobile-read-actions,.verbal-position-reconstruction-page .verbal-reconstruction-mobile-reconstruct-action,.verbal-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs,.verbal-position-reconstruction-page .visual-reconstruction-tray-slot,.verbal-position-reconstruction-page .verbal-reconstruction-tools-drawer,.verbal-position-reconstruction-page .reconstruction-score-grid{box-sizing:border-box;min-width:0;transform:none}.verbal-position-reconstruction-page .reconstruction-layout{flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;width:100%;display:flex;overflow-x:clip}.verbal-position-reconstruction-page .reconstruction-board-card{background:#0f172ad1;border:1px solid #e2b71447;border-radius:20px;flex-direction:column;align-items:center;gap:0;width:100%;max-width:min(100%,430px);margin:0 auto;padding:10px 0 12px;display:flex;overflow:visible;box-shadow:0 14px 30px #02061738}.verbal-position-reconstruction-page .reconstruction-board-card>*{max-width:var(--visual-reconstruction-board-size);margin-left:auto;margin-right:auto}.verbal-position-reconstruction-page .reconstruction-level-description{color:#dbe4f0;background:0 0;border:0;border-radius:0;padding:0}.verbal-position-reconstruction-page .reconstruction-board-card--reconstruct{padding-top:0}.verbal-position-reconstruction-page .reconstruction-board-card--listen{gap:8px}.verbal-position-reconstruction-page .verbal-reconstruction-mobile-top-actions{order:0;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:10px;width:100%;max-width:calc(100% - 28px);margin:0 auto 12px;display:grid}.verbal-position-reconstruction-page .verbal-reconstruction-mobile-top-actions .primary-button,.verbal-position-reconstruction-page .verbal-reconstruction-mobile-top-actions .secondary-button{border-radius:12px;width:100%;min-width:0;min-height:48px;padding:10px 12px}.verbal-position-reconstruction-page .verbal-reconstruction-mobile-top-actions .primary-button{color:#101827;background:#e2b714;border-color:#e2b714}.verbal-position-reconstruction-page .verbal-reconstruction-mobile-top-actions .secondary-button{color:#e2e8f0;background:#0f172ab8;border-color:#94a3b857}.verbal-position-reconstruction-page .verbal-reconstruction-mobile-status-row{width:min(82%, calc(var(--visual-reconstruction-board-size) - 28px));justify-content:space-between;align-items:center;gap:12px;margin:18px auto 8px;padding:0;display:flex}.verbal-position-reconstruction-page .verbal-reconstruction-mobile-status-row>span:first-child{color:#e2e8f0;letter-spacing:.12em;text-transform:uppercase;flex:auto;min-width:0;font-size:.9rem;font-weight:950;line-height:1.1}.verbal-position-reconstruction-page .reconstruction-mobile-card-timer{box-shadow:none;color:#f8fafc;background:#0f172ab8;border:1px solid #94a3b857;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 14px;line-height:1;display:inline-flex;position:static}.verbal-position-reconstruction-page .reconstruction-mobile-card-timer strong{color:#f8fafc;letter-spacing:-.03em;font-size:clamp(1.15rem,5vw,1.35rem);line-height:1}.verbal-position-reconstruction-page .verbal-reconstruction-mobile-read-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(76%,300px);margin-bottom:8px;display:grid}.verbal-position-reconstruction-page .verbal-reconstruction-mobile-reconstruct-action{width:min(82%,330px);margin-top:0;display:block}.verbal-position-reconstruction-page .verbal-reconstruction-mobile-reconstruct-action .primary-button,.verbal-position-reconstruction-page .verbal-reconstruction-mobile-read-actions .secondary-button{border-radius:12px;width:100%;min-height:48px}.verbal-position-reconstruction-page .reconstruction-board-zone,.verbal-position-reconstruction-page .visual-reconstruction-board-stage{max-width:var(--visual-reconstruction-board-size);flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;margin:0 auto;display:flex;overflow:visible}.verbal-position-reconstruction-page .piece-tray-placeholder{display:none!important}.verbal-position-reconstruction-page .visual-reconstruction-board-area{max-width:var(--visual-reconstruction-board-size);width:var(--visual-reconstruction-board-size);flex:none;order:1;align-self:center;justify-items:center;margin:0 auto;display:grid;overflow:visible}.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame,.verbal-position-reconstruction-page .verbal-hidden-board.shared-chessboard-frame{--board-size:var(--visual-reconstruction-board-size);--board-square-size:var(--visual-reconstruction-mobile-square-size);--shared-board-size:var(--visual-reconstruction-board-size);--shared-board-max-size:var(--visual-reconstruction-board-size);aspect-ratio:1;height:auto;max-width:var(--visual-reconstruction-board-size);width:var(--visual-reconstruction-board-size);flex:none;align-self:center;margin:0 auto;overflow:hidden;border-radius:0!important}.verbal-position-reconstruction-page .verbal-hidden-board.shared-chessboard-frame{border:0;align-content:center;place-items:center;padding:0;display:grid;position:relative}.verbal-position-reconstruction-page .verbal-hidden-board>strong{color:#fff;letter-spacing:-.03em;text-shadow:0 2px 12px #020617bf;white-space:nowrap;z-index:3;background:#0f172ac2;border:1px solid #e2e8f02e;border-radius:999px;padding:.26em .72em;font-size:clamp(.95rem,3.6vw,1.18rem);line-height:1;position:absolute;top:12px;left:50%;transform:translate(-50%)}.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-hidden-piece-list{box-sizing:border-box;z-index:1;background:0 0;border:0;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);place-self:stretch stretch;gap:0;width:100%;max-width:none;height:100%;max-height:none;padding:0 10px;overflow:visible;transform:translateY(0)}.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-hidden-piece-list p{text-align:center;justify-content:center;align-items:center;min-height:0;font-size:clamp(.78rem,3.25vw,.96rem);line-height:1.18;display:flex}.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-hidden-piece-list p:first-child,.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-hidden-piece-list p:last-child{transform:none}.verbal-position-reconstruction-page .verbal-hidden-board .blindfold-piece-divider{width:86%;margin:0 auto}.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame>div,.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame .chess-board,.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame .board,.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame canvas,.verbal-position-reconstruction-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame svg{aspect-ratio:1;max-width:100%;max-height:100%;border-radius:0!important;width:100%!important;height:100%!important}.verbal-position-reconstruction-page .reconstruction-side-panel{box-shadow:none;background:0 0;border:0;padding:0;display:contents}.verbal-position-reconstruction-page .verbal-reconstruction-side-panel--listen,.verbal-position-reconstruction-page .verbal-reconstruction-side-panel h2,.verbal-position-reconstruction-page .verbal-reconstruction-side-panel>p{display:none}.verbal-position-reconstruction-page .verbal-reconstruction-side-panel--review .reconstruction-action-stack,.verbal-position-reconstruction-page .verbal-reconstruction-side-panel--reconstruct .reconstruction-action-stack{box-shadow:none;max-width:var(--visual-reconstruction-board-size);background:0 0;border:0;grid-template-columns:1fr;gap:10px;width:100%;margin:12px auto 0;padding:0;display:grid;position:static}.verbal-position-reconstruction-page .reconstruction-score-grid{max-width:var(--visual-reconstruction-board-size);width:100%;margin:12px auto 0;overflow:visible}.verbal-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs{max-width:var(--visual-reconstruction-board-size);background:#0f172ac7;border:1px solid #94a3b84d;border-radius:14px;order:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;margin:12px auto 0;padding:4px;display:grid}.verbal-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs button{color:#e2e8f0;background:0 0;border:0;border-radius:10px;min-height:42px;padding:8px 10px;font-size:clamp(.94rem,4.2vw,1.05rem);font-weight:900}.verbal-position-reconstruction-page .visual-reconstruction-mobile-piece-tabs button.selected{color:#e2b714;background:#e2b71429;box-shadow:inset 0 0 0 1px #e2b714}.verbal-position-reconstruction-page .visual-reconstruction-tray-slot{max-width:var(--visual-reconstruction-board-size);order:3;width:100%;margin:12px auto 0;display:none;overflow:visible}.verbal-position-reconstruction-page .visual-reconstruction-tray-slot-active{display:block}.verbal-position-reconstruction-page .piece-tray.reconstruction-piece-tray{--visual-reconstruction-mobile-tray-gap:3px;align-items:center;gap:var(--visual-reconstruction-mobile-tray-gap);background:0 0;border:0;flex-wrap:nowrap;justify-content:flex-start;width:calc(100% - 5px);padding:4px 0 8px 3px;display:flex;overflow:visible;transform:translate(-1px,2px)}.verbal-position-reconstruction-page .tray-piece.reconstruction-tray-piece{--visual-reconstruction-mobile-tray-gap:3px;flex:0 0 min(52px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6));height:min(52px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6));min-width:0;max-width:none;min-height:0;width:min(52px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6));border-radius:12px;padding:0}.verbal-position-reconstruction-page .tray-piece.reconstruction-tray-piece:nth-child(-n+3)>div{transform:translate(-2px)}.verbal-position-reconstruction-page .tray-piece.reconstruction-tray-piece>div,.verbal-position-reconstruction-page .tray-piece.reconstruction-tray-piece svg,.verbal-position-reconstruction-page .tray-piece.reconstruction-tray-piece [data-piece]{height:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important;max-height:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important;max-width:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important;width:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important}.verbal-position-reconstruction-page .reconstruction-board-card [data-piece],.verbal-position-reconstruction-page .reconstruction-board-card [data-piece] svg,.verbal-position-reconstruction-page #VerbalPositionReconstructionProvider-board [data-piece],.verbal-position-reconstruction-page #VerbalPositionReconstructionProvider-board [data-piece] svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}.verbal-position-reconstruction-page .reconstruction-board-card [data-piece],.verbal-position-reconstruction-page #VerbalPositionReconstructionProvider-board [data-piece]{padding:3%!important}.verbal-position-reconstruction-page .verbal-reconstruction-tools-drawer{max-width:var(--visual-reconstruction-board-size);background:#0f172ac7;border:1px solid #94a3b84d;border-radius:18px;width:100%;margin:12px auto 0;display:block;box-shadow:0 12px 26px #0206172e}.visual-position-reconstruction-page .visual-reconstruction-tray-slot{max-width:var(--visual-reconstruction-board-size);width:100%;margin-left:auto;margin-right:auto;overflow:visible}.visual-position-reconstruction-page .piece-tray.reconstruction-piece-tray{--visual-reconstruction-mobile-tray-gap:3px;align-items:center;gap:var(--visual-reconstruction-mobile-tray-gap);background:0 0;border:0;flex-wrap:nowrap;justify-content:flex-start;width:100%;padding:4px 3px 8px;display:flex;overflow:visible}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece{--visual-reconstruction-mobile-tray-gap:3px;flex:0 0 min(52px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6));height:min(52px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6));min-width:0;max-width:none;min-height:0;width:min(52px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6));border-radius:12px;padding:0}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece>div,.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece svg,.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece [data-piece]{height:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important;max-height:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important;max-width:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important;width:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important}}@media (width>=769px){.visual-position-reconstruction-page{--visual-reconstruction-tray-width:clamp(84px, 8vw, 100px);--visual-reconstruction-stage-gap:clamp(10px, 1.4vw, 16px)}.visual-position-reconstruction-page .piece-tray.reconstruction-piece-tray{width:var(--visual-reconstruction-tray-width);background:linear-gradient(#111827 0%,#172235 100%);border:1px solid #334155;border-radius:12px;gap:10px;padding:10px 8px}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece{aspect-ratio:1;background:#202b3d;border:1px solid #3a4659;border-radius:14px;width:auto;min-width:72px;min-height:0;padding:4px;overflow:visible;box-shadow:inset 0 1px #ffffff0f,0 10px 18px #04091229}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece:hover{background:#243247;border-color:#38bdf8;box-shadow:inset 0 0 0 2px #38bdf852,0 14px 24px #04091242}.visual-position-reconstruction-page .tray-piece.reconstruction-tray-piece>div,.visual-position-reconstruction-page .reconstruction-piece-tray-black .tray-piece.reconstruction-tray-piece>div{filter:none;padding:3%;width:min(100%,74px)!important;height:min(100%,74px)!important}.visual-position-reconstruction-page .tray-piece-count.reconstruction-tray-piece-count{bottom:7px;right:7px}}.partial-game-page .reconstruction-level-description{color:#dbe4f0;background:0 0;border:0;border-radius:0;padding:0}.partial-game-page .visual-reconstruction-chessboard-wrap,.partial-game-page .visual-reconstruction-chessboard-wrap>div,.partial-game-page #PartialGameReconstructionProvider-board,.partial-game-page #PartialGameReconstructionProvider-board>div,.partial-game-page #PartialGameReconstructionBoard-board,.partial-game-page #PartialGameReconstructionBoard-board>div{border-radius:0!important}.partial-game-page #PartialGameReconstructionProvider-board,.partial-game-page #PartialGameReconstructionBoard-board{overflow:hidden!important}@media (width>=769px){.partial-game-page .partial-game-hidden-board,.partial-game-page .visual-reconstruction-chessboard-wrap,.partial-game-page .visual-reconstruction-chessboard-wrap>div,.partial-game-page #PartialGameReconstructionProvider-board,.partial-game-page #PartialGameReconstructionProvider-board>div,.partial-game-page #PartialGameReconstructionBoard-board,.partial-game-page #PartialGameReconstructionBoard-board>div{border-radius:18px!important}}.partial-game-page .reconstruction-board-card [data-piece],.partial-game-page .tray-piece.reconstruction-tray-piece [data-piece]{box-sizing:border-box;justify-content:center;align-items:center;min-width:0;min-height:0;padding:4%;display:flex;width:100%!important;height:100%!important}.partial-game-page .reconstruction-board-card [data-piece] svg,.partial-game-page .tray-piece.reconstruction-tray-piece [data-piece] svg{object-fit:contain;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=PartialGameReconstructionProvider-piece-]){height:var(--visual-reconstruction-drag-piece-size,72px)!important;width:var(--visual-reconstruction-drag-piece-size,72px)!important}body [id^=PartialGameReconstructionProvider-piece-][data-piece][style*=grabbing]{box-sizing:border-box;justify-content:center;align-items:center;display:flex;transform-origin:50%!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:3%!important;transform:scale(1)!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=PartialGameReconstructionProvider-piece-]) [id^=PartialGameReconstructionProvider-piece-][data-piece]{box-sizing:border-box;justify-content:center;align-items:center;display:flex;transform-origin:50%!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:3%!important;transform:scale(1)!important}body [id^=PartialGameReconstructionProvider-piece-][data-piece][style*=grabbing] svg{object-fit:contain;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id^=PartialGameReconstructionProvider-piece-]) [id^=PartialGameReconstructionProvider-piece-][data-piece] svg{object-fit:contain;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}@media (width<=640px){.partial-game-page.training-simple-page,.partial-game-page.exercise-page,.partial-game-page.reconstruction-page,.partial-game-page.visual-reconstruction-page{--visual-reconstruction-board-size:var(--partial-game-mobile-board-size);--visual-reconstruction-mobile-square-size:calc(var(--visual-reconstruction-board-size) / 8);--visual-reconstruction-drag-piece-size:clamp(44px, calc(var(--visual-reconstruction-board-size) / 8), 56px)}.partial-game-page .reconstruction-title-row.active-session-header,.partial-game-page .reconstruction-meta-row.mobile-session-chip-row,.partial-game-page .partial-game-playback-card{display:none}.partial-game-page .partial-game-tools-drawer{margin:2px auto calc(var(--mobile-safe-bottom) + 84px);max-width:var(--partial-game-mobile-board-size);background:#0f172ae6;border:1px solid #94a3b84d;border-radius:18px;order:4;width:100%;display:block;overflow:hidden;box-shadow:0 12px 26px #0206172e}.partial-game-page .partial-game-tools-drawer summary{color:#e2e8f0;cursor:pointer;justify-content:space-between;align-items:center;min-height:52px;padding:0 16px;font-size:1rem;font-weight:900;list-style:none;display:flex}.partial-game-page .partial-game-tools-drawer summary:after{content:"";border-bottom:3px solid;border-right:3px solid;width:10px;height:10px;transform:rotate(45deg)translateY(-2px)}.partial-game-page .partial-game-tools-drawer[open] summary:after{transform:rotate(225deg)translateY(-2px)}.partial-game-page .partial-game-tools-drawer summary::-webkit-details-marker{display:none}.partial-game-page .partial-game-tools-content{color:#cbd5e1;border-top:1px solid #94a3b83d;gap:8px;max-height:min(40dvh,280px);padding:12px 16px 14px;font-size:.86rem;display:grid;overflow-y:auto}.partial-game-side-panel .partial-game-playback-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.partial-game-side-panel .partial-game-playback-controls .partial-game-reconstruct-action{order:2;grid-column:1/-1}.partial-game-side-panel .partial-game-playback-controls .partial-game-previous-action{order:0}.partial-game-side-panel .partial-game-playback-controls .partial-game-continue-action{order:1}.partial-game-page .tray-piece.reconstruction-tray-piece [data-piece]{width:min(100%,54px)!important;max-width:54px!important;height:min(100%,54px)!important;max-height:54px!important}.partial-game-page.training-simple-page,.partial-game-page.exercise-page,.partial-game-page.reconstruction-page,.partial-game-page.visual-reconstruction-page{--partial-game-mobile-board-size:min(calc(100vw - (2 * var(--mobile-page-padding,14px)) - 34px), 400px);--visual-reconstruction-board-size:var(--partial-game-mobile-board-size);--visual-reconstruction-mobile-square-size:calc(var(--visual-reconstruction-board-size) / 8);--visual-reconstruction-drag-piece-size:clamp(44px, calc(var(--visual-reconstruction-board-size) / 8), 56px);padding:8px var(--mobile-page-padding,14px) calc(var(--mobile-safe-bottom,0px) + 14px);gap:10px;width:100%;overflow-x:clip}.partial-game-page .reconstruction-layout,.partial-game-page .reconstruction-board-card,.partial-game-page .reconstruction-board-zone,.partial-game-page .visual-reconstruction-board-stage,.partial-game-page .visual-reconstruction-board-area,.partial-game-page .visual-reconstruction-chessboard-wrap,.partial-game-page .partial-game-hidden-board,.partial-game-page .partial-game-mobile-status-row,.partial-game-page .visual-reconstruction-mobile-piece-tabs,.partial-game-page .visual-reconstruction-tray-slot,.partial-game-page .partial-game-tools-drawer,.partial-game-page .reconstruction-score-grid{box-sizing:border-box;min-width:0;transform:none}.partial-game-page .reconstruction-layout{flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;width:100%;display:flex;overflow-x:clip}.partial-game-page .reconstruction-board-card{background:#0f172ad1;border:1px solid #e2b71447;border-radius:20px;flex-direction:column;align-items:center;gap:0;width:100%;max-width:min(100%,430px);margin:0 auto;padding:10px 0 12px;display:flex;overflow:visible;box-shadow:0 14px 30px #02061738}.partial-game-page .reconstruction-board-card--reconstruct{padding-top:0}.partial-game-page .reconstruction-board-card>*{max-width:var(--visual-reconstruction-board-size);margin-left:auto;margin-right:auto}.partial-game-page .partial-game-mobile-status-row{width:min(82%, calc(var(--visual-reconstruction-board-size) - 28px));justify-content:space-between;align-items:center;gap:12px;margin:18px auto 8px;padding:0;display:flex}.partial-game-page .partial-game-mobile-status-row>span:first-child{color:#e2e8f0;letter-spacing:.12em;text-transform:uppercase;flex:auto;min-width:0;font-size:.9rem;font-weight:950;line-height:1.1}.partial-game-page .reconstruction-mobile-card-timer{box-shadow:none;color:#f8fafc;background:#0f172ab8;border:1px solid #94a3b857;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 14px;line-height:1;display:inline-flex;position:static}.partial-game-page .reconstruction-mobile-card-timer strong{color:#f8fafc;letter-spacing:-.03em;font-size:clamp(1.15rem,5vw,1.35rem);line-height:1}.partial-game-page .reconstruction-board-zone,.partial-game-page .visual-reconstruction-board-stage{max-width:var(--visual-reconstruction-board-size);flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;margin:0 auto;display:flex;overflow:visible}.partial-game-page .piece-tray-placeholder{display:none!important}.partial-game-page .visual-reconstruction-board-area{max-width:var(--visual-reconstruction-board-size);width:var(--visual-reconstruction-board-size);flex:none;order:1;align-self:center;justify-items:center;margin:0 auto;display:grid;overflow:visible}.partial-game-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame,.partial-game-page .partial-game-hidden-board.shared-chessboard-frame,.partial-game-page .partial-game-hidden-board{--board-size:var(--visual-reconstruction-board-size);--board-square-size:var(--visual-reconstruction-mobile-square-size);--shared-board-size:var(--visual-reconstruction-board-size);--shared-board-max-size:var(--visual-reconstruction-board-size);aspect-ratio:1;height:auto;max-width:var(--visual-reconstruction-board-size);width:var(--visual-reconstruction-board-size);flex:none;align-self:center;margin:0 auto;overflow:hidden;border-radius:0!important}.partial-game-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame>div,.partial-game-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame .chess-board,.partial-game-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame .board,.partial-game-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame canvas,.partial-game-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame svg{aspect-ratio:1;max-width:100%;max-height:100%;border-radius:0!important;width:100%!important;height:100%!important}.partial-game-page .reconstruction-side-panel{box-shadow:none;background:0 0;border:0;padding:0;display:contents}.partial-game-page .partial-game-side-panel h2,.partial-game-page .partial-game-side-panel>p{display:none}.partial-game-page .partial-game-side-panel--review .reconstruction-action-stack,.partial-game-page .partial-game-side-panel--reconstruct .reconstruction-action-stack{box-shadow:none;max-width:var(--visual-reconstruction-board-size);background:0 0;border:0;grid-template-columns:1fr;gap:10px;width:100%;margin:12px auto 0;padding:0;display:grid;position:static}.partial-game-page .partial-game-side-panel--review .reconstruction-score-grid{max-width:var(--visual-reconstruction-board-size);width:100%;margin:12px auto 0;overflow:visible}.partial-game-page .visual-reconstruction-mobile-piece-tabs{max-width:var(--visual-reconstruction-board-size);background:#0f172ac7;border:1px solid #94a3b84d;border-radius:14px;order:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;margin:12px auto 0;padding:4px;display:grid}.partial-game-page .visual-reconstruction-mobile-piece-tabs button{color:#e2e8f0;background:0 0;border:0;border-radius:10px;min-height:42px;padding:8px 10px;font-size:clamp(.94rem,4.2vw,1.05rem);font-weight:900}.partial-game-page .visual-reconstruction-mobile-piece-tabs button.selected{color:#e2b714;background:#e2b71429;box-shadow:inset 0 0 0 1px #e2b714}.partial-game-page .visual-reconstruction-tray-slot{max-width:var(--visual-reconstruction-board-size);order:3;width:100%;margin:12px auto 0;display:none;overflow:visible}.partial-game-page .visual-reconstruction-tray-slot-active{display:block}.partial-game-page .piece-tray.reconstruction-piece-tray{--visual-reconstruction-mobile-tray-gap:3px;align-items:center;gap:var(--visual-reconstruction-mobile-tray-gap);background:0 0;border:0;flex-wrap:nowrap;justify-content:flex-start;width:calc(100% - 5px);padding:4px 0 8px 3px;display:flex;overflow:visible;transform:translate(-1px,2px)}.partial-game-page .tray-piece.reconstruction-tray-piece{--visual-reconstruction-mobile-tray-gap:3px;flex:0 0 min(52px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6));height:min(52px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6));min-width:0;max-width:none;min-height:0;width:min(52px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap))) / 6));border-radius:12px;padding:0}.partial-game-page .tray-piece.reconstruction-tray-piece:nth-child(-n+3)>div{transform:translate(-2px)}.partial-game-page .tray-piece.reconstruction-tray-piece>div,.partial-game-page .tray-piece.reconstruction-tray-piece svg,.partial-game-page .tray-piece.reconstruction-tray-piece [data-piece]{height:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important;max-height:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important;max-width:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important;width:min(52px, calc((var(--visual-reconstruction-board-size) - 15px) / 6))!important}.partial-game-page .reconstruction-board-card [data-piece],.partial-game-page .reconstruction-board-card [data-piece] svg,.partial-game-page #PartialGameReconstructionProvider-board [data-piece],.partial-game-page #PartialGameReconstructionProvider-board [data-piece] svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}.partial-game-page .reconstruction-board-card [data-piece],.partial-game-page #PartialGameReconstructionProvider-board [data-piece]{padding:3%!important}.partial-game-page .partial-game-tools-drawer{max-width:var(--visual-reconstruction-board-size);background:#0f172ac7;border:1px solid #94a3b84d;border-radius:18px;width:100%;margin:12px auto 0;display:block;box-shadow:0 12px 26px #0206172e}}.reconstruction-page--occupied-hints{--reconstruction-occupied-hint-background:radial-gradient(circle at center, #afa89ca8 0 18%, transparent 19%);--reconstruction-mobile-occupied-hint-background:radial-gradient(circle at center, #afa89ca8 0 18%, transparent 19%)}@media (width<=640px){.partial-game-page.training-simple-page,.partial-game-page.exercise-page,.partial-game-page.reconstruction-page,.partial-game-page.visual-reconstruction-page{--visual-reconstruction-card-padding:0px;--partial-game-mobile-board-size:min(100%, 430px, 54dvh);--visual-reconstruction-board-size:var(--partial-game-mobile-board-size);--visual-reconstruction-mobile-square-size:calc(var(--visual-reconstruction-board-size) / 8);--visual-reconstruction-drag-piece-size:clamp(44px, calc(var(--visual-reconstruction-board-size) / 8), 56px)}.partial-game-page .reconstruction-board-card{background:#0f172ac7;border-color:#94a3b84d;border-radius:18px;gap:0;max-width:min(100%,430px);padding:14px 0;overflow:hidden;box-shadow:0 18px 38px #02061742}.partial-game-page .reconstruction-board-card--reconstruct{padding-top:14px}.partial-game-page .partial-game-mobile-status-row{width:100%;max-width:calc(100% - 28px);margin:0 auto 12px}.partial-game-page .partial-game-reconstruction-top-actions{order:0;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:10px;width:100%;max-width:calc(100% - 28px);margin:0 auto 12px;display:grid}.partial-game-page .partial-game-reconstruction-top-actions .primary-button,.partial-game-page .partial-game-reconstruction-top-actions .secondary-button{border-radius:12px;width:100%;min-width:0;min-height:48px;padding:10px 12px}.partial-game-page .partial-game-reconstruction-top-actions .primary-button{color:#101827;background:#e2b714;border-color:#e2b714}.partial-game-page .partial-game-reconstruction-top-actions .secondary-button{color:#e2e8f0;background:#0f172ab8;border-color:#94a3b857}.partial-game-page .partial-game-side-panel--reconstruct .mobile-reconstruction-actions{display:none}.partial-game-page .reconstruction-board-card>*,.partial-game-page .visual-reconstruction-board-area,.partial-game-page .visual-reconstruction-chessboard-wrap,.partial-game-page .visual-reconstruction-mobile-piece-tabs,.partial-game-page .visual-reconstruction-tray-slot,.partial-game-page .partial-game-tools-drawer,.partial-game-page .reconstruction-score-grid{max-width:calc(100% - 28px);margin-left:auto;margin-right:auto}.partial-game-page .reconstruction-board-zone,.partial-game-page .visual-reconstruction-board-stage{gap:0;width:100%;max-width:100%}.partial-game-page .visual-reconstruction-board-area,.partial-game-page .visual-reconstruction-chessboard-wrap{justify-self:stretch;width:100%;max-width:100%}.partial-game-page .visual-reconstruction-chessboard-wrap.shared-chessboard-frame,.partial-game-page .partial-game-hidden-board{--board-size:100%;--shared-board-size:100%;--shared-board-max-size:100%;width:100%;max-width:100%}.partial-game-page .visual-reconstruction-mobile-piece-tabs,.partial-game-page .visual-reconstruction-tray-slot,.partial-game-page .partial-game-tools-drawer,.partial-game-page .reconstruction-score-grid{margin-top:12px}.partial-game-page .visual-reconstruction-tray-slot{max-width:100%;margin-left:0;margin-right:auto;overflow:visible}.partial-game-page .piece-tray.reconstruction-piece-tray{--visual-reconstruction-mobile-tray-gap:4px;gap:var(--visual-reconstruction-mobile-tray-gap);justify-content:flex-start;width:100%;padding:2px;overflow:visible;transform:none}.partial-game-page .tray-piece.reconstruction-tray-piece{--visual-reconstruction-mobile-piece-size:clamp(40px, calc((var(--visual-reconstruction-board-size) - (5 * var(--visual-reconstruction-mobile-tray-gap)) - 4px) / 6), 54px);flex:0 0 var(--visual-reconstruction-mobile-piece-size);height:var(--visual-reconstruction-mobile-piece-size);min-height:var(--visual-reconstruction-mobile-piece-size);width:var(--visual-reconstruction-mobile-piece-size);padding:2px;overflow:visible}.partial-game-page .tray-piece.reconstruction-tray-piece:nth-child(-n+3)>div{transform:none}.partial-game-page .tray-piece.reconstruction-tray-piece>div,.partial-game-page .tray-piece.reconstruction-tray-piece [data-piece],.partial-game-page .tray-piece.reconstruction-tray-piece svg{height:calc(var(--visual-reconstruction-mobile-piece-size) - 4px)!important;max-height:calc(var(--visual-reconstruction-mobile-piece-size) - 4px)!important;max-width:calc(var(--visual-reconstruction-mobile-piece-size) - 4px)!important;width:calc(var(--visual-reconstruction-mobile-piece-size) - 4px)!important}}@media (width<=768px){.partial-game-page .partial-game-side-panel--reconstruct .mobile-reconstruction-actions{display:none}}.exercise-blindfold-puzzles.blindfold-puzzle-exercise{max-width:1280px;max-height:none;padding:clamp(12px,2vw,22px)}.blindfold-puzzle-exercise .blindfold-exercise-title-row{margin-top:0;margin-bottom:10px}.blindfold-puzzle-exercise .blindfold-exercise-title-row h1{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1}.blindfold-mobile-stats{display:none}.blindfold-exercise-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);justify-content:center;align-items:start;gap:clamp(12px,1.6vw,20px);display:grid}.blindfold-board-column{align-content:start;gap:10px;min-width:0;display:grid}.blindfold-desktop-stats{margin-bottom:0}.blindfold-desktop-stats.stats-row.compact{gap:8px}.blindfold-desktop-stats.stats-row.compact div{padding:9px 12px}.blindfold-desktop-stats.stats-row.compact span{margin-bottom:2px;font-size:.68rem}.blindfold-desktop-stats.stats-row.compact strong{font-size:clamp(1.1rem,1.8vw,1.45rem)}.blindfold-board-focus.blindfold-board-card.shared-chessboard-frame{--shared-board-max-size:min(calc(100dvh - 190px), 640px, 100%);width:min(100%, var(--shared-board-max-size));border-radius:18px;justify-self:center;padding:8px;overflow:hidden}.blindfold-board-focus>div,.blindfold-board-focus svg,.blindfold-board-focus canvas{border-radius:12px}.blindfold-hidden-board.hidden-board-placeholder{aspect-ratio:1;box-sizing:border-box;align-self:stretch;width:100%;height:100%;min-height:0;padding:clamp(12px,2vw,20px);overflow:auto}.blindfold-hidden-board strong{font-size:clamp(1.8rem,3.3vw,3rem)}.blindfold-hidden-board span{font-size:clamp(.9rem,1.6vw,1.1rem)}.blindfold-controls-card{grid-template-rows:auto auto auto auto;align-content:start;gap:10px;min-height:0;padding:12px;display:grid}.blindfold-turn-heading{text-align:center;margin:0;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.1}.blindfold-move-list-panel.move-list-panel{height:auto;min-height:118px;max-height:150px;padding:8px;overflow-y:auto}.blindfold-move-list-panel .move-list{gap:5px}.blindfold-move-list-panel .move-list li{grid-template-columns:30px minmax(0,1fr) minmax(0,1fr);gap:6px;padding:5px 6px}.blindfold-move-list-panel .move-list-move{min-height:28px;padding:2px 5px}.blindfold-review-navigation{gap:6px}.blindfold-review-navigation button{min-height:38px;padding:7px 8px}.blindfold-actions{grid-template-columns:1fr;gap:8px;display:grid}.blindfold-actions button{min-height:40px;padding:8px 10px}.blindfold-input-panel.move-input-panel{grid-template-columns:92px minmax(0,1fr);width:100%;max-width:none;margin:0}.blindfold-input-panel .input-mode-buttons{gap:6px}.blindfold-input-panel .input-mode-buttons button{min-height:38px;padding:7px 8px}.blindfold-input-panel .move-entry-bar{min-height:86px;padding:8px}.blindfold-input-panel .voice-panel{gap:8px;width:100%}.blindfold-input-panel .dictation-transcript{font-size:.9rem;line-height:1.3}.blindfold-feedback-line{background:#101827d1;border:1px solid #3a4659;border-radius:12px;min-height:0;margin:0;padding:8px 10px;font-size:.95rem;line-height:1.25}@media (width>=981px) and (height>=700px){.exercise-blindfold-puzzles.blindfold-puzzle-exercise{max-height:calc(100dvh - 28px);overflow:hidden}}@media (width<=1100px){.blindfold-exercise-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.blindfold-board-focus.blindfold-board-card.shared-chessboard-frame{--shared-board-max-size:min(calc(100dvh - 200px), 590px, 100%)}}@media (width<=980px){.blindfold-exercise-layout{grid-template-columns:1fr}.blindfold-board-focus.blindfold-board-card.shared-chessboard-frame{--shared-board-max-size:min(72dvh, 680px, 100%)}}@media (width<=640px){.exercise-blindfold-puzzles.blindfold-puzzle-exercise{max-width:100%;padding:var(--mobile-page-padding);overflow-x:hidden}.blindfold-puzzle-exercise .blindfold-exercise-title-row{align-items:stretch;gap:8px;margin-bottom:8px}.blindfold-puzzle-exercise .blindfold-exercise-title-row h1{font-size:clamp(1.55rem,7vw,2.1rem)}.blindfold-puzzle-exercise .eyebrow{font-size:.72rem;line-height:1.25}.blindfold-desktop-stats{display:none!important}.blindfold-mobile-stats{gap:8px;margin-bottom:8px;display:grid}.blindfold-mobile-stats-summary{color:#f8fafc;text-align:center;white-space:normal;background:#101827;border:1px solid #e2b7146b;border-radius:999px;width:100%;min-height:44px;padding:9px 12px;font-size:clamp(.82rem,3.6vw,.95rem);font-weight:900;line-height:1.25}.blindfold-mobile-stats-grid.stats-row.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:0}.blindfold-mobile-stats-grid.stats-row.compact div{padding:9px}.blindfold-mobile-stats-grid.stats-row.compact span{margin-bottom:2px;font-size:.66rem}.blindfold-mobile-stats-grid.stats-row.compact strong{font-size:1.25rem}.blindfold-exercise-layout,.blindfold-board-column,.blindfold-controls-card{gap:var(--mobile-gap)}.blindfold-board-column{order:1}.blindfold-controls-card{box-shadow:none;background:0 0;border:0;order:2;padding:0}.blindfold-board-focus.blindfold-board-card.shared-chessboard-frame{--mobile-chessboard-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 430px, 48dvh);--shared-board-max-size:var(--mobile-chessboard-size);--shared-board-size:var(--mobile-chessboard-size);width:var(--mobile-chessboard-size);border:1px solid #3a4659;padding:4px;border-radius:12px!important}.blindfold-hidden-board.hidden-board-placeholder{border-radius:8px;padding:10px}.blindfold-hidden-board strong{font-size:clamp(1.4rem,8vw,2.1rem)}.blindfold-hidden-board span,.blindfold-hidden-piece-list p{font-size:clamp(.72rem,3vw,.9rem);line-height:1.3}.blindfold-hidden-piece-list{gap:6px;max-width:96%}.blindfold-turn-heading{display:none}.blindfold-move-list-panel.move-list-panel{order:1;min-height:96px;max-height:132px}.blindfold-review-navigation{order:2;gap:8px}.blindfold-review-navigation button,.blindfold-actions button,.blindfold-input-panel .input-mode-buttons button,.blindfold-input-panel .move-entry-bar button{min-height:46px}.blindfold-actions{order:3;gap:8px}.blindfold-actions button{width:100%}.blindfold-input-panel.move-input-panel{order:4;grid-template-columns:1fr;gap:8px}.blindfold-input-panel .input-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.blindfold-input-panel .move-entry-bar{align-items:stretch;min-height:86px}.blindfold-input-panel .voice-panel{align-items:center}.blindfold-input-panel .voice-controls{min-width:0}.blindfold-feedback-line{order:2;padding:8px;font-size:.9rem}}@media (width<=780px) and (orientation:landscape){.blindfold-board-focus.blindfold-board-card.shared-chessboard-frame{--mobile-chessboard-size:min(48dvh, calc(100vw - 2 * var(--mobile-page-padding)), 380px)}.blindfold-move-list-panel.move-list-panel{max-height:110px}}.blindfold-move-card{display:contents}.blindfold-hidden-icon{color:#94a3b8;margin-bottom:4px;font-size:clamp(2.4rem,7vw,4rem);line-height:1}@media (width<=640px){.with-mobile-app-header{--app-header-height:44px}.exercise-blindfold-puzzles.blindfold-puzzle-exercise{box-shadow:none;padding:6px var(--mobile-page-padding) max(8px, env(safe-area-inset-bottom));background:0 0;border:0;gap:8px;width:100%;margin:0 auto;display:grid}.blindfold-puzzle-exercise .blindfold-exercise-title-row{text-align:center;justify-content:center;margin-bottom:0}.blindfold-puzzle-exercise .blindfold-exercise-title-row h1{font-size:clamp(1.35rem,6vw,1.75rem)}.blindfold-puzzle-exercise .blindfold-exercise-title-row .eyebrow,.blindfold-puzzle-exercise .blindfold-exercise-title-row .training-info-button{display:none}.blindfold-mobile-stats{gap:6px;margin-bottom:0}.blindfold-mobile-stats-summary{border-radius:8px;min-height:32px;padding:6px 10px;font-size:clamp(.72rem,3.15vw,.84rem)}.blindfold-mobile-stats-summary:after{content:"⌄";margin-left:8px;display:inline-block}.blindfold-mobile-stats-summary[aria-expanded=true]:after{content:"⌃"}.blindfold-mobile-stats-grid.stats-row.compact{gap:6px}.blindfold-mobile-stats-grid.stats-row.compact div{border-radius:10px;min-height:58px;padding:7px 9px}.blindfold-exercise-layout,.blindfold-board-column,.blindfold-controls-card{gap:8px}.blindfold-board-focus.blindfold-board-card.shared-chessboard-frame{--mobile-chessboard-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 54dvh, 460px);box-shadow:none;background:0 0;border:0;padding:0}.blindfold-board-focus>div,.blindfold-board-focus svg,.blindfold-board-focus canvas{border-radius:6px}.blindfold-hidden-board.hidden-board-placeholder{text-align:center;background:linear-gradient(145deg,#0f172af0,#020617e0);border:1px dashed #94a3b86b;flex-direction:column;justify-content:center;display:flex;overflow:hidden}.blindfold-hidden-board strong{font-size:clamp(1.45rem,7vw,2rem);line-height:1.1}.blindfold-hidden-board span:not(.blindfold-hidden-icon){max-width:22ch}.blindfold-controls-card{display:contents}.blindfold-move-card{background:#101827d6;border:1px solid #3a4659;border-radius:16px;order:2;gap:8px;min-width:0;padding:8px;display:grid}.blindfold-move-card .blindfold-move-list-panel.move-list-panel{background:0 0;border:0;border-radius:10px;padding:0}.blindfold-turn-heading{text-align:left;font-size:1rem;display:block}.blindfold-move-list-panel.move-list-panel{min-height:42px;max-height:104px}.blindfold-move-list-panel .move-list li{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);min-height:30px;padding:4px 6px}.blindfold-review-navigation{order:3;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.blindfold-review-navigation button{border-radius:8px;min-height:44px}.blindfold-actions{order:4;grid-template-columns:1fr;gap:6px;display:grid}.blindfold-actions button{border-radius:8px;min-height:44px}.blindfold-actions .primary-button,.blindfold-actions button:last-child:not(:nth-child(2)){min-height:40px}.blindfold-input-panel.move-input-panel{bottom:max(6px, env(safe-area-inset-bottom));z-index:10;background:#101827f0;border:1px solid #3a4659;border-radius:16px;order:5;gap:8px;padding:8px;position:sticky;box-shadow:0 -10px 28px #0206173d}.blindfold-input-panel .input-mode-buttons button{border-radius:10px;min-height:42px}.blindfold-input-panel .move-entry-bar{background:0 0;border:0;min-height:76px;padding:0}.blindfold-input-panel .voice-panel{background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);padding:0;display:grid}.blindfold-input-panel .dictation-transcript{min-height:58px;padding:10px 12px}}@media (width<=380px){.blindfold-board-focus.blindfold-board-card.shared-chessboard-frame{--mobile-chessboard-size:min(calc(100vw - 2 * var(--mobile-page-padding)), 50dvh)}.blindfold-input-panel .dictation-transcript{font-size:.84rem}}.blindfold-mobile-next-button{display:none}@media (width<=640px){.exercise-blindfold-puzzles.blindfold-puzzle-exercise{box-shadow:none;min-height:auto;padding:14px 0 calc(12px + env(safe-area-inset-bottom));background:0 0;border:0;gap:8px;overflow:hidden visible}.blindfold-puzzle-exercise .blindfold-exercise-title-row,.blindfold-mobile-stats,.blindfold-desktop-stats,.blindfold-move-card,.blindfold-review-navigation,.blindfold-feedback-line{display:none!important}.blindfold-exercise-layout{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.blindfold-controls-card{display:contents}.blindfold-actions{margin-inline:var(--mobile-page-padding);min-width:0;width:calc(100% - (2 * var(--mobile-page-padding)));background:0 0;border:0;order:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;padding:0;display:grid}.blindfold-actions button{border-radius:8px;width:100%;min-height:42px;padding:8px}.blindfold-actions button:nth-child(n+3){display:none}.blindfold-board-column{order:2;justify-items:center;gap:0;width:100%;min-width:0;display:grid}.blindfold-board-focus.blindfold-board-card.shared-chessboard-frame{--mobile-chessboard-size:min(calc(100vw - (2 * var(--mobile-page-padding))), 47dvh, 480px);--shared-board-max-size:var(--mobile-chessboard-size);--shared-board-size:var(--mobile-chessboard-size);box-shadow:none;max-width:100vw;width:var(--mobile-chessboard-size);background:0 0;border:0;justify-self:center;padding:0;overflow:hidden;border-radius:0!important}.blindfold-board-focus>div,.blindfold-board-focus svg,.blindfold-board-focus canvas{border-radius:0!important}.blindfold-hidden-board.hidden-board-placeholder{min-height:var(--mobile-chessboard-size);border-radius:0}.blindfold-hidden-board span:not(.blindfold-hidden-icon){display:none}.blindfold-input-panel.move-input-panel{box-shadow:none;margin:0 var(--mobile-page-padding);min-width:0;width:calc(100% - (2 * var(--mobile-page-padding)));z-index:auto;background:0 0;border:0;order:3;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:6px;padding:0;display:grid;position:static}.blindfold-input-panel .input-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.blindfold-input-panel .input-mode-buttons button{border-radius:8px;min-height:34px;padding:6px 8px;font-size:.9rem}.blindfold-input-panel .move-entry-bar>button{border-radius:8px;min-height:42px;padding:8px 12px}.blindfold-input-panel .move-entry-bar{border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;min-height:0;padding:6px;display:grid}.blindfold-input-panel .move-entry-bar input{width:100%;min-height:42px}.blindfold-input-panel .voice-panel{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:0;display:grid}.blindfold-input-panel .voice-panel .voice-mic-button,.blindfold-input-panel .voice-panel button{justify-self:center}.blindfold-input-panel .voice-controls,.blindfold-input-panel .dictation-transcript{width:100%;min-width:0}.blindfold-input-panel .voice-mic-button{width:42px;min-width:42px;height:42px;min-height:42px}.blindfold-input-panel .voice-mic-button-icon{width:20px;height:20px}.blindfold-input-panel .dictation-transcript{min-height:42px;padding:8px 10px}.blindfold-mobile-next-button{margin:2px var(--mobile-page-padding) 0;min-height:44px;width:calc(100% - (2 * var(--mobile-page-padding)));order:4;display:block}body div[style*="position: fixed"][style*="z-index: 999"]:has([id*=BlindfoldPuzzleBoard]){width:clamp(38px,12vw,62px)!important;height:clamp(38px,12vw,62px)!important}body [id*=BlindfoldPuzzleBoard][data-piece][style*=grabbing]{box-sizing:border-box;justify-content:center;align-items:center;display:flex;transform-origin:50%!important;width:clamp(38px,12vw,62px)!important;max-width:clamp(38px,12vw,62px)!important;height:clamp(38px,12vw,62px)!important;max-height:clamp(38px,12vw,62px)!important;padding:3%!important;transform:scale(1)!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id*=BlindfoldPuzzleBoard]) [id*=BlindfoldPuzzleBoard][data-piece]{box-sizing:border-box;justify-content:center;align-items:center;display:flex;transform-origin:50%!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:3%!important;transform:scale(1)!important}body [id*=BlindfoldPuzzleBoard][data-piece][style*=grabbing] svg{object-fit:contain;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id*=BlindfoldPuzzleBoard]) [id*=BlindfoldPuzzleBoard][data-piece] svg{object-fit:contain;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}}@media (width<=380px){.blindfold-board-focus.blindfold-board-card.shared-chessboard-frame{--mobile-chessboard-size:min(calc(100vw - (2 * var(--mobile-page-padding))), 44dvh, 400px)}}body div[style*="position: fixed"][style*="z-index: 999"]:has([id*=BlindfoldGameBoard],[id*=BlindfoldTrainerBoard]){pointer-events:none!important;width:clamp(38px,min(12vw,8.75vh),82.5px)!important;height:clamp(38px,min(12vw,8.75vh),82.5px)!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id*=BlindfoldGameBoard],[id*=BlindfoldTrainerBoard]) [data-piece]{aspect-ratio:1;box-sizing:border-box;justify-content:center;align-items:center;display:flex;max-width:clamp(38px,min(12vw,8.75vh),82.5px)!important;height:clamp(38px,min(12vw,8.75vh),82.5px)!important;max-height:clamp(38px,min(12vw,8.75vh),82.5px)!important;padding:var(--play-drag-piece-padding,3%)!important;transform:scale(var(--play-drag-piece-scale,1))!important;transform-origin:50%!important;width:clamp(38px,min(12vw,8.75vh),82.5px)!important}body div[style*="position: fixed"][style*="z-index: 999"]:has([id*=BlindfoldGameBoard],[id*=BlindfoldTrainerBoard]) [data-piece] svg{object-fit:contain;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}
