:root{--bg:#f4f6fb;--card:#fff;--ink:#151515;--muted:#677283;--line:#e5e8ef;--warm:#fff4d8;--blue:#eaf1ff;--green:#e7f8ed;--amber:#fff3d8}
*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:1180px;margin:auto;padding:18px;background:var(--bg);color:var(--ink)}h1,h2,h3,p{margin-top:0}.sub,.small,.status{color:var(--muted)}.small,.status{font-size:13px}.hidden{display:none!important}.top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.card{background:var(--card);border-radius:18px;padding:17px;box-shadow:0 6px 24px #0000000d;margin-bottom:14px}.login{max-width:430px;margin:38px auto}button{border:0;border-radius:11px;padding:10px 14px;font-weight:700;cursor:pointer;background:#eceff4}button.primary,.active{background:#111;color:#fff}button.yellow{background:#ffd84d;color:#111}button.stop{background:#ffe8e5;color:#8d261f}button:disabled{opacity:.5;cursor:default}select,input,textarea{width:100%;padding:11px;border:1px solid #cfd4dc;border-radius:11px;background:#fff;font:inherit}textarea{min-height:78px}.studentbar{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-bottom:12px}.nav,.chips,.voicebar,.actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.modes,.picker,.twocol,.formgrid{display:grid;gap:10px}.modes{grid-template-columns:repeat(4,1fr)}.picker{grid-template-columns:1fr 1.5fr}.twocol{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:repeat(3,1fr)}.mode{text-align:left;background:#fff;border:2px solid var(--line);padding:14px}.mode.active{border-color:#111}.chat{height:40vh;overflow:auto;padding:5px}.msg{padding:11px 13px;border-radius:14px;margin:9px 0;max-width:84%;line-height:1.5}.me{background:var(--blue);margin-left:auto}.bot{background:var(--warm)}.system{background:#f0f2f6;color:#555;font-size:13px}.row{display:flex;gap:7px;margin-top:10px}.row input{flex:1}.miclang{width:auto}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.grid.six{grid-template-columns:repeat(6,1fr)}.stat{background:#f7f8fb;border-radius:14px;padding:12px}.stat b{font-size:22px;display:block;margin-top:4px}.plan,.roadmap,.progresslist,.portfolio-list,.weekgrid,.goallist,.lessonlist{display:grid;gap:9px}.planitem,.roaditem,.portfolio-entry,.goal,.daycard,.lessonrow{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.planitem,.roaditem,.lessonrow{display:flex;justify-content:space-between;gap:12px;align-items:center}.lessonrow.current{border-color:#9db9ff;background:#f7faff}.lessonrow.mastered{background:#f7fff9}.lessonrow.locked{background:#fafafa}.lessonmain{min-width:0;flex:1}.lesson-title{font-weight:700}.lesson-action{min-width:100px}.steps{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.step{font-size:11px;border-radius:999px;padding:3px 7px;background:#eef1f5}.step.done{background:var(--green);color:#27613a}.step.now{background:#eaf1ff;color:#254a94}.step.lock{color:#8a8f98}.active-lesson{padding:11px 13px;border-radius:13px;background:#edf4ff;margin:10px 0}.meta,.mutedline{font-size:12px;color:var(--muted);margin-top:4px}.badge{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;background:#eef1f5;margin-left:5px}.badge.ok{background:var(--green);color:#27613a}.badge.sup{background:#fff0d8;color:#885b00}.badge.off{background:#fdebea;color:#9a302d}.badge.test{background:#eaf1ff;color:#254a94}.bar{height:7px;background:#eceff3;border-radius:99px;overflow:hidden;margin-top:6px}.bar span{display:block;height:100%;background:#222}.prow,.session{padding:10px;border-bottom:1px solid var(--line)}.phead,.section-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.empty,.notice{padding:14px;border:1px dashed #cbd0d8;border-radius:13px;color:var(--muted)}.notice{border-style:solid;background:#fff8e8;border-color:#f1d99d}.voicebar{border-top:1px solid var(--line);padding-top:9px;margin-top:8px}.voicebar select{width:auto;max-width:230px;padding:8px}.range input{width:110px;padding:0}.weekgrid{grid-template-columns:repeat(5,1fr);align-items:start}.daycard h3{margin-bottom:8px}.dayitem{padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.dayitem:last-child{border-bottom:0}.dayitem button{margin-top:6px;padding:7px 9px;font-size:12px}.hero{background:linear-gradient(135deg,#fff8df,#edf4ff);border:1px solid #e3e7ef}.checklist{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.check{padding:10px;border-radius:12px;background:#f7f8fb;font-size:13px}.printonly{display:none}
@media(max-width:850px){body{padding:12px}.studentbar,.modes,.picker,.twocol,.formgrid{grid-template-columns:1fr}.grid,.grid.six{grid-template-columns:1fr 1fr}.weekgrid{grid-template-columns:1fr}.chat{height:38vh}.msg{max-width:94%}.checklist{grid-template-columns:1fr 1fr}.planitem,.roaditem,.lessonrow{align-items:flex-start;flex-direction:column}.planitem button,.roaditem button,.lessonrow button{width:100%}.voicebar select{max-width:100%;width:100%}}
@media print{body{background:#fff;max-width:none;padding:0}.top,.studentbar,#learnPanel,#todayPanel,#weekPanel,#roadmapPanel,#logout,.no-print,#portfolioEditor{display:none!important}#parentPanel{display:block!important}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.printonly{display:block}.portfolio-entry button{display:none}.grid{grid-template-columns:repeat(4,1fr)}.grid.six{grid-template-columns:repeat(3,1fr)}}

#syllabusGrade{width:auto}#syllabusList details{padding:12px;border:1px solid var(--line);border-radius:12px}#syllabusList summary{cursor:pointer;font-weight:700}#syllabusList li{margin:7px 0}#syllabusSources a{display:inline-block;margin-right:16px}
/* Foundation practice: tens rods and individual ones. */
.math-visual{display:flex;gap:20px;align-items:center;justify-content:center;padding:18px;background:#f4f8ff;border-radius:16px}.number-block{display:flex;flex-direction:column;gap:10px;text-align:center}.number-block>b,.math-op{font-size:32px}.place-value{display:flex;gap:12px;align-items:center;justify-content:center;min-height:74px}.tens,.ones{display:flex;flex-wrap:wrap;gap:4px;max-width:110px;justify-content:center}.tens i{display:block;width:8px;height:60px;background:repeating-linear-gradient(to bottom,#3478d4 0,#3478d4 5px,#fff 5px,#fff 6px);border:1px solid #2866b9;border-radius:2px}.ones i{display:block;width:10px;height:10px;background:#d27a16;border-radius:2px}.number-block small{font-size:12px}#practiceBody input{max-width:180px}#practiceBody .row{margin-bottom:14px}#practiceCard .actions{flex-wrap:wrap}@media(max-width:450px){.math-visual{gap:10px;padding:10px}.place-value{gap:7px}.tens,.ones{max-width:77px}.number-block>b,.math-op{font-size:26px}}@media print{#practiceCard .actions,#practiceSubmit,#practiceNext,#practiceAnswer{display:none}}
.practice-unit-label{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.practice-unit-label select{max-width:100%;flex:1;min-width:180px}.fraction-visual{display:grid;gap:14px;padding:18px;background:#f4f8ff;border-radius:16px}.fraction-bar-group{display:grid;gap:8px}.fraction-bar{display:grid;min-height:52px;border:2px solid #315a9b;border-radius:6px;overflow:hidden}.fraction-piece{min-width:0;background:#fff;border-right:1px solid #315a9b}.fraction-piece:last-child{border-right:0}.fraction-piece.shaded{background:repeating-linear-gradient(135deg,#3478d4,#3478d4 5px,#63a0ed 5px,#63a0ed 9px)}.fraction-op{text-align:center;font-size:26px}.fraction-choices{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.fraction-choices button{flex:1;min-width:80px;padding:14px 8px}@media(max-width:450px){.fraction-visual{padding:12px}.fraction-bar{min-height:44px}}@media print{.fraction-piece.shaded{background:#aaa;print-color-adjust:exact}.fraction-choices{display:none}}

.libraryfilters{display:flex;gap:12px;flex-wrap:wrap}.libraryfilters label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:140px}.libraryfilters select,.libraryfilters input{width:100%;max-width:100%;box-sizing:border-box}.librarylinks{display:flex;gap:12px;flex-wrap:wrap}.librarybook{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.librarybook a{display:inline-block;margin:6px 12px 0 0}.librarybook p{margin:5px 0}.librarypending{padding:12px;border-radius:12px;background:#fff6e5}.librarycoverage{overflow-wrap:anywhere}

.maths-chapter{padding:12px 0;border-bottom:1px solid #dce1e8}.maths-choices,.maths-position{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.maths-position span{padding:18px;background:#e8effb;border-radius:8px}.maths-diagram{width:170px;max-width:100%;height:140px;display:block}.maths-table{border-collapse:collapse;margin:12px 0}.maths-table td,.maths-table th{padding:8px 20px;border:1px solid #ccd5e4}#mathsLesson{overflow-wrap:anywhere}#mathsCourseCard button{margin:4px} @media print{#mathsCourseCard .actions{display:none}}
