:root:has(.book-stages){background:#11161d}body:has(.book-stages){min-width:0}.book-stages{width:min(1120px,100%);margin:4px auto 44px}.book-stages__heading{margin-bottom:20px}.book-stages__heading h1{color:#f0e0ca;letter-spacing:-.025em;margin:0;font-size:clamp(32px,3.4vw,42px);font-weight:400;line-height:1.15}.book-stages__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.book-stage{--book-light:162, 191, 219;background:linear-gradient(155deg,#1d2836,#141c27 65%);border:1px solid #73849940;border-radius:14px;flex-direction:column;min-width:0;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #0004,inset 0 1px #ffffff04}.book-stage--knight{--book-light:202, 146, 79}.book-stage--bishop{--book-light:194, 126, 77}.book-stage--first-move{--book-light:181, 143, 101}.book-stage--rook{--book-light:192, 185, 156}.book-stage--queen{--book-light:222, 165, 94}.book-stage:hover{border-color:#d7bc9580;transform:translateY(-4px);box-shadow:0 18px 38px #0006}.book-stage:focus-visible{outline-offset:5px;outline:2px solid #e6c9a3}.book-stage__art{background:radial-gradient(ellipse at 52% 100%, rgba(var(--book-light), .27), transparent 63%), linear-gradient(145deg, #18232f, #0a1019 78%);isolation:isolate;border-bottom:1px solid #b2c0cf1a;flex-shrink:0;place-items:center;height:clamp(190px,25vh,240px);display:grid;position:relative;overflow:hidden}.book-stage--knight .book-stage__art{background:radial-gradient(at 60% 72%,#a66b373d,#0000 62%),linear-gradient(135deg,#262424,#101923 80%)}.book-stage--bishop .book-stage__art{background:radial-gradient(at 46% 78%,#a6663f42,#0000 62%),linear-gradient(135deg,#262127,#101923 80%)}.book-stage--first-move .book-stage__art{background:radial-gradient(at 48% 80%,#8f6d4540,#0000 65%),linear-gradient(135deg,#242329,#101923 80%)}.book-stage--rook .book-stage__art{background:radial-gradient(at 54% 80%,#a7a08b38,#0000 62%),linear-gradient(135deg,#25282a,#101923 80%)}.book-stage--queen .book-stage__art{background:radial-gradient(at 50% 78%,#c18d4942,#0000 62%),linear-gradient(135deg,#2a2525,#101923 80%)}.book-stage__art:before{z-index:-1;background:repeating-linear-gradient(90deg, transparent 0, transparent 59px, rgba(var(--book-light), .09) 60px, transparent 61px), repeating-linear-gradient(0deg, transparent 0, transparent 39px, rgba(var(--book-light), .09) 40px, transparent 41px);content:"";height:130px;position:absolute;bottom:-60px;left:-20%;right:-20%;transform:perspective(200px)rotateX(52deg)}.book-stage__art:after{z-index:-1;filter:blur(10px);content:"";background:#0008;border-radius:50%;width:62%;height:25px;position:absolute;bottom:10px;left:19%}.book-stage__number{color:rgba(var(--book-light), .065);letter-spacing:-.06em;font-size:138px;line-height:1;position:absolute;top:40px;left:22px}.book-stage__edition{color:#c3b397;font-size:13px;position:absolute;top:18px;left:20px}.book-stage__piece{z-index:1;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 14px #0006);width:80%;height:calc(100% - 46px);transition:transform .22s;display:block;position:absolute;bottom:12px;left:10%}.book-stage--first-move .book-stage__piece{width:90%;height:calc(100% - 30px);left:5%}.book-stage:hover .book-stage__piece{transform:translateY(-3px)}.book-stage__body{flex-direction:column;flex:1;padding:16px 20px 14px;display:flex}.book-stage__eyebrow{color:#b8a084;letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px;font-size:10px}.book-stage h2{color:#f0dfc5;overflow-wrap:anywhere;margin:0 0 8px;font-size:27px;font-weight:400;line-height:1.18}.book-stage__description{-webkit-line-clamp:2;color:#a8b0bc;-webkit-box-orient:vertical;margin:0 0 10px;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.book-stage__action{color:#dfc4a1;border-top:1px solid #a8b5c31f;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:10px;font-size:15px;display:flex}.book-stage__arrow{background:#dfc4a10a;border:1px solid #b7a08640;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.book-stage__arrow svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}@media (width<=1000px) and (width>=721px){.book-stages__grid{gap:16px}.book-stage__body{padding:16px}.book-stage h2{font-size:25px}.book-stage__edition{left:14px}}@media (width<=720px){.app-shell:has(.book-stages) .topbar-inner{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:8px 0}.app-shell:has(.book-stages) .brand-slot{display:none}.app-shell:has(.book-stages) .auth-slot{grid-area:1/2}.app-shell:has(.book-stages) .nav{flex-wrap:wrap;grid-area:2/1/auto/-1}.app-shell:has(.book-stages) .nav a{padding:6px 9px;font-size:16px}.book-stages{width:min(460px,100%);margin-top:8px}.book-stages__heading{margin-bottom:20px}.book-stages__grid{grid-template-columns:1fr;gap:20px}.book-stage__art{height:240px}.book-stage__body{padding:18px 20px}.book-stage h2{font-size:28px}}@media (prefers-reduced-motion:reduce){.book-stage,.book-stage__piece{transition:none}}.comment-paragraph{white-space:pre-line;margin:0}.comment-paragraph+.comment-paragraph{margin-top:.75em}.comment-paragraph em{font-style:italic}.billing-panel,.admin-access{max-width:1100px;margin:0 auto}.promo-redeem,.admin-section{border:1px solid #d4d9df;border-radius:12px;margin:1.5rem 0;padding:1.25rem}.billing-panel label,.admin-access label{flex-direction:column;gap:.4rem;margin:.6rem 0;display:flex}.billing-panel input,.admin-access input,.admin-access select{color:#17212e;background:#fff;border:1px solid #aab4c0;border-radius:6px;min-width:0;padding:.65rem}.admin-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.6rem 0;display:flex}.admin-row label{flex:1;min-width:180px}.admin-users{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.admin-users button{color:#17212e;overflow-wrap:anywhere;background:#fff;border:1px solid #aab4c0;border-radius:6px;padding:.6rem}.admin-users button[aria-pressed=true]{background:#d6e9ff;border-color:#285ea8}.admin-user-details{border-top:1px solid #d4d9df;padding-top:1rem}.admin-promo-form{max-width:650px}.admin-access .admin-checkbox{flex-direction:row;align-items:center}.admin-promos{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;margin-top:1.5rem;display:grid}.billing-panel .plan-card{scroll-margin-top:90px}.billing-panel .plans-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.admin-security-dialog{max-width:600px}.recovery-codes{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border:1px solid;border-radius:8px;padding:1rem;font-size:1rem}.progress-page{max-width:1220px;margin:0 auto;padding:12px 0 24px}.progress-page h1,.progress-page h2,.progress-page h3{margin:0}.progress-page h1{overflow-wrap:anywhere;font-size:clamp(28px,3vw,40px);line-height:1.2}.progress-page h2{font-size:25px}.progress-page h3{font-size:21px}.progress-title{margin:10px 0 28px}.progress-access-notice{border-left:2px solid var(--accent);color:var(--muted);margin:20px 0;padding:8px 14px}.progress-access-label{color:var(--muted);margin-top:-10px;font-size:13px}.progress-page small{color:var(--muted);font-size:15px;font-weight:400}.progress-page a:focus-visible,.progress-page button:focus-visible,.progress-page input:focus-visible,.progress-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.progress-breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:8px 12px;margin-bottom:24px;font-size:14px;display:flex}.progress-breadcrumbs a{color:var(--accent)}.progress-breadcrumbs a:hover{text-decoration:underline}.progress-breadcrumbs [aria-current]{overflow-wrap:anywhere}.progress-hero{background:linear-gradient(120deg,#d8b49314,#1c222be6 60%);border:1px solid #d8b49345;border-radius:16px;align-items:center;gap:28px;padding:30px;display:flex}.progress-hero__ring{border-radius:50%;flex:0 0 124px;width:124px;height:124px;padding:7px}.progress-hero__ring>div{background:var(--panel);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.progress-hero__ring strong{font-size:30px;line-height:1.2}.progress-hero__ring span{color:var(--muted);font-size:13px}.progress-hero__copy{flex:1;min-width:0}.progress-eyebrow{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px;font-size:12px;display:block}.progress-hero p{max-width:600px;color:var(--muted);margin:12px 0 8px}.progress-hero__copy>.muted{font-size:14px}.progress-hero>.primary-button{flex-shrink:0}.progress-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.progress-summary-card{border:1px solid var(--line);background:#1c222bbf;border-radius:12px;gap:12px;padding:20px;display:grid}.progress-summary-card>span{color:var(--muted);font-size:15px}.progress-summary-card>strong{font-size:30px;line-height:1}.progress-summary-card .progress-line{border:0;height:7px}.progress-summary-card .progress-line span{display:none}.progress-practice{background:#0c11174d;border:1px solid #8693a438;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:20px 24px;display:grid}.progress-practice>div+div{border-left:1px solid #8693a438;padding-left:20px}.progress-practice>div:nth-child(3n+1){border-left:0;padding-left:0}.progress-practice dt{color:var(--muted);font-size:14px}.progress-practice dd{font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:25px}.progress-section{margin-top:36px}.progress-section__heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.progress-section__heading p{color:var(--muted);margin:6px 0 0;font-size:15px}.progress-section__heading h2>span{color:var(--muted);white-space:nowrap;margin-left:10px;font-size:17px;font-weight:400}.progress-section__heading>a{flex-shrink:0}.progress-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.progress-stage-card{border:1px solid var(--line);background:linear-gradient(130deg,#232a34cc,#1c222bcc);border-radius:12px;align-content:start;gap:20px;padding:24px;transition:border-color .15s,background .15s;display:grid}.progress-stage-card:hover,.progress-lesson-row:hover{border-color:var(--accent);background:#d8b4930f}.progress-stage-card__heading,.progress-stage-card__completion{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-stage-card__heading h3{overflow-wrap:anywhere}.progress-stage-card__completion{color:var(--muted);font-size:14px}.progress-stage-card__completion strong{color:var(--text);font-size:20px}.progress-stage-card .progress-line{border:0;height:9px;margin-top:-10px}.progress-stage-card .progress-line span{display:none}.progress-stage-card__stats,.progress-lesson-row__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.progress-stage-card__stats dt,.progress-lesson-row__stats dt{color:var(--muted);font-size:13px}.progress-stage-card__stats dd,.progress-lesson-row__stats dd{font-variant-numeric:tabular-nums;margin:5px 0 0}.progress-stage-card__link{color:var(--accent);border-top:1px solid #8693a438;justify-content:space-between;padding-top:15px;font-size:14px;display:flex}.progress-badge{width:fit-content;color:var(--muted);white-space:nowrap;border:1px solid #aaa39b40;border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:12px;line-height:1.4;display:inline-flex}.progress-badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.progress-badge--completed{color:#b5dfa0;background:#8fd06b0f;border-color:#8fd06b4d}.progress-badge--in_progress{color:var(--accent);background:#d8b4930f;border-color:#d8b49366}.progress-badge--assisted{color:var(--accent);background:#d8b4931f;border-color:#d8b49373}.progress-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.progress-filters{flex-wrap:wrap;gap:6px;display:flex}.progress-filters button{min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 12px;font-size:14px}.progress-filters button:hover{color:var(--text);background:#d8b4930d}.progress-filters button[aria-pressed=true]{color:var(--text);background:#d8b4931a;border-color:#d8b49359}.progress-toolbar input{border:1px solid var(--line);background:var(--panel);width:240px;max-width:100%;min-height:42px;color:var(--text);border-radius:8px;padding:9px 13px}.progress-toolbar input::placeholder{color:var(--muted)}.progress-result-count,.progress-footnote{color:var(--muted);font-size:13px}.progress-result-count{margin:14px 0}.progress-footnote{margin:16px 0 0}.progress-lessons{gap:12px;display:grid}.progress-lesson-row{border:1px solid var(--line);background:#1c222ba6;border-radius:12px;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:16px 24px;padding:20px 54px 20px 22px;transition:border-color .15s,background .15s;display:grid;position:relative}.progress-lesson-row__title{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.progress-lesson-row__title h3{overflow-wrap:anywhere;font-size:19px}.progress-lesson-row__stats{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr))}.progress-lesson-row__meter .progress-line{height:24px}.progress-lesson-row__arrow{color:var(--accent);position:absolute;top:20px;right:22px}.progress-lesson-overview,.progress-theory-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:20px 0;display:flex}.progress-lesson-overview>div{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.progress-theory-row,.progress-games,.progress-table-wrap{border:1px solid var(--line);background:#1c222ba6;border-radius:12px}.progress-theory-row{padding:18px 22px}.progress-game-row{justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.progress-game-row+.progress-game-row{border-top:1px solid #8693a438}.progress-game-row>div{flex-wrap:wrap;align-items:center;gap:10px 20px;display:flex}.progress-game-row a{overflow-wrap:anywhere}.progress-game-row a:hover,.progress-table a:hover{text-decoration:underline}.progress-game-row>span{flex-shrink:0;font-size:14px}.progress-table-wrap{max-width:100%;overflow-x:auto}.progress-table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%}.progress-table th,.progress-table td{padding:17px 20px}.progress-table thead{color:var(--muted);background:#0a0e134d;font-size:13px}.progress-table th{font-weight:400}.progress-table tbody tr+tr,.progress-table tbody tr:first-child{border-top:1px solid #8693a438}.progress-table td:nth-child(3),.progress-table td:nth-child(4),.progress-table th:nth-child(3),.progress-table th:nth-child(4){text-align:center}.progress-table td:last-child{text-align:right;white-space:nowrap}.progress-table--readonly td:last-child{text-align:center}.progress-table a{color:var(--accent);padding:5px 0;display:inline-block}.progress-mistakes{color:#ffb39d}@media (width<=1100px){.progress-hero{flex-wrap:wrap}.progress-hero>.primary-button{margin-left:152px}}@media (width<=760px){.progress-page{padding-top:4px}.progress-breadcrumbs{margin-bottom:18px}.progress-hero{gap:18px;padding:22px}.progress-hero__ring{flex-basis:88px;width:88px;height:88px;padding:5px}.progress-hero__ring strong{font-size:24px}.progress-hero>.primary-button{margin-left:0}.progress-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.progress-summary-card{padding:16px}.progress-practice{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;padding:20px}.progress-practice>div+div{border:0;padding-left:0}.progress-stages{grid-template-columns:minmax(0,1fr)}.progress-section{margin-top:28px}.progress-section__heading{flex-direction:column;align-items:flex-start;gap:12px}.progress-lesson-row{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px 40px 18px 18px}.progress-lesson-row__meter{max-width:280px}.progress-lesson-row__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-lesson-row__arrow{top:17px;right:16px}.progress-table-wrap{background:0 0;border:0;border-radius:0;overflow:visible}.progress-table,.progress-table tbody{display:block}.progress-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.progress-table tbody{gap:12px;display:grid}.progress-table tbody tr{border:1px solid var(--line);background:#1c222bcc;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:14px 10px;padding:16px;display:grid}.progress-table th,.progress-table td{padding:0}.progress-table tbody td:nth-child(2){justify-self:end}.progress-table td:nth-child(3),.progress-table td:nth-child(4){text-align:left}.progress-table td[data-label]:before{color:var(--muted);content:attr(data-label);margin-bottom:3px;font-size:12px;display:block}.progress-table td:last-child{border-top:1px solid #8693a438;grid-column:1/-1;padding-top:8px}.progress-table td:last-child a{width:100%;padding:6px 0}.progress-table--readonly td:last-child{text-align:left;border:0;grid-column:auto;padding-top:0}}@media (width<=460px){.progress-hero{padding:18px}.progress-hero__ring{flex-basis:76px;width:76px;height:76px}.progress-hero__copy{flex-basis:calc(100% - 100px)}.progress-hero__copy p{font-size:14px}.progress-hero__copy>.muted{font-size:12px}.progress-eyebrow{font-size:10px}.progress-hero>.primary-button{text-align:center;width:100%}.progress-stage-card{padding:20px}.progress-stage-card__stats{gap:8px}.progress-lesson-row__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-lesson-overview>a{text-align:center;width:100%}.progress-game-row{flex-direction:column;align-items:flex-start;gap:10px;padding:18px}.progress-filters button{padding:8px 10px}.progress-toolbar input{width:100%}}:root{scrollbar-gutter:stable;--bg:#11161d;--paper:#ead6c1;--panel:#1c222b;--panel-2:#232a34;--text:#ead7c2;--muted:#aaa39b;--line:#8693a46b;--accent:#d8b493;--accent-2:#9f765d;--danger:#e26d5c;--ok:#8fd06b;--shadow:0 18px 42px #00000057;--board-light-color:#d8d6d1;--board-light-image:url(/static/board/squares/gray-light.png);--board-dark-color:#55585d;--board-dark-image:url(/static/board/squares/gray-dark.png);--board-surface-color:transparent;--board-surface-image:none;--board-frame-border:#1e1f22f5;--board-frame-background:linear-gradient(90deg, #ffffff29, transparent 19%, #07080a33 51%, transparent 76%, #ffffff14), url(/static/board/squares/gray-dark.png) center / 96px 96px;--board-frame-shadow:inset 0 0 0 5px #1415184d, inset 0 0 18px #04050785, 0 18px 34px #00000061;--board-coordinate-color:#f6f0e2e6;--board-coordinate-shadow:0 1px 2px #000000e6}:root[data-board-theme=classic]{--board-light-color:#f0d9b5;--board-light-image:none;--board-dark-color:#b58863;--board-dark-image:none;--board-frame-border:#4a2b1be6;--board-frame-background:linear-gradient(90deg, #ffffff14, transparent 16%, #2d140a21 48%, transparent 73%, #ffffff0d), repeating-linear-gradient(88deg, #70452f 0, #86583d 13px, #68402c 25px, #8f6043 39px, #70452f 54px);--board-frame-shadow:inset 0 0 0 5px #341d1245, inset 0 0 18px #1b0d0861, 0 18px 34px #00000061}:root[data-board-theme=green]{--board-light-color:transparent;--board-light-image:none;--board-dark-color:transparent;--board-dark-image:none;--board-surface-color:#d8c6ad;--board-surface-image:url(/static/board/themes/green.jpg);--board-frame-border:#514d4bf5;--board-frame-background:linear-gradient(90deg, #746d68, #aaa096 18%, #716a66 48%, #aaa198 74%, #655f5b);--board-frame-shadow:inset 0 0 0 3px #e1d7cd47, inset 0 0 14px #19161499, 0 18px 34px #0000006b}:root[data-board-theme=wood-dark]{--board-light-color:transparent;--board-light-image:none;--board-dark-color:transparent;--board-dark-image:none;--board-surface-color:#d5ad87;--board-surface-image:url(/static/board/themes/wood-dark.jpg);--board-frame-border:#4b2715eb;--board-frame-background:linear-gradient(90deg, #ffffff14, transparent 16%, #2d140a21 48%, transparent 73%, #ffffff0d), repeating-linear-gradient(88deg, #70452f 0, #86583d 13px, #68402c 25px, #8f6043 39px, #70452f 54px);--board-frame-shadow:inset 0 0 0 5px #341d1245, inset 0 0 18px #1b0d0861, 0 18px 34px #00000061}:root[data-board-theme=wood-light]{--board-light-color:transparent;--board-light-image:none;--board-dark-color:transparent;--board-dark-image:none;--board-surface-color:#e2bd91;--board-surface-image:url(/static/board/themes/wood-light.jpg);--board-frame-border:#6f4727d1;--board-frame-background:linear-gradient(90deg, #ffffff29, transparent 20%, #734c2a1a 52%, transparent 76%), repeating-linear-gradient(88deg, #c99b68 0, #dfb781 16px, #c39360 31px, #e0b980 48px);--board-frame-shadow:inset 0 0 0 4px #6a432233, inset 0 0 14px #56331b47, 0 18px 34px #00000057;--board-coordinate-color:#3a2213eb;--board-coordinate-shadow:0 1px 1px #fff4e085}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text);background-color:#0000;background-image:radial-gradient(circle at 84% 34%,#495b7038,#0000 34rem),radial-gradient(circle at 20% 90%,#222b374d,#0000 32rem),repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 4px),linear-gradient(115deg,#0f141b 0%,#171d25 52%,#10151c 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;margin:0;font:16px/1.5 PT Serif,Georgia,serif}body.settings-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0f149e;border-bottom:1px solid #74808f57;width:100%;box-shadow:0 12px 36px #00000029}.topbar-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;width:min(1480px,100% - 64px);min-height:76px;margin:0 auto;padding:10px 0;display:grid}.brand-slot{justify-self:start;min-width:0}.brand{color:#ead7c2a3;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(20px,2vw,28px);font-weight:700;display:block;overflow:hidden}.nav{justify-content:center;justify-self:center;gap:0;display:flex}.ghost-button,.text-button{border:1px solid var(--line);color:var(--text);background:#1d232cc7;border-radius:7px;padding:10px 14px;transition:border-color .15s,color .15s,background .15s,transform .15s;box-shadow:inset 0 1px #ffffff06,0 5px 12px #00000024}.nav a{color:#ead7c29e;padding:8px 14px;font-size:clamp(17px,1.7vw,23px);transition:color .15s;position:relative}.nav a+a:before{color:#ead7c27a;content:"|";position:absolute;left:0}.nav a.active{color:var(--accent)}.nav a:hover,.brand:hover{color:var(--text)}.auth-slot{justify-content:flex-end;align-items:center;gap:10px;display:flex}.user-name{color:#ead7c2a6;font-size:clamp(17px,1.6vw,22px)}.header-icon-button{width:44px;height:44px;color:var(--accent);background:0 0;border:0;padding:7px;display:grid}.header-icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:100%;height:100%}.settings-backdrop{z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#04070ab3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-dialog{background:linear-gradient(150deg,#242b34,#171c23);border:1px solid #ae9d8b73;border-radius:14px;width:min(560px,100%);max-height:calc(100vh - 32px);padding:22px;overflow:hidden auto;box-shadow:0 24px 70px #0000009e}.settings-dialog__header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.settings-dialog__header h2{margin:2px 0 0}.settings-close{border:1px solid var(--line);width:38px;height:38px;color:var(--text);background:#ffffff09;border-radius:50%;place-items:center;font-family:system-ui,sans-serif;font-size:27px;line-height:1;display:grid}.board-theme-settings{border:0;margin:20px 0 0;padding:0}.board-theme-settings legend{color:var(--muted);margin-bottom:10px;font-size:14px}.board-theme-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.board-theme-choice{border:1px solid var(--line);color:var(--text);text-align:left;background:#0a0e1373;border-radius:10px;align-content:start;gap:10px;padding:12px;transition:border-color .15s,background .15s,transform .15s;display:grid;position:relative}.board-theme-choice:hover{border-color:#d8b493b8;transform:translateY(-1px)}.board-theme-choice--selected{border-color:var(--accent);background:#d8b4931a}.board-theme-preview{aspect-ratio:1;border-radius:6px;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.board-theme-preview__light{background:var(--preview-light)}.board-theme-preview__dark{background:var(--preview-dark)}.board-theme-preview--gray{--preview-light:#d8d6d1 url(/static/board/squares/gray-light.png) center / cover;--preview-dark:#55585d url(/static/board/squares/gray-dark.png) center / cover}.board-theme-preview--classic{--preview-light:#f0d9b5;--preview-dark:#b58863}.board-theme-preview--green,.board-theme-preview--wood-dark,.board-theme-preview--wood-light{--preview-light:transparent;--preview-dark:transparent;background-position:50%;background-size:100% 100%}.board-theme-preview--green{background-image:url(/static/board/themes/green.jpg)}.board-theme-preview--wood-dark{background-image:url(/static/board/themes/wood-dark.jpg)}.board-theme-preview--wood-light{background-image:url(/static/board/themes/wood-light.jpg)}.board-theme-choice__text{gap:2px;display:grid}.piece-theme-preview{background:#a6a5a1;border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;min-height:76px;padding:8px 2px;display:grid}.piece-theme-preview img{aspect-ratio:1;object-fit:contain;width:100%;display:block}.board-theme-choice__check{color:#d8f6c7;background:#12171de0;border-radius:50%;place-items:center;width:25px;height:25px;font-family:system-ui,sans-serif;font-weight:800;display:grid;position:absolute;top:7px;right:7px}.board-theme-choice__check:empty{display:none}.page{width:min(1480px,100% - 64px);margin:0 auto;padding:14px 0 28px}.page-heading,.player-heading{margin-bottom:14px}.player-heading{width:min(998px,100%);margin-bottom:14px;margin-left:auto;margin-right:auto;display:block}.player-title-row{align-items:flex-start;gap:14px;display:flex}.player-title-row>div{min-width:0}.player-back-link{color:var(--accent);flex:none;font-size:clamp(42px,3.8vw,58px);line-height:.8;transition:color .15s,transform .15s;transform:translateY(5px)}.page-back-link{color:var(--accent);margin-bottom:8px;font-size:46px;line-height:.8;transition:color .15s,transform .15s;display:inline-flex}.page-back-link:hover{color:var(--text);transform:translate(-3px)}.player-back-link:hover{color:var(--text);transform:translate(-3px,5px)}.player-actions,.move-controls{flex-wrap:wrap;gap:10px;display:flex}.move-controls{justify-content:center;align-items:center;max-width:100%;margin-top:14px}.move-controls button{border:1px solid var(--line);min-width:48px;color:var(--text);background:#191f28eb;border-radius:7px;padding:10px 13px;transition:border-color .15s,background .15s,color .15s,transform .15s;box-shadow:inset 0 1px #ffffff09,0 5px 14px #00000029}.move-controls button:not(:disabled):hover,.ghost-button:not(:disabled):hover,.text-button:not(:disabled):hover{color:#f2deca;background:#272f3a;border-color:#d8b493b8;transform:translateY(-1px)}.move-controls .control-button{flex-shrink:0;place-items:center;width:48px;min-width:48px;height:48px;padding:0;font-family:Georgia,serif;font-size:22px;line-height:1;display:grid}.board-flip-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:25px;height:25px}.eyebrow{color:#d8b493b3;letter-spacing:.15em;text-transform:uppercase;margin:0 0 5px;font-size:12px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(34px,6vw,64px);line-height:1.02}.player-lesson-title{max-width:100%;color:var(--accent);font-size:clamp(29px,3vw,42px);font-weight:400;line-height:1.05}.player-item-title{color:var(--text);margin-bottom:0;font-size:clamp(21px,2vw,28px);font-weight:600;line-height:1.16}h2{font-size:22px}.section-title{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:28px 0 12px;font-size:15px}.muted,.content-card p{color:var(--muted)}.task-prompt-card{background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:7px;max-width:100%;margin-top:4px;padding:0;display:flex}.task-prompt-card span{color:var(--text);font-size:clamp(19px,1.8vw,27px);font-weight:700}.task-prompt-card strong{color:var(--text);font-size:clamp(19px,1.8vw,27px);font-weight:400;line-height:1.28}.back-link{color:var(--muted);margin-bottom:10px;display:inline-flex}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.content-card,.state-card,.narrow-panel,.lesson-progress,.side-panel,.lesson-theory,.progress-dashboard>div{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#1f252ff0,#171d25f0);border-radius:10px}.lesson-theory{margin-bottom:18px;padding:18px 20px}.lesson-theory-section{background:#1f252fa3;border:1px solid #d8b49347;border-radius:8px;margin-bottom:28px;padding:18px}.lesson-theory-section__heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-theory-section .section-title{margin-top:0}.theory-entry-card{box-shadow:var(--shadow);background:#1f252fd1;border:1px solid #d8b4935c;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px 20px;transition:border-color .16s,transform .16s;display:flex}.theory-entry-card:hover{border-color:var(--accent);transform:translateY(-1px)}.theory-entry-card h3{color:var(--text);margin:0 0 4px}.theory-entry-card p{color:var(--muted);margin:0}.theory-entry-card__arrow{color:var(--accent);font-size:22px}.theory-dots{flex-wrap:wrap;justify-content:center;gap:7px;max-width:380px;margin-top:22px;display:flex}.theory-dot{border:1px solid var(--line);background:#ffffff14;border-radius:50%;width:9px;height:9px;padding:0;transition:background .16s,transform .16s}.theory-dot--active{background:var(--accent);border-color:var(--accent);transform:scale(1.25)}.theory-step-counter{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:13px}.theory-step-text{color:var(--text);white-space:pre-line;min-height:3.6em;margin:0;font-family:PT Serif,Georgia,serif;font-size:clamp(18px,2vw,23px);font-weight:600;line-height:1.4}.piece-value-list{gap:8px;display:grid}.piece-value-row{border:1px solid var(--line);background:#ffffff09;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.piece-value-label{min-width:58px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.piece-value-piece{justify-content:center;align-items:center;font-size:clamp(30px,4vw,46px);line-height:1;display:inline-flex}.piece-value-glyph{color:#fff3dc;paint-order:stroke fill;text-rendering:geometricprecision;-webkit-text-stroke:.045em #21160d;text-shadow:0 1px #291b10f2,0 2px 3px #0000006b;place-items:center;width:1.04em;height:1em;font-family:AH,PT Serif,Georgia,serif;font-size:1em;font-weight:400;line-height:1;display:inline-grid;transform:translateY(-.02em)}.piece-value-equals{color:var(--accent);font-size:24px;font-weight:800}.piece-value-parts{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.theory-nav{flex-wrap:wrap;gap:10px;display:flex}.theory-actions{justify-items:start;gap:14px;margin-block:4px 18px;display:grid}.theory-actions>.primary-button{max-width:100%;margin:0}.lesson-theory-text{gap:10px;max-width:68ch;margin:0 auto;display:grid}.lesson-theory-text p{color:var(--text);margin:0;line-height:1.55}.content-card{min-height:150px;padding:18px;transition:transform .16s,border-color .16s;display:block}.content-card:hover{border-color:#d8b4939e;transform:translateY(-2px)}.lesson-puzzle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lesson-puzzle-card{min-height:104px;padding:14px 16px}.lesson-puzzle-card h3{margin-bottom:8px}.state-card,.narrow-panel{gap:14px;max-width:560px;padding:22px;display:grid}.state-card--error{border-color:#e26d5c8c}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.plan-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#1f252fd1;border-radius:8px;gap:12px;padding:18px;display:grid}.plan-price{font-size:1.3rem;font-weight:600}.primary-button{color:#1b1714;background:linear-gradient(145deg,#dfc0a3,#bd9878);border:0;border-radius:7px;justify-content:center;width:max-content;padding:11px 16px;transition:filter .15s,transform .15s;display:inline-flex;box-shadow:0 7px 18px #0003}.primary-button:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}.text-button{width:max-content}.auth-layout{grid-template-columns:minmax(0,560px) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,64px);max-width:1240px;display:grid}.auth-layout>.narrow-panel{grid-template-columns:minmax(0,1fr);min-width:0}.auth-layout .text-button{white-space:normal;max-width:100%}.auth-launch-notice{color:#ffbeb4;min-width:0;font-size:clamp(36px,4.5vw,64px);font-weight:700;line-height:1.15}.auth-launch-notice p{text-wrap:balance;margin:0}@media (width<=900px){.auth-layout{grid-template-columns:minmax(0,560px);gap:28px}.auth-launch-notice{font-size:clamp(32px,7vw,48px)}}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--muted);gap:7px;display:grid}.auth-form input{border:1px solid var(--line);width:100%;color:var(--text);background:#0f141a;border-radius:8px;padding:12px}.password-input-wrap{display:block;position:relative}.password-input-wrap input{padding-right:48px}.password-visibility-button{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.password-visibility-button:hover{color:var(--text);background:#ffffff0f}.password-visibility-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:23px;height:23px}.inline-error,.notice,.solve-message--bad{color:#ffd1c9}.lesson-progress{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:24px;padding:14px;display:grid}.lesson-progress__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;min-width:0;display:grid}.progress-metric{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.progress-metric>span{color:var(--muted);font-size:14px}.progress-line{border:1px solid var(--line);background:#00000038;border-radius:999px;flex:1;width:100%;min-width:0;height:30px;position:relative;overflow:hidden}.progress-line div{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%}.progress-line span{color:var(--text);place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.status{color:#ffbeb4;border:1px solid #e26d5c73;border-radius:999px;width:max-content;margin-top:10px;padding:4px 9px;font-size:13px;display:inline-flex}.status--ok{color:#c9f3b5;border-color:#8fd06b73}.player-grid,.puzzle-grid{grid-template-columns:minmax(0, var(--board-column-width,544px)) minmax(320px, 430px);justify-content:center;align-items:start;gap:24px;display:grid}.lesson-card-progress{border-top:1px solid #8491a233;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;padding-top:13px;display:grid}.lesson-card-progress .progress-metric{grid-template-columns:62px minmax(0,1fr);gap:8px}.lesson-card-progress .progress-line{height:24px}.lesson-card-progress .progress-line span{font-size:12px}.board-panel{min-width:0;box-shadow:none;background:0 0;border:0;flex-direction:column;align-items:center;padding:18px 22px 0;display:flex}.chessboard-shell{--board-frame-size:14px;aspect-ratio:1;max-width:100%;margin-block:var(--board-frame-size);isolation:isolate;touch-action:manipulation;flex-shrink:0;position:relative}.chessboard-shell:before{z-index:-1;inset:calc(-1 * var(--board-frame-size));border:1px solid var(--board-frame-border);background:var(--board-frame-background);box-shadow:var(--board-frame-shadow);content:"";border-radius:13px;position:absolute}.chessboard-shell--flippable{margin-right:48px}.board-flip-button{z-index:7;top:calc(93.75% - 16px);left:calc(100% + var(--board-frame-size) + 2px);border:1px solid var(--line);width:32px;height:32px;color:var(--text);cursor:pointer;background:#191f28eb;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute}.board-flip-button:hover,.board-flip-button:focus-visible{border-color:var(--accent);color:var(--accent)}.board-flip-button .board-flip-icon{width:21px;height:21px}.board-resize-handle{z-index:8;right:calc(-1 * var(--board-frame-size));bottom:calc(-1 * var(--board-frame-size));width:22px;height:22px;color:var(--accent);cursor:nwse-resize;touch-action:none;background:#12171dbf;border:0;border-radius:0 0 10px;place-items:center;padding:2px;display:grid;position:absolute}:root.board-resizing{overflow-anchor:none}.board-resize-handle:hover,.board-resize-handle:focus-visible{color:#fff0df;background:#343d49}.board-resize-handle svg{fill:none;stroke:currentColor;stroke-width:2px;pointer-events:none;width:18px;height:18px}.board-edge-coordinates{z-index:6;color:var(--board-coordinate-color);pointer-events:none;text-shadow:var(--board-coordinate-shadow);-webkit-user-select:none;user-select:none;font-family:PT Serif,Georgia,serif;font-size:11px;font-weight:700;line-height:1;position:absolute;inset:0}.board-edge-files{width:100%;height:calc(var(--board-frame-size) - 2px);grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:absolute;top:calc(100% + 1px);left:0}.board-edge-ranks{width:calc(var(--board-frame-size) - 2px);grid-template-rows:repeat(8,minmax(0,1fr));height:100%;display:grid;position:absolute;top:0;right:calc(100% + 1px)}.board-edge-files span,.board-edge-ranks span{place-items:center;display:grid}.board-draw-layer{z-index:4;pointer-events:none;border-radius:8px;position:absolute;inset:0}.board-drawing-surface{position:relative}.board-user-draw-layer{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.board-label-overlay{z-index:5;pointer-events:none;position:absolute;inset:0}.board-area-label{color:#fff8dc;text-align:center;text-shadow:0 2px 2px #000c,0 0 8px #0000008c;text-transform:uppercase;place-items:center;padding:6px;font-weight:900;line-height:1.15;display:grid;position:absolute}.board-area-label--dark{color:#20170f;text-shadow:0 1px #ffffff8c,0 0 8px #ffffff80}.board-coordinate-overlay{z-index:3;pointer-events:none;position:absolute;inset:0}.board-coordinate-label{justify-content:flex-start;align-items:flex-start;padding:4% 0 0 4%;font-weight:700;line-height:1;display:flex;position:absolute}.board-coordinate-label--light{color:#0009}.board-coordinate-label--dark{color:#ffffffb3}.mark-squares-exercise,.arrange-pieces-exercise,.move-sequence-exercise,.write-squares-exercise,.write-move-exercise{flex-direction:column;align-items:center;width:100%;max-width:100%;display:flex}.write-squares-form{gap:10px;width:100%;max-width:420px;margin-top:14px;display:flex}.write-squares-form input{border:1px solid var(--line);min-width:0;color:var(--text);background:#0f141a;border-radius:8px;flex:1;padding:12px}.write-move-form{gap:10px;width:100%;max-width:420px;margin-top:14px;display:grid}.write-move-row{grid-template-columns:64px 1fr;align-items:center;gap:10px;display:grid}.write-move-row span{color:var(--muted);font-size:14px}.write-move-row input{border:1px solid var(--line);min-width:0;color:var(--text);background:#0f141a;border-radius:8px;padding:12px}.mark-squares-board{cursor:pointer;touch-action:none;max-width:100%}.exercise-hint{max-width:420px;color:var(--muted);text-align:center;margin:10px 0 0;font-size:13px}.exercise-hint--bad{color:#ffd1c9}.move-sequence-controls{flex-wrap:wrap;width:min(100%,420px);margin-top:10px}.move-controls .control-button--confirm{color:#1b1714;background:linear-gradient(145deg,#dfc0a3,#bd9878);border-color:#f4d5b8b8;font-size:25px}.exercise-action-controls{flex-wrap:wrap;width:min(100%,420px);margin-top:10px}.exercise-action-controls .exercise-action-button{align-items:center;gap:7px;min-width:126px;min-height:46px;font-size:16px;font-weight:700;display:inline-flex}.exercise-action-button>span:first-child{font-family:Georgia,serif;font-size:22px;line-height:1}.choice-exercise{width:100%;max-width:420px;margin-top:22px}.choice-exercise--options{gap:9px;display:grid}.choice-exercise__label{color:var(--accent);margin:0;font-size:17px;font-weight:700}.choice-exercise__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.choice-restart-button{align-items:center;gap:6px;min-width:108px;min-height:40px;padding:7px 11px;font-size:15px;font-weight:700;display:inline-flex}.choice-restart-button>span{font-family:Georgia,serif;font-size:20px;line-height:1}.choice-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.choice-option-button{min-width:0;min-height:58px;color:var(--text);text-align:left;background:linear-gradient(145deg,#2f3641fa,#1b212afa);border:1px solid #d8b49394;border-radius:9px;align-items:center;gap:10px;padding:10px 13px;font-family:PT Serif,Georgia,serif;font-size:17px;font-weight:700;line-height:1.25;transition:border-color .15s,background .15s,color .15s,transform .15s;display:flex;box-shadow:inset 0 1px #ffffff0a,0 7px 18px #0003}.choice-option-button:not(:disabled):hover{color:#fff0df;background:linear-gradient(145deg,#3c434ffc,#222933fc);border-color:#f4d5b8e6;transform:translateY(-1px)}.choice-option-button__index{background:var(--accent);color:#1b1714;border-radius:7px;flex:none;place-items:center;width:29px;height:29px;font-family:PT Serif,Georgia,serif;font-size:15px;font-weight:700;display:grid}.find-move-controls{flex-wrap:wrap;justify-content:center;align-items:center;column-gap:10px;width:min(100%,440px);margin-top:20px;display:flex}.find-move-controls .exercise-action-button{align-items:center;gap:7px;max-width:100%;min-height:48px;font-size:16px;font-weight:700;display:inline-flex}.find-move-controls .exercise-action-button>span{font-family:Georgia,serif;font-size:22px;line-height:1}.choice-exercise--text{gap:10px;display:flex}.choice-exercise--text input{border:1px solid var(--line);color:var(--text);background:#0f141a;border-radius:8px;flex:1;padding:12px}.board-image-piece{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.promotion-modal{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;background:#00000094;border-radius:8px;grid-template-columns:repeat(2,minmax(92px,1fr));place-content:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.promotion-modal button{z-index:1001;color:var(--text);pointer-events:auto;background:#1f252ff5;border:1px solid #d8b4938c;border-radius:8px;place-items:center;gap:7px;padding:12px;display:grid;position:relative}.promotion-modal img{object-fit:contain;width:42px;height:42px}.side-panel{scrollbar-color:#d8b4935c transparent;scrollbar-width:thin;align-self:start;gap:0;min-height:0;max-height:min(610px,100vh - 210px);padding:0 20px;display:grid;overflow:hidden auto}.side-panel>.theory-step-counter,.side-panel>.solve-message,.player-page--game .side-panel>.puzzle-error-row{margin-top:18px}.side-panel>.theory-step-text{margin:14px 0}.side-panel>.piece-value-list,.side-panel>.stats-grid{margin-bottom:14px}.side-panel>.primary-button:last-child{margin-bottom:18px}.pane{border-bottom:1px solid #8491a23d;gap:10px;min-height:0;padding:18px 0;display:grid}.pane:last-child{border-bottom:0}.pane h2{color:var(--accent);margin:0;font-size:clamp(21px,1.8vw,26px);font-weight:700}.pane-content{align-content:start;gap:10px;min-width:0;display:grid}.pane--comments .pane-content{min-height:84px}.pane--variations .pane-content{min-height:64px}.pane .player-return{white-space:normal;justify-self:start;max-width:100%}.comment,.gate-card,.solve-message,.variation-line,.stats-grid>div{background:#090d1233;border:1px solid #8491a242;border-radius:7px;padding:13px}.comment,.variation-line button,.notation-move{font-family:PT Serif,Georgia,serif}.comment{white-space:pre-line;font-size:17px;line-height:1.55}.fig-piece{color:currentColor;text-align:center;vertical-align:-.08em;width:1em;font-family:AH,serif;line-height:1;display:inline-block}.task-prompt-card strong .fig-piece{vertical-align:-.16em;width:1.15em;font-size:1.55em}.gate-card{border-color:#d8b49373;gap:6px;margin-top:12px;display:grid}.gate-card--prominent{background:linear-gradient(135deg,#5c3d2659,#12171fb8),#090d1257;border-color:#e6bc92b8;gap:10px;margin:16px 0 4px;padding:17px 18px;box-shadow:inset 4px 0 #e6bc92e6,0 10px 28px #0003}.gate-card__label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-weight:700}.gate-card__prompt{color:var(--text);font-size:clamp(20px,1.7vw,25px);line-height:1.3}.gate-card__hint{color:#e5cfba;font-size:16px;line-height:1.45}.gate-card__hint--error{color:#ff9b91}.completion-card{border-bottom:1px solid #8491a23d;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.completion-card .primary-button{flex-shrink:0;padding:8px 11px;font-size:14px}.completion-card .completion-next-button{background:linear-gradient(145deg,#efd0b2,#cda27e);border:1px solid #f4d5b8b8;padding:11px 16px;font-size:18px;font-weight:700;box-shadow:0 8px 22px #00000047,0 0 20px #d8b4931f}.variation-line{flex-wrap:wrap;gap:8px;display:flex}.variation-line button,.notation-move{border:1px solid var(--line);color:var(--text);background:#ffffff06;border-radius:6px;padding:6px 9px;font-size:16px}.notation>div{flex-wrap:wrap;gap:6px;max-height:260px;display:flex;overflow:auto}.notation-move--active,.variation-line button.notation-move--active{border-color:var(--accent);color:var(--accent);background:#d8b49314}.solve-message--good{color:#d4f7be}.puzzle-completion-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.puzzle-completion-status{background:linear-gradient(135deg,#47703657,#090d123d);border-color:#97d37894;flex:120px;align-items:center;gap:10px;min-width:0;font-size:20px;display:flex;box-shadow:inset 3px 0 #ace689d6}.puzzle-completion-status__icon{color:#dcffc7;background:#a9e18729;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-family:system-ui,sans-serif;font-size:19px;font-weight:800;display:inline-grid}.puzzle-completion-next{white-space:normal;justify-content:center;align-items:center;min-width:0;max-width:100%;margin:0;padding-inline:16px;display:inline-flex}.puzzle-error-status{color:#ffe1e1;background:linear-gradient(135deg,#bd282880,#470f166b);border-color:#ef6b6b;box-shadow:inset 3px 0 #ff7070}.puzzle-error-status .puzzle-completion-status__icon{color:#ffb1b1;background:#ff5d5d40}.puzzle-retry-button{padding-inline:12px}.puzzle-hint{justify-items:start;gap:8px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;display:grid}.stats-grid>div{gap:4px;display:grid}.stats-grid span{color:var(--muted);font-size:13px}.side-to-move-stat strong{min-height:1.5em;color:var(--accent);white-space:nowrap}.puzzle-switcher{color:var(--accent);flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:8px;margin:4px 0 2px;font-size:clamp(20px,2vw,27px);display:flex}.puzzle-switcher__link{color:var(--text);font-variant-numeric:tabular-nums;transition:color .15s,transform .15s}.puzzle-switcher__link:hover{color:#fff0df;transform:translateY(-2px)}.puzzle-switcher__link--active{color:var(--accent);font-size:1.35em;line-height:.8}.player-page--puzzle .player-heading{width:min(934px,100%);margin-bottom:8px}@media (width>=1041px){.player-title-row{position:relative}.player-back-link{margin-right:12px;position:absolute;right:100%}}.player-page--puzzle .eyebrow{display:none}.player-page--puzzle .player-lesson-title{margin-bottom:4px;font-size:clamp(27px,2.5vw,36px)}.player-page--puzzle .player-item-title{font-size:clamp(20px,1.7vw,25px)}.player-page--puzzle .task-prompt-card span,.player-page--puzzle .task-prompt-card strong{font-size:clamp(18px,1.5vw,22px)}.puzzle-grid{grid-template-columns:minmax(0, var(--board-column-width,480px)) minmax(320px, 430px)}.player-page--puzzle .board-panel{padding:14px 18px 0}.player-page--puzzle .move-controls{margin-top:10px}.player-page--puzzle .find-move-controls{margin-top:20px}.player-page--puzzle .exercise-hint{margin-top:6px}.player-page--puzzle .side-panel{gap:10px;max-height:none;padding:14px 18px;overflow:visible}.player-page--puzzle .side-panel>.solve-message,.player-page--puzzle .side-panel>.stats-grid,.player-page--puzzle .side-panel>.primary-button{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.progress-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.progress-dashboard>div{gap:12px;padding:16px;display:grid}@media (width<=1040px){.topbar-inner{gap:16px;min-height:68px;padding:8px 0}.nav{justify-content:center}.auth-slot{justify-content:flex-end}.player-grid,.puzzle-grid{grid-template-columns:1fr}.player-heading,.lesson-progress{flex-direction:column;align-items:stretch}.page{width:min(100% - 28px,1480px);padding-top:14px}h1{font-size:34px}.board-panel,.side-panel{padding:10px}.board-panel{padding-inline:16px}.side-panel{max-height:none;padding:0 22px;overflow:visible}.move-controls{gap:6px}.move-controls button{min-width:40px;padding:8px 10px}.notation>div{max-height:190px}}@media (width>=860px) and (width<=1040px){.player-grid{grid-template-columns:minmax(0, var(--board-column-width,520px)) minmax(300px, 430px);gap:16px}.puzzle-grid{grid-template-columns:minmax(0, var(--board-column-width,480px)) minmax(300px, 430px);gap:16px}.side-panel,.player-page--puzzle .side-panel{max-height:min(610px,100vh - 190px);padding:0 16px;overflow-y:auto}}@media (width<=760px){.topbar-inner{width:min(100% - 20px,1480px)}.brand{font-size:19px}.nav a{padding-inline:10px;font-size:17px}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:16px;overflow:hidden}.page{width:min(100% - 20px,1480px);padding-top:10px;padding-bottom:24px}.content-grid,.progress-dashboard,.lesson-progress{grid-template-columns:1fr}.lesson-progress .primary-button{width:100%}.lesson-puzzle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-heading,.player-page--puzzle .player-heading{margin-bottom:10px}.player-title-row{gap:10px}.player-back-link{font-size:40px}.player-lesson-title,.player-page--puzzle .player-lesson-title{font-size:clamp(25px,6vw,32px)}.player-item-title,.player-page--puzzle .player-item-title{font-size:clamp(19px,4.7vw,22px)}.task-prompt-card span,.task-prompt-card strong,.player-page--puzzle .task-prompt-card span,.player-page--puzzle .task-prompt-card strong{font-size:clamp(17px,4.4vw,20px)}.board-panel,.player-page--puzzle .board-panel{padding:12px 14px 0}.side-panel,.player-page--puzzle .side-panel{padding:0 14px}.gate-card--prominent{padding:15px 16px}.gate-card__prompt{font-size:20px}.pane{gap:8px;padding:14px 0}.pane h2{font-size:22px}.comment{padding:12px;font-size:16px}.completion-card{flex-wrap:wrap;padding:12px 0}.stats-grid{gap:6px}.stats-grid>div{padding:10px}.content-card{min-height:120px;padding:15px}.write-squares-form,.choice-exercise--text{flex-direction:column}.write-squares-form .primary-button,.choice-exercise--text .primary-button,.write-move-form .primary-button{width:100%}.write-move-row{grid-template-columns:1fr;gap:5px}.choice-option-button{min-height:44px}}@media (width<=520px){.topbar-inner{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;width:min(100% - 24px,1480px)}.brand-slot{grid-area:1/1}.auth-slot{grid-area:1/2}.nav{grid-area:2/1/auto/-1;justify-self:start}.nav,.auth-slot,.player-actions{flex-wrap:wrap}.nav a{padding-inline:9px;font-size:16px}.user-name{display:none}.header-icon-button{width:42px;height:42px}.settings-dialog{padding:17px}.board-theme-options{grid-template-columns:1fr}.player-title-row{gap:11px}.lesson-progress__metrics{grid-template-columns:1fr}.player-back-link{font-size:44px}.player-lesson-title{font-size:29px}.player-item-title{font-size:21px}.eyebrow{font-size:11px}.board-panel{padding-inline:18px}.chessboard-shell:before{border-radius:11px}.move-controls{width:100%}.move-controls .control-button{width:46px;min-width:46px;height:46px}.puzzle-switcher{justify-content:center;margin-right:0;font-size:22px}.puzzle-completion-row{gap:8px}.puzzle-completion-status{gap:7px;padding:10px;font-size:18px}.puzzle-completion-status__icon{flex-basis:26px;width:26px;height:26px;font-size:17px}.puzzle-completion-next{padding-inline:10px;font-size:15px}.completion-card{flex-direction:column;align-items:stretch}.completion-card .primary-button,.completion-card .completion-next-button{width:100%}.promotion-modal{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.promotion-modal span{font-size:13px}}@media (width<=360px){.lesson-puzzle-grid{grid-template-columns:1fr}.move-sequence-controls{gap:4px}.move-sequence-controls .control-button{width:44px;min-width:44px;height:44px}.choice-options-grid{grid-template-columns:1fr}.puzzle-completion-status{justify-content:center;padding-inline:8px}.puzzle-completion-status__icon{display:none}.puzzle-completion-next{padding-inline:8px;font-size:14px}}@media (pointer:coarse){.primary-button,.ghost-button,.text-button,.variation-line button,.notation-move{min-height:44px}}@media (height<=600px) and (orientation:landscape) and (width>=700px) and (width<=1040px){.topbar-inner{min-height:56px;padding-block:5px}.page{padding-top:8px}.player-heading,.player-page--puzzle .player-heading{margin-bottom:7px}.player-grid,.puzzle-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.88fr);gap:16px}.board-panel,.player-page--puzzle .board-panel{padding:10px 16px 0}.side-panel,.player-page--puzzle .side-panel{max-height:calc(100vh - 126px);padding:0 12px;overflow-y:auto}.move-controls{margin-top:9px}}
