:root{--navy:var(--color-text,#152b4a);--blue:var(--color-link,#244ac5);--muted:var(--color-text-secondary,#637084);--line:var(--color-surface-soft,#dce2ea);--paper-height:279.4mm;--paper-ratio:215.9/279.4;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--navy);font-size:16px;background:var(--color-surface-soft,#f1f4f8);line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-primary,#e2972a);outline-offset:3px}input[type=checkbox]{accent-color:var(--blue);width:17px;height:17px;flex-shrink:0}h1,h2,h3,p{margin:0}button{transition:background .15s}button:hover:not(:disabled){filter:brightness(.94)}.app-header{height:92px;display:flex;align-items:center;padding:0 36px;gap:32px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-size:24px;font-weight:700;line-height:1.15;letter-spacing:-.6px}.brand b{color:var(--blue)}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:400;margin-top:8px}.brand-mark{width:45px;height:49px;background:var(--blue);color:white;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:34px;position:relative}.brand-mark span{position:absolute;right:3px;top:0;font-size:16px;color:var(--color-achievement,#ffc568)}.header-note{margin-left:auto;color:var(--muted);font-size:14px}.header-note span{padding:0 14px;color:var(--color-border,#b9c2ce)}.text-button{border:0;background:transparent;color:var(--blue);padding:4px 0;font-size:14px}.app-layout{display:grid;grid-template-columns:342px minmax(0,1fr);min-height:calc(100vh - 92px)}.sidebar{background:white;border-right:1px solid var(--line);padding:26px 22px 22px}.sidebar-title{display:flex;align-items:center;gap:10px;margin-bottom:17px}.sidebar-title h1,.sidebar-title h2{font-size:17px;font-weight:700}.step{font-size:12px;font-weight:700;color:var(--blue);background:var(--color-surface-soft,#edf1fe);padding:4px 7px;border-radius:5px}.selection-line{display:flex;gap:14px;font-size:13px;color:var(--muted);align-items:center;margin-bottom:13px}.selection-line span{margin-right:auto}.level-list{height:350px;overflow:auto;padding-right:6px;scrollbar-width:thin;border-bottom:1px solid var(--line);padding-bottom:16px}.level-group{border-top:1px solid var(--color-surface-soft,#edf0f4)}.level-group summary{padding:12px 2px;cursor:pointer;font-size:14px;font-weight:700;list-style:none;display:flex;gap:8px;align-items:center}.level-group summary::before{content:'›';font-size:19px;width:10px;color:var(--muted)}.level-group[open] summary::before{transform:rotate(90deg)}.group-range{font-size:12px;color:var(--muted);font-weight:400;margin-left:auto}.level-option{display:flex;align-items:flex-start;gap:8px;border:1px solid transparent;border-radius:7px;padding:10px 8px;margin-bottom:3px;cursor:pointer;line-height:1.4}.level-option:has(input:checked){background:var(--color-surface-soft,#edf2ff);border-color:var(--color-border,#cbd6ff)}.level-option input{margin-top:3px}.level-number{font-size:12px;font-weight:bold;color:var(--blue);display:block;margin-bottom:3px}.level-name{font-size:14px;display:block}.settings{padding-top:22px}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.setting-grid label{font-size:14px}.setting-grid select{display:block;width:100%;padding:9px 10px;margin-top:6px;border:1px solid var(--color-border,#ccd5e2);border-radius:6px;background:white;color:var(--navy);font-size:14px}.check-setting{display:flex;align-items:flex-start;gap:9px;font-size:14px;margin:12px 0;cursor:pointer}.check-setting input{margin:3px 0 0}.check-setting small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.setting-note{font-size:12px;line-height:1.7;color:var(--muted);margin:16px 0}.primary-button{background:var(--blue);color:white;border:0;border-radius:7px;padding:12px 17px;font-weight:700}.generate-button{width:100%;display:flex;justify-content:space-between;align-items:center}.generate-button span{font-size:23px;line-height:1}.dirty-note{font-size:12px;color:var(--color-text,#805715);margin-top:8px;min-height:18px}.workspace{padding:32px 40px 25px;max-width:1320px;width:100%;margin:0 auto}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--muted);margin-bottom:7px}.workspace-heading h2{font-size:26px;letter-spacing:-.8px}.print-button{background:var(--navy);color:white;padding:12px 18px;border:0;border-radius:7px;font-size:14px;white-space:nowrap}.result-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:17px;border-bottom:1px solid var(--color-border,#d7dfeb);font-size:14px}.result-bar strong{font-size:21px;margin-right:4px}.result-bar .divider{display:inline-block;height:14px;border-left:1px solid var(--color-border,#c8d0de);margin:0 16px;vertical-align:middle}.dedup-badge{font-size:12px;color:var(--color-success-text,#386154);background:var(--color-surface-soft,#e5eee9);padding:5px 9px;border-radius:5px}.notices:empty{display:none}.notices{background:var(--color-surface-soft,#fff7e7);border:1px solid var(--color-border,#ecdcb5);border-radius:7px;padding:12px 15px;color:var(--color-text,#785620);font-size:13px;margin-top:16px}.notices p+p{margin-top:6px}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin:20px auto 13px;max-width:794px}.page-nav{display:flex;gap:12px;align-items:center}.page-nav button{border:1px solid var(--color-border,#d3dce8);background:white;border-radius:5px;width:28px;height:28px;color:var(--navy);font-size:20px;line-height:1;padding:0}.sheets{max-width:794px;margin:auto}.sheet{display:none;background:white;box-shadow:0 4px 22px var(--color-shadow,#132b4a0b);border:1px solid var(--color-surface-soft,#dce2ea);padding:37px 40px 24px;aspect-ratio:var(--paper-ratio);min-height:960px;flex-direction:column;color:var(--color-text,#17263a)}.sheet.active{display:flex}.sheet-top{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--color-link,#203b70);padding-bottom:12px}.sheet-logo{font-size:15px;font-weight:700;letter-spacing:-.4px}.sheet-logo span{font-weight:400;color:var(--color-text-secondary,#69758a);margin-left:9px;font-size:11px}.sheet-tag{font-size:11px;letter-spacing:1px}.sheet-title{margin-top:24px;font-size:24px;letter-spacing:-.6px;line-height:1.35}.sheet-title .level-tag{font-size:16px;font-weight:400;margin-right:9px;color:var(--color-text-secondary,#52617c)}.sheet-skill{font-size:10px;color:var(--color-text-secondary,#788296);margin-top:6px;overflow-wrap:anywhere;letter-spacing:.7px}.student-row{display:flex;gap:34px;margin-top:20px;font-size:12px;color:var(--color-text-secondary,#4c586b)}.student-row i{display:inline-block;border-bottom:1px solid var(--color-border,#a6afbd);width:100px;height:16px;vertical-align:bottom}.sheet-instruction{font-size:12px;color:var(--color-text-secondary,#667286);margin-top:18px}.question-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,minmax(116px,1fr));column-gap:22px;flex:1;margin-top:10px}.question{display:flex;gap:10px;align-items:center;min-width:0;position:relative;border-bottom:1px solid var(--color-surface-soft,#f0f2f6)}.question-number{font-size:11px;color:var(--color-text-secondary,#8993a3);align-self:center;min-width:19px}.equation{font-family:Arial,sans-serif;font-size:26px;letter-spacing:.4px;white-space:nowrap;display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}.blank{display:inline-block;width:43px;height:29px;border-bottom:1px solid var(--color-text-secondary,#6f7b90)}.box{display:inline-block;width:28px;height:29px;border:1px solid var(--color-text-secondary,#7d899b);vertical-align:middle}.stack{font-size:27px;width:91px;display:flex;flex-direction:column;align-items:stretch;font-variant-numeric:tabular-nums;line-height:1.25;text-align:right;padding-top:8px}.stack-bottom{display:flex;justify-content:space-between;border-bottom:1.5px solid var(--color-text,#233957);padding-bottom:4px;margin-top:2px}.stack-answer{height:34px}.sheet-footer{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--color-text-secondary,#7c8696);padding-top:16px;margin-top:15px;letter-spacing:.3px}.answer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px 15px;align-content:start;margin-top:32px;flex:1}.answer-item{font-size:18px;font-variant-numeric:tabular-nums;display:flex;gap:10px;align-items:center;min-height:30px}.answer-item small{font-size:11px;color:var(--color-text-secondary,#8993a3);min-width:22px}.print-help{font-size:12px;color:var(--muted);line-height:1.8;max-width:794px;margin:15px auto 0}.empty-preview{padding:90px 30px;text-align:center;background:white;color:var(--muted);border:1px dashed var(--color-border,#c6cfdd);border-radius:8px}dialog{width:min(1000px,94vw);max-height:88vh;border:0;border-radius:14px;padding:30px;color:var(--navy);box-shadow:0 20px 100px var(--color-shadow,#00133340)}dialog::backdrop{background:var(--color-shadow,#14263d80)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-heading h2{font-size:25px}.close-button{border:0;background:var(--color-surface-soft,#f0f3f9);border-radius:50%;height:35px;width:35px;font-size:25px;color:var(--navy)}.curriculum-intro{font-size:14px;color:var(--muted);margin:18px 0 25px;line-height:1.8}.curriculum-group h3{font-size:17px;background:var(--color-surface-soft,#eef2fc);padding:12px 15px;margin:22px 0 4px}.curriculum-item{padding:17px 15px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px}.curriculum-id{font-size:14px;color:var(--blue);font-weight:bold}.curriculum-item h4{font-size:16px;margin:0 0 4px}.curriculum-item code{font-size:12px;overflow-wrap:anywhere;color:var(--color-text-secondary,#626f85)}.curriculum-item p{font-size:14px;margin-top:7px;color:var(--color-text-secondary,#4a5970)}.curriculum-example{font-family:Arial,sans-serif;color:var(--navy)!important}
@media screen and (min-width:1500px){.workspace{padding-left:60px;padding-right:60px}.level-list{height:440px}}@media screen and (max-width:1100px){.app-layout{grid-template-columns:300px minmax(0,1fr)}.sidebar{padding:22px 16px}.workspace{padding:25px 20px}.workspace-heading{align-items:flex-start}.workspace-heading h2{font-size:22px}.sheet{padding:27px 24px 20px;min-height:830px}.equation{font-size:22px;gap:5px}.question-grid{column-gap:10px;grid-template-rows:repeat(5,minmax(100px,1fr))}.blank{width:30px}.sheet-title{font-size:21px}.dedup-badge{display:none}}@media screen and (max-width:780px){.app-header{height:78px;padding:0 18px;gap:12px}.header-note{display:none}.app-header>.text-button{margin-left:auto;font-size:12px}.brand{font-size:21px}.app-layout{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:22px}.level-list{height:240px}.settings{padding-top:20px}.setting-grid{max-width:460px}.workspace{padding:24px 14px}.workspace-heading h2{font-size:20px}.print-button{padding:10px 12px;font-size:12px}.eyebrow{font-size:10px}.sheet{padding:22px 20px;min-height:760px;aspect-ratio:auto}.sheet-title{font-size:19px}.question-grid{grid-template-rows:repeat(5,minmax(100px,1fr));gap:0 10px}.equation{font-size:20px;letter-spacing:0;gap:4px}.question{gap:5px}.question-number{font-size:10px;min-width:15px}.blank{width:26px;height:24px}.box{width:23px;height:24px}.student-row{gap:20px}.student-row i{width:65px}.sheet-logo span{display:none}.sheet-skill{font-size:9px}.answer-grid{gap:10px;grid-template-columns:repeat(4,1fr)}.answer-item{font-size:16px;gap:4px}}@media screen and (max-width:390px){.sheet{padding:20px 13px}.equation{font-size:18px;gap:3px}.question-number{min-width:12px}.sheet-title{font-size:18px}.workspace-heading{gap:8px}.workspace-heading h2{font-size:18px}}
@media print{html,body{background:white!important;color:black;font-size:12pt;margin:0!important;padding:0!important}.app-header,.sidebar,.workspace-heading,.result-bar,.notices,.preview-toolbar,.print-help,dialog{display:none!important}.app-layout,.workspace,.sheets{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;min-height:0!important}.sheet,.sheet.active{display:flex!important;box-shadow:none!important;border:0!important;border-radius:0;padding:12.7mm!important;width:100%!important;height:calc(var(--paper-height) - 0.5mm)!important;min-height:0!important;aspect-ratio:auto!important;break-after:page;break-inside:avoid;color:black}.sheet:last-child{break-after:auto}.sheet-top{padding-bottom:3mm;border-bottom:1.4pt solid black}.sheet-title{font-size:20pt;margin-top:6mm}.sheet-title .level-tag{font-size:13pt}.sheet-logo{font-size:12pt}.sheet-logo span{display:inline;font-size:8pt}.sheet-tag,.sheet-skill,.sheet-footer{font-size:8pt}.sheet-skill{margin-top:2mm;letter-spacing:.4px}.student-row{font-size:10pt;margin-top:5mm;gap:20mm}.student-row i{width:28mm;height:5mm}.sheet-instruction{font-size:9pt;margin-top:4mm}.question-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));column-gap:8mm;margin-top:2mm;min-height:0}.question{gap:3mm;border-bottom:0}.question-number{font-size:9pt;min-width:6mm}.equation{font-size:21pt;gap:1.5mm;letter-spacing:0}.blank{width:13mm;height:9mm}.box{width:8mm;height:9mm}.stack{font-size:24pt;width:27mm;line-height:1.2}.stack-answer{height:11mm}.sheet-footer{margin-top:0;padding-top:4mm}.answer-grid{grid-template-columns:repeat(5,1fr);gap:4mm;margin-top:10mm}.answer-item{font-size:15pt;gap:3mm;min-height:9mm}.answer-item small{font-size:9pt;min-width:6mm}.empty-preview{display:none}}
.print-actions{display:flex;align-items:center;gap:10px}.pdf-button{border:1px solid var(--color-link,#244ac5);color:var(--color-link,#244ac5);background:white;border-radius:7px;padding:11px 16px;font-size:14px;white-space:nowrap}.print-feedback{background:var(--color-surface-soft,#eaf0ff);border:1px solid var(--color-border,#c8d5fa);border-radius:7px;padding:12px 15px;margin-bottom:18px;font-size:14px;line-height:1.8}.print-feedback[hidden],.print-feedback [hidden]{display:none!important}.print-feedback a{color:var(--color-link,#183cae);font-weight:700;margin-left:8px}.print-feedback button{display:block;margin-top:5px}@media screen and (max-width:780px){.workspace-heading{flex-wrap:wrap}.pdf-button{padding:9px 12px;font-size:12px}.print-actions{margin-left:auto}}@media print{.print-feedback{display:none!important}}
.language-toggle{border:1px solid var(--color-border,#cbd5e6);background:var(--color-surface-soft,#f2f5fc);color:var(--color-link,#183d9d);font-size:14px;font-weight:700;border-radius:6px;padding:8px 13px;white-space:nowrap}.purpose-note{font-size:14px;color:var(--muted);margin-top:6px}.group-range{white-space:nowrap;flex-shrink:0}html[lang=en] .brand small{letter-spacing:1px;font-size:11px}html[lang=en] .workspace-heading h2{font-size:24px;letter-spacing:-.4px}html[lang=en] .sheet-title{letter-spacing:0;font-size:21px}html[lang=en] .result-bar{flex-wrap:wrap}html[lang=en] .selection-line{flex-wrap:wrap;gap:10px}@media screen and (max-width:1100px){html[lang=en] .header-note{display:none}.app-header{gap:18px}html[lang=en] .workspace-heading{flex-wrap:wrap}html[lang=en] .sheet-title{font-size:18px}}@media screen and (max-width:780px){.app-header{height:auto;min-height:78px;flex-wrap:wrap;gap:12px;padding:14px 18px}.language-toggle{padding:7px 10px}.purpose-note{font-size:13px}html[lang=en] .workspace-heading h2{font-size:20px}.brand small{letter-spacing:1px}}@media print{html[lang=en] .sheet-title{font-size:17pt;letter-spacing:0}}

/* Fixed place-value columns: digit centres are 9 mm apart in print. */
.vertical-grid{grid-template-rows:repeat(3,minmax(180px,1fr))}
.vertical-problem{display:flex;flex-direction:column;gap:9px;font-family:Arial,sans-serif}
.vertical-horizontal{display:flex;align-items:center;gap:5px;font-size:18px;white-space:nowrap}
.vertical-horizontal .blank{width:35px;height:23px}
.column-sum{width:calc(var(--digit-columns,3) * 34px);font-variant-numeric:tabular-nums}
.digit-row,.column-labels{display:grid;grid-template-columns:repeat(var(--digit-columns,3),1fr);text-align:center}
.digit-row{font-size:27px;line-height:1.1}
.column-labels{font-size:10px;color:var(--color-text-secondary,#637084);line-height:1.2}
.borrow-space{height:10px}.carry-space{height:12px;border-bottom:1.4px solid var(--color-text,#17263a)}
.answer-space{height:32px;padding-top:3px}
@media print{
.vertical-grid{grid-template-rows:repeat(3,minmax(0,1fr))}
.vertical-problem{gap:2mm}.vertical-horizontal{font-size:14pt;gap:1.5mm}
.vertical-horizontal .blank{width:14mm;height:6mm}
.column-sum{width:calc(var(--digit-columns,3) * 9mm)}.digit-row{font-size:24pt;line-height:1.1}
.column-labels{font-size:7pt;line-height:1.2}.borrow-space{height:3mm}
.carry-space{height:4mm;border-bottom:1pt solid black}.answer-space{height:10mm;padding-top:1mm}
}
/* Family workspace */
[hidden]{display:none!important}#family-bar{background:var(--color-surface,#fff);border-bottom:1px solid var(--color-surface-soft,#dce2ea);padding:12px 28px}.family-nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.family-nav button,.account-card button:not(.primary-button),.dashboard button{border:1px solid var(--color-border,#ccd5e2);background:var(--color-surface,#fff);border-radius:7px;padding:8px 12px;color:var(--color-link,#244ac5)}.local-label{font-size:12px;color:var(--color-text-secondary,#637084);margin-left:auto}.child-pill{background:var(--color-surface-soft,#edf2ff);padding:7px 12px;border-radius:20px}#family-status{color:var(--color-error-text,#9b321c);font-size:14px;margin-top:7px}#family-status:empty{display:none}#family-page{padding:35px 20px}.account-card{background:white;padding:32px;border:1px solid var(--color-surface-soft,#dce2ea);border-radius:16px;max-width:540px;margin:20px auto}.account-card.wide{max-width:850px}.account-card h1{font-size:27px;margin-bottom:15px}.account-card p{font-size:14px;color:var(--color-text-secondary,#637084);margin:15px 0 24px}.account-card label{display:block;margin:16px 0;font-size:14px}.account-card input,.account-card select,#review-count{display:block;width:100%;padding:10px;border:1px solid var(--color-border,#bdcadd);border-radius:6px;margin-top:6px}.form-actions{display:flex;gap:12px}.children-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:25px}.child-card{display:flex;flex-direction:column;min-width:170px;text-align:left;gap:8px}.dashboard{max-width:1150px;margin:auto}.dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.dashboard-head p{color:var(--color-text-secondary,#637084);max-width:800px;margin-top:10px;font-size:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0}.metric{border:1px solid var(--color-surface-soft,#dce2ea);background:white;padding:22px;border-radius:12px}.metric strong{display:block;font-size:32px}.metric small{color:var(--color-text-secondary,#637084)}.dashboard h2{font-size:20px;margin:24px 0 14px}.table-scroll{overflow:auto;background:white;border-radius:10px}.dashboard table{border-collapse:collapse;width:100%;font-size:14px}.dashboard td,.dashboard th{padding:12px 14px;border-bottom:1px solid var(--color-surface-soft,#e8ecf2);text-align:left}.dashboard th{background:var(--color-surface-soft,#e9effb)}.mistake-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.mistake-grid article{padding:20px;background:white;border:1px solid var(--color-surface-soft,#dce2ea);border-radius:10px;display:flex;flex-direction:column;gap:12px}.mistake-grid strong{font-size:22px}.level-mistakes{display:block;color:var(--color-text-secondary,#7b5364);font-size:11px;margin-top:3px}#review-settings{font-size:13px;padding-top:10px}#review-availability{color:var(--color-text-secondary,#637084);font-size:12px;margin:8px 0}.online-actions{display:flex;gap:18px;align-items:center;justify-content:space-between;background:var(--color-surface-soft,#e9effb);padding:14px;border-radius:9px;font-size:13px}.online-actions button{white-space:nowrap}#answer-summary{font-size:14px;padding:10px 0}.input-slot{position:relative;display:inline-block;min-width:36px}.answer-input{width:100%;min-width:0;border:0;border-bottom:1px solid var(--color-text-secondary,#8092ab);background:var(--color-surface-soft,#edf5ff);text-align:center;color:var(--color-text,#163057);font:inherit;position:absolute;left:0;bottom:0;height:100%;padding:0}.column-answer-input{position:static;grid-column:2/-1;width:100%;height:28px;letter-spacing:5px;text-align:right;font-size:24px}.answer-space{position:relative}.answer-space>.column-answer-input{position:absolute;left:calc(100% / var(--digit-columns));width:calc(100% - 100% / var(--digit-columns));bottom:0}.question-feedback{position:absolute;bottom:2px;right:6px;font-size:11px}.answer-correct .question-feedback{color:var(--color-success-text,#24734c)}.answer-wrong .question-feedback{color:var(--color-error-text,#ab3728)}.answer-correct .answer-input{background:var(--color-surface-soft,#edf9ef)}.answer-wrong .answer-input{background:var(--color-surface-soft,#fff0eb)}.vertical-grid{grid-template-rows:repeat(5,minmax(155px,1fr))}.vertical-problem{gap:4px}.digit-row{font-size:23px}.column-labels{font-size:9px}.borrow-space{height:8px}.carry-space{height:8px}.answer-space{height:28px}.vertical-horizontal{font-size:17px}.sheet:has(.vertical-grid){min-height:1130px}.sheet-title{overflow-wrap:anywhere}
@media screen and (max-width:700px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-head,.online-actions{flex-direction:column;align-items:stretch}.family-nav{gap:8px}.local-label{margin-left:0}.column-sum{width:calc(var(--digit-columns,3) * 27px)}.digit-row{font-size:22px}.vertical-horizontal{font-size:14px}.vertical-horizontal .blank{width:29px}.account-card{padding:22px}.sheet:has(.vertical-grid){min-height:1120px}}
@media print{
#family-bar,#family-page,#answer-actions,.answer-input,.question-feedback{display:none!important}main.app-layout[hidden]{display:none!important}
.sheet:has(.vertical-grid){min-height:0!important}.vertical-grid{grid-template-rows:repeat(5,minmax(0,1fr))}.sheet-top{padding-bottom:2mm}.sheet-title,html[lang=en] .sheet-title{font-size:15pt;margin-top:3mm;line-height:1.2}.sheet-skill{margin-top:1mm;font-size:7pt}.student-row{margin-top:2mm;font-size:9pt}.sheet-instruction{margin-top:2mm;font-size:8pt}.vertical-problem{gap:1mm}.vertical-horizontal{font-size:12pt;gap:1mm}.vertical-horizontal .blank{height:4.5mm;width:13mm}.column-sum{width:calc(var(--digit-columns,3) * 7mm)}.digit-row{font-size:19pt;line-height:1.05}.column-labels{font-size:6pt}.borrow-space{height:2mm}.carry-space{height:2.5mm}.answer-space{height:8mm;padding-top:0}.question-number{font-size:8pt}.sheet-footer{font-size:7pt;padding-top:2mm}.input-slot{min-width:0}.box.input-slot{width:8mm}.question{background:white!important}
}
.answer-space>.entered-digit{background:var(--color-surface-soft,#edf5ff);min-height:27px}.answer-space>.column-answer-input{color:transparent!important;background:transparent!important;caret-color:var(--color-link,#244ac5);letter-spacing:0;font-family:monospace}.answer-space>.column-answer-input:focus{outline:2px solid var(--color-link,#244ac5);outline-offset:1px}.answer-correct .entered-digit{background:var(--color-surface-soft,#edf9ef)}.answer-wrong .entered-digit{background:var(--color-surface-soft,#fff0eb)}
@media print{.entered-digit{visibility:hidden!important;background:transparent!important}}
/* v3: explicit Parent, Student and Print routes */
body[data-mode] .app-layout{display:block}body[data-mode] .app-layout>.sidebar{display:none!important}body[data-mode] .workspace{max-width:1080px}body[data-mode=student] .workspace-heading,body[data-mode=student] .result-bar,body[data-mode=student] #notices,body[data-mode=student] .print-help,body[data-mode=student] #show-curriculum,body[data-mode=student] .header-note{display:none!important}body[data-mode=student] .workspace{padding-top:10px}body[data-mode=student] #print-feedback{display:none!important}.student-top{display:flex;gap:18px;align-items:center}.student-top strong{font-size:20px}.student-top button{margin-left:auto;border:1px solid var(--color-border,#ccd5e2);background:white;border-radius:7px;padding:8px 12px;color:var(--color-link,#244ac5)}.parent-links{display:flex;gap:6px;flex-wrap:wrap}.active-nav{background:var(--color-surface-soft,#edf2ff)!important;border-color:var(--color-border,#aebdf1)!important}.child-selector-label{display:flex;align-items:center;gap:8px;font-size:13px}.child-selector-label select,.filter-bar select{border:1px solid var(--color-border,#ccd5e2);border-radius:6px;padding:8px;background:white}.family-nav{gap:9px}.family-nav .local-label{width:100%;text-align:right}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.setup-total{background:var(--color-surface-soft,#edf2ff);border-radius:8px;padding:16px;font-size:23px;font-weight:bold}.resume-button{margin-top:20px}.filter-bar{display:flex;gap:16px;margin:25px 0;align-items:flex-end;flex-wrap:wrap}.filter-bar label{display:flex;flex-direction:column;gap:7px}.history-card{padding:20px;background:white;border:1px solid var(--color-surface-soft,#dce2ea);border-radius:10px;margin:15px 0}.history-card summary{cursor:pointer;font-weight:600}.history-card p{margin:12px 0;color:var(--color-text-secondary,#637084);font-size:14px}.dashboard .metric-grid{margin:16px 0}.dashboard td button{padding:4px 12px}.question-number{align-self:flex-start;padding-top:20px}.question-level{display:block;font-size:8px;font-weight:normal;color:var(--color-text-secondary,#8c96a6)}.print-mode-note{padding:16px;background:var(--color-surface-soft,#fff4d9);border-radius:9px;margin-bottom:20px;font-size:14px}.print-mode-note button{display:block;margin-top:12px;border:1px solid var(--color-border,#cbb879);background:white;padding:8px 12px;border-radius:6px}#student-progress{font-size:16px;font-weight:700;margin-bottom:12px}#complete-banner{padding:24px;background:var(--color-surface-soft,#eaf7ed);border:1px solid var(--color-border,#b2d5bd);border-radius:12px;margin:15px 0}#complete-banner p{margin:10px 0}.account-card h2{margin-top:26px;margin-bottom:12px}.account-card>button{margin-top:12px}.dashboard .mistake-grid strong{font-size:21px}.app-header{height:auto;min-height:82px;padding-top:14px;padding-bottom:14px}.family-nav .parent-links button{font-size:13px;padding:7px 9px}
@media screen and (max-width:700px){.setup-grid{grid-template-columns:1fr}.family-nav .local-label{text-align:left}.student-top{gap:8px}.student-top strong{font-size:17px}.form-actions{flex-wrap:wrap}}
@media print{.question-number{padding-top:4mm}.question-level{font-size:6pt}.print-mode-note,#complete-banner{display:none!important}}
body[data-mode=student] .sheet-top,body[data-mode=student] .sheet-skill,body[data-mode=student] .student-row,body[data-mode=student] .sheet-footer{display:none}body[data-mode=student] .sheet-title{font-size:20px;margin:4px 0 12px}body[data-mode=student] .sheet-instruction{margin-top:0}body[data-mode=student] .sheet{padding-top:22px;min-height:1020px}.parent-lock-card{max-width:440px;margin:35px auto;background:white;padding:28px;border-radius:12px}.parent-lock-card input{display:block;width:100%;padding:10px;margin:15px 0;border:1px solid var(--color-border,#bcc9dc);border-radius:6px}
@media print{body[data-mode=student] .sheet-top,body[data-mode=student] .sheet-skill,body[data-mode=student] .student-row,body[data-mode=student] .sheet-footer{display:flex}body[data-mode=student] .sheet-title{font-size:15pt;margin-top:3mm}}

.level-setup-list{max-height:360px;overflow:auto;border:1px solid var(--color-border,#d9dfdc);border-radius:12px;padding:12px;margin:12px 0}.level-setup-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px;border-bottom:1px solid var(--color-surface-soft,#eee)}.level-setup-row label{display:flex;align-items:center;gap:10px;margin:0;flex:1}.level-setup-row input[type=checkbox]{width:18px;height:18px}.level-setup-row select{width:88px}

.three-addends .borrow-space{height:2px}.three-addends .digit-row{font-size:21px;line-height:1}.three-addends .carry-space{height:4px}
@media print{.three-addends .digit-row{font-size:16pt;line-height:1}.three-addends .borrow-space{height:1mm}.three-addends .carry-space{height:1mm}.three-addends .answer-space{height:6mm}}

.vertical-horizontal .box,.vertical-horizontal .blank{display:inline-block;vertical-align:middle;flex-shrink:0;width:64px;height:40px;position:relative}
.vertical-horizontal .box{border:1.5px solid currentColor}.digit-blank{display:block;width:32px;height:32px;border:1.5px solid currentColor;margin:auto}
.column-sum{width:calc(var(--digit-columns,3) * 38px)}.answer-input{font-size:25px;line-height:1.2;min-height:36px}.column-answer-input{height:38px;min-height:38px;letter-spacing:5px}.answer-space{height:40px}.vertical-grid{grid-template-rows:repeat(5,minmax(190px,1fr))}
@media screen and (max-width:700px){.question-grid{grid-template-columns:1fr}.sheet:has(.vertical-grid){min-height:0}.vertical-grid{grid-template-rows:none;grid-auto-rows:minmax(190px,auto)}.vertical-horizontal{font-size:18px}}
@media print{.vertical-horizontal .box,.vertical-horizontal .blank,.box.input-slot{width:16mm;height:9mm;min-height:9mm}.digit-blank{width:8mm;height:8mm;border:1pt solid black}.column-sum{width:calc(var(--digit-columns,3) * 9mm)}.vertical-grid{grid-template-rows:repeat(5,minmax(0,1fr))}.answer-space{height:9mm}.vertical-problem{gap:.5mm}.borrow-space{height:1mm}.carry-space{height:1mm}.digit-row{line-height:1}.three-addends .answer-space{height:8mm}}

/* Screen preview grows with its ten questions; physical print sizing is unchanged. */
@media screen {
 body[data-mode="print"] .sheet {height:auto;aspect-ratio:auto;min-height:0;overflow:visible}
 body[data-mode="print"] .sheet > * {flex-shrink:0}
 body[data-mode="print"] .question-grid {flex:none;grid-template-rows:repeat(5,minmax(190px,max-content));grid-auto-rows:minmax(190px,max-content)}
 body[data-mode="print"] .question {min-width:0;padding-top:14px;padding-bottom:18px}
 body[data-mode="print"] .sheet-footer {margin-top:20px}
}
@media screen and (max-width:700px) {
 body[data-mode="print"] .question-grid {grid-template-rows:none;grid-auto-rows:minmax(190px,max-content)}
}

@media screen{.missing-input-row{position:relative}.missing-column-input{position:absolute;top:0;bottom:auto;height:100%;min-height:32px;border:1.5px solid currentColor;font-size:24px;text-align:center}.covered-blank{visibility:hidden}}

#curriculum-print-copy{display:none}
@media print{body.printing-curriculum> *{display:none!important}body.printing-curriculum>#curriculum-print-copy{display:block!important;padding:12mm;font-family:Arial,sans-serif}#curriculum-print-copy h1{font-size:20pt}#curriculum-print-copy h2{font-size:15pt;margin:4mm 0}#curriculum-print-copy .curriculum-group{break-inside:auto;margin:6mm 0}#curriculum-print-copy .curriculum-group h3{break-after:avoid}#curriculum-print-copy .curriculum-item{break-inside:avoid;display:flex;gap:4mm;padding:3mm 0;font-size:10pt}#curriculum-print-copy .curriculum-item p{margin:1mm 0}#curriculum-print-copy code{font-size:8pt}}

.level-setup-list label:has([data-quiz-level]){display:flex;align-items:center;gap:10px}.level-setup-list input[data-quiz-level]{width:18px;height:18px;margin:0}.equation .box{flex-shrink:0;width:54px;height:40px}@media print{.equation .box{width:16mm;height:9mm}}

/* Quiz: 2 columns x 25 rows, independent of practice layout. */
.quiz-sheet .question-level{display:none}.quiz-sheet .question-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;grid-template-rows:repeat(25,minmax(32px,auto));flex:none}.quiz-sheet .question{padding:3px 0;gap:7px}.quiz-sheet .equation{font-size:17px;gap:5px}.quiz-sheet .equation .box,.quiz-sheet .equation .blank{width:45px;height:27px}.quiz-sheet .answer-input{font-size:18px;min-height:25px}.quiz-sheet .question-number{font-size:10px}.quiz-sheet .question-feedback{position:static;font-size:9px}
@media screen{body[data-mode="print"] .quiz-sheet .question-grid{grid-template-rows:repeat(25,minmax(32px,auto));grid-auto-rows:auto}body[data-mode="print"] .quiz-sheet .question{padding:3px 0}.quiz-sheet{height:auto;aspect-ratio:auto}}
@media print{.quiz-sheet .question-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(25,minmax(0,1fr));flex:1;gap:0 8mm}.quiz-sheet .question{padding:0;gap:2mm}.quiz-sheet .equation{font-size:12pt;gap:1mm}.quiz-sheet .equation .box,.quiz-sheet .equation .blank{width:13mm;height:6mm}.quiz-sheet .question-number{font-size:7pt}.quiz-sheet .answer-grid{grid-template-columns:repeat(5,1fr)}}

.welcome-note{padding:18px;background:var(--color-surface-soft,#f0f4fa);border-radius:10px;margin:18px 0 28px}.welcome-note h2{font-size:20px}.welcome-note p{line-height:1.8;margin:14px 0}.welcome-note a{color:var(--color-link,#244ac5)}
/* Shared product presentation. Worksheet sizing and print geometry stay above. */
@media screen {
:root{--blue:var(--color-link,#27644c);--navy:var(--color-text,#22372e);--muted:var(--color-text-secondary,#647168);--line:var(--color-border,#dbe1da);--page:var(--color-surface-soft,#f8f8f3);--surface:var(--color-surface,#fff);--reading:740px;background:var(--page)}
body{background:var(--page)}
.app-header{max-width:none;min-height:84px;gap:28px;padding:16px max(24px,calc((100% - 1200px)/2));flex-wrap:wrap;background:var(--page)}
.app-header .brand{font-size:24px;flex-shrink:0;gap:0}.app-header .brand-mark,.app-header .brand small{display:none}.app-header .brand b{color:var(--blue)}
#site-navigation{display:flex;align-items:center;gap:26px;margin-left:auto}#site-navigation a{font-size:15px;color:var(--navy);text-decoration:none;padding:12px 0;border-bottom:2px solid transparent}#site-navigation a[aria-current]{color:var(--blue);border-color:var(--blue)}
#menu-toggle{display:none}.language-toggle{margin:0!important;min-width:48px;min-height:44px;border:1px solid var(--line);background:white;color:var(--blue);border-radius:6px;padding:8px 12px}
[hidden]{display:none!important}#family-bar{padding:0 24px;background:transparent;border:0;max-width:1248px;margin:auto}#family-bar:has(.family-nav):not(:has(#child-selector)) .family-nav{display:none}body[data-mode=home] #family-bar,body[data-mode=guide] #family-bar{display:none}
.family-nav{padding:15px 0;border-bottom:1px solid var(--line);gap:12px}.family-nav>strong,.family-nav>span:not(.child-pill){display:none}.family-nav .local-label{display:none!important}.parent-links{margin-left:auto}.family-nav button,.product-page button,.daily-summary button{background:white;color:var(--blue);border:1px solid var(--line);padding:10px 14px;border-radius:6px;min-height:44px}.family-nav .parent-links button{min-height:44px;font-size:14px}.child-selector-label{font-size:14px}.child-selector-label select{min-height:44px;font-size:16px}
#family-page{padding:0 24px;min-height:60vh}.product-page{max-width:1120px;margin:auto;padding:60px 0 36px}.product-page h1{font-size:clamp(34px,4.2vw,58px);line-height:1.15;font-weight:650;letter-spacing:-1.8px;max-width:940px;margin:18px 0 24px}.product-page h2{font-size:30px;line-height:1.3;letter-spacing:-.7px;margin:0 0 14px}.product-page h3{font-size:22px;line-height:1.4;margin:0 0 10px}.product-page p{font-size:17px;line-height:1.75;max-width:760px;color:var(--muted)}.product-page .eyebrow,.eyebrow{font-size:12px;letter-spacing:1.7px;color:var(--blue);font-weight:700}.product-page .lead{font-size:20px;line-height:1.7;max-width:730px}.home-hero{padding:20px 0 64px}.product-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:28px 0 20px}.action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px;padding:12px 22px;border-radius:6px;font-weight:600}.primary-button{background:var(--blue);color:white}.secondary-action{border:1px solid var(--color-border,#a5b7ac);color:var(--blue);background:transparent}.product-page .privacy-note{font-size:14px}.product-section{padding:48px 0;border-top:1px solid var(--line)}.product-section>p{margin-bottom:24px}.concept-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.concept-row h2{font-size:24px;margin:12px 0}.section-number{font-size:14px;color:var(--blue)}.product-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.option-card{padding:30px;border:1px solid var(--line);border-radius:12px;background:white}.option-card ul,.local-notice ul{padding-left:22px;line-height:1.9;color:var(--muted)}.option-card .muted{font-size:15px;min-height:54px}.text-link{display:inline-block;color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:4px;margin-top:18px;padding:8px 0}.curriculum-preview{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;margin-top:20px}.curriculum-range{font-size:25px!important;color:var(--navy)!important;margin-bottom:14px}.roadmap{border-left:1px solid var(--line);padding-left:32px}.roadmap h3{font-weight:500}.parent-note h2{font-size:24px}.guide-hero .routine-callout{margin:32px 0 42px;border-left:4px solid var(--blue);padding:12px 28px}.routine-callout strong{font-size:38px;font-weight:600}.reading-section{max-width:var(--reading)}.reading-section p{margin-bottom:20px}.reading-section blockquote{margin:30px 0;font-size:24px;color:var(--blue);line-height:1.5}.local-notice{margin-top:48px}.skill-path>h1{font-size:44px}.context-note{background:var(--color-surface-soft,#edf2eb);padding:14px 18px;border-radius:8px;margin-top:25px}.skill-group{margin-top:48px}.skill-group>h2{font-size:25px}.skill-group>h2 small{font-size:15px;color:var(--muted);margin-right:10px}.skill-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.skill-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:26px;background:white;border:1px solid var(--line);border-radius:9px}.skill-card h3{font-size:20px;margin-top:6px}.skill-card p{font-size:15px}.skill-card small{color:var(--muted);font-size:13px}.skill-card .skill-example{color:var(--navy);margin:12px 0 20px;font-variant-numeric:tabular-nums}.skill-card.is-current{border:2px solid var(--blue)}
.account-card,.account-card.wide,.dashboard{max-width:1120px;margin:36px auto;padding:32px;background:white;border:1px solid var(--line);box-shadow:none;border-radius:12px}.account-card:not(.wide){max-width:620px}.account-card h1,.dashboard h1{font-size:32px;line-height:1.25;letter-spacing:-.8px}.account-card p,.dashboard-head p{color:var(--muted);line-height:1.7}.account-card h2{font-size:23px;margin-top:32px}.account-card input:not([type=checkbox]),.account-card select{min-height:44px;font-size:16px;max-width:100%}.account-card button{min-height:44px}.account-card button.primary-button{color:white;background:var(--blue)}.level-setup-list{max-height:360px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:10px;margin:16px 0}.level-setup-row{grid-template-columns:minmax(0,1fr) 86px;align-items:center}.level-setup-row label{font-size:16px;line-height:1.4;min-height:46px}.setup-total{background:var(--color-surface-soft,#edf2eb);color:var(--navy)}.practice-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.practice-paths button{margin:0;font-size:18px;padding:18px}.active-nav{background:var(--color-surface-soft,#edf2eb)!important;border-color:var(--color-text-secondary,#8cad98)!important}.daily-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 40px}.daily-summary article{padding:22px;background:var(--color-surface-soft,#f5f7f2);border:1px solid var(--line);border-radius:9px}.daily-summary h2{font-size:22px;line-height:1.4;margin:10px 0}.daily-summary p:not(.eyebrow){font-size:15px;color:var(--muted);margin-bottom:18px}.daily-summary .action{font-size:15px;padding:10px 15px}.dashboard-head h1{font-size:30px}.empty-state{border-top:1px solid var(--line);padding:24px 0}.empty-state h2{font-size:22px}.metric-grid{gap:12px}.metric strong{font-size:28px}.table-scroll{max-width:100%;overflow-x:auto}.dashboard th,.dashboard td{font-size:14px}.dashboard td{overflow-wrap:anywhere}
#site-footer{max-width:1120px;margin:32px auto 0;padding:32px 0;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}#site-footer strong{color:var(--navy);font-size:20px}#site-footer nav{display:flex;gap:24px;flex-wrap:wrap}#site-footer a{color:var(--muted);padding:10px 0;text-decoration:none}
body[data-mode=student] .app-header,body[data-mode=student] #site-footer,body[data-mode=parent-lock] .app-header,body[data-mode=parent-lock] #site-footer{display:none}body[data-mode=student] #family-bar{padding-top:18px}body[data-mode=student] .sheet{height:auto;aspect-ratio:auto;min-height:0}body[data-mode=student] .question-grid{grid-auto-rows:minmax(210px,auto);grid-template-rows:none}body[data-mode=student] .quiz-sheet .question-grid{grid-auto-rows:minmax(64px,auto)}body[data-mode=student] .answer-input{font-size:24px}body[data-mode=student] .page-nav button{min-width:44px;min-height:44px}
}
@media screen and (max-width:1100px){.app-header{gap:20px}#site-navigation{gap:16px}.daily-summary{grid-template-columns:1fr}.daily-summary article{padding:22px}.curriculum-preview{gap:35px}#site-footer{margin:30px 24px 0}}
@media screen and (max-width:900px){.app-header{min-height:76px;position:relative}.app-header .language-toggle{margin-left:auto!important}#menu-toggle{display:block;order:2;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:white;border-radius:6px;color:var(--navy)}#site-navigation{display:none;order:3;flex-basis:100%;margin:0;padding-top:12px;border-top:1px solid var(--line)}#site-navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}#site-navigation a{padding:12px}.family-nav{flex-wrap:wrap}.parent-links{margin-left:0;flex-basis:100%}.family-nav>button{font-size:14px}.product-page{padding-top:40px}.product-page h1{font-size:42px}.concept-row{gap:24px}.account-card,.account-card.wide,.dashboard{padding:24px}.skill-card{padding:20px}}
@media screen and (max-width:600px){.app-header{padding:14px 18px;gap:12px}#family-page,#family-bar{padding-left:18px;padding-right:18px}.product-page{padding-top:32px}.product-page h1{font-size:35px;letter-spacing:-1px}.product-page h1 br{display:none}.product-page .lead{font-size:18px}.product-page h2{font-size:26px}.home-hero{padding:12px 0 36px}.concept-row,.product-columns,.curriculum-preview,.skill-list{grid-template-columns:1fr;gap:24px}.concept-row{gap:30px}.product-section{padding:34px 0}.roadmap{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.option-card{padding:24px}.option-card .muted{min-height:0}.product-page p{font-size:16px}.routine-callout strong{font-size:32px}.guide-hero .routine-callout{padding:10px 20px}.product-actions{gap:12px}.account-card,.account-card.wide,.dashboard{padding:22px 16px;margin:22px auto}.account-card h1,.dashboard h1{font-size:28px}.account-card h2{font-size:22px}.level-setup-row{gap:8px;grid-template-columns:minmax(0,1fr) 68px}.level-setup-row label{font-size:15px}.practice-paths{grid-template-columns:1fr}.setup-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:24px}.dashboard-head{flex-direction:column;align-items:flex-start}#site-footer{margin:20px 18px 0;flex-direction:column;gap:20px}#site-footer nav{gap:12px 22px}.family-nav .child-pill{font-size:13px}.family-nav .child-selector-label select{max-width:160px}body[data-mode=student] .sheet{padding:18px 12px}body[data-mode=student] .question-grid{grid-template-columns:1fr}body[data-mode=student] .quiz-sheet .question-grid{grid-template-columns:1fr}body[data-mode=student] .vertical-horizontal{font-size:22px}body[data-mode=student] .online-actions{flex-wrap:wrap}body[data-mode=student] .student-top{flex-wrap:wrap}}
@media print{#site-footer,#site-navigation,#menu-toggle{display:none!important}}
@media screen{.parent-tools{margin-left:auto}.parent-tools>summary{cursor:pointer;color:var(--blue);padding:10px 14px;border:1px solid var(--line);border-radius:6px;min-height:44px;font-size:14px}.parent-tools[open]{flex-basis:100%;margin-left:0}.parent-tools[open]>summary{display:inline-block}.parent-tools .parent-links{margin:12px 0;display:flex}.parent-tools>button{margin-right:10px}.saved-help,.save-options{margin:18px 0;padding:12px 0;border-bottom:1px solid var(--line)}.saved-help summary,.save-options summary{cursor:pointer;color:var(--blue);padding:8px 0;font-size:15px}.saved-help p{padding:12px 0}.saved-help button{margin:6px 0}.save-options label{margin-top:15px}.daily-summary h2{margin-top:8px}.account-card>label:first-of-type{margin-top:22px}}
@media screen{body[data-mode=student] .vertical-horizontal{font-size:24px;gap:6px}body[data-mode=student] .column-sum{width:calc(var(--digit-columns,3) * 46px)}body[data-mode=student] .digit-row{font-size:32px;line-height:1.2;min-height:44px}body[data-mode=student] .missing-column-input{min-height:44px}body[data-mode=student] .vertical-horizontal .box,body[data-mode=student] .vertical-horizontal .blank{min-height:44px;min-width:64px}body[data-mode=student] .answer-space{min-height:44px}.online-actions{background:var(--color-surface-soft,#edf2eb)}.dashboard-head #create-practice{background:var(--blue);color:white}body[data-mode=student] .question-feedback{font-size:14px}}
@media screen{body[data-mode=student] .question{padding-top:12px;padding-bottom:14px}}


/* Central screen theme. Print keeps the original monochrome rules and fallbacks. */
@media screen {
:root{
 --color-primary:#7F9273;--color-primary-dark:#5F7057;
 --color-sage-medium:#A8B69D;--color-sage-light:#DCE4D6;--color-sage-soft:#EEF2EA;
 --color-background:#F8F8F3;--color-surface:#FFFFFF;
 --color-text:#30372E;--color-text-secondary:#687064;--color-border:#D8DED3;
 --color-success:#64805D;--color-error:#C56F66;
 --color-secondary:var(--color-sage-medium);--color-surface-soft:var(--color-sage-soft);
 --color-cool-neutral:var(--color-sage-light);--color-warm-neutral:var(--color-sage-medium);
 --color-achievement:var(--color-sage-medium);--color-link:var(--color-primary-dark);
 --color-success-text:#486443;--color-error-text:#974A43;--color-on-primary:#FFFFFF;
 --color-shadow:rgb(48 55 46 / 5%);
 --navy:var(--color-text);--blue:var(--color-link);--muted:var(--color-text-secondary);
 --line:var(--color-border);--page:var(--color-background);--surface:var(--color-surface);
}
body{background:var(--color-background);color:var(--color-text)}
.home-hero{background:var(--color-background);padding:clamp(24px,4vw,48px);border-radius:12px 12px 0 0}
.concept-row{background:var(--color-surface-soft);padding:32px clamp(24px,4vw,48px);border-radius:0 0 12px 12px}
.app-header,#site-footer{background:var(--color-background);border-color:var(--color-border)}
#site-footer{padding:32px 24px}#site-footer,#site-footer a{color:var(--color-text-secondary)}#site-footer strong{color:var(--color-text)}
#site-navigation a{color:var(--color-text-secondary)}#site-navigation a[aria-current]{color:var(--color-link);border-color:var(--color-primary)}
.primary-button,.account-card button.primary-button,.dashboard-head #create-practice,.print-button{
 background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary);font-weight:700;font-size:19px;
}
.primary-button:hover,.account-card button.primary-button:hover,.dashboard-head #create-practice:hover,.print-button:hover{background:var(--color-primary-dark);color:var(--color-surface);filter:none}
.secondary-action,.pdf-button,.language-toggle,#menu-toggle,.family-nav button,.product-page button,.daily-summary button,.account-card button:not(.primary-button),.dashboard button:not(.primary-button):not(#create-practice){background:var(--color-surface);border-color:var(--color-primary);color:var(--color-link)}
.secondary-action:hover,.pdf-button:hover,.language-toggle:hover,#menu-toggle:hover,.family-nav button:hover,.account-card button:not(.primary-button):hover,.dashboard button:not(.primary-button):not(#create-practice):hover{background:var(--color-surface-soft);filter:none}
.option-card,.skill-card,.account-card,.dashboard,.metric,.history-card,.mistake-grid article,.parent-lock-card,.table-scroll,dialog,.sheet,.question{background:var(--color-surface);border-color:var(--color-border)}
.context-note,.setup-total,.child-pill,.online-actions,.daily-summary article,.local-notice,.welcome-note,.dashboard th{background:var(--color-surface-soft);color:var(--color-text)}
.active-nav{background:var(--color-surface-soft)!important;border-color:var(--color-primary-dark)!important;color:var(--color-link)!important}
.skill-card.is-current{border-color:var(--color-primary)}
.account-card input,.account-card select,.child-selector-label select,.filter-bar select,#review-count,.parent-lock-card input,.answer-input,.missing-column-input{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);accent-color:var(--color-primary-dark)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,.answer-space>.column-answer-input:focus{outline:3px solid var(--color-primary);outline-offset:3px}
button:disabled{opacity:1;background:var(--color-surface-soft)!important;color:var(--color-text-secondary)!important;border-color:var(--color-border)!important;cursor:default}
.answer-correct .answer-input,.answer-correct .entered-digit{background:var(--color-surface-soft);box-shadow:inset 0 -3px var(--color-success)}
.answer-wrong .answer-input,.answer-wrong .entered-digit{background:var(--color-surface);box-shadow:inset 0 -3px var(--color-error)}
.answer-correct .question-feedback{color:var(--color-success-text)}.answer-wrong .question-feedback,#family-status{color:var(--color-error-text)}
#complete-banner{background:var(--color-surface-soft);border-color:var(--color-secondary)}
.sheet{color:var(--color-text);box-shadow:0 2px 10px var(--color-shadow)}
}


@media screen{
.app-header .brand,.app-header .brand b{color:var(--color-primary-dark)}
input::placeholder{color:var(--color-text-secondary);opacity:1}
input:focus-visible,select:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-sage-light)}
.child-pill{background:var(--color-sage-soft);color:var(--color-primary-dark)}
}

/* Screen typography follows chloexu.lumivy.ai; worksheet geometry is untouched. */
@media screen{
:root{--font-ui:Inter,"Noto Sans SC",-apple-system,BlinkMacSystemFont,sans-serif;--font-zh:"Noto Sans SC",Inter,sans-serif}
body{font-family:var(--font-ui);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
html[lang^=zh] body{font-family:var(--font-zh)}
.app-header .brand{font-size:20px;letter-spacing:-.01em}
#site-navigation a{font-size:14px;font-weight:500}.language-toggle,#menu-toggle{font-size:13px;font-weight:600}
.product-page h1,.skill-path>h1,.account-card h1,.dashboard h1,.dashboard-head h1{font-size:34px;font-weight:700;line-height:1.3;letter-spacing:-.01em}
.product-page h2,.skill-group>h2,.account-card h2,.dashboard h2,.concept-row h2,.parent-note h2{font-size:18px;line-height:1.5;letter-spacing:0;font-weight:700}
.product-page h3,.skill-card h3,.option-card h3{font-size:16px;line-height:1.5;font-weight:700}
.product-page p,.product-page .lead{font-size:15.5px;line-height:1.65}
.product-page .eyebrow,.eyebrow{font-size:13px;letter-spacing:.08em;font-weight:700}
.product-page .privacy-note,.product-page .muted,.skill-card p,.option-card ul,.local-notice ul,.account-card p,.dashboard-head p{font-size:14.5px;line-height:1.65}
.skill-card small,#site-footer,.story-feedback{font-size:13px}
.action,.text-link,.primary-button,.account-card button.primary-button,.dashboard-head #create-practice,.print-button,.practice-paths button{font-size:14px;font-weight:600;line-height:1.65}
.primary-button,.account-card button.primary-button,.dashboard-head #create-practice,.print-button{background:var(--color-primary-dark)}
.level-setup-row label{font-size:14.5px}.routine-callout strong{font-size:30px}.curriculum-range{font-size:17px!important}
.account-card input:not([type=checkbox]),.account-card select{font-family:inherit;font-size:16px}
}
@media screen and (max-width:600px){.product-page h1,.skill-path>h1,.account-card h1,.dashboard h1,.dashboard-head h1{font-size:27px}.product-page .lead{font-size:15.5px}}

@media screen{:root{--color-wordmark-math:#354F3B}.app-header .brand b{color:var(--color-wordmark-math)}}

/* Gentle Exploration wordmark: real text, decorative accessible-hidden plus. */
@media screen{
:root{--color-brand-emma:#344E3E;--color-brand-math:#697B61}
.app-header{padding-left:32px;padding-right:32px}
.app-header a.brand{display:inline-flex;align-items:baseline;gap:0;white-space:nowrap;flex-shrink:0;font-family:var(--font-ui);font-size:28px;line-height:1.35;letter-spacing:-.025em;overflow:visible;text-decoration:none}
.app-header .brand .brand-emma{color:var(--color-brand-emma);font-weight:650}
.app-header .brand .brand-math{color:var(--color-brand-math);font-weight:500;margin-left:.22em}
.app-header .brand .brand-plus{color:var(--color-brand-math);font-size:.6em;font-weight:500;margin-left:.16em;position:relative;top:-.5em;line-height:1}
}
@media screen and (max-width:600px){.app-header{padding-left:24px;padding-right:24px}.app-header a.brand{font-size:24px}}
@media screen and (max-width:360px){.app-header{gap:8px;padding-left:20px;padding-right:20px}.app-header a.brand{font-size:22px}}

/* Account sync controls reuse the existing layout; never printed. */
@media screen {
 .cloud-sync {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:8px 0;font-size:14px;}
 .cloud-sync button {min-height:44px;}
 #cloud-code-form {margin-top:20px;}
 #cloud-email,#cloud-code {max-width:100%;min-height:48px;font-size:16px;}
}
@media print {.cloud-sync {display:none!important;}}

/* Keep review an explicit, visible opt-in in the parent setup. */
@media screen {
 .review-setup { margin: 28px 0; padding: 20px; border: 1px solid #697B61; border-left: 5px solid #344E3E; border-radius: 12px; background: #e8efe5; color: #344E3E; }
 .review-setup h2 { margin-top: 0; color: #344E3E; }
 .review-setup select { background: #fff; border: 2px solid #697B61; min-height: 44px; }
 .review-setup p { color: #344E3E; }
}

/* Parent practice options: keep checkboxes beside their labels. */
@media screen {
 .account-card input[type=checkbox] { display:inline-block; width:20px; height:20px; padding:0; margin:0; flex:0 0 20px; }
 .account-card .practice-option { margin:18px 0; padding:16px; border:1px solid var(--color-border,#bdcadd); border-radius:10px; background:var(--color-surface,#fff); }
 .account-card .option-toggle { display:flex; align-items:center; justify-content:flex-start; gap:10px; margin:0; min-height:44px; font-size:16px; font-weight:600; cursor:pointer; }
 .option-toggle span { min-width:0; }
 .account-card .option-description { margin:6px 0 0 30px; font-size:14px; line-height:1.65; }
 .practice-option:has(input:checked) { border-color:var(--color-primary-dark,#344e3e); background:var(--color-surface-soft,#e8efe5); }
 .account-card .practice-save-option { padding:0 16px 12px; border:1px solid var(--color-border,#bdcadd); border-radius:10px; }
 .account-card .practice-save-option>summary { padding:16px 0 4px; min-height:48px; font-size:16px; font-weight:600; list-style:disclosure-closed inside; }
 .account-card .practice-save-option[open]>summary { list-style-type:disclosure-open; padding-bottom:12px; border-bottom:1px solid var(--color-border,#bdcadd); }
}

/* How It Works reuses product sections, cards and the existing mobile menu. */
@media screen {
 .how-flow { display:flex; flex-wrap:wrap; gap:12px; list-style:none; padding:0; margin:28px 0 12px; }
 .how-flow li { display:flex; align-items:center; gap:12px; padding:14px 18px; border:1px solid var(--color-border); border-radius:10px; background:var(--color-surface-soft); font-weight:600; }
 .how-flow li:not(:last-child)::after { content:'→'; color:var(--muted); }
 .how-return { color:var(--muted); margin-bottom:20px; }
 .how-levels { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:28px 0; }
 .how-levels .skill-card { display:block; }
 .how-comparison { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
 .how-page .local-notice { padding:24px; margin-top:24px; }
 #site-navigation a { white-space:nowrap; }
}
@media screen and (min-width:901px) and (max-width:1200px) { .app-header { gap:12px; } #site-navigation { gap:12px; } }
@media screen and (max-width:1050px) {
 .app-header { height:auto; min-height:76px; position:relative; }
 .app-header .language-toggle { margin-left:auto!important; }
 #menu-toggle { display:block; order:2; min-height:44px; padding:8px 12px; border:1px solid var(--line); background:var(--color-surface); border-radius:6px; color:var(--navy); }
 #site-navigation { display:none; order:3; flex-basis:100%; margin:0; padding-top:12px; border-top:1px solid var(--line); }
 #site-navigation.is-open { display:flex; flex-direction:column; align-items:stretch; gap:4px; }
 #site-navigation a { padding:12px; }
 .how-levels { grid-template-columns:1fr 1fr; }
}
@media screen and (max-width:600px) { .how-levels,.how-comparison { grid-template-columns:1fr; } .how-flow { flex-direction:column; } .how-flow li { justify-content:space-between; } .how-flow li:not(:last-child)::after { content:'↓'; } }

@media screen {
 body[data-mode=student] .input-slot>.answer-input,body[data-mode=student] .missing-column-input,body[data-mode=student] .entered-digit { background:var(--color-surface-soft,#edf2eb); }
 body[data-mode=student] .answer-wrong { border-left:4px solid #ab3728; padding-left:12px; }
 body[data-mode=student] .answer-wrong .input-slot>.answer-input,body[data-mode=student] .answer-wrong .entered-digit,body[data-mode=student] .answer-wrong .missing-column-input { background:#fff0eb; box-shadow:inset 0 -3px #ab3728; }
 body[data-mode=student] .question-feedback { font-size:14px; font-weight:600; }
 #correction-actions { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0; }
 #correction-actions button { min-height:44px; padding:10px 16px; border:1px solid var(--color-border); border-radius:8px; background:var(--color-surface-soft); color:var(--color-text); }
 #answer-summary { font-weight:600; color:#8c3025; }
}

@media screen {
 .auth-card { width:100%; }
 .auth-card .auth-password { display:flex; align-items:stretch; gap:8px; min-width:0; margin:6px 0 18px; }
 .auth-card .auth-password input { flex:1; width:0; min-width:0; margin:0; min-height:48px; }
 .auth-card .auth-password button { flex-shrink:0; min-width:64px; margin:0; }
 .auth-card form>[type=submit] { margin:16px 0 0; min-height:48px; width:100%; }
 .auth-card .auth-links { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:20px; }
 .auth-card .auth-links button { text-align:left; }
 .auth-card p { overflow-wrap:anywhere; }
 .auth-card .auth-hint { font-size:14px; line-height:1.65; }
 .auth-card .auth-error { color:var(--color-error-text,#8c3025); }
 .auth-card .auth-success { color:var(--color-success-text,#344e3e); }
}

/* Daily practice hierarchy; native disclosures retain selection and keyboard behavior. */
@media screen {
 .practice-builder h2 { margin-top:20px; }
 .practice-focus-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
 .practice-focus-heading h2 { margin-bottom:0; }
 .selected-skills { list-style:none; padding:0; margin:14px 0; }
 .selected-skills li { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 14px; padding:10px 0; border-bottom:1px solid var(--line); }
 .selected-skills small { color:var(--muted); }
 .selected-skills li>span { margin-left:auto; }
 .practice-start-bar { padding:16px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-surface-soft); }
 .practice-start-bar .practice-paths { margin:10px 0 0; }
 .practice-start-bar .setup-total { padding:0; margin:0; background:transparent; }
 .setup-disclosure { margin:20px 0; padding:16px; border:1px solid var(--color-border); border-radius:10px; }
 .setup-disclosure>summary,.skill-group>summary,.explanation-details>summary { cursor:pointer; font-size:18px; font-weight:600; min-height:44px; padding:8px 0; }
 .grouped-setup { max-height:none; overflow:visible; border:0; padding:0; }
 .setup-skill-group { border-bottom:1px solid var(--line); padding:12px 0; }
 .setup-skill-group>summary { cursor:pointer; font-weight:600; padding:10px 0; }
 .level-setup-row label { display:flex; align-items:center; gap:10px; }
 .level-setup-row label small { display:block; color:var(--muted); font-weight:400; }
 .skill-path .skill-card h2 { font-size:20px; margin:6px 0; }
 .skill-card details { margin:12px 0; }
 .skill-card summary { cursor:pointer; color:var(--muted); }
 .skill-group>summary { padding:18px 0; }
 .skill-group>summary>span { color:var(--muted); margin-right:8px; }
 .skill-card:focus { outline:3px solid var(--color-primary); outline-offset:3px; }
 .dashboard .option-toggle { display:flex; align-items:center; gap:10px; min-height:44px; margin:12px 0; }
 .progress-sync-details { margin:18px 0; color:var(--muted); }
 .progress-sync-details summary { cursor:pointer; min-height:44px; }
 .cloud-sync[data-state=saved] { font-size:12px; color:var(--muted); padding:4px 0; }
 .cloud-sync[data-state=unsaved],.cloud-sync[data-state=error],.cloud-sync[data-state=conflict] { border-left:4px solid var(--color-error); background:#fff0eb; padding:12px; color:var(--color-error-text); }
 #setup-validation { color:var(--color-error-text); font-weight:600; }
 .child-pill { white-space:normal; max-width:100%; }
}
@media screen and (max-width:600px) {
 .practice-start-bar { padding:12px; }
 .practice-start-bar .practice-paths { grid-template-columns:1fr 1fr; gap:8px; }
 .practice-start-bar .practice-paths button { padding:12px 8px; font-size:15px; }
 .selected-skills li>span { margin-left:0; flex-basis:100%; }
 .setup-disclosure { padding:12px; }
 .review-setup { padding:14px; }
 .danger-button { color:var(--color-error-text,#9b321c)!important; border-color:var(--color-error-text,#9b321c)!important; background:transparent!important; margin-top:8px; }
 .parent-tools:not([open]) .parent-links { display:flex; margin:0 8px; }
 .parent-tools:not([open])>button { margin-right:8px; }
 .child-card { padding:0; }
}
/* Parent tools are primary navigation for the signed-in parent, while the disclosure remains available on narrow screens. */
.parent-tools:not([open]) .parent-links { display:flex; margin:0 8px; }
.parent-tools:not([open])>button { margin-right:8px; }
/* Account navigation belongs to the header; management actions stay in their page. */
.account-menu{position:relative;margin-left:auto;flex-shrink:0}.account-menu>summary{cursor:pointer;border:1px solid var(--color-border);border-radius:8px;padding:12px 16px;min-height:44px;color:var(--color-text)}.account-menu-items{position:absolute;right:0;top:100%;z-index:100;min-width:230px;display:flex;flex-direction:column;padding:12px;background:var(--color-surface,#fff);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 24px #0002}.account-menu-items button,.account-menu-items a{text-align:left;padding:12px;border:0;background:transparent;color:var(--color-text);font:inherit;text-decoration:none}.account-menu-items button:hover,.account-menu-items a:hover{background:var(--color-surface-soft)}.learner-card{padding:20px;border:1px solid var(--color-border);border-radius:10px;flex:1 1 260px;min-width:0}.learner-actions,.progress-sections{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.danger-button{color:var(--color-error-text)!important}.progress-sections button{min-height:44px}#correction-actions .primary-button{background:var(--blue);color:white;border-color:var(--blue);padding:14px 22px;font-weight:700}#family-bar:has(.family-nav:empty):not(:has(.cloud-sync)){display:none}
