:root{color-scheme:light;--navy:#102452;--blue:#0878f9;--blue-dark:#065dd2;--blue-light:#eff7ff;--green:#12a971;--green-soft:#effaf5;--red:#d84d62;--red-soft:#fff3f5;--muted:#7c8ba5;--line:#e4eaf3;--surface:#f6f8fc;--white:#fff;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;color:var(--navy);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#f1f4f9}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #79b7ff;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:3px solid #d4e9ff;border-color:var(--blue)}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;stroke-width:1.9;flex-shrink:0;vertical-align:middle}strong,b{font-weight:700}button{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}math{font-size:1.2em;font-family:math;max-width:100%}.formula-fallback{font-family:Georgia,serif;overflow-wrap:anywhere}.student-shell{max-width:470px;min-height:100vh;min-height:100dvh;margin:0 auto;background:white;position:relative;box-shadow:0 0 70px #193d6a08;padding-top:env(safe-area-inset-top)}.topbar{height:70px;display:flex;gap:8px;align-items:center;padding:10px 18px}.topbar strong{font-size:16px;letter-spacing:.02em;flex:1}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:transparent;flex-shrink:0}.icon-button:hover{background:var(--surface)}.icon-button svg{width:24px;height:24px}.overall-count{font-size:15px;font-variant-numeric:tabular-nums;font-weight:750;color:var(--blue)}.overall-count em{font-size:12px;font-style:normal;font-weight:500;color:var(--muted)}.eyebrow{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em;font-weight:700;line-height:1.7}.primary{min-height:56px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--blue);color:white;font-size:17px;font-weight:700;border-radius:15px;padding:14px 20px;box-shadow:0 4px 0 var(--blue-dark),0 9px 18px #0878f91a;transition:transform .15s,box-shadow .15s,background .15s}.primary svg{width:20px;height:20px}.primary:hover{background:#0870e8}.primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--blue-dark)}.primary:disabled{background:#e4eaf2;color:#8c9ab0;box-shadow:0 3px 0 #d8e0ec}.secondary{min-height:50px;background:#f3f6fb;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:650;border:1px solid var(--line);border-radius:13px;width:100%}.secondary:hover{background:#eaf1fa}.secondary.small{min-height:40px;width:auto}.text-button{background:transparent;padding:12px 8px;min-height:44px;color:#587298;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.text-button:hover{color:var(--blue)}.text-button svg{width:17px;height:17px}.quiet-footer{text-align:center;color:#9aa8bd;font-size:11px;padding:22px 20px calc(24px + env(safe-area-inset-bottom));letter-spacing:.04em}input,select,textarea{width:100%;background:white;border:1px solid #d9e2ef;border-radius:12px;padding:14px;font-size:16px;color:var(--navy);min-height:50px}input::placeholder,textarea::placeholder{color:#a0adc0}label{display:block;font-size:13px;font-weight:600;color:#526787}label input,label select,label textarea{display:block;margin-top:8px}form{display:grid;gap:14px}
/* Entry: artwork has a defined slot and is reused as a earned completion asset. */
.home-brand{display:flex;align-items:center;gap:9px;padding:26px 25px 10px;font-size:14px}.home-brand svg{color:var(--blue);width:25px;height:25px}.home-brand span{margin-left:auto;font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:12px}.entry-visual{text-align:center;padding:3px 24px 0}.entry-visual img{display:block;width:155px;height:155px;object-fit:contain;margin:0 auto 4px}.entry-visual .eyebrow{letter-spacing:.08em;color:#6b87af;font-size:12px}.entry-visual h1{font-size:28px;line-height:1.35;margin:9px 0 10px;letter-spacing:-.04em}.entry-visual p{font-size:13px;color:var(--muted);line-height:1.8}.entry-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 26px 18px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.entry-stats div{display:flex;align-items:baseline;justify-content:center;gap:6px;border-right:1px solid var(--line)}.entry-stats div:last-child{border:0}.entry-stats b{font-size:23px;letter-spacing:-.04em}.entry-stats span{font-size:10px;color:var(--muted)}.entry-path{display:flex;justify-content:space-between;margin:0 25px 23px;gap:4px}.entry-path span{font-size:9px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#6e83a0;white-space:nowrap}.entry-path i{font-style:normal;font-size:11px;line-height:26px;width:26px;text-align:center;border-radius:8px;background:var(--blue-light);color:var(--blue);font-weight:650}.entry-form{padding:0 25px}.entry-form>form{gap:9px}.entry-form label{font-size:13px}.entry-form input{background:#f8faff;height:54px}.entry-form .primary{margin-top:8px}.session-label{display:flex;align-items:center;font-size:10px;color:var(--muted);gap:6px;margin-top:5px}.session-label svg{width:14px;height:14px}.session-label span:last-child{margin-left:auto}.entry-form>.text-button{display:flex;width:100%;margin-top:10px}.resume-card{display:flex;gap:13px;align-items:center;background:var(--blue-light);padding:16px;border-radius:14px;margin-bottom:16px}.resume-card>svg{color:var(--blue)}.resume-card strong{font-size:14px}.resume-card p{font-size:12px;color:var(--muted);margin-top:6px}
/* Answering: compact hierarchy follows the first selected concept. */
.quiz{display:flex;flex-direction:column}.training-head{padding:2px 25px 21px;border-bottom:1px solid #edf1f7}.step-track{list-style:none;display:flex;padding:0;margin:7px 0 25px;justify-content:space-between;gap:0}.step-track li{flex:1;position:relative;text-align:center}.step-track li:after{content:"";position:absolute;height:2px;background:#e6ebf4;left:calc(50% + 19px);right:calc(-50% + 19px);top:15px}.step-track li:last-child:after{display:none}.step-track li.done:after{background:#9ac8ff}.step-track li>span{display:flex;width:31px;height:31px;border-radius:50%;align-items:center;justify-content:center;font-size:10px;font-weight:650;margin:0 auto;color:#97a6bc;background:#eef2f8;border:1px solid #e6ecf4;position:relative;z-index:1}.step-track li>span svg{width:16px;height:16px}.step-track li.current>span{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 0 0 4px #eaf4ff}.step-track li.done>span{background:#e5f2ff;color:var(--blue);border-color:#d4e9ff}.step-track small{display:block;margin-top:9px;font-size:9px;color:#97a4b9;white-space:nowrap}.step-track li.current small{color:var(--navy);font-weight:700}.step-track li.done small{color:#6589b7}.level-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.level-heading h1{font-size:25px;letter-spacing:.02em;margin-top:2px}.level-heading .eyebrow{color:#8da4c3;font-size:9px;letter-spacing:.16em}.question-count{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--blue);align-self:end;padding-bottom:2px}.question-count small{font-weight:500;font-size:12px;color:#8797b0}.progress-line{height:5px;overflow:hidden;background:#eaf0f8;border-radius:4px;margin-top:18px}.progress-line>span{display:block;height:100%;background:var(--blue);border-radius:inherit;transition:width .35s ease}.question-body{padding:22px 23px 18px;flex:1}.question-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.04em;color:#a1afc3;margin-bottom:15px}.question-meta span:first-child{color:#657d9e;font-weight:600;background:#f1f5fa;padding:5px 9px;border-radius:5px}.question-body h2{font-size:21px;line-height:1.65;font-weight:700;letter-spacing:-.025em;margin-bottom:23px;overflow-wrap:anywhere}.question-material{font-size:17px;background:#f5f8fe;border-left:3px solid #9cc7ff;padding:16px;margin-bottom:20px;overflow:auto}.choices{display:grid;gap:12px}.choice{position:relative;width:100%;min-height:67px;background:white;display:flex;align-items:center;gap:12px;text-align:left;border:1.5px solid #dee5ef;border-radius:14px;padding:14px 12px;box-shadow:0 3px 0 #edf1f6;color:var(--navy);transition:border-color .16s,background .16s,transform .16s,box-shadow .16s}.choice:hover:not(:disabled){border-color:#94bef2}.choice:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #d3e1f2}.choice-letter{width:32px;height:32px;border-radius:50%;background:#f0f3f8;color:#6a7c98;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}.choice-text{flex:1;font-size:15px;font-weight:550;line-height:1.65;min-width:0;overflow-wrap:anywhere}.choice-text math{font-size:1.3em}.choice-mark{width:19px;flex-shrink:0;line-height:1}.choice-mark svg{width:19px;height:19px}.choice.selected{background:#eef7ff;border-color:var(--blue);box-shadow:0 3px 0 #c1ddff}.choice.selected .choice-letter{background:var(--blue);color:white}.choice.selected .choice-mark{color:var(--blue)}.choice.correct{background:var(--green-soft);border-color:#6ccca5;box-shadow:0 3px 0 #d0eddf}.choice.correct .choice-letter{background:var(--green);color:white}.choice.correct .choice-mark{color:var(--green)}.choice.wrong{background:var(--red-soft);border-color:#ed9fac;box-shadow:0 3px 0 #f7dce2}.choice.wrong .choice-letter{background:var(--red);color:white}.choice.wrong .choice-mark{color:var(--red)}.choice:disabled{opacity:1}.judgment{grid-template-columns:1fr 1fr;gap:13px}.judgment .choice{min-height:135px;flex-direction:column;gap:12px;justify-content:center;padding:20px 10px}.judgment .choice-letter{width:43px;height:43px}.judgment .choice-letter svg{width:25px;height:25px}.judgment .choice-text{flex:0;font-size:17px}.judgment .choice-mark{position:absolute;right:9px;top:9px}.answer-dock{position:sticky;bottom:0;z-index:4;padding:12px 23px calc(21px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #edf1f7;margin-top:auto}.streak-line{display:flex;align-items:center;gap:6px;margin:0 1px 14px;color:#8193af;font-size:11px;min-height:20px}.streak-line svg{width:16px;height:16px;color:var(--green)}.streak-line b{color:var(--green);font-size:13px}.streak-line small{margin-left:auto;font-size:10px;color:#9aa8bd}.feedback{border-radius:13px;padding:16px;margin-top:22px;animation:feedback-in .24s ease;scroll-margin-bottom:150px}.feedback.success{background:var(--green-soft)}.feedback.error{background:var(--red-soft)}.feedback-title{display:flex;gap:7px;align-items:center;color:var(--green)}.feedback.error .feedback-title{color:var(--red)}.feedback-title svg{width:18px;height:18px}.feedback-title strong{font-size:14px}.feedback-title>span{font-size:10px;margin-left:auto}.feedback p{font-size:14px;color:#52647f;line-height:1.85;margin-top:9px}.explanation-formula{padding:14px 0 4px;color:var(--navy);text-align:center;font-size:18px}.review-heading{display:flex;align-items:center;gap:8px;padding:6px 0 20px;font-size:12px;color:#6d84a3}.review-heading svg{width:16px;height:16px;color:var(--blue)}
/* End-of-level and results share a visual language, with real counts. */
.milestone{display:flex;flex-direction:column}.completion{text-align:center;padding:5px 25px 25px;flex:1}.completion .step-track{margin-bottom:8px}.achievement-art{width:195px;height:195px;object-fit:contain;display:block;margin:15px auto}.silver{filter:saturate(.35)}.completion>.eyebrow{margin-top:8px;color:#719ac5;font-size:9px}.completion h1{font-size:28px;line-height:1.4;margin:10px 0}.completion>p{font-size:12px;color:#8796ae;line-height:1.9;max-width:260px;margin:auto}.level-score{margin:23px auto;padding:14px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:250px}.level-score strong{font-size:44px;font-weight:750;letter-spacing:-.05em;color:var(--blue)}.level-score strong span{font-size:21px;color:#a6b4c9;font-weight:500;letter-spacing:0}.level-score small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.completion-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;line-height:1.8;color:#66809e;padding:0 12px}.completion-note svg{width:19px;height:19px;color:var(--blue)}.result-intro{text-align:center;padding:0 25px 24px;border-bottom:1px solid var(--line)}.result-art{position:relative;width:163px;margin:0 auto 20px}.result-art img{width:163px;height:163px;object-fit:contain;display:block}.award-caption{position:absolute;left:0;right:0;bottom:-7px;width:max-content;margin:auto;background:#edf5ff;border:1px solid #d5e7fc;color:#2775c3;padding:5px 13px;border-radius:20px;font-size:11px;letter-spacing:.06em}.result-intro>.eyebrow{font-size:9px}.result-intro h1{font-size:23px;margin-top:9px;letter-spacing:.01em}.result-score{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0}.result-score>b{font-size:66px;letter-spacing:-.07em;font-weight:750;line-height:1.1;color:var(--blue)}.result-score>span{font-size:14px;text-align:left;padding-top:10px}.result-score small{display:block;color:#94a3b9;font-size:9px;margin-top:7px}.result-stats{display:flex;justify-content:center;gap:24px;font-size:10px;color:#91a0b6}.result-stats b{font-size:12px;font-weight:650;color:#587397;margin-left:5px}.result-section{padding:25px 25px 13px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.section-heading h2{font-size:15px}.section-heading>span{font-size:9px;color:var(--muted)}.level-result{display:flex;align-items:center;gap:13px;padding:10px 0}.level-icon{width:34px;height:34px;border-radius:10px;background:#f2f6fc;display:flex;align-items:center;justify-content:center;color:#6491ca}.level-icon svg{width:17px;height:17px}.level-result>div{flex:1}.level-result strong{font-size:12px;font-weight:600}.mini-progress{height:4px;border-radius:3px;background:#edf2f8;margin-top:9px}.mini-progress>span{display:block;height:100%;border-radius:inherit;background:#73abec}.level-result>b{font-size:14px;min-width:44px;text-align:right;color:#4b6d98}.level-result small{color:#9facc0;font-size:10px;font-weight:400}.next-focus{margin:10px 25px 20px;padding:17px;background:#f2f7ff;border:1px solid #e3edfb;border-radius:14px}.focus-title{display:flex;align-items:center;gap:7px}.focus-title svg{width:18px;height:18px;color:var(--blue)}.focus-title h2{font-size:13px}.next-focus p{color:#6981a0;font-size:12px;line-height:1.8;margin-top:9px}.next-focus>span,.next-focus>small{display:block;font-size:10px;margin-top:10px;color:#8699b2}.next-focus.all-done{background:var(--green-soft);border-color:#e0f1e8}.next-focus.all-done .focus-title svg{color:var(--green)}.result-actions{padding:0 25px;display:grid;gap:14px}
/* Teacher workspace: local data is explicitly identified. */
.teacher-host{background:#f5f7fb;min-height:100vh}.teacher-shell{max-width:1280px;padding:0 36px 45px;margin:auto}.teacher-top{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid #e2e8f2}.teacher-brand{display:flex;align-items:center;gap:10px;font-size:17px}.teacher-brand>svg{color:var(--blue);width:28px;height:28px}.teacher-brand>span{color:#8b9ab0;font-size:12px;border-left:1px solid #d8e1ed;padding-left:12px;margin-left:4px}.teacher-title{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:37px 0 25px}.teacher-title h1{font-size:28px;letter-spacing:-.03em;margin:8px 0 12px}.teacher-title p{font-size:13px;color:#8797ae}.compact{width:auto;font-size:13px;min-height:46px;border-radius:11px;white-space:nowrap;box-shadow:none}.local-notice{background:#eaf2fd;border:1px solid #dbe8fa;display:flex;align-items:center;gap:12px;padding:15px 18px;border-radius:12px;color:#6380a9;font-size:12px}.local-notice svg{width:20px;height:20px}.local-notice strong{font-size:12px;color:#416993;margin-right:13px}.local-notice span{font-size:11px;line-height:1.8}.teacher-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:21px 0}.teacher-metrics article{background:white;border:1px solid #e5eaf2;border-radius:14px;padding:23px}.teacher-metrics article>span{display:block;font-size:12px;color:#7d8fa9}.teacher-metrics strong{display:block;font-size:36px;color:var(--navy);margin:12px 0 8px;font-variant-numeric:tabular-nums}.teacher-metrics em{font-style:normal;font-size:12px;color:#8c9db4}.teacher-metrics small{font-size:10px;color:#a0acc0}.teacher-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.records-panel,.diagnosis-panel{background:white;border:1px solid #e5eaf2;border-radius:14px;padding:22px}.records-panel .section-heading{margin-bottom:16px}.toolbar{display:flex;align-items:center;gap:4px}.toolbar .text-button{font-size:11px;padding:5px 7px;min-height:30px}.filters{display:flex;gap:10px;margin-bottom:19px}.filters input{flex:1;min-width:0}.filters select{width:145px}.filters input,.filters select{font-size:12px;min-height:40px;padding:9px 12px;border-radius:9px;background:#fbfcfe}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{font-size:10px;font-weight:500;color:#8e9cb1;background:#f7f9fc;padding:12px 9px}td{border-bottom:1px solid #eff2f7;padding:16px 9px;font-size:11px;color:#6b7e99}td strong{display:block;color:var(--navy);font-size:12px}td small{display:block;font-size:9px;color:#a0acc0;margin-top:6px}td .text-button{font-size:11px;min-height:30px;padding:5px}tr:last-child td{border-bottom:0}.state-tag{padding:5px 8px;border-radius:6px;background:#edf4fd;color:#6e94c4;font-size:10px}.state-tag.finished{background:#ecf8f1;color:#37a576}.diagnosis-panel h2{font-size:16px;margin:9px 0}.diagnosis-panel>p{font-size:10px;color:#94a2b7;margin-bottom:23px}.diagnosis-panel .eyebrow{font-size:9px}.misconception{padding:12px 0 13px}.misconception strong{font-size:12px;font-weight:600}.mistake-bar{height:5px;background:#f0f3f9;border-radius:5px;margin:10px 0 7px}.mistake-bar>span{display:block;height:100%;background:#8fb8ed;border-radius:inherit}.misconception:first-of-type .mistake-bar>span{background:var(--blue)}.misconception small{font-size:10px;color:#99a8bc}.empty-state{padding:60px 20px;text-align:center}.empty-state>svg{width:35px;height:35px;color:#abc2df;margin-bottom:15px}.empty-state h3{font-size:16px;margin-bottom:10px}.empty-state p,.empty-small{font-size:12px;color:#9aa8bc;line-height:1.9}.empty-small{padding:15px 0 40px}
/* Dialogs and feedback */
#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);max-width:min(90vw,450px);background:#17335b;color:white;padding:12px 18px;border-radius:12px;font-size:13px;z-index:30;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 10px 35px #13275022;line-height:1.65}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(94vw,520px);max-height:88dvh;border:1px solid var(--line);border-radius:20px;padding:22px;color:var(--navy);box-shadow:0 30px 80px #10245226}dialog::backdrop{background:#10245266;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.dialog-top strong{font-size:11px;color:#9aa8bd}.dialog-top .icon-button{width:32px;height:32px}dialog h2{font-size:21px;line-height:1.5;margin-bottom:13px}.dialog-copy{font-size:13px;line-height:1.85;color:#8091aa;margin-bottom:21px}dialog form{margin-bottom:20px}dialog .primary{font-size:14px;min-height:49px;margin-top:8px}#share-output textarea{font-size:12px;min-height:90px;line-height:1.7;resize:vertical}#share-output .secondary{margin-top:12px}.answer-review details{border-top:1px solid var(--line);padding:15px 0}.answer-review summary{display:flex;align-items:start;gap:8px;cursor:pointer;list-style:none}.answer-review summary::-webkit-details-marker{display:none}.answer-review summary strong{font-size:13px;line-height:1.8;font-weight:550}.answer-review summary svg{width:17px;height:17px;margin-top:4px}.answer-review p{font-size:13px;line-height:1.9;color:#74859e;margin:11px 0}.answer-review math{font-size:16px}.green{color:var(--green)!important}.red{color:var(--red)!important}.pulse{animation:pulse .45s ease}@keyframes pulse{50%{transform:translateY(-2px);color:var(--green)}}@keyframes feedback-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:700px){.student-shell{border-left:1px solid #e2e8f1;border-right:1px solid #e2e8f1}.quiz .question-body{padding-top:26px}.entry-visual img{width:185px;height:185px}.entry-visual h1{font-size:30px}.home-brand{padding-top:32px}.home .entry-form{margin-top:27px}.home .quiet-footer{padding-top:30px}}
@media(max-width:850px){.teacher-shell{padding:0 20px 30px}.teacher-grid{grid-template-columns:1fr}.teacher-title h1{font-size:23px}.teacher-title{align-items:start}.teacher-title .compact{padding:12px;font-size:11px}.teacher-brand>span{display:none}.teacher-metrics article{padding:17px}.diagnosis-panel{display:block}.teacher-title p{font-size:12px;line-height:1.8}.local-notice strong{display:block;margin-bottom:4px}}
@media(max-width:500px){body{background:white}.teacher-shell{padding:0 14px 24px}.teacher-top{padding:17px 0}.teacher-brand{font-size:14px;gap:7px}.teacher-top .small{font-size:10px;padding:8px;min-height:36px}.teacher-top .small svg{width:15px}.teacher-title{display:block;margin-top:24px}.teacher-title .compact{margin-top:17px;width:100%}.teacher-title h1{font-size:21px}.teacher-metrics{gap:8px;margin:15px 0}.teacher-metrics article{padding:15px 10px}.teacher-metrics article>span{font-size:10px}.teacher-metrics strong{font-size:29px}.teacher-metrics small{font-size:8px}.records-panel{padding:15px}.records-panel .section-heading h2{font-size:13px}.toolbar .text-button{font-size:10px;padding:6px 4px}.toolbar svg{width:14px}.local-notice{padding:12px}.local-notice span{font-size:10px}.entry-visual h1{font-size:27px}}
@media(max-width:370px){.topbar{padding-left:10px;padding-right:16px}.topbar strong{font-size:14px}.training-head{padding:0 19px 17px}.step-track small{font-size:8px}.question-body{padding:18px}.question-body h2{font-size:19px}.choice{padding:12px 10px;gap:9px;min-height:62px}.choice-text{font-size:14px}.choice-letter{width:29px;height:29px}.choice-mark{width:16px}.choice-mark svg{width:16px}.answer-dock{padding-left:18px;padding-right:18px}.feedback-title>span{display:none}.entry-visual img{width:130px;height:130px}.entry-visual h1{font-size:24px}.entry-path{margin-left:19px;margin-right:19px}.entry-path span{font-size:8px}.level-heading h1{font-size:23px}}
@media(max-height:740px){.topbar{height:59px}.training-head{padding-bottom:15px}.step-track{margin-bottom:17px}.question-body{padding-top:18px}.question-body h2{margin-bottom:18px}.choice{min-height:61px}.choices{gap:10px}.answer-dock{padding-top:10px}.streak-line{margin-bottom:10px}.entry-visual img{width:125px;height:125px}.achievement-art{width:155px;height:155px;margin:10px auto}.completion h1{font-size:25px}.level-score{margin:17px auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* 分阶段入口、年级与专题、独立关卡。沿用上一版的颜色与控件。 */
.login-visual{padding-top:6px}.login-visual img{width:158px;height:158px}.login-visual h1{font-size:26px;letter-spacing:-.045em;margin-top:12px}.login-visual p{font-size:13px}.login-panel{margin:28px 24px 0;border:1px solid #e2eaf5;border-radius:18px;padding:20px;background:#fff;box-shadow:0 6px 24px #193b6905}.login-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.login-heading>svg{color:var(--blue);width:20px;height:20px}.login-heading h2{font-size:16px}.login-heading>span{margin-left:auto;font-size:9px;color:#8c9eb7}.login-panel form{gap:9px}.login-panel form>.primary{font-size:15px;margin-top:9px}.login-panel input{background:#f8faff}.form-error{font-size:12px;color:var(--red);line-height:1.7}.form-error:empty{display:none}.class-detail{margin:2px 0;color:#8a9ab2;font-size:11px}.class-detail summary{cursor:pointer;padding:7px 0;min-height:32px}.class-detail input{font-size:14px;margin-top:6px}.visitor-entry{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 13px;padding:22px 24px 0}.visitor-entry>span{font-size:12px;color:#99a6ba}.guest-button{display:flex;align-items:center;gap:7px;color:#466e9e;background:transparent;padding:10px 6px;font-size:14px;font-weight:600;min-height:44px}.guest-button>svg{width:18px;height:18px}.visitor-entry>p{width:100%;text-align:center;color:#acb7c7;font-size:10px}.login .quiet-footer{padding-top:26px}.full{width:100%}.selection-intro{padding:23px 25px 28px}.selection-intro h1{font-size:25px;margin:12px 0;line-height:1.55}.selection-intro p{color:#8597af;font-size:13px;line-height:1.9}.grade-list{display:grid;gap:17px;padding:0 25px}.grade-option{display:flex;align-items:center;gap:16px;border:1px solid #e0e8f3;background:white;border-radius:17px;padding:24px 18px;text-align:left;box-shadow:0 3px 0 #f0f3f9;min-height:114px}.grade-option:hover{background:#f8fbff;border-color:#a5c9f7}.grade-icon{background:#eef6ff;color:#4b8bd9;border-radius:13px;width:49px;height:49px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.grade-icon svg{width:24px;height:24px}.grade-option>span:nth-child(2){flex:1}.grade-option strong{font-size:22px}.grade-option small{font-size:10px;line-height:1.7;display:block;margin-top:8px;color:#8d9db3}.grade-option>svg{width:18px;color:#9caec4}.space-top{display:flex;align-items:center;justify-content:space-between;padding:17px 24px 9px}.space-brand{display:flex;align-items:center;gap:7px;font-size:14px}.space-brand>svg{color:var(--blue);width:24px;height:24px}.space-top>.text-button{font-size:11px}.space-welcome{padding:16px 25px 20px}.space-welcome h1{font-size:25px;line-height:1.5;letter-spacing:-.045em;margin:9px 0 10px;max-width:330px}.space-welcome p{font-size:12px;line-height:1.8;color:#8b9bb2}.grade-chip{display:flex;align-items:center;width:fit-content;border:1px solid #e0eaf8;background:#f4f8ff;border-radius:9px;gap:7px;margin-top:20px;padding:7px 11px;min-height:33px;color:#5884bb}.grade-chip>svg{width:15px;height:15px}.grade-chip b{font-size:12px}.grade-chip>span{font-size:9px;color:#8aa3c1;padding-left:8px;border-left:1px solid #d7e5f7;margin-left:4px}.grade-chip .text-button{font-size:10px;min-height:20px;padding:0 0 0 8px;color:#548bce;border-left:1px solid #d7e5f7;margin-left:4px}.learning-summary{margin:0 25px 27px;display:flex;align-items:center;gap:8px;color:#6f89a9;font-size:11px;background:#f8fafc;border-radius:10px;padding:12px}.learning-summary>svg{width:16px;height:16px;color:var(--green)}.learning-summary b{color:#348abf}.topic-section{padding:0 25px}.topic-section .section-heading{margin-bottom:16px}.topic-section .section-heading>span{font-size:10px}.topic-list{display:grid;gap:18px}.topic-card{background:white;border:1px solid #dfe8f5;border-radius:17px;padding:19px;text-align:left;width:100%;box-shadow:0 4px 0 #f0f4fa;transition:border-color .15s,transform .15s}.topic-card:hover{border-color:#9bc5fa;transform:translateY(-1px)}.topic-card-top{display:flex;align-items:center;gap:9px}.topic-icon{width:33px;height:33px;display:flex;align-items:center;justify-content:center;background:#edf6ff;color:#4c92e4;border-radius:9px}.topic-icon>svg{width:18px;height:18px}.category-label{font-size:10px;color:#859bb9}.topic-state{margin-left:auto;font-size:9px;color:#80a0c8;background:#f2f7fd;padding:5px 7px;border-radius:6px}.topic-state.done{background:#eefaf4;color:#44a882}.topic-card h3{font-size:19px;margin:18px 0 10px;letter-spacing:-.02em}.topic-card>p{font-size:11px;color:#8b9bb3;line-height:1.9}.topic-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.topic-card-bottom>span{font-size:10px;color:#97a8be}.topic-card-bottom strong{font-size:12px;display:flex;align-items:center;gap:9px;color:#5381b9}.topic-card-bottom strong>svg{width:17px;height:17px}.topic-card>.mini-progress{margin-top:13px;height:3px}.chapter-intro{padding:19px 25px 21px}.chapter-intro h1{font-size:28px;line-height:1.5;margin:9px 0 11px;letter-spacing:-.045em}.chapter-intro p{font-size:12px;color:#8a9cb6;line-height:1.9}.chapter-summary{margin:0 25px 24px;border:1px solid #e4edf9;background:#f4f8ff;color:#7393bb;font-size:11px;padding:13px;border-radius:10px;display:flex;align-items:center;gap:8px;line-height:1.8}.chapter-summary svg{width:16px;height:16px;flex-shrink:0}.chapter-levels{padding:0 23px;display:flex;flex-direction:column;gap:15px}.chapter-level{width:100%;display:flex;align-items:center;gap:12px;background:white;border:1.5px solid #dfe8f4;border-radius:16px;padding:19px 14px;text-align:left;box-shadow:0 3px 0 #f0f4fa;min-height:111px}.chapter-level.available{border-color:#87bbfc;box-shadow:0 3px 0 #d7e9ff}.chapter-level.completed{border-color:#dbeee5;background:#fcfefd;box-shadow:0 3px 0 #eff7f3}.chapter-level.locked{background:#f8f9fc;border-color:#e9edf4;box-shadow:none;color:#96a5ba}.level-node-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:11px;background:#eaf4ff;color:var(--blue);font-size:12px;font-weight:700}.level-node-icon svg{width:18px;height:18px}.locked .level-node-icon{background:#edf0f6;color:#a9b5c7}.completed .level-node-icon{background:#e8f7ef;color:#39ab7d}.chapter-level-copy{flex:1;min-width:0}.chapter-level-copy>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chapter-level-copy h2{font-size:15px}.chapter-level-copy>div>span{font-size:8px;color:#7e99bb;background:#edf4ff;border-radius:4px;padding:3px 5px}.chapter-level-copy p{font-size:10px;color:#8d9eb6;line-height:1.8;margin:7px 0}.chapter-level-copy small{font-size:9px;color:#9babc1;line-height:1.7;display:block}.completed .chapter-level-copy small{color:#6d9e87}.available .chapter-level-copy small{color:#6b99cc}.level-go{display:flex;align-items:center;gap:2px;color:#508ed9;font-size:10px;flex-shrink:0}.completed .level-go{color:#80a393}.level-go svg{width:14px;height:14px}.final-divider{display:flex;align-items:center;gap:10px;margin:10px 0 3px;font-size:9px;color:#a3b0c4}.final-divider:before,.final-divider:after{content:"";height:1px;flex:1;background:#e8edf5}.final-level.available{background:#f5f9ff}.map-review{padding:24px 25px 0}.map-review>.primary{font-size:14px}.roster-help{font-size:11px;line-height:1.8;color:#8b9bb1}.roster-actions{display:grid;gap:13px}.roster-actions .secondary{font-size:13px}.milestone .answer-dock>.full{margin-top:10px;padding-bottom:0;color:#8f9eb3;font-size:12px}.completion>.text-button{margin-top:15px;font-size:12px}.completion>.text-button svg{width:15px;height:15px}.completion h1{font-size:26px}.quiz .training-head .review-heading{padding-bottom:16px;font-size:10px}.teacher-title>.toolbar{flex-shrink:0}.teacher-title>.toolbar .secondary{font-size:12px}
@media(max-width:370px){.login-panel{margin-left:18px;margin-right:18px;padding:17px}.login-heading>span{font-size:8px}.login-visual h1{font-size:23px}.space-welcome h1{font-size:23px}.topic-section{padding:0 19px}.chapter-levels{padding:0 17px}.chapter-level{gap:9px;padding:17px 11px}.level-node-icon{width:31px;height:31px}.chapter-level-copy h2{font-size:14px}.chapter-level-copy p{font-size:9px}.level-go{font-size:9px}}
@media(max-height:740px){.login-visual img{width:121px;height:121px}.login-panel{margin-top:20px}.visitor-entry{padding-top:15px}}
@media(max-width:500px){.teacher-title>.toolbar{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.teacher-title>.toolbar .compact{margin:0;min-height:44px}}
.content-resources{display:grid;gap:10px;margin-bottom:20px}.content-resources a{font-size:12px}.content-file-label{margin:14px 0}.content-file-label input{font-size:12px;margin-top:9px;padding:12px}.content-file-label input::file-selector-button{border:0;border-radius:7px;padding:8px;background:#eaf3ff;color:#2869b7;margin-right:9px}#content-json{font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;margin:12px 0}.content-divider{height:1px;background:var(--line);margin:24px 0}.content-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.content-row strong{font-size:13px}.content-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.content-toggle{display:flex;align-items:center;gap:8px;margin:20px 0;font-size:12px}.content-toggle input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--blue)}.content-issues{font-size:12px;line-height:1.8;color:var(--red);padding-left:21px}.content-issues li{margin:8px 0}.content-issues.warnings{color:#977233}.content-notice{font-size:12px;color:#657f9f;background:#f0f6ff;padding:14px;border-radius:10px;line-height:1.8}.content-preview h3{font-size:15px;margin:25px 0 7px}.content-preview details{border-top:1px solid var(--line);padding:14px 0}.content-preview summary{cursor:pointer;font-size:13px;line-height:1.8}.content-preview p,.content-preview li{font-size:13px;line-height:1.9;color:#687d98}.content-preview small{font-size:10px;color:#9aa9bd;display:block;margin-top:12px}.content-approval{background:white;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.question-image{margin:14px 0 22px}.question-image img{display:block;max-width:100%;height:auto;margin:auto}.question-image figcaption{font-size:10px;line-height:1.8;color:#8ea0b8;margin-top:9px;text-align:center}.teacher-title>.toolbar{flex-wrap:wrap;justify-content:flex-end}.teacher-title>.toolbar .secondary{font-size:11px}@media(max-width:500px){.teacher-title>.toolbar{grid-template-columns:repeat(2,1fr)}.teacher-title>.toolbar>.primary{grid-column:1/-1}}
