@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Nunito:wght@400;600;700;800;900&display=swap";.privacy-paper{border:1.5px solid var(--line-2);background:repeating-linear-gradient(0deg,transparent 0 31px,#2a262006 32px),var(--paper-2);width:min(680px,100%);box-shadow:0 5px 0 var(--line-2);border-radius:20px 20px 10px;padding:22px}.privacy-paper h2{font-size:var(--step-3);margin:5px 0}.privacy-paper header>p:last-child{color:var(--ink-soft);margin:0;line-height:1.5}.privacy-actions{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.privacy-plan{border:1.5px solid var(--berry-dark);background:var(--paper-2);min-height:44px;color:var(--berry-ink);cursor:pointer;border-radius:12px;padding:0 16px;font-weight:900}.privacy-plan-card{border:1.5px dashed var(--berry-dark);background:var(--berry-light);border-radius:14px;margin-top:18px;padding:16px}.privacy-plan-card>strong{color:var(--berry-ink)}.privacy-plan-card dl{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.privacy-plan-card dl div{background:var(--paper-2);border-radius:10px;padding:9px}.privacy-plan-card dt{color:var(--ink-faint);font-size:var(--step--2)}.privacy-plan-card dd{font:900 var(--step-1) "JetBrains Mono",monospace;margin:2px 0 0}.privacy-plan-card [role=note]{color:var(--ink-soft);font-size:var(--step--1);margin:10px 0 0}.privacy-confirm{grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:13px;display:grid}.privacy-confirm label{font-size:var(--step--1);grid-column:1/-1}.privacy-confirm input{border:1.5px solid var(--berry-dark);background:#fff;border-radius:10px;min-width:0;min-height:44px;padding:0 11px}.privacy-confirm button{border:1.5px solid var(--ink);background:var(--berry);cursor:pointer;border-radius:10px;min-height:44px;padding:0 13px;font-weight:900}.privacy-confirm button:disabled,.privacy-actions button:disabled{opacity:.45;cursor:not-allowed}.privacy-message{color:var(--ink-soft);margin:12px 0 0;font-weight:800}@media (width<=520px){.privacy-paper{padding:16px}.privacy-confirm{grid-template-columns:1fr}.privacy-confirm label{grid-column:auto}}.profile-menu{z-index:20;position:relative}.profile-menu__trigger{border:1.5px solid var(--line-2);background:var(--paper-2);cursor:pointer;min-height:44px;box-shadow:0 2px 0 var(--line-2);border-radius:999px;align-items:center;gap:9px;padding:4px 11px 4px 5px;display:flex}.profile-menu__trigger>span{background:var(--sky-light);width:34px;height:34px;color:var(--sky-ink);border-radius:50%;place-items:center;font-weight:900;display:grid}.profile-menu__trigger small{color:var(--ink-faint);font-weight:900}.profile-menu__paper{border:1.5px solid var(--ink);background:repeating-linear-gradient(0deg, transparent 0 31px, #2a262006 32px), var(--paper-2);border-radius:18px 18px 8px;width:min(360px,100vw - 28px);padding:17px;animation:.18s ease-out both profile-paper-in;position:absolute;top:calc(100% + 11px);right:0;box-shadow:6px 7px #2a26202e}.profile-menu__paper.has-privacy{width:min(560px,100vw - 28px);max-height:min(760px,100vh - 95px);overflow:auto}.profile-menu__paper:before{content:"";border-left:1.5px solid var(--ink);border-top:1.5px solid var(--ink);background:var(--paper-2);width:12px;height:12px;position:absolute;top:-7px;right:28px;transform:rotate(45deg)}.profile-menu__paper>header{justify-content:space-between;align-items:start;gap:14px;display:flex}.profile-menu__paper h2{font-size:var(--step-2);margin:3px 0 12px}.profile-menu__close{background:var(--paper-3);cursor:pointer;width:44px;height:44px;font-size:var(--step-3);border:0;border-radius:50%}.profile-menu__list{gap:7px;display:grid}.profile-menu__list>div>button{border:1.5px solid var(--line-2);background:var(--paper);cursor:pointer;text-align:left;border-radius:12px;grid-template-columns:38px 1fr 24px;align-items:center;gap:9px;width:100%;min-height:54px;padding:6px 9px;display:grid}.profile-menu__list>div>button>span:first-child{background:var(--sky-light);width:36px;height:36px;color:var(--sky-ink);border-radius:11px;place-items:center;font-weight:900;display:grid}.profile-menu__list>div>button>span:nth-child(2){min-width:0;display:grid}.profile-menu__list small{color:var(--ink-faint);font-size:var(--step--2)}.profile-menu__list b{color:var(--grass-ink);font-size:var(--step-1)}.profile-menu__list>div>button.is-active{border-color:var(--grass-dark);background:var(--grass-light)}.profile-menu__paper form{border-top:1.5px dashed var(--line-2);margin-top:13px;padding-top:12px}.profile-menu__paper label{color:var(--ink-soft);font-size:var(--step--1);margin-bottom:6px;font-weight:800;display:block}.profile-menu__paper form>div{grid-template-columns:1fr auto;gap:7px;display:grid}.profile-menu__paper input{border:1.5px solid var(--line-2);background:#fff;border-radius:11px;min-width:0;min-height:44px;padding:0 12px}.profile-menu__paper form button{border:1.5px solid var(--ink);background:var(--sun);min-height:44px;box-shadow:0 3px 0 var(--sun-dark);cursor:pointer;border-radius:11px;padding:0 14px;font-weight:900}.profile-menu__paper form button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.profile-menu__paper form p{color:var(--berry-ink);font-size:var(--step--1);margin:7px 0 0;font-weight:800}.profile-menu__paper footer{color:var(--ink-faint);font-size:var(--step--2);justify-content:space-between;align-items:center;gap:9px;margin-top:11px;line-height:1.4;display:flex}.profile-menu__paper footer button,.profile-menu__back{border:1px solid var(--sky-dark);background:var(--sky-light);min-height:44px;color:var(--sky-ink);cursor:pointer;border-radius:9px;padding:0 10px;font-weight:900}.profile-menu__back{margin-bottom:10px}@keyframes profile-paper-in{0%{opacity:0;transform:translateY(-5px)rotate(.3deg)}}@media (width<=520px){.profile-menu__trigger strong{text-overflow:ellipsis;white-space:nowrap;max-width:105px;overflow:hidden}.profile-menu__paper{position:fixed;top:74px;right:14px}.profile-menu__paper.has-privacy{width:calc(100vw - 28px);max-height:calc(100vh - 90px)}.profile-menu__paper:before{display:none}.profile-menu__paper footer{flex-direction:column;align-items:flex-start}.profile-menu__paper footer button{width:100%}}@media (prefers-reduced-motion:reduce){.profile-menu__paper{animation:none}}.profile-menu__rewards:empty{display:none}.profile-menu__rewards{gap:7px;display:grid}.student-rewards__streak{border:1.5px solid var(--sun-dark);background:var(--paper-2);border-radius:12px;align-items:baseline;gap:7px;margin:0;padding:8px 11px;display:flex}.student-rewards__streak strong{font-size:var(--step-0);color:var(--sun-ink)}.student-rewards__streak small{color:var(--ink-soft);font-size:var(--step--2);margin-left:auto}.sticker-shelf{flex-wrap:wrap;gap:6px;display:flex}.sticker-shelf__item{border:1px solid var(--line-2);background:var(--paper);font-size:var(--step--2);border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-weight:800;display:inline-flex}.sticker-shelf__item.is-streak{border-color:var(--sun-dark);color:var(--sun-ink)}.sticker-shelf__item.is-milestone{border-color:var(--sky-dark);color:var(--sky-ink)}.sticker-shelf__item.is-lesson{border-color:var(--grass-dark);color:var(--grass-ink)}.pwa-nav-actions{align-items:center;gap:10px;display:flex}.pwa-install-button{border:1.5px solid var(--ink);background:var(--sun);min-height:44px;box-shadow:0 4px 0 var(--sun-dark);color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:0 14px;font-weight:900;transition:transform .15s,box-shadow .15s;display:flex}.pwa-install-button:active{box-shadow:none;transform:translateY(3px)}.pwa-install-button span[aria-hidden=true]{font-size:var(--step-0);line-height:1}@media (width<=560px){.pwa-install-button{justify-content:center;min-width:44px;padding:0 12px}.pwa-install-button b{display:none}}@media (prefers-reduced-motion:reduce){.pwa-install-button{transition:none}}.suggestion-card{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:13px;max-width:1180px;margin:0 auto 46px;padding:0 28px;display:grid}.suggestion-reason,.suggestion-skills{border:1.5px solid var(--line-2);background:var(--paper-2);box-shadow:0 5px 0 var(--line-2);border-radius:17px}.suggestion-reason{grid-template-columns:52px 1fr auto;align-items:center;gap:13px;min-height:170px;padding:18px;display:grid}.suggestion-reason>span{border:2px solid var(--ink);background:var(--sun-light);width:50px;height:56px;box-shadow:3px 4px 0 var(--sun-dark);color:var(--sun-ink);font-size:var(--step-3);border-radius:15px 15px 7px;place-items:center;font-weight:900;display:grid;transform:rotate(-2deg)}.suggestion-reason h2{font-size:var(--step-3);margin:5px 0}.suggestion-reason div>p:last-child{color:var(--ink-soft);font-size:var(--step--1);margin:0;line-height:1.45}.suggestion-reason button{border:1.5px solid var(--ink);background:var(--sun);min-height:44px;box-shadow:0 3px 0 var(--sun-dark);cursor:pointer;border-radius:11px;padding:0 14px;font-weight:900}.suggestion-reason--struggle-support>span{border-color:var(--sky-dark);background:var(--sky-light);box-shadow:3px 4px 0 var(--sky-dark);color:var(--sky-ink)}.suggestion-skills{padding:16px}.suggestion-skills>header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.suggestion-skills>header span{color:var(--ink-faint);font-size:var(--step--2)}.suggestion-skills>div{gap:7px;margin-top:10px;display:grid}.suggestion-skill{border:1px solid var(--line);background:var(--paper);border-radius:10px;grid-template-columns:minmax(0,1fr) 90px;gap:4px 10px;padding:8px 10px;display:grid}.suggestion-skill>div:first-child{align-items:baseline;gap:7px;display:flex}.suggestion-skill>div:first-child span{color:var(--sky-ink);font-size:var(--step--2);font-weight:800}.suggestion-skill__steps{align-items:center;gap:4px;display:flex}.suggestion-skill__steps i{background:var(--line);border-radius:999px;flex:1;height:7px}.suggestion-skill__steps i.is-on{background:var(--grass)}.suggestion-skill p{color:var(--ink-faint);font-size:var(--step--2);grid-column:1/-1;margin:0}.suggestion-card--loading,.suggestion-card--fallback{border:1.5px dashed var(--line-2);background:var(--paper-2);min-height:110px;box-shadow:none;border-radius:16px;grid-template-columns:55px 1fr;align-items:center;padding:16px 20px}.suggestion-card--fallback>span{background:var(--grass-light);width:48px;height:48px;color:var(--grass-ink);font-size:var(--step-2);border-radius:50%;place-items:center;display:grid}.suggestion-card--fallback p:not(.eyebrow){color:var(--ink-soft);margin:4px 0 0}.suggestion-skeleton{background:linear-gradient(90deg,var(--paper-3),var(--sun-light),var(--paper-3));background-size:200%;border-radius:14px;width:48px;height:48px;animation:1.3s infinite suggestion-load}.suggestion-card--loading div:last-child{gap:4px;display:grid}.suggestion-card--loading span{color:var(--ink-faint);font-size:var(--step--2)}@keyframes suggestion-load{to{background-position:-200%}}@media (width<=899px){.suggestion-card{grid-template-columns:1fr}.suggestion-reason{grid-template-columns:52px 1fr}.suggestion-reason button{grid-column:1/-1}}@media (width<=559px){.suggestion-card{margin-bottom:34px;padding:0 12px}.suggestion-reason{grid-template-columns:45px 1fr;padding:14px}.suggestion-reason>span{width:43px;height:48px}.suggestion-reason h2{font-size:var(--step-2)}.suggestion-reason button{width:100%}.suggestion-skills>header{flex-direction:column;align-items:flex-start}.suggestion-skill{grid-template-columns:1fr}.suggestion-skill__steps{grid-row:2}.suggestion-skill p{grid-row:3}.suggestion-card--loading,.suggestion-card--fallback{margin-inline:12px;padding:14px}}@media (prefers-reduced-motion:reduce){.suggestion-skeleton{animation-duration:.01ms}}.adult-courses{gap:16px;max-width:1180px;margin:0 auto;padding:0 28px 70px;display:grid}.courses-heading h2{font-size:var(--step-5);margin:5px 0 0}.course-card{border:1.5px solid var(--line-2);background:var(--paper-2);box-shadow:0 5px 0 var(--line-2);border-radius:18px;padding:20px 22px}.course-card>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.course-card h3{font-size:var(--step-2);overflow-wrap:anywhere;margin:0}.course-card>header>div{gap:4px;display:grid}.course-preview-badge,.course-preview-pill{border:1px solid var(--sun-dark);background:var(--sun-light);width:fit-content;color:var(--sun-ink);font:700 var(--step--2) "JetBrains Mono";letter-spacing:.04em;border-radius:999px;padding:3px 8px}.course-card>header small{color:var(--ink-faint);font-size:var(--step--1);font-style:italic}.course-total{color:var(--ink-faint);font:500 var(--step--2) "JetBrains Mono";letter-spacing:.05em}.course-module h4{font-size:var(--step-0);margin:0 0 6px}.course-unit h5{color:var(--ink-faint);font:500 var(--step--2) "JetBrains Mono";letter-spacing:.05em;margin:12px 0 6px}.course-unit ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.course-lesson button{border:1.5px solid var(--line-2);background:var(--paper);width:100%;min-height:44px;box-shadow:0 3px 0 var(--line-2);cursor:pointer;text-align:left;font:inherit;border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 13px;transition:transform .12s;display:grid}.course-lesson button:hover{transform:translateY(-2px)}.course-lesson__no{border:2px solid var(--line-2);background:var(--paper-2);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.course-lesson--in_progress button{border-color:var(--ink);box-shadow:0 3px 0 var(--sun-dark)}.course-lesson--in_progress .course-lesson__no{border-color:var(--ink);background:var(--sun)}.course-lesson--completed .course-lesson__no{border-color:var(--grass-dark);background:var(--grass-light);color:var(--grass-ink)}.course-lesson__body{gap:2px;min-width:0;display:grid}.course-lesson__body strong{font-size:var(--step-0);overflow-wrap:anywhere;line-height:1.3}.course-lesson__body em{color:var(--ink-faint);font-size:var(--step--1);overflow-wrap:anywhere}.course-lesson__meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.course-lesson__meta small{color:var(--ink-faint);font:500 var(--step--2) "JetBrains Mono";letter-spacing:.05em}.course-pill{background:var(--line);color:var(--ink-soft);border-radius:999px;padding:2px 8px}.course-pill--in_progress{background:var(--sun-light);color:var(--sun-ink)}.course-pill--completed{background:var(--grass-light);color:var(--grass-ink)}.course-track{background:var(--sky-light);color:var(--sky-ink);border-radius:999px;padding:2px 8px}.course-lesson__action{color:var(--ink-soft);font-size:var(--step--1);font-weight:900}@media (width<=559px){.adult-courses{padding:0 12px 50px}.courses-heading h2{font-size:var(--step-4)}.course-card{padding:14px}.course-lesson button{grid-template-columns:34px minmax(0,1fr)}.course-lesson__action{grid-column:2}}@media (prefers-reduced-motion:reduce){.course-lesson button{transition:none}.course-lesson button:hover{transform:none}}.curriculum-roadmap{max-width:1180px;margin:0 auto;padding:0 28px 70px}.roadmap-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;display:flex}.roadmap-heading h2{font-size:var(--step-5);margin:5px 0 0}.roadmap-grades{border:1.5px solid var(--line-2);background:var(--paper-3);border-radius:999px;gap:6px;padding:4px;display:flex}.roadmap-grades button{cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:44px;padding:0 20px;font-weight:900}.roadmap-grades button[aria-pressed=true]{border:1.5px solid var(--ink);background:var(--sun);box-shadow:0 3px 0 var(--sun-dark)}.roadmap-loading{border:1.5px dashed var(--line-2);background:var(--paper-2);border-radius:16px;justify-content:center;align-items:center;gap:12px;min-height:180px;display:flex}.roadmap-loading span{border:3px solid var(--line-2);border-top-color:var(--sun-dark);border-radius:50%;width:18px;height:18px;animation:1s linear infinite spin}.roadmap-sync{min-height:32px;color:var(--ink-faint);font-size:var(--step--2)}.roadmap-layout{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:18px;display:grid}.roadmap-subjects{gap:10px;display:grid}.roadmap-subjects button{border:2px solid var(--line-2);background:var(--paper);min-height:96px;box-shadow:0 3px 0 var(--line-2);cursor:pointer;text-align:left;border-radius:15px;gap:6px;padding:13px 15px;display:grid}.roadmap-subjects button[aria-pressed=true]{border-color:var(--ink);background:var(--paper-2);box-shadow:0 4px 0 var(--ink);transform:translateY(-2px)}.roadmap-subjects button>span{font-size:var(--step-0);align-items:center;gap:8px;font-weight:900;display:flex}.roadmap-subjects button>span i{background:var(--subject-color);border:1.5px solid #00000040;border-radius:5px;width:14px;height:14px}.roadmap-subjects small{color:var(--ink-faint);font:500 var(--step--2) "JetBrains Mono";letter-spacing:.05em}.roadmap-subjects button>div{align-items:center;gap:8px;display:flex}.roadmap-subjects button>div b{background:linear-gradient(90deg, var(--subject-color) 0 var(--subject-percent), #00000014 var(--subject-percent));border-radius:999px;flex:1;height:7px;overflow:hidden}.roadmap-subjects button>div em{color:var(--ink-soft);font-size:var(--step--2);font-style:normal;font-weight:800}.roadmap-map{border:1.5px solid var(--line-2);background:var(--paper-2);box-shadow:0 5px 0 var(--line-2);border-radius:18px;padding:20px 22px}.roadmap-map>header{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.roadmap-map h3{font-size:var(--step-2);margin:0}.roadmap-map>header span{color:var(--ink-faint);font:500 var(--step--2) "JetBrains Mono"}.roadmap-map ol{gap:13px;margin:0;padding:0;list-style:none;display:grid;position:relative}.roadmap-map ol:before{content:"";background:var(--line-2);border-radius:3px;width:3px;position:absolute;top:24px;bottom:24px;left:22px}.roadmap-node{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:65px;display:grid;position:relative}.roadmap-node__dot{z-index:1;border:2.5px solid var(--line-2);background:var(--paper-2);width:46px;height:46px;color:var(--ink-faint);border-radius:50%;place-items:center;font-weight:900;display:grid}.roadmap-node--ready .roadmap-node__dot,.roadmap-node--in_progress .roadmap-node__dot{border-color:var(--ink);background:var(--sun);color:var(--ink);box-shadow:0 3px 0 var(--sun-dark)}.roadmap-node--completed .roadmap-node__dot{border-color:var(--grass-dark);background:var(--grass-light);color:var(--grass-ink)}.roadmap-node--locked{opacity:.55}.roadmap-node__body{min-width:0}.roadmap-node__body h4{max-width:var(--measure);font-size:var(--step-0);margin:0;line-height:1.3}.roadmap-node__body p{color:var(--ink-faint);font:500 var(--step--2) "JetBrains Mono";margin:3px 0 0}.roadmap-node__body>small{color:var(--sun-ink);font-size:var(--step--2);font-weight:900}.roadmap-node>button{border:1.5px solid var(--ink);background:var(--sun);min-height:44px;box-shadow:0 3px 0 var(--sun-dark);cursor:pointer;border-radius:999px;padding:0 19px;font-weight:900}.roadmap-node--completed>button{border-color:var(--grass-dark);background:var(--grass-light);box-shadow:0 3px 0 var(--grass-dark);color:var(--grass-ink)}.roadmap-node__locked{color:var(--ink-faint);font-size:var(--step--2);font-weight:800}.roadmap-step-track{gap:3px;max-width:360px;margin-top:7px;display:flex}.roadmap-step-track i{background:var(--line);border-radius:999px;flex:1;min-width:8px;height:6px}.roadmap-step-track i.is-committed{background:var(--grass)}.roadmap-step-track i.is-current{background:var(--sun);box-shadow:inset 0 0 0 1px var(--sun-dark)}@media (width<=760px){.roadmap-layout{grid-template-columns:1fr}.roadmap-subjects{scroll-snap-type:x mandatory;margin:0 -12px;padding:3px 12px 8px;display:flex;overflow-x:auto}.roadmap-subjects button{scroll-snap-align:start;min-width:200px}.roadmap-map{padding:17px}}@media (width<=559px){.curriculum-roadmap{padding:0 12px 50px}.roadmap-heading{flex-direction:column;align-items:flex-start}.roadmap-heading h2{font-size:var(--step-4)}.roadmap-grades{width:100%}.roadmap-grades button{flex:1}.roadmap-map{padding:14px}.roadmap-map>header{flex-direction:column;align-items:flex-start}.roadmap-node{grid-template-columns:42px minmax(0,1fr)}.roadmap-map ol:before{left:20px}.roadmap-node__dot{width:42px;height:42px}.roadmap-node>button,.roadmap-node__locked{grid-column:2;width:100%}.roadmap-node>button{margin-top:3px}.roadmap-step-track{max-width:none}}@media (prefers-reduced-motion:reduce){.roadmap-loading span{animation-duration:.01ms}}.teacher-chat{min-height:0;color:var(--ink);background:var(--paper-2);flex-direction:column;gap:10px;padding:12px;display:flex}.teacher-chat__header{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr;align-items:center;gap:10px;padding-bottom:10px;display:grid;position:relative}.teacher-chat__close{border:1px solid var(--line-2);background:var(--paper-2);width:44px;height:44px;font-size:var(--step-2);cursor:pointer;border-radius:12px;display:none;position:absolute;top:0;right:0}.teacher-chat__portrait{border:1.5px solid var(--ink);background:linear-gradient(160deg, var(--sun-light), var(--paper-2));width:50px;height:58px;box-shadow:3px 3px 0 var(--line-2);border-radius:45% 45% 12px 12px;flex-direction:column;justify-content:center;align-items:center;display:flex;transform:rotate(-1.5deg)}.teacher-chat__portrait span{color:var(--sun-ink);font-size:var(--step-0);line-height:1}.teacher-chat__portrait b{font:900 var(--step--2) "JetBrains Mono", monospace}.teacher-chat__header>div:last-child{min-width:0}.teacher-chat__header strong{font-size:var(--step--1);margin:2px 0 4px;line-height:1.3;display:block}.teacher-chat__eyebrow{color:var(--sky-ink);font:500 var(--step--2)/1.25 "JetBrains Mono", monospace;letter-spacing:.02em;text-wrap:balance;margin:0}.teacher-chat__hud{background:var(--paper-3);width:fit-content;max-width:100%;min-height:24px;color:var(--ink-faint);font-size:var(--step--2);border:1px solid #0000;border-radius:999px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:3px 7px 3px 5px;font-weight:700;line-height:1.25;display:grid}.teacher-chat__hud-track{grid-template-columns:repeat(3,6px);gap:2px;display:grid}.teacher-chat__hud-track i{background:var(--line-2);border-radius:999px;width:6px;height:4px;transition:background-color .18s,transform .18s}.teacher-chat__hud-copy{overflow-wrap:anywhere;min-width:0}.teacher-chat__hud[data-stage=sending],.teacher-chat__hud[data-stage=thinking],.teacher-chat__hud[data-stage=streaming]{border-color:var(--sky-dark);background:var(--sky-light);color:var(--ink-soft)}.teacher-chat__hud[data-stage=idle] .teacher-chat__hud-track i:first-child,.teacher-chat__hud[data-stage=thinking] .teacher-chat__hud-track i:first-child,.teacher-chat__hud[data-stage=streaming] .teacher-chat__hud-track i:nth-child(-n+2){background:var(--grass)}.teacher-chat__hud[data-stage=sending] .teacher-chat__hud-track i:first-child,.teacher-chat__hud[data-stage=thinking] .teacher-chat__hud-track i:nth-child(2),.teacher-chat__hud[data-stage=streaming] .teacher-chat__hud-track i:nth-child(3){background:var(--sun);animation:1s ease-in-out infinite teacher-chat-pulse}.teacher-chat__hud[data-stage=error] .teacher-chat__hud-track i:first-child,.teacher-chat__hud[data-stage=offline] .teacher-chat__hud-track i:first-child{background:var(--berry)}.teacher-chat__transcript{overscroll-behavior:contain;scrollbar-color:var(--line-2) transparent;flex-direction:column;flex:1;gap:8px;min-height:130px;padding:3px 2px 6px;display:flex;overflow-y:auto}.teacher-chat__activity{flex-direction:column;gap:6px;padding-bottom:2px;display:flex}.teacher-chat__activity-now{border:1px solid var(--sky-dark);background:var(--sky-light);border-radius:11px;grid-template-columns:8px 1fr;align-items:center;gap:8px;padding:8px 9px;display:grid}.teacher-chat__activity-now>span{background:var(--sky-dark);border-radius:50%;width:8px;height:8px}.teacher-chat__activity-now>div{align-items:baseline;gap:7px;min-width:0;display:flex}.teacher-chat__activity-now b{font:700 var(--step--2) "JetBrains Mono";letter-spacing:.05em;text-transform:uppercase;flex:none}.teacher-chat__activity-now small{color:var(--ink-soft);font-size:var(--step--2);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.teacher-chat__activity-now.is-sun{border-color:var(--sun-dark);background:var(--sun-light)}.teacher-chat__activity-now.is-sun>span{background:var(--sun-dark)}.teacher-chat__activity-now.is-grass{border-color:var(--grass-dark);background:var(--grass-light)}.teacher-chat__activity-now.is-grass>span{background:var(--grass-dark)}.teacher-chat__activity-now.is-berry{border-color:var(--berry-dark);background:var(--berry-light)}.teacher-chat__activity-now.is-berry>span{background:var(--berry-dark)}.teacher-chat__activity-history summary{min-height:44px;color:var(--ink-faint);font-size:var(--step--2);cursor:pointer;align-items:center;font-weight:700;display:flex}.teacher-chat__activity-history[open] summary{margin-bottom:5px}.teacher-chat__activity-history{gap:5px;display:grid}.teacher-chat__activity-item{border:1px solid var(--line);background:var(--paper);border-radius:11px;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:7px 9px;display:grid}.teacher-chat__activity-item span{font:700 var(--step--2) "JetBrains Mono";letter-spacing:.04em;text-transform:uppercase}.teacher-chat__activity-item small{color:var(--ink-faint);font-size:var(--step--2);line-height:1.35}.teacher-chat__activity-item.is-sky{border-color:var(--sky-dark);background:var(--sky-light)}.teacher-chat__activity-item.is-sun{border-color:var(--sun-dark);background:var(--sun-light)}.teacher-chat__activity-item.is-grass{border-color:var(--grass-dark);background:var(--grass-light)}.teacher-chat__activity-item.is-berry{border-color:var(--berry);background:var(--berry-light)}.teacher-chat__assist{border:1.5px solid var(--sky-dark);background:var(--sky-light);border-radius:15px;grid-template-columns:72px 1fr;align-items:center;gap:11px;padding:11px;display:grid}.teacher-chat__assist strong{font-size:var(--step--1)}.teacher-chat__assist p{color:var(--ink-soft);font-size:var(--step--2);margin:3px 0 0;line-height:1.45}.teacher-chat__assist-visual{border:1px solid var(--line);background:var(--paper-2);border-radius:12px;place-items:center;min-height:62px;display:grid}.teacher-chat__assist-visual>span{font:800 var(--step-0) "JetBrains Mono";color:var(--sky-ink)}.teacher-chat__mini-fraction{aspect-ratio:1;border:2px solid var(--ink);background:conic-gradient(var(--sun) 0 25%,var(--paper-2) 25%);border-radius:50%;width:48px;position:relative;overflow:hidden}.teacher-chat__mini-fraction i{background:var(--ink);position:absolute}.teacher-chat__mini-fraction i:first-child{width:100%;height:2px;top:calc(50% - 1px);left:0}.teacher-chat__mini-fraction i:last-child{width:2px;height:100%;top:0;left:calc(50% - 1px)}.teacher-chat__keyboardless{border-top:1px solid var(--line);background:var(--paper-2);flex-direction:column;flex:none;gap:10px;padding:9px;display:flex;overflow:hidden}.teacher-chat__quick-rail{min-width:0;position:relative}.teacher-chat__quick-prompts{scrollbar-width:none;flex-wrap:wrap;gap:6px;display:flex;overflow-x:auto}.teacher-chat__quick-prompts::-webkit-scrollbar{display:none}.teacher-chat__quick-prompts button{flex:none}.teacher-chat__quick-rail:before,.teacher-chat__quick-rail:after{content:"";pointer-events:none;width:30px;color:var(--ink-soft);font-size:var(--step--2);align-items:center;font-weight:900;line-height:1;display:none;position:absolute;top:0;bottom:0}.teacher-chat__quick-rail:before{background:linear-gradient(to right, var(--paper-2) 42%, transparent);justify-content:flex-start;padding-left:2px;left:0}.teacher-chat__quick-rail:after{background:linear-gradient(to left, var(--paper-2) 42%, transparent);justify-content:flex-end;padding-right:2px;right:0}.teacher-chat__quick-rail[data-overflow=start]:before,.teacher-chat__quick-rail[data-overflow=both]:before{content:"‹";display:flex}.teacher-chat__quick-rail[data-overflow=end]:after,.teacher-chat__quick-rail[data-overflow=both]:after{content:"›";display:flex}.teacher-chat__quick-prompts button{border:1px solid var(--line-2);background:var(--paper);min-height:44px;font-size:var(--step--2);cursor:pointer;border-radius:999px;padding:0 12px;font-weight:700}.teacher-chat__quick-prompts button:disabled{opacity:.45;cursor:not-allowed}.teacher-chat__keyboardless .student-voice{width:100%}.teacher-chat.is-voice-open .teacher-chat__transcript{flex:auto;min-height:0;padding-bottom:10px}.teacher-chat__empty{border:1px dashed var(--line-2);color:var(--ink-faint);background:repeating-linear-gradient(0deg, transparent 0 23px, #2a262008 24px), var(--paper);text-align:center;border-radius:14px 14px 8px;margin:auto 5px;padding:14px}.teacher-chat__empty span{color:var(--sky-ink);font-size:var(--step-1);display:block}.teacher-chat__empty p{font-size:var(--step--2);margin:5px 0 0;line-height:1.45}.teacher-chat__message{max-width:min(88%, var(--measure));animation:.22s ease-out both teacher-chat-in}.teacher-chat__message p{font-size:var(--step--1);overflow-wrap:anywhere;border:1.5px solid;border-radius:12px;margin:0;padding:8px 10px;font-weight:700;line-height:1.42}.teacher-chat__speaker{color:var(--ink-faint);font:500 var(--step--2) "JetBrains Mono", monospace;text-transform:uppercase;letter-spacing:.06em;margin:0 5px 2px;display:block}.teacher-chat__message--teacher{align-self:flex-start}.teacher-chat__message--teacher p{border-color:var(--sky-dark);background:var(--sky-light);border-bottom-left-radius:4px}.teacher-chat__message--student{align-self:flex-end}.teacher-chat__message--student .teacher-chat__speaker{text-align:right}.teacher-chat__message--student p{border-color:var(--line-2);background:var(--paper-3);border-bottom-right-radius:4px}.teacher-chat__message.is-pending{opacity:.58}.teacher-chat__typing{border:1.5px solid var(--sky-dark);background:var(--sky-light);border-radius:11px 11px 11px 4px;justify-content:center;align-items:center;gap:3px;width:48px;min-height:30px;display:flex}.teacher-chat__typing i{background:var(--sky-dark);border-radius:50%;width:5px;height:5px;animation:.9s infinite alternate teacher-chat-dot}.teacher-chat__typing i:nth-child(2){animation-delay:.15s}.teacher-chat__typing i:nth-child(3){animation-delay:.3s}.teacher-chat__notice{border:1px solid var(--berry-dark);background:var(--berry-light);color:var(--berry-ink);font-size:var(--step--2);border-radius:10px;align-items:center;gap:7px;padding:8px 9px;font-weight:700;line-height:1.3;display:flex}.teacher-chat__notice span{flex:1}.teacher-chat__notice button{background:var(--paper-2);cursor:pointer;min-height:44px;font-size:var(--step--2);border:1px solid;border-radius:8px;padding:0 8px;font-weight:900}.teacher-chat__notice button:disabled{opacity:.45;cursor:not-allowed}.teacher-chat__notice--disabled{border-color:var(--line-2);background:var(--paper-3);color:var(--ink-soft)}.teacher-chat__composer{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:5px 7px;padding-top:9px;display:grid;position:relative}.teacher-chat__composer label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.teacher-chat__composer textarea{resize:none;border:1.5px solid var(--line-2);min-width:0;min-height:52px;color:var(--ink);font:700 var(--step--1)/1.35 Nunito, sans-serif;background:#fff;border-radius:12px;outline:none;padding:9px 10px}.teacher-chat__composer textarea::placeholder{color:var(--ink-faint);font-weight:600}.teacher-chat__composer textarea:focus{border-color:var(--sky-dark);box-shadow:0 0 0 3px var(--sky-light)}.teacher-chat__composer textarea:disabled{background:var(--paper-3);cursor:not-allowed}.teacher-chat__hint{color:var(--ink-faint);font-size:var(--step--2);grid-column:1/-1;line-height:1.3}.teacher-chat__send{border:1.5px solid var(--ink);background:var(--sun);min-width:52px;min-height:52px;box-shadow:0 3px 0 var(--sun-dark);cursor:pointer;font-size:var(--step--2);border-radius:12px;flex-direction:column;grid-area:1/2;justify-content:center;align-items:center;padding:0 8px;font-weight:900;display:flex}.teacher-chat__send b{font-size:var(--step-0);line-height:1}.teacher-chat__send:active:not(:disabled){box-shadow:0 1px 0 var(--sun-dark);transform:translateY(2px)}.teacher-chat__send:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.teacher-chat__cancel{border:1.5px solid var(--berry-dark);background:var(--berry-light);min-height:44px;color:var(--berry-ink);cursor:pointer;font-size:var(--step--2);border-radius:10px;grid-column:1/-1;justify-self:end;padding:0 12px;font-weight:900}.teacher-chat__cancel:active{transform:translateY(1px)}.teacher-chat__cancel:focus-visible,.teacher-chat__send:focus-visible{outline:3px solid var(--sky-light);outline-offset:2px}@keyframes teacher-chat-in{0%{opacity:0;transform:translateY(4px)}}@keyframes teacher-chat-pulse{50%{opacity:.45;transform:scale(.75)}}@keyframes teacher-chat-dot{to{opacity:.25;transform:translateY(-2px)}}.teacher-chat{gap:12px;padding:16px}.teacher-chat__header{flex:none;grid-template-columns:40px minmax(0,1fr);gap:12px;min-height:52px;padding-bottom:12px}.teacher-chat__portrait{width:36px;height:42px}.teacher-chat__eyebrow{font:900 var(--step-0)/1.3 "Nunito",sans-serif;letter-spacing:0;color:var(--ink)}.teacher-chat__hud{background:0 0;margin-top:4px;padding:0}.teacher-chat__hud-track{display:none}.teacher-chat__transcript{flex:1 1 0;gap:14px;min-height:0;padding:4px 0 12px}.teacher-chat__transcript>*{flex:none}.teacher-chat__voice-conversation:empty{display:none}.teacher-chat__empty{background:var(--sky-light);text-align:left;border:none;border-radius:14px 14px 14px 4px;margin:12px 0;padding:16px}.teacher-chat__empty>span{display:none}.teacher-chat__empty p{color:var(--ink);margin:0;line-height:1.5}.teacher-chat__empty strong{margin-bottom:8px;display:inline-block}.teacher-chat__message{padding:12px 14px}.teacher-chat__message p{font-size:var(--step-0);line-height:1.5}.teacher-chat__activity-now{background:0 0;border:none;padding:6px 0}.teacher-chat__activity-now>div{flex-wrap:wrap;gap:3px 8px}.teacher-chat__activity-now small{white-space:normal}.teacher-chat__keyboardless{gap:6px;padding:10px 0 0;overflow:visible}.teacher-chat__quick-prompts{gap:6px}.teacher-chat__write{min-height:44px;color:var(--sky-ink);cursor:pointer;background:0 0;border:0;font-weight:800}.teacher-chat__composer{flex:none}.teacher-chat__close{width:auto;font-size:var(--step--2);padding:0 10px;font-weight:800}@media (width<=899px){.teacher-chat__close{display:block}.teacher-chat__header{padding-right:112px}}@media (height<=480px){.teacher-chat{gap:6px;padding:8px 12px}.teacher-chat__header{min-height:44px;padding-bottom:6px}.teacher-chat__quick-prompts{flex-wrap:nowrap}.teacher-chat__keyboardless{flex-direction:row;align-items:center;padding-top:4px}.teacher-chat__quick-rail{flex:1}.teacher-chat__write{flex:none}}@media (prefers-reduced-motion:reduce){.teacher-chat *{transition:none;animation:none!important}}.teacher-chat__transcript:has(.student-voice-turns article) .teacher-chat__empty{display:none}.student-voice{flex-direction:column;flex:none;gap:8px;min-width:0;display:flex}.student-voice-trigger{border:1px solid var(--line-2);background:var(--paper-2);width:100%;min-height:44px;color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;display:flex}.student-voice-trigger strong{font-size:var(--step--1)}.student-voice-trigger small{color:var(--ink-soft);font-size:var(--step--2);margin-left:auto}.student-voice-trigger[aria-expanded=true]{color:var(--ink-soft);background:0 0;border-color:#0000;padding-block:0}.student-voice-panel{outline-offset:3px;flex-direction:column;gap:12px;min-width:0;display:flex}.student-voice-stream{flex-direction:column;gap:12px;min-width:0;max-height:none;display:flex;overflow:visible}.student-voice-stream:empty,.student-voice-turns:empty{display:none}.student-voice-turns{flex-direction:column;gap:12px;display:flex}.student-voice-turns article{border:1px solid var(--line);background:var(--paper-3);border-radius:14px;min-width:0;max-width:94%;padding:12px 14px}.student-voice-turns .student-voice-turn--student{border-bottom-right-radius:4px;align-self:flex-end}.student-voice-turns .student-voice-turn--teacher{border-color:var(--sky-dark);background:var(--sky-light);border-bottom-left-radius:4px;align-self:flex-start}.student-voice-turns article>span{font-size:var(--step--2);color:var(--ink-soft);font-weight:800}.student-voice-turns p{font-size:var(--step-0);overflow-wrap:anywhere;margin:4px 0 0;line-height:1.5}.student-voice-turns small{font-size:var(--step--2);color:var(--ink-soft)}.student-voice-turns p i{background:currentColor;width:2px;height:1em;margin-left:3px;display:inline-block}.student-voice-dock{border-top:1px solid var(--line);flex:none;gap:10px;padding-top:10px;display:grid}.student-voice-hud{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.student-voice-state{flex:1;min-width:0}.student-voice-state h2{font-size:var(--step--1);margin:0;line-height:1.35}.student-voice-secondary{font-size:var(--step--2);color:var(--ink-soft);margin:3px 0 0;line-height:1.4}.student-voice-level{flex:none;width:64px}.student-voice-level meter{width:100%;height:12px;accent-color:var(--berry)}.student-voice-level label,.student-voice-announcer{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.student-voice-network{font-size:var(--step--2);background:var(--sun-light);border-radius:8px;padding:4px 8px}.student-voice-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.student-voice-actions button{border:1px solid var(--line-2);background:var(--paper-2);min-width:44px;min-height:44px;font:800 var(--step--2)/1.3 "Nunito",sans-serif;color:var(--ink);cursor:pointer;border-radius:10px;padding:8px}.student-voice-actions .student-voice-start{font-size:var(--step--1)}.student-voice-actions[data-primary-action=start] .student-voice-start:not(:disabled),.student-voice-actions[data-primary-action=cancel] .student-voice-cancel:not(:disabled),.student-voice-actions[data-primary-action=barge] .student-voice-barge:not(:disabled),.student-voice-actions[data-primary-action=retry] .student-voice-retry:not(:disabled){background:var(--sun);border-color:var(--sun-dark);box-shadow:0 3px 0 var(--sun-dark)}.student-voice-actions .student-voice-text{color:var(--sky-ink);background:0 0;border-color:#0000;grid-column:1/-1}.student-voice-actions .is-inactive{opacity:.5;box-shadow:none;cursor:default}.student-voice-actions button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.student-voice-warnings__lines{gap:8px;display:grid}.student-voice-note,.student-voice-mic-warning,.student-voice-turn-notice{background:var(--sun-light);color:var(--ink-soft);font-size:var(--step--2);overflow-wrap:anywhere;border-radius:10px;margin:0;padding:10px 12px;line-height:1.45}.student-voice-mic-warning{background:var(--sun);color:var(--ink)}.student-voice-stream>footer{color:var(--ink-soft);font-size:var(--step--2);line-height:1.45}.student-voice-stream>footer p{margin:0}.student-voice-details{font-size:var(--step--2);color:var(--ink-soft)}.student-voice-details summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.student-voice-details summary:before{content:"›";margin-right:8px}.student-voice-details[open] summary:before{content:"⌄"}.student-voice-transport,.student-voice-device{overflow-wrap:anywhere;margin:4px 0}.student-voice-unavailable{background:var(--paper-3);font-size:var(--step--1);border-radius:12px;padding:12px;line-height:1.45}.student-voice-unavailable button{border:1px solid var(--line-2);background:var(--paper-2);min-height:44px;color:var(--sky-ink);cursor:pointer;border-radius:10px;padding:8px 12px;font-weight:800}.voice-history{gap:10px;display:grid}.voice-history .eyebrow{color:var(--ink-soft);font-size:var(--step--2)}.voice-history-turns{gap:12px;margin:0;padding:0;list-style:none;display:grid}.voice-history-turn{background:var(--paper-3);border-radius:12px;padding:12px}.voice-history-turn--teacher-turn{background:var(--sky-light)}.voice-history-turn span{font-size:var(--step--2);font-weight:800}.voice-history-turn p{font-size:var(--step-0);overflow-wrap:anywhere;margin:4px 0 0;line-height:1.5}.voice-history-controls{flex-wrap:wrap;gap:8px;display:flex}.voice-history-controls button{border:1px solid var(--line-2);background:var(--paper-2);cursor:pointer;border-radius:10px;min-height:44px;padding:8px 12px;font-weight:800}@media (height<=480px) and (width>=560px){.student-voice-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.student-voice-actions .student-voice-text{grid-column:auto}.student-voice{gap:0}.student-voice-dock{gap:6px;padding-top:6px}}@media (prefers-reduced-motion:reduce){.student-voice *{transition:none;animation:none}}.student-voice-dock{gap:8px;padding-top:8px}.student-voice-level meter::-webkit-meter-bar{background:var(--paper-3);border:1px solid var(--line-2)}.student-voice-level meter::-webkit-meter-optimum-value{background:var(--berry)}.voice-answer{gap:8px;display:grid}.voice-answer-hold{border:2px solid var(--berry-dark,#8a3b52);background:var(--berry-light,#ffe8ee);min-height:64px;box-shadow:0 3px 0 var(--line-2,#c9c1b2);font:inherit;font-size:var(--step-0);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:800;display:flex}.voice-answer-hold span{font-size:var(--step-3)}.voice-answer-hold.is-holding{background:var(--grass-light,#e6f5df);border-color:var(--grass-dark,#4d7a3a);box-shadow:none;transform:translateY(2px)}.voice-answer-hold:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.voice-answer-status{color:var(--ink-faint,#685f53);font-size:var(--step--1);margin:0}.voice-answer-transcript{border:1.5px dashed var(--line,#c9c1b2);background:var(--paper-2,#fffdf8);border-radius:13px;min-height:62px;padding:11px 13px}.voice-answer-transcript p{font-size:var(--step-0);margin:0;line-height:1.5}.voice-answer-transcript .is-partial{color:var(--ink-faint,#685f53);font-style:italic}.voice-answer-transcript .is-empty{color:var(--ink-faint,#685f53);font-size:var(--step--1)}.voice-answer-transcript.is-wrong{border-color:var(--berry-dark,#8a3b52);border-style:solid}.voice-answer-switch{border:1.5px solid var(--line-2,#c9c1b2);min-height:44px;font:inherit;font-size:var(--step--1);cursor:pointer;background:0 0;border-radius:12px;justify-self:start;padding:0 14px;font-weight:700}.voice-answer-text{border:1.5px solid var(--line,#c9c1b2);background:var(--paper-2,#fffdf8);width:100%;font:inherit;font-size:var(--step-0);resize:vertical;border-radius:13px;padding:11px 13px;line-height:1.5}.voice-answer-text.is-wrong{border-color:var(--berry-dark,#8a3b52)}.replay-page{background:radial-gradient(circle at 12% 3%, #6fb5ff1f, transparent 24%), var(--paper);min-height:100vh}.replay-nav{border-bottom:1.5px solid var(--line);justify-content:space-between;align-items:center;gap:18px;max-width:1240px;min-height:76px;margin:auto;padding:14px 28px;display:flex}.replay-readonly{border:1.5px solid var(--sky-dark);background:var(--sky-light);min-height:44px;color:var(--sky-dark);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:900;display:flex}.replay-readonly i{background:var(--sky);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #6fb5ff2e}.replay-shell{width:min(1184px,100% - 40px);margin:28px auto 70px}.replay-intro{border:1.5px solid var(--line-2);background:repeating-linear-gradient(0deg,transparent 0 31px,#2a262006 32px),var(--paper-2);box-shadow:0 6px 0 var(--line-2);border-radius:22px 22px 12px;grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);align-items:center;gap:34px;padding:30px 34px;animation:.45s both paper-in;display:grid}.replay-intro h1{letter-spacing:-.04em;max-width:680px;margin:8px 0 10px;font-size:clamp(34px,4.5vw,56px);line-height:1}.replay-intro>div>p:last-child{max-width:660px;color:var(--ink-soft);margin:0;font-size:16px;line-height:1.6}.replay-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.replay-summary div{border:1.5px solid var(--line-2);background:var(--paper);border-radius:13px;min-width:0;padding:13px 12px}.replay-summary dt{color:var(--ink-faint);text-transform:uppercase;font:500 9px JetBrains Mono,monospace}.replay-summary dd{overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;font-weight:900}.replay-summary div:first-child{border-color:var(--grass-dark);background:var(--grass-light)}.replay-controls{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:16px;gap:14px;margin:22px 0 18px;padding:16px;display:grid}.replay-scrubber>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.replay-scrubber label{font-weight:900}.replay-scrubber output{color:var(--sun-dark);font:700 12px JetBrains Mono,monospace}.replay-scrubber input{width:100%;min-height:44px;accent-color:var(--sun-dark);cursor:pointer;margin:2px 0 -6px}.replay-scrubber p{color:var(--ink-faint);margin:0;font-size:11px}.replay-filters{flex-wrap:wrap;gap:7px;display:flex}.replay-filters button{border:1.5px solid var(--line-2);background:var(--paper);cursor:pointer;border-radius:999px;min-height:44px;padding:0 14px;font-weight:800;transition:transform .15s,box-shadow .15s}.replay-filters button[aria-pressed=true]{border-color:var(--sky-dark);background:var(--sky-light);color:var(--sky-dark);box-shadow:inset 0 -2px #3a7dc726}.replay-filters button:active{transform:translateY(2px)}.replay-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;display:grid}.replay-timeline,.replay-focus{border:1.5px solid var(--line-2);background:var(--paper-2);box-shadow:0 5px 0 var(--line-2);border-radius:18px}.replay-timeline{min-width:0;padding:20px}.replay-timeline>header{border-bottom:1.5px solid var(--line);justify-content:space-between;align-items:end;gap:16px;padding:0 2px 15px;display:flex}.replay-timeline h2{margin:4px 0 0;font-size:25px}.replay-timeline>header>span{color:var(--ink-faint);font:500 10px JetBrains Mono,monospace}.replay-timeline ol{gap:9px;margin:0;padding:16px 0 0;list-style:none;display:grid}.replay-entry button{border:1.5px solid var(--line-2);background:var(--paper);cursor:pointer;text-align:left;border-radius:13px;grid-template-columns:48px minmax(0,1fr) auto;align-items:stretch;gap:10px;width:100%;min-height:72px;padding:0;transition:transform .15s,opacity .15s,border-color .15s;display:grid;overflow:hidden}.replay-entry button:hover{transform:translateY(-2px)}.replay-entry.is-current button{border-color:var(--sun-dark);background:var(--sun-light);box-shadow:0 3px #e09b0059}.replay-entry.is-future button{opacity:.5}.replay-entry__rail{border-right:1.5px solid var(--line);background:var(--paper-3);place-items:center;display:grid}.replay-entry__rail i{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:50%;place-items:center;width:32px;height:32px;font-style:normal;font-weight:900;display:grid}.replay-entry--teacher-turn .replay-entry__rail{background:var(--sky-light)}.replay-entry--teacher-turn .replay-entry__rail i{border-color:var(--sky-dark);color:var(--sky-dark)}.replay-entry--milestone .replay-entry__rail{background:var(--grass-light)}.replay-entry--milestone .replay-entry__rail i{border-color:var(--grass-dark)}.replay-entry__body{gap:4px;min-width:0;padding:11px 0;display:grid}.replay-entry__meta{align-items:baseline;gap:9px;display:flex}.replay-entry__meta strong{font-size:12px}.replay-entry__meta time{color:var(--ink-faint);font:500 9px JetBrains Mono,monospace}.replay-entry__text{overflow-wrap:anywhere;color:var(--ink-soft);font-size:14px;line-height:1.4}.replay-entry__artifact{color:var(--ink-faint);font-size:10px}.replay-entry__seq{color:var(--ink-faint);padding:12px 11px;font:500 9px JetBrains Mono,monospace}.replay-focus{flex-direction:column;align-items:flex-start;min-height:390px;padding:22px;display:flex;position:sticky;top:18px}.replay-focus__icon{border:2px solid var(--ink);background:var(--paper-3);width:66px;height:72px;box-shadow:4px 5px 0 var(--line-2);border-radius:18px 18px 9px;place-items:center;margin:22px 0 16px;font-size:26px;display:grid;transform:rotate(-2deg)}.replay-focus__icon--teacher-turn{background:var(--sky-light);box-shadow:4px 5px 0 var(--sky-dark)}.replay-focus__icon--milestone{background:var(--grass-light);box-shadow:4px 5px 0 var(--grass-dark)}.replay-focus__icon--artifact{background:var(--sun-light);box-shadow:4px 5px 0 var(--sun-dark)}.replay-focus__kind{color:var(--ink-faint);text-transform:uppercase;font:500 9px JetBrains Mono,monospace}.replay-focus h2{overflow-wrap:anywhere;margin:8px 0;font-size:23px;line-height:1.2}.replay-focus>time{color:var(--ink-faint);font-size:12px}.replay-focus footer{border-top:1.5px solid var(--line);gap:5px;width:100%;margin-top:auto;padding-top:18px;display:grid}.replay-focus footer span{color:var(--ink-faint);font-size:10px}.replay-focus footer code{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.replay-focus__start{color:var(--ink-soft);margin:auto 0}.replay-focus__start>span{font-size:30px}.replay-focus__start strong{margin:8px 0 4px;display:block}.replay-focus__start p{margin:0;font-size:13px;line-height:1.5}.replay-artifact-placeholder{border:1.5px dashed var(--sun-dark);background:var(--sun-light);border-radius:12px;align-items:center;gap:10px;width:100%;margin-top:18px;padding:13px;display:flex}.replay-artifact-placeholder>span{font-size:24px}.replay-artifact-placeholder div{display:grid}.replay-artifact-placeholder small{color:var(--ink-soft)}.replay-artifact-placeholder button{border:1.5px solid var(--sun-dark);background:var(--paper-2);min-height:44px;color:var(--sun-dark);cursor:pointer;border-radius:10px;flex:none;margin-left:auto;padding:0 11px;font-weight:900}.replay-artifact-placeholder button:disabled{opacity:.55;cursor:wait}.replay-artifact-placeholder--forbidden,.replay-artifact-placeholder--error{border-color:var(--berry-dark);background:var(--berry-light)}.replay-artifact-placeholder--forbidden button,.replay-artifact-placeholder--error button{border-color:var(--berry-dark);color:var(--berry-dark)}.replay-audio{border:1.5px solid var(--sky-dark);background:var(--sky-light);border-radius:13px;gap:10px;width:100%;margin-top:18px;padding:13px;display:grid}.replay-audio>div{align-items:center;gap:9px;display:flex}.replay-audio>div>span{border:1.5px solid var(--sky-dark);background:var(--paper-2);width:36px;height:36px;color:var(--sky-dark);border-radius:50%;flex:none;place-items:center;display:grid}.replay-audio>div>div{display:grid}.replay-audio small{color:var(--ink-soft)}.replay-audio audio{width:100%;min-height:44px}.replay-audio>p{color:var(--ink-soft);margin:0;font-size:10px;line-height:1.4}.replay-empty{min-height:180px;color:var(--ink-soft);text-align:center;place-content:center;gap:5px;display:grid}.replay-empty span{font-size:13px}.replay-state{text-align:center;background:var(--paper);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:28px;display:flex}.replay-state h1{margin:8px 0 6px}.replay-state>p:last-of-type{color:var(--ink-soft);margin:0 0 20px}.replay-state .text-button{margin-top:10px}.replay-loader{align-items:end;gap:6px;height:72px;display:flex}.replay-loader span{border:2px solid var(--ink);background:var(--sun);border-radius:5px 5px 2px;width:20px;animation:.8s ease-in-out infinite alternate replay-build}.replay-loader span:first-child{height:28px}.replay-loader span:nth-child(2){height:46px;animation-delay:.13s}.replay-loader span:nth-child(3){height:62px;animation-delay:.26s}.replay-error-mark{border:3px solid var(--berry-dark);background:var(--berry-light);width:64px;height:64px;color:var(--berry-dark);border-radius:18px 18px 8px;place-items:center;font-size:34px;font-weight:900;display:grid;transform:rotate(-4deg)}@keyframes replay-build{to{background:var(--grass-light);transform:translateY(-5px)}}@media (width<=899px){.replay-intro,.replay-layout{grid-template-columns:1fr}.replay-focus{min-height:280px;position:static}.replay-summary{max-width:620px}}@media (width<=559px){.replay-nav{min-height:68px;padding:10px 13px}.replay-nav .brand small{display:none}.replay-readonly{justify-content:center;width:44px;padding:0;font-size:0}.replay-shell{width:calc(100% - 20px);margin:12px auto 40px}.replay-intro{border-radius:18px 18px 9px;gap:22px;padding:25px 19px}.replay-intro h1{font-size:38px}.replay-intro>div>p:last-child{font-size:14px}.replay-summary{grid-template-columns:1fr}.replay-controls{padding:13px}.replay-scrubber>div{flex-direction:column;align-items:flex-start;gap:3px}.replay-filters{grid-template-columns:1fr 1fr;display:grid}.replay-filters button{padding:0 9px}.replay-timeline{padding:14px}.replay-entry button{grid-template-columns:43px minmax(0,1fr)}.replay-entry__seq{display:none}.replay-entry__meta{flex-direction:column;align-items:flex-start;gap:2px}.replay-focus{padding:18px}.replay-focus h2{font-size:21px}.replay-artifact-placeholder{flex-wrap:wrap;align-items:flex-start}.replay-artifact-placeholder button{width:100%;margin-left:0}.replay-audio{padding:11px}}@media (prefers-reduced-motion:reduce){.replay-loader span{animation-duration:.01ms}}.review-page{background:radial-gradient(circle at 8% 0,#6fb5ff21,#0000 24%),#f0eee9;min-height:100vh}.review-nav{border-bottom:1.5px solid var(--line-2);background:var(--ink);min-height:70px;color:var(--paper);justify-content:space-between;align-items:center;gap:18px;padding:11px 22px;display:flex}.review-nav>div{align-items:center;gap:11px;display:flex}.review-nav>div>div{display:grid}.review-nav small{color:var(--ink-dim)}.review-stamp{border:2px solid var(--ink);background:var(--sun);width:46px;height:46px;color:var(--ink);box-shadow:0 3px 0 var(--sun-dark);border-radius:13px 13px 7px;place-items:center;font:900 13px JetBrains Mono;display:grid;transform:rotate(-2deg)}.review-no-publish{border:1px solid var(--sun);color:var(--sun);letter-spacing:.07em;border-radius:999px;padding:7px 11px;font:500 9px JetBrains Mono}.review-layout{grid-template-columns:285px minmax(0,1fr);min-height:calc(100vh - 70px);display:grid}.review-sidebar{border-right:1.5px solid var(--line-2);background:var(--paper-3);padding:20px 13px}.review-sidebar header{padding:0 8px 14px;position:relative}.review-sidebar h2{margin:4px 0 0}.review-sidebar header>span{color:var(--ink-faint);font:500 9px JetBrains Mono;position:absolute;top:22px;right:8px}.review-sidebar nav{gap:7px;display:grid}.review-sidebar nav button{border:1.5px solid var(--line-2);background:var(--paper-2);cursor:pointer;text-align:left;border-radius:13px;grid-template-columns:10px 1fr;align-items:start;gap:9px;width:100%;min-height:82px;padding:10px;display:grid}.review-sidebar nav button[aria-current=page]{border-color:var(--sky-dark);background:var(--sky-light);box-shadow:0 3px #3a7dc747}.review-sidebar nav button>span:last-child{gap:3px;min-width:0;display:grid}.review-sidebar nav strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-sidebar nav small{color:var(--ink-faint)}.review-sidebar nav em{color:var(--berry-dark);font-size:10px;font-style:normal}.review-draft-dot{background:var(--sun);border-radius:50%;width:9px;height:9px;margin-top:5px}.review-draft-dot--approved{background:var(--grass)}.review-draft-dot--rejected{background:var(--berry)}.review-content{min-width:0;padding:24px}.review-workspace{gap:17px;max-width:1180px;margin:auto;display:grid}.review-draft-heading{border:1.5px solid var(--line-2);background:repeating-linear-gradient(0deg,transparent 0 31px,#2a262006 32px),var(--paper-2);box-shadow:0 5px 0 var(--line-2);border-radius:19px 19px 10px;justify-content:space-between;gap:24px;padding:24px 26px;display:flex}.review-draft-heading h1{margin:6px 0 5px;font-size:34px}.review-draft-heading p:last-child{color:var(--ink-soft);margin:0}.review-status{border:1.5px solid var(--sun-dark);background:var(--sun-light);height:32px;color:var(--sun-dark);border-radius:999px;flex:none;align-items:center;padding:0 11px;font-size:11px;font-weight:900;display:flex}.review-status--approved{border-color:var(--grass-dark);background:var(--grass-light);color:var(--grass-dark)}.review-status--rejected{border-color:var(--berry-dark);background:var(--berry-light);color:var(--berry-dark)}.review-provenance,.review-preview,.review-validation,.review-decision{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:16px;padding:18px}.review-provenance>header,.review-preview>header,.review-validation>header,.review-decision>header{justify-content:space-between;align-items:end;gap:14px;display:flex}.review-provenance h2,.review-preview h2,.review-validation h2,.review-decision h2{margin:4px 0 0}.review-provenance>header>code{color:var(--ink-faint);font-size:9px}.review-source-grid{gap:9px;margin-top:13px;display:grid}.review-source-grid article{border:1.5px solid var(--line-2);background:var(--paper);border-radius:13px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;display:grid}.review-source-icon{border:2px solid var(--ink);background:var(--sun-light);width:45px;height:52px;box-shadow:2px 3px 0 var(--sun-dark);border-radius:10px 10px 5px;place-items:center;font:900 9px JetBrains Mono;display:grid}.review-source-grid article>div:nth-child(2){gap:3px;min-width:0;display:grid}.review-source-grid article>div:nth-child(2) strong{overflow-wrap:anywhere}.review-source-grid article span,.review-source-grid article small{color:var(--ink-soft)}.review-source-grid dl{gap:8px;margin:0;display:flex}.review-source-grid dl div{background:var(--paper-3);border-radius:9px;min-width:92px;padding:8px}.review-source-grid dt{color:var(--ink-faint);font-size:8px}.review-source-grid dd{margin:3px 0 0;font-weight:900}.review-extraction-path{color:var(--ink-faint);overflow-wrap:anywhere;margin:10px 0 0;font-size:10px}.review-main-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:17px;display:grid}.review-main-grid>*{min-width:0}.review-preview>header>span{color:var(--ink-faint);font-size:11px}.review-step-tabs{gap:6px;margin:14px 0 12px;display:flex;overflow:auto}.review-step-tabs button{border:1.5px solid var(--line-2);background:var(--paper);cursor:pointer;border-radius:11px;align-items:center;gap:7px;min-width:88px;min-height:44px;padding:0 10px;font-weight:800;display:flex}.review-step-tabs button[aria-selected=true]{border-color:var(--sky-dark);background:var(--sky-light)}.review-step-tabs button span{background:var(--paper-3);border-radius:50%;place-items:center;width:24px;height:24px;font:700 9px JetBrains Mono;display:grid}.review-step-preview{border:1.5px solid var(--line-2);background:var(--paper);border-radius:14px;min-height:260px;padding:17px}.review-step-preview h3{margin:16px 0;font-size:22px}.review-step-preview>p{color:var(--ink-faint);font-size:11px}.review-step-meta{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.review-step-meta span,.review-step-meta strong{background:var(--paper-3);border-radius:999px;padding:4px 8px;font-size:10px}.review-step-meta strong{background:var(--sky-light);color:var(--sky-dark)}.review-step-meta code{color:var(--ink-faint);margin-left:auto;font-size:9px}.review-choice-preview{grid-template-columns:1fr 1fr;gap:9px;display:grid}.review-choice-preview span{border:2px solid var(--line-2);border-radius:12px;place-items:center;min-height:52px;padding:10px;font-weight:900;display:grid}.review-fill-preview{place-items:center;gap:8px;display:grid}.review-fill-preview>div{align-items:center;gap:8px;font-size:19px;display:flex}.review-fill-preview i{border:2px dashed var(--sky-dark);background:var(--sky-light);min-width:55px;min-height:44px;color:var(--sky-dark);border-radius:9px;place-items:center;font-size:11px;font-style:normal;display:grid}.review-generic-preview{border:1.5px dashed var(--line-2);border-radius:12px;gap:5px;padding:18px;display:grid}.review-frame-controls{flex-wrap:wrap;gap:7px;margin:14px 0 0;display:flex}.review-frame-controls button{border:1.5px solid var(--line-2);background:var(--paper);min-height:44px;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:0 11px;font:700 9px JetBrains Mono}.review-frame-controls button[aria-pressed=true]{border-color:var(--sky-dark);background:var(--sky-light);color:var(--sky-dark)}.review-step-preview--runtime{box-sizing:border-box;max-width:100%;margin-inline:auto}.review-widget-runtime{min-width:0}.review-widget-runtime .widget-shell{margin:0}.review-answer-material{border:1.5px solid var(--berry-dark);background:var(--berry-light);border-radius:12px;margin-top:14px;padding:12px}.review-answer-material strong{color:var(--berry-dark);letter-spacing:.05em;font:800 9px JetBrains Mono}.review-answer-material pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;color:var(--ink);margin:9px 0 0;font:600 10px/1.45 JetBrains Mono;overflow:auto}.review-validation-counts{gap:5px;display:flex}.review-validation-counts span{background:var(--berry-light);color:var(--berry-dark);border-radius:999px;padding:5px 7px;font-size:9px;font-weight:900}.review-validation-counts span:last-child{background:var(--sun-light);color:var(--sun-dark)}.review-issue-list{gap:8px;margin-top:14px;display:grid}.review-issue{border:1.5px solid var(--berry-dark);background:var(--berry-light);border-radius:11px;padding:11px}.review-issue--warning{border-color:var(--sun-dark);background:var(--sun-light)}.review-issue p{margin:5px 0;font-size:12px}.review-issue code{overflow-wrap:anywhere;font-size:9px}.review-validation-ok{border:1.5px solid var(--grass-dark);background:var(--grass-light);text-align:center;border-radius:12px;align-content:center;place-items:center;gap:3px;min-height:125px;display:grid}.review-validation-ok>span{font-size:24px}.review-validation-ok small{color:var(--grass-dark)}.review-checklist{gap:7px;margin-top:13px;display:grid}.review-checklist label{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.review-checklist input{width:18px;height:18px}.review-decision>header>strong{color:var(--berry-dark);font:700 9px JetBrains Mono}.review-gate{border:1.5px solid var(--sun-dark);background:var(--sun-light);border-radius:12px;gap:10px;margin-top:13px;padding:11px;display:flex}.review-gate p{margin:3px 0 0;font-size:12px}.review-decision-form{grid-template-columns:.7fr 1.3fr;gap:12px;margin-top:13px;display:grid}.review-decision-form label{gap:6px;font-size:12px;font-weight:900;display:grid}.review-decision-form input,.review-decision-form textarea{border:1.5px solid var(--line-2);resize:vertical;background:#fff;border-radius:10px;min-height:44px;padding:9px 11px;font:600 14px Nunito,sans-serif}.review-decision-actions{justify-content:flex-end;gap:9px;margin-top:12px;display:flex}.review-reject{border:1.5px solid var(--berry-dark);background:var(--berry-light);min-height:44px;color:var(--berry-dark);cursor:pointer;border-radius:11px;padding:0 16px;font-weight:900}.review-decision button:disabled{opacity:.45;cursor:not-allowed}.review-approve-blocked{color:var(--berry-dark);font-size:11px;font-weight:800}.review-decision-notice{border:1.5px solid var(--grass-dark);background:var(--grass-light);color:var(--grass-dark);border-radius:10px;margin:12px 0 0;padding:9px;font-weight:800}.review-state{text-align:center;background:var(--paper);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:28px;display:flex}.review-state h1{margin:9px 0 5px}.review-state>p:last-of-type{color:var(--ink-soft)}.review-stamp--locked{background:var(--berry-light);box-shadow:0 3px 0 var(--berry-dark)}.review-state-warning{border:1.5px solid var(--berry-dark);background:var(--berry-light);border-radius:11px;max-width:600px;margin:8px 0 18px;padding:11px}.review-detail-loading,.review-empty{min-height:180px;color:var(--ink-faint);place-items:center;display:grid}@media (width<=899px){.review-layout{grid-template-columns:1fr}.review-sidebar{border-right:0;border-bottom:1.5px solid var(--line-2)}.review-sidebar nav{grid-template-columns:repeat(2,1fr)}.review-main-grid{grid-template-columns:1fr}.review-source-grid article{grid-template-columns:48px minmax(0,1fr)}.review-source-grid dl{grid-column:1/-1}.review-decision-form{grid-template-columns:1fr}}@media (width<=559px){.review-nav{padding:9px 11px}.review-nav small,.review-no-publish{display:none}.review-layout{display:block}.review-sidebar{padding:14px 10px}.review-sidebar nav{display:flex;overflow:auto}.review-sidebar nav button{min-width:240px}.review-content{padding:12px}.review-workspace{gap:12px}.review-draft-heading{flex-direction:column;align-items:flex-start;padding:19px}.review-draft-heading h1{font-size:29px}.review-provenance,.review-preview,.review-validation,.review-decision{padding:13px}.review-provenance>header,.review-preview>header,.review-validation>header,.review-decision>header{flex-direction:column;align-items:flex-start}.review-source-grid article{grid-template-columns:42px minmax(0,1fr)}.review-source-grid dl{grid-template-columns:1fr 1fr;width:100%;display:grid}.review-choice-preview{grid-template-columns:1fr}.review-step-meta code{width:100%;margin-left:0}.review-decision-actions{grid-template-columns:1fr;display:grid}.review-decision-actions button{width:100%}}.review-checks-pending{color:var(--sun-dark);font-size:11px;font-weight:800}.review-queue-filters{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;display:grid}.review-queue-filters label{color:var(--ink-faint);gap:3px;font-size:9px;display:grid}.review-queue-filters select{border:1px solid var(--line-2);background:var(--paper-2);border-radius:9px;min-width:0;min-height:44px;padding:0 7px;font:700 11px Nunito,sans-serif}.review-status--review-approved{border-color:var(--grass-dark);background:var(--grass-light);color:var(--grass-dark)}.review-status--review-rejected,.review-status--changes-requested{border-color:var(--berry-dark);background:var(--berry-light);color:var(--berry-dark)}.review-draft-dot--review-approved{background:var(--grass)}.review-draft-dot--review-rejected,.review-draft-dot--changes-requested{background:var(--berry)}.review-status--superseded{border-color:var(--line-strong);background:var(--paper-3);color:var(--ink-faint)}.review-draft-dot--superseded{background:var(--ink-faint)}.review-decision-form{grid-template-columns:1fr}.review-changes{border:1.5px solid var(--sun-dark);background:var(--sun-light);min-height:44px;color:var(--sun-dark);cursor:pointer;border-radius:11px;padding:0 16px;font-weight:900}.review-conflict{border:1.5px solid var(--berry-dark);background:var(--berry-light);border-radius:11px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:11px;display:flex}.review-conflict span{color:var(--berry-dark)}.review-conflict button{border:1.5px solid var(--berry-dark);background:var(--paper-2);min-height:44px;color:var(--berry-dark);border-radius:9px;margin-left:auto;padding:0 12px;font-weight:900}.review-plan-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.review-plan-grid>div,.review-plan-grid article{border:1.5px solid var(--line-2);background:var(--paper);border-radius:12px;gap:4px;padding:13px;display:grid}.review-plan-grid>div{background:var(--sun-light);border-color:var(--sun-dark);grid-column:1/-1}.review-plan-grid span{color:var(--ink-soft);font-size:12px}.review-generation{border:1.5px solid var(--sky-dark);background:var(--sky-light);border-radius:12px;gap:10px;margin-top:14px;padding:13px;display:grid}.review-generation>div:first-child{justify-content:space-between;gap:10px;display:flex}.review-generation>div:first-child span{color:var(--sky-dark);font:600 9px JetBrains Mono}.review-generation dl{grid-template-columns:repeat(4,1fr);gap:6px;margin:0;display:grid}.review-generation dl div{background:var(--paper-2);border-radius:8px;padding:8px}.review-generation dt{color:var(--ink-faint);font-size:8px}.review-generation dd{overflow-wrap:anywhere;margin:3px 0 0;font-weight:900}.review-generation p{color:var(--ink-soft);margin:0;font-size:10px}.review-audit{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:16px;padding:18px}.review-audit>header{justify-content:space-between;align-items:end;display:flex}.review-audit h2{margin:4px 0 0}.review-audit>header>span{color:var(--ink-faint);font:500 9px JetBrains Mono}.review-audit ol{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.review-audit li{border:1px solid var(--line-2);background:var(--paper);border-radius:10px;grid-template-columns:34px 1fr;gap:10px;padding:10px;display:grid}.review-audit li>span{background:var(--grass-light);width:32px;height:32px;color:var(--grass-dark);border-radius:50%;place-items:center;font:800 10px JetBrains Mono;display:grid}.review-audit li>div{gap:2px;display:grid}.review-audit small{color:var(--ink-faint)}.review-audit p{color:var(--ink-soft);margin:4px 0 0}@media (width<=559px){.review-provenance,.review-preview,.review-validation,.review-decision,.review-audit{padding:13px}.review-choice-preview,.review-plan-grid{grid-template-columns:1fr}.review-plan-grid>div{grid-column:auto}.review-queue-filters,.review-generation dl{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.review-stamp{transform:none}}.review-evidence{border-top:1.5px solid var(--line-2);margin-top:15px;padding-top:15px}.review-evidence>header{justify-content:space-between;align-items:end;gap:12px;display:flex}.review-evidence h3{margin:4px 0 0;font-size:18px}.review-evidence>header>span{color:var(--ink-faint);font:600 9px JetBrains Mono}.review-evidence-list{gap:8px;margin-top:11px;display:grid}.review-evidence details{border:1.5px solid var(--line-2);background:var(--paper);border-radius:12px;overflow:hidden}.review-evidence summary{cursor:pointer;align-items:center;gap:8px;min-height:48px;padding:0 11px;list-style-position:inside;display:flex}.review-evidence summary code{color:var(--ink-faint);font-size:9px}.review-evidence summary strong{color:var(--ink-soft);margin-left:auto;font-size:10px}.review-evidence-role{background:var(--paper-3);color:var(--ink-soft);letter-spacing:.03em;border-radius:999px;padding:4px 7px;font:700 8px JetBrains Mono}.review-evidence-role--facilitator{background:var(--sky-light);color:var(--sky-dark)}.review-evidence-path{color:var(--ink-faint);margin:0;padding:9px 12px 0;font-size:10px}.review-evidence pre{background:var(--paper-3);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin:9px 12px 12px;padding:12px;font:500 12px/1.55 Nunito,sans-serif}.review-evidence-empty{border:1.5px dashed var(--line-2);min-height:74px;color:var(--ink-faint);text-align:center;border-radius:11px;place-items:center;margin-top:11px;display:grid}@media (width<=559px){.review-evidence summary{flex-wrap:wrap;align-items:flex-start;padding:9px}.review-evidence summary strong{width:100%;margin-left:0}.review-evidence pre{margin:8px;padding:10px}.review-evidence-path{padding:8px 9px 0}}.review-audit-download{border:1.5px solid var(--sky-dark);background:var(--sky-light);min-height:44px;color:var(--sky-dark);cursor:pointer;border-radius:10px;justify-self:start;margin-top:7px;padding:0 12px;font-weight:900}.voice-lab{--voice-tone:var(--sun);--voice-dark:var(--sun-dark);--voice-light:var(--sun-light);background:radial-gradient(circle at 80% 0,#ffc23a21,#0000 27%),#f0eee9;min-height:100vh}.voice-lab--listening,.voice-lab--speech-detected,.voice-lab--interrupted{--voice-tone:var(--berry);--voice-dark:var(--berry-dark);--voice-light:var(--berry-light)}.voice-lab--speaking{--voice-tone:var(--sky);--voice-dark:var(--sky-dark);--voice-light:var(--sky-light)}.voice-lab--idle{--voice-tone:var(--grass);--voice-dark:var(--grass-dark);--voice-light:var(--grass-light)}.voice-lab--unsupported,.voice-lab--permission,.voice-lab--error{--voice-tone:var(--berry);--voice-dark:var(--berry-dark);--voice-light:var(--berry-light)}.voice-lab-nav{background:var(--ink);min-height:70px;color:var(--paper);justify-content:space-between;align-items:center;gap:18px;padding:10px 22px;display:flex}.voice-lab-nav>div{align-items:center;gap:11px;display:flex}.voice-lab-nav>div>div{display:grid}.voice-lab-nav small{color:var(--ink-dim);letter-spacing:.08em;font:500 9px JetBrains Mono}.voice-lab-nav>span{border:1px solid var(--sky);color:var(--sky);border-radius:999px;padding:7px 10px;font:500 9px JetBrains Mono}.voice-lab-mark{border:2px solid var(--paper);background:var(--sky-dark);width:46px;height:46px;box-shadow:3px 3px 0 var(--sky);border-radius:50% 50% 42%;place-items:center;font:900 13px JetBrains Mono;display:grid;transform:rotate(-3deg)}.voice-lab-shell{gap:18px;width:min(1180px,100% - 40px);margin:24px auto 70px;display:grid}.voice-lab-hero{border:1.5px solid var(--line-2);background:repeating-linear-gradient(0deg,transparent 0 31px,#2a262007 32px),var(--paper-2);box-shadow:0 6px 0 var(--line-2);border-radius:22px 22px 11px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:center;gap:30px;padding:31px 34px;display:grid}.voice-lab-hero h1{letter-spacing:-.045em;margin:8px 0 10px;font-size:clamp(38px,5vw,58px);line-height:.98}.voice-lab-hero h1 em{color:var(--sky-dark);font-style:normal}.voice-lab-hero>div:first-child>p:last-child{max-width:690px;color:var(--ink-soft);margin:0;line-height:1.6}.voice-privacy{border:1.5px solid var(--sky-dark);background:var(--sky-light);border-radius:15px;gap:13px;padding:16px;display:flex}.voice-privacy>span{border:1.5px solid var(--sky-dark);width:38px;height:38px;color:var(--sky-dark);border-radius:50%;flex:none;place-items:center;display:grid}.voice-privacy p{color:var(--ink-soft);margin:5px 0 0;font-size:12px;line-height:1.5}.voice-console{grid-template-columns:minmax(350px,.8fr) minmax(0,1.2fr);gap:17px;display:grid}.voice-stage,.voice-transcript,.voice-teacher-stream,.voice-latencies,.voice-diagnostics{border:1.5px solid var(--line-2);background:var(--paper-2);box-shadow:0 5px 0 var(--line-2);border-radius:17px}.voice-stage{flex-direction:column;padding:20px;display:flex}.voice-stage>header,.voice-transcript>header,.voice-teacher-stream>header,.voice-latencies>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.voice-stage h2,.voice-transcript h2,.voice-teacher-stream h2,.voice-latencies h2,.voice-diagnostics h2{margin:4px 0 0}.voice-stage>header span{color:var(--ink-soft);font-size:12px}.voice-stage>header code{background:var(--voice-light);color:var(--voice-dark);border-radius:999px;padding:5px 8px;font-size:9px}.voice-transport-strip{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:15px;display:grid}.voice-transport-strip>span{border:1px solid var(--line-2);background:var(--paper-3);min-height:36px;color:var(--ink-soft);border-radius:9px;align-items:center;gap:6px;padding:6px 8px;font-size:10px;display:flex}.voice-transport-strip b{color:var(--ink-faint);text-transform:uppercase;font:600 8px JetBrains Mono}.voice-transport-strip i{background:var(--sky);border-radius:50%;width:7px;height:7px}.voice-transport-strip span[data-tone=sun] i{background:var(--sun);animation:.7s step-end infinite voice-caret}.voice-transport-strip .is-pressure{border-color:var(--berry-dark);background:var(--berry-light);color:var(--berry-dark)}.voice-orb-wrap{place-items:center;min-height:230px;display:grid;overflow:hidden}.voice-orb{border:2px solid var(--ink);background:radial-gradient(circle at 35% 28%,#fff,transparent 24%),var(--voice-light);width:138px;height:138px;box-shadow:0 8px 0 var(--voice-dark);border-radius:50%;place-items:center;transition:all .2s;display:grid;position:relative}.voice-orb>span{z-index:2;color:var(--voice-dark);font-size:39px}.voice-orb i{border:1.5px solid var(--voice-dark);opacity:.16;border-radius:50%;animation:1.7s ease-out infinite voice-ring;position:absolute;inset:-18px}.voice-orb i:nth-child(2){animation-delay:.3s;inset:-36px}.voice-orb i:nth-child(3){animation-delay:.6s;inset:-54px}.voice-lab--idle .voice-orb i,.voice-lab--unsupported .voice-orb i,.voice-lab--permission .voice-orb i,.voice-lab--error .voice-orb i{animation-play-state:paused}.voice-level>div{justify-content:space-between;gap:10px;font-size:11px;font-weight:900;display:flex}.voice-level output{color:var(--voice-dark);font:700 10px JetBrains Mono}.voice-level meter{width:100%;height:22px;accent-color:var(--voice-tone)}.voice-note{min-height:38px;color:var(--ink-soft);margin:7px 0;font-size:12px}.voice-actions{grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin-top:auto;display:grid}.voice-actions button{min-height:44px}.voice-cancel,.voice-barge,.voice-reset{border:1.5px solid var(--line-2);background:var(--paper);cursor:pointer;border-radius:11px;padding:0 12px;font-weight:900}.voice-cancel,.voice-barge{border-color:var(--berry-dark);background:var(--berry-light);color:var(--berry-dark)}.voice-barge:disabled{opacity:.38;cursor:not-allowed}.voice-reset{background:var(--paper-3)}.voice-turns{gap:17px;display:grid}.voice-transcript,.voice-teacher-stream{min-height:220px;padding:20px}.voice-transcript>header>span,.voice-teacher-stream>header>span{background:var(--paper-3);color:var(--ink-faint);border-radius:999px;padding:5px 7px;font:600 8px JetBrains Mono}.voice-transcript:has(.voice-copy:not(:empty))>header>span{color:var(--berry-dark)}.voice-teacher-stream>header>span{color:var(--sky-dark)}.voice-copy{border:1.5px solid var(--line-2);background:var(--paper);min-height:110px;color:var(--ink-soft);border-radius:13px;align-items:flex-start;gap:6px;margin-top:22px;padding:17px;font-size:20px;font-weight:800;line-height:1.45;display:flex}.voice-transcript .voice-copy{border-color:var(--berry-dark);background:linear-gradient(90deg,var(--berry-light),var(--paper) 48%)}.voice-teacher-stream .voice-copy{border-color:var(--sky-dark);background:linear-gradient(90deg,var(--sky-light),var(--paper) 48%)}.voice-copy i{background:currentColor;flex:none;width:2px;height:24px;animation:.7s step-end infinite voice-caret}.voice-latencies{padding:20px}.voice-latencies>header>span{color:var(--ink-faint);font-size:10px}.voice-latencies>div{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:15px;display:grid}.voice-latencies article{border:1.5px solid var(--line-2);background:var(--paper);border-radius:12px;gap:5px;padding:13px;display:grid}.voice-latencies article>span{color:var(--ink-soft);font-size:11px}.voice-latencies strong{color:var(--voice-dark);font:900 21px JetBrains Mono}.voice-latencies small{color:var(--ink-faint);font-size:9px}.voice-diagnostics{justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.voice-diagnostics>div:first-child>p:last-child{color:var(--ink-soft);margin:5px 0 0;font-size:12px}.voice-diagnostics>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.voice-diagnostics button{border:1.5px dashed var(--line-2);background:var(--paper-3);cursor:pointer;border-radius:11px;min-height:44px;padding:0 13px;font-weight:800}.voice-diagnostics button:last-child{border-color:var(--berry-dark);color:var(--berry-dark)}@keyframes voice-ring{0%{opacity:.35;transform:scale(.7)}to{opacity:0;transform:scale(1.08)}}@keyframes voice-caret{50%{opacity:0}}.voice-level meter::-webkit-meter-bar{background:var(--paper-3);border:1px solid var(--line-2);border-radius:999px}.voice-level meter::-webkit-meter-optimum-value{background:var(--voice-tone);border-radius:999px}.voice-level meter::-moz-meter-bar{background:var(--voice-tone);border-radius:999px}@media (width<=899px){.voice-lab-hero,.voice-console{grid-template-columns:1fr}.voice-turns{grid-template-columns:1fr 1fr}.voice-latencies>div{grid-template-columns:repeat(3,1fr)}}@media (width<=559px){.voice-lab-nav{padding:9px 11px}.voice-lab-nav>span,.voice-lab-nav small{display:none}.voice-lab-shell{width:calc(100% - 20px);margin:12px auto 40px}.voice-lab-hero{padding:24px 19px}.voice-lab-hero h1{font-size:39px}.voice-console{display:block}.voice-stage{margin-bottom:14px}.voice-turns{grid-template-columns:1fr;display:grid}.voice-orb-wrap{min-height:200px}.voice-actions{grid-template-columns:1fr}.voice-copy{font-size:17px}.voice-latencies{padding:15px}.voice-latencies>header{flex-direction:column;align-items:flex-start}.voice-latencies>div{grid-template-columns:1fr 1fr}.voice-diagnostics{flex-direction:column;align-items:stretch}.voice-diagnostics>div:last-child{grid-template-columns:1fr;display:grid}.voice-diagnostics button{width:100%}}@media (prefers-reduced-motion:reduce){.voice-orb i,.voice-copy i{animation-duration:.01ms}}:root{--paper:#fbf7ee;--paper-2:#fffdf6;--paper-3:#f5eedc;--ink:#2a2620;--ink-soft:#5b5348;--ink-faint:#6b6153;--ink-dim:#cdc3b0;--line:#e7dfce;--line-2:#d4c9b0;--line-3:#9e8e69;--sun:#ffc23a;--sun-dark:#e09b00;--sun-light:#fff3c4;--sun-ink:#8a5a00;--grass:#5fc377;--grass-dark:#2e7c44;--grass-light:#d8f5dd;--grass-ink:#1f6b3a;--sky:#6fb5ff;--sky-dark:#3a7dc7;--sky-light:#dbe7ff;--sky-ink:#2a5f96;--berry:#ff6b6b;--berry-dark:#a83232;--berry-light:#ffd8d8;--berry-ink:#a83232;--step--2:clamp(.9375rem, .8959rem + .1852vw, 1.0625rem);--step--2-floor:.9375rem;--step--1:clamp(1rem, .9375rem + .2778vw, 1.1875rem);--step-0:clamp(1.0625rem, .9792rem + .3704vw, 1.3125rem);--step-1:clamp(1.1875rem, 1.0833rem + .463vw, 1.5rem);--step-2:clamp(1.3125rem, 1.1667rem + .6481vw, 1.75rem);--step-3:clamp(1.5rem, 1.3125rem + .8333vw, 2.0625rem);--step-4:clamp(1.6875rem, 1.4167rem + 1.2037vw, 2.5rem);--step-5:clamp(1.9375rem, 1.5833rem + 1.5741vw, 3rem);--step-6:clamp(2.25rem, 1.7083rem + 2.4074vw, 3.875rem);--space-1:clamp(.25rem, .2083rem + .1852vw, .375rem);--space-2:clamp(.4375rem, .375rem + .2778vw, .625rem);--space-3:clamp(.625rem, .5208rem + .463vw, .9375rem);--space-4:clamp(.875rem, .7083rem + .7407vw, 1.375rem);--space-5:clamp(1.25rem, 1rem + 1.1111vw, 2rem);--space-6:clamp(1.75rem, 1.375rem + 1.6667vw, 2.875rem);--measure:68ch;color:var(--ink);font-synthesis:none;background:#f0eee9;font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box}small{font-size:var(--step--2)}body{background:#f0eee9;min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;opacity:.22;z-index:100;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");position:fixed;inset:0}button,input{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.eyebrow{font:500 var(--step--2)/1.2 "JetBrains Mono", monospace;color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin:0}.brand{color:inherit;align-items:center;gap:10px;font-weight:900;text-decoration:none;display:flex}.brand-mark{border:2px solid var(--ink);background:var(--sun);width:44px;height:44px;box-shadow:0 3px 0 var(--sun-dark);font:900 var(--step-0) "JetBrains Mono";border-radius:12px 12px 7px;place-items:center;display:grid;transform:rotate(-2deg)}.brand small{font:500 var(--step--2) "JetBrains Mono";color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase}.home-shell{background:var(--paper);min-height:100vh;overflow:hidden}.home-nav{border-bottom:1.5px solid var(--line);justify-content:space-between;align-items:center;max-width:none;min-height:76px;margin:auto;padding:14px max(28px,50% - 590px);display:flex}.student-pill{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:999px;align-items:center;gap:9px;min-height:44px;padding:5px 12px 5px 5px;display:flex}.student-pill>span{background:var(--sky-light);width:34px;height:34px;color:var(--sky-ink);border-radius:50%;place-items:center;font-weight:900;display:grid}.student-pill small{color:var(--berry-ink);font-weight:800}.hero-paper{border:1.5px solid var(--line-2);background:radial-gradient(circle at 75% 15%, #ffc23a2b, transparent 34%), repeating-linear-gradient(0deg, transparent 0 31px, #2a262007 32px), var(--paper-2);max-width:1180px;box-shadow:0 7px 0 var(--line-2);border-radius:24px 24px 12px;grid-template-columns:1.35fr .65fr;align-items:center;gap:50px;margin:24px auto 50px;padding:58px 64px;animation:.55s cubic-bezier(.2,.8,.2,1) both paper-in;display:grid;position:relative}.hero-paper h1{letter-spacing:-.045em;margin:13px 0 14px;font-size:clamp(38px,5vw,66px);line-height:.98}.hero-paper h1 em{color:var(--sun-ink);font-style:normal}.hero-paper>div>p:not(.eyebrow){max-width:570px;color:var(--ink-soft);font-size:var(--step-0);margin:0 0 26px;line-height:1.6}.hero-stack{min-height:230px;position:relative}.paper-card{border:2px solid var(--ink);width:150px;height:172px;font:900 var(--step-4) "JetBrains Mono";border-radius:18px 18px 8px;place-items:center;display:grid;position:absolute;box-shadow:7px 8px #2a262026}.card-one{background:var(--sky-light);top:36px;left:6%;transform:rotate(-10deg)}.card-two{background:var(--grass-light);top:12px;right:6%;transform:rotate(9deg)}.card-three{background:var(--sun-light);bottom:0;left:38%;transform:rotate(2deg)}.button{border:1.5px solid var(--ink);cursor:pointer;border-radius:12px;min-height:44px;padding:0 18px;font-weight:900;transition:transform .15s,box-shadow .15s,background .15s}.button:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.button--primary{background:var(--sun);box-shadow:0 4px 0 var(--sun-dark)}.button--good{background:var(--grass);color:var(--ink);box-shadow:0 4px 0 var(--grass-dark)}.button--quiet{background:var(--paper-2);border-color:var(--line-2);box-shadow:0 3px 0 var(--line-2)}.button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.roadmap-section{max-width:1180px;margin:auto;padding:0 28px 70px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.section-heading h2{font-size:var(--step-4);margin:5px 0 0}.grade-tabs{border:1.5px solid var(--line-2);background:var(--paper-3);border-radius:999px;gap:5px;padding:4px;display:flex}.grade-tabs button{cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:44px;padding:0 15px;font-weight:800}.grade-tabs button.is-active{background:var(--paper-2);box-shadow:0 2px 0 var(--line-2)}.lesson-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.lesson-card{border:1.5px solid var(--line-2);background:var(--paper-2);min-height:300px;box-shadow:0 5px 0 var(--line-2);animation:.45s both card-in;animation-delay:calc(var(--card-index,0) * 55ms);border-radius:18px 18px 10px;flex-direction:column;align-items:flex-start;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.lesson-card:not(.is-locked):hover{border-color:var(--tone-dark);box-shadow:0 9px 0 var(--line-2);transform:translateY(-4px)rotate(-.25deg)}.lesson-card:before{content:"";background:var(--tone);height:7px;position:absolute;inset:0 0 auto}.tone-sun{--tone:var(--sun);--tone-light:var(--sun-light);--tone-dark:var(--sun-dark);--tone-ink:var(--sun-ink)}.tone-sky{--tone:var(--sky);--tone-light:var(--sky-light);--tone-dark:var(--sky-dark);--tone-ink:var(--sky-ink)}.tone-grass{--tone:var(--grass);--tone-light:var(--grass-light);--tone-dark:var(--grass-dark);--tone-ink:var(--grass-ink)}.tone-berry{--tone:var(--berry);--tone-light:var(--berry-light);--tone-dark:var(--berry-dark);--tone-ink:var(--berry-ink)}.lesson-number{font:500 var(--step--2) "JetBrains Mono";color:var(--ink-faint);position:absolute;top:14px;right:14px}.lesson-icon{background:var(--tone-light);width:54px;height:54px;color:var(--tone-ink);font-size:var(--step-2);border-radius:16px;place-items:center;margin:7px 0 15px;font-weight:900;display:grid}.lesson-card h3{font-size:var(--step-1);margin:7px 0;line-height:1.2}.lesson-card>p:not(.eyebrow){color:var(--ink-soft);font-size:var(--step--1);margin:0 0 16px;line-height:1.5}.lesson-tags{flex-wrap:wrap;gap:4px;margin:-7px 0 12px;display:flex}.lesson-tags span{background:var(--tone-light);color:var(--tone-ink);font:500 var(--step--2) "JetBrains Mono";border-radius:999px;padding:3px 7px}.lesson-card>button{min-height:44px;color:var(--tone-ink);cursor:pointer;background:0 0;border:0;margin-top:auto;padding:0;font-weight:900}.lesson-card.is-locked{opacity:.58;box-shadow:none}.locked-label{color:var(--ink-faint);font-size:var(--step--2);margin-top:auto;font-weight:800}.mini-progress{background:var(--line);border-radius:999px;width:100%;height:5px;margin-top:9px;overflow:hidden}.mini-progress span{background:var(--tone);height:100%;display:block}.progress-copy{width:100%;color:var(--ink-faint);font:500 var(--step--2) "JetBrains Mono";justify-content:space-between;margin-top:11px;display:flex}.sync-note{min-height:36px;color:var(--ink-faint);font-size:var(--step--1);align-items:center;gap:8px;margin:-9px 0 16px;display:flex}.sync-note button{background:var(--paper-3);min-height:44px;color:var(--sky-ink);cursor:pointer;border:0;border-radius:8px;padding:0 10px;font-weight:800}.sync-dot{background:var(--sun);width:8px;height:8px;box-shadow:0 0 0 4px var(--sun-light);border-radius:50%;animation:1.2s infinite sync-pulse}.empty-catalog{border:1.5px dashed var(--line-2);color:var(--ink-soft);text-align:center;background:var(--paper-2);border-radius:16px;grid-column:1/-1;padding:34px}.home-footer{background:var(--ink);min-height:85px;color:var(--paper);justify-content:center;align-items:center;gap:15px;padding:20px;display:flex}.home-footer span{color:var(--ink-dim)}.lesson-page{background:radial-gradient(circle at 20% 5%,#6fb5ff1f,#0000 27%),#f0eee9;place-items:center;height:100dvh;min-height:0;padding:24px;display:grid;overflow:hidden}.lesson-frame{border:1.5px solid var(--line-2);background:var(--paper);border-radius:22px;flex-direction:column;width:min(1160px,100%);height:min(760px,100dvh - 48px);min-height:0;display:flex;overflow:hidden;box-shadow:0 8px #d8cfbd}.lesson-header{border-bottom:1.5px solid var(--line);background:var(--paper-2);align-items:center;gap:18px;min-height:64px;padding:10px 15px;display:flex}.icon-button{border:1.5px solid var(--line-2);background:var(--paper-2);cursor:pointer;width:44px;height:44px;font-size:var(--step-3);box-shadow:0 2px 0 var(--line-2);border-radius:12px}.step-progress{flex:1;gap:5px;display:flex}.step-progress span{background:var(--line);border-radius:999px;flex:1;max-width:70px;height:7px}.step-progress .is-done{background:var(--grass)}.step-progress .is-current{background:var(--sun);box-shadow:inset 0 0 0 1px var(--sun-dark)}.status-pill{border:1px solid var(--line-2);min-height:36px;color:var(--ink-faint);font:500 var(--step--2) "JetBrains Mono";letter-spacing:.04em;border-radius:999px;align-items:center;gap:7px;padding:0 10px;display:flex}.status-pill__mark{display:none}.status-pill i{background:var(--ink-dim);border-radius:50%;width:8px;height:8px}.status-online i{background:var(--grass)}.status-offline i,.status-error i{background:var(--berry)}.status-connecting i,.status-loading i,.status-reconnecting i{background:var(--sun)}.milestones{border-bottom:1.5px solid var(--line);background:var(--paper-3);justify-content:center;gap:5px;min-height:58px;padding:9px 20px;display:flex}.milestones>div{min-width:140px;color:var(--ink-faint);font-size:var(--step--2);align-items:center;gap:7px;display:flex}.milestones span{border:1.5px solid var(--line-2);background:var(--paper-2);width:27px;height:27px;font-size:var(--step--2);border-radius:50%;place-items:center;display:grid}.milestones .is-done{color:var(--grass-ink)}.milestones .is-done span{background:var(--grass-light);border-color:var(--grass-dark)}.milestones .is-current{color:var(--ink)}.milestones .is-current span{background:var(--sun);border-color:var(--sun-dark)}.lesson-layout{flex:1;grid-template-columns:minmax(0,1fr) 330px;min-height:0;display:grid}.stage-column{flex-direction:column;gap:10px;min-width:0;min-height:0;padding:18px 20px;display:flex;overflow:hidden}.lesson-context{color:var(--ink-faint);font-size:var(--step--2);justify-content:space-between;align-items:baseline;gap:20px;line-height:1.35;display:flex}.lesson-context span{font:500 var(--step--2)/1.35 "JetBrains Mono";text-transform:uppercase;letter-spacing:.07em}.lesson-preview-notice{border:1.5px solid var(--sun-dark);background:var(--sun-light);width:fit-content;max-width:100%;min-height:32px;color:var(--sun-ink);font:700 var(--step--2) "JetBrains Mono";letter-spacing:.04em;border-radius:999px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:5px 10px;display:flex}.lesson-preview-notice span{border-left:1px solid;padding-left:10px}.prompt-block h1{margin:var(--space-2) 0 0;font-size:var(--step-4);letter-spacing:-.02em;line-height:1.18}.widget-stage{min-height:0;padding:var(--space-4);border:1.5px solid var(--line);background:var(--paper-2);border-radius:16px;flex:1;place-items:center;transition:all .2s;display:grid;overflow:auto}.widget-stage.is-won,.widget-stage.is-recap{border-color:var(--grass-dark);background:var(--grass-light)}.widget-stage.is-milestone{border-color:var(--sun-dark);background:var(--sun-light)}.prompt-audio{width:100%;max-width:320px;height:44px;margin:10px 0 0;display:block}.teacher-panel{border-left:1.5px solid var(--line);background:var(--paper-2);flex-direction:column;gap:10px;width:300px;min-height:0;padding:14px;display:flex}.stage-column>.teacher-panel{display:none}.teacher-scene{border:1.5px solid var(--sky-dark);background:radial-gradient(circle at 50% 25%, #fff 0 12%, transparent 45%), linear-gradient(var(--sky-light) 0 66%, var(--grass-light) 66%);border-radius:15px;place-items:center;height:160px;display:grid;position:relative;overflow:hidden}.teacher-scene:after{content:"";background:var(--ink-faint);width:90px;height:2px;position:absolute;bottom:38px;transform:rotate(-8deg)}.teacher-scene small{color:var(--ink-faint);font-size:var(--step--2);position:absolute;bottom:6px;right:7px}.teacher-avatar{z-index:1;border:2px solid var(--ink);background:var(--sun-light);border-radius:42% 42% 18px 18px;flex-direction:column;justify-content:center;align-items:center;width:78px;height:94px;display:flex;transform:rotate(-2deg);box-shadow:4px 5px #2a26202e}.teacher-avatar span{color:var(--sun-ink);font-size:var(--step-3)}.teacher-avatar b{font:900 var(--step-0) "JetBrains Mono"}.teacher-bubble{border:1.5px solid var(--sky-dark);background:var(--sky-light);font-size:var(--step-0);border-radius:13px 13px 13px 4px;padding:11px 13px;font-weight:700;line-height:1.45}.teacher-bubble.is-win{border-color:var(--grass-dark);background:var(--grass-light)}.conversation{flex-direction:column;flex:1;gap:7px;min-height:80px;display:flex;overflow-y:auto}.conversation div{border:1px solid var(--line-2);background:var(--paper);font-size:var(--step--2);border-radius:10px;padding:8px 10px}.conversation div span{font:500 var(--step--2) "JetBrains Mono";color:var(--ink-faint);margin-right:7px}.conversation p{color:var(--ink-faint);font-size:var(--step--1)}.ask-button{border:1.5px solid var(--line-2);background:var(--paper-3);border-radius:12px;min-height:44px;font-weight:800}.ask-button small{color:var(--ink-faint)}.desktop-teacher-chat{border-left:1.5px solid var(--line);width:330px;min-height:0}.mode-strip,.mobile-teacher-chat{display:none}.action-bar{justify-content:space-between;align-items:center;gap:12px;min-height:58px;display:flex}.action-bar.is-win{border-top:1.5px solid var(--grass-dark);background:var(--grass-light);margin:0 -22px -22px;padding:14px 22px 17px}.win-copy{align-items:center;gap:10px;display:flex}.win-copy>span{background:var(--grass);border:1.5px solid var(--grass-dark);width:42px;height:42px;font-size:var(--step-1);border-radius:50%;place-items:center;display:grid}.win-copy div{flex-direction:column;display:flex}.win-copy small{color:var(--grass-ink)}.action-note{width:100%;color:var(--grass-ink);text-align:center;font-size:var(--step--1);font-weight:800}.notice{width:100%;font-size:var(--step--1);border:1.5px solid;border-radius:12px;flex-direction:column;padding:10px 13px;display:flex}.notice--berry{border-color:var(--berry-dark);background:var(--berry-light)}.notice--sun{border-color:var(--sun-dark);background:var(--sun-light)}.notice>button{background:var(--paper-2);cursor:pointer;border:1.5px solid;border-radius:999px;align-self:flex-start;min-height:44px;margin-top:8px;padding:0 12px;font-weight:800}.choice-grid{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));gap:var(--space-3);width:100%;display:grid}.choice-card{min-height:72px;padding:var(--space-3);border:2px solid var(--line-2);background:var(--paper-2);box-shadow:0 4px 0 var(--line-2);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-1);border-radius:14px;flex-direction:column;transition:all .15s;display:flex}.choice-card:active,.choice-card.is-selected{box-shadow:none;transform:translateY(3px)}.choice-card.is-selected{border-color:var(--sky-dark);background:var(--sky-light)}.choice-card.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.choice-card img{border-radius:8px;max-width:100%;max-height:110px}.choice-card strong{font-size:var(--step-1)}.choice-card small{color:var(--ink-soft)}.fill-illustration-frame{border:1.5px solid var(--line-2);background:var(--paper-2);width:min(100%,420px);box-shadow:0 3px 0 var(--line-2);border-radius:14px;margin:0 auto 10px;padding:8px}.fill-illustration{object-fit:contain;background:var(--paper);border-radius:10px;width:100%;max-width:100%;max-height:260px;margin:0 auto;display:block}.fill-illustration-fallback{border:1.5px dashed var(--line-2);background:var(--paper-2);width:min(100%,420px);color:var(--ink-faint);text-align:center;font-size:var(--step--1);border-radius:14px;margin:0 auto 10px;padding:10px 13px;font-weight:700}.fill-rows{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.fill-row{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.fill-label{font-size:var(--step-1)}.fill-input{border:2px solid var(--line-2);text-align:center;width:72px;min-height:44px;font-size:var(--step-1);background:#fff;border-radius:10px;padding:0 6px;font-weight:900}.fill-input:not(:placeholder-shown),.fill-input:focus{border-color:var(--sky-dark);background:var(--sky-light)}.fill-input.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.widget-hint{margin:var(--space-1) 0 0;color:var(--ink-faint);text-align:center;font-size:var(--step--1)}.table-scroll{text-align:center;max-width:100%;overflow-x:auto}.fill-table{border-collapse:collapse}.fill-table th,.fill-table td{border:2px solid var(--line-2);padding:8px 12px}.fill-table th{background:var(--paper-3);color:var(--ink-soft)}.fill-widget{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.fill-cell{border:2px dashed var(--line-2);min-width:72px;min-height:48px;color:var(--ink);text-align:center;font-size:var(--step-1);cursor:pointer;background:#fff;border-radius:10px;padding:0 10px;font-weight:900;transition:border-color .15s,background .15s,transform .15s}.fill-cell.is-empty{border-color:var(--line-3);color:var(--ink-faint)}.fill-cell:not(.is-empty){border-style:solid}.fill-cell.is-active{border-color:var(--sky-dark);background:var(--sky-light);border-style:solid;transform:translateY(-2px);box-shadow:0 4px #b7cdec}.fill-cell.is-wrong{border-color:var(--berry-dark);background:var(--berry-light);border-style:solid}.answer-pad{width:min(100%,340px);margin-top:var(--space-1);padding:var(--space-3);border:1.5px solid var(--line-2);background:var(--paper);border-radius:16px;box-shadow:0 4px #594b3712}.answer-pad__keys{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.answer-key{border:2px solid var(--line-2);min-height:52px;font:900 var(--step-2) "JetBrains Mono";cursor:pointer;box-shadow:0 4px 0 var(--line-2);background:#fff;border-radius:12px;transition:transform .1s,box-shadow .1s}.answer-key:active:not(:disabled){box-shadow:none;transform:translateY(4px)}.answer-key:disabled{opacity:.4;cursor:default;box-shadow:none}.answer-key--empty{box-shadow:none;background:0 0;border:0}.answer-key--erase{border-color:var(--berry-dark);background:var(--berry-light);box-shadow:0 4px #e0b3b3}.colop-slot{border:2px dashed var(--line-2);width:10ch;min-height:48px;color:var(--ink);text-align:right;font:900 var(--step-2) "JetBrains Mono";cursor:pointer;background:#fff;border-radius:9px;padding:0 7px;transition:border-color .15s,background .15s}.colop-slot.is-empty{border-color:var(--line-3);color:var(--ink-faint)}.colop-slot:not(.is-empty){border-style:solid}.colop-slot.is-active{border-color:var(--sky-dark);background:var(--sky-light);box-shadow:0 0 0 4px var(--sky-light);border-style:solid}.colop-card.is-wrong .colop-slot{border-color:var(--berry-dark);background:#fff;border-style:solid}.colop-grid>.answer-pad{flex-basis:100%;margin:0 auto}@media (prefers-reduced-motion:reduce){.answer-key,.fill-cell{transition:none}}.partition-widget{flex-direction:column;align-items:center;display:flex}.cake{width:min(280px,75vw);max-height:220px;filter:drop-shadow(0 5px 0 var(--line-2));overflow:visible}.cake-slice{fill:var(--paper-2);stroke:var(--ink);stroke-width:1.5px;cursor:pointer;transform-origin:50%;transition:fill .15s,transform .15s}.cake-slice:hover{transform:scale(.98)}.cake-slice.is-filled{fill:var(--cake-color)}.fraction{font-size:var(--step-5);margin-top:10px}.center-state{text-align:center;background:var(--paper);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.center-state h1{margin:18px 0 5px}.center-state p{color:var(--ink-soft)}.loader-cake{border:3px solid var(--ink);background:conic-gradient(var(--sun) 0 25%, var(--paper-2) 25% 100%);border-radius:50%;width:70px;height:70px;animation:1.3s steps(4,end) infinite spin}.error-stamp{border:3px solid var(--berry-dark);background:var(--berry-light);width:64px;height:64px;color:var(--berry-ink);font-size:var(--step-5);border-radius:50%;place-items:center;font-weight:900;display:grid;transform:rotate(-7deg)}.text-button{cursor:pointer;background:0 0;border:0;min-height:44px;text-decoration:underline}@keyframes spin{to{transform:rotate(360deg)}}.colop-grid{justify-content:center;align-items:stretch;gap:var(--space-4);flex-wrap:wrap;width:100%;display:flex}.colop-grid>.widget-hint{flex-basis:100%}.colop-card{min-width:176px;padding:var(--space-3) var(--space-4) var(--space-4);border:2px solid var(--line-2);background:linear-gradient(155deg, #fff 0%, var(--paper-2) 100%);border-radius:16px;flex-direction:column;justify-content:center;align-items:stretch;transition:border-color .2s,background .2s,transform .2s;display:flex;box-shadow:0 6px #594b3712}.colop-card:focus-within{border-color:var(--sky-dark);transform:translateY(-2px)}.colop-card.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.colop-card__eyebrow{background:var(--sun-light);color:var(--ink-soft);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin-bottom:8px;padding:3px 8px;font-weight:900}.colop-stack{justify-content:center;align-items:flex-end;gap:var(--space-3);display:flex}.colop-sign{color:var(--ink-soft);font:900 var(--step-3) "JetBrains Mono";padding-bottom:49px}.colop-numbers{color:var(--ink);font:900 var(--step-3)/1.15 "JetBrains Mono";flex-direction:column;align-items:flex-end;gap:1px;display:flex}.colop-numbers i{background:var(--ink);border-radius:3px;width:100%;height:3px;margin:4px 0}.colop-numbers input,.colop-division input{border:2px solid var(--line-2);width:10ch;min-height:44px;color:var(--ink);text-align:right;font:900 var(--step-2) "JetBrains Mono";background:#fff;border-radius:9px;outline:none;padding:0 7px}.colop-numbers input:focus,.colop-division input:focus{border-color:var(--sky-dark);box-shadow:0 0 0 4px var(--sky-light)}.colop-card.is-wrong input{border-color:var(--berry-dark);background:#fff}.colop-division{color:var(--ink);font:900 var(--step-3)/1.15 "JetBrains Mono";grid-template-columns:auto minmax(100px,1fr);justify-content:center;align-items:end;display:grid}.colop-division__divisor{padding:0 10px 4px 0}.colop-division__house{border-left:3px solid var(--ink);justify-items:end;display:grid}.colop-division__house input{margin:0 0 5px 8px}.colop-division__house i{background:var(--ink);border-radius:0 3px 3px 0;width:100%;height:3px}.colop-division__house strong{padding:5px 8px 0}.colop-work-note{color:var(--ink-soft);font-size:var(--step--1);text-align:center;margin:10px 0 0;font-weight:800}.colop-feedback{color:var(--berry-ink);font-size:var(--step--1);text-align:center;margin:8px 0 0;font-weight:900}.generated-badge{border:1px solid var(--line-2);background:var(--paper-3);color:var(--ink-soft);font:800 var(--step--2) Nunito, sans-serif;letter-spacing:.01em;border-radius:999px;align-items:center;gap:6px;margin:8px 0 0;padding:3px 9px;display:inline-flex}.generated-badge span[aria-hidden]{color:var(--sun-ink);font-size:var(--step--1)}.generated-badge--recap{margin:10px auto 0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.judge-set-widget{gap:var(--space-3);border:0;width:100%;margin:0;padding:0;display:grid}.judge-row.paper-card{width:auto;height:auto;min-height:64px;padding:var(--space-2) var(--space-4);align-items:center;gap:var(--space-3);border:2px solid var(--line-2);background:var(--paper-2);box-shadow:none;font:700 var(--step-0) Nunito, sans-serif;border-radius:12px;display:flex;position:static}.judge-row.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.judge-statement{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.judge-image{object-fit:cover;border-radius:8px;width:56px;height:48px}.judge-actions{gap:8px;display:flex}.candy-button,.knowledge-brick{cursor:pointer;min-width:44px;min-height:44px}.candy-button{border:2px solid var(--line-2);background:var(--paper-2);border-radius:10px;font-weight:900}.candy-button--true.is-selected{border-color:var(--grass-dark);background:var(--grass-light);color:var(--grass-ink)}.candy-button--false.is-selected{border-color:var(--berry-dark);background:var(--berry-light);color:var(--berry-ink)}.number-line-widget{gap:var(--space-3);text-align:center;width:100%;display:grid}.number-line{height:84px;margin:0 22px;position:relative}.number-line__rail{background:var(--ink);height:3px;position:absolute;top:24px;left:0;right:0}.number-line__tick{left:var(--tick-position);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:7px;min-width:44px;min-height:64px;padding:0;display:flex;position:absolute;top:2px;transform:translate(-50%)}.number-line__dot{border:2.5px solid var(--ink);background:var(--paper-2);border-radius:50%;width:16px;height:16px;transition:all .15s}.number-line__tick.is-selected .number-line__dot{background:var(--sun);width:26px;height:26px}.number-line__tick.is-wrong .number-line__dot{border-color:var(--berry-dark);background:var(--berry)}.number-line__label{font:700 var(--step--1) Nunito, sans-serif}.number-line__value{font:900 var(--step-4) Nunito, sans-serif}.build-up-widget{gap:var(--space-4);width:100%;display:grid}.build-up-bricks{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.knowledge-brick{border:2px solid var(--grass-dark);background:var(--paper-2);border-radius:999px;padding:8px 13px;font-weight:800}.knowledge-brick.is-selected{background:var(--grass-light);box-shadow:inset 0 0 0 1px var(--grass-dark)}.knowledge-brick.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.build-up-connector{text-align:center;color:var(--ink-soft);margin:0;font-weight:700}.knowledge-rule.paper-card{border:2px dashed var(--line-2);width:auto;height:auto;min-height:58px;box-shadow:none;text-align:center;font:800 var(--step-0)/1.35 Nunito, sans-serif;background:0 0;border-radius:14px;place-items:center;padding:14px 18px;display:grid;position:static}.knowledge-rule.is-revealed{border-style:solid;border-color:var(--sun-dark);background:var(--sun-light)}.match-widget,.order-widget,.classify-widget,.retell-widget{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.match-widget{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.match-column,.order-pool,.classify-pool{flex-direction:column;gap:8px;display:flex}.match-card,.order-pool-card,.classify-item,.classify-bin__target,.order-controls button{border:2px solid var(--line-2);background:var(--paper-2);cursor:pointer;border-radius:12px;min-width:44px;min-height:44px;font-weight:800}.match-card{padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-2);text-align:left;display:flex}.match-column-label{color:var(--ink-faint);font:700 var(--step--2) "JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase;margin:0}.match-card img,.order-label img,.order-pool-card img,.classify-item img{object-fit:cover;border-radius:7px;width:44px;height:44px}.match-card.is-selected,.match-card.is-linked,.classify-item.is-selected{border-color:var(--sky-dark);background:var(--sky-light)}.match-card.is-wrong,.order-slot.is-wrong,.classify-item.is-wrong,.retell-input.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.match-dot{margin-left:auto}.match-hint{grid-column:1/-1}.order-pool,.classify-pool{flex-flow:wrap;justify-content:center;min-height:44px}.order-pool-card,.classify-item{align-items:center;gap:7px;padding:7px 12px;display:inline-flex}.order-slots{padding:var(--space-3);gap:var(--space-2);border:2px dashed var(--line-2);border-radius:14px;margin:0;list-style:none;display:grid}.order-slot{min-height:54px;padding:var(--space-1) var(--space-2);align-items:center;gap:var(--space-2);border:2px dashed var(--line-2);border-radius:12px;display:flex}.order-number{background:var(--sun-light);border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.order-label{flex:1;align-items:center;gap:7px;font-weight:800;display:flex}.order-placeholder{color:var(--ink-faint)}.order-controls{gap:5px;display:flex}.order-controls button{min-width:44px;padding:0}.order-controls button:disabled{opacity:.35;cursor:not-allowed}.classify-bins{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.classify-bin{min-height:120px;padding:var(--space-2);border:2px dashed var(--line-2);background:var(--paper-2);border-radius:14px}.classify-bin.is-ready{border-color:var(--sky-dark);background:var(--sky-light)}.classify-bin__target{width:100%;padding:7px}.classify-bin__items{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.retell-question{font-size:var(--step-1);font-weight:900}.retell-input{min-height:130px;padding:var(--space-3);border:2px solid var(--line-2);resize:vertical;font-size:var(--step-0);background:#fff;border-radius:12px;line-height:1.5}.retell-widget.is-long-response .retell-input{min-height:220px}.retell-input:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.retell-meta{color:var(--ink-faint);font-size:var(--step--1);justify-content:space-between;gap:10px;display:flex}.retell-meta .is-ready{color:var(--grass-ink);font-weight:800}.hotspot-widget,.sketch-widget{gap:var(--space-3);flex-direction:column;width:min(100%,680px);display:flex}.hotspot-stage{border:1.5px solid var(--line-2);background:var(--paper-3);border-radius:14px;width:100%;position:relative;overflow:hidden}.hotspot-stage__image{object-fit:contain;width:100%;max-height:400px;display:block}.hotspot-marker{left:var(--spot-x);top:var(--spot-y);border:3px dashed var(--sky-dark);cursor:pointer;background:#fffdf6d1;border-radius:50%;width:46px;height:46px;padding:0;font-weight:900;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px #2a26202e}.hotspot-marker.is-selected{background:var(--sky-light);color:var(--sky-ink);border-style:solid}.hotspot-marker.is-wrong{border-color:var(--berry-dark);background:var(--berry-light);color:var(--berry-ink)}.sketch-board{touch-action:none;cursor:crosshair;border:1.5px solid var(--line-2);background:repeating-linear-gradient(0deg,#b8aa8a29 0 1px,transparent 1px 26px),repeating-linear-gradient(90deg,#b8aa8a29 0 1px,transparent 1px 26px),var(--paper-2);border-radius:14px;min-height:260px;position:relative;overflow:hidden}.sketch-board__background,.sketch-board__ink{width:100%;height:100%;position:absolute;inset:0}.sketch-board__background{object-fit:contain;opacity:.55}.sketch-board__ink{pointer-events:none}.sketch-board__ink polyline{stroke:var(--ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.sketch-board__hint{color:var(--ink-faint);pointer-events:none;place-items:center;margin:0;display:grid;position:absolute;inset:0}.sketch-tools{justify-content:center;gap:8px;display:flex}.sketch-tools button{border:1.5px solid var(--line-2);background:var(--paper-2);min-height:44px;box-shadow:0 3px 0 var(--line-2);cursor:pointer;border-radius:11px;padding:0 14px;font-weight:800}.sketch-tools button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.teach-widget{gap:var(--space-4);width:100%;display:grid}.teach-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.teach-heading>span{border:1.5px solid var(--sky-dark);background:var(--sky-light);min-height:28px;color:var(--sky-ink);font:800 var(--step--2) "JetBrains Mono";letter-spacing:.07em;border-radius:999px;align-items:center;padding:5px 9px;display:inline-flex}.teach-heading>div{gap:5px;display:flex}.teach-heading [role=tab]{border:1.5px solid var(--line-2);background:var(--paper-2);color:var(--ink-faint);font:700 var(--step--2) "JetBrains Mono";border-radius:999px;padding:5px 8px}.teach-heading [role=tab][aria-selected=true]{border-color:var(--sky-dark);background:var(--sky-light);color:var(--sky-ink)}.teach-probe-question{font-size:var(--step-1);margin:0;font-weight:900;line-height:1.4}.teach-options{gap:var(--space-3);flex-wrap:wrap;display:flex}.teach-option{min-height:44px;padding:var(--space-2) var(--space-4);border:2px solid var(--line-2);background:var(--paper-2);box-shadow:0 3px 0 var(--line-2);cursor:pointer;border-radius:12px;font-weight:800}.teach-option.is-selected{border-color:var(--sky-dark);background:var(--sky-light);box-shadow:none}.teach-option:disabled{opacity:1;cursor:default}.teach-option:disabled:not(.is-selected){opacity:.58}.teach-prompt{color:var(--ink-faint);font-size:var(--step--1);margin:0}.teach-reveal{padding:var(--space-3) var(--space-4);align-items:flex-start;gap:var(--space-3);border:2px solid var(--sky-dark);background:var(--sky-light);box-shadow:0 3px 0 var(--sky-dark);border-radius:14px;display:flex}.teach-reveal__icon{font-size:var(--step-1)}.teach-reveal__content{gap:10px;min-width:0;display:grid}.teach-reveal__content>strong{color:var(--sky-ink);font:900 var(--step--1) "JetBrains Mono";letter-spacing:.05em;text-transform:uppercase}.teach-reveal__content p{margin:0;font-weight:800;line-height:1.45}.teach-reveal__theory{font-size:var(--step-0)}.teach-reveal__content img{object-fit:contain;border-radius:10px;max-width:100%;max-height:260px}.teach-reveal__content audio{width:min(100%,360px)}.widget-stage{container-type:size}.teach-scene{gap:8px;display:grid}.teach-scene__stage{aspect-ratio:16/9;border:2px solid var(--sky-dark);background:var(--paper-2);border-radius:12px;width:100%;min-height:min(24rem,100cqh - 52px);max-height:calc(100cqh - 52px);display:block}.teach-scene__play{border:2px solid var(--sky-dark);background:var(--paper);min-width:44px;min-height:44px;box-shadow:0 3px 0 var(--sky-dark);cursor:pointer;font:900 var(--step-0) Nunito, sans-serif;color:var(--sky-ink);border-radius:12px;justify-self:start;padding:0 16px}.read-widget{gap:var(--space-4);width:min(100%,760px);display:grid}.read-passage{gap:var(--space-4);display:grid}.read-passage-part{gap:12px;display:grid}.read-passage-part>p{font-size:var(--step-0);margin:0;line-height:1.7}.read-eyebrow{color:var(--sky-ink);font:500 var(--step--2) "JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase;margin:0}.read-question{padding:var(--space-3);gap:var(--space-3);border:1.5px solid var(--line-2);background:var(--paper);border-radius:13px;display:grid}.read-question.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.read-question h3{font-size:var(--step-0);margin:0}.read-question-number{color:var(--sun-ink);font:700 var(--step--2) "JetBrains Mono",monospace;text-transform:uppercase;margin:0}.read-choice-list{gap:7px;display:grid}.read-choice{border:1.5px solid var(--line-2);background:var(--paper-2);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:9px;min-height:44px;padding:8px 11px;font-weight:800;display:flex}.read-choice>span{background:var(--paper-3);width:25px;height:25px;font:700 var(--step--2) "JetBrains Mono",monospace;border-radius:50%;place-items:center;display:grid}.read-choice.is-selected{border-color:var(--sky-dark);background:var(--sky-light)}.read-answer-input{border:1.5px solid var(--line-2);min-height:44px;font:700 var(--step-0)/1.4 Nunito,sans-serif;background:#fff;border-radius:10px;padding:9px 11px}.read-answer-input--long{resize:vertical;min-height:100px}.read-question-feedback{color:var(--berry-ink);font-size:var(--step--1);margin:0;font-weight:800}.read-vocab{border:1.5px dashed var(--grass-dark);background:var(--grass-light);border-radius:14px;padding:13px 16px}.read-vocab h3{margin:0 0 8px}.read-vocab dl{gap:7px;margin:0;display:grid}.read-vocab dl div{grid-template-columns:minmax(80px,auto) 1fr;gap:10px;display:grid}.read-vocab dt{font-weight:900}.read-vocab dd{color:var(--ink-soft);margin:0}.flashcard-widget{gap:var(--space-3);width:min(100%,760px);display:grid}.flashcard-header{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.flashcard-header h2{font-size:var(--step-1);margin:4px 0 0}.flashcard-progress{text-align:right;flex-direction:column;margin:0;display:flex}.flashcard-progress strong{font:900 var(--step-2) "JetBrains Mono",monospace;color:var(--grass-ink)}.flashcard-progress span{color:var(--ink-faint);font-size:var(--step--2)}.flashcard-widget progress{width:100%;accent-color:var(--grass)}.flashcard-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(145px,1fr));display:grid}.flashcard{border:2px solid var(--line-2);background:var(--paper-2);border-radius:14px;gap:7px;min-width:0;padding:8px;display:grid}.flashcard.is-read{border-color:var(--grass-dark);background:var(--grass-light)}.flashcard.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.flashcard-flip{cursor:pointer;background:0 0;border:0;border-radius:10px;min-height:130px;padding:8px}.flashcard-face{flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.flashcard-face img{object-fit:contain;border-radius:8px;width:100%;max-height:95px}.flashcard-face--back strong{font-size:var(--step-2)}.flashcard-face--back>span{color:var(--grass-ink);font-size:var(--step--2);font-weight:800}.flashcard-placeholder{border:1.5px dashed var(--sky-dark);background:var(--sky-light);width:64px;height:64px;font-size:var(--step-3);border-radius:13px;place-items:center;font-weight:900;display:grid}.flashcard audio{width:100%;height:44px}.speak-widget,.rhythm-widget{align-items:center;gap:var(--space-4);flex-direction:column;width:min(620px,100%);display:flex}.speak-model{justify-content:space-between;align-items:center;gap:14px;width:100%;height:auto;padding:14px;display:flex;position:static}.speak-model p{margin:4px 0 0}.speak-model audio{max-width:100%}.speak-mode,.rhythm-tempo{font-weight:900}.speak-no-model{color:var(--ink-faint);font-size:var(--step--1)}.speak-record-button,.rhythm-pad{border:2px solid var(--ink);background:var(--paper-2);min-width:180px;min-height:52px;box-shadow:0 4px 0 var(--line-2);cursor:pointer;border-radius:999px;font-weight:900}.speak-record-button.is-recording{border-color:var(--berry-dark);background:var(--berry-light);box-shadow:0 4px 0 var(--berry-dark)}.speak-record-dot{background:var(--berry);border-radius:50%;width:11px;height:11px;margin-right:8px;display:inline-block}.speak-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;display:flex}.speak-cancel-button,.speak-retry-button{border:1.5px solid var(--line-2);background:var(--paper-2);min-height:44px;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:0 15px;font-weight:800}.speak-retry-button{border-color:var(--sky-dark);background:var(--sky-light);color:var(--ink)}.speak-record-button:disabled{cursor:wait;opacity:.64}.speak-status.is-error{color:var(--berry-ink)}.rhythm-heading{width:100%;color:var(--ink-faint);justify-content:space-between;gap:12px;display:flex}.rhythm-pattern{flex-wrap:wrap;justify-content:center;gap:7px;width:100%;margin:0;padding:0;list-style:none;display:flex}.rhythm-cue{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:10px;place-items:center;min-width:58px;padding:8px;display:grid}.rhythm-cue.is-next{border-color:var(--sun-dark);background:var(--sun-light)}.rhythm-cue span{font-family:JetBrains Mono,monospace}.rhythm-pad{background:var(--sun);min-width:220px;min-height:100px;box-shadow:0 5px 0 var(--sun-dark);border-radius:18px}.rhythm-pad span,.rhythm-pad small{display:block}.rhythm-reset{border:1.5px solid var(--line-2);background:var(--paper-2);cursor:pointer;border-radius:11px;min-height:44px;padding:0 16px}.rhythm-reset:disabled{opacity:.45}.celebration-sheet{width:min(620px,100%);min-height:100%;padding:var(--space-5);justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;animation:.4s cubic-bezier(.2,.9,.25,1.15) both celebrate-in;display:flex}.celebration-sheet h2{margin:0;font-size:clamp(26px,4vw,38px);line-height:1.05}.celebration-sheet>p:not(.eyebrow){color:var(--ink-soft);margin:0}.celebration-icon{font-size:var(--step-6);filter:drop-shadow(0 4px #2a26201f)}.goal-done{font-weight:800;color:var(--grass-ink)!important}.next-milestone{border:1.5px solid var(--line-2);background:var(--paper-2);width:min(440px,100%);box-shadow:0 3px 0 var(--line-2);border-radius:14px;flex-direction:column;gap:3px;margin:6px 0;padding:12px 16px;display:flex}.next-milestone small{color:var(--sun-ink);font:500 var(--step--2) "JetBrains Mono";letter-spacing:.09em}.next-milestone strong{font-size:var(--step-0)}.next-milestone span{color:var(--ink-soft);font-size:var(--step--1)}.recap-stats{grid-template-columns:1fr 1fr;gap:8px;width:min(440px,100%);margin:7px 0;display:grid}.recap-stats div{border:1.5px solid var(--grass-dark);background:var(--paper-2);border-radius:13px;flex-direction:column;padding:11px;display:flex}.recap-stats strong{font:900 var(--step-3) "JetBrains Mono";color:var(--grass-ink)}.recap-stats span{color:var(--ink-soft);font-size:var(--step--2)}.brick-list{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.brick-list span{border:1px solid var(--grass-dark);background:var(--paper-2);color:var(--grass-ink);font-size:var(--step--2);border-radius:999px;padding:6px 10px;font-weight:800}.recap-actions{gap:8px;margin-top:7px;display:flex}.recap-streak{font-weight:800;color:var(--sun-ink)!important;margin:6px 0 0!important}@keyframes paper-in{0%{opacity:0;transform:translateY(12px)rotate(.3deg)}}@keyframes card-in{0%{opacity:0;transform:translateY(16px)}}@keyframes celebrate-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes sync-pulse{50%{opacity:.55;transform:scale(.7)}}.scene-widget,.explore-widget{gap:var(--space-3);width:100%;display:grid}.scene-stage{border:2px solid var(--line-2);background:var(--paper-2);aspect-ratio:16/9;border-radius:14px;position:relative;overflow:hidden}.scene-stage__media{object-fit:contain;background:var(--paper-2);border:0;width:100%;height:100%;display:block}.scene-stage__media--empty{background:repeating-linear-gradient(45deg, var(--paper-2) 0 12px, var(--line-2) 12px 13px)}.scene-controls{align-items:center;gap:10px;display:flex}.scene-play{border:2px solid var(--sky-dark);background:var(--sky-light);min-width:44px;min-height:44px;box-shadow:0 3px 0 var(--line-2);cursor:pointer;color:var(--sky-ink);border-radius:12px;padding:0 16px;font-weight:900}.scene-narration{border:1.5px solid var(--line-2);background:var(--paper-2);cursor:pointer;min-width:44px;min-height:44px;font:800 var(--step--1) Nunito, sans-serif;border-radius:12px;padding:0 12px}.scene-progress{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:999px;flex:1;height:12px;overflow:hidden}.scene-progress__fill{background:var(--grass);height:100%;transition:width .2s;display:block}.scene-chapters{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.scene-chapter{border:1.5px solid var(--line-2);background:var(--paper-2);cursor:pointer;min-height:44px;font:700 var(--step--1) Nunito, sans-serif;border-radius:999px;padding:6px 12px}.scene-chapter:disabled{opacity:.5;cursor:not-allowed}.scene-status{font:800 var(--step-0) Nunito, sans-serif;text-align:center}.explore-backdrop{object-fit:contain;width:100%;max-height:160px}.explore-visual{width:100%;max-height:220px}.explore-visual path,.explore-visual rect,.explore-visual circle{fill:var(--paper-2);stroke:var(--ink);stroke-width:2px}.explore-visual .is-taken{fill:var(--sun)}.explore-visual .explore-rail,.explore-visual .explore-tick{stroke:var(--ink);stroke-width:2px;fill:none}.explore-visual .explore-jump{fill:none;stroke:var(--sky-dark);stroke-width:2.5px;stroke-dasharray:5 4}.explore-visual .explore-marker{fill:var(--grass);stroke:var(--grass-dark)}.explore-visual .explore-tick-label{fill:var(--ink);stroke:none;font:700 var(--step--2) Nunito, sans-serif}.explore-params{gap:10px;display:grid}.explore-param{grid-template-columns:minmax(96px,1fr) 2fr auto;align-items:center;gap:10px;display:grid}.explore-param__label{font-weight:800;font-size:var(--step-0)}.explore-param input[type=range]{width:100%;min-height:44px}.explore-param__value{min-width:44px;font:900 var(--step-1) Nunito, sans-serif;text-align:right}.explore-readouts{flex-wrap:wrap;gap:10px;margin:0;display:flex}.explore-readout{border:1.5px solid var(--sky-dark);background:var(--sky-light);border-radius:12px;padding:7px 12px}.explore-readout dt{color:var(--sky-ink);font:800 var(--step--2) "JetBrains Mono";text-transform:uppercase}.explore-readout dd{font:900 var(--step-1) Nunito, sans-serif;margin:0}.explore-checkpoints{gap:10px;margin:0;padding-left:20px;display:grid}.explore-checkpoint{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:8px 10px;padding:9px 12px;display:grid}.explore-checkpoint.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.explore-checkpoint__ask{font-weight:800}.explore-checkpoint__record{border:2px solid var(--grass-dark);background:var(--paper-2);cursor:pointer;border-radius:11px;min-height:44px;padding:0 14px;font-weight:800}.explore-checkpoint__record[aria-pressed=true]{background:var(--grass-light)}.explore-checkpoint output{color:var(--ink-faint);font-size:var(--step--1);grid-column:1/-1}.prompt-block h1,.teach-reveal__content p,.read-passage-part>p,.teach-probe-question,.widget-hint,.teach-prompt,.action-note,.teacher-bubble,.stage-column>.notice span{max-width:var(--measure)}@media (width<=899px){.lesson-page{align-items:start;padding:12px}.lesson-frame{border-radius:18px;height:calc(100dvh - 24px);min-height:0}.lesson-layout{min-height:0;display:block;position:relative}.lesson-layout>.teacher-panel{display:none}.stage-column>.teacher-panel{border:1.5px solid var(--sky-dark);background:var(--paper-2);border-radius:14px;grid-template-columns:72px 1fr;width:auto;min-height:auto;padding:10px;display:grid}.stage-column>.teacher-panel .teacher-scene{grid-row:span 2;height:78px}.stage-column>.teacher-panel .teacher-avatar{width:50px;height:58px}.stage-column>.teacher-panel>.eyebrow,.stage-column>.teacher-panel .conversation{display:none}.teacher-bubble{align-self:center}.prompt-block h1{font-size:var(--step-3)}.widget-stage{min-height:0}.lesson-grid{grid-template-columns:repeat(2,1fr)}.hero-paper{grid-template-columns:1fr;margin:18px 20px 45px;padding:45px}.hero-stack{display:none}.lesson-layout>.desktop-teacher-chat{z-index:120;border:1.5px solid var(--sky-dark);border-radius:18px;width:auto;max-height:none;display:none;position:fixed;inset:12px;overflow:hidden;box-shadow:0 18px 70px #2a262052}.lesson-layout>.desktop-teacher-chat.is-mobile-open{display:flex}.lesson-layout>.desktop-teacher-chat.is-voice-open{max-height:none}.stage-column>.teacher-panel .ask-button{grid-column:1/-1;display:block}.mode-strip{z-index:110;gap:6px;display:flex;position:absolute;bottom:74px;right:14px}.mode-strip button{border:1.5px solid var(--ink);background:var(--paper-2);width:52px;height:52px;box-shadow:0 3px 0 var(--line-2);font-size:var(--step-2);cursor:pointer;border-radius:50%;place-items:center;display:grid}.mode-strip button:active{box-shadow:0 1px 0 var(--line-2);transform:translateY(2px)}.mode-strip.is-no-microphone{pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;left:14px}.mode-strip.is-no-microphone .mode-strip__mic{pointer-events:auto}.mode-strip__notice{border:1.5px solid var(--berry-dark);background:var(--berry-light);max-width:100%;color:var(--ink);font-size:var(--step--1);text-align:right;box-shadow:0 3px 0 var(--line-2);border-radius:14px;margin:0;padding:8px 12px;font-weight:800;line-height:1.35}}@media (width>=560px) and (width<=899px){.stage-column{height:100%;min-height:0;overflow-y:auto}.stage-column>.action-bar.is-win{margin-bottom:-18px}.widget-stage{min-height:210px}}@media (width<=559px){.section-heading h2{font-size:var(--step-3)}.home-nav{padding:10px 14px}.brand small,.student-pill strong{display:none}.student-pill{padding-right:7px}.hero-paper{border-radius:18px 18px 10px;margin:12px 10px 36px;padding:34px 22px}.hero-paper h1{font-size:var(--step-5)}.hero-paper>div>p:not(.eyebrow){font-size:var(--step-0)}.hero-paper .button{width:100%;height:auto;min-height:48px;padding-block:9px;line-height:1.25}.roadmap-section{padding:0 12px 50px}.section-heading{flex-direction:column;align-items:flex-start}.grade-tabs{width:100%}.grade-tabs button{flex:1}.lesson-grid{grid-template-columns:1fr}.lesson-card{min-height:260px}.lesson-page{padding:0}.lesson-frame{min-height:100vh;box-shadow:none;border:0;border-radius:0}.lesson-header{gap:9px;padding:8px}.status-pill{justify-content:center;width:auto;min-width:44px;padding:0 8px}.status-pill__mark{font-weight:700;display:block}.status-pill__label{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.milestones{justify-content:stretch;min-height:49px;padding:7px 9px;overflow-x:auto}.milestones>div{flex:1;justify-content:center;min-width:38px}.milestones strong{display:none}.stage-column{gap:11px;padding:14px}.lesson-context strong{display:none}.prompt-block h1{font-size:var(--step-2)}.widget-stage{min-height:210px;padding:13px}.choice-grid{grid-template-columns:1fr;gap:10px}.choice-card{min-height:58px}.action-bar.is-win{margin:0 -14px -14px;padding:12px 14px 15px}.win-copy small{display:none}.button{padding:0 14px}.stage-column>.teacher-panel{grid-template-columns:57px 1fr;gap:8px;padding:8px}.stage-column>.teacher-panel .teacher-scene{height:68px}.teacher-bubble{font-size:var(--step--1);padding:9px}.celebration-sheet{padding:13px 4px}.recap-actions{width:100%}.recap-actions .button{flex:1}.home-footer{flex-direction:column;gap:4px}.judge-row.paper-card{flex-direction:column;align-items:stretch}.judge-actions{width:100%}.judge-actions button{flex:1}.number-line{margin-inline:14px}.match-widget{gap:8px}.match-widget.is-long-form{grid-template-columns:1fr}.match-card{font-size:var(--step-0);padding:7px}.order-slot{flex-wrap:wrap;align-items:flex-start}.order-controls{justify-content:flex-end;width:100%}.classify-bins{grid-template-columns:1fr 1fr}.classify-widget.is-long-form .classify-bins{grid-template-columns:1fr}.retell-meta{flex-direction:column}.hotspot-marker{width:44px;height:44px}.sketch-board{min-height:220px}.sketch-tools{width:100%}.sketch-tools button{flex:1}.fill-illustration-frame,.fill-illustration-fallback{width:100%}.fill-illustration{max-height:190px}.teach-options{grid-template-columns:1fr;display:grid}.teach-option{width:100%}.teach-reveal{padding:11px 12px}.teach-scene__play{justify-self:stretch;width:100%}.read-passage{padding:13px}.read-passage-part>p{font-size:var(--step-0)}.read-vocab dl div{grid-template-columns:1fr;gap:2px}.flashcard-header{flex-direction:column;align-items:flex-start}.flashcard-progress{text-align:left}.flashcard-grid{grid-template-columns:1fr}.speak-model{flex-direction:column;align-items:stretch}.speak-model audio,.speak-record-button,.rhythm-pad,.speak-controls{width:100%}.rhythm-heading{font-size:var(--step--1)}.explore-param{grid-template-columns:1fr auto}.explore-param input[type=range]{grid-column:1/-1}.scene-controls{flex-wrap:wrap}.scene-play,.scene-narration{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=559px){.lesson-page{height:100dvh;min-height:0;padding:0;overflow:hidden}.lesson-frame{height:100dvh;min-height:0}.stage-column{gap:8px;height:100%;min-height:0;padding:10px 14px}.widget-stage{min-height:0;overflow:auto}.stage-column>.teacher-panel{grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:7px;min-height:52px;padding:5px 6px}.stage-column>.teacher-panel .teacher-scene{background:0 0;border:0;grid-row:auto;width:40px;height:40px}.stage-column>.teacher-panel .teacher-scene:after,.stage-column>.teacher-panel .teacher-scene small{display:none}.stage-column>.teacher-panel .teacher-avatar{width:36px;height:38px;box-shadow:0 2px 0 var(--line-2);border-radius:13px}.stage-column>.teacher-panel .teacher-avatar span{display:none}.stage-column>.teacher-panel .teacher-avatar b{font-size:var(--step--2)}.stage-column>.teacher-panel .teacher-bubble{min-width:0;font-size:var(--step--2);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;padding:0;overflow:hidden}.stage-column>.teacher-panel .ask-button{border-radius:13px;grid-column:auto;width:44px;min-height:44px;padding:0;overflow:hidden}.stage-column>.teacher-panel .ask-button .ask-button__label{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage-column>.teacher-panel .ask-button:before{content:"💬";font-size:var(--step-1)}.lesson-layout>.desktop-teacher-chat{border-radius:20px;height:min(56dvh,470px);inset:auto 8px 8px}.lesson-layout>.desktop-teacher-chat.is-voice-open{border-radius:0 0 20px 20px;height:auto;inset:0 8px 8px}.stage-column[inert],.milestones[inert]{overflow:hidden}}@media (width>=900px){.lesson-page{place-items:stretch stretch;padding:0}.lesson-frame{width:100%;height:100%;box-shadow:none;border:0;border-radius:0;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:stretch;display:grid}.lesson-header{grid-area:1/1}.milestones{grid-area:1/2;align-items:center;min-width:0;min-height:0;overflow:hidden}.milestones>div{min-width:0}.lesson-layout{grid-area:2/1/auto/-1;grid-template-columns:minmax(0,1fr) 330px}.lesson-layout>.desktop-teacher-chat{width:auto}.stage-column{padding:clamp(18px,2vh,28px) clamp(20px,2.4vw,60px)}.lesson-context,.prompt-block,.widget-stage,.stage-column>.notice,.stage-column>.action-bar:not(.is-win){width:100%}.prompt-block h1{font-size:clamp(28px,1.43vw + 7.4px,44px)}.teach-probe-question{font-size:clamp(18px,.62vw + 9.1px,26px)}.teach-reveal__theory,.read-passage-part>p{font-size:clamp(17px,.55vw + 9.1px,24px)}.fill-illustration-frame,.fill-illustration-fallback{width:min(100%,clamp(420px,34vw,900px))}.fill-illustration{max-height:clamp(260px,30vh,520px)}.hotspot-widget,.sketch-widget{width:min(100%,clamp(680px,55vw,1400px))}.hotspot-stage__image{max-height:clamp(400px,46vh,760px)}.teach-reveal__content img{max-height:clamp(260px,30vh,520px)}.choice-card img{max-height:clamp(110px,13vh,220px)}.cake{width:min(clamp(280px,24vw,560px),75vw);max-height:clamp(220px,26vh,440px)}.read-widget,.flashcard-widget{width:min(100%,clamp(760px,62vw,1500px))}.speak-widget,.rhythm-widget,.celebration-sheet{width:min(100%,clamp(620px,52vw,1200px))}.choice-card{min-height:clamp(72px,9vh,132px)}.choice-card strong{font-size:clamp(18px,.45vw + 11.5px,28px)}.fill-label,.fill-input,.fill-cell{font-size:clamp(18px,.36vw + 12.8px,26px)}.fill-input,.fill-cell{min-height:clamp(48px,5.6vh,68px)}.fill-widget{flex-flow:wrap;justify-content:center;align-items:center;gap:clamp(20px,2.6vw,84px)}.fill-widget>.fill-rows,.fill-widget>.table-scroll{width:auto;max-width:100%}.answer-pad{width:min(100%,clamp(340px,28vw,660px))}.answer-pad__keys{gap:clamp(7px,.7vw + .9px,20px)}.answer-key{min-height:clamp(52px,8.6vh,140px);font-size:clamp(20px,.62vw + 11.1px,36px)}.fill-cell,.fill-input{min-width:clamp(72px,5.4vw,148px)}.fill-rows{gap:clamp(10px,1.1vw,28px)}.colop-card{min-width:clamp(176px,13vw,300px)}.colop-numbers,.colop-division,.colop-slot{font-size:clamp(20px,.62vw + 11.1px,36px)}.action-note{margin-inline:auto}.prompt-block h1{margin-top:0}.lesson-page{height:auto;min-height:100dvh;overflow:visible}.lesson-frame{height:auto;min-height:100dvh;overflow:clip visible}.stage-column{min-height:0;overflow:clip visible}.widget-stage{flex:auto;min-height:210px;overflow:visible;container-type:normal}.teach-scene__stage{min-height:min(24rem,max(210px,100svh - 347px));max-height:max(210px,100svh - 347px)}.scene-stage{max-height:max(210px,100svh - 347px)}.stage-column>.action-bar.is-win{margin-bottom:calc(-1*clamp(18px,2vh,28px))}.lesson-layout>.desktop-teacher-chat{align-self:stretch;max-height:100dvh;position:sticky;top:0}}@media (width<=899px){.lesson-page{place-items:start stretch;height:auto;min-height:100dvh;padding:0;overflow:visible}.lesson-frame{width:100%;height:auto;min-height:100dvh;box-shadow:none;border:0;border-radius:0;overflow:clip visible}.lesson-header{z-index:60;position:sticky;top:0}.lesson-layout{flex-direction:column;display:flex}.stage-column{flex:auto;height:auto;min-height:0;overflow:clip visible}.widget-stage{flex:none;min-height:210px;overflow:visible;container-type:normal}.teach-scene__stage{width:auto;min-height:0;max-height:min(24rem,100svh - 198px);margin-inline:auto}.scene-stage{max-height:min(24rem,100svh - 198px)}.action-bar{z-index:55;background:var(--paper);box-shadow:0 -1.5px 0 var(--line);margin-inline:-20px;padding:10px 20px;position:sticky;bottom:0}.stage-column>.action-bar.is-win{margin-bottom:-18px}.stage-column>.action-bar,.stage-column>.action-bar.is-win{margin-top:auto}.mode-strip{position:fixed}.stage-column>.teacher-panel{padding-right:66px}.lesson-page.is-modal{height:100dvh;overflow:hidden}}@media (width<=559px){.action-bar{margin-inline:-14px;padding:8px 14px}.stage-column>.action-bar.is-win{margin-bottom:-10px}}@media (width<=899px){.answer-jump{z-index:110;border:1.5px solid var(--sky-dark);background:var(--sky-light);max-width:calc(100vw - 96px);min-height:44px;color:var(--ink);font-size:var(--step--1);box-shadow:0 3px 0 var(--line-2);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex;position:fixed;bottom:74px;left:14px}.answer-jump:active{box-shadow:0 1px 0 var(--line-2);transform:translateY(2px)}.stage-column>.teacher-panel{order:2}.stage-column>.action-bar{order:3}}@media (width<=899px) and (height<=480px){.milestones{display:none}.lesson-header{min-height:56px;padding:6px 12px}}.teaching-tree{background:#ffffffb8;border:1px solid #0f172a1a;border-radius:18px;margin:0 0 12px;padding:14px;display:block}.teaching-tree__container{flex-direction:column;gap:12px;min-width:0;display:flex}.teaching-tree__container--side-by-side,.teaching-tree__container--overlay,.teaching-tree__container--branch{flex-direction:column;gap:12px;display:flex}.teaching-tree__text{font-size:var(--step-0);color:#0f172a;overflow-wrap:anywhere;margin:0;line-height:1.5}.teaching-tree__fallback{font-size:var(--step-0);color:#334155;overflow-wrap:anywhere;margin:0;line-height:1.5}.teaching-tree__figure{min-width:0;margin:0}.teaching-tree__figure img{border-radius:14px;width:100%;max-width:100%;height:auto;display:block}.teaching-tree__audio{min-width:0;display:flex}.teaching-tree__play{min-width:44px;min-height:44px;font:inherit;font-size:var(--step-0);color:#0f172a;cursor:pointer;text-align:left;overflow-wrap:anywhere;background:#fff;border:1px solid #0f172a24;border-radius:14px;align-items:center;gap:8px;padding:10px 16px;line-height:1.3;display:inline-flex}@media (width>=768px){.teaching-tree{padding:16px}.teaching-tree__container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:14px;display:grid}.teaching-tree__container .teaching-tree__container{grid-column:1/-1}}@media (width>=1280px){.teaching-tree{padding:18px}.teaching-tree__container{gap:18px}.teaching-tree__text{font-size:var(--step-1)}}@media (width>=900px){.lesson-layout{grid-template-columns:minmax(0,1fr) 360px}.milestones{min-height:40px;padding-block:4px}.lesson-context{justify-content:flex-start}.lesson-context strong{display:none}.fill-widget{max-inline-size:1000px;margin-inline:auto}}@media (width<=899px){.lesson-layout>.desktop-teacher-chat.is-mobile-open,.lesson-layout>.desktop-teacher-chat.is-mobile-open.is-voice-open{border-radius:18px;height:auto;max-height:none;inset:8px}}@media (width>=900px){.lesson-layout>.desktop-teacher-chat{align-self:start;height:calc(100dvh - 66px);max-height:calc(100dvh - 66px)}}@media (width<=559px){.lesson-layout>.desktop-teacher-chat.is-mobile-open,.lesson-layout>.desktop-teacher-chat.is-mobile-open.is-voice-open{border:0;border-radius:0;inset:0}}.lesson-hint{background:var(--sky-light);color:var(--ink);font-size:var(--step--1);border-radius:12px;margin:0;padding:10px 14px;line-height:1.45}@media (width<=899px){.action-bar{flex-wrap:wrap;gap:8px}.action-bar>.mode-strip{order:1;min-width:0;margin:0;display:flex;position:static}.action-bar>.button:last-child{order:2}.action-bar .mode-strip button{width:auto;min-width:44px;height:44px;font-size:var(--step--2);border-radius:12px;gap:5px;padding:0 10px;display:flex}.action-bar .mode-strip__notice{box-shadow:none;font-size:var(--step--2);text-align:left}.action-bar .mode-strip.is-no-microphone{flex-basis:100%;order:-1;align-items:stretch}.action-bar .mode-strip.is-no-microphone button{align-self:center}.lesson-layout>.desktop-teacher-chat.is-mobile-open,.lesson-layout>.desktop-teacher-chat.is-mobile-open.is-voice-open{top:calc(var(--chat-viewport-top,0px) + 8px);height:calc(var(--chat-viewport-height,100dvh) - 16px);bottom:auto}.teacher-chat__composer textarea:not(:disabled)+.teacher-chat__hint{display:none}}@media (width<=559px){.lesson-layout>.desktop-teacher-chat.is-mobile-open,.lesson-layout>.desktop-teacher-chat.is-mobile-open.is-voice-open{top:var(--chat-viewport-top,0px);height:var(--chat-viewport-height,100dvh)}}.action-bar>.mode-strip[hidden]{display:none}@media (width>=900px) and (width<=1159px){.lesson-layout{grid-template-columns:minmax(0,1fr) 330px}}.mode-strip__label{flex-direction:column;align-items:center;line-height:1.1;display:flex}.mode-strip__label small{font-size:var(--step--2);font-weight:800;line-height:1.1}.action-bar .mode-strip[data-microphone=live] button{background:var(--berry-light);border-color:var(--berry-dark)}
