@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{margin:5px 0;font-size:26px}.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-dark);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-dark)}.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:11px}.privacy-plan-card dd{margin:2px 0 0;font:900 20px JetBrains Mono,monospace}.privacy-plan-card [role=note]{color:var(--ink-soft);margin:10px 0 0;font-size:12px}.privacy-confirm{grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:13px;display:grid}.privacy-confirm label{grid-column:1/-1;font-size:12px}.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-dark);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{margin:3px 0 12px;font-size:22px}.profile-menu__close{background:var(--paper-3);cursor:pointer;border:0;border-radius:50%;width:44px;height:44px;font-size:24px}.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-dark);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:10px}.profile-menu__list b{color:var(--grass-dark);font-size:18px}.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);margin-bottom:6px;font-size:12px;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-dark);margin:7px 0 0;font-size:12px;font-weight:800}.profile-menu__paper footer{color:var(--ink-faint);justify-content:space-between;align-items:center;gap:9px;margin-top:11px;font-size:10px;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-dark);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}}.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-dark);border-radius:15px 15px 7px;place-items:center;font-size:25px;font-weight:900;display:grid;transform:rotate(-2deg)}.suggestion-reason h2{margin:5px 0;font-size:24px}.suggestion-reason div>p:last-child{color:var(--ink-soft);margin:0;font-size:13px;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-dark)}.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:9px}.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-dark);font-size:10px;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);grid-column:1/-1;margin:0;font-size:9px}.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-dark);border-radius:50%;place-items:center;font-size:22px;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:11px}@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:21px}.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}}.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{margin:5px 0 0;font-size:32px}.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:11px}.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{align-items:center;gap:8px;font-size:16px;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);letter-spacing:.05em;font:500 8px JetBrains Mono}.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:11px;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{margin:0;font-size:22px}.roadmap-map>header span{color:var(--ink-faint);font:500 8px 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-dark)}.roadmap-node--locked{opacity:.55}.roadmap-node__body{min-width:0}.roadmap-node__body h4{margin:0;font-size:16px;line-height:1.3}.roadmap-node__body p{color:var(--ink-faint);margin:3px 0 0;font:500 8px JetBrains Mono}.roadmap-node__body>small{color:var(--sun-dark);font-size:10px;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-dark)}.roadmap-node__locked{color:var(--ink-faint);font-size:11px;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:29px}.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}.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-dark);font-size:16px;line-height:1}.teacher-chat__portrait b{font:900 10px JetBrains Mono,monospace}.teacher-chat__header>div:last-child{min-width:0}.teacher-chat__header strong{margin:2px 0 4px;font-size:13px;line-height:1.3;display:block}.teacher-chat__eyebrow{color:var(--sky-dark);letter-spacing:.08em;margin:0;font:500 7.5px/1.3 JetBrains Mono,monospace}.teacher-chat__presence{color:var(--ink-faint);align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex}.teacher-chat__presence i{background:var(--grass);border-radius:50%;width:6px;height:6px}.teacher-chat__presence--sending i,.teacher-chat__presence--streaming i{background:var(--sun);animation:1s ease-in-out infinite teacher-chat-pulse}.teacher-chat__presence--error i,.teacher-chat__presence--offline i{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__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-dark);font-size:20px;display:block}.teacher-chat__empty p{margin:5px 0 0;font-size:11px;line-height:1.45}.teacher-chat__message{max-width:88%;animation:.22s ease-out both teacher-chat-in}.teacher-chat__message p{overflow-wrap:anywhere;border:1.5px solid;border-radius:12px;margin:0;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.42}.teacher-chat__speaker{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin:0 5px 2px;font:500 7.5px JetBrains Mono,monospace;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-dark);border-radius:10px;align-items:center;gap:7px;padding:8px 9px;font-size:10px;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;border:1px solid;border-radius:8px;min-height:30px;padding:0 8px;font-size:10px;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);background:#fff;border-radius:12px;outline:none;padding:9px 10px;font:700 12px/1.35 Nunito,sans-serif}.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);grid-column:1/-1;font-size:8.5px;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;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:0 8px;font-size:9px;font-weight:900;display:flex}.teacher-chat__send b{font-size:15px;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__send--cancel{color:var(--berry-dark);border-color:var(--berry-dark);background:var(--berry-light);box-shadow:0 3px #a8323247}@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)}}@media (width<=899px){.teacher-chat{border:1.5px solid var(--sky-dark);border-radius:14px;max-height:430px}.teacher-chat__header{grid-template-columns:44px 1fr}.teacher-chat__portrait{width:42px;height:48px}.teacher-chat__transcript{min-height:115px}}@media (prefers-reduced-motion:reduce){.teacher-chat *,.teacher-chat :before,.teacher-chat :after{animation-duration:.01ms!important}}.student-voice{width:100%}.student-voice-trigger{border:1.5px solid var(--line-2);background:var(--paper-2);min-height:48px;box-shadow:0 3px 0 var(--line-2);cursor:pointer;text-align:left;border-radius:999px;align-items:center;gap:9px;padding:6px 13px 6px 7px;display:flex}.student-voice-trigger>span{background:var(--berry-light);border-radius:50%;place-items:center;width:35px;height:35px;display:grid;position:relative}.student-voice-trigger i{border:1px solid var(--paper-2);background:var(--berry);border-radius:50%;width:8px;height:8px;position:absolute;top:1px;right:1px}.student-voice-trigger strong{font-size:13px}.student-voice-trigger small{color:var(--ink-faint);margin-left:auto;font-size:10px}.student-voice-trigger[aria-expanded=true]{border-color:var(--sky-dark);background:var(--sky-light);box-shadow:none}.student-voice-panel{border:1.5px solid var(--sky-dark);background:var(--paper-2);border-radius:15px 15px 8px;gap:12px;margin-top:9px;padding:15px;display:grid;box-shadow:0 4px #3a7dc747}.student-voice-panel>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.student-voice-panel h2{margin:3px 0 0;font-size:20px}.student-voice-panel>header>span{background:var(--paper-3);color:var(--ink-faint);border-radius:999px;padding:4px 7px;font:600 8px JetBrains Mono}.student-voice--listening .student-voice-panel,.student-voice--speech-detected .student-voice-panel,.student-voice--interrupted .student-voice-panel{border-color:var(--berry-dark);box-shadow:0 4px #a832323d}.student-voice--speaking .student-voice-panel{border-color:var(--sky-dark)}.student-voice-unavailable{border:1.5px dashed var(--line-2);background:var(--paper);border-radius:12px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.student-voice-unavailable>span{background:var(--paper-3);border-radius:50%;place-items:center;width:36px;height:36px;font-size:24px;display:grid}.student-voice-unavailable p{color:var(--ink-soft);margin:3px 0 0;font-size:12px}.student-voice-unavailable button{border:1.5px solid var(--sky-dark);background:var(--sky-light);min-height:44px;color:var(--sky-dark);cursor:pointer;border-radius:10px;padding:0 12px;font-weight:900}.student-voice-level>div{justify-content:space-between;gap:10px;font-size:10px;font-weight:900;display:flex}.student-voice-level output{color:var(--berry-dark);font:700 9px JetBrains Mono}.student-voice-level meter{width:100%;height:20px;accent-color:var(--berry)}.student-voice-level meter::-webkit-meter-bar{background:var(--paper-3);border:1px solid var(--line-2);border-radius:999px}.student-voice-level meter::-webkit-meter-optimum-value{background:var(--berry);border-radius:999px}.student-voice-turns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.student-voice-turns article{border:1.5px solid var(--berry-dark);background:var(--berry-light);border-radius:11px;gap:5px;min-width:0;padding:10px;display:grid}.student-voice-turns article+article{border-color:var(--sky-dark);background:var(--sky-light)}.student-voice-turns article>span{color:var(--ink-faint);font:600 8px JetBrains Mono}.student-voice-turns p{overflow-wrap:anywhere;min-height:42px;margin:0;font-size:13px;font-weight:800;line-height:1.4}.student-voice-turns p i{background:currentColor;width:2px;height:15px;margin-left:3px;animation:.7s step-end infinite student-voice-caret;display:inline-block}.student-voice-turns small{color:var(--ink-faint);font-size:9px}.student-voice-note{min-height:18px;color:var(--ink-soft);margin:0;font-size:11px}.student-voice-actions{flex-wrap:wrap;gap:7px;display:flex}.student-voice-actions button{border:1.5px solid var(--line-2);cursor:pointer;border-radius:10px;min-height:44px;padding:0 13px;font-weight:900}.student-voice-start{background:var(--berry);box-shadow:0 3px 0 var(--berry-dark)}.student-voice-cancel,.student-voice-barge{background:var(--berry-light);color:var(--berry-dark);border-color:var(--berry-dark)!important}.student-voice-text{background:var(--sky-light);color:var(--sky-dark);margin-left:auto}.student-voice-panel>footer{border-top:1px solid var(--line);color:var(--ink-soft);gap:8px;padding-top:9px;display:flex}.student-voice-panel>footer p{margin:0;font-size:10px;line-height:1.4}@keyframes student-voice-caret{50%{opacity:0}}@media (width<=559px){.student-voice-trigger{width:100%}.student-voice-panel{padding:12px}.student-voice-unavailable{grid-template-columns:35px 1fr}.student-voice-unavailable button{grid-column:1/-1}.student-voice-turns{grid-template-columns:1fr}.student-voice-actions{grid-template-columns:1fr;display:grid}.student-voice-actions button{width:100%;margin:0}}@media (prefers-reduced-motion:reduce){.student-voice-turns p i{animation-duration:.01ms}}.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-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-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-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}}.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:#8a7f6d;--ink-dim:#cdc3b0;--line:#e7dfce;--line-2:#d4c9b0;--sun:#ffc23a;--sun-dark:#e09b00;--sun-light:#fff3c4;--grass:#5fc377;--grass-dark:#2e7c44;--grass-light:#d8f5dd;--sky:#6fb5ff;--sky-dark:#3a7dc7;--sky-light:#dbe7ff;--berry:#ff6b6b;--berry-dark:#a83232;--berry-light:#ffd8d8;color:var(--ink);font-synthesis:none;background:#f0eee9;font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box}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{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin:0;font:500 10px/1.2 JetBrains Mono,monospace}.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);border-radius:12px 12px 7px;place-items:center;font:900 14px JetBrains Mono;display:grid;transform:rotate(-2deg)}.brand small{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font:500 9px JetBrains Mono}.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:1180px;min-height:76px;margin:auto;padding:14px 28px;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-dark);border-radius:50%;place-items:center;font-weight:900;display:grid}.student-pill small{color:var(--berry-dark);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-dark);font-style:normal}.hero-paper>div>p:not(.eyebrow){max-width:570px;color:var(--ink-soft);margin:0 0 26px;font-size:17px;line-height:1.6}.hero-stack{min-height:230px;position:relative}.paper-card{border:2px solid var(--ink);border-radius:18px 18px 8px;place-items:center;width:150px;height:172px;font:900 38px JetBrains Mono;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{margin:5px 0 0;font-size:29px}.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:38px;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-sky{--tone:var(--sky);--tone-light:var(--sky-light);--tone-dark:var(--sky-dark)}.tone-grass{--tone:var(--grass);--tone-light:var(--grass-light);--tone-dark:var(--grass-dark)}.tone-berry{--tone:var(--berry);--tone-light:var(--berry-light);--tone-dark:var(--berry-dark)}.lesson-number{color:var(--ink-faint);font:500 10px JetBrains Mono;position:absolute;top:14px;right:14px}.lesson-icon{background:var(--tone-light);width:54px;height:54px;color:var(--tone-dark);border-radius:16px;place-items:center;margin:7px 0 15px;font-size:23px;font-weight:900;display:grid}.lesson-card h3{margin:7px 0;font-size:19px;line-height:1.2}.lesson-card>p:not(.eyebrow){color:var(--ink-soft);margin:0 0 16px;font-size:13px;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-dark);border-radius:999px;padding:3px 7px;font:500 8px JetBrains Mono}.lesson-card>button{min-height:44px;color:var(--tone-dark);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);margin-top:auto;font-size:11px;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);justify-content:space-between;margin-top:11px;font:500 9px JetBrains Mono;display:flex}.sync-note{min-height:36px;color:var(--ink-faint);align-items:center;gap:8px;margin:-9px 0 16px;font-size:12px;display:flex}.sync-note button{background:var(--paper-3);color:var(--sky-dark);cursor:pointer;border:0;border-radius:8px;padding:5px 8px;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;min-height:100vh;padding:24px;display:grid}.lesson-frame{border:1.5px solid var(--line-2);background:var(--paper);border-radius:22px;flex-direction:column;width:min(1160px,100%);min-height:min(760px,100vh - 48px);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;box-shadow:0 2px 0 var(--line-2);border-radius:12px;font-size:25px}.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);letter-spacing:.04em;border-radius:999px;align-items:center;gap:7px;padding:0 10px;font:500 9px JetBrains Mono;display:flex}.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{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);align-items:center;gap:7px;font-size:11px;display:flex}.milestones span{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:50%;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.milestones .is-done{color:var(--grass-dark)}.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) 300px;min-height:0;display:grid}.stage-column{flex-direction:column;gap:14px;min-width:0;padding:22px;display:flex}.lesson-context{color:var(--ink-faint);justify-content:space-between;align-items:baseline;gap:20px;font-size:11px;display:flex}.lesson-context span{text-transform:uppercase;letter-spacing:.07em;font:500 9px JetBrains Mono}.prompt-block h1{letter-spacing:-.02em;margin:7px 0 0;font-size:28px;line-height:1.18}.widget-stage{border:1.5px solid var(--line);background:var(--paper-2);border-radius:16px;flex:1;place-items:center;min-height:260px;padding:20px;transition:all .2s;display:grid}.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)}.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:10px;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-dark);font-size:24px}.teacher-avatar b{font:900 14px JetBrains Mono}.teacher-bubble{border:1.5px solid var(--sky-dark);background:var(--sky-light);border-radius:13px 13px 13px 4px;padding:11px 13px;font-size:14px;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);border-radius:10px;padding:8px 10px;font-size:11px}.conversation div span{color:var(--ink-faint);margin-right:7px;font:500 8px JetBrains Mono}.conversation p{color:var(--ink-faint);font-size:12px}.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:300px}.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);border-radius:50%;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.win-copy div{flex-direction:column;display:flex}.win-copy small{color:var(--grass-dark)}.action-note{width:100%;color:var(--grass-dark);text-align:center;font-size:12px;font-weight:800}.notice{border:1.5px solid;border-radius:12px;flex-direction:column;width:100%;padding:10px 13px;font-size: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:36px;margin-top:8px;padding:0 12px;font-weight:800}.choice-grid{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));gap:13px;width:100%;display:grid}.choice-card{border:2px solid var(--line-2);background:var(--paper-2);min-height:72px;box-shadow:0 4px 0 var(--line-2);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:13px;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:18px}.choice-card small{color:var(--ink-soft)}.fill-rows{flex-direction:column;align-items:center;gap:13px;width:100%;display:flex}.fill-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.fill-label{font-size:20px}.fill-input{border:2px solid var(--line-2);text-align:center;background:#fff;border-radius:10px;width:72px;min-height:44px;padding:0 6px;font-size:18px;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{color:var(--ink-faint);text-align:center;margin:4px 0 0;font-size:13px}.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)}.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{margin-top:10px;font-size:34px}.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-dark);border-radius:50%;place-items:center;font-size:34px;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{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;width:100%;display:flex}.colop-grid>.widget-hint{flex-basis:100%}.colop-card{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;min-width:176px;padding:12px 18px 14px;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);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin-bottom:8px;padding:3px 8px;font-size:11px;font-weight:900}.colop-stack{justify-content:center;align-items:flex-end;gap:10px;display:flex}.colop-sign{color:var(--ink-soft);padding-bottom:49px;font:900 25px JetBrains Mono}.colop-numbers{color:var(--ink);flex-direction:column;align-items:flex-end;gap:1px;font:900 25px/1.15 JetBrains Mono;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;background:#fff;border-radius:9px;outline:none;padding:0 7px;font:900 23px JetBrains Mono}.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);grid-template-columns:auto minmax(100px,1fr);justify-content:center;align-items:end;font:900 25px/1.15 JetBrains Mono;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);text-align:center;margin:10px 0 0;font-size:12px;font-weight:800}.colop-feedback{color:var(--berry-dark);text-align:center;margin:8px 0 0;font-size:12px;font-weight:900}.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{border:0;gap:10px;width:100%;margin:0;padding:0;display:grid}.judge-row.paper-card{border:2px solid var(--line-2);background:var(--paper-2);width:auto;height:auto;min-height:64px;box-shadow:none;border-radius:12px;align-items:center;gap:12px;padding:9px 14px;font:700 16px Nunito,sans-serif;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-dark)}.candy-button--false.is-selected{border-color:var(--berry-dark);background:var(--berry-light);color:var(--berry-dark)}.number-line-widget{text-align:center;gap:12px;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 13px Nunito,sans-serif}.number-line__value{font:900 28px Nunito,sans-serif}.build-up-widget{gap:14px;width:100%;display:grid}.build-up-bricks{flex-wrap:wrap;justify-content:center;gap:10px;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;background:0 0;border-radius:14px;place-items:center;padding:14px 18px;font:800 16px/1.35 Nunito,sans-serif;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{flex-direction:column;gap:12px;width:100%;display:flex}.match-widget{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;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-height:44px;font-weight:800}.match-card{text-align:left;align-items:center;gap:8px;padding:9px 12px;display:flex}.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{border:2px dashed var(--line-2);border-radius:14px;gap:8px;margin:0;padding:12px;list-style:none;display:grid}.order-slot{border:2px dashed var(--line-2);border-radius:12px;align-items:center;gap:9px;min-height:54px;padding:5px 7px;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{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.classify-bin{border:2px dashed var(--line-2);background:var(--paper-2);border-radius:14px;min-height:120px;padding:9px}.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:18px;font-weight:900}.retell-input{border:2px solid var(--line-2);resize:vertical;background:#fff;border-radius:12px;min-height:130px;padding:13px;font-size:17px;line-height:1.5}.retell-input:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.retell-meta{color:var(--ink-faint);justify-content:space-between;gap:10px;font-size:13px;display:flex}.retell-meta .is-ready{color:var(--grass-dark);font-weight:800}.hotspot-widget,.sketch-widget{flex-direction:column;gap:10px;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-dark);border-style:solid}.hotspot-marker.is-wrong{border-color:var(--berry-dark);background:var(--berry-light);color:var(--berry-dark)}.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:14px;width:100%;display:grid}.teach-probe-question{margin:0;font-size:18px;font-weight:900;line-height:1.4}.teach-options{flex-wrap:wrap;gap:10px;display:flex}.teach-option{border:2px solid var(--line-2);background:var(--paper-2);min-height:44px;box-shadow:0 3px 0 var(--line-2);cursor:pointer;border-radius:12px;padding:9px 16px;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);margin:0;font-size:13px}.teach-reveal{border:1.5px solid var(--sky-dark);background:var(--sky-light);border-radius:14px;align-items:flex-start;gap:10px;padding:13px 16px;display:flex}.teach-reveal__icon{font-size:20px}.teach-reveal__content{gap:10px;min-width:0;display:grid}.teach-reveal__content p{margin:0;font-weight:800;line-height:1.45}.teach-reveal__content img{object-fit:contain;border-radius:10px;max-width:100%;max-height:260px}.teach-reveal__content audio{width:min(100%,360px)}.read-widget{gap:14px;width:min(100%,760px);display:grid}.read-passage{border:1.5px solid var(--line-2);background:var(--paper-2);border-radius:16px;gap:16px;padding:18px;display:grid}.read-passage-part{gap:12px;display:grid}.read-passage-part>p{margin:0;font-size:17px;line-height:1.7}.read-eyebrow{color:var(--sky-dark);letter-spacing:.08em;text-transform:uppercase;margin:0;font:500 9px JetBrains Mono,monospace}.read-question{border:1.5px solid var(--line-2);background:var(--paper);border-radius:13px;gap:10px;padding:13px;display:grid}.read-question.is-wrong{border-color:var(--berry-dark);background:var(--berry-light)}.read-question h3{margin:0;font-size:16px}.read-question-number{color:var(--sun-dark);text-transform:uppercase;margin:0;font:700 9px JetBrains Mono,monospace}.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);border-radius:50%;place-items:center;width:25px;height:25px;font:700 10px JetBrains Mono,monospace;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);background:#fff;border-radius:10px;min-height:44px;padding:9px 11px;font:700 16px/1.4 Nunito,sans-serif}.read-answer-input--long{resize:vertical;min-height:100px}.read-question-feedback{color:var(--berry-dark);margin:0;font-size:12px;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:13px;width:min(100%,760px);display:grid}.flashcard-header{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.flashcard-header h2{margin:4px 0 0;font-size:20px}.flashcard-progress{text-align:right;flex-direction:column;margin:0;display:flex}.flashcard-progress strong{color:var(--grass-dark);font:900 22px JetBrains Mono,monospace}.flashcard-progress span{color:var(--ink-faint);font-size:10px}.flashcard-widget progress{width:100%;accent-color:var(--grass)}.flashcard-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;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:22px}.flashcard-face--back>span{color:var(--grass-dark);font-size:11px;font-weight:800}.flashcard-placeholder{border:1.5px dashed var(--sky-dark);background:var(--sky-light);border-radius:13px;place-items:center;width:64px;height:64px;font-size:24px;font-weight:900;display:grid}.flashcard audio{width:100%;height:36px}.speak-widget,.rhythm-widget{flex-direction:column;align-items:center;gap:14px;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:12px}.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-dark)}.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{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:min(620px,100%);min-height:100%;padding:24px;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{filter:drop-shadow(0 4px #2a26201f);font-size:44px}.goal-done{font-weight:800;color:var(--grass-dark)!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-dark);letter-spacing:.09em;font:500 9px JetBrains Mono}.next-milestone strong{font-size:17px}.next-milestone span{color:var(--ink-soft);font-size:13px}.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{color:var(--grass-dark);font:900 24px JetBrains Mono}.recap-stats span{color:var(--ink-soft);font-size:11px}.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-dark);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.recap-actions{gap:8px;margin-top:7px;display:flex}@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)}}@media (width<=899px){.lesson-page{align-items:start;padding:12px}.lesson-frame{border-radius:18px;min-height:calc(100vh - 24px)}.lesson-layout{display:block}.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,.stage-column>.teacher-panel .ask-button{display:none}.teacher-bubble{align-self:center}.prompt-block h1{font-size:26px}.widget-stage{min-height:260px}.lesson-grid{grid-template-columns:repeat(2,1fr)}.hero-paper{margin:18px 20px 45px;padding:45px}.hero-stack,.lesson-layout>.desktop-teacher-chat{display:none}.mobile-teacher-chat{display:block}.stage-column>.teacher-panel .ask-button{grid-column:1/-1;display:block}}@media (width<=559px){.section-heading h2{font-size:27px}.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:39px}.hero-paper>div>p:not(.eyebrow){font-size:15px}.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:35px;padding:0;font-size:0}.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:22px}.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{padding:9px;font-size:13px}.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-card{padding:7px;font-size:14px}.order-slot{flex-wrap:wrap;align-items:flex-start}.order-controls{justify-content:flex-end;width:100%}.classify-bins{grid-template-columns:1fr 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}.teach-options{grid-template-columns:1fr;display:grid}.teach-option{width:100%}.teach-reveal{padding:11px 12px}.read-passage{padding:13px}.read-passage-part>p{font-size:15px}.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:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
