:root{font-family:Manrope,sans-serif;color:#1e2924;background:#f8f8f4;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;--ink:#1e2924;--muted:#77817b;--line:#e8ebe4;--green:#3e775e;--green-dark:#2f634a;--mint:#e9f1e8;--cream:#fbf8ed;--yellow:#e8c66b;--blue:#e9eff5;--shadow:0 12px 36px rgba(35,48,39,.07)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:29px 18px 18px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:800;line-height:1.05;letter-spacing:-.4px;padding:0 10px;color:#2c4b3b}.brand-mark{font-family:Literata,serif;font-size:28px;font-weight:700;display:grid;place-items:center;width:39px;height:39px;background:#e6efe6;color:#376b51;border-radius:13px 13px 13px 5px;line-height:1}.sidebar-label{font-size:9px;font-weight:800;letter-spacing:1.6px;color:#a2aaa2;margin:51px 12px 12px}.nav-link{height:45px;border:0;background:transparent;color:#6d7770;border-radius:10px;padding:0 12px;display:flex;gap:12px;align-items:center;text-align:left;font-size:12px;font-weight:700;margin:3px 0}.nav-link:hover,.nav-link.active{background:#edf3ec;color:#3d7056}.sidebar-bottom{margin-top:auto}.profile-select{display:grid;gap:7px;padding:11px 10px 14px;border-bottom:1px solid var(--line);font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#9aa39b}.profile-select select{border:0;background:#f5f7f2;border-radius:8px;padding:10px;color:#38443c;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none;outline:0}.account-row{display:flex;align-items:center;gap:10px;padding:14px 5px 2px}.avatar{width:31px;height:31px;background:#dcebe0;color:#38644d;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}.account-email{font-size:10px;color:#647068;overflow:hidden;text-overflow:ellipsis;flex:1}.icon-button{width:35px;height:35px;border:0;background:transparent;color:#78837c;border-radius:9px;display:grid;place-items:center}.icon-button:hover{background:#f0f3ee;color:var(--green)}.main-content{margin-left:248px;min-height:100vh;flex:1}.topbar{height:65px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.2%;background:#ffffff8f}.breadcrumb{font-size:11px;color:#69756e;font-weight:600}.breadcrumb span{padding:0 8px;color:#bdc3bc}.grade-pill,.quiz-class-tag{background:#edf2e9;color:#50715d;border-radius:30px;padding:8px 13px;font-size:10px;font-weight:800}.page-wrap{max-width:1130px;margin:0 auto;padding:48px 5.2% 90px}.welcome-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:32px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#78927e;font-weight:800}.welcome-row h1,.empty-state h1,.quiz-complete h1{font-family:Literata,serif;font-size:37px;line-height:1.15;letter-spacing:-1.15px;font-weight:700;margin:10px 0 8px;color:#24352b}.welcome-row p,.empty-state>p{font-size:12px;color:#849087;margin:0;line-height:1.7}.wave{display:inline-grid;place-items:center;background:#f6edce;width:30px;height:30px;border-radius:50%;font-family:Manrope;font-size:15px;color:#bd9840;vertical-align:4px;margin-left:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:9px;padding:12px 17px;font-size:11px;font-weight:800;transition:transform .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff;box-shadow:0 4px 9px #3e775e24}.button.primary:hover{background:var(--green-dark)}.button.secondary{background:#fff;border:1px solid #e5e9e2;color:#57665c}.button.secondary:hover{background:#f4f7f2}.button.small{padding:10px 13px;font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.stat-card{position:relative;min-height:143px;padding:19px 20px;border-radius:13px;overflow:hidden}.stat-green{background:#edf4eb}.stat-yellow{background:#faf3df}.stat-blue{background:#edf2f7}.stat-icon{width:31px;height:31px;background:#ffffffb8;display:grid;place-items:center;border-radius:9px;color:#4f7c60;margin-bottom:13px}.stat-card>span{font-size:10px;color:#77847a;font-weight:700}.stat-card strong{display:block;font-family:Literata,serif;font-size:27px;margin-top:3px;line-height:1.2;color:#334c3b}.stat-card strong small{font-family:Manrope;font-size:12px;color:#9aa49b;font-weight:600}.stat-note{position:absolute;right:17px;bottom:18px;color:#98a29a;font-size:9px}.recommend-banner{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #f0e9d7;border-radius:11px;padding:14px 17px;margin-bottom:31px}.recommend-icon{width:35px;height:35px;border-radius:10px;background:#faf3dd;color:#c39d41;display:grid;place-items:center}.recommend-banner strong{font-size:11px;color:#4d584f}.recommend-banner p{font-size:10px;color:#929a93;margin:4px 0 0}.text-link{margin-left:auto;border:0;background:none;color:#52755d;display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.section-heading h2{font-family:Literata,serif;font-size:23px;letter-spacing:-.5px;margin:6px 0 0;color:#2c3a30}.topic-count{font-size:10px;color:#9aa29b}.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.topic-card{background:#fff;border:1px solid #ebeee8;border-radius:13px;overflow:hidden;transition:box-shadow .2s,transform .2s}.topic-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.topic-art{height:97px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.topic-art>span:first-child{font-family:Literata,serif;font-size:41px;font-weight:700;color:#3b6348c2;transform:rotate(-7deg)}.topic-art:before,.topic-art:after{content:"";position:absolute;border:1px solid rgba(78,113,80,.12);border-radius:50%;width:110px;height:110px;left:13%;top:-63px}.topic-art:after{width:160px;height:160px;left:auto;right:8%;top:45px}.art-0{background:#eaf2e8}.art-1{background:#f7f0dc}.art-2{background:#e9eff4}.art-3{background:#f3e9e5}.art-1>span:first-child{color:#b59643}.art-2>span:first-child{color:#67809b}.art-3>span:first-child{color:#a97864}.art-spark{position:absolute;right:22%;top:23px;color:#c6a44b;font-size:17px}.topic-card-body{padding:15px 16px 16px}.topic-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:9px;color:#929b93}.done-tag,.review-tag{display:inline-flex;align-items:center;gap:3px;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:800}.done-tag{background:#eaf3e9;color:#528060}.review-tag{background:#fbf3de;color:#a17e2d}.topic-card h3,.progress-card h3{font-family:Literata,serif;font-size:17px;margin:9px 0 5px;color:#2d3c32}.topic-card-body>p{font-size:10px;line-height:1.5;color:#89948b;min-height:30px;margin:0}.topic-actions{display:flex;align-items:center;gap:6px;margin-top:15px}.card-start{padding:9px 12px;font-size:9px}.settings-button{border:1px solid #e8ece5;width:34px;height:34px}.empty-list{padding:36px 20px;text-align:center;background:#fff;border:1px dashed #dce4da;border-radius:12px;color:#879288;font-size:12px;line-height:1.7}.alert{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-radius:9px;font-size:11px;margin-bottom:15px}.alert button{border:0;background:transparent;color:inherit;display:grid;place-items:center}.error-alert{background:#faeae7;color:#a34f45}.success-alert{background:#e9f3e8;color:#4e7958}.empty-state{max-width:520px;margin:80px auto;text-align:center;background:#fff;padding:42px;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.empty-icon{width:55px;height:55px;border-radius:17px;background:#eaf2e8;color:var(--green);display:grid;place-items:center;margin:0 auto 22px}.empty-state h1{font-size:31px}.create-child-form{display:grid;grid-template-columns:1fr 130px;gap:9px;margin:25px auto 0;max-width:410px}.create-child-form .button{grid-column:1/-1}.text-input{display:block;width:100%;border:1px solid #e2e7e0;background:#fff;border-radius:8px;padding:11px 12px;font-size:11px;color:#39453c;outline:0;transition:border .15s,box-shadow .15s}.text-input:focus{border-color:#8caf94;box-shadow:0 0 0 3px #6e9b771f}.text-input::placeholder{color:#adb5ae}.field-label{display:block;font-size:10px;color:#647168;font-weight:800;margin:15px 0 7px}.field-label small{font-size:9px;color:#a4aca5;font-weight:500;margin-left:4px}.field-hint{font-size:9px;color:#9aa39b;line-height:1.6;margin:7px 0 0}.inline-child{display:flex;gap:8px;align-items:center;padding:13px;background:#f0f5ee;border-radius:10px;margin:-16px 0 22px}.inline-child strong{font-size:10px;margin-right:auto}.inline-child .text-input{max-width:160px;padding:9px}.inline-child .button{padding:9px 11px;font-size:9px}.progress-list{display:grid;gap:12px}.progress-card{background:#fff;border:1px solid #eaede7;border-radius:12px;padding:18px 20px}.progress-main{display:flex;align-items:flex-start;gap:12px}.progress-dot{width:34px;height:34px;border-radius:10px;background:#edf3eb;color:#588064;display:grid;place-items:center;flex:none}.progress-card h3{margin:7px 0 3px}.progress-card p{margin:0;color:#879189;font-size:10px}.mistake-details{border-top:1px solid #edf0eb;margin:16px 0 0 46px;padding-top:13px}.mistake-details summary{list-style:none;display:flex;align-items:center;gap:7px;color:#55755e;font-size:10px;font-weight:800;cursor:pointer}.mistake-details summary::-webkit-details-marker{display:none}.mistake-details[open] summary svg{transform:rotate(180deg)}.mistake-list{display:grid;gap:9px;margin-top:12px}.mistake-item{background:#fafbf8;padding:12px 13px;border-radius:8px;display:grid;gap:6px}.mistake-item strong{font-size:10px;color:#4d5d51}.mistake-item span,.mistake-item p{font-size:9px;color:#869188;line-height:1.6}.mistake-item p{margin:0}.mistake-item b{color:#477354}.teacher-form{max-width:760px;background:#fff;border:1px solid #eaede7;border-radius:14px;padding:25px 28px;box-shadow:0 6px 22px #23302709}.teacher-form-heading{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0eb;padding-bottom:17px;margin-bottom:5px}.teacher-form-icon{width:41px;height:41px;background:#edf3eb;color:#527960;border-radius:12px;display:grid;place-items:center}.teacher-form-heading h2{font-family:Literata,serif;font-size:18px;margin:0 0 4px}.teacher-form-heading p{font-size:9px;color:#8c968e;margin:0}.form-grid{display:grid;grid-template-columns:125px 1fr;gap:14px}.textarea{min-height:76px;resize:vertical}.textarea.short{min-height:61px}.form-divider{height:1px;background:#edf0eb;margin:22px 0}.question-builder-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.question-builder-head h3{font-family:Literata,serif;font-size:15px;margin:5px 0 0}.optional-tag{font-size:8px;background:#f4f5f1;color:#929c93;padding:6px 8px;border-radius:20px}.teacher-submit-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:19px}.quiz-screen{min-height:100vh;background:#f6f7f2;padding:0 6% 44px}.quiz-top{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #e7ebe3}.back-button{justify-self:start;border:0;background:none;color:#6e7b71;display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700}.quiz-topic-label{font-family:Literata,serif;font-size:14px;font-weight:700;color:#465a4b}.quiz-class-tag{justify-self:end}.quiz-card-wrap{max-width:660px;margin:57px auto 0}.quiz-progress-row{display:flex;justify-content:space-between;color:#89938a;font-size:9px;margin-bottom:8px}.quiz-progress{height:5px;background:#e5eae2;border-radius:10px;overflow:hidden}.quiz-progress-value{display:block;height:100%;background:#79a27f;border-radius:10px;transition:width .3s}.question-card{background:#fff;border:1px solid #e9ede7;border-radius:16px;padding:35px 40px 23px;margin-top:22px;box-shadow:0 12px 35px #2535280f}.question-number{font-size:9px;letter-spacing:1.4px;color:#8fa28f;font-weight:800}.question-card>h1{font-family:Literata,serif;font-size:28px;line-height:1.35;letter-spacing:-.5px;color:#2c3d31;margin:10px 0 25px}.answer-options{display:grid;gap:9px}.answer-option{position:relative;display:flex;align-items:center;gap:12px;text-align:left;min-height:48px;padding:10px 13px;background:#fff;border:1px solid #e5eae3;border-radius:9px;color:#4b594f;font-size:11px;font-weight:600;transition:all .15s}.answer-option:hover:not(:disabled){border-color:#9aba9e;background:#f7faf6}.answer-option.selected{border-color:#76a281;background:#f1f7f0}.answer-option.correct{border-color:#75aa7b;background:#eef7ed}.answer-option.wrong{border-color:#d69b8d;background:#fbefec}.option-letter{width:25px;height:25px;display:grid;place-items:center;background:#f1f3ef;border-radius:7px;font-size:10px;color:#829087;font-weight:800}.option-status{margin-left:auto;color:#4d8b5b}.answer-input{font-size:14px;padding:14px}.answer-correct{border-color:#7cac80;background:#f1f8ef}.answer-wrong{border-color:#d79a8e;background:#fcf0ed}.answer-feedback{margin-top:16px;padding:14px 15px;border-radius:9px;font-size:10px}.feedback-good{background:#eff7ed;color:#497351}.feedback-try{background:#fcf6e8;color:#806c39}.feedback-heading{display:flex;align-items:center;gap:8px;font-weight:800}.feedback-icon{width:25px;height:25px;border-radius:50%;background:#ffffffb3;display:grid;place-items:center}.answer-feedback>p{margin:10px 0 7px;color:#69736a}.answer-feedback>p strong{color:#3a4c3e}.rule-toggle{display:flex;align-items:center;gap:5px;border:0;background:none;padding:2px 0;color:#896d2d;font-size:9px;font-weight:800}.rule-box{background:#ffffff9e;border-radius:7px;padding:10px 11px;margin-top:9px}.rule-box span{font-size:8px;letter-spacing:1px;font-weight:800;color:#9b885a}.rule-box p{font-size:10px;line-height:1.65;color:#625c4d;margin:5px 0 0}.question-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0eb;margin-top:22px;padding-top:17px}.encouragement{font-size:9px;color:#97a097}.question-footer .button{padding:10px 14px;font-size:10px}.quiz-footnote{display:flex;justify-content:center;align-items:center;gap:6px;color:#a0a89f;font-size:9px;margin-top:19px}.quiz-complete{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.complete-burst{width:70px;height:70px;border-radius:23px 23px 23px 8px;background:#e9f2e7;color:#66956c;display:grid;place-items:center;font-size:34px;margin-bottom:23px}.quiz-complete h1{font-size:37px}.quiz-complete>p{font-size:12px;line-height:1.7;color:#859087;max-width:380px}.complete-note{display:flex;align-items:center;gap:7px;background:#fbf5e4;color:#947a37;padding:11px 14px;border-radius:9px;font-size:10px;margin:15px 0 24px}.loading-state{padding:20vh;text-align:center;color:#839087;font-size:12px}.inline-error{color:#a34f45;font-size:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b271e52;display:grid;place-items:center;z-index:5;padding:20px}.modal{width:min(100%,420px);background:#fff;border-radius:14px;padding:20px 23px 23px;box-shadow:0 22px 70px #121e142e}.modal>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0eb;padding-bottom:11px}.modal>header h2{font-family:Literata,serif;font-size:18px;margin:0}.modal-topic{font-size:12px;font-weight:800;color:#536b59;margin-top:17px}.count-control{display:flex;align-items:center;border:1px solid #e2e7e0;border-radius:8px;overflow:hidden;height:42px}.count-control button{height:100%;width:44px;border:0;background:#f6f8f4;color:#527359;font-size:20px}.count-control input{width:100%;height:100%;border:0;text-align:center;font-weight:800;color:#39483d;outline:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-left{background:#355f49;color:#fff;min-height:100vh;padding:35px 9%;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-left:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-230px;bottom:-250px;box-shadow:0 0 0 50px #ffffff06,0 0 0 105px #ffffff05}.brand.light{color:#fff}.brand.light .brand-mark{background:#e3eedf;color:#315b45}.auth-copy{position:relative;z-index:1;margin:auto 0;max-width:470px}.auth-copy .eyebrow{color:#c5d8c7}.auth-copy h1{font-family:Literata,serif;font-size:clamp(43px,5vw,68px);line-height:1.08;letter-spacing:-2px;margin:19px 0}.auth-copy h1 em{font-weight:600;color:#e8d99e}.auth-copy>p{font-size:13px;line-height:1.8;color:#d1dfd2;max-width:340px}.auth-doodle{margin-top:48px;font-family:Literata,serif;font-weight:700;font-size:74px;color:#f3eed4cc;position:relative;width:max-content;transform:rotate(-8deg)}.auth-doodle span{position:absolute;font-family:Manrope;font-size:17px;color:#e8d99e;right:-28px;top:5px}.auth-foot{position:relative;z-index:1;font-size:10px;color:#bbd0c0;letter-spacing:.3px}.auth-right{display:grid;place-items:center;padding:40px}.auth-form-wrap{width:min(100%,365px)}.mini-brand{display:flex;align-items:center;gap:9px;color:#627267;font-size:10px;font-weight:800;margin-bottom:42px}.mini-brand .brand-mark{width:30px;height:30px;border-radius:10px 10px 10px 4px;font-size:21px}.auth-form-wrap h2{font-family:Literata,serif;font-size:30px;letter-spacing:-.6px;margin:0 0 8px;color:#293a2f}.muted{font-size:11px;color:#8d978e;margin:0 0 23px}.auth-form-wrap form .field-label{margin:17px 0 7px}.auth-submit{width:100%;margin-top:23px;height:43px}.auth-switch{font-size:10px;color:#89938b;text-align:center;margin-top:19px}.auth-switch button{border:0;background:transparent;color:#487354;font-size:10px;font-weight:800;padding:0 0 0 4px}.auth-privacy{display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid #edf0eb;margin-top:28px;padding-top:17px;color:#a0a8a1;font-size:9px}@media(max-width:1000px){.sidebar{width:210px}.main-content{margin-left:210px}.page-wrap{padding-left:4%;padding-right:4%}.topic-grid{gap:11px}.topic-card-body{padding:13px}.stats-grid{gap:10px}.stat-card{padding:16px}.auth-left{padding-left:7%;padding-right:7%}}.teacher-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:17px}.my-topic-picker{margin:8px 0 5px}.question-editor{padding:15px 0 19px;border-bottom:1px solid #edf0eb}.question-builder-head{margin-bottom:6px}.remove-question{border:0;background:#fbefec;color:#a2675b;padding:7px 9px;border-radius:7px;font-size:9px;font-weight:700}.add-question{margin-top:15px}.my-topics-panel{background:#fff;border:1px solid #eaede7;border-radius:13px;padding:17px 15px;position:sticky;top:85px}.my-topics-panel>h3{font-family:Literata,serif;font-size:15px;margin:7px 0 12px}.my-topics-panel>p{font-size:10px;color:#909990;line-height:1.6}.my-topic-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;background:transparent;border:0;border-top:1px solid #edf0eb;padding:11px 2px;color:#718076}.my-topic-row:hover,.my-topic-row.selected{color:#426d50}.my-topic-row span{display:grid;gap:4px}.my-topic-row b{font-size:9px;color:#526056}.my-topic-row small{font-size:8px;color:#a0a9a1}.my-topic-row svg{flex:none}@media(max-width:760px){.sidebar{position:sticky;width:100%;height:auto;inset:auto;flex-direction:row;align-items:center;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line);gap:7px}.brand{padding:0;font-size:10px;gap:7px;margin-right:auto}.brand-mark{width:32px;height:32px;font-size:23px}.sidebar-label,.sidebar-bottom{display:none}.sidebar .nav-link{display:flex;margin:0;padding:0 9px;font-size:0;gap:0;width:36px;flex:none;justify-content:center;height:38px}.sidebar .nav-link.active{font-size:0}.main-content{margin-left:0;min-height:calc(100vh - 53px)}.app-shell{display:block}.topbar{height:48px;padding:0 17px}.page-wrap{padding:31px 17px 60px}.welcome-row{align-items:flex-start;flex-direction:column;margin-bottom:24px}.welcome-row h1{font-size:30px}.welcome-row>.button{align-self:flex-start}.stats-grid{grid-template-columns:repeat(3,1fr);gap:7px}.stat-card{min-height:112px;padding:12px 10px}.stat-icon{width:26px;height:26px;margin-bottom:9px}.stat-card>span{font-size:8px}.stat-card strong{font-size:22px}.stat-note{position:static;font-size:7px;margin-top:5px}.recommend-banner{align-items:flex-start;padding:12px;flex-wrap:wrap}.recommend-banner .text-link{margin-left:48px}.section-heading h2{font-size:20px}.topic-grid{grid-template-columns:1fr}.topic-art{height:85px}.topic-card-body{padding:14px}.empty-state{margin:36px auto;padding:28px 20px}.empty-state h1{font-size:27px}.inline-child{flex-wrap:wrap}.inline-child strong{width:100%}.inline-child .text-input{max-width:none;flex:1;min-width:120px}.teacher-form{padding:19px 16px}.form-grid{grid-template-columns:1fr;gap:0}.teacher-layout{grid-template-columns:1fr}.my-topics-panel{position:static}.quiz-screen{padding:0 15px 32px}.quiz-top{height:57px;grid-template-columns:1fr auto}.quiz-topic-label{display:none}.quiz-class-tag{grid-column:2}.quiz-card-wrap{margin-top:34px}.question-card{padding:25px 19px 18px;margin-top:16px}.question-card>h1{font-size:22px;margin:10px 0 20px}.quiz-footnote{text-align:center;line-height:1.6}.auth-screen{grid-template-columns:1fr}.auth-left{min-height:auto;padding:20px 22px 25px}.auth-copy{margin:50px 0 20px}.auth-copy h1{font-size:43px;margin:13px 0}.auth-copy>p{font-size:11px}.auth-doodle,.auth-foot{display:none}.auth-right{padding:33px 23px;min-height:480px}.mini-brand{margin-bottom:32px}.auth-form-wrap h2{font-size:27px}.progress-card{padding:15px}.mistake-details{margin-left:0}.create-child-form{grid-template-columns:1fr 115px}.quiz-complete{min-height:calc(100vh - 53px)}}@media(max-width:390px){.stats-grid{grid-template-columns:1fr}.stat-card{min-height:97px}.stat-note{position:absolute;right:12px;bottom:14px}.create-child-form{grid-template-columns:1fr}.create-child-form .button{grid-column:auto}.question-footer{align-items:flex-start;gap:10px}.encouragement{max-width:120px;line-height:1.5}}.admin-panel{background:#fff;border:1px solid #e8ece5;border-radius:13px;overflow:hidden;box-shadow:0 6px 22px #23302709}.admin-panel-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 15px;border-bottom:1px solid #edf0eb}.admin-panel-heading h2{font-family:Literata,serif;font-size:19px;margin:0 0 4px}.admin-panel-heading p{font-size:9px;color:#9aa39b;margin:0}.refresh-button{padding:8px 11px;font-size:9px}.admin-filters{display:grid;grid-template-columns:150px minmax(190px,1fr) minmax(180px,1.3fr) auto;align-items:end;gap:11px;padding:15px 20px;border-bottom:1px solid #edf0eb}.admin-filters label{display:grid;gap:6px}.admin-filters label>span{font-size:9px;color:#77847a;font-weight:800}.admin-filters select,.search-field{width:100%;height:37px;border:1px solid #e5e9e2;background:#fff;border-radius:7px;padding:0 10px;color:#4d5b50;font-family:inherit;font-size:10px;outline:0}.admin-filters select:focus,.search-field:focus-within{border-color:#91b197;box-shadow:0 0 0 3px #6e9b771a}.search-field{display:flex;align-items:center;gap:7px;color:#9ba49c}.search-field input{min-width:0;flex:1;border:0;outline:0;color:#4d5b50;font-family:inherit;font-size:10px}.search-field input::placeholder{color:#aab2ab}.clear-filters{height:36px;border:0;background:transparent;color:#63806a;font-family:inherit;font-size:9px;font-weight:800;padding:0 4px}.admin-table-scroll{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:790px}.admin-table th{height:43px;padding:0 15px;background:#fafbf8;text-align:left;border-bottom:1px solid #e9ede6;font-size:9px;color:#8a958b;font-weight:800;white-space:nowrap}.sort-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:6px 0;color:#859087;font-family:inherit;font-size:9px;font-weight:800}.sort-button.current{color:#477454}.admin-table td{padding:12px 15px;border-bottom:1px solid #f0f2ee;font-size:10px;color:#59665c;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#fcfdfb}.table-grade{display:inline-block;background:#edf3eb;color:#55765d;border-radius:20px;padding:6px 9px;font-size:9px;font-weight:800;white-space:nowrap}.table-students{display:block;max-width:210px;color:#667369;line-height:1.6;font-size:9px}.table-muted{color:#a2aaa3}.table-topic-name{display:grid;gap:4px;color:#39483d;font-weight:800;min-width:190px}.table-topic-name small{color:#a0a9a1;font-size:8px;font-weight:500}.question-count-pill{display:inline-grid;place-items:center;min-width:25px;height:23px;padding:0 6px;border-radius:7px;background:#f1f4ef;color:#647367;font-size:9px;font-weight:800}.table-date{color:#7e8a80!important;font-size:9px!important;white-space:nowrap}.table-edit{padding:7px 10px;font-size:9px;white-space:nowrap}.table-empty{text-align:center!important;color:#98a198!important;padding:30px!important}.admin-heading{align-items:center}@media(max-width:900px){.admin-filters{grid-template-columns:1fr 1fr}.admin-filters .topic-filter{grid-column:1}.admin-heading{flex-direction:row;align-items:center}}@media(max-width:600px){.admin-filters{grid-template-columns:1fr;padding:13px}.admin-filters .topic-filter{grid-column:auto}.admin-heading{flex-direction:column;align-items:flex-start}.admin-panel-heading{padding:15px}.admin-table{min-width:750px}}.topbar-right{display:flex;align-items:center;gap:9px}.theme-toggle{width:35px;height:35px;display:grid;place-items:center;border:1px solid #e5e9e2;background:#fff;color:#64766a;border-radius:9px}.theme-toggle:hover{background:#f1f5ef;color:#3e775e}.auth-right{position:relative}.auth-theme-toggle{position:absolute;top:22px;right:22px}.mobile-profile-select{display:none}:root[data-theme=dark]{color-scheme:dark;--ink:#e7eee8;--muted:#a0ada3;--line:#303a33;background:#171d19}:root[data-theme=dark] .full-route-screen{background:#171d19}:root[data-theme=dark] .route-header,:root[data-theme=dark] .parent-student-card,:root[data-theme=dark] .parent-create-card,:root[data-theme=dark] .student-password-panel{background:#202822}:root[data-theme=dark] .auth-mode-switch{background:#2b352d}:root[data-theme=dark] .auth-mode-switch button.active{background:#202822;color:#c7ddc9}:root[data-theme=dark] .student-login-label{background:#2d3c30;color:#c7ddc9}:root[data-theme=dark] .route-header-profile strong{color:#e7eee8}:root[data-theme=dark] .button.secondary{background:#252e28;border-color:#3b493d;color:#d1ded2}:root[data-theme=dark] .parent-student-heading h3,:root[data-theme=dark] .student-login-box strong,:root[data-theme=dark] .parent-create-card h2,:root[data-theme=dark] .student-password-panel h1{color:#e7eee8}:root[data-theme=dark] .student-credentials summary{color:#a8c9aa}:root[data-theme=dark] body{background:#171d19;color:#e7eee8}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar,:root[data-theme=dark] .topic-card,:root[data-theme=dark] .progress-card,:root[data-theme=dark] .teacher-form,:root[data-theme=dark] .my-topics-panel,:root[data-theme=dark] .admin-panel,:root[data-theme=dark] .question-card,:root[data-theme=dark] .modal,:root[data-theme=dark] .auth-right,:root[data-theme=dark] .auth-screen{background:#202822;color:#e4ebe5;border-color:#344039}:root[data-theme=dark] .topbar{background:#1d251f;border-color:#303a33}:root[data-theme=dark] .sidebar{border-color:#303a33}:root[data-theme=dark] .brand{color:#dce9de}:root[data-theme=dark] .brand-mark,:root[data-theme=dark] .mini-brand .brand-mark{background:#304638;color:#cde2cf}:root[data-theme=dark] .sidebar-label,:root[data-theme=dark] .breadcrumb,:root[data-theme=dark] .muted,:root[data-theme=dark] .welcome-row p,:root[data-theme=dark] .empty-state>p,:root[data-theme=dark] .topic-card-body>p,:root[data-theme=dark] .progress-card p,:root[data-theme=dark] .teacher-form-heading p,:root[data-theme=dark] .my-topics-panel>p{color:#a2aea4}:root[data-theme=dark] .nav-link{color:#a6b1a8}:root[data-theme=dark] .nav-link:hover,:root[data-theme=dark] .nav-link.active{background:#2c3b30;color:#c8e0cc}:root[data-theme=dark] .account-email,:root[data-theme=dark] .topic-meta,:root[data-theme=dark] .topic-count,:root[data-theme=dark] .stat-note,:root[data-theme=dark] .field-hint,:root[data-theme=dark] .encouragement,:root[data-theme=dark] .quiz-progress-row,:root[data-theme=dark] .quiz-footnote{color:#9ca99f}:root[data-theme=dark] .grade-pill,:root[data-theme=dark] .quiz-class-tag{background:#2c3b30;color:#bdd6c2}:root[data-theme=dark] .nav-link.active{background:#2c3b30}:root[data-theme=dark] .text-input,:root[data-theme=dark] .profile-select select,:root[data-theme=dark] .admin-filters select,:root[data-theme=dark] .search-field,:root[data-theme=dark] .count-control,:root[data-theme=dark] .answer-option{background:#1b231d;border-color:#3b483e;color:#e1e9e2}:root[data-theme=dark] .text-input::placeholder,:root[data-theme=dark] .search-field input::placeholder{color:#77857a}:root[data-theme=dark] .search-field input{background:transparent;color:#e1e9e2}:root[data-theme=dark] .button.secondary,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .settings-button{background:#29342c;border-color:#3b483e;color:#c3d2c6}:root[data-theme=dark] .button.secondary:hover,:root[data-theme=dark] .theme-toggle:hover{background:#34443a}:root[data-theme=dark] .stat-green{background:#26382b}:root[data-theme=dark] .stat-yellow{background:#3d3521}:root[data-theme=dark] .stat-blue{background:#293541}:root[data-theme=dark] .stat-icon,:root[data-theme=dark] .option-letter{background:#35433a;color:#bdcfbf}:root[data-theme=dark] .recommend-banner,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .progress-dot,:root[data-theme=dark] .teacher-form-icon,:root[data-theme=dark] .admin-table tbody tr:hover{background:#29342c;border-color:#3b483e}:root[data-theme=dark] .recommend-banner strong,:root[data-theme=dark] .section-heading h2,:root[data-theme=dark] .topic-card h3,:root[data-theme=dark] .progress-card h3,:root[data-theme=dark] .teacher-form-heading h2,:root[data-theme=dark] .question-builder-head h3,:root[data-theme=dark] .admin-panel-heading h2,:root[data-theme=dark] .my-topics-panel>h3,:root[data-theme=dark] .question-card>h1,:root[data-theme=dark] .auth-form-wrap h2,:root[data-theme=dark] .modal>header h2,:root[data-theme=dark] .modal-topic{color:#e2ebe3}:root[data-theme=dark] .topic-art{filter:brightness(.72) saturate(.8)}:root[data-theme=dark] .done-tag{background:#2d4432;color:#a8d0ae}:root[data-theme=dark] .review-tag{background:#453b24;color:#e0c675}:root[data-theme=dark] .form-divider,:root[data-theme=dark] .question-editor,:root[data-theme=dark] .teacher-form-heading,:root[data-theme=dark] .admin-panel-heading,:root[data-theme=dark] .admin-filters,:root[data-theme=dark] .admin-table td,:root[data-theme=dark] .mistake-details,:root[data-theme=dark] .my-topic-row{border-color:#354139}:root[data-theme=dark] .admin-table th{background:#252f28;border-color:#354139;color:#a2afa4}:root[data-theme=dark] .admin-table td,:root[data-theme=dark] .table-students,:root[data-theme=dark] .table-topic-name,:root[data-theme=dark] .my-topic-row b{color:#c9d5cb}:root[data-theme=dark] .table-topic-name small,:root[data-theme=dark] .my-topic-row small,:root[data-theme=dark] .table-muted{color:#87968a}:root[data-theme=dark] .table-grade,:root[data-theme=dark] .question-count-pill{background:#2d3b31;color:#c0d5c4}:root[data-theme=dark] .answer-option.selected,:root[data-theme=dark] .answer-option.correct{background:#293d2e;border-color:#65896b}:root[data-theme=dark] .answer-option.wrong{background:#422d29;border-color:#98685e}:root[data-theme=dark] .answer-feedback.feedback-good{background:#283d2d;color:#c0dfc2}:root[data-theme=dark] .answer-feedback.feedback-try{background:#413921;color:#e1d094}:root[data-theme=dark] .rule-box,:root[data-theme=dark] .mistake-item{background:#2c342d}:root[data-theme=dark] .rule-box p,:root[data-theme=dark] .answer-feedback>p,:root[data-theme=dark] .mistake-item span,:root[data-theme=dark] .mistake-item p{color:#c0c9be}:root[data-theme=dark] .mistake-item strong{color:#e1e9e2}:root[data-theme=dark] .modal-backdrop{background:#0009}:root[data-theme=dark] .modal>header{border-color:#354139}:root[data-theme=dark] .count-control button{background:#2c392f;color:#c5d9c8}:root[data-theme=dark] .auth-left{background:#294a38}:root[data-theme=dark] .auth-left .brand{color:#fff}:root[data-theme=dark] .mini-brand{color:#bdc9bf}:root[data-theme=dark] .auth-privacy{border-color:#354139;color:#9eaa9f}:root[data-theme=dark] .auth-switch{color:#a6b0a7}:root[data-theme=dark] .auth-switch button{color:#9dc4a2}:root[data-theme=dark] .quiz-screen{background:#171d19}:root[data-theme=dark] .quiz-topic-label,:root[data-theme=dark] .back-button{color:#c5d1c7}:root[data-theme=dark] .question-number{color:#9fbaa2}:root[data-theme=dark] .question-footer{border-color:#354139}:root[data-theme=dark] .answer-correct{background:#293d2e}:root[data-theme=dark] .answer-wrong{background:#422d29}:root[data-theme=dark] .quiz-complete{background:#171d19}:root[data-theme=dark] .quiz-complete h1{color:#e2ebe3}:root[data-theme=dark] .quiz-complete>p{color:#aab5ab}:root[data-theme=dark] .complete-note{background:#3e3622;color:#e0ca7e}@media(max-width:760px){.topbar-right{gap:6px}.mobile-profile-select{display:block;max-width:125px;height:30px;border:1px solid #e5e9e2;background:#fff;border-radius:7px;padding:0 7px;color:#647168;font-family:inherit;font-size:9px;font-weight:700}.topbar-right.with-mobile-profile .grade-pill{display:none}.topbar-right .grade-pill{font-size:8px;padding:7px 8px}.topbar-right .theme-toggle{width:31px;height:31px}.auth-theme-toggle{top:13px;right:13px}}@media(max-width:760px){.sidebar{padding-top:calc(10px + env(safe-area-inset-top))}.page-wrap{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.quiz-screen{padding-bottom:calc(32px + env(safe-area-inset-bottom))}}:root[data-theme=dark] .mobile-profile-select{background:#1b231d;border-color:#3b483e;color:#d6e0d7}.auth-resend{display:block;margin:12px auto 0;background:transparent;border:0;font:inherit;font-size:12px}.success-phrases-panel{margin-top:22px}.success-phrases-list{display:grid;gap:9px;padding:18px 20px}.success-phrase-row{display:flex;align-items:center;gap:8px}.success-phrase-row .text-input{flex:1;min-width:0}.add-success-phrase{justify-self:start}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.praise-illustration{width:58px;height:58px;object-fit:contain;margin-left:auto;flex:none}.quiz-praise-image{width:34px;height:34px;max-width:34px;object-fit:contain;flex:none;margin-left:2px}.phrase-group-title{font-family:Literata,serif;font-size:17px;color:var(--ink);margin:8px 0 0}.phrase-audio-row{display:flex;align-items:center;gap:9px;flex-basis:100%;margin:0 0 7px 51px;flex-wrap:wrap}.phrase-audio-row audio{width:min(260px,100%);height:34px}.phrase-audio-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.phrase-audio-toggle input{accent-color:var(--green)}.wrong-phrases-module{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:16px;margin-top:8px}.wrong-phrase-row{display:flex;align-items:center;gap:8px;max-width:600px}.wrong-phrase-row .text-input{flex:1;min-width:0}@media(max-width:480px){.praise-illustration{width:48px;height:48px}}@media(max-width:600px){.quiz-praise-image{width:28px;height:28px;max-width:28px}.phrase-audio-row{margin-left:0}.phrase-audio-row audio{width:100%}}.praise-image-settings{display:flex;align-items:center;gap:16px;padding:4px 0 16px;border-bottom:1px solid var(--line)}.praise-image-preview{width:76px;height:76px;object-fit:contain;border-radius:16px;background:var(--surface-soft);flex:none}.praise-image-copy{display:grid;gap:6px}.praise-image-copy>span{font-size:13px;color:var(--muted)}.praise-image-button{position:relative;justify-self:start;overflow:hidden;margin-top:4px}.praise-image-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.praise-image-button input:disabled{cursor:wait}@media(max-width:480px){.praise-image-settings{align-items:flex-start;gap:12px}.praise-image-preview{width:60px;height:60px}}.module-actions{display:flex;align-items:center;gap:8px}.module-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);padding:8px 4px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.module-toggle svg{transition:transform .18s ease}.module-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.praise-phrase-row{gap:9px}.praise-phrase-row .praise-image-preview{width:42px;height:42px;padding:2px;border-radius:10px}.praise-phrase-row .text-input{flex:1;min-width:100px}.praise-phrase-row .praise-image-button{margin:0;white-space:nowrap}.praise-image-button input{font-size:0}@media(max-width:600px){.admin-panel-heading{align-items:flex-start;gap:8px}.module-actions{align-items:flex-end;flex-direction:column-reverse;gap:2px}.praise-phrase-row{flex-wrap:wrap}.praise-phrase-row .text-input{flex-basis:calc(100% - 55px)}.praise-phrase-row .praise-image-button{margin-left:51px}.praise-phrase-row .icon-button{margin-left:auto}}.success-phrase-row.praise-phrase-row{display:grid;grid-template-columns:42px minmax(120px,1fr) auto 32px;align-items:center;gap:8px}.success-phrase-row.praise-phrase-row .text-input{width:100%;min-width:0}.success-phrase-row.praise-phrase-row .praise-image-button{margin:0}.phrase-audio-row{grid-column:2/-1;display:flex;align-items:center;gap:8px;min-width:0;margin:0;flex-wrap:wrap}.phrase-audio-row .phrase-audio-toggle{width:34px;height:34px;padding:0;flex:none;color:var(--green)}.phrase-audio-row .phrase-audio-toggle.is-muted{color:#9a7770}.phrase-audio-row .praise-image-button{margin:0}.phrase-delete-audio{min-height:36px;padding:0 11px}.wrong-phrase-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:8px;max-width:680px}.wrong-phrase-row .phrase-audio-row{grid-column:1/-1}@media(max-width:600px){.success-phrase-row.praise-phrase-row{grid-template-columns:38px minmax(0,1fr) 32px}.success-phrase-row.praise-phrase-row .text-input{grid-column:2}.success-phrase-row.praise-phrase-row>.praise-image-button{grid-column:2;justify-self:start}.success-phrase-row.praise-phrase-row>.icon-button{grid-column:3;grid-row:1}.success-phrase-row.praise-phrase-row .phrase-audio-row{grid-column:2/-1}.phrase-audio-row .phrase-delete-audio{padding:0 8px}}.question-prototype.prototype-won{display:grid;place-items:center;min-height:100dvh;padding:24px}.victory-character{display:block;width:245px;height:253px;overflow:hidden;background-repeat:no-repeat;background-position:0 0;background-size:400% 100%;filter:drop-shadow(0 14px 10px rgba(44,63,48,.12));transform-origin:center bottom;animation:victory-character-jump 1.32s cubic-bezier(.35,.02,.58,1) infinite,victory-character-poses 1.32s steps(1,end) infinite;will-change:transform,background-position}.victory-red-panda{background-image:url(/victory-options/red-panda-frames.png)}.victory-blue-bunny{background-image:url(/victory-options/blue-bunny-frames.png);animation-delay:0s,.08s}.victory-little-dragon{background-image:url(/victory-options/little-dragon-frames.png);animation-delay:0s,.16s}@keyframes victory-character-jump{0%,to{transform:translateY(0) scaleY(.94)}20%{transform:translateY(0) scale(1.04,.9)}30%{transform:translateY(-8px) scale(.97,1.06)}52%{transform:translateY(-40px) scale(.99,1.04)}68%{transform:translateY(-28px) scale(1)}84%{transform:translateY(-5px) scale(1.02,.97)}}@keyframes victory-character-poses{0%{background-position:0 0}25%{background-position:33.333% 0}50%{background-position:66.667% 0}75%{background-position:100% 0}to{background-position:0 0}}.victory-choice-module{display:grid;gap:8px;padding-top:4px}.victory-preset-row{display:flex;align-items:center;gap:12px;padding:11px 13px;background:var(--cream);border:1px solid transparent;border-radius:11px}.victory-preset-row.is-selected{border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 12%,transparent)}.victory-preset-row>div{display:grid;gap:4px;flex:1;min-width:0}.victory-preset-row strong{font-size:12px;color:var(--ink)}.victory-preset-row span{font-size:11px;color:var(--muted)}.victory-preset-row audio{width:min(250px,100%);height:30px}.victory-preset-select{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.victory-preset-select input{accent-color:var(--green)}@media(max-width:600px){.question-prototype.prototype-won{padding:18px 14px}.victory-character{width:190px;height:200px;background-size:400% 100%}.victory-preset-row{align-items:flex-start;flex-wrap:wrap}.victory-preset-row>div{flex-basis:calc(100% - 10px)}.victory-preset-row audio{width:100%}}.question-prototype{min-height:100dvh;background:#f8f8f4;color:#1e2924;padding:18px 24px 150px;font-family:ui-rounded,Trebuchet MS,Manrope,sans-serif;position:relative;overflow:hidden}.prototype-topbar{width:min(100%,1040px);margin:0 auto;display:grid;grid-template-columns:42px minmax(80px,1fr) 48px 42px;gap:18px;align-items:center}.prototype-exit,.prototype-sound{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:12px;background:transparent;color:#829087;text-decoration:none}.prototype-exit:hover,.prototype-sound:hover{background:#e9f1e8;color:#3e775e}.prototype-progress{height:15px;border-radius:20px;background:#e4e9e2;overflow:hidden}.prototype-progress span{display:block;height:100%;border-radius:inherit;background:#80bd65;transition:width .45s cubic-bezier(.2,.8,.2,1);position:relative}.prototype-progress span:after{content:"";position:absolute;inset:2px 5px auto;height:4px;border-radius:9px;background:#ffffff52}.prototype-lives{display:flex;align-items:center;justify-content:center;gap:5px;color:#f17867;font-size:18px;font-weight:800}.prototype-sound{color:#718177}.prototype-content{width:min(100%,665px);margin:clamp(35px,7vh,78px) auto 0}.prototype-title{text-align:center}.prototype-kicker{display:inline-flex;align-items:center;gap:6px;color:#668b68;letter-spacing:1.4px;font-size:11px;font-weight:900}.prototype-step{display:block;color:#929c93;font-size:12px;font-weight:700;margin-top:16px}.prototype-title h1{font-size:clamp(25px,4vw,34px);letter-spacing:-1.2px;line-height:1.2;margin:8px 0}.prototype-title p{color:#7a857c;font-size:14px;margin:0}.prototype-coach{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;margin:20px auto 8px;animation:prototype-enter .55s cubic-bezier(.2,.8,.2,1) both}.prototype-mascot{width:117px;height:132px;flex:none;overflow:visible;animation:mascot-bob 3.3s ease-in-out infinite;transform-origin:50% 95%}.prototype-speech{position:relative;display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 15px;background:#fff;border:2px solid #e4eae3;border-radius:17px;color:#57705e;font-size:14px;font-weight:800;box-shadow:0 5px 14px #253b2d0b}.prototype-speech:before{content:"";position:absolute;left:-9px;top:20px;width:14px;height:14px;background:#fff;border-left:2px solid #e4eae3;border-bottom:2px solid #e4eae3;transform:rotate(45deg)}.prototype-speech-dot{position:relative;z-index:1;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#edf3ec;color:#588064}.prototype-prompt{display:grid;gap:12px;padding:20px 24px 17px;margin:10px auto 15px;text-align:center;border-top:2px solid #e2e8e1;border-bottom:2px solid #e2e8e1}.prototype-prompt>span{font-size:10px;letter-spacing:1.4px;color:#8a978c;font-weight:900}.prototype-prompt strong{font-size:clamp(21px,4vw,29px);line-height:1.35;letter-spacing:-.4px}.prototype-answers{display:flex;justify-content:center;gap:11px;flex-wrap:wrap;margin:28px auto 0}.prototype-answer{min-height:58px;min-width:135px;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 17px;border:2px solid #dce4dc;border-bottom-width:4px;border-radius:15px;background:#fff;color:#334139;font-size:15px;font-weight:800;transition:transform .12s,border-color .12s,background .12s}.prototype-answer:hover:not(:disabled){transform:translateY(-2px);border-color:#a8c6a7}.prototype-answer>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#f0f3ed;color:#79897b;font-size:11px}.prototype-answer.is-selected{border-color:#79a879;background:#f2f7ef;color:#3d704e}.prototype-answer.is-selected>span{background:#dcebd9;color:#3d704e}.prototype-answer.is-correct{border-color:#73ac68;background:#edf7e8;color:#3d7544}.prototype-answer.is-wrong{border-color:#d68d75;background:#fbefea;color:#9e5945}.prototype-footer{position:fixed;z-index:2;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e4e9e3;padding:15px 24px calc(15px + env(safe-area-inset-bottom));transition:background .25s}.prototype-footer.footer-good{background:#edf6e9;border-color:#d7e9d0}.prototype-footer.footer-wrong{background:#fbf3e8;border-color:#eee2cf}.prototype-footer-inner{width:min(100%,690px);min-height:52px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.prototype-footnote{color:#849087;font-size:13px;font-weight:600}.prototype-check,.prototype-continue{min-height:50px;min-width:160px;border:0;border-radius:15px;background:#3e775e;color:#fff;display:flex;align-items:center;justify-content:center;gap:11px;padding:0 23px;font-size:14px;font-weight:900;box-shadow:0 4px #2f634a;transition:transform .12s,background .2s}.prototype-check:disabled{background:#b9c6b9;box-shadow:0 4px #9eac9e;opacity:1}.prototype-check:not(:disabled):hover,.prototype-continue:hover{transform:translateY(-1px)}.prototype-continue{background:#74a963;box-shadow:0 4px #58874b}.retry-button{background:#bd815a;box-shadow:0 4px #9d6544}.prototype-feedback{display:flex;align-items:center;gap:11px;color:#528451}.prototype-feedback>div{display:grid;gap:3px}.prototype-feedback strong{font-size:15px}.prototype-feedback span{font-size:12px;color:#708471}.footer-wrong .prototype-feedback{color:#a96c49}.prototype-caption{position:fixed;bottom:89px;left:50%;transform:translate(-50%);color:#a1aaa2;font-size:10px;white-space:nowrap}.prototype-caption a{color:#6e8b72;text-decoration:none}.is-cheering .prototype-mascot{animation:mascot-jump .72s ease-in-out 3}.is-cheering .prototype-speech{background:#f2f8ee;border-color:#cfe2c9;color:#56824c}.is-cheering .prototype-speech:before{background:#f2f8ee;border-color:#cfe2c9}.is-cheering .prototype-speech-dot{background:#dcefd4;color:#52874a}.is-trying .prototype-mascot{animation:mascot-kind .38s ease-in-out 2}.speech-good{color:#56824c}.prototype-confetti{position:fixed;z-index:5;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.prototype-confetti i{position:absolute;top:-20px;left:calc(var(--i) * 4%);width:9px;height:13px;background:hsl(calc(var(--i) * 31),65%,62%);border-radius:3px;animation:confetti-fall 1.35s cubic-bezier(.2,.7,.4,1) var(--delay) forwards;transform:rotate(var(--spin))}@keyframes prototype-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes mascot-bob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@keyframes mascot-jump{0%,to{transform:translateY(0) rotate(0)}35%{transform:translateY(-32px) rotate(-7deg)}65%{transform:translateY(-22px) rotate(7deg)}}@keyframes mascot-kind{0%,to{transform:rotate(0)}35%{transform:rotate(-5deg)}70%{transform:rotate(5deg)}}@keyframes confetti-fall{to{top:90vh;transform:translateY(30px) rotate(540deg);opacity:0}}@media(max-width:600px){.question-prototype{padding:12px 15px calc(170px + env(safe-area-inset-bottom))}.prototype-topbar{grid-template-columns:34px 1fr 40px 34px;gap:8px}.prototype-content{margin-top:clamp(30px,6vh,55px)}.prototype-title h1{font-size:25px}.prototype-coach{margin-top:22px}.prototype-mascot{width:98px;height:113px}.prototype-speech{font-size:12px;padding:8px 11px}.prototype-prompt{padding:17px 9px}.prototype-prompt strong{font-size:22px}.prototype-answers{display:grid;grid-template-columns:1fr;gap:9px;margin-top:22px}.prototype-answer{min-height:53px;width:100%;justify-content:flex-start;padding-left:15px}.prototype-answer>svg{margin-left:auto}.prototype-footer{padding:13px 15px calc(13px + env(safe-area-inset-bottom))}.prototype-footer-inner{align-items:stretch;flex-direction:column;gap:10px}.prototype-feedback{min-height:38px}.prototype-check,.prototype-continue{width:100%;min-height:48px}.prototype-caption{bottom:calc(143px + env(safe-area-inset-bottom));font-size:9px}}@media(prefers-reduced-motion:reduce){.prototype-mascot,.prototype-coach,.prototype-confetti i{animation:none!important}.prototype-progress span,.prototype-answer,.prototype-footer{transition:none}}.prototype-answer.is-wrong{background:#eceeeb;border-color:#d8dcd7;border-bottom-color:#d8dcd7;color:#8a928b;opacity:1;cursor:not-allowed;box-shadow:none}.prototype-answer.is-wrong:hover{transform:none}.prototype-rule{max-width:600px;margin:18px auto 0;padding:14px 18px;background:#fff;border-left:4px solid #d8a46c;border-radius:0 12px 12px 0;box-shadow:0 3px 12px #23302709;animation:prototype-enter .25s ease-out}.prototype-rule>span{font-size:10px;letter-spacing:1.3px;color:#aa794b;font-weight:900}.prototype-rule p{font-size:13px;line-height:1.6;color:#606d63;margin:6px 0 0}.prototype-victory{display:grid;place-items:center;padding-bottom:30px}.victory-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;max-width:550px}.victory-content .prototype-mascot{width:190px;height:200px;animation:mascot-jump .85s ease-in-out infinite}.victory-content h1{font-size:clamp(29px,6vw,48px);letter-spacing:-1.6px;margin:10px 0;color:#355f45}.victory-content p{font-size:16px;color:#718075;margin:0 0 24px}.victory-star{font-size:55px;color:#e5bb50;animation:victory-spin 4s linear infinite}.victory-content .prototype-continue{text-decoration:none}.character-voice-note{font-size:12px;color:#77847a;margin:0 0 2px}.prototype-sound-settings{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;display:grid;gap:10px}.prototype-sound-heading{display:grid;gap:4px}.prototype-sound-heading h3{font-family:Literata,serif;font-size:16px;color:var(--ink);margin:0}.prototype-sound-heading>span{font-size:11px;color:var(--muted)}.prototype-sound-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:var(--cream);border-radius:11px}.prototype-sound-row>div{display:grid;gap:5px;min-width:0}.prototype-sound-row strong{font-size:12px;color:var(--ink)}.prototype-sound-row span{font-size:11px;color:var(--muted)}.prototype-sound-row audio{width:min(290px,48vw);height:31px}.prototype-sound-row .praise-image-button{flex:none}@keyframes victory-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.prototype-rule{margin-top:15px;padding:12px 14px}.prototype-rule p{font-size:12px}.prototype-sound-row{align-items:flex-start;flex-direction:column}.prototype-sound-row audio{width:min(100%,340px)}.prototype-sound-row .praise-image-button{margin-left:0}.victory-content{padding:15px}.victory-content .prototype-mascot{width:155px;height:165px}}@media(prefers-reduced-motion:reduce){.victory-content .prototype-mascot,.victory-character,.victory-star{animation:none!important}}.prototype-speech span:last-child{max-width:330px;line-height:1.4}:root[data-theme=dark] .prototype-speech.speech-good{background:#26382a;border-color:#405943;color:#d5e7d3}:root[data-theme=dark] .prototype-speech.speech-good:before{background:#26382a;border-color:#405943}:root[data-theme=dark] .prototype-rule{border-left-color:#b88b5d}@media(max-width:600px){.prototype-speech span:last-child{max-width:210px}}.quiz-game-screen .prototype-content{margin-top:clamp(30px,6vh,66px)}.quiz-game-screen .prototype-title{margin-bottom:8px}.quiz-game-screen .prototype-title h1{margin-top:10px}.quiz-game-screen .prototype-coach{margin-top:15px}.quiz-answer-options{margin-top:22px}.quiz-answer-options .prototype-answer{min-width:150px}.quiz-text-answer{max-width:550px;margin:24px auto 0;display:flex;gap:10px;align-items:center}.quiz-text-answer .text-input{min-width:0;flex:1;height:54px;border:2px solid #dce4dc;border-radius:14px;background:#fff;padding:0 16px;font-size:16px;color:#334139;outline:0}.quiz-text-answer .text-input:focus{border-color:#79a879;box-shadow:0 0 0 3px #6e9b771f}.quiz-text-answer .prototype-check{flex:none}.quiz-game-screen .prototype-footer-inner{min-height:55px}.quiz-game-screen .prototype-feedback span{max-width:350px;line-height:1.4}.quiz-game-screen .prototype-rule{margin-top:16px}@media(max-width:600px){.quiz-game-screen .prototype-content{margin-top:28px}.quiz-game-screen .prototype-title h1{font-size:23px}.quiz-game-screen .prototype-answers{margin-top:18px}.quiz-answer-options .prototype-answer{min-width:0}.quiz-text-answer{display:grid;grid-template-columns:1fr;margin-top:18px}.quiz-text-answer .prototype-check{width:100%}.quiz-game-screen .prototype-feedback span{max-width:none}}:root[data-theme=dark] .quiz-text-answer .text-input{background:#202822;border-color:#344039;color:#e2ebe3}:root[data-theme=dark] .quiz-text-answer .text-input:focus{border-color:#65876a}:root[data-theme=dark] .quiz-game-screen .prototype-rule{background:#202822}.prototype-answer.is-correct{opacity:1}:root[data-theme=dark] .question-prototype{background:#171d19;color:#e7eee8}:root[data-theme=dark] .prototype-progress{background:#34423a}:root[data-theme=dark] .prototype-exit,:root[data-theme=dark] .prototype-sound{color:#9eada1}:root[data-theme=dark] .prototype-exit:hover,:root[data-theme=dark] .prototype-sound:hover{background:#2c3b30;color:#c8e0cc}:root[data-theme=dark] .prototype-step,:root[data-theme=dark] .prototype-title p,:root[data-theme=dark] .prototype-footnote,:root[data-theme=dark] .prototype-caption{color:#9ca99f}:root[data-theme=dark] .prototype-speech,:root[data-theme=dark] .prototype-answer,:root[data-theme=dark] .prototype-rule{background:#202822;border-color:#344039;color:#e2ebe3}:root[data-theme=dark] .prototype-speech:before{background:#202822;border-color:#344039}:root[data-theme=dark] .prototype-speech-dot,:root[data-theme=dark] .prototype-answer>span{background:#2c3b30;color:#bdd6c2}:root[data-theme=dark] .prototype-prompt{border-color:#303a33}:root[data-theme=dark] .prototype-prompt>span{color:#a0ada3}:root[data-theme=dark] .prototype-answer{border-bottom-color:#344039}:root[data-theme=dark] .prototype-answer.is-selected{background:#2c3b30;border-color:#65876a;color:#d4e7d4}:root[data-theme=dark] .prototype-answer.is-correct{background:#304638;border-color:#6b9968;color:#d8ebd3}:root[data-theme=dark] .prototype-answer.is-wrong{background:#303430;border-color:#454a45;color:#9ba29b}:root[data-theme=dark] .prototype-footer{background:#202822;border-color:#344039}:root[data-theme=dark] .prototype-footer.footer-good{background:#26382a;border-color:#405943}:root[data-theme=dark] .prototype-footer.footer-wrong{background:#342d25;border-color:#4d4032}:root[data-theme=dark] .prototype-feedback span,:root[data-theme=dark] .prototype-rule p{color:#aebbb0}:root[data-theme=dark] .prototype-rule>span{color:#d3a777}:root[data-theme=dark] .prototype-caption a{color:#a2c0a5}:root[data-theme=dark] .prototype-won{background:#171d19}:root[data-theme=dark] .victory-content h1{color:#d5e7d3}:root[data-theme=dark] .victory-content p{color:#aab5ab}:root[data-theme=dark] .prototype-sound-row{background:#252e28}:root[data-theme=dark] .prototype-sound-heading h3,:root[data-theme=dark] .prototype-sound-row strong{color:#e2ebe3}.admin-workspace{padding-bottom:30px}.admin-tabs{position:sticky;top:8px;z-index:4;display:flex;gap:5px;overflow-x:auto;margin:0 0 16px;padding:8px;border:1px solid #e7ebe4;border-radius:12px;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 5px 20px #2330270b}.admin-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:max-content;padding:10px 15px;border:0;border-radius:8px;background:transparent;color:#718076;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.admin-tab:hover{background:#f4f7f2;color:#476f51}.admin-tab.active{background:#eaf2e9;color:#3f7554}.admin-tab-panel[hidden]{display:none}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #edf0eb;color:#849087;font-size:10px}.admin-pagination>div{display:flex;align-items:center;gap:10px}.admin-pagination .button{min-width:32px;min-height:30px;padding:5px 8px}.admin-pagination .button:disabled{opacity:.45;cursor:default}.account-filters,.student-filters{grid-template-columns:minmax(230px,1.5fr) minmax(150px,.8fr) minmax(150px,.8fr)}.student-filters{grid-template-columns:minmax(220px,1.3fr) minmax(120px,.6fr) minmax(220px,1.1fr) auto}.table-select{max-width:135px;border:1px solid #e5e9e2;border-radius:7px;padding:7px 9px;background:#fff;color:#4d5b50;font:inherit}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.status-pill.active{background:#e9f3e8;color:#4b7b50}.status-pill.blocked{background:#f8ece9;color:#a46256}.admin-row-actions{display:flex;align-items:center;gap:6px;min-width:265px}.admin-row-actions .button{display:inline-flex;align-items:center;gap:5px}.danger-icon{color:#a96257}.admin-expanded-row td{background:#f8faf7}.admin-expanded-row>td>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-expanded-row span{font-size:10px;color:#758177}.admin-progress-list{display:grid;gap:12px;max-height:min(65vh,600px);overflow:auto;padding:14px 2px 2px}.admin-progress-list article{display:grid;gap:8px;border:1px solid #e8ece5;border-radius:9px;padding:12px}.admin-progress-list article>div{display:grid;gap:4px}.admin-progress-list article span,.admin-progress-list p{margin:0;color:#78847a;font-size:11px;line-height:1.55}.admin-progress-list details{border-top:1px solid #edf0eb;padding-top:8px;font-size:11px}.admin-progress-list summary{cursor:pointer;font-weight:700}.admin-progress-list details p{margin-top:6px}.admin-workspace .modal{max-height:90vh;overflow:auto}:root[data-theme=dark] .admin-tabs{background:#202822f2;border-color:#344039}:root[data-theme=dark] .admin-tab{color:#a0ada3}:root[data-theme=dark] .admin-tab:hover,:root[data-theme=dark] .admin-tab.active{background:#304638;color:#d5e7d3}:root[data-theme=dark] .admin-pagination,:root[data-theme=dark] .admin-expanded-row td,:root[data-theme=dark] .admin-progress-list article{border-color:#354139;color:#a0ada3}:root[data-theme=dark] .admin-expanded-row td{background:#252f28}:root[data-theme=dark] .status-pill.active{background:#304638;color:#d5e7d3}:root[data-theme=dark] .status-pill.blocked{background:#45302c;color:#e7b1a7}:root[data-theme=dark] .table-select{background:#1b231d;border-color:#3b483e;color:#e1e9e2}@media(max-width:760px){.admin-tabs{top:60px;margin-left:-4px;margin-right:-4px}.admin-tab{flex:0 0 auto;padding:10px 12px}.admin-heading{gap:12px}.account-filters,.student-filters{grid-template-columns:1fr}.admin-pagination{padding:12px}.admin-pagination>div{gap:5px}.admin-row-actions{min-width:250px}}.route-board{position:relative;overflow:hidden;border:1px solid #e7e3d4;border-radius:24px;padding:26px clamp(16px,4vw,48px) 24px;background:radial-gradient(ellipse at 84% 8%,rgba(222,235,218,.8),transparent 30%),linear-gradient(145deg,#fbf8ed,#f4f0e4 72%,#f8f5ea);box-shadow:0 18px 48px #434c3717}.route-board:after{content:"";position:absolute;right:-46px;bottom:-72px;width:190px;height:190px;border:1px solid rgba(78,117,87,.1);border-radius:50%;box-shadow:0 0 0 17px #4e755706,0 0 0 35px #4e755705;pointer-events:none}.route-board-heading{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 22px;border-bottom:1px solid rgba(97,118,91,.15)}.route-board-heading>div{display:grid;gap:5px}.route-board-kicker{font-size:9px;letter-spacing:1.6px;color:#779177;font-weight:900}.route-board-heading strong{font-family:Literata,serif;font-size:22px;color:#2b4132}.route-board-heading small{font-size:10px;color:#849086;line-height:1.5}.route-progress-badge{width:48px;height:48px;display:grid;place-content:center;text-align:center;border-radius:50%;background:#e6efe3;color:#477558;font-size:17px;font-weight:900;box-shadow:0 3px #d3e2d0;flex:none}.route-progress-badge small{font-size:9px;color:#829184}.bookmark-route{position:relative;display:grid;gap:18px;padding:27px 0 23px;isolation:isolate}.bookmark-route:before{content:"";position:absolute;z-index:-1;top:4px;right:0;bottom:4px;left:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 500' preserveAspectRatio='none'%3E%3Cpath d='M50 0 C50 45 20 55 20 100 S80 155 80 200 S20 255 20 300 S80 355 80 400 S50 455 50 500' fill='none' stroke='%238eac83' stroke-width='5' stroke-linecap='round' stroke-dasharray='1 0'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.62}.route-topic{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;width:min(88%,560px);min-height:132px;padding:17px 18px;background:linear-gradient(145deg,#fffefa,#fff 70%);border:1px solid #e1e5d8;border-radius:15px 18px 13px;box-shadow:0 6px #e7e4d8,0 12px 22px #3b4c3912;transition:transform .18s,box-shadow .18s}.route-topic:nth-child(odd){justify-self:start;transform:rotate(-.7deg)}.route-topic:nth-child(2n){justify-self:end;transform:rotate(.7deg)}.route-topic:hover{z-index:2;box-shadow:0 7px #e5e2d6,0 15px 27px #3b4c391c}.route-current{border:2px solid #789b6d;box-shadow:0 6px #cddcc6,0 0 0 5px #7ea46f21,0 14px 24px #3b4c391a}.route-number{align-self:start;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf1e8;color:#5c7961;font-size:11px;font-weight:900}.route-status{position:absolute;top:-12px;right:18px;width:36px;height:36px;display:grid;place-items:center;border:3px solid #f8f5ea;border-radius:50%;background:#72956b;color:#fff;box-shadow:0 2px 4px #23322421}.route-current .route-status{width:46px;height:46px;top:-17px;right:-15px;background:#e4bd5e;color:#fff;border:4px solid #fbf8ed;box-shadow:0 0 0 2px #e4bd5e}.route-locked{opacity:.69;background:#f7f6f0;box-shadow:0 5px #e7e5db,0 9px 16px #3b4c390a}.route-locked .route-status{background:#e7e8df;color:#9ba296}.route-locked .route-number{background:#efefe8;color:#a0a399}.route-done .route-status{background:#5f906b}.route-topic-copy{min-width:0}.route-topic-label{font-size:8px;letter-spacing:1px;font-weight:900;color:#81937f}.route-current .route-topic-label{color:#a18332}.route-topic-copy h3{font-family:Literata,serif;font-size:clamp(15px,2vw,19px);line-height:1.3;overflow-wrap:anywhere;margin:5px 0;color:#2c4032}.route-topic-copy p{font-size:9px;line-height:1.55;color:#879188;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.route-review{display:inline-flex;align-items:center;gap:4px;margin-top:7px;color:#a17e2d;font-size:8px;font-weight:800}.route-topic-actions{display:flex;align-items:center;gap:3px}.route-start{white-space:nowrap;padding:9px 12px;font-size:9px}.route-locked .route-topic-actions{visibility:hidden}.route-pagination{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:18px;padding-top:18px;border-top:1px solid rgba(97,118,91,.15)}.route-pagination>span{font-size:10px;font-weight:800;color:#718073;white-space:nowrap}.route-pagination .button{padding:9px 12px;font-size:9px}.topic-order-input{width:64px;height:34px;border:1px solid #e1e7df;border-radius:7px;background:#fff;padding:5px 8px;color:#405348;font-weight:800;text-align:center}.topic-order-input:focus{outline:2px solid #9aba9e;outline-offset:1px}.full-access-toggle{display:flex;align-items:flex-start;gap:11px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft,#f6f8f4);cursor:pointer}.full-access-toggle input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--green)}.full-access-toggle span{display:grid;gap:4px}.full-access-toggle strong{font-size:13px;color:var(--ink)}.full-access-toggle small{font-size:11px;line-height:1.45;color:var(--muted)}.teacher-route-grade{display:grid;gap:5px;margin-top:14px}.teacher-route-grade>b{font-size:9px;color:#879589;padding:7px 0}.teacher-route-item{display:grid;grid-template-columns:25px minmax(0,1fr) 14px;gap:8px;align-items:center;width:100%;text-align:left;border:1px solid #e6ebe3;border-radius:9px;padding:9px 8px;background:#fbfcf9;color:#4d5e51;font-size:9px;line-height:1.4}.teacher-route-item:hover,.teacher-route-item.selected{border-color:#9bb89b;background:#f0f6ed}.teacher-route-number{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e7efe4;color:#52785b;font-size:8px;font-weight:900}.teacher-route-item>span:nth-child(2){overflow-wrap:anywhere}:root[data-theme=dark] .route-board{background:radial-gradient(ellipse at 84% 8%,rgba(70,91,68,.28),transparent 30%),linear-gradient(145deg,#222b24,#202822 72%,#252c24);border-color:#3b493d}:root[data-theme=dark] .route-board-heading strong,:root[data-theme=dark] .route-topic-copy h3{color:#e2ebe3}:root[data-theme=dark] .route-board-heading small,:root[data-theme=dark] .route-topic-copy p{color:#a2aea4}:root[data-theme=dark] .route-board-heading{border-color:#3a463c}:root[data-theme=dark] .route-topic{background:linear-gradient(145deg,#2a342c,#252e28);border-color:#405044;box-shadow:0 6px #303b32,0 12px 22px #00000024}:root[data-theme=dark] .route-current{border-color:#779a73;box-shadow:0 6px #3b5140,0 0 0 5px #7ea46f21,0 14px 24px #0003}:root[data-theme=dark] .route-locked{background:#252c27;opacity:.67}:root[data-theme=dark] .route-number,:root[data-theme=dark] .route-progress-badge,:root[data-theme=dark] .teacher-route-number{background:#344338;color:#bdd4bd}:root[data-theme=dark] .route-pagination{border-color:#3a463c}:root[data-theme=dark] .route-pagination>span{color:#a2aea4}:root[data-theme=dark] .teacher-route-item{background:#252e28;border-color:#3b493d;color:#d6e1d7}:root[data-theme=dark] .teacher-route-item:hover,:root[data-theme=dark] .teacher-route-item.selected{background:#2e3b30;border-color:#68876a}@media(max-width:760px){.route-board{padding:19px 12px 17px;border-radius:18px}.route-board-heading{padding-bottom:16px}.route-board-heading strong{font-size:19px}.route-board-heading small{font-size:9px}.route-progress-badge{width:42px;height:42px}.bookmark-route{gap:15px;padding:24px 0 18px}.bookmark-route:before{top:4px;right:0;bottom:4px;left:0}.route-topic{width:94%;grid-template-columns:30px minmax(0,1fr);gap:9px;min-height:122px;padding:14px 12px}.route-number{width:29px;height:29px;font-size:9px}.route-topic-copy h3{font-size:15px}.route-topic-copy p{font-size:8px}.route-topic-actions{grid-column:2;justify-content:flex-start;margin-top:2px}.route-start{padding:8px 10px}.route-status{right:14px}.route-current .route-status{right:-8px}.route-pagination{gap:8px}.route-pagination .button{padding:8px;font-size:8px}.route-pagination>span{font-size:9px}.topic-order-input{width:55px}}.full-route-screen{min-height:100vh;background:#f8f8f4;display:flex;flex-direction:column}.route-header{position:sticky;top:0;z-index:20;min-height:76px;padding:10px clamp(16px,4vw,56px);display:flex;align-items:center;gap:18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 16px #2234280d}.route-header .brand{margin:0;min-width:155px}.route-header-profile{display:grid;gap:3px;margin-right:auto}.route-header-profile strong{font-size:14px;color:var(--ink)}.route-header-profile span,.student-login-label{font-size:11px;color:var(--muted)}.route-header>select{max-width:190px}.student-login-label{padding:9px 13px;background:var(--mint);border-radius:10px;color:var(--green-dark);font-weight:700}.route-header-actions{display:flex;align-items:center;gap:10px}.route-alert{position:relative;z-index:21;margin:10px auto 0;width:min(100% - 28px,800px)}.full-route-screen>.page-wrap{width:min(100%,1500px);margin:auto;padding:24px clamp(16px,4vw,58px) 38px;flex:1}.full-route-screen .route-section{margin:0}.full-route-screen .topics-section{padding:0}.full-route-screen .section-heading{margin-bottom:18px}.full-route-screen .route-board{min-height:min(790px,calc(100vh - 185px));padding:clamp(20px,3vh,42px) clamp(18px,5vw,70px) 26px;display:flex;flex-direction:column;justify-content:space-between}.full-route-screen .bookmark-route{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:12px;padding:22px 0}.full-route-screen .route-topic{width:min(78%,900px);min-height:112px}.full-route-screen .route-pagination{margin-top:auto}.auth-mode-switch{display:flex;padding:4px;background:var(--mint);border-radius:12px;margin:0 0 22px}.auth-mode-switch button{flex:1;border:0;background:transparent;border-radius:9px;padding:10px;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.auth-mode-switch button.active{background:#fff;color:var(--green-dark);box-shadow:0 2px 7px #0000000f}.parent-students-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px;margin:8px 0 22px}.parent-student-card,.parent-create-card,.student-password-panel{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow,0 8px 24px rgba(34,52,40,.05))}.parent-student-heading{display:flex;align-items:center;gap:12px}.parent-student-heading .empty-icon{margin:0;width:42px;height:42px}.parent-student-heading h3{margin:0 0 4px}.parent-student-heading span,.student-login-box>span{color:var(--muted);font-size:12px}.student-login-box{display:grid;gap:6px;padding:14px 0;margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.student-login-box strong{font-size:16px;letter-spacing:.02em}.student-login-box em{font-size:12px;color:var(--muted)}.student-credentials summary{cursor:pointer;font-weight:700;color:var(--green-dark);font-size:13px}.student-credentials-fields{display:grid;gap:10px;padding-top:13px}.parent-create-card h2{margin:0 0 14px}.parent-create-card .create-child-form{max-width:600px}.student-password-panel{width:min(100% - 32px,540px);margin:auto;background:#fff}.student-password-panel h1{margin:8px 0}.student-password-panel>p{color:var(--muted)}.student-password-panel .create-child-form{margin-top:20px}@media(max-width:760px){.route-header{min-height:62px;padding:8px 12px;gap:9px;flex-wrap:wrap}.route-header .brand{min-width:auto;font-size:10px}.route-header .brand-mark{width:34px;height:34px}.route-header-profile{flex:1;min-width:90px}.route-header-profile strong{font-size:12px}.route-header-profile span,.student-login-label{font-size:9px}.route-header>select{order:4;width:100%;max-width:none}.route-header-actions{gap:5px}.route-header-actions .button{font-size:10px;padding:8px}.route-header-actions .icon-button{width:34px;height:34px}.full-route-screen>.page-wrap{padding:14px 10px 24px}.full-route-screen .route-board{min-height:calc(100vh - 150px);padding:16px 11px}.full-route-screen .section-heading h2{font-size:21px}.full-route-screen .section-heading .topic-count{font-size:9px}.full-route-screen .route-topic{width:96%;min-height:116px}.full-route-screen .route-topic-copy h3{font-size:15px}.full-route-screen .route-topic-copy p{font-size:9px}.parent-student-card,.parent-create-card,.student-password-panel{padding:16px}.route-header-actions .theme-toggle{width:34px;height:34px}}.route-header{background:#8eac83;border-bottom-color:#789974}.route-header .brand{color:#fff}.route-header .brand-mark{background:#eef4e9;color:#477558}.route-header-profile strong,.route-header-profile span{color:#fff}.route-header .button.secondary,.route-header .icon-button,.route-header .theme-toggle{background:#ffffffeb;border-color:#fff9;color:#426b4e}.route-header .icon-button:hover{background:#fff}.route-header select{background:#f8fbf5;border:1px solid rgba(255,255,255,.55);border-radius:9px;padding:9px 12px;color:#3b5943;font-weight:700}.full-route-screen .section-heading{display:none}.full-route-screen .route-topic,.full-route-screen .route-topic:nth-child(odd),.full-route-screen .route-topic:nth-child(2n){width:min(88%,900px);justify-self:center;margin-inline:auto;transform:none}:root[data-theme=dark] .route-header{background:#567553;border-bottom-color:#496849}:root[data-theme=dark] .route-header-profile strong,:root[data-theme=dark] .route-header-profile span{color:#fff}:root[data-theme=dark] .route-header .button.secondary,:root[data-theme=dark] .route-header .icon-button,:root[data-theme=dark] .route-header .theme-toggle{background:#e9f0e5;color:#3c6243;border-color:#d8e5d4}:root[data-theme=dark] .route-header select{background:#e9f0e5;color:#3c6243}.full-route-screen .route-board{isolation:isolate}.full-route-screen .route-board:before{content:"";position:absolute;z-index:0;pointer-events:none;left:0;right:0;top:72px;bottom:70px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 500' preserveAspectRatio='none'%3E%3Cpath d='M50 0 C50 45 20 55 20 100 S80 155 80 200 S20 255 20 300 S80 355 80 400 S50 455 50 500' fill='none' stroke='%238eac83' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.62}.full-route-screen .bookmark-route:before{display:none}.full-route-screen .route-topic,.full-route-screen .route-topic:nth-child(odd),.full-route-screen .route-topic:nth-child(2n){width:min(88%,900px);justify-self:center;margin-inline:auto}.full-route-screen .bookmark-route{position:relative;z-index:1}.full-route-screen .route-topic{z-index:1}.full-route-screen .route-board{overflow:visible}.full-route-screen .route-board:before{top:-78px;bottom:0}.full-route-screen .route-topic,.full-route-screen .route-topic:nth-child(odd),.full-route-screen .route-topic:nth-child(2n){width:min(78%,900px);margin-inline:0}.full-route-screen .route-topic:nth-child(odd){justify-self:start;transform:rotate(.7deg)}.full-route-screen .route-topic:nth-child(2n){justify-self:end;transform:rotate(-.7deg)}.full-route-screen .route-locked{opacity:1;background:#f7f6f0}.full-route-screen .route-locked .route-topic-copy h3{color:#6e7c70}.full-route-screen .route-locked .route-topic-copy p{color:#929b92}:root[data-theme=dark] .full-route-screen .route-locked{background:#252c27}:root[data-theme=dark] .full-route-screen .route-locked .route-topic-copy h3{color:#aab6aa}:root[data-theme=dark] .full-route-screen .route-locked .route-topic-copy p{color:#8e9b90}.full-route-screen .route-board:after{right:0;bottom:0;width:140px;height:140px}.full-route-screen .route-topic,.full-route-screen .route-topic:nth-child(odd),.full-route-screen .route-topic:nth-child(2n){width:min(68%,780px);margin-inline:0}.full-route-screen .route-topic:nth-child(odd){align-self:flex-start;transform:rotate(.7deg)}.full-route-screen .route-topic:nth-child(2n){align-self:flex-end;transform:rotate(-.7deg)}.full-route-screen .route-topic:nth-child(5){align-self:center}.full-route-screen .route-board:before{display:none}.full-route-screen .route-map-inner{position:relative;isolation:isolate;display:flex;flex:1;flex-direction:column;width:min(100%,1160px);margin-inline:auto}.full-route-screen .route-map-inner:before{content:"";position:absolute;z-index:0;pointer-events:none;left:0;right:0;top:-105px;bottom:-20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 500' preserveAspectRatio='none'%3E%3Cpath d='M50 0 C50 45 20 55 20 100 S80 155 80 200 S20 255 20 300 S80 355 80 400 S50 455 50 500' fill='none' stroke='%238eac83' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.62}.full-route-screen .route-map-inner>.route-board-heading,.full-route-screen .route-map-inner>.bookmark-route,.full-route-screen .route-map-inner>.route-pagination{position:relative;z-index:1}.full-route-screen .route-topic{width:min(68%,780px)}@media(max-width:760px){.full-route-screen .route-map-inner{width:100%}.full-route-screen .route-topic,.full-route-screen .route-topic:nth-child(odd),.full-route-screen .route-topic:nth-child(2n){width:94%}}
