/* Focused learning workspace; inherits the school's theme and board assets. */
.lesson-player{--lp-surface:var(--card);--lp-ink:var(--text);--lp-muted:var(--muted);--lp-border:var(--line);--lp-accent:var(--brand-dark);--lp-action:#205d8d;--lp-soft:var(--brand-soft);--lp-success:#216c43;--lp-error:#a63732;--lp-radius:18px}
.lesson-player .subnav-bar{display:none}
.lp-workspace{max-width:1140px;padding-top:20px;padding-bottom:24px}
.lp-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px}
.lp-heading h1{font-size:clamp(1.4rem,2.1vw,1.9rem);line-height:1.25;margin:7px 0;color:var(--lp-ink);font-weight:750}
.lp-muted,.lp-session-meta{color:var(--lp-muted);font-size:.85rem}
.lp-session-meta{display:flex;gap:12px;align-items:center;max-width:330px}
.lp-session-meta span{max-width:200px;line-height:1.45}
.lesson-player button{min-height:44px}
.lesson-player button:focus-visible,.lesson-player a:focus-visible,#board [tabindex]:focus-visible{outline:3px solid var(--lp-accent);outline-offset:3px}
.lesson-player button:disabled{cursor:default;opacity:.5;background:var(--lp-surface);color:var(--lp-muted);border-color:var(--lp-border)}
.lp-progress-copy{display:flex;justify-content:space-between;gap:16px;font-size:.85rem;color:var(--lp-muted);margin-bottom:6px}
#lpProgress{display:block;appearance:none;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;background:var(--lp-border);accent-color:var(--lp-accent)}
#lpProgress::-webkit-progress-bar{background:var(--lp-border)}
#lpProgress::-webkit-progress-value{background:var(--lp-accent);border-radius:8px}
#lpProgress::-moz-progress-bar{background:var(--lp-accent)}
.lp-steps{display:flex;gap:8px;overflow-x:auto;padding:12px 3px 10px;scrollbar-width:thin}
.lp-steps button{flex:0 0 44px;width:44px;padding:0;border:1px solid var(--lp-border);color:var(--lp-muted);background:var(--lp-surface);font-size:.85rem}
.lp-steps button.is-complete{color:var(--lp-success);border-color:var(--lp-success)}
.lp-steps button[aria-current=step]{background:var(--lp-action);border-color:var(--lp-action);color:#fff;font-weight:800}
.lp-wrap{display:grid;grid-template-columns:minmax(300px,min(560px,calc(100dvh - 270px))) minmax(340px,1fr);align-items:start;gap:26px;padding-top:8px}
.lp-left{min-width:0}
.lp-topbar{justify-content:space-between;gap:8px;margin:0 0 10px}
.lp-title{font-size:.92rem}
.lp-boardwrap,#board{width:100%;max-width:560px}
.lp-boardwrap{border:6px solid var(--lp-surface);border-radius:6px;box-shadow:0 8px 26px rgba(15,35,55,.12);box-sizing:content-box;width:calc(100% - 12px)}
#boardArrows{inset:0}
.lp-board-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px}
.lp-board-tools span{font-size:.8rem;color:var(--lp-muted);line-height:1.4;max-width:300px}
#lpFlip{position:static;padding:8px 12px;white-space:nowrap;border:1px solid var(--lp-border);background:var(--lp-surface);color:var(--lp-ink);font:600 .8rem/1.4 inherit}
.lp-panel{width:100%;max-width:none;min-height:460px;border-radius:var(--lp-radius);padding:24px;box-shadow:0 5px 20px rgba(15,35,55,.04);transition:none}
.lp-panel:hover{box-shadow:0 5px 20px rgba(15,35,55,.04);border-color:var(--lp-border)}
.lp-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}
.lp-mode{background:var(--lp-soft);color:var(--lp-accent);border-radius:7px;padding:4px 10px;font-size:.8rem;font-weight:750}
.lp-coach{display:block;position:relative}
.lp-coach>div:first-child{float:right;margin:0 0 10px 14px}
.lp-coach>div:first-child>div{display:none}
.lp-avatar{height:88px;max-width:94px;object-fit:contain;filter:none}
.lesson-player .lp-bubble{padding:0;border:0;border-radius:0;background:transparent!important;margin:0;min-height:128px;cursor:default;font-size:1.05rem;line-height:1.65;white-space:pre-line}
html[data-theme] .lesson-player .lp-bubble{background:transparent!important}
.lp-bubble::before{display:none}
.lp-coach::after{content:'';display:block;clear:both}
.lp-exercise-title{font-size:1.35rem;line-height:1.3;margin:0 0 16px;color:var(--lp-ink)}
.lp-compact #lpTaskLabel{display:none}
.lp-compact .lp-bubble{min-height:100px}
.lp-task-label{margin-top:18px;font-size:.92rem}
#lpTaskBox .bar{display:none}
.lp-status{font-weight:500;font-size:.95rem;padding:10px 0;min-height:0;margin-top:4px}
.lp-status.ok{color:var(--lp-success)}
.lp-status.bad{color:var(--lp-error)}
.lp-status.ok::before{content:'✓ ';font-weight:800}
.lp-status.bad::before{content:'Попробуй ещё. ';font-weight:700}
.lp-opt{font-family:inherit;font-size:.95rem;line-height:1.5;padding:12px;min-height:52px}
.lp-opt:hover{background:var(--lp-soft);color:var(--lp-ink)}
.lp-opt.correct{background:#edf7f0;color:#174c30;border-color:var(--lp-success)}
.lp-opt.wrong{background:#fff2f0;color:#862c28;border-color:var(--lp-error)}
.lp-opt.correct .mk{background:var(--lp-success)}
.lp-opt.wrong .mk{background:var(--lp-error)}
.lp-secondary-actions{display:flex;gap:8px;margin-top:12px;padding-top:16px;border-top:1px solid var(--lp-border);flex-wrap:wrap}
.lp-secondary-actions button,#lpPrev,#lpSound{background:var(--lp-surface);border-color:var(--lp-border);color:var(--lp-muted);padding:8px 12px;font-size:.85rem}
.lp-secondary-actions button:hover,#lpPrev:hover,#lpSound:hover{background:var(--lp-soft);color:var(--lp-ink)}
.lp-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:nowrap}
#lpNext{flex:1;border-radius:10px;padding:12px 15px;min-height:48px;text-align:center}
.lesson-player #lpNext:not(:disabled),.lesson-player .lp-done .track-go.solid{background:var(--lp-action);color:#fff}
.lp-next-help{font-size:.8rem;color:var(--lp-muted);margin-top:8px;text-align:center;line-height:1.4}
.lp-hint{margin-top:14px;padding:12px 14px;background:var(--lp-soft);border-left:3px solid var(--lp-accent);border-radius:6px;font-size:.92rem;line-height:1.55}
.lp-coord{font-size:12px}
.lp-coord.on-dark{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7)}
.lp-coord.on-light{color:#17375a}
#lpExtra button{min-width:44px}
#lpExtra button[aria-pressed]{color:#17375a}
[data-theme=dark] .lesson-player{--lp-success:#8ad6a4;--lp-error:#ffa59b}
#lpExtra input:focus-visible{outline:3px solid var(--lp-accent);outline-offset:2px}
#lpExtra input{min-height:44px}
.lp-done-title{margin-top:12px}
.lesson-player footer{margin-top:12px}
/* Every lesson uses the same calm workspace: instructional text belongs to
   Апчуля, while navigation becomes compact and secondary. */
.lp-heading{height:0;margin:0;overflow:visible;position:relative;z-index:2}
.lp-heading h1,.lp-heading #lpChapter,.lp-session-meta,.lp-panel-heading,.lp-exercise-title,.lp-topbar,.lp-board-tools>span,.lp-progress-copy,.lp-steps,.lp-next-help{display:none!important}
.lp-heading .lp-back{position:absolute;top:0;left:0;display:grid;place-items:center;width:44px;height:44px;overflow:hidden;border-radius:50%;background:var(--lp-surface);border:1px solid var(--lp-border);font-size:0;box-shadow:0 3px 10px rgba(15,35,55,.08)}
.lp-heading .lp-back::before{content:'←';font-size:1.25rem;color:var(--lp-ink)}
.lp-course-progress{margin:0 0 16px;padding-top:2px}
.lp-panel{min-height:0}
.lesson-player .lp-bubble{min-height:94px}
.lp-task-label,.lp-status,.lp-hint{display:none!important}
.lp-voice{border:0;margin:0 0 8px;padding:0}
.lp-voice-buttons{justify-content:flex-start}
.lp-voice-buttons #lpVoiceToggle{display:grid;place-items:center;width:40px;min-height:40px;padding:7px;border-radius:50%;font-size:0}
.lp-voice-buttons #lpVoiceToggle::before{content:'';display:block;width:19px;height:19px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10v4h4l5 4V6L8 10H4Zm12.2-2.2a6 6 0 0 1 0 8.5m2.3-10.8a9.2 9.2 0 0 1 0 13.1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.lp-voice-buttons #lpVoiceRepeat,.lp-voice-buttons #lpVoiceStop,.lp-voice-status,.lp-voice details{display:none}
.lp-board-tools{justify-content:flex-end;margin-top:10px}
#lpFlip{display:grid;place-items:center;width:44px;min-height:44px;padding:0;font-size:0;border-radius:50%}
#lpFlip::before{content:'⇆';font-size:1.1rem}
.lp-secondary-actions{border-top:0;padding-top:0;justify-content:flex-end}
.lp-secondary-actions button{min-width:44px;padding:8px 10px;font-size:0}
.lp-secondary-actions button::before{font-size:1.05rem}.lp-secondary-actions #lpRetry::before{content:'↻'}.lp-secondary-actions #lpHint::before{content:'?';font-weight:800}
#lpPrev{font-size:0;flex:0 0 46px;padding:0}#lpPrev::before{content:'←';font-size:1.2rem}
/* The six-task practice lesson keeps the screen intentionally quiet: board,
   coach, a progress line and one primary action are enough for a child. */
.lp-compact .lp-heading,.lp-compact .lp-steps,.lp-compact .lp-topbar,.lp-compact .lp-board-tools>span,.lp-compact .lp-panel-heading,.lp-compact .lp-exercise-title,.lp-compact .lp-progress-copy,.lp-compact .lp-next-help{display:none}
.lp-compact .lp-course-progress{margin:0 0 16px}
.lp-compact .lp-panel{min-height:0;padding:22px 24px}
.lp-compact .lp-bubble{min-height:106px;font-size:1.08rem;line-height:1.58}
.lp-compact .lp-status{display:none}
.lp-compact .lp-secondary-actions{border-top:0;padding-top:0;justify-content:flex-end}
.lp-compact .lp-secondary-actions button{min-width:44px;padding:8px 10px;font-size:0}
.lp-compact .lp-secondary-actions button::before{font-size:1.05rem}
.lp-compact #lpRetry::before{content:'↻'}
.lp-compact #lpHint::before{content:'?';font-weight:800}
.lp-compact #lpPrev{font-size:0;flex:0 0 46px;padding:0}
.lp-compact #lpPrev::before{content:'←';font-size:1.2rem}
.lp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:800px){.lp-course-progress,.lp-compact .lp-course-progress{margin:0 0 12px}.lp-panel,.lp-compact .lp-panel{padding:0;background:transparent;border:0;box-shadow:none}.lp-coach,.lp-compact .lp-coach{padding:18px}.lp-bubble,.lp-compact .lp-bubble{min-height:0}.lp-secondary-actions,.lp-compact .lp-secondary-actions{order:1}.lp-actions,.lp-compact .lp-actions{order:2}.lp-hint,.lp-compact .lp-hint{order:0}}
@media(max-width:800px){
  .lp-workspace{padding:18px 16px 36px}
  .lp-heading{gap:12px;align-items:flex-start;margin-bottom:16px}
  .lp-heading h1{font-size:1.4rem}
  .lp-session-meta{flex-direction:column;align-items:flex-end;gap:6px;font-size:.75rem;min-width:96px;max-width:128px;text-align:right}
  .lp-session-meta span{display:none}
  .lp-wrap{display:flex;flex-direction:column;align-items:stretch;gap:16px;max-width:560px;margin:auto}
  .lp-left{width:100%}
  .lp-panel{display:contents}
  .lp-panel-heading{order:-3;margin-bottom:-8px}
  .lp-exercise-title{order:-2;margin:0;font-size:1.2rem;scroll-margin-top:80px}
  .lp-coach{order:-2;padding:16px;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:14px}
  .lp-left{order:-1}
  .lp-secondary-actions,.lp-actions{margin-top:0}
  .lp-next-help{margin-top:-8px}
  .lp-bubble{font-size:1rem;min-height:0}
  .lp-avatar{height:66px}
  .lp-board-tools{gap:8px;margin-top:8px}
  .lp-board-tools span{font-size:.75rem}
  .lp-boardwrap{max-width:548px}
  .lp-topbar{display:none}
  .lp-steps{margin-bottom:0}
  .lp-steps{display:none}
  .lp-coach{scroll-margin-top:80px}
}
@media(prefers-reduced-motion:reduce){.lesson-player *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Rook example: no glowing source squares, only deliberate selection. */
.lp-intentional #board .highlight1-32417,.lp-intentional #board .highlight2-9c5d2{box-shadow:none!important}
.lp-intentional #board .bk-sel{box-shadow:inset 0 0 0 2px var(--lp-ink)!important}
.lp-intentional .lp-progress-copy{display:flex!important;justify-content:flex-end;margin-bottom:6px;font-size:.8rem;color:var(--lp-muted)}
.lp-intentional .lp-progress-copy>span:last-child{display:none}
.lp-intentional .lp-secondary-actions #lpHint{font-size:.85rem;display:flex;align-items:center;gap:8px}
.lp-intentional .lp-demo-button{margin-top:12px;min-height:44px;padding:10px 16px;color:var(--lp-ink);background:var(--lp-soft);border:1px solid var(--lp-border);border-radius:10px}
.lp-intentional #lpVoice[hidden]{display:none!important}
@media(max-width:800px){.lp-intentional.lp-demonstration #lpTaskBox{order:-2}.lp-intentional.lp-demonstration .lp-demo-button{margin-top:0}}
.lp-collectible{position:absolute;inset:12%;z-index:3;pointer-events:none;filter:drop-shadow(0 2px 1px rgba(85,58,9,.25))}
.lp-collectible svg{display:block;width:100%;height:100%;overflow:visible}
.lp-star-edge{fill:var(--lp-gold,#f7c650);stroke:var(--lp-gold-deep,#b47b17);stroke-width:2.5;stroke-linejoin:round}
.lp-star-shine{fill:#fff1a2;opacity:.8}
.lp-star-square .bk-dot{display:none}
.lp-star-count{font-size:.85rem;font-weight:650;color:var(--lp-ink);margin:4px 0 16px}
.lp-star-count[hidden]{display:none!important}
@media(max-width:800px){.lp-star-count{order:-2;margin:0;text-align:right}}
