:root{--cream:#fffdf6;--paper:#fffefb;--ink:#30271f;--muted:#81786e;--line:#eadfca;--yellow:#f4ad19;--yellow-soft:#fff4cf;--green:#4e9b45;--green-soft:#edf7e8;--blue:#4c8fd8;--blue-soft:#eaf3ff;--purple:#8765c5;--purple-soft:#f1ecfb;--shadow:0 14px 40px rgba(98,78,42,.08)}
*{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 75% 0,#fff9df 0,transparent 28%),var(--cream)}button,input,textarea,select{font:inherit}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:34px 18px 24px;border-right:1px solid var(--line);background:rgba(255,253,246,.88);display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 12px 36px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:var(--yellow);color:#fff;font-family:Georgia,serif;font-weight:800;box-shadow:0 8px 18px rgba(244,173,25,.28)}.brand strong,.brand span{display:block}.brand span{font-size:13px;color:var(--muted);margin-top:3px}.sidebar nav{display:grid;gap:8px}.nav-item{border:0;background:transparent;text-align:left;padding:14px 16px;border-radius:12px;color:#655d55;cursor:pointer}.nav-item:hover,.nav-item.active{color:#8c5e00;background:var(--yellow-soft)}.nav-item.active{font-weight:700}.privacy-note{margin-top:auto;border:1px solid #d5e7cc;background:#f5fbf2;border-radius:12px;padding:12px 14px;color:var(--green)}.privacy-note strong,.privacy-note span{display:block}.privacy-note span{font-size:12px;margin-top:4px;color:#74826e}main{min-width:0;padding:26px 42px 52px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{font-size:20px;margin:4px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#a27b31}.greeting{font-size:14px;color:var(--muted)}.view{display:none}.view.active{display:block;animation:enter .32s ease}@keyframes enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.hero-panel{display:grid;grid-template-columns:1.2fr .55fr .55fr 1.65fr;gap:16px;align-items:stretch;padding:28px 30px;border:1px solid #eadfbe;border-radius:18px;background:linear-gradient(120deg,#fffaf0,#fffef9);box-shadow:var(--shadow)}.season-label{display:inline-block;color:#9b701c;font-size:13px;font-weight:700}.hero-copy h2{font-family:STKaiti,KaiTi,serif;font-size:42px;margin:10px 0 8px;white-space:nowrap}.hero-copy h2 b{font-family:Georgia,serif;font-size:64px;color:var(--yellow)}.hero-copy p{font-size:13px;color:var(--muted);line-height:1.6;max-width:340px}.hero-stat{border:1px solid var(--line);border-radius:14px;padding:20px;background:rgba(255,255,255,.72);display:flex;flex-direction:column;justify-content:center}.hero-stat span{font-size:13px;color:var(--muted)}.hero-stat strong{font:700 34px Georgia,serif;color:var(--green);margin:12px 0}.hero-stat small{color:var(--muted);line-height:1.5}.bar{height:9px;border-radius:99px;background:#e9e7e0;overflow:hidden}.bar i{display:block;height:100%;width:0;background:var(--green);border-radius:inherit;transition:width .3s ease}.subject-progress{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:4px}.subject-mini{padding:10px 4px}.subject-mini div{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:10px}.subject-mini strong{font-family:Georgia,serif}.subject-mini:nth-child(2) .bar i{background:var(--blue)}.subject-mini:nth-child(3) .bar i{background:var(--yellow)}.subject-mini:nth-child(4) .bar i{background:var(--purple)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:30px 2px 14px}.section-heading h2{margin:3px 0;font-size:24px}.date-switch{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.date-switch button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;cursor:pointer}.task-list{border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden;box-shadow:0 8px 24px rgba(94,74,38,.05)}.task-row{display:grid;grid-template-columns:170px minmax(0,1fr) 100px 110px 52px;align-items:center;min-height:86px;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0}.task-type{height:100%;display:flex;align-items:center;padding:0 22px;font-weight:700;border-right:1px solid var(--line)}.task-type:before{content:"";width:10px;height:34px;border-radius:99px;background:var(--green);margin-right:13px}.task-row[data-subject="math"] .task-type:before{background:var(--blue)}.task-row[data-subject="review"] .task-type:before{background:var(--yellow)}.task-main{padding:15px 24px}.task-main strong{display:block;font-size:15px}.task-main small{display:block;color:var(--muted);margin-top:7px}.task-time,.task-status{font-size:13px;color:var(--muted)}.task-status button{border:0;border-radius:99px;padding:7px 12px;cursor:pointer}.task-status .needs-review{background:var(--yellow-soft);color:#8d650e}.task-check{width:28px;height:28px;accent-color:var(--green);cursor:pointer}.empty-state{padding:50px;text-align:center;color:var(--muted)}.bottom-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;margin-top:20px}.reward-panel,.encourage-panel,.page-card{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:24px 28px}.reward-panel{background:#fffaf0}.reward-panel h3,.encourage-panel h3{margin:9px 0}.reward-panel p,.encourage-panel p,.page-card>p{color:var(--muted);line-height:1.7}.bar.reward i{background:var(--yellow)}.encourage-panel{background:var(--green-soft);border-color:#d9e7d2}.encourage-panel h3{color:#397d36}.page-card{max-width:1050px;margin:0 auto;box-shadow:var(--shadow)}.page-card h2{font-size:30px;margin:6px 0 8px}.progress-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:28px 0}.progress-item{padding:20px;border:1px solid var(--line);border-radius:14px}.progress-item header{display:flex;justify-content:space-between;margin-bottom:14px}.total-progress{padding:22px;background:var(--yellow-soft);border-radius:14px}.total-progress strong{float:right;font-family:Georgia,serif;font-size:24px}.total-progress .bar{clear:both;margin-top:18px}.review-item{display:grid;grid-template-columns:1fr auto;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.review-item:last-child{border-bottom:0}.review-item small{color:var(--muted)}.review-item button{align-self:center;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;cursor:pointer}.reflection-card form,.settings-card{display:grid;gap:18px}.reflection-card label,.settings-card label{display:grid;gap:8px;font-weight:700}.reflection-card textarea,.reflection-card select,.settings-card input{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px;outline:none}.reflection-card textarea:focus,.reflection-card select:focus,.settings-card input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,173,25,.14)}.primary-button,.secondary-button,.danger-button{border:0;border-radius:10px;padding:11px 18px;cursor:pointer}.primary-button{background:var(--green);color:#fff}.secondary-button{background:var(--yellow-soft);color:#825c08}.danger-button{background:#fff0ed;color:#b14b3d}.button-row{display:flex;flex-wrap:wrap;gap:10px}.fine-print,#saveMessage{font-size:13px;color:var(--muted)}
@media(max-width:1050px){.app-shell{grid-template-columns:190px 1fr}main{padding:24px}.hero-panel{grid-template-columns:1fr 1fr}.hero-copy,.subject-progress{grid-column:span 2}.task-row{grid-template-columns:145px minmax(0,1fr) 75px 95px 46px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding-bottom:16px}.sidebar nav{display:flex;overflow:auto}.nav-item{white-space:nowrap}.privacy-note{display:none}main{padding:20px 14px}.topbar{align-items:flex-start}.greeting{display:none}.hero-panel{display:block;padding:22px}.hero-stat{margin-top:12px}.subject-progress{margin-top:12px}.hero-copy h2{font-size:30px}.hero-copy h2 b{font-size:46px}.section-heading{align-items:flex-start;gap:12px;flex-direction:column}.task-row{grid-template-columns:1fr 44px;padding:15px}.task-type{border:0;padding:0;height:auto}.task-type:before{height:22px}.task-main{grid-column:1;padding:10px 0}.task-time,.task-status{grid-column:1}.task-check{grid-column:2;grid-row:1/5}.bottom-grid,.progress-detail{grid-template-columns:1fr}.page-card{padding:22px 18px}}

/* Selected “sunny study calendar” visual target. */
@media(min-width:1201px){.hero-panel{grid-template-columns:1.65fr .55fr .55fr 1.55fr}.hero-intro{display:flex;align-items:center;min-width:0}.hero-art{width:128px;height:158px;object-fit:cover;object-position:center;border-radius:13px;margin-right:16px;box-shadow:0 10px 24px rgba(111,86,39,.12)}.hero-copy h2{font-size:36px}.hero-copy h2 b{font-size:54px}}
@media(max-width:1200px){.hero-art{display:none}.hero-intro{min-width:0}}
@media(max-width:1050px) and (min-width:761px){.hero-intro{grid-column:span 2}}
.task-main em{display:block;margin-top:7px;color:#a08352;font-size:12px;font-style:normal}.subject-mini small,.progress-item small{display:block;margin-top:8px;color:var(--muted);font-size:12px}.review-question-panel{margin-top:20px;border:1px solid var(--line);border-radius:16px;background:#fffdf8;padding:22px 28px}.review-question-panel p{margin:10px 0 0;color:#5f564d;line-height:1.7}.task-row[data-subject="express"] .task-type:before{background:#77b56d}

.practice-items{margin-top:12px;border:1px solid #dce8f7;border-radius:14px;background:#f8fbff;padding:13px 15px}.practice-items>strong{display:block;color:#2e6fae;margin-bottom:6px}.practice-items p{margin:0 0 10px;color:#5f6f81;line-height:1.6}.practice-items ol{display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:9px 16px;margin:0;padding-left:20px;color:#3f4f5f;font-weight:800}.practice-items li{padding:8px 10px;border:1px solid #dce8f7;border-radius:12px;background:#fff}.practice-items li label{display:grid;grid-template-columns:minmax(92px,1fr) 82px;align-items:center;gap:8px}.practice-question{white-space:nowrap}.practice-items input{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 9px;text-align:center;font-weight:800;outline:none}.practice-items input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(76,143,216,.14)}.practice-result{display:inline-flex;margin-top:7px;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}.practice-items li.correct{border-color:#c9dfc2;background:var(--green-soft)}.practice-items li.retry{border-color:#ecd08b;background:#fffaf0}.practice-items li.correct .practice-result{background:#dcefd7;color:#397d36}.practice-items li.retry .practice-result{background:var(--yellow-soft);color:#8d650e}.practice-submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.practice-submit-row span{color:#7b6b56;font-size:13px}.practice-summary{margin-top:12px!important;border-radius:12px;background:#fff;padding:10px 12px;color:#397d36!important;font-weight:800}.practice-answers{margin-top:12px;border-top:1px dashed #cdddf0;padding-top:10px}.practice-answers summary{cursor:pointer;color:#7b5a11;font-weight:800}.practice-answers p{margin:8px 0 0;color:#5f564d;font-weight:700}
.assessment-sheet{margin-top:12px;border:1px solid #e6d7ad;border-radius:16px;background:linear-gradient(120deg,#fffaf0,#f8fbff);padding:15px}.assessment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.assessment-heading strong{display:block;color:#7b5a11;font-size:16px}.assessment-heading p{margin:6px 0 0;color:#665c51;line-height:1.6}.assessment-heading span{flex:0 0 auto;border-radius:999px;background:#fff;color:#397d36;border:1px solid #c9dfc2;padding:6px 10px;font-weight:900;font-size:12px}.assessment-note{margin:12px 0;border-radius:12px;background:#fff;padding:10px 12px;color:#5f6f62;line-height:1.65}.assessment-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.assessment-section{border:1px solid #eadfbe;border-radius:14px;background:#fff;padding:13px}.assessment-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.assessment-section-head strong{color:#3f362e}.assessment-section-head span{border-radius:999px;background:var(--yellow-soft);color:#825c08;padding:5px 9px;font-size:12px;font-weight:900}.assessment-section ul{margin:0 0 10px;padding-left:18px;color:#61584f;line-height:1.7}.assessment-section label{display:grid;grid-template-columns:1fr 92px;align-items:center;gap:10px;color:#5d5349;font-weight:800}.assessment-section input{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 9px;text-align:center;font-weight:900;outline:none}.assessment-section input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,173,25,.14)}.assessment-total{margin:12px 0 0;border-radius:12px;background:#fff;padding:11px 13px;color:#397d36;font-weight:900}
.classification-activity{margin-top:12px;border:1px solid #dce8f7;border-radius:14px;background:#f8fbff;padding:13px 15px}.classification-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.classification-heading strong{color:#2e6fae}.classification-heading span{border-radius:999px;background:var(--green-soft);color:#397d36;padding:5px 9px;font-size:12px;font-weight:800}.classification-activity p{margin:8px 0 12px;color:#5f6f81;line-height:1.6}.classification-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.classification-item{display:grid;justify-items:center;gap:7px;border:1px solid #dce8f7;border-radius:14px;background:#fff;padding:12px 10px;text-align:center}.classification-item strong{font-size:14px;color:#433a31}.classification-item small{font-size:12px;color:#776c5f}.shape-token{display:block;width:46px;height:46px;box-shadow:inset 0 -3px 6px rgba(71,52,17,.16)}.shape-circle{border-radius:999px}.shape-square{border-radius:11px}.shape-rectangle{width:58px;height:34px;border-radius:12px}.shape-triangle{width:0;height:0;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:46px solid var(--yellow);box-shadow:none}.color-red{background:#f47b68}.color-blue{background:#6da8e8}.color-yellow{background:#f7c84f}.color-green{background:#7bcf8a}.color-purple{background:#a88be8}.shape-triangle.color-red{background:transparent;border-bottom-color:#f47b68}.shape-triangle.color-blue{background:transparent;border-bottom-color:#6da8e8}.shape-triangle.color-yellow{background:transparent;border-bottom-color:#f7c84f}.shape-triangle.color-green{background:transparent;border-bottom-color:#7bcf8a}.shape-triangle.color-purple{background:transparent;border-bottom-color:#a88be8}.classification-questions{margin-top:12px}.classification-answers{margin-top:12px;border-top:1px dashed #cdddf0;padding-top:10px}.classification-answers summary{cursor:pointer;color:#7b5a11;font-weight:800}.classification-answers ul{margin-top:8px}
.task-materials{margin-top:12px;border:1px solid #dce8f7;border-radius:14px;background:#f8fbff;padding:13px 15px}.material-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.material-heading strong{color:#2e6fae}.material-heading span{border-radius:999px;background:var(--yellow-soft);color:#825c08;padding:5px 9px;font-size:12px;font-weight:800}.task-materials>p{margin:8px 0 12px;color:#5f6f81;line-height:1.6}.material-section{border:1px solid #e5eef9;border-radius:12px;background:#fff;padding:11px 13px;margin-top:10px}.material-section strong{display:block;color:#4c4035;margin-bottom:6px}.material-section ul{margin:0;padding-left:18px;color:#61584f;line-height:1.75}.material-section li+li{margin-top:3px}
.textbook-reader{border:1px solid #eadfca;border-radius:16px;background:#fffdf8;padding:14px;margin:12px 0}.textbook-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.textbook-head strong{color:#7b5a11}.textbook-reader p{margin:0 0 12px;color:#675d51;line-height:1.65}.textbook-page-images{display:grid;gap:12px}.textbook-page-images a{display:block;border:1px solid #e5dcc8;border-radius:10px;background:#fff;overflow:hidden}.textbook-page-images img{display:block;width:100%;height:auto;aspect-ratio:1237/1600;object-fit:contain;background:#fff}.textbook-light-note{border:1px dashed #dfd3bd;border-radius:10px;background:#fff;padding:12px;color:#675d51;line-height:1.65}
.reading-card{border:1px solid #e5eef9;border-radius:16px;background:linear-gradient(120deg,#fff,#fffdf8);padding:16px 18px;margin:12px 0}.reading-card>strong{display:block;color:#7b5a11;margin-bottom:14px}.reading-lines{display:grid;gap:13px}.reading-lines p{margin:0;color:#2f2821;font-size:26px;font-family:KaiTi,STKaiti,"Songti SC",serif;line-height:2.25;letter-spacing:.08em}.reading-lines ruby{ruby-align:center;margin-right:.08em}.reading-lines rt{font-size:12px;color:#7b88a0;font-family:"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0}.reading-punct{display:inline-block;margin:0 .05em}
@media(max-width:760px){.practice-items ol{grid-template-columns:1fr}.practice-items li label{grid-template-columns:1fr 78px}}
@media(max-width:760px){.classification-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:760px){.reading-lines p{font-size:22px;line-height:2.2}.reading-lines rt{font-size:11px}}
@media(max-width:760px){.textbook-head{align-items:flex-start;flex-direction:column}}

.hero-energy-banner{display:flex;align-items:center;gap:18px;margin:0 0 18px;border:1px solid #cfe4c7;border-radius:20px;background:linear-gradient(120deg,#edf7e8,#fffaf0);padding:18px 24px;box-shadow:0 12px 30px rgba(78,155,69,.11)}.hero-energy-banner span{flex:0 0 auto;border-radius:999px;background:var(--green);color:#fff;padding:8px 13px;font-size:12px;font-weight:900;letter-spacing:.1em}.hero-energy-banner strong{font-size:22px;line-height:1.55;color:#397d36}.progress-select-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,254,251,.92);padding:16px 20px;box-shadow:0 8px 24px rgba(94,74,38,.05)}.progress-select-panel h2{margin:4px 0 3px;font-size:24px}.progress-select-panel h2 b{font-family:Georgia,serif;color:var(--yellow);font-size:32px}.progress-select-panel p{margin:0;color:var(--muted);line-height:1.6}.day-select-label{display:grid;gap:7px;min-width:300px;font-weight:800;color:#5f564d}.day-select-label select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px 14px;color:#4b4037;outline:none}.day-select-label select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,173,25,.14)}
.date-switch .quest-shortcut-button{background:var(--green);border-color:var(--green);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(77,145,69,.18)}
@media(max-width:760px){.hero-energy-banner{align-items:flex-start;flex-direction:column;padding:16px 18px}.hero-energy-banner strong{font-size:18px}.progress-select-panel{align-items:flex-start;flex-direction:column;padding:16px}.day-select-label{min-width:0;width:100%}}

/* Mastery tracking: completion is not the same as mastery. */
.hero-panel{grid-template-columns:1.2fr .55fr .55fr .55fr 1.2fr}.mastery-stat strong{color:var(--blue)}.bar.mastery i{background:var(--green)}.mastery-line{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:13px;color:var(--muted)}.mastery-line strong{font-family:Georgia,serif;color:var(--green)}.task-status{display:grid;gap:7px;justify-items:start}.task-status button{white-space:nowrap}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.status-new{background:#f2f0ea;color:#756c62}.status-learned{background:var(--blue-soft);color:#2e6fae}.status-review{background:var(--yellow-soft);color:#8d650e}.status-mastered{background:var(--green-soft);color:#397d36}.mastery-button{background:var(--green-soft)!important;color:#397d36!important}.needs-review{background:var(--yellow-soft)!important;color:#8d650e!important}.total-progress span{display:inline-block;margin-top:12px}.total-progress span:first-child{margin-top:0}.total-progress .bar{margin-bottom:10px}.review-item button{background:var(--green-soft);border-color:#c9dfc2;color:#397d36}
@media(min-width:1201px){.hero-panel{grid-template-columns:1.25fr .52fr .52fr .52fr 1.25fr}.hero-art{width:110px;height:140px}.hero-copy h2{font-size:32px}.hero-copy h2 b{font-size:48px}}
@media(max-width:1050px){.hero-panel{grid-template-columns:1fr 1fr}.hero-intro,.subject-progress{grid-column:span 2}.task-row{grid-template-columns:145px minmax(0,1fr) 75px 130px 46px}}
@media(max-width:760px){.task-status{grid-column:1}.hero-panel{display:block}.hero-stat{margin-top:12px}}

.task-row{grid-template-columns:170px minmax(0,1fr) 100px 150px 52px}.task-main em{display:block;margin-top:7px;font-size:12px;color:#9a9186;font-style:normal}.weak-button{background:var(--blue-soft)!important;color:#2e6fae!important}.weak-stats-panel{margin-top:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,#fff,#f7fbff);padding:22px 26px}.weak-stats-panel h3,.weak-stats-block h3{margin:8px 0 14px}.weak-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.weak-stat{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.78);padding:14px 16px}.weak-stat span{display:block;color:var(--muted);font-size:13px}.weak-stat strong{display:block;margin-top:8px;font:700 28px Georgia,serif;color:var(--purple)}.weak-stats-block{margin-top:18px;padding:18px;border:1px solid #d8e4f7;border-radius:14px;background:#f7fbff}.weak-card{margin-top:18px}.weak-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}.weak-form label,.weak-filter-row label{display:grid;gap:7px;font-weight:700;color:#554c43}.weak-form input,.weak-form select,.weak-form textarea,.weak-filter-row select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;outline:none}.weak-form input:focus,.weak-form select:focus,.weak-form textarea:focus,.weak-filter-row select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,173,25,.14)}.weak-form .wide{grid-column:1/-1}.weak-form button{justify-self:start}.weak-filter-row{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0 10px}.weak-filter-row label{min-width:190px}.weak-point-list{display:grid;gap:12px;margin-top:14px}.weak-point-item{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px}.weak-point-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.weak-point-head strong{font-size:16px}.weak-point-item p{margin:12px 0;color:#4d453d;line-height:1.7}.weak-point-item small{display:block;margin-top:10px;color:var(--muted);line-height:1.6}.weak-point-meta{display:flex;flex-wrap:wrap;gap:8px}.weak-point-meta span{border-radius:999px;background:#f4f1ea;color:#6c6257;padding:5px 9px;font-size:12px}.weak-status{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.weak-status-pending{background:var(--yellow-soft);color:#8d650e}.weak-status-once{background:var(--blue-soft);color:#2e6fae}.weak-status-twice{background:#efeaff;color:#6450aa}.weak-status-mastered{background:var(--green-soft);color:#397d36}.weak-point-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.weak-point-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;cursor:pointer}.weak-point-actions button:hover{background:var(--green-soft);border-color:#c9dfc2;color:#397d36}.weak-point-actions .danger-link{color:#b14b3d}.weak-point-actions .danger-link:hover{background:#fff0ed;border-color:#f0cac4;color:#b14b3d}#weakPointSaveMessage{font-size:13px;color:var(--green);align-self:center}.review-question-panel{margin-top:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:22px 26px}.review-question-panel p{margin:10px 0;color:var(--muted)}

@media(max-width:980px){.weak-stats{grid-template-columns:repeat(2,1fr)}.weak-form{grid-template-columns:1fr}.task-row{grid-template-columns:150px minmax(0,1fr) 88px 140px 52px}}

@media(max-width:760px){.weak-stats{grid-template-columns:1fr}.weak-stats-panel,.review-question-panel{padding:18px}.weak-filter-row{display:grid}.weak-point-head{display:grid}.task-row{grid-template-columns:1fr 44px}.task-status button{white-space:normal;text-align:left}}

.strategy-card{margin-top:12px;border:1px solid #dce8f7;border-radius:14px;background:#f8fbff;padding:12px 14px}.strategy-topline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}.strategy-badge{display:inline-flex;border-radius:999px;background:var(--blue-soft);color:#2e6fae;padding:6px 10px;font-size:12px;font-weight:800}.child-prompt{margin:10px 0;color:#4c5f75;line-height:1.6}.thinking-box{border-radius:12px;background:#fff;padding:10px 12px;margin-top:10px}.thinking-box strong,.parent-guide strong{display:block;margin-bottom:6px;color:#4c4035}.strategy-card ul{margin:0;padding-left:18px;color:#61584f;line-height:1.7}.parent-guide{margin-top:10px;border-top:1px dashed #cdddf0;padding-top:10px}.parent-guide summary{cursor:pointer;color:#7b5a11;font-weight:800}.parent-guide p{color:#5e554c;line-height:1.7}.demo-button{border:0;border-radius:999px;background:var(--yellow-soft);color:#825c08;padding:7px 11px;cursor:pointer}.mastery-feedback{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;border-radius:12px;background:#fff8e5;padding:10px 12px}.mastery-feedback span{font-size:13px;color:#796c5c}.feedback-button{border:1px solid var(--line);border-radius:999px;background:#fff;color:#62584f;padding:7px 10px;cursor:pointer}.feedback-button.active,.feedback-button:hover{background:var(--green-soft);border-color:#c9dfc2;color:#397d36}.visual-aid-panel{margin:18px 0 0;border:1px solid #d8e4f7;border-radius:18px;background:linear-gradient(120deg,#f8fbff,#fffef9);padding:22px 26px;box-shadow:0 10px 26px rgba(76,112,157,.08)}.visual-aid-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.visual-aid-heading h3{margin:6px 0 0;font-size:24px}.visual-aid-panel>p{color:var(--muted);line-height:1.7}.demo-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0}.demo-controls label{display:grid;gap:8px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;color:#5b5148;font-weight:700}.demo-controls input{width:100%;accent-color:var(--green)}.demo-controls strong{font-family:Georgia,serif;color:var(--green);font-size:22px}.demo-ball{display:inline-block;width:18px;height:18px;border-radius:999px;background:linear-gradient(145deg,#ffd45e,#f4ad19);box-shadow:inset 0 -2px 4px rgba(132,87,0,.18);margin:3px}.remainder-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px}.plates{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.plate,.remainder-box{border:2px dashed #d7c69b;border-radius:14px;background:#fffdf8;padding:12px;min-height:86px}.plate b,.remainder-box b{display:block;margin-bottom:8px;color:#7b5a11}.remainder-box{border-color:#e0a976;background:#fff7ee}.demo-formula{font-size:22px;font-weight:800;color:#397d36}.demo-question{border-left:4px solid var(--yellow);padding:10px 12px;background:#fffaf0;border-radius:10px;color:#6b5d4a}.bar-model{display:grid;gap:16px;margin-top:16px}.bar-model>div{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:12px}.unit-bar,.bar-track span{display:inline-flex;align-items:center;justify-content:center;height:34px;border-radius:10px;background:var(--blue);color:#fff;font-weight:800;min-width:34px}.bar-track{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.bar-track span{background:linear-gradient(135deg,#4c8fd8,#77b56d)}.area-grid{display:grid;gap:4px;margin:18px 0;width:max-content;max-width:100%;overflow:auto;border:1px solid #d8e4f7;border-radius:14px;background:#fff;padding:12px}.area-grid span{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#eaf3ff,#edf7e8);color:#397d36;font-size:12px;font-weight:800}

@media(max-width:980px){.task-row{grid-template-columns:140px minmax(0,1fr) 76px 150px 48px}.demo-controls,.remainder-layout{grid-template-columns:1fr}}

@media(max-width:760px){.visual-aid-panel{padding:18px}.visual-aid-heading{align-items:flex-start;flex-direction:column}.demo-controls{grid-template-columns:1fr}.bar-model>div{grid-template-columns:1fr}.mastery-feedback{align-items:flex-start;flex-direction:column}.feedback-button{width:100%;text-align:left}}

.rhythm-panel{margin:22px 0 8px;border:1px solid #d8e4f7;border-radius:18px;background:linear-gradient(120deg,#f8fbff,#fffdf8);padding:22px 26px;box-shadow:0 10px 26px rgba(76,112,157,.08)}.rhythm-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.rhythm-heading h2{margin:6px 0 6px}.rhythm-heading p{margin:0;color:var(--muted);line-height:1.6}.rhythm-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.rhythm-item{display:grid;gap:7px;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;cursor:pointer;color:var(--ink)}.rhythm-item:hover{border-color:#c9dfc2;background:var(--green-soft)}.rhythm-item.done{opacity:.68}.rhythm-time{display:inline-flex;width:max-content;border-radius:999px;background:var(--yellow-soft);color:#825c08;padding:5px 9px;font-size:12px;font-weight:800}.rhythm-item strong{font-size:15px}.rhythm-item small,.rhythm-item em{color:var(--muted);font-size:12px;line-height:1.55;font-style:normal}.schedule-note{display:grid;gap:5px;margin-top:10px;border-left:4px solid #d8e4f7;border-radius:10px;background:#f8fbff;padding:9px 11px}.schedule-note span{color:#2e6fae;font-weight:800;font-size:12px}.schedule-note small{color:#5d6670;line-height:1.5}.task-focus{outline:3px solid rgba(244,173,25,.55);outline-offset:-3px;background:#fffaf0}

@media(max-width:980px){.rhythm-list{grid-template-columns:repeat(2,1fr)}}

@media(max-width:760px){.rhythm-panel{padding:18px}.rhythm-heading{align-items:flex-start;flex-direction:column}.rhythm-list{grid-template-columns:1fr}}

.quest-panel{margin:22px 0;border:1px solid #eadfbe;border-radius:22px;background:linear-gradient(135deg,#fffaf0,#f7fbff);padding:24px 28px;box-shadow:var(--shadow)}.quest-card,.quest-summary{max-width:880px;margin:0 auto}.quest-topline{display:flex;align-items:center;justify-content:space-between;gap:14px}.quest-step{display:inline-flex;border-radius:999px;background:var(--yellow);color:#fff;padding:7px 12px;font-weight:800;font-size:13px}.quest-card h2,.quest-summary h2{font-size:30px;margin:18px 0 12px}.quest-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.quest-meta span{border-radius:999px;background:#fff;color:#6c6257;border:1px solid var(--line);padding:6px 10px;font-size:13px;font-weight:700}.quest-reason{border-left:4px solid var(--green);border-radius:12px;background:#f5fbf2;padding:12px 14px;color:#4f6d4c;line-height:1.7}.quest-strategy{margin-top:16px;background:#fff}.quest-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.quest-bottom-actions{position:sticky;bottom:14px;z-index:5;border:1px solid #eadfbe;border-radius:16px;background:rgba(255,253,248,.96);box-shadow:0 10px 28px rgba(98,78,42,.12);padding:12px}.quest-bottom-actions .primary-button{font-weight:900;min-width:150px}.quest-feedback{margin-top:16px;border:1px solid var(--line);border-radius:16px;background:#fffdf8;padding:16px}.quest-feedback h3{margin:0 0 12px}.quest-feedback-later summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:#594d40;font-weight:900}.quest-feedback-later summary span{border-radius:999px;background:var(--yellow-soft);color:#825c08;padding:5px 9px;font-size:12px}.quest-feedback-later[open] summary{margin-bottom:12px}.quest-feedback-note{margin:0 0 12px;border-radius:12px;background:#fff8e5;padding:10px 12px;color:#675d51;line-height:1.7}.quest-feedback-note strong{display:block;color:#7b5a11}.quest-feedback-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quest-feedback button{border:1px solid var(--line);border-radius:14px;background:#fff;color:#62584f;padding:12px;text-align:left;cursor:pointer}.quest-feedback button strong,.quest-feedback button span,.quest-feedback button em{display:block}.quest-feedback button strong{color:#4c4035}.quest-feedback button span{margin-top:7px;line-height:1.6}.quest-feedback button em{margin-top:8px;color:#7b5a11;font-style:normal;font-weight:800}.quest-feedback button.active,.quest-feedback button:hover{background:var(--green-soft);border-color:#c9dfc2;color:#397d36}.quest-next-hint{margin:12px 0 0;color:#7b6b56;font-size:13px}.quest-rest{margin-top:16px;border-left:4px solid var(--yellow);border-radius:12px;background:#fffaf0;padding:12px 14px}.quest-rest p{margin:0;color:#675d51;line-height:1.7}.quest-encourage{font-size:18px;line-height:1.8;color:#4f6d4c;background:var(--green-soft);border-radius:16px;padding:14px 16px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.summary-grid div{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px}.summary-grid span{display:block;color:var(--muted);font-size:13px}.summary-grid strong{display:block;margin-top:8px;font:700 28px Georgia,serif;color:var(--green)}.quest-summary h3{margin:18px 0 8px}.quest-summary p{color:#5f564d;line-height:1.8}.revive-note{border-left:4px solid var(--yellow);background:#fffaf0;border-radius:12px;padding:12px 14px}

@media(max-width:760px){.quest-panel{padding:20px 16px}.quest-topline{align-items:flex-start;flex-direction:column}.quest-card h2,.quest-summary h2{font-size:24px}.summary-grid{grid-template-columns:repeat(2,1fr)}.quest-feedback-options{grid-template-columns:1fr}.quest-feedback button,.quest-actions button{width:100%}.quest-actions button{text-align:center}}

.parent-judge{align-self:stretch;border-left:1px solid var(--line);background:#fffdf8;padding:12px 12px 12px 14px}.parent-judge .judge-label{display:inline-flex;border-radius:999px;background:#efeaff;color:#6450aa;padding:5px 9px;font-size:12px;font-weight:900}.parent-judge small{display:block;color:#7b6b56;line-height:1.55}.parent-judge .status-pill{margin:3px 0}.revival-panel,.trial-feedback-panel{margin-top:20px;border:1px solid #eadfbe;border-radius:18px;background:linear-gradient(120deg,#fffdf8,#f7fbff);padding:22px 26px;box-shadow:0 8px 24px rgba(94,74,38,.05)}.revival-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.revival-heading h2,.trial-feedback-panel h3{margin:6px 0 8px}.revival-heading p,.trial-feedback-panel p{margin:0;color:var(--muted);line-height:1.7}.revival-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.revival-item{display:grid;gap:7px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px}.revival-item span{width:max-content;border-radius:999px;background:var(--yellow-soft);color:#825c08;padding:5px 9px;font-size:12px;font-weight:900}.revival-item strong{color:#3f362e}.revival-item small{color:var(--muted);line-height:1.55}.revival-item button{justify-self:start;border:1px solid #c9dfc2;border-radius:10px;background:var(--green-soft);color:#397d36;padding:8px 11px;cursor:pointer}.weak-revival span{background:var(--blue-soft);color:#2e6fae}.trial-feedback-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.trial-feedback-form label{display:grid;gap:7px;color:#554c43;font-weight:700}.trial-feedback-form input,.trial-feedback-form select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;outline:none}.trial-feedback-form input:focus,.trial-feedback-form select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,173,25,.14)}#trialFeedbackSaveMessage{align-self:center;color:var(--green);font-size:13px}
.exploration-items{margin-top:12px;border:1px solid #dce8f7;border-radius:16px;background:linear-gradient(120deg,#f8fbff,#fffdf8);padding:15px}.exploration-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.exploration-heading strong{color:#2e6fae}.exploration-heading span{border-radius:999px;background:var(--green-soft);color:#397d36;padding:5px 9px;font-size:12px;font-weight:900}.exploration-items>p{margin:10px 0;color:#5f6f81;line-height:1.65}.exploration-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.exploration-steps span{border:1px solid #dce8f7;border-radius:999px;background:#fff;padding:8px 10px;color:#5c6f82;font-size:12px;font-weight:800;text-align:center}.exploration-grid{display:grid;gap:12px}.exploration-card{border:1px solid #dce8f7;border-radius:16px;background:#fff;padding:14px}.exploration-card.correct{border-color:#c9dfc2;background:var(--green-soft)}.exploration-card.retry{border-color:#ecd08b;background:#fffaf0}.exploration-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.exploration-card-head strong{color:#3f362e}.exploration-card-head span{border-radius:999px;background:#fff;color:#397d36;padding:5px 9px;font-size:12px;font-weight:900}.exploration-card p{margin:8px 0 12px;color:#687784;line-height:1.6}.dot-groups{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0 14px}.dot-group{display:inline-flex;gap:5px;border:1px solid #eadfbe;border-radius:999px;background:#fffaf0;padding:8px 10px}.dot-group i{display:block;width:13px;height:13px;border-radius:999px;background:linear-gradient(145deg,#ffd45e,#f4ad19);box-shadow:inset 0 -2px 3px rgba(132,87,0,.18)}.exploration-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.exploration-fields label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px}.exploration-fields label.correct{border-color:#c9dfc2;background:#f5fbf2}.exploration-fields label.retry{border-color:#ecd08b;background:#fff8e5}.exploration-fields span,.exploration-fields em{color:#6b6258;font-size:12px;font-style:normal;font-weight:800}.exploration-fields input{min-width:0;width:100%;border:0;border-bottom:1px solid #dfd6c7;background:transparent;padding:5px;outline:none;font-weight:900;color:#3f362e}.exploration-fields input:focus{border-bottom-color:var(--blue)}

@media(max-width:980px){.revival-list,.trial-feedback-form,.exploration-steps,.exploration-fields{grid-template-columns:1fr}.parent-judge{border-left:0;border-top:1px solid var(--line)}}

.acceleration-card{margin-top:12px;border:1px solid #e6d7ad;border-radius:16px;background:linear-gradient(120deg,#fffaf0,#f7fbff);padding:15px}.acceleration-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.acceleration-heading strong{color:#7b5a11}.acceleration-heading span{border-radius:999px;background:#fff;color:#397d36;border:1px solid #c9dfc2;padding:5px 9px;font-size:12px;font-weight:900}.acceleration-note{margin:10px 0;border-radius:12px;background:#fff;padding:10px 12px;color:#5f6f62;line-height:1.65}.acceleration-section{margin-top:10px;border:1px solid #eadfbe;border-radius:14px;background:#fff;padding:12px 14px}.acceleration-section strong{display:block;margin-bottom:7px;color:#4c4035}.acceleration-section ul{margin:0;padding-left:18px;color:#61584f;line-height:1.7}.acceleration-branches{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.acceleration-branches div{border:1px solid #dce8f7;border-radius:14px;background:#fff;padding:12px}.acceleration-branches strong{display:block;color:#2e6fae;margin-bottom:6px}.acceleration-branches p{margin:0;color:#5f6f81;line-height:1.65}

@media(max-width:980px){.acceleration-branches{grid-template-columns:1fr}}

.learning-mode-panel{display:grid;grid-template-columns:minmax(0,1fr) 1.6fr;gap:18px;align-items:center;margin:18px 0 20px;border:1px solid #d8e4f7;border-radius:18px;background:linear-gradient(120deg,#f8fbff,#fffdf8);padding:18px 20px;box-shadow:0 8px 24px rgba(76,112,157,.07)}.learning-mode-panel h2{margin:4px 0 6px}.learning-mode-panel p{margin:0;color:var(--muted);line-height:1.7}.learning-mode-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.learning-mode-options button{border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;text-align:left;color:#574d43;cursor:pointer}.learning-mode-options button strong,.learning-mode-options button span{display:block}.learning-mode-options button span{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}.learning-mode-options button.active{border-color:#c9dfc2;background:var(--green-soft);box-shadow:0 8px 18px rgba(77,145,69,.11)}.learning-mode-options button.active strong{color:#397d36}.quest-mode-note{margin:14px 0 0;border-radius:12px;background:#fff8e5;color:#675d51;line-height:1.7;padding:11px 13px}.quest-mode-note strong{color:#7b5a11}

@media(max-width:980px){.learning-mode-panel{grid-template-columns:1fr}.learning-mode-options{grid-template-columns:1fr}}

.math-lab-card{max-width:1180px}.math-lab-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0}.math-lab-controls label{display:grid;gap:7px;min-width:220px;color:#554c43;font-weight:800}.math-lab-controls select{border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;outline:none}.math-lab-controls select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,173,25,.14)}.math-resource-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d8e4f7;border-radius:18px;background:linear-gradient(120deg,#f8fbff,#fffdf8);padding:18px 20px;margin-top:16px}.math-resource-hero h3{margin:5px 0 8px;font-size:28px}.math-resource-hero p{margin:0;color:var(--muted)}.math-resource-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:18px}.math-resource-grid>section,.printable-paper-block,.summer-checklist{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px}.math-resource-grid h3,.printable-paper-block h3{margin:0 0 14px}.mind-map{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;align-items:center;border-radius:18px;background:#fffaf0;padding:16px}.mind-map-center{display:grid;place-items:center;text-align:center;min-height:150px;border:2px solid #f0d38a;border-radius:999px;background:#fff}.mind-map-center strong{font-size:22px;color:#7b5a11}.mind-map-center span{font-size:12px;color:var(--muted)}.mind-map-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mind-map-branches article{display:flex;align-items:center;gap:10px;border:1px solid #eadfbe;border-radius:14px;background:#fff;padding:11px}.mind-map-branches b{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:999px;background:var(--green);color:#fff}.math-lab-content details{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}.math-lab-content summary{cursor:pointer;color:#7b5a11;font-weight:900}.math-lab-content textarea{width:100%;min-height:120px;margin-top:8px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;padding:12px;color:#4d453d;line-height:1.6}.game-card{border:1px solid #dce8f7;border-radius:16px;background:#f8fbff;padding:16px}.game-card strong{display:block;color:#2e6fae;font-size:19px}.game-card p,.game-card small{color:#5f6f81;line-height:1.7}.game-card ul{padding-left:18px;line-height:1.8}.paper-preview{border:1px solid #bdb4a6;border-radius:10px;background:#fff;padding:20px;color:#25211c}.paper-title{text-align:center;border-bottom:2px solid #3d352d;margin-bottom:14px}.paper-title h3{margin:0 0 8px;font-size:23px}.paper-title p{margin:0 0 12px;color:#5f564d}.paper-difficulty{border:1px solid #d7c69b;border-radius:10px;background:#fffdf8;padding:10px 12px;color:#6b5d4a}.paper-section{margin-top:16px}.paper-section h4{margin:0 0 10px;font-size:17px}.paper-section li{margin-bottom:14px;line-height:1.75}.answer-line{display:block;border-bottom:1px solid #9f9587;height:24px;margin-top:8px}.paper-more{color:var(--muted);font-size:13px}.summer-checklist{margin-top:12px}.summer-checklist>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.summer-checklist strong{font-size:18px;color:#397d36}.summer-checklist span{border-radius:999px;background:var(--green-soft);color:#397d36;padding:5px 9px;font-size:12px;font-weight:900}.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.checklist-grid label{border:1px solid var(--line);border-radius:12px;background:#fffdf8;padding:10px;color:#554c43;font-weight:700}

@media(max-width:980px){.math-resource-grid,.mind-map{grid-template-columns:1fr}.mind-map-branches,.checklist-grid{grid-template-columns:1fr}.math-resource-hero{align-items:flex-start;flex-direction:column}.math-lab-controls label{min-width:0;width:100%}}
.summer-plan-image{display:block;width:100%;max-height:520px;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:#fff;margin:14px 0}
.paper-answers{margin-top:18px;border-top:2px dashed #bdb4a6;padding-top:12px}.paper-answers summary{cursor:pointer;font-weight:900;color:#7b5a11}.paper-answers li{margin-top:10px;line-height:1.75;color:#4d453d}
.paper-variant-question{border-left:3px solid #d7c69b;padding-left:10px;color:#5d5144;background:#fffdf8}

/* Flexible learning flow: choose any day and any task without a forced sequence. */
.day-navigation{display:grid;gap:10px;min-width:min(100%,560px)}
.day-stepper{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:end;gap:8px}
.day-stepper>button,.direct-day-jump button{min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#655d55;padding:9px 13px;cursor:pointer;font-weight:800}
.day-stepper>button:hover,.direct-day-jump button:hover{border-color:#c9dfc2;background:var(--green-soft);color:#397d36}
.direct-day-jump{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font-size:13px}
.direct-day-jump input{width:72px;min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 10px;text-align:center;font-weight:900;color:var(--ink);outline:none}
.direct-day-jump input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,173,25,.14)}
.task-choice-heading{align-items:center;margin-top:24px}
.task-choice-heading p{margin:7px 0 0;color:var(--muted);font-size:13px}
.task-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0;border-radius:0;background:transparent;overflow:visible;box-shadow:none}
.task-choice-grid[hidden],.task-choice-heading[hidden],.revival-panel[hidden]{display:none!important}
.task-choice-card{display:flex;min-width:0;min-height:222px;flex-direction:column;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:8px;background:var(--paper);padding:16px;box-shadow:0 8px 20px rgba(94,74,38,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.task-choice-card:hover{transform:translateY(-2px);border-color:#d7c99e;box-shadow:0 12px 24px rgba(94,74,38,.1)}
.task-choice-card[data-subject="math"]{border-top-color:var(--blue)}
.task-choice-card[data-subject="review"]{border-top-color:var(--yellow)}
.task-choice-card[data-subject="express"]{border-top-color:#77b56d}
.task-choice-card.done{background:#fbfdf9}
.task-choice-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}
.task-choice-subject{font-size:13px;font-weight:900;color:#665b50}
.task-choice-title{display:block;margin-top:16px;font-size:18px;line-height:1.5}
.task-choice-card>p{margin:8px 0 12px;color:var(--muted);font-size:13px;line-height:1.65}
.task-choice-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.task-choice-meta span{border-radius:999px;background:#f4f1ea;color:#6c6257;padding:5px 9px;font-size:12px;font-weight:700}
.task-choice-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.task-open-button{min-height:40px;border:0;border-radius:8px;background:var(--green);color:#fff;padding:9px 16px;cursor:pointer;font-weight:900}
.task-choice-card[data-subject="math"] .task-open-button{background:#397fc5}
.task-quick-check{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}
.task-quick-check input{width:20px;height:20px;accent-color:var(--green)}
.parent-options-panel{display:block;margin:18px 0 0;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none}
.parent-options-panel[hidden]{display:none}
.parent-options-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;cursor:pointer;color:#62584f;font-weight:800;list-style-position:inside}
.parent-options-panel>summary strong{color:var(--green);font-size:13px}
.parent-options-panel[open]>summary{border-bottom:1px solid var(--line);background:#fffdf8}
.learning-mode-body{display:grid;grid-template-columns:minmax(0,1fr) 1.6fr;gap:18px;align-items:center;padding:18px 20px}
.parent-options-panel .rhythm-heading{padding:18px 20px 0}
.parent-options-panel .rhythm-list{padding:0 20px 20px}
.quest-task-switcher{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:16px 0}
.quest-task-switcher button{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;min-width:0;min-height:62px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;text-align:left;color:#665d54;cursor:pointer}
.quest-task-switcher button>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#f2f0ea;font-weight:900}
.quest-task-switcher button strong,.quest-task-switcher button small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quest-task-switcher button strong{font-size:13px}
.quest-task-switcher button small{font-size:11px;color:var(--muted)}
.quest-task-switcher button.active{border-color:#a9cfa1;background:var(--green-soft);color:#397d36;box-shadow:0 0 0 2px rgba(78,155,69,.12)}
.quest-task-switcher button.done:not(.active){opacity:.64}
@media(max-width:1100px){.task-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quest-task-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.progress-select-panel{gap:14px}.day-navigation{width:100%;min-width:0}.day-stepper{grid-template-columns:auto minmax(0,1fr) auto}.day-stepper>button{padding:9px}.day-select-label{width:auto}.direct-day-jump{justify-content:flex-start}.task-choice-heading{align-items:flex-start}.task-choice-heading>button{width:100%}.task-choice-grid{grid-template-columns:1fr}.task-choice-card{min-height:0}.task-choice-actions{align-items:flex-start}.learning-mode-body{grid-template-columns:1fr}.quest-task-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}.quest-task-switcher button{grid-template-columns:24px 1fr;column-gap:6px;padding:7px}.quest-task-switcher button>span{width:24px;height:24px}.parent-options-panel>summary{align-items:flex-start}}
.mind-map-zoom-trigger{position:relative;display:block;width:100%;margin:0 0 14px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0;overflow:hidden;cursor:zoom-in;box-shadow:0 8px 24px rgba(94,74,38,.06)}.mind-map-zoom-trigger:focus-visible{outline:3px solid rgba(244,173,25,.38);outline-offset:3px}.mind-map-zoom-trigger>span{position:absolute;right:12px;bottom:12px;border-radius:8px;background:rgba(24,59,50,.9);color:#fff;padding:8px 12px;font-size:13px;font-weight:800;box-shadow:0 4px 12px rgba(24,59,50,.22)}.mind-map-image{display:block;width:100%;background:#fff;transition:transform .2s ease}.mind-map-zoom-trigger:hover .mind-map-image{transform:scale(1.015)}.mind-map-viewer{width:96vw;max-width:none;height:94vh;max-height:none;margin:auto;border:0;border-radius:8px;background:#f3f5f3;padding:0;overflow:hidden;box-shadow:0 24px 80px rgba(20,35,31,.38)}.mind-map-viewer::backdrop{background:rgba(20,28,26,.76)}.mind-map-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}.mind-map-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;border-bottom:1px solid #d9dedb;background:#fff;padding:10px 14px 10px 20px}.mind-map-viewer>header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#244c41}.mind-map-viewer>header button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:0;border-radius:8px;background:#eef3ef;color:#244c41;font-size:28px;line-height:1;cursor:pointer}.mind-map-viewer>header button:hover{background:#dfeae2}.mind-map-viewer-canvas{min-height:0;overflow:auto;padding:20px;text-align:center}.mind-map-viewer-canvas img{display:block;width:min(1536px,150vw);max-width:none;height:auto;margin:0 auto;background:#fff;box-shadow:0 6px 28px rgba(20,35,31,.16)}
.playable-game{border:1px solid #dce8f7;border-radius:16px;background:#f8fbff;padding:16px}.playable-game-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.playable-game-head strong{display:block;color:#2e6fae;font-size:19px}.playable-game-head p{margin:7px 0 0;color:#5f6f81;line-height:1.7}.playable-game-head span{flex:0 0 auto;border-radius:999px;background:#eaf3ff;color:#2e6fae;padding:6px 10px;font-size:12px;font-weight:900}.game-round-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.game-round-tabs button{border:1px solid #cfe0f4;border-radius:999px;background:#fff;color:#3d6f9d;padding:7px 11px;cursor:pointer}.game-round-tabs button.active{background:#2e6fae;color:#fff;border-color:#2e6fae}.sorting-game header h4{margin:4px 0 6px;font-size:18px}.sorting-game header p{margin:0;color:#5f6f81;line-height:1.7}.sorting-bank,.sorting-drop-list{display:flex;flex-wrap:wrap;gap:9px}.sorting-bank{min-height:86px;margin:14px 0;padding:12px;border:1px dashed #bad1ec;border-radius:14px;background:#fff}.sort-token{display:inline-flex;align-items:center;gap:8px;border:1px solid #e0d7c8;border-radius:12px;background:#fffdf8;color:#40362c;padding:9px 11px;cursor:pointer;box-shadow:0 4px 10px rgba(94,74,38,.05)}.sort-token b{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:var(--yellow-soft);color:#8d650e}.sort-token.selected{outline:3px solid rgba(244,173,25,.28);border-color:var(--yellow)}.sort-token.is-correct{border-color:#8fc785;background:#f4fbf1}.sort-token.is-wrong{border-color:#d67262;background:#fff3f1}.sorting-buckets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sorting-bucket{min-height:150px;border:1px solid #d8e4f7;border-radius:14px;background:#fff;padding:12px}.sorting-bucket h5{margin:0 0 4px;font-size:16px;color:#2e6fae}.sorting-bucket small{display:block;color:var(--muted);line-height:1.5}.sorting-drop-list{min-height:76px;margin-top:10px;align-content:flex-start}.sorting-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.sorting-feedback{margin-top:12px;border-radius:12px;background:#fff;padding:11px 12px;color:#40556c;line-height:1.7}.sorting-reflection{margin:12px 0 0;color:#6b5d4a;line-height:1.7}
.quiz-card-list{display:grid;gap:12px;margin-top:14px}.quiz-card{border:1px solid #d8e4f7;border-radius:14px;background:#fff;padding:13px}.quiz-card h4{margin:0 0 8px;color:#2e6fae}.quiz-card p{margin:0 0 10px;line-height:1.65;color:#3d342b}.quiz-options{display:grid;gap:8px}.quiz-options button{border:1px solid var(--line);border-radius:12px;background:#fffdf8;color:#40362c;text-align:left;padding:10px 12px;cursor:pointer}.quiz-options button:hover,.quiz-options button.selected{border-color:var(--yellow);background:var(--yellow-soft)}.quiz-card.is-correct{border-color:#8fc785;background:#f4fbf1}.quiz-card.is-wrong{border-color:#d67262;background:#fff3f1}.quiz-explain{display:none;margin-top:10px;color:#5f6f81;line-height:1.6}.quiz-card.is-correct .quiz-explain,.quiz-card.is-wrong .quiz-explain{display:block}
.sync-panel{border:1px solid #d8e4f7;border-radius:14px;background:#f8fbff;padding:16px}.sync-panel strong{display:block;color:#2e6fae;font-size:18px}.sync-panel p{margin:8px 0 12px;color:#5f6f81;line-height:1.7}.file-import-button{display:inline-flex!important;width:auto!important;align-items:center;justify-content:center;border-radius:10px;background:var(--yellow-soft);color:#825c08;padding:11px 18px;cursor:pointer;font-weight:700}.file-import-button input{display:none}.sync-message{min-height:20px!important;margin:10px 0 0!important;color:#397d36!important;font-size:13px!important;font-weight:800}
@media(max-width:760px){.playable-game-head{flex-direction:column}.sorting-buckets{grid-template-columns:1fr}.sort-token{width:100%;justify-content:flex-start}}
@media(max-width:760px){.mind-map-viewer{width:100vw;height:100vh;border-radius:0}.mind-map-viewer>header{min-height:54px;padding:8px 10px 8px 14px}.mind-map-viewer-canvas{padding:12px}.mind-map-viewer-canvas img{width:180vw}.mind-map-zoom-trigger>span{right:8px;bottom:8px}}

.response-items{margin-top:12px;border:1px solid #d9e7d2;border-radius:14px;background:#f7fbf5;padding:15px}
.response-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.response-heading strong{color:#397d36}
.response-heading span{border-radius:999px;background:#fff;color:#6b7567;padding:5px 9px;font-size:12px;font-weight:800}
.response-item{display:grid;gap:8px;margin-top:10px;color:#4c4035;font-weight:800}
.response-item textarea{width:100%;min-height:82px;resize:vertical;border:1px solid #cfdcc9;border-radius:10px;background:#fff;padding:11px 12px;color:#3f362e;line-height:1.7;outline:none}
.response-item textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(91,139,82,.14)}
.practice-answer-unlock{margin-top:12px}
.hero-continue-button{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;min-height:44px;font-weight:800}.hero-continue-button[hidden]{display:none}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .response-heading{align-items:flex-start;flex-direction:column}
  .response-item textarea{min-height:96px}
  .assessment-heading{flex-direction:column}
  .assessment-grid{grid-template-columns:minmax(0,1fr)}
  .assessment-section{min-width:0}
  .assessment-section label{grid-template-columns:minmax(0,1fr) 76px}
  .practice-question{white-space:normal;overflow-wrap:anywhere}
  .task-materials,.practice-items,.response-items{min-width:0;overflow-wrap:anywhere}
}
:root{--cream:#fffdf6;--paper:#fffefb;--ink:#30271f;--muted:#81786e;--line:#eadfca;--yellow:#f4ad19;--yellow-soft:#fff4cf;--green:#4e9b45;--green-soft:#edf7e8;--blue:#4c8fd8;--blue-soft:#eaf3ff;--purple:#8765c5;--purple-soft:#f1ecfb;--shadow:0 14px 40px rgba(98,78,42,.08)}
.public-demo-note{margin-top:12px;border:1px solid #eadfbe;background:#fffaf0;border-radius:12px;padding:12px 14px;color:#7b5a11;line-height:1.5}.public-demo-note strong,.public-demo-note span{display:block}.public-demo-note span{font-size:12px;margin-top:4px;color:#756b5e}.public-demo-banner{margin:-10px 0 20px;border-left:4px solid var(--yellow);border-radius:10px;background:#fffaf0;padding:12px 16px;color:#675d51;line-height:1.65}.public-demo-banner strong{color:#7b5a11}.public-material-note{margin:12px 0;border:1px dashed #d7c69b;border-radius:14px;background:#fffaf0;padding:13px 15px;color:#675d51;line-height:1.65}.public-material-note strong{color:#7b5a11}.public-badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--green-soft);border:1px solid #c9dfc2;color:#397d36;padding:7px 10px;font-size:12px;font-weight:800}
