:root{--bg:#171815;--paper:#f2ead8;--panel:#22261d;--panel-2:#2b3024;--text:#f7f1e4;--muted:#b9b09c;--line:#ffffff24;--accent:#e8b84d;--accent-2:#89a85a;--danger:#e26d5c;--ok:#8fd06b;--shadow:0 22px 70px #00000047}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 12% 8%,#e8b84d2e,#0000 28rem),radial-gradient(circle at 88% 12%,#89a85a29,#0000 24rem),linear-gradient(135deg,#171815 0%,#202217 48%,#121411 100%);margin:0;font:16px/1.5 ABCHOD,Georgia,serif}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{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;width:min(1180px,100% - 32px);margin:0 auto;padding:12px 0;display:grid}.brand{color:var(--accent);letter-spacing:.02em;font-size:22px}.nav{gap:10px;display:flex}.nav a,.ghost-button,.text-button{border:1px solid var(--line);color:var(--text);background:#ffffff0a;border-radius:8px;padding:9px 12px}.nav a.active{color:var(--accent);border-color:#e8b84dbf}.auth-slot{justify-content:flex-end;align-items:center;gap:10px;display:flex}.page{width:min(1180px,100% - 32px);margin:0 auto;padding:14px 0 36px}.page-heading,.player-heading{margin-bottom:14px}.player-heading{display:block}.player-actions,.move-controls{flex-wrap:wrap;gap:10px;display:flex}.move-controls{justify-content:center;align-items:center;margin-top:10px}.move-controls button{border:1px solid var(--line);background:var(--panel-2);min-width:44px;color:var(--text);border-radius:8px;padding:9px 12px}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:13px}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%;font-size:clamp(24px,3.2vw,38px);line-height:1.08}.player-item-title{color:var(--text);margin-bottom:0;font-size:clamp(20px,2.4vw,30px);font-weight:700;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:#00000029;border:1px solid #e8b84d5c;border-radius:8px;gap:4px;max-width:100%;margin-top:8px;padding:12px 14px;display:grid}.task-prompt-card span{color:var(--muted);font-size:13px}.task-prompt-card strong{color:var(--text);font-size:clamp(18px,2vw,24px);font-weight:600;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,.board-panel,.lesson-theory,.progress-dashboard>div{border:1px solid var(--line);box-shadow:var(--shadow);background:#22261dc7;border-radius:8px}.lesson-theory{margin-bottom:18px;padding:18px 20px}.lesson-theory-section{background:#22261d8a;border:1px solid #e8b84d47;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:#22261dc7;border:1px solid #e8b84d5c;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;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);min-height:3.6em;margin:0;font-size:clamp(18px,2vw,23px);font-weight:600;line-height:1.4}.theory-nav{gap:10px;display:flex}.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:#e8b84d9e;transform:translateY(-2px)}.card-index{background:var(--accent);color:#241c0b;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:18px;display:inline-flex}.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:#22261dc7;border-radius:8px;gap:12px;padding:18px;display:grid}.plan-price{font-size:1.3rem;font-weight:600}.primary-button{background:var(--accent);color:#211904;border:0;border-radius:8px;justify-content:center;width:max-content;padding:11px 15px;display:inline-flex}.text-button{width:max-content}.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:#11140e;border-radius:8px;padding:12px}.inline-error,.notice,.solve-message--bad{color:#ffd1c9}.lesson-progress{align-items:center;gap:14px;margin-bottom:24px;padding:14px;display:flex}.progress-line{border:1px solid var(--line);background:#00000038;border-radius:999px;flex:1;min-width:180px;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,1fr) 380px;align-items:stretch;gap:20px;display:grid}.board-panel{flex-direction:column;align-items:center;padding:12px;display:flex}.chessboard-shell{touch-action:manipulation;max-width:100%;position:relative}.board-draw-layer{z-index:4;pointer-events:none;border-radius:8px;position:absolute;inset:0}.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;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);color:var(--text);background:#11140e;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);color:var(--text);background:#11140e;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}.choice-exercise{width:100%;max-width:420px}.choice-exercise--options{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.choice-exercise--text{gap:10px;display:flex}.choice-exercise--text input{border:1px solid var(--line);color:var(--text);background:#11140e;border-radius:8px;flex:1;padding:12px}.board-font-piece{paint-order:stroke fill;text-rendering:geometricprecision;-webkit-user-select:none;user-select:none;place-items:center;width:100%;height:100%;font-family:ABCpeshka,ABCHOD,Georgia,serif;font-weight:400;line-height:1;display:grid;transform:translateY(-.02em)}.board-font-piece--white{color:#fff3dc;-webkit-text-stroke:.045em #21160d;text-shadow:0 1px #291b10f2,0 2px 3px #0000006b}.board-font-piece--black{color:#17110b;-webkit-text-stroke:.03em #fff1d0;text-shadow:0 1px #fff0d23d,0 2px 2px #00000061}.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:#22261df5;border:1px solid #e8b84d8c;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{align-self:start;gap:12px;min-height:0;padding:12px;display:grid}.pane{gap:10px;min-height:0;display:grid}.comment,.gate-card,.solve-message,.variation-line,.stats-grid>div{border:1px solid var(--line);background:#00000029;border-radius:8px;padding:12px}.comment,.variation-line button,.notation-move{font-family:ABCHOD,Georgia,serif}.fig-piece{color:#f0f3ff;text-align:center;vertical-align:-.08em;width:1em;font-family:ABCHOD,Georgia,serif;line-height:1;display:inline-block}.fig-piece--pawn{font-family:ABCpeshka,ABCHOD,Georgia,serif;font-weight:400}.task-prompt-card strong .fig-piece{vertical-align:-.16em;width:1.15em;font-size:1.55em}.gate-card{border-color:#e8b84d73;gap:6px;margin-top:12px;display:grid}.completion-banner{justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;padding:14px 16px;display:flex}.completion-banner .primary-button{flex-shrink:0}.variation-line{flex-wrap:wrap;gap:8px;display:flex}.variation-line button,.notation-move{border:1px solid var(--line);color:var(--text);background:#ffffff0a;border-radius:8px;padding:6px 9px;font-size:16px}.notation>div{flex-wrap:wrap;gap:6px;max-height:260px;display:flex;overflow:auto}.notation-move--active{border-color:var(--accent);color:var(--accent)}.solve-message--good{color:#d4f7be}.stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stats-grid>div{gap:4px;display:grid}.stats-grid span{color:var(--muted);font-size:13px}.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<=900px){.topbar{grid-template-columns:1fr}.auth-slot{justify-content:flex-start}.content-grid,.player-grid,.puzzle-grid,.progress-dashboard{grid-template-columns:1fr}.player-heading,.lesson-progress{flex-direction:column;align-items:stretch}.page{width:min(100% - 20px,1180px);padding-top:14px}h1{font-size:34px}.board-panel,.side-panel{padding:10px}.move-controls{gap:6px}.move-controls button{min-width:40px;padding:8px 10px}.notation>div{max-height:190px}}@media (width<=520px){.topbar{width:min(100% - 20px,1180px)}.nav,.auth-slot,.player-actions{flex-wrap:wrap}.promotion-modal{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.promotion-modal span{font-size:13px}}
