:root{--ink:#20382f;--muted:#65746d;--green:#177a5e;--mint:#ddf6ee;--paper:#f6f8f5;--line:#dce5de;--purple:#6a4bdb;font-family:Avenir Next,Trebuchet MS,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}.watch,button{border:0;border-radius:12px;background:var(--purple);color:white;padding:14px 22px;font-weight:700;cursor:pointer}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--purple);outline-offset:4px}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.12;letter-spacing:-.045em}h2{font-size:1.25rem;letter-spacing:-.02em}p{line-height:1.6}.brand{font-size:1.35rem;font-weight:800;text-decoration:none;letter-spacing:-.04em}.muted{color:var(--muted)}.shell{max-width:1100px;margin:auto;padding:30px 36px 80px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:25px;border-bottom:1px solid var(--line)}.quiet{background:white;color:var(--ink);border:1px solid var(--line)}.intro{padding:64px 0 30px}.intro h1{margin-bottom:15px}.intro>p:first-child{margin-bottom:12px}.lesson-list{display:grid;gap:15px}.lesson{display:flex;align-items:center;gap:22px;padding:24px;background:white;border:1px solid var(--line);border-radius:18px;text-decoration:none}.lesson h2{margin:0 0 7px}.lesson p{margin:0;color:var(--muted)}.lesson-icon{background:var(--mint);border-radius:16px;width:70px;height:70px;display:grid;place-items:center;font-size:3rem;color:var(--green)}.watch{margin-left:auto;white-space:nowrap}.lesson:hover{border-color:var(--green)}.notice{padding:28px;border:1px solid var(--line);border-radius:18px;background:white}.login-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.welcome{padding:48px 60px;background:var(--mint);display:flex;flex-direction:column;justify-content:space-between;gap:40px}.welcome h1{margin-bottom:20px}.welcome p{color:#3b6353;font-size:1.1rem}.chess-mark{font-size:8rem;line-height:1;display:block;margin-bottom:32px;color:var(--green)}.welcome-footer{font-size:.85rem!important}.login-panel{display:grid;place-items:center;padding:40px}.login-panel>div{width:100%;max-width:360px}.login-panel h2{font-size:2rem;margin-bottom:10px}.login-form{display:grid;gap:10px;margin-top:32px}.login-form input{width:100%;padding:14px;border:1px solid #aebbaf;border-radius:10px;background:white}.login-form label:not(:first-child){margin-top:10px}.login-form button{margin-top:15px}.help{font-size:.9rem;color:var(--muted);margin-top:25px}.error{color:#a92c36}.video-heading{margin-top:42px}.video-heading h1{font-size:clamp(1.8rem,4vw,2.7rem)}.video-container{aspect-ratio:16/9;position:relative;background:#132c23;border-radius:18px;overflow:hidden}.video-container iframe{border:0;position:absolute;width:100%;height:100%}.video-message{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:white;text-align:center;padding:24px}.parts{display:flex;gap:12px;margin:22px 0}.parts a{padding:10px 20px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:white}.parts a[aria-current]{background:var(--mint);border-color:var(--green)}@media(max-width:700px){.login-layout{grid-template-columns:1fr}.welcome{padding:24px;gap:20px}.welcome-footer,.welcome>div{display:none}.login-panel{padding:40px 24px}.shell{padding:24px 18px}.intro{padding-top:40px}.lesson{flex-wrap:wrap;padding:18px;gap:15px}.lesson>div{flex:1 1}.watch{margin:0;width:100%;text-align:center}.video-container{border-radius:10px}.brand{font-size:1.1rem}}.board-wrap{position:relative;min-width:0}.lesson-board{--coordinate-rail:24px;width:100%;aspect-ratio:1;display:grid;grid-template-columns:var(--coordinate-rail) minmax(0,1fr) var(--coordinate-rail);grid-template-rows:var(--coordinate-rail) minmax(0,1fr) var(--coordinate-rail);border-radius:10px;overflow:hidden;background:#2b5847;box-shadow:0 12px 30px #20382f12}.lesson-board-squares{grid-area:2/2;min-width:0;min-height:0;aspect-ratio:1;background:#edf2de}.board-coordinates{display:grid;color:#fff5dc;font-size:15px;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none;pointer-events:none}.board-coordinates>span{display:flex;align-items:center;justify-content:center}.board-files{grid-template-columns:repeat(8,minmax(0,1fr));grid-column:2}.board-top{grid-row:1}.board-bottom{grid-row:3}.board-ranks{grid-template-rows:repeat(8,minmax(0,1fr));grid-row:2}.board-left{grid-column:1}.board-right{grid-column:3}.board-loading{height:100%;display:grid;place-items:center}.board-description{font-size:.85rem;color:var(--muted);margin:10px 0 0}.square-hit{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;opacity:0;pointer-events:none}.square-hit:focus-visible{opacity:1;outline:4px solid #6844ce;outline-offset:-4px;background:transparent}.promotion-picker{position:absolute;inset:35% 8% auto;background:white;padding:16px;border-radius:14px;box-shadow:0 5px 35px #0004;display:flex;gap:8px;flex-wrap:wrap}.pip-coach{display:flex;align-items:center;gap:4px}.pip-avatar{flex-shrink:0;min-width:90px}.pip-avatar svg{display:block;max-width:100%;height:auto}.pip-bubble{background:white;border:1px solid var(--line);border-radius:22px 22px 22px 5px;padding:24px;max-width:430px;min-width:0}.pip-name{color:var(--green);font-size:.9rem;font-weight:800;display:block;margin-bottom:8px}.pip-bubble p{margin:0;font-size:1.05rem;line-height:1.65}.pip-bubble audio{max-width:100%;margin-top:12px}.pip-coach.compact .pip-bubble{padding:16px}.pip-coach.compact .pip-bubble p{font-size:1rem}@keyframes square-pulse{50%{filter:brightness(1.2)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:700px){.lesson-board{--coordinate-rail:20px}.board-coordinates{font-size:13px}.pip-avatar{max-width:105px}.pip-bubble{padding:16px}.pip-bubble p{font-size:1rem}.pip-coach{gap:0}}.student-home{max-width:1160px}.learning-intro{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:35px;padding:58px 0 36px}.learning-intro h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:18px}.learning-intro>div>p:last-child{font-size:1.1rem;color:var(--muted)}.learning-path{display:grid;gap:24px}.path-lesson{position:relative;display:flex;align-items:center;gap:26px;background:white;border:1px solid var(--line);border-radius:22px;text-decoration:none;padding:28px}.path-lesson:hover{border-color:var(--green);box-shadow:0 4px 20px #20382f09}.path-node{height:82px;width:82px;flex-shrink:0;display:grid;place-items:center;background:#e3f2d9;border:5px solid #c8e1b9;border-radius:50%;font-size:2.7rem;color:#305c38}.path-lesson:nth-child(2) .path-node{background:#eee6ff;border-color:#d6c5fa;color:#7651a6}.path-lesson:nth-child(3) .path-node{background:#fff0cf;border-color:#f5dfa5;color:#88682c}.path-lesson.is-complete .path-node{background:var(--mint);border-color:#94d4ba;color:var(--green)}.path-lesson-text{flex:1 1}.path-lesson h2{font-size:1.45rem;margin-bottom:8px}.path-lesson-text>p{margin:0 0 10px;color:var(--muted)}.path-lesson-text .course-context{font-size:.8rem;color:var(--green);font-weight:700;margin-bottom:10px}.lesson-meta{font-size:.85rem;color:var(--muted)}.path-action{white-space:nowrap;color:var(--green);font-weight:800;padding:14px 18px;background:var(--mint);border-radius:12px}.home-footnote{margin-top:32px;color:var(--muted);font-size:.9rem;text-align:center}.lesson-shell{max-width:1300px}.lesson-stages{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,26px);padding:0}.lesson-stages>span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;font-weight:700}.lesson-stages>span>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e4e9e3;color:#61756a}.lesson-stages>span[aria-current]{color:var(--green)}.lesson-stages .stage-done>span,.lesson-stages>span[aria-current]>span{background:var(--green);color:white}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0}.workspace-heading h1{font-size:clamp(1.7rem,3vw,2.45rem);margin:0}.workspace-heading p{font-size:.85rem;margin:0 0 8px}.break-link{font-size:.9rem;color:var(--green);white-space:nowrap}.board-workspace{display:grid;grid-template-columns:minmax(300px,560px) minmax(290px,1fr);gap:38px;align-items:start}.coaching-panel{padding-top:8px;display:grid;gap:24px}.coaching-panel .pip-coach{display:grid;grid-template-columns:120px 1fr;align-items:start}.coaching-panel .pip-avatar svg{width:140px}.question-card{padding:20px;background:white;border:1px solid var(--line);border-radius:18px}.question-card h2{font-size:1.3rem;line-height:1.5;margin-bottom:18px}.question-card .input-help{font-size:.9rem;color:var(--muted);margin:0}.answer-options{display:grid;gap:8px}.answer-option{background:#f7f9f5;color:var(--ink);border:1px solid #cbd9cb;text-align:left;font-size:.95rem;line-height:1.4;min-height:44px;padding:10px 14px}.answer-option:hover:not(:disabled){border-color:var(--purple);background:#f4efff}.notation-entry{display:flex;gap:10px;margin-top:10px}.notation-entry input{width:100%;min-width:0;border:1px solid #aebbaf;padding:13px;border-radius:10px;font-size:1.1rem}.notation-entry button{white-space:nowrap;padding:12px 16px}.help-actions{display:flex;gap:10px;flex-wrap:wrap}.help-actions:not(:empty){margin-top:14px}.help-actions button{min-height:44px;padding:9px 13px;font-size:.85rem}.lesson-controls{display:flex;flex-direction:column-reverse;align-items:flex-end;gap:10px;margin:0;padding:0}.lesson-controls>div:last-child{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}.save-status{font-size:.85rem;color:var(--muted)}.lesson-notice{border-left:4px solid var(--purple);padding:12px 18px;background:#efebfa;font-size:.95rem}.player-control-warning,.save-error{background:#fff0ee;border:1px solid #eac0bb;padding:18px;border-radius:12px;margin-top:16px}.save-error p{margin-bottom:12px}.save-error a{margin-left:18px}.watch-workspace{display:grid;gap:32px}.watch-workspace>.pip-coach{justify-content:center}.watch-workspace>div>p{margin:15px 0 0}.completion{max-width:850px;margin:15px auto 30px;text-align:center}.completion .pip-coach{justify-content:center;text-align:left}.completion>h2{font-size:2rem;margin:28px 0}.checkpoint-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px}.checkpoint-summary>div{padding:28px;background:white;border:1px solid var(--line);border-radius:20px;display:grid;gap:10px}.checkpoint-summary strong{font-size:3rem;color:var(--green)}.checkpoint-summary span{font-weight:800}.checkpoint-summary small{color:var(--muted);line-height:1.6}.completion-actions{display:flex;justify-content:center;gap:15px;margin-top:28px}.completion-actions .watch{margin:0;text-decoration:none}.revealed-answer{font-size:1.8rem;color:var(--green);font-weight:800}@media(max-width:850px){.learning-intro{grid-template-columns:1fr}.learning-intro>.pip-coach{justify-content:flex-start}.path-lesson{gap:18px;padding:22px}.path-node{width:65px;height:65px}.path-action{padding:12px;font-size:.9rem}.board-workspace{grid-template-columns:minmax(0,1fr);gap:20px;max-width:600px;margin:auto}.coaching-panel{grid-row:1}.coaching-panel .pip-coach{grid-template-columns:100px 1fr}.coaching-panel .pip-avatar svg{width:110px}.coaching-panel .question-card{padding:18px}.coaching-panel{gap:16px}.lesson-stages{gap:15px}.lesson-stages>span{font-size:.75rem;gap:5px}.lesson-stages>span>span{height:22px;width:22px}.workspace-heading{padding-bottom:22px}.workspace-heading h1{font-size:1.75rem}}@media(max-width:520px){.learning-intro{padding:36px 0 25px;gap:15px}.path-lesson{flex-wrap:wrap;gap:14px;padding:20px}.path-lesson-text{min-width:170px}.path-lesson h2{font-size:1.2rem}.path-action{margin-left:79px}.path-node{align-self:flex-start}.course-context{font-size:.7rem!important}.lesson-stages{gap:10px;justify-content:space-between}.lesson-stages>span{flex-direction:column;font-size:.7rem}.workspace-heading{align-items:flex-start}.break-link{font-size:.75rem}.notation-entry{flex-wrap:wrap}.notation-entry button{width:100%}.lesson-controls{align-items:flex-start;gap:10px}.lesson-controls button{font-size:.85rem;padding:12px 15px}.checkpoint-summary{grid-template-columns:1fr}.completion>h2{font-size:1.6rem}.completion-actions{flex-direction:column}.save-status{font-size:.75rem}.lesson-shell header>a:last-child{font-size:.85rem}}.pip-bubble .board-guidance{font-size:.9rem;line-height:1.6;color:var(--muted);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.lesson-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;padding-bottom:20px}.journey-link{white-space:nowrap;font-size:.9rem;font-weight:700;color:var(--green)}.coaching-panel .lesson-controls{padding-left:124px}.coaching-panel .pip-bubble{max-width:none}.question-card h2{font-size:.9rem;color:var(--green);margin-bottom:8px}.task-prompt{font-size:1rem;font-weight:700;line-height:1.45;margin-bottom:12px}.retry-instruction{margin:0;color:var(--muted);font-size:.95rem}.watch-coaching{display:grid;gap:20px;max-width:650px;margin:auto}.watch-coaching .pip-coach{justify-content:center}.completion>.lesson-controls{margin-top:20px}.lesson-controls>div:last-child:empty{display:none}@media(max-width:1000px){.lesson-header{gap:14px}.lesson-header .brand{font-size:1.05rem}.lesson-header .lesson-stages{gap:10px}.lesson-stages>span{font-size:.75rem;gap:5px}}@media(max-width:850px){.coaching-panel .lesson-controls{padding-left:104px}}@media(max-width:760px){.lesson-header{grid-template-columns:1fr auto;gap:20px}.lesson-header .lesson-stages{grid-column:1/-1;grid-row:2;justify-content:space-between}.journey-link{grid-column:2;grid-row:1}.coaching-panel .lesson-controls{padding-left:0}.lesson-controls{align-items:stretch}.lesson-controls .save-status{text-align:right}.pip-bubble .board-guidance{font-size:.85rem}}.lesson-board.border-thick{--coordinate-rail:34px}.border-thick .board-coordinates{font-size:16px}.board-settings{position:relative;display:flex;justify-content:flex-end;margin-bottom:8px}.board-settings-trigger{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--muted)}.board-settings-trigger:hover,.board-settings-trigger[aria-expanded=true]{background:white;color:var(--green);border-color:var(--green)}.board-settings-panel{position:absolute;z-index:30;top:calc(100% + 8px);right:0;width:min(340px,100%);padding:20px;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:0 10px 35px #20382f24}.board-settings-panel h2{font-size:1.05rem;margin:0 0 20px}.board-settings-panel fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}.board-settings-panel legend{font-size:.85rem;font-weight:700;padding:0;margin-bottom:10px}.border-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.board-palette-choice,.board-setting-choice{position:relative;cursor:pointer}.board-setting-choice{display:grid;place-items:center;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:10px;font-size:.9rem;font-weight:700}.board-setting-choice:has(input:checked){background:var(--mint);color:var(--green);border-color:var(--green)}.board-palette-choice input,.board-setting-choice input{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%)}.board-palette-choice:has(input:focus-visible),.board-setting-choice:has(input:focus-visible){outline:3px solid var(--purple);outline-offset:4px}.board-palette-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.board-palette-choice{display:grid;justify-items:center;gap:8px;padding:3px 0;border-radius:8px}.palette-preview{display:grid;grid-template-columns:repeat(2,1fr);width:100%;max-width:46px;aspect-ratio:1;border-radius:6px;overflow:hidden}.palette-name{font-size:.7rem;color:var(--muted);font-weight:600}.board-palette-choice:has(input:checked) .palette-preview{outline:2px solid var(--green);outline-offset:2px}.board-palette-choice:has(input:checked) .palette-name{color:var(--green);font-weight:800}.board-palette-choice:has(input:checked):after{content:"✓";position:absolute;top:-3px;right:-3px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-size:12px;font-weight:800}.board-settings-done{display:block;margin-left:auto;padding:9px 16px;font-size:.85rem;min-height:40px}@media(max-width:700px){.lesson-board.border-thick{--coordinate-rail:28px}.border-thick .board-coordinates{font-size:14px}}.workspace-heading{display:block}.workspace-title-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px}.workspace-title-row h1{min-width:0}.workspace-title-row .board-settings{position:static;margin:0;flex-shrink:0}.lesson-board.border-none{display:block;border-radius:4px}.border-none .board-coordinates{display:none}.inline-hint{position:relative;isolation:isolate;display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:19px 27px 19px 20px;border:0;border-radius:7px 12px 12px 7px;background:#f2f5f1;background:color-mix(in srgb,var(--hint-tone) 13%,white);color:var(--hint-ink);animation:hint-unroll .42s cubic-bezier(.2,.75,.25,1)}.inline-hint:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:7px 0 0 7px;background:color-mix(in srgb,var(--hint-tone) 28%,white)}.inline-hint:after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(100% - 12px);width:12px;border-radius:0 12px 12px 0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--hint-tone) 27%,white));animation:hint-scroll-edge .42s cubic-bezier(.2,.75,.25,1)}.hint-bulb{flex-shrink:0;margin-top:2px;color:var(--hint-ink)}.inline-hint-copy{min-width:0;flex:1 1}.inline-hint p{margin:0;font-size:1rem;line-height:1.6}.inline-hint .inline-hint-board{margin-top:9px;font-size:.85rem;opacity:.8}.inline-hint audio{display:block;width:100%;margin-top:12px}@keyframes hint-unroll{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes hint-scroll-edge{0%{left:0}to{left:calc(100% - 12px)}}@media(prefers-reduced-motion:reduce){.inline-hint,.inline-hint:after{animation:none}}.lesson-stars{display:inline-flex;align-items:center;gap:.25rem;vertical-align:middle}.lesson-stars svg{width:1.6rem;height:1.6rem;overflow:visible}.lesson-stars .star-earned{fill:#f2c14e;stroke:#956619}.lesson-stars .star-empty{fill:transparent;stroke:#7b8c85}.lesson-award{margin:1.5rem 0 2rem}.lesson-award>p:first-child{font-weight:700;margin-bottom:.7rem}.lesson-award .lesson-stars{gap:clamp(.3rem,2vw,.8rem)}.lesson-award .lesson-stars svg{width:clamp(2.2rem,8vw,3.7rem);height:clamp(2.2rem,8vw,3.7rem)}.journey-stars,.lesson-best{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.lesson-best{margin:1rem 0 2rem}.journey-stars{margin:.65rem 0}.star-explainer{margin:1rem 0;line-height:1.6}.star-explainer summary{cursor:pointer;font-weight:700}.star-explainer summary:focus-visible{outline:3px solid #6a4bdb;outline-offset:4px}.is-awarded .star-earned{animation:star-arrive .4s both;animation-delay:var(--star-delay);transform-origin:center}@keyframes star-arrive{0%{transform:scale(.65) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@media (prefers-reduced-motion:reduce){.is-awarded .star-earned{animation:none}}.answer-option.previously-tried{opacity:.65;border-style:dashed}.pip-follow-up{margin-top:12px}.pip-avatar{position:relative;aspect-ratio:540/510}.pip-eyes-closed{position:absolute;inset:0;visibility:hidden}.pip-voice-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.pip-voice-controls button{min-height:36px;padding:6px 9px;font-size:.75rem;font-weight:500;border-radius:9px}.pip-voice-status{font-size:.7rem;color:var(--muted)}.pip-avatar.is-blinking .pip-eyes-open{visibility:hidden}.pip-avatar.is-blinking .pip-eyes-closed{visibility:visible}.lesson-activity-layout{display:grid;grid-template-columns:minmax(300px,560px) minmax(290px,1fr);gap:38px;align-items:start}.lesson-stage-main{min-width:0}.lesson-activity-layout .board-workspace{display:block;margin:0;max-width:none}.lesson-coach-dock{position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;padding:4px 4px 8px;animation:pip-dock-enter .32s ease-out}.lesson-coach-dock .star-explainer{margin:0}.lesson-stage-main .completion{margin:0;text-align:left}.lesson-stage-main .completion>h2{margin-top:0}.lesson-stage-main .checkpoint-summary{gap:12px}.lesson-stage-main .checkpoint-summary>div{padding:18px}.lesson-menu-toggle{display:none}@keyframes pip-dock-enter{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@media(max-width:850px){.lesson-shell{padding:12px 16px}.student-workspace{height:calc(100svh - 24px);display:flex;flex-direction:column}.lesson-header{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:10px;flex-shrink:0}.lesson-header .brand{font-size:1.05rem}.lesson-menu-toggle{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;padding:0;background:transparent;color:var(--ink);border:1px solid var(--line)}.lesson-header .journey-link,.lesson-header .lesson-stages{display:none}.lesson-header.menu-open .lesson-stages{display:flex;width:100%;justify-content:space-between;gap:6px}.lesson-header.menu-open .journey-link{display:block;margin-left:auto}.workspace-heading{padding:10px 0;flex-shrink:0}.workspace-heading p{font-size:.75rem;margin-bottom:4px}.workspace-heading h1{font-size:1.35rem}.lesson-activity-layout{flex:1 1;min-height:360px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}.lesson-stage-main{min-height:0;display:flex;justify-content:center;overflow:auto}.lesson-stage-main .board-workspace{height:100%;width:auto;aspect-ratio:1;max-width:100%;flex-shrink:0}.lesson-stage-main .completion,.lesson-stage-main .watch-workspace{width:100%;align-self:flex-start}.lesson-coach-dock{position:static;grid-row:2;min-height:0;max-height:none;overflow-y:auto;align-content:start;gap:12px;animation:none}.lesson-coach-dock .pip-coach{grid-template-columns:76px minmax(0,1fr)}.lesson-coach-dock .pip-avatar{min-width:0;width:76px}.lesson-coach-dock .pip-avatar svg{width:76px}.lesson-coach-dock .pip-bubble{padding:14px}.lesson-coach-dock .pip-bubble p{font-size:.95rem;line-height:1.5}.lesson-coach-dock .lesson-controls{padding-left:0}.lesson-coach-dock .question-card{padding:16px}.student-workspace>.lesson-notice{margin:0 0 8px;padding:8px 12px;font-size:.8rem}.student-workspace>.save-error{flex-shrink:0}}@media(prefers-reduced-motion:reduce){.lesson-coach-dock{animation:none}.pip-avatar.is-blinking .pip-eyes-open{visibility:visible}.pip-avatar.is-blinking .pip-eyes-closed{visibility:hidden}}@media(min-width:851px){.lesson-coach-dock{--pip-dock-top:clamp(100px,20vh,180px);position:fixed;z-index:25;top:calc(var(--pip-dock-top) - 20px);right:0;width:clamp(300px,calc(100vw - 634px),650px);max-height:calc(100dvh - var(--pip-dock-top));padding:32px 0 12px 12px;align-content:start;gap:20px;background:transparent}.lesson-coach-dock .pip-coach{grid-template-columns:100px minmax(0,1fr);padding:18px 24px 18px 12px;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(32,56,47,.1);border-right:0;border-radius:20px 0 0 20px;box-shadow:-3px 5px 18px #20382f12}.lesson-coach-dock .pip-avatar{width:170px;max-width:none;min-width:0;margin:-55px 0 -15px -48px;z-index:1;pointer-events:none}.lesson-coach-dock .pip-avatar svg{width:170px}.lesson-coach-dock .pip-bubble{background:transparent;border:0;border-radius:0;padding:8px 0}.lesson-coach-dock .question-card,.lesson-coach-dock .star-explainer{margin-right:24px}.lesson-coach-dock .lesson-controls{padding:0 24px 0 0}}.lesson-board-squares [data-piece]{transition-timing-function:cubic-bezier(.22,.61,.36,1)!important}.lesson-menu-header{display:flex;border:0;padding:0 0 4px;gap:0}.lesson-menu-header .lesson-menu-toggle{display:grid;place-items:center;margin:0;width:44px;height:44px;padding:0;background:transparent;color:var(--ink);border:1px solid var(--line)}.lesson-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(340px,86vw);max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0 22px 22px 0;background:white;color:var(--ink);box-shadow:12px 0 40px #20382f22;overflow:hidden}.lesson-drawer::backdrop{background:#142e2440}.lesson-drawer-content{padding:24px;height:100%;overflow-y:auto;overscroll-behavior-y:contain}.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer-heading .brand{font-size:1.1rem}.drawer-close{width:44px;height:44px;padding:0;font-size:1.6rem;flex-shrink:0}.drawer-journey{display:block;color:var(--green);font-weight:700;margin:22px 0 28px;text-decoration:none}.lesson-drawer h2{font-size:1.05rem;margin:0 0 16px}.lesson-drawer nav{display:grid;gap:8px}.drawer-stage{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 10px;text-align:left;background:transparent;color:var(--ink);border:1px solid transparent}.drawer-stage small{display:block;font-size:.75rem;font-weight:400;color:var(--muted);margin-top:4px}.drawer-stage-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8eee8;flex-shrink:0}.drawer-stage[aria-current=step]{background:var(--mint);border-color:#b8d9ca;color:var(--green)}.drawer-stage[aria-current=step] .drawer-stage-number{background:var(--green);color:white}.drawer-stage:disabled{opacity:.5;cursor:default}.coaching-panel.lesson-coach-dock[hidden]{display:none}.is-watching .lesson-activity-layout{display:block}.is-watching .lesson-stage-main{display:block;max-width:960px;margin-inline:auto;overflow:visible}.video-actions{margin-top:16px;display:flex;justify-content:flex-end}.video-actions .lesson-controls{padding:0}@media(max-width:850px){.student-workspace.is-watching{height:auto;min-height:calc(100svh - 24px)}.is-watching .lesson-activity-layout{flex:initial;min-height:0}.lesson-menu-header{padding-bottom:0}}.lesson-board [data-piece] svg{filter:none;transition:filter .18s ease}.lesson-board.is-paused [data-piece] svg{filter:contrast(.55) brightness(1.1) sepia(.12)}.lesson-board.is-paused [data-piece]{cursor:default!important}@media(prefers-reduced-motion:reduce){.lesson-board [data-piece] svg{transition:none}}.lesson-menu-header{position:relative;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:nowrap;padding-bottom:20px}.lesson-menu-header .lesson-menu-toggle{flex-shrink:0}.lesson-menu-title{flex:1 1;min-width:0}.lesson-menu-title h1{font-size:clamp(1.3rem,2.3vw,1.9rem);line-height:1.18;margin:0;overflow-wrap:anywhere}.lesson-menu-progress{margin:0 0 3px;color:var(--muted);font-size:.8rem;line-height:1.4}.lesson-menu-header>.board-settings{position:static;margin:0;flex-shrink:0}@media(min-width:851px){.lesson-coach-dock{--pip-dock-top:clamp(88px,12vh,120px)}}@media(max-width:850px){.lesson-shell{padding:10px 0 24px}.student-workspace{height:auto;min-height:calc(100svh - 34px)}.lesson-menu-header{margin:0 12px;gap:10px;padding-bottom:14px}.lesson-menu-title h1{font-size:clamp(1rem,4vw,1.35rem);line-height:1.2}.lesson-menu-progress{display:none}.lesson-activity-layout{flex:initial;min-height:0;grid-template-rows:auto auto;gap:16px}.lesson-stage-main{display:block;overflow:visible;min-height:0}.lesson-stage-main .board-workspace{width:min(100%,60svh);height:auto;max-width:100%;margin-inline:auto;aspect-ratio:1}.lesson-coach-dock{overflow:visible;max-height:none;padding:8px 12px 24px}.lesson-stage-main .completion,.lesson-stage-main .watch-workspace{padding-inline:12px}.student-workspace>.lesson-notice,.student-workspace>.save-error{margin-inline:12px}}.pip-coach{position:relative}.pip-celebration{position:absolute;inset:0;pointer-events:none;z-index:2;border-radius:inherit}.pip-celebration i{position:absolute;left:var(--x);top:var(--y);width:7px;height:11px;background:var(--color);border-radius:2px;opacity:0;animation:pip-confetti 1.05s var(--delay) ease-out both}.celebration-1 i{width:13px;height:13px;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 95%,50% 73%,21% 95%,32% 57%,2% 35%,39% 35%);animation-name:pip-twinkle}.celebration-2 i{width:12px;height:12px;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation-name:pip-twinkle}.celebration-3 i{width:11px;height:11px;border:2px solid var(--color);background:transparent;border-radius:50%;animation-name:pip-bubbles}.celebration-4 i{width:3px;height:15px;border-radius:5px;animation-name:pip-rays}@keyframes pip-confetti{0%{opacity:0;transform:translate(0) rotate(0) scale(.5)}20%{opacity:.9}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.8)}}@keyframes pip-twinkle{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1.2) rotate(25deg)}to{opacity:0;transform:translateY(var(--dy)) scale(.4) rotate(70deg)}}@keyframes pip-bubbles{0%{opacity:0;transform:scale(.4)}25%{opacity:.85}to{opacity:0;transform:translate(var(--dx),-25px) scale(1.3)}}@keyframes pip-rays{0%{opacity:0;transform:scaleY(.2) rotate(25deg)}30%{opacity:.9}to{opacity:0;transform:translate(var(--dx),var(--dy)) scaleY(.6) rotate(25deg)}}@media(prefers-reduced-motion:reduce){.pip-celebration i{animation:none;opacity:.55;transform:none}}.question-card.is-incorrect{background:#fff7df;border-color:#e5bc59;box-shadow:inset 4px 0 0 #dcaa32;animation:task-gentle-shake .36s ease-out 1}.question-card.is-incorrect h2{color:#805b15}.question-card.is-incorrect .retry-instruction{color:#705b34}.lesson-controls .retry-action{background:#f3c760;color:#49340e;border:1px solid #d6a134;box-shadow:0 3px 0 #c99632}.lesson-controls .retry-action:hover:not(:disabled){background:#f6d37e}.lesson-controls .retry-action:active:not(:disabled){box-shadow:0 1px 0 #c99632;transform:translateY(2px)}@keyframes task-gentle-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}@media(prefers-reduced-motion:reduce){.question-card.is-incorrect{animation:none}.lesson-controls .retry-action:active:not(:disabled){transform:none}}.marks-actions{display:flex;flex-wrap:wrap;gap:.65rem}.account-page{max-width:36rem;margin:0 auto;padding:1.5rem}.account-card{margin-top:2rem;padding:1.5rem;background:white;border:1px solid #dce5df;border-radius:1.5rem}.account-card h1{font-size:1.75rem;margin-top:0}.account-card p{line-height:1.5}.profiles-page{max-width:64rem;margin:0 auto;padding:2rem 1.25rem}.profiles-page>.brand{display:inline-block;margin-bottom:2rem}.beginner-square-attention{position:absolute;inset:3%;border:5px solid;border-radius:8%;pointer-events:none;z-index:3;opacity:0;animation:beginner-square-attention 1.6s ease-in-out 3}@keyframes beginner-square-attention{0%,to{opacity:0;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}.coordinate-cue{border-radius:6px;box-shadow:inset 0 0 0 2px #fff7;font-weight:800}@media(prefers-reduced-motion:reduce){.beginner-square-attention{display:none;animation:none}}.lesson-menu-header .lesson-return-current{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-width:44px;min-height:44px;padding:10px 14px;font-size:.85rem;font-weight:600;white-space:nowrap}@media(max-width:600px){.lesson-menu-header .lesson-return-current{width:44px;padding:0}.lesson-return-current .lesson-return-label{display:none}}.lesson-drawer{width:min(390px,92vw)}.drawer-outline{gap:0!important}.drawer-outline details{border-bottom:1px solid var(--line);padding:5px 0}.drawer-outline summary{cursor:pointer;padding:12px 2px;font-weight:600;font-size:.95rem}.drawer-outline summary>span{float:right;font-size:.8rem;font-weight:400;color:var(--muted)}.drawer-outline-step{display:flex;gap:9px;align-items:flex-start;width:100%;min-height:44px;margin:3px 0;padding:10px;text-align:left;background:transparent;color:var(--ink);font-size:.85rem;font-weight:500;line-height:1.4}.drawer-outline-step small{display:block;color:var(--muted);font-size:.72rem;font-weight:400;margin-top:3px}.drawer-outline-step[aria-current=step]{background:var(--mint);color:var(--green)}.drawer-outline-step:disabled{opacity:1;color:#748078;cursor:default}.drawer-step-state{width:16px;flex-shrink:0;color:var(--green)}.drawer-outline-step:disabled .drawer-step-state{color:#8c9690}.drawer-chapter{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.drawer-chapter h3{font-size:.85rem;font-weight:600;color:var(--muted);margin:0 0 12px}.drawer-chapter a,.drawer-chapter p[aria-current]{display:block;font-size:.9rem;line-height:1.4;padding:10px 0;margin:0;text-decoration:none}.drawer-chapter p[aria-current]{font-weight:600}.drawer-chapter small{display:block;color:var(--muted);font-weight:400;font-size:.75rem;margin-top:3px}.completion-actions{flex-wrap:wrap;align-items:center}.next-lesson-link small{display:block;font-size:.8rem;font-weight:400;margin-top:5px}.pip-avatar-column{min-width:0;flex-shrink:0}.pip-avatar-column .pip-voice-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:8px}.pip-avatar-column .pip-voice-controls button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;color:var(--green)}.pip-avatar-column .pip-voice-controls button:hover:not(:disabled){background:var(--mint)}.pip-avatar-column .pip-voice-status{flex-basis:100%;text-align:center;line-height:1.35}.pip-avatar-column .pip-voice-status:empty{display:none}@media(max-width:850px){.lesson-coach-dock .pip-coach{grid-template-columns:96px minmax(0,1fr)}.lesson-coach-dock .pip-avatar{margin-inline:auto}}.drawer-outline-step{align-items:center;justify-content:space-between;gap:12px}.drawer-step-label{min-width:0;flex:1 1}.drawer-step-state{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;margin-left:auto}.drawer-step-state.is-complete{background:var(--mint);color:var(--green);box-shadow:inset 0 0 0 1px #177a5e18}.drawer-step-state.is-current{color:var(--green);font-size:.65rem}.pip-avatar-column .pip-voice-controls{gap:0;margin-top:16px}.pip-avatar-column .pip-voice-controls button{position:relative;border:0;border-radius:50%;background:transparent}.pip-avatar-column .pip-voice-controls button:before{content:"";position:absolute;inset:6px;border:1px solid var(--line);border-radius:50%;background:#f6f8f5}.pip-avatar-column .pip-voice-controls button svg{position:relative;width:17px;height:17px}.pip-avatar-column .pip-voice-controls button:hover:not(:disabled){background:transparent}.pip-avatar-column .pip-voice-controls button:hover:not(:disabled):before{background:var(--mint);border-color:#a8cfbd}@media(min-width:851px){.lesson-coach-dock .pip-avatar-column .pip-voice-controls{transform:translateX(-12px)}}.lesson-video-shell .video-container{container-type:inline-size;width:100%}.video-brand-cover{position:absolute;z-index:1;left:2%;top:2.6%;width:15.4%;height:6.1%;display:flex;align-items:center;justify-content:center;gap:.5cqw;border-radius:3cqw 0 0 3cqw;background:#fff;color:#20382f;font-size:1.2cqw;font-weight:600;line-height:1;pointer-events:none}.video-brand-cover>span{width:.55cqw;height:.55cqw;border-radius:50%;background:#26aa7c;flex-shrink:0}.video-display-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:8px}.video-display-controls a,.video-display-controls button{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:.9rem;font-weight:600}.lesson-video-shell:fullscreen{background:#10231d;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;width:100%;height:100%;overflow:auto}.lesson-video-shell:fullscreen .video-container{width:min(100%,calc((100dvh - 96px) * 16 / 9));flex-shrink:0;border-radius:0}.video-display-controls a{border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);text-decoration:none}.lesson-video-shell:fullscreen .video-display-controls{flex-shrink:0}.video-expand-error{margin:8px 0 0;color:var(--muted);font-size:.9rem}.lesson-video-shell:fullscreen .video-expand-error{color:#fff}.lesson-square-label{top:3%;right:3%;z-index:4;display:flex;align-items:center;justify-content:center;width:25%;height:25%;border-radius:25%;background:#fff;color:#20382f;font-size:clamp(9px,1.1vw,15px);font-weight:700;box-shadow:0 1px 3px #20382f26}.lesson-square-label,.practice-star{position:absolute;line-height:1;pointer-events:none}.practice-star{inset:8%;display:grid;place-items:center;color:#ffc647;font-size:clamp(24px,4vw,54px);z-index:3;text-shadow:0 2px 0 #b57412,0 0 3px #fff4cd;filter:drop-shadow(0 2px 2px #6b491b30)}.practice-star.capture-star{inset:0 0 auto auto;width:38%;height:38%;font-size:clamp(16px,2vw,28px)}.piece-practice-shell{max-width:1240px}@media(max-width:600px){.piece-practice-shell{padding:18px 10px 40px}.piece-practice-shell header{padding-inline:8px}.practice-star{font-size:clamp(24px,8vw,46px)}}