:root{--paper:#f5f6ef;--surface:#fff;--ink:#243e47;--muted:#596c70;--green:#286758;--soft:#e8f1dc;--line:#dbe4da;--accent:#d4e8ad;--gold:#e9ae57;--blue:#e7eff5;--radius:20px;font-family:Inter,'PingFang SC','Microsoft YaHei',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b6c97d;outline-offset:4px}a{color:var(--green);text-underline-offset:4px}button{color:inherit}h1,h2,h3,h4,p{margin:0}h1{font-size:32px;letter-spacing:-1px;font-weight:650;line-height:1.35}h2{font-size:21px;letter-spacing:-.5px;font-weight:650}h3{font-size:17px;font-weight:650}p{line-height:1.7}small{font-size:12px}.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:650;color:var(--muted)}.icon{width:20px;height:20px;flex:none;vertical-align:middle}.skip{position:fixed;left:12px;top:-60px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}
.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:33px 22px 25px;display:flex;flex-direction:column;background:#f1f4ed}.brand{display:flex;gap:11px;align-items:center;margin-bottom:37px}.brand img{height:40px;width:40px}.brand strong{display:block;font-size:21px;letter-spacing:-.9px}.brand small{font-size:11px;color:var(--muted);letter-spacing:2px}.profile-label{margin:0 11px 10px}.profile-switch{display:flex;flex-direction:column;gap:8px}.profile{display:flex;align-items:center;gap:11px;text-align:left;width:100%;border:1px solid transparent;background:transparent;padding:11px;border-radius:15px}.profile.active{background:white;border-color:var(--line);box-shadow:0 3px 12px #2c5e4c05}.avatar{height:39px;width:39px;display:grid;place-items:center;background:#dce7ce;border-radius:14px;font-weight:650;font-size:18px;color:#44623b;flex:none}.avatar.han{background:#e9e2d5;color:#836a44}.profile strong{font-size:14px}.profile small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.profile .selected-dot{width:6px;height:6px;background:var(--green);border-radius:50%;margin-left:auto}.nav{display:grid;gap:7px;margin-top:33px}.nav button{border:0;background:transparent;padding:13px 16px;display:flex;align-items:center;gap:12px;border-radius:12px;text-align:left;font-size:13px;font-weight:550;color:#768174}.nav button.active{background:#e0e9d5;color:#294e3b}.sidebar-bottom{margin-top:auto;padding:35px 10px 0}.seed-note{border-left:2px solid #b7c49c;padding-left:13px;color:#74816a;font-size:12px;line-height:1.9;margin-bottom:25px}.local-note{font-size:10px;display:flex;gap:6px;align-items:center;color:var(--muted)}.local-note .icon{width:13px;height:13px}
.workspace{padding:27px 43px 42px;max-width:1560px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:20px}.crumb{font-size:12px;color:#859184;display:flex;gap:10px;align-items:center}.crumb span:last-child{color:var(--ink)}.top-actions{display:flex;gap:13px;align-items:center;font-size:12px;color:var(--muted)}.pill{border:1px solid var(--line);border-radius:30px;padding:7px 12px;background:#fff9;font-size:11px;display:inline-flex;align-items:center;gap:6px}.pill .dot{width:5px;height:5px;border-radius:50%;background:#8aab5a}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.page-head p{font-size:13px;color:var(--muted);margin-top:8px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:5px 8px;background:#edf2e7;font-size:10px;color:#547042}.badge.blue{background:#e8eff6;color:#54798c}.badge.gold{background:#fcf0de;color:#9d793c}.btn{border:0;border-radius:10px;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;background:var(--green);color:white;text-decoration:none;line-height:1.4}.btn .icon{width:16px;height:16px}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.soft{background:#eaf0e4;color:var(--green)}.btn.ghost{background:transparent;color:var(--green);padding:6px 0}.btn.danger{background:#fff1ef;color:#a14f44;border:1px solid #f1d7d1}.btn.small{padding:8px 11px;font-size:11px}.hero{background:#e3ecd9;border-radius:var(--radius);padding:29px 32px;position:relative;overflow:hidden;min-height:234px;display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;border:1px solid #dbe5d0}.hero-copy{position:relative;z-index:1;max-width:60%}.hero .eyebrow{color:#7e8e65;margin-bottom:12px;font-size:10px}.hero h2{font-size:28px;line-height:1.45;letter-spacing:-1px;max-width:400px}.hero p{font-size:12px;margin:13px 0 21px;color:#6d7d60;max-width:370px}.hero-art{width:280px;height:195px;margin:0 5px 0 15px;flex:none}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.section-head h2{font-size:17px}.section-head p{font-size:11px;color:var(--muted)}.calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:24px}.day{border:1px solid transparent;background:transparent;border-radius:12px;padding:10px 3px;display:grid;gap:7px;place-items:center}.day .weekday{font-size:10px;color:#8d988a}.day strong{font-size:16px;font-weight:550}.day .day-dot{width:4px;height:4px;border-radius:50%;background:#cbd8bb}.day.active{background:var(--green);color:white}.day.active .weekday{color:#dce7da}.day.active .day-dot{background:#d5e7ab}.day.today:not(.active){border-color:#cbd8bb}.lesson-row{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:white;border-radius:14px;padding:19px;margin-bottom:11px}.lesson-icon{width:43px;height:46px;border-radius:13px;background:#eef2e7;color:#667d43;display:grid;place-items:center;flex:none;font-size:18px;font-weight:600}.lesson-icon.fr{background:#f9efdf;color:#ba925a}.lesson-icon.math{background:#e7eff4;color:#688ba1}.lesson-icon.bio{background:#e2efe9;color:#548a71}.lesson-info{flex:1;min-width:0}.lesson-info h3{font-size:13px;margin:6px 0}.lesson-info .eyebrow{font-size:9px;letter-spacing:.8px}.lesson-info p{font-size:11px;color:#899380}.lesson-meta{text-align:right;flex:none;display:grid;gap:9px;justify-items:end;color:var(--muted);font-size:11px}.circle-btn{background:#f4f6f0;border:0;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}.circle-btn .icon{width:15px}.done .lesson-info h3{color:#6e8569}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px}.card h3{font-size:14px;margin-bottom:15px}.card .card-caption{font-size:11px;color:var(--muted)}.progress-ring{width:117px;height:117px;margin:18px auto 14px;border-radius:50%;background:conic-gradient(var(--green) var(--value),#edf1e6 0);padding:7px}.ring-inner{background:#fff;border-radius:50%;height:100%;display:grid;align-content:center;justify-items:center}.ring-inner strong{font-size:28px;font-weight:550;line-height:1.2}.ring-inner span{font-size:10px;color:var(--muted);margin-top:6px}.mini-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:15px;margin-top:18px;text-align:center}.mini-stats>div+div{border-left:1px solid var(--line)}.mini-stats strong{font-size:17px;font-weight:600}.mini-stats small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.phrase{background:#f4f0e7;border-color:#e9e2d2}.phrase .eyebrow{font-size:9px;color:#a19071}.phrase blockquote{margin:17px 0 12px;font-family:Georgia,serif;font-size:22px;line-height:1.35;color:#736951}.phrase p{font-size:11px;color:#9b9079}.phrase .btn{margin-top:14px;color:#827352}.note-card{border:1px dashed #ccd5be;border-radius:14px;padding:15px 18px;display:flex;gap:12px;align-items:flex-start;background:#f0f4e9}.note-card .icon{color:#829568;width:17px;flex:none}.note-card p{font-size:11px;color:#7b896d}.footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:32px;padding-top:17px;color:#9aa28f;font-size:10px;gap:12px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:23px}.tabs button{padding:9px 17px;border-radius:30px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--muted)}.tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.lesson-card{margin:0;display:flex;flex-direction:column;gap:11px;min-height:230px}.lesson-card .lesson-icon{margin-bottom:4px}.lesson-card h3{font-size:15px;margin:0}.lesson-card p{font-size:11px;color:var(--muted);flex:1}.lesson-card .card-end{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);gap:10px}.lesson-card .card-end .btn{font-size:11px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.three-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:24px}.stat{border:1px solid var(--line);border-radius:16px;padding:23px;background:#fff}.stat span{font-size:11px;color:var(--muted)}.stat strong{display:block;font-size:32px;margin:10px 0 3px;font-weight:550}.stat small{color:#8b9683}.empty{padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px;background:#fff8;font-size:13px;line-height:1.9}.empty .btn{margin-top:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;gap:7px;font-size:12px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea,.answer-input{min-width:0;border:1px solid #d8e1d2;background:#fbfcf9;padding:11px 12px;border-radius:8px;color:var(--ink);width:100%}.field small{font-size:10px;color:var(--muted);line-height:1.6}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:19px}.table-wrap{overflow:auto}.timetable{width:100%;border-collapse:collapse;font-size:12px}.timetable td,.timetable th{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left}.timetable th{color:var(--muted);font-weight:500}.timetable input{border:1px solid var(--line);border-radius:7px;padding:10px;width:100%;min-width:240px;color:var(--ink)}.task-list{list-style:none;padding:0;margin:0}.task-list li{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.task-list li:last-child{border:0}.task-list li>div{flex:1;min-width:0;overflow-wrap:anywhere}.task-list small{display:block;color:var(--muted);margin-top:4px}.task-check{width:23px;height:23px;border:1px solid #cfd9c4;border-radius:7px;background:#fff;color:var(--green);flex:none}.delete-btn{border:0;background:transparent;color:#8d9c89;font-size:17px;padding:7px}.checkbox-row{display:flex;gap:10px;align-items:center;font-size:12px;line-height:1.6;margin:11px 0}.checkbox-row input{accent-color:var(--green);width:17px;height:17px;flex:none}.sources{list-style:none;padding:0;font-size:12px}.sources li{margin:15px 0}.sources small{display:block;color:var(--muted);line-height:1.7;margin-top:5px}.history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.history-row small{display:block;color:var(--muted);margin-top:5px}.bars{height:115px;display:flex;align-items:flex-end;gap:17px;margin:15px 0 26px}.bar-col{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.bar-col .bar{background:#afc48d;border-radius:5px 5px 0 0;width:75%;min-height:2px}.bar-col .bar.current{background:var(--green)}.week-row{display:flex;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);align-items:flex-start}.week-date{width:60px;flex:none;font-size:12px;font-weight:600;line-height:1.8}.week-date small{display:block;color:var(--muted);font-weight:400}.week-items{display:flex;gap:8px;flex-wrap:wrap;flex:1}.week-items button{border:1px solid var(--line);background:#f9fbf6;padding:8px 10px;border-radius:8px;font-size:11px;text-align:left}.alert{background:#fbf4e5;border:1px solid #efdfba;border-radius:12px;padding:14px 18px;font-size:12px;color:#89723f;line-height:1.7;margin-bottom:21px}.notice{font-size:11px;color:var(--muted);line-height:1.8;margin-bottom:20px}.draft{resize:vertical;min-height:200px}.wide-btns{display:flex;gap:10px;flex-wrap:wrap}.review-list{display:grid;gap:10px;margin-top:16px}.review-item{background:#f6f8f1;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:12px}.review-item small{color:var(--muted);display:block;margin-top:5px}.report-insight{font-size:13px;line-height:1.85;color:#62725c}.subtle-divider{border:0;border-top:1px solid var(--line);margin:22px 0}
dialog{width:min(860px,calc(100% - 32px));border:0;border-radius:22px;padding:0;max-height:92dvh;color:var(--ink);background:var(--paper);box-shadow:0 30px 100px #19352944}dialog::backdrop{background:#152c245c;backdrop-filter:blur(4px)}.lesson-top{display:flex;justify-content:space-between;align-items:center;padding:21px 26px;background:#fff;border-bottom:1px solid var(--line);gap:20px}.lesson-top h2{font-size:18px}.lesson-top small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.modal-close{border:0;background:#f1f5ec;width:32px;height:32px;border-radius:50%;font-size:21px}.lesson-body{padding:26px}.lesson-body p{font-size:14px;line-height:1.9}.lesson-body h3{font-size:17px;line-height:1.8;margin:20px 0}.lesson-body .zh{font-size:12px;color:#7f896f;margin-top:10px;background:#eff3e8;padding:12px 15px;border-radius:9px}.passage{font-family:Georgia,'Times New Roman',serif;font-size:18px!important;line-height:1.85!important;white-space:pre-line;background:#fff;border:1px solid var(--line);padding:23px;border-radius:14px;margin:18px 0}.lesson-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.question-progress{height:5px;background:#e0e8d8;border-radius:5px;margin-top:18px;overflow:hidden}.question-progress span{display:block;height:100%;background:#638a4d}.answer-options{display:grid;gap:11px;margin:20px 0}.option{background:#fff;border:1px solid #dbe3d4;border-radius:11px;padding:15px;text-align:left;display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.6}.option b{background:#eff3e9;border-radius:6px;min-width:27px;height:27px;display:grid;place-items:center;font-weight:500;font-size:12px}.option.selected{border-color:var(--green);background:#edf3e7}.option.correct{background:#e6f2e0;border-color:#8fb579}.option.wrong{background:#fff0eb;border-color:#d79780}.feedback{padding:18px;border-radius:12px;background:#e9f1e3;border:1px solid #d4e3c6;margin-top:20px}.feedback.wrong{background:#fff1e8;border-color:#edd2bd}.feedback h4{font-size:14px;margin-bottom:8px}.feedback p{font-size:13px}.feedback .zh{background:#ffffff66}.lesson-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding:20px 26px;background:#fff}.lesson-bottom small{font-size:11px;color:var(--muted)}.result{text-align:center;padding:30px 10px}.result .result-symbol{width:74px;height:74px;border-radius:50%;background:#e4edd6;color:#5f8541;display:grid;place-items:center;margin:0 auto 20px;font-size:32px}.result h3{font-size:25px;margin:8px 0 15px}.result p{max-width:450px;margin:auto}.result .btn{margin-top:25px}.source-details{font-size:11px;color:var(--muted);line-height:1.8;margin:15px 0}.source-details summary{cursor:pointer}.char-count{font-size:11px;color:var(--muted);text-align:right;margin-top:8px}.writing-checks{margin-top:22px}.writing-checks h4{font-size:12px}.writing-example{white-space:pre-line;margin-top:13px;font-size:13px;line-height:1.8}.storage-error{background:#fff1ea;padding:15px;color:#9b5244;font-size:12px;border-radius:12px;margin-bottom:18px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.2s;z-index:100;background:#274b3b;color:white;padding:13px 21px;border-radius:11px;box-shadow:0 6px 24px #0002;max-width:90%;font-size:12px}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.workspace{padding-left:55px;padding-right:55px}.dashboard{grid-template-columns:minmax(0,1fr) 320px}.hero{min-height:257px}.hero-art{width:325px;height:220px}}
@media(max-width:1180px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:28px 14px}.workspace{padding:26px}.dashboard{grid-template-columns:minmax(0,1fr) 255px;gap:18px}.hero{padding:25px}.hero-art{width:210px}.hero h2{font-size:25px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{max-width:62%}}
@media(max-width:960px){.dashboard{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-aside>.note-card{grid-column:1/-1}.dashboard-aside .card{margin:0}.two-col{grid-template-columns:1fr}.hero-art{width:210px}.top-actions>.muted{display:none}.three-stats{gap:10px}.stat{padding:18px}.stat strong{font-size:27px}}
@media(max-width:700px){.shell{display:block}.sidebar{height:auto;position:relative;display:block;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line);background:#f1f4ed}.brand{margin-bottom:16px;gap:9px}.brand img{width:33px;height:33px}.brand strong{font-size:19px}.brand small{font-size:9px}.profile-label,.sidebar-bottom{display:none}.profile-switch{flex-direction:row;gap:12px}.profile{padding:9px;flex:1;min-width:0}.profile strong{font-size:13px}.avatar{height:33px;width:33px;font-size:16px;border-radius:10px}.profile small{font-size:9px}.nav{position:fixed;bottom:0;left:0;right:0;display:grid;gap:1px;padding:8px 7px max(10px,env(safe-area-inset-bottom));margin:0;border-top:1px solid var(--line);background:#fcfdf9f5;backdrop-filter:blur(10px);z-index:20}.nav button{flex-direction:column;gap:4px;padding:8px 3px;font-size:9px;border-radius:9px;text-align:center}.nav .icon{width:19px;height:19px}.workspace{padding:21px 19px 95px}.topbar{margin-bottom:23px}.crumb{font-size:10px}.top-actions .pill{font-size:9px;padding:6px 9px}.page-head{margin-bottom:21px;gap:10px}.page-head p{font-size:11px;max-width:270px}.page-head .btn{font-size:10px;padding:9px 11px}h1{font-size:26px}.hero{min-height:226px;padding:23px;margin-bottom:24px}.hero-copy{max-width:72%}.hero h2{font-size:23px}.hero p{font-size:11px;margin-top:12px;max-width:220px}.hero-art{position:absolute;right:-43px;bottom:12px;width:185px;opacity:.65}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.hero .btn{font-size:11px;padding:11px 14px}.dashboard-aside{gap:13px}.card{padding:18px;border-radius:16px}.phrase blockquote{font-size:19px}.phrase p{font-size:10px}.phrase .btn{font-size:10px}.lesson-row{padding:15px 12px;gap:11px}.lesson-info h3{font-size:12px}.lesson-info p{font-size:10px}.lesson-icon{width:36px;height:39px;font-size:16px}.lesson-meta{font-size:10px}.section-head h2{font-size:16px}.calendar-strip{gap:3px}.lesson-grid{grid-template-columns:1fr 1fr;gap:11px}.lesson-card{padding:16px;min-height:230px;gap:10px}.lesson-card h3{font-size:13px;line-height:1.6}.lesson-card p{font-size:10px}.lesson-card .card-end{align-items:flex-start;flex-direction:column;gap:10px}.lesson-card .btn{width:100%}.three-stats{gap:9px}.stat{padding:15px 11px;border-radius:12px}.stat span{font-size:10px}.stat strong{font-size:25px}.stat small{font-size:9px}.form-grid{gap:15px}.field{font-size:11px}.field input,.field select{font-size:13px;padding:10px}.footer{font-size:9px;flex-wrap:wrap;line-height:1.6}.note-card{padding:13px}.lesson-body{padding:20px}.lesson-top,.lesson-bottom{padding:19px}.lesson-top h2{font-size:16px}.lesson-body p{font-size:13px}.lesson-body h3{font-size:16px}.passage{padding:17px;font-size:16px!important}.option{font-size:13px;padding:12px}.lesson-tools{flex-wrap:wrap}.lesson-bottom small{max-width:55%;line-height:1.6}dialog{max-height:94dvh;width:calc(100% - 20px);border-radius:17px}.tabs{gap:6px}.tabs button{font-size:11px;padding:8px 13px}.week-row{gap:8px}.week-date{width:50px}.history-row{font-size:11px}.history-row>span{white-space:nowrap}.report-insight{font-size:12px}#toast{bottom:94px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
#app-print-document{display:none}
@media print{
 @page{size:A4 portrait;margin:14mm}
 html,body{background:#fff!important;color:#111!important}
 body{padding:0!important;font:11pt/1.45 Arial,'Noto Sans',sans-serif!important}
 body *{visibility:hidden!important}
 #app{display:none!important}
 #app-print-document,#app-print-document *{visibility:visible!important}
 #app-print-document{display:block!important;position:static!important;width:100%!important;height:auto!important;overflow:visible!important;background:#fff!important;color:#111!important}
 .print-document-inner{width:100%;max-width:none;margin:0 auto;color:#111;font:11pt/1.45 Arial,'Noto Sans',sans-serif}
 .print-sheet-head{border-bottom:2px solid #333;padding-bottom:5mm;margin-bottom:6mm}
 .print-kicker{font-size:8pt;letter-spacing:1.3pt;font-weight:700;margin:0 0 2mm;color:#444}
 .print-sheet-head h1{font-size:21pt;line-height:1.2;margin:0 0 2mm;letter-spacing:0}
 .print-sheet-head p{margin:1.5mm 0}
 .print-note{font-size:9pt;color:#444;max-width:165mm}
 .print-days{display:block}
 .print-day{break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid #bbb;padding:4mm 0}
 .print-day h2{font-size:13pt;margin:0 0 2mm}
 .print-day ul{padding:0;margin:0;list-style:none}
 .print-day li{break-inside:avoid;border-left:2px solid #777;padding:1mm 0 2mm 3mm;margin:0 0 2mm}
 .print-task-head{display:flex;justify-content:space-between;gap:5mm}
 .print-task-head span,.print-day small,.print-rest{font-size:9pt;color:#444}
 .print-day li p{margin:1mm 0 0;font-size:10pt}
 .print-sheet-foot{border-top:1px solid #999;padding-top:3mm;margin-top:6mm;font-size:8pt;color:#555}
 .print-question{break-inside:avoid;page-break-inside:avoid;border:1px solid #aaa;padding:4mm 5mm;margin:0 0 5mm}
 .print-question-head{display:flex;justify-content:space-between;gap:5mm;font-size:8pt;color:#444;border-bottom:1px solid #ccc;padding-bottom:2mm}
 .print-question h2{font-size:12pt;line-height:1.4;margin:3mm 0}
 .print-options{padding:0;margin:2mm 0;list-style:none}
 .print-options li{margin:1mm 0}
 .print-question-visual{margin:3mm 0;padding:2mm;border:1px solid #ddd;break-inside:avoid}
 .print-question-visual strong{display:block;font-size:9pt;margin-bottom:1mm}
 .print-question-visual svg{display:block;width:100%;max-height:53mm;object-fit:contain}
 .print-question-visual figcaption{font-size:8pt;line-height:1.35;color:#444;margin-top:1mm}
 .print-answer-space{display:grid;gap:6mm;margin-top:4mm}
 .print-answer-space strong{font-size:9pt}
 .print-answer-space span{height:4mm;border-bottom:1px solid #aaa}
}

.lesson-icon.zh{background:#f3e7e0;color:#ab775e}.hanzi-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.hanzi-card{display:grid;place-items:center;gap:7px;padding:16px 10px;background:#fff;border:1px solid var(--line);border-radius:12px}.hanzi-card strong{font-family:KaiTi,STKaiti,serif;font-size:35px;font-weight:500;color:#8b5d46}.hanzi-card small{color:#8b776c;font-size:14px}.hanzi-card span{font-size:11px;color:var(--muted)}.writing-pad{margin:20px 0}.writing-pad canvas{display:block;max-width:100%;width:100%;aspect-ratio:2/1;border:1px solid #decfc4;border-radius:12px;background:white;touch-action:none}.writing-pad .wide-btns{margin:12px 0}.parent-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.parent-summary p{font-size:12px;line-height:1.9}.hero-copy{max-width:65%}.hero h2{font-size:28px}.page-head p{line-height:1.7}.lesson-info h3{line-height:1.5}.topbar .pill{white-space:nowrap}@media(max-width:700px){.hero h2{font-size:23px}.hero-copy{max-width:86%}.hero-art{opacity:.25;right:-53px}.hero p{max-width:270px}.hero{min-height:265px}.parent-summary{grid-template-columns:1fr}.hanzi-cards{grid-template-columns:repeat(2,1fr)}.lesson-meta{max-width:65px}.lesson-info .eyebrow{font-size:8px}.page-head{flex-wrap:wrap}.lesson-info p{line-height:1.6}.lesson-top h2{overflow-wrap:anywhere}.nav button{font-size:8px}.ring-inner span{font-size:8px;text-align:center}.mini-stats small{font-size:9px}}
/* A calm field-guide adventure, with original companions and finite collections. */
.hero{background:linear-gradient(115deg,#e5efd4,#d9ece6);border:1px solid #b9cfb7;box-shadow:0 5px 0 #c9d7c640}.hero-copy{position:relative;z-index:1}.hero .buddy-art{height:218px;width:290px;flex-shrink:0}.hero h2{color:#244c48}.btn{min-height:42px}.nav button{min-height:44px}.nav button.active{background:#d9e8bf;box-shadow:inset 3px 0 #4d7956}.brand small{font-size:9px;letter-spacing:1.1px}.avatar.hao{background:#d8ebf2;color:#335e71}.avatar.han{background:#dfedc9;color:#48664b}.checkin-panel{background:#fffef8;border:1px solid #e2dec8;border-radius:19px;padding:22px;margin:0 0 27px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.checkin-panel h3{font-size:16px;margin-top:6px}.checkin-panel p{font-size:12px;margin-top:6px;color:var(--muted)}.energy-options{display:flex;gap:8px;flex-wrap:wrap}.energy-options button{min-height:62px;min-width:105px;background:white;border:1px solid var(--line);padding:10px 13px;border-radius:12px;font-size:11px}.energy-options button span{display:block;font-size:22px;line-height:1.2;margin-bottom:5px;color:#68886a}.energy-options button.active{background:#e5efd4;border:2px solid #527b4f;padding:9px 12px}.checkin-panel .checkin-foot{grid-column:1/-1;border-top:1px solid #e8e6da;padding-top:12px;margin:0}.buddy-heading{display:flex;align-items:center;gap:4px;margin:10px -8px}.buddy-mini{width:92px;height:76px;flex-shrink:0}.buddy-heading h3{font-size:17px}.buddy-heading p{font-size:11px;color:var(--muted)}.expedition-teaser{background:#f6f9ef}.expedition-teaser>p{font-weight:600;font-size:14px;margin-bottom:6px}.expedition-teaser small{display:block;color:var(--muted);font-size:11px;line-height:1.6}.expedition-teaser .btn{margin-top:15px}.buddy-tag{display:inline-block;background:#ffffffa8;border:1px solid #c6d6bd;border-radius:20px;padding:8px 13px;font-size:11px;margin-top:15px}.habitat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 27px}.habitat{border:1px solid var(--line);border-radius:16px;background:#fff;padding:17px 12px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}.habitat>span{width:37px;height:37px;border-radius:50%;background:#eef1e4;display:grid;place-items:center;font-size:21px;color:#568271}.habitat strong{font-size:12px}.habitat small{font-size:10px;color:var(--muted)}.habitat.active{border-color:#85aa75;background:#edf4df;box-shadow:0 3px 0 #c9dbb6}.mission-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.mission-choices button{text-align:left;border:1px solid #d5dfd4;background:#fff;padding:14px;border-radius:12px;min-height:52px;font-size:13px;line-height:1.6}.mission-choices button.active{border:2px solid #648958;background:#eef5e4;padding:13px}.mission-choices small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.other-ideas{font-size:12px;color:var(--muted);margin:16px 0;line-height:1.8}.other-ideas summary{cursor:pointer;min-height:38px;padding:6px 0}.mission-workbench h2{font-size:23px;margin-top:24px}.mission-question{color:#427364;font-size:14px;margin-top:9px}.mission-steps{padding-left:24px;font-size:14px;line-height:1.8}.mission-steps li{padding-left:7px;margin:12px 0}.mission-steps li::marker{color:#4f7857;font-weight:700}.mini-mission{background:#fff8e5;border:1px solid #eadab0;border-radius:12px;padding:16px;font-size:12px;line-height:1.8;margin:20px 0}.mission-workbench .field,.media-card .field{margin-top:18px}.mission-workbench textarea{min-height:95px;line-height:1.7}.mission-workbench textarea,.media-card input{width:100%}.media-card h3{margin:8px 0 13px;line-height:1.6}.media-card>p{font-size:13px;margin-bottom:14px}.media-agreement{background:#eaf1f3;border:1px solid #d5e1e4;border-radius:13px;padding:16px;margin:18px 0}.media-agreement strong{display:block;font-size:14px}.media-agreement span{display:block;font-size:12px;margin-top:6px;color:var(--muted)}.field-journal details{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.8}.field-journal summary{cursor:pointer}.field-journal small{display:block;color:var(--muted)}.field-journal p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px}.parent-summary{margin-top:15px}.checkin-panel,.mission-workbench,.media-card{min-width:0}
@media(max-width:1180px){.checkin-panel{grid-template-columns:1fr}.energy-options{justify-content:flex-start}.hero .buddy-art{width:225px}.habitat-grid{gap:7px}.habitat{padding:14px 6px}.habitat strong{font-size:11px}}
@media(max-width:960px){.dashboard-aside .expedition-teaser{grid-column:1/-1}.expedition-teaser .buddy-heading{float:left;margin-right:22px}.expedition-teaser:after{content:'';display:block;clear:both}}
@media(max-width:700px){.nav button{font-size:8px;min-height:48px}.nav button.active{box-shadow:inset 0 3px #4d7956}.hero{min-height:290px;padding-bottom:85px}.hero .buddy-art{right:-20px;bottom:-3px;width:165px;height:130px;opacity:1;z-index:0}.hero-copy{max-width:100%}.hero p{max-width:100%}.hero h2{font-size:24px;max-width:270px}.hero .btn{position:relative;z-index:1}.hero .eyebrow{max-width:260px;line-height:1.6}.checkin-panel{padding:18px;gap:12px}.checkin-panel h3{font-size:15px}.checkin-panel p{font-size:11px}.energy-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.energy-options button{min-width:0;padding:8px 5px;font-size:10px}.energy-options button.active{padding:7px 4px}.habitat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.habitat strong{font-size:11px}.habitat small{font-size:9px}.mission-choices{gap:7px}.mission-choices button{padding:11px;font-size:12px}.mission-choices button.active{padding:10px}.mission-workbench h2{font-size:21px}.mission-steps{font-size:13px}.mission-question{font-size:13px}.expedition-hero{padding-bottom:100px}.buddy-tag{font-size:10px;padding:8px 10px}.expedition-teaser .buddy-heading{float:none;margin-right:0}.dashboard-aside{grid-template-columns:1fr}.lesson-grid{grid-template-columns:1fr}.page-head h1{font-size:27px}}
.access-page{max-width:950px;margin:0 auto;padding:55px 28px 40px}.access-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:24px;font-weight:700;margin-bottom:55px}.access-brand img{width:40px;height:40px}.access-page>h1{margin:12px 0}.access-page>p{color:var(--muted);font-size:14px}.access-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.access-choice{background:white;border:2px solid var(--line);padding:24px 15px;border-radius:20px;text-align:left;min-height:190px}.access-choice>span{display:grid;place-items:center;width:55px;height:55px;background:#e1eef3;border-radius:17px;font-size:25px;margin-bottom:18px}.access-choice.han>span{background:#e3efcf}.access-choice.parent>span{background:#f3e6d1;font-size:18px}.access-choice.active{border-color:#4d7b65;box-shadow:0 5px 0 #d4e0ca}.access-choice strong{display:block;font-size:17px}.access-choice small{display:block;line-height:1.7;margin-top:9px;color:var(--muted)}.access-form{max-width:580px;margin:32px auto}.access-form .field{margin:18px 0}.access-form .btn{margin:8px 0 20px;width:100%}.access-error{padding:13px;border-radius:10px;background:#fff0e8;color:#8d3b29;font-size:13px;margin-top:10px}.access-page .access-foot{font-size:11px;line-height:1.9;text-align:center}.parent-shell .sidebar{background:#f1ede3}.parent-shell .nav button.active{background:#e6d8ba}.parent-shell .avatar{background:#e9dfca}.access-lock{background:white;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:11px;white-space:nowrap}.sync-note{font-size:10px;line-height:1.6;color:var(--muted)}.sync-note.error{background:#fff1e7;color:#9b3523;padding:10px;border-radius:10px}.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.security-grid .field{margin:15px 0}.parent-shell .nav{grid-template-columns:1fr}.migration-banner{border:1px solid #d7b57f;background:#fff7e7;padding:18px;border-radius:13px;margin-bottom:25px;font-size:13px;line-height:1.8}.child-identity{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.child-identity small{display:block;margin-top:5px;color:var(--muted)}
@media(max-width:700px){.access-page{padding:28px 20px}.access-brand{margin-bottom:30px}.access-choices{gap:9px}.access-choice{padding:14px 10px;min-height:165px;border-radius:14px}.access-choice strong{font-size:12px}.access-choice small{font-size:10px}.access-choice>span{width:43px;height:43px;font-size:22px}.access-page h1{font-size:26px}.security-grid{grid-template-columns:1fr}.top-actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}.access-lock{font-size:10px;padding:8px}.sync-note{max-width:150px}.child-identity{padding:11px}.profile-switch{margin-bottom:10px}}
/* Learning materials: quiet field notebook, shared by both independent spaces. */
.material-intro{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:28px;background:#e9eee2;border:1px solid #d5dec9;border-radius:20px;margin-bottom:25px}.material-intro strong{font-family:Georgia,serif;font-size:23px}.material-intro p{line-height:1.7;margin:9px 0 0;color:#53614b}.api-state{display:flex;gap:12px;background:#f4f4ec;border-radius:12px;padding:16px;margin:20px 0;font-size:13px;line-height:1.6}.api-state p{margin:4px 0 0}.status-dot{width:8px;height:8px;min-width:8px;border-radius:50%;background:#6c8b57;margin-top:7px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #ecece3}.file-row a{overflow-wrap:anywhere;color:#455c34}.file-row small{display:block;margin-top:5px;color:#7a8172}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.goal-card{border:1px solid #dce3d3;background:#fcfcf7;border-radius:16px;padding:22px}.goal-card.completed{background:#f0f3ea}.goal-card h3{margin:8px 0}.goal-card p,.goal-card small{color:#717a65;line-height:1.6}.goal-card .wide-btns{margin-top:18px}.goal-meter{height:5px;border-radius:8px;background:#e5e9dd;margin:15px 0 8px;overflow:hidden}.goal-meter span{height:100%;display:block;background:#6f8d56}.subject-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.subject-setting{padding:14px;background:#f8f9f2;border:1px solid #e5e9dd;border-radius:12px}.subject-setting label{font-size:14px;display:block;margin-bottom:10px}.subject-setting select{width:100%;padding:7px;border:1px solid #dbe0d3;border-radius:7px;background:white}.subject-setting small{display:block;color:#6e7963;margin-top:8px;font-size:11px;line-height:1.6}.subject-setting input{accent-color:#718a59;margin-right:8px}.timetable-preview{background:#f4f6ee;padding:18px;border-radius:14px;margin-top:20px}.timetable-preview li{line-height:1.8}.study-steps{padding-left:22px;line-height:1.8}.study-steps li{padding:8px 0 8px 8px}#study-dialog{border:0;border-radius:22px;max-width:760px;width:calc(100% - 32px);max-height:90vh;padding:0;background:#fdfdf8;color:#30372c;box-shadow:0 30px 90px #18201445}#study-dialog::backdrop{background:#1d291a70;backdrop-filter:blur(4px)}.field input[type=file]{max-width:100%;padding:12px 5px}.field textarea{width:100%;resize:vertical;min-height:90px;padding:12px;border:1px solid #d9dfd0;border-radius:10px;font:inherit;background:#fffefb}.public-intro{max-width:870px;margin:8vh auto;padding:30px}.public-intro h1{font-family:Georgia,serif;font-size:clamp(32px,6vw,60px);line-height:1.15}.public-intro p{line-height:1.8;color:#627154}.public-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}@media(max-width:1050px){.subject-settings{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.material-intro,.goal-grid,.subject-settings{grid-template-columns:1fr}.material-intro{padding:20px;gap:20px}.goal-card{padding:16px}.file-row a{font-size:13px}.goal-card .wide-btns{gap:6px}.public-intro{margin:3vh auto;padding:24px}}
/* Entdeckerzeit: voluntary learning, ideas and practical independence. */
.explore-hero{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#e9eedf;border:1px solid #d5dfc9;border-radius:21px;padding:30px 36px;margin-bottom:25px;overflow:hidden}
.explore-hero>div:first-child{max-width:580px}.explore-hero h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:34px;line-height:1.18;margin:12px 0 15px;color:#394d35}.explore-hero p{font-size:14px;line-height:1.8;color:#59674f}
.explore-compass{position:relative;flex:none;width:160px;height:160px;border:1px solid #98aa81;border-radius:50%;display:grid;place-items:center;transform:rotate(-12deg);margin:10px 18px}.explore-compass:before,.explore-compass:after{content:'';position:absolute;inset:18px;border:1px dashed #a7b992;border-radius:50%}.explore-compass:after{inset:36px;border-style:solid;background:#f6f7ed}.explore-compass span{font-family:Georgia,serif;font-size:60px;color:#8d6949;z-index:1}.explore-compass i,.explore-compass b,.explore-compass em{position:absolute;font-size:10px;letter-spacing:2px;font-style:normal;font-weight:500;background:#e9eedf;color:#586d4b;z-index:1;padding:5px}.explore-compass i{top:-13px}.explore-compass b{bottom:-12px}.explore-compass em{right:-15px}
.explore-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:26px}.explore-tabs button{min-width:0;min-height:66px;text-align:left;border:1px solid #dbe2d4;border-radius:12px;padding:12px;background:#fff;color:#53634c;font-size:13px;font-weight:550;line-height:1.45}.explore-tabs button small{display:block;font-size:10px;margin-bottom:5px;opacity:.75}.explore-tabs button.active{background:#526947;color:white;border-color:#526947}.explore-tabs button:hover{border-color:#82946e}
.explore-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.explore-section-head h2{font-size:22px;font-weight:500;margin:0 0 10px}.explore-section-head p{font-size:14px;color:#64715c;line-height:1.8;margin:0}
.explore-body .card{padding:24px}.explore-body .card h3{font-size:16px;line-height:1.55}.explore-body .card h2{font-size:23px;line-height:1.5;margin:12px 0 18px}.explore-body .card p{font-size:14px;line-height:1.85;margin:10px 0 16px}.explore-body .card p.notice,.explore-body .notice{font-size:12px;line-height:1.8;color:#69765e}.explore-body .field{font-size:13px}.explore-body .field input,.explore-body .field select,.explore-body .field textarea{font-size:15px}.explore-body .btn{min-height:40px;font-size:13px;white-space:normal}.explore-body button:focus-visible,.explore-tabs button:focus-visible{outline:3px solid #b68a4d;outline-offset:3px}.explore-body .form-actions{flex-wrap:wrap}.explore-body .field textarea{resize:vertical;line-height:1.7}
.explore-active{border-left:4px solid #6b8654!important;background:#fcfdf9}.explore-form{margin-top:24px}.explore-steps{padding-left:23px;margin:18px 0 25px;line-height:1.9;font-size:14px}.explore-steps li{padding-left:5px;margin:12px 0}.explore-record{padding:19px 0;border-bottom:1px solid #e4e9df;overflow-wrap:anywhere}.explore-record:last-child{border:0}.explore-record strong,.explore-record small{display:block}.explore-record strong{font-size:15px;line-height:1.7}.explore-record small{font-size:11px;color:#7a846f;margin:5px 0}.explore-record span{font-size:12px;line-height:1.75}.explore-record .btn{margin:8px 7px 0 0}.explore-record .section-head{margin-bottom:4px}.explore-record .section-head .badge{flex:none}
.explore-search{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:14px;align-items:end}.explore-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.explore-card-grid>.card{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.explore-card-grid h3{margin:0}.explore-card-grid p{flex:1;margin:0 0 6px!important}.explore-card-grid .eyebrow{font-size:10px;line-height:1.8}.explore-card-grid .btn{margin-top:auto}.knowledge-detail{border-top:4px solid #9aab7b}.explore-example{padding:20px;background:#f1f4eb;border-radius:12px;margin:23px 0}.explore-example strong{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#647750}.explore-example p:last-child{margin-bottom:0!important}.explore-explanation{font-size:16px!important}.explore-link{display:inline-block;color:#436644;text-decoration:underline;text-underline-offset:4px;font-size:13px;line-height:1.8;margin:4px 10px 4px 0;overflow-wrap:anywhere}
.idea-path{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 25px}.idea-path span{background:#f1eee5;padding:9px 12px;font-size:12px;border-radius:8px;color:#7a694b}.idea-path span+span:before{content:'→';margin-right:12px;color:#9d977d}.idea-seed{background:#faf8f2}.world-history{background:#f9f6ee}.world-news{background:#f0f4ed}.life-card{position:relative}.life-number{font-family:Georgia,serif;font-size:27px;color:#a7b394;line-height:1.1}.life-options{display:grid;gap:10px;margin:15px 0}.life-options button{display:flex;gap:12px;align-items:center;text-align:left;padding:15px 17px;min-height:52px;border:1px solid #d7e0cf;border-radius:11px;background:#fbfcf8;line-height:1.7;font-size:14px}.life-options button b{background:#edf0e6;border-radius:5px;padding:3px 8px;color:#6c7c5c}.life-options button.selected{background:#e9efdf;border:2px solid #78915f}.life-detail{border-top:4px solid #8b9e6e}.explore-home{display:flex;gap:20px;justify-content:space-between;align-items:center;background:#eff3e8;border:1px solid #d7e0cc;border-radius:14px;padding:20px 24px;margin:20px 0}.explore-home strong{display:block;font-family:Georgia,serif;font-size:21px;font-weight:400;margin:7px 0}.explore-home p{font-size:12px;color:#637058}.explore-home .btn{flex:none}
@media(min-width:901px){.sidebar{overflow-y:auto}.explore-body .two-col>.card{min-width:0}}
@media(max-width:1150px){.explore-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-hero{padding:26px}.explore-compass{width:125px;height:125px;margin-right:5px}.explore-tabs button{font-size:12px;padding:10px}.explore-search{grid-template-columns:minmax(0,1fr) 150px}.explore-search>.btn{grid-column:1/-1;justify-self:start}}
@media(max-width:650px){.explore-hero{padding:23px}.explore-hero h2{font-size:30px}.explore-compass{display:none}.explore-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.explore-tabs button{font-size:12px;min-height:59px;padding:10px}.explore-tabs button small{font-size:9px}.explore-body .two-col,.explore-card-grid,.explore-search{grid-template-columns:minmax(0,1fr)}.explore-body .card{padding:21px}.explore-body .form-grid{grid-template-columns:minmax(0,1fr)}.explore-body .field input,.explore-body .field textarea,.explore-body .field select{font-size:16px}.explore-section-head{align-items:flex-start;flex-direction:column}.explore-section-head h2{font-size:21px}.explore-home{flex-direction:column;align-items:flex-start}.explore-body .section-head{flex-wrap:wrap;gap:14px}.explore-body .form-actions>.btn{width:100%;justify-content:center}.explore-body .card p{font-size:14px}.explore-body .explore-link{font-size:14px}.idea-path span{font-size:11px;padding:8px}.idea-path span+span:before{margin-right:6px}}
/* Source reading and deliberate external practice. */
.source-lookup{border-top:4px solid var(--accent,#2d7d70)}
.source-search{display:grid;grid-template-columns:minmax(160px,1fr) minmax(200px,2fr) auto;gap:16px;align-items:end;margin:20px 0 12px}
.source-search .field,.source-filter .field{min-width:0}
.source-results{display:grid;gap:8px;margin:18px 0}
.source-results>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e1e6e1}
.source-article{margin:20px 0;overflow-wrap:anywhere}
.source-excerpt{white-space:pre-line;line-height:1.8;max-width:76ch}
.source-citations{display:flex;flex-wrap:wrap;gap:12px 20px}
.source-import,.source-filter{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:20px 0}
.source-import .field,.source-filter .field{flex:1;min-width:180px}
.source-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.source-guide>div{display:flex;align-items:center;gap:12px}
.source-guide span{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#e6f0ec;color:#21594f;font-weight:700}
.resource-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.resource-card .badge{white-space:normal;text-align:left;line-height:1.5}
.resource-card .wide-btns{margin-top:auto}
.source-task{background:#f5f3e9;border-radius:12px;padding:12px;line-height:1.6;font-size:.92rem}
.source-library{margin:32px 0}
.source-library .section-head{flex-wrap:wrap;gap:12px}
@media(max-width:760px){.source-search{grid-template-columns:1fr}.source-search .btn{width:100%}.source-guide{grid-template-columns:1fr}.source-results>div{align-items:flex-start;flex-direction:column}.source-citations{flex-direction:column;gap:8px}.source-import{align-items:stretch;flex-direction:column}.source-import .btn{width:100%}}
/* School sources: keep private connection forms and dated events readable on phones. */
.school-source details{margin-top:18px}.school-source summary{cursor:pointer;font-weight:650}.school-source form{margin-top:16px}.school-file{border-top:1px solid var(--line,#dce4d8);padding-top:18px}.school-status{min-height:24px;margin:12px 0;color:#526c48}.school-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.school-event{padding:20px;border:1px solid var(--line,#dce4d8);border-radius:16px;overflow-wrap:anywhere;min-width:0}.school-event h3{margin:10px 0}.school-event .btn{display:block;margin-top:16px}.school-event details{margin:12px 0}.school-description{white-space:pre-wrap;font-size:.92rem;max-height:260px;overflow:auto}.school-muted{background:#f2f3ef}.school-source input[type=url]{width:100%;min-width:0}.school-source .checkbox-row{align-items:flex-start;line-height:1.5}.school-source .checkbox-row input{flex:0 0 auto;margin-top:4px}.school-source .section-head{flex-wrap:wrap;gap:8px}@media(max-width:760px){.school-events{grid-template-columns:1fr}.school-source .badge{white-space:normal}.school-event{padding:16px}}

/* Separate school account bindings and phone installation. */
.school-account-tabs{margin-top:22px}.school-account-label{font-weight:650;margin:0 0 12px}.school-parent-note{padding:18px 22px;border-radius:16px;background:#e7eff5;border:1px solid #cbdce7;margin:14px 0}.school-parent-note p{font-size:13px;margin-top:8px}.school-source{min-width:0}.school-source .field{overflow-wrap:anywhere}.tabs button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}
body{padding-bottom:82px;padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}.pwa-launcher{position:fixed;bottom:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:18px;z-index:30;max-width:calc(100vw - 36px)}.pwa-open{box-shadow:0 5px 22px #244e4230;border:1px solid #fff6;min-height:44px}.pwa-dialog{border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--ink);padding:28px;max-width:570px;width:calc(100% - 28px);max-height:85vh;overflow:auto;box-shadow:0 20px 80px #152e3e30}.pwa-dialog::backdrop{background:#14291f90}.pwa-dialog h2{font-size:25px;margin:12px 0}.pwa-dialog p{margin:14px 0;font-size:14px}.pwa-dialog .notice{font-size:12px}.pwa-dialog details{border-top:1px solid var(--line);padding:16px 0}.pwa-dialog summary{font-weight:650;cursor:pointer}.pwa-dialog ol{padding-left:23px;margin-bottom:0;font-size:14px;line-height:1.8}.pwa-dialog li{margin-bottom:10px}.pwa-install{width:100%;min-height:46px}.pwa-dialog .section-head img{border-radius:12px}
@media(max-width:760px){.school-account-tabs button{flex:1;padding:12px;font-size:12px}.school-source input,.school-source select{font-size:16px}.school-source .field{font-size:13px}.pwa-dialog{padding:22px}.pwa-dialog h2{font-size:23px}}
@media(display-mode:standalone){body{padding-bottom:env(safe-area-inset-bottom,0px)}.pwa-launcher{display:none}}

/* Personal learning assistants: deliberate handoff, then a child's own reflection. */
.agent-space{max-width:1200px;margin:0 auto}.agent-space .card{padding:24px;min-width:0}.agent-space h2{font-size:22px;line-height:1.4;margin:10px 0 18px}.agent-space h3{font-size:18px;line-height:1.4}.agent-space p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.agent-space .notice{font-size:12px}.agent-space .form-actions,.agent-space .wide-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.agent-space .btn{min-height:44px;white-space:normal;line-height:1.5}.agent-space .field{min-width:0}.agent-space .field textarea{line-height:1.7;resize:vertical}.agent-space .field textarea,.agent-space .field input,.agent-space .field select{max-width:100%}.agent-space summary{cursor:pointer;font-size:13px;line-height:1.8;font-weight:650}.agent-space .section-head{flex-wrap:wrap;gap:12px}.agent-space .section-head small{font-size:13px;color:var(--muted)}
.agent-hero{display:flex;justify-content:space-between;gap:32px;padding:34px;border:1px solid #c9d9d0;border-radius:20px;background:#e8f0eb;margin-bottom:26px}.agent-hero>div{max-width:620px;min-width:0}.agent-hero h2{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;line-height:1.2;color:#274f43;margin:15px 0}.agent-hero p{color:#496459}.agent-provider-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.agent-provider-tags span{font-size:11px;border:1px solid #c0d0c7;border-radius:30px;padding:7px 12px;background:#f6faf7;color:#365d4e}.agent-cycle{padding:0;list-style:none;display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:205px;margin:0}.agent-cycle li{display:flex;align-items:center;gap:12px;font-size:13px;color:#3e6154}.agent-cycle b{font-size:12px;font-weight:600;display:grid;place-items:center;border:1px solid #b5c9ba;width:34px;height:34px;border-radius:50%;background:#f2f6ee}
.agent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 28px}.agent-grid .card{margin:0;display:flex;flex-direction:column;align-items:flex-start}.agent-grid .card p{flex:1}.agent-grid .card .btn{margin-top:auto}.agent-grid .card .wide-btns{margin-top:auto;padding-top:14px}.agent-grid .empty{grid-column:1/-1;display:block;padding:28px;line-height:1.9}.agent-mark{width:40px;height:40px;display:grid;place-items:center;background:#f1eee5;border-radius:12px;color:#7a6340;font:24px Georgia,serif;margin-bottom:5px}.agent-card{border-top:3px solid #7e9d86}.agent-card .eyebrow{font-size:10px;line-height:1.8}.agent-card details{width:100%;margin:10px 0}.agent-rules{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;max-height:300px;overflow:auto;padding:14px;background:#f4f6f0;border-radius:9px}
.agent-editor,.agent-plan,.agent-active{margin-bottom:24px;border-left:4px solid #769583}.agent-role{display:flex;flex-direction:column;justify-content:center;gap:8px;background:#f4f5ef;padding:12px 16px;border-radius:10px;font-size:13px}.agent-role small{color:#6c7869}.agent-access{padding:16px 18px;background:#f0f4f0;border:1px solid #d8e2d8;border-radius:12px;margin-top:20px;font-size:13px}.agent-access p{margin:8px 0}.agent-access-limited{background:#faf4e8;border-color:#e5d6b9}.agent-prompt{font-size:13px!important;background:#f7f8f4;white-space:pre-wrap;min-height:270px}.agent-reflect{border-top:1px solid #dce4da;padding-top:24px;margin-top:26px}.agent-guide{margin:26px 0}.agent-guide ol{padding-left:22px;line-height:1.9;font-size:14px}.agent-guide li{margin:10px 0}.agent-parent-summary{margin-bottom:22px;background:#f0f4f8}.agent-records .badge{white-space:normal}.agent-space :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #ad874b;outline-offset:3px}
@media(max-width:1100px){.agent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-hero{padding:26px}.agent-cycle{min-width:180px}}
@media(max-width:650px){.agent-hero{flex-direction:column;gap:22px;padding:23px}.agent-hero h2{font-size:29px}.agent-cycle{gap:10px}.agent-grid{grid-template-columns:minmax(0,1fr)}.agent-space .card{padding:20px}.agent-space .form-grid{grid-template-columns:minmax(0,1fr)}.agent-space .field input,.agent-space .field select,.agent-space .field textarea{font-size:16px}.agent-space .form-actions>.btn{width:100%;justify-content:center}.agent-space .page-head h1{font-size:28px}.agent-space .source-import{align-items:stretch}.agent-access{padding:13px}.agent-prompt{font-size:14px!important}}
/* Exercise illustrations: one image follows the original question into review. */
.question-visual{margin:22px 0 24px;padding:18px;border:1px solid #d6e1d8;border-radius:18px;background:#f7faf4;min-width:0}
.question-visual.is-revealed{background:#f4f8f2;border-color:#8eaf98}
.question-visual-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.question-visual-head>div{min-width:0}
.question-visual-head strong{display:block;font-size:15px;line-height:1.45;font-weight:650;color:#253c37}
.visual-kicker{display:block;margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.13em;color:#466953}
.question-visual-head .btn{flex-shrink:0;min-height:44px;font-size:12px;white-space:normal}
.question-visual-canvas{overflow-x:auto;overscroll-behavior-x:contain;border-radius:12px;background:#fffef9;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-width:100%}
.question-visual-canvas svg{display:block;width:100%;height:auto;max-width:720px;margin:0 auto}
.question-visual.is-expanded .question-visual-canvas svg{min-width:720px;max-width:none}
.question-visual-canvas:focus-visible,.visual-description summary:focus-visible{outline:3px solid #356883;outline-offset:3px}
.question-visual figcaption{font-size:11px;line-height:1.5;color:#607064;margin:9px 0}
.lesson-body .visual-scroll-hint{font-size:12px;color:#356883;margin:8px 0}
.visual-description{margin-top:12px}
.visual-description summary{cursor:pointer;font-size:13px;color:#35604b;padding:5px 0}
.lesson-body .visual-description p{font-size:13px;line-height:1.7;margin:8px 0 0;color:#394e43}
.lesson-body .visual-prompt{font-size:12px;line-height:1.6;margin:10px 0 0;color:#536a5a}
.visual-steps{padding:16px 0 2px;margin-top:13px;border-top:1px solid #d6e1d8;color:#2c4e3b;font-size:14px;line-height:1.65}
.visual-steps>strong{font-size:14px}
.visual-steps ol{padding-left:24px;margin:8px 0 0}
.visual-steps li{padding-left:3px;margin:6px 0}
.lesson-visual-badge{display:inline-flex;align-self:flex-start;gap:6px;margin:0 0 17px;border:1px solid #d6e1d8;border-radius:20px;padding:5px 10px;background:#f1f6ed;color:#466953;font-size:11px;line-height:1.4}
@media(max-width:600px){.question-visual{padding:12px;margin:18px 0}.question-visual-head{gap:9px;align-items:flex-start;flex-wrap:wrap}.question-visual-head strong{font-size:14px}.question-visual-head .btn{min-height:44px}.visual-steps{font-size:13px}.question-visual figcaption{font-size:11px}}

.math-plan{margin-bottom:24px}.math-plan details{margin-top:20px}.math-plan summary{cursor:pointer;font-weight:600;padding:12px 0}.math-plan ol{padding-left:24px;line-height:1.8}.math-unit{padding:20px 0;border-top:1px solid var(--border,#e0e4df)}.math-plan .note-card{align-items:flex-start}.math-plan .note-card>div{min-width:0}.math-plan h2{font-size:clamp(20px,3vw,26px)}
/* Project expression skills and reflective error practice. */
.workshop-space,.mistake-space{max-width:1200px;margin:0 auto}
.workshop-space p,.mistake-space p{font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.workshop-space .notice,.mistake-space .notice{font-size:12px;margin:12px 0}
.workshop-space .field,.mistake-space .field{margin:15px 0;min-width:0}
.workshop-space textarea,.mistake-space textarea{resize:vertical;line-height:1.65;width:100%}
.workshop-space h2,.mistake-space h2{font-size:23px;line-height:1.4;margin:10px 0 17px}
.workshop-space h3,.mistake-space h3{font-size:17px;line-height:1.5;margin:15px 0 10px}
.workshop-space .card,.mistake-space .card{min-width:0}
.workshop-space .wide-btns,.mistake-space .wide-btns{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}
.workshop-space .btn,.mistake-space .btn{min-height:44px;white-space:normal;line-height:1.4}
.workshop-space .section-head,.mistake-space .section-head{flex-wrap:wrap;gap:12px}
.workshop-space summary,.mistake-space summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.5}
.workshop-lessons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:12px}
.workshop-lessons section+section{border-left:1px solid var(--line);padding-left:24px}
.workshop-template-grid,.workshop-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.workshop-two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;margin:18px 0}
.workshop-hint{align-self:start;border-left:3px solid #8eaf98;background:#f4f8f2;padding:22px;border-radius:0 14px 14px 0}
.workshop-branch{background:#f7faf4;border:1px solid #d6e1d8;padding:20px;border-radius:16px;min-width:0}
.workshop-branch .section-head{margin-bottom:6px}.workshop-branch .wide-btns{margin:0}
.workshop-fields{padding:0;border:0;min-width:0;margin:0}
.workshop-map{width:100%;max-width:100%;overflow:auto;border:1px solid #d6e1d8;border-radius:16px;background:#fffef9;margin:16px 0;max-height:680px;overscroll-behavior:contain}
.workshop-map svg{width:100%;height:auto;display:block}.workshop-map.expanded svg{min-width:1000px}
.workshop-map:focus-visible{outline:3px solid #356883;outline-offset:3px}
.workshop-slide-preview{background:#fffef9;border:1px solid var(--line);border-radius:8px;overflow:hidden;min-width:0}
.workshop-slide-preview svg{width:100%;height:auto;display:block}
.workshop-slide-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}
.workshop-saved{padding:20px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.workshop-saved:last-child{border:0}
.workshop-saved strong{font-size:17px}.workshop-saved small{color:var(--muted)}
.workshop-tips{margin-top:22px;padding:19px 22px;background:#faf3e3;border-radius:14px;font-size:13px;line-height:1.75}.workshop-tips ul{padding-left:22px;margin:8px 0 0}
.workshop-rehearsal details{margin-top:20px}.workshop-rehearsal details p{white-space:pre-wrap;margin-top:12px}
.mistake-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mistake-card{margin-bottom:0}.mistake-card small{color:var(--muted)}
.mistake-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.mistake-compare>div{padding:18px;background:#f5eee7;border-radius:12px;min-width:0}.mistake-compare>div+div{background:#eaf2e5}.mistake-compare small{color:#596c61}.mistake-compare p{font-weight:600;margin-top:7px}
.mistake-reason{border-top:1px solid var(--line);padding-top:6px}.mistake-tip{border-left:4px solid #8eaf98;background:#f4f8f2;padding:16px 20px;margin-top:18px}.mistake-tip p{margin-top:6px}
.mistake-detail fieldset{border:1px solid #d6e1d8;border-radius:16px;padding:18px 22px;margin:22px 0;min-width:0}.mistake-detail legend{padding:0 9px;font-size:16px;font-weight:600}
.mistake-transfer{padding:24px 0;border-top:1px solid var(--line);margin-top:22px}.mistake-transfer .answer-options{margin:16px 0}.mistake-detail .feedback p{margin-top:8px}
@media(max-width:900px){.workshop-two{grid-template-columns:minmax(0,1fr)}.workshop-lessons{grid-template-columns:1fr;gap:10px}.workshop-lessons section+section{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:600px){.workshop-template-grid,.workshop-branches,.mistake-list,.mistake-compare{grid-template-columns:minmax(0,1fr)}.workshop-space .card,.mistake-space .card{padding:18px}.workshop-branch{padding:15px}.workshop-saved{align-items:flex-start;flex-direction:column}.mistake-detail fieldset{padding:13px}.workshop-map{max-height:500px}.workshop-space h2,.mistake-space h2{font-size:20px}.workshop-space .tabs,.mistake-space .tabs{display:flex;flex-wrap:wrap;overflow:visible}}
@media(max-width:700px){.child-shell .nav{grid-template-columns:repeat(6,minmax(0,1fr))}.parent-shell .nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav button{min-width:0;min-height:54px}.nav button span{overflow-wrap:anywhere;line-height:1.2}.shell .workspace{padding-bottom:calc(144px + env(safe-area-inset-bottom,0px))}body:has(#app .shell) .pwa-launcher{bottom:calc(86px + env(safe-area-inset-bottom,0px))}#toast{bottom:calc(140px + env(safe-area-inset-bottom,0px))}}
/* Adaptive question bank and family-reviewed content updates. */
.bank-space{max-width:1200px;margin:auto}.bank-panel h2,.bank-space h2{font-size:23px;margin:10px 0 16px;line-height:1.4}.bank-panel p,.bank-space p,.bank-panel li{font-size:14px;line-height:1.75;overflow-wrap:anywhere}.bank-panel .notice,.bank-space .notice{font-size:12px;margin:12px 0}.bank-panel details,.bank-space details{margin-top:18px}.bank-panel summary,.bank-space summary{font-weight:600;cursor:pointer;line-height:1.6}.bank-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.bank-space fieldset{border:0;padding:0;min-width:0}.bank-space .wide-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0}.bank-space .btn,.bank-panel .btn{min-height:44px;white-space:normal}.bank-question{border-top:1px solid var(--line);padding:20px 0}.bank-question h3{font-size:17px;margin:10px 0;line-height:1.5}.bank-table{overflow:auto;margin:18px 0}.bank-table table{width:100%;border-collapse:collapse;font-size:13px}.bank-table th,.bank-table td{padding:12px;text-align:left;border-bottom:1px solid var(--line);min-width:110px}.bank-table th:first-child{min-width:200px}
@media(max-width:600px){.bank-topics{grid-template-columns:1fr}.bank-space .card{padding:18px}.lesson-meta{flex-wrap:wrap}.bank-panel h2,.bank-space h2{font-size:20px}}

.section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding-bottom:14px;border-bottom:1px solid var(--line)}.section-nav button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:12px;padding:10px 15px;font-size:13px;min-height:44px}.section-nav button.active{background:var(--green);color:white;border-color:var(--green)}.section-nav button:focus-visible{outline:3px solid #c49a46;outline-offset:3px}
.rhythm-space{display:grid;gap:18px}.rhythm-space .page-head{margin-bottom:1px}.rhythm-overview,.rhythm-principles{margin:0}.rhythm-sources{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.rhythm-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:30px;background:#f5f8f2;padding:6px 10px;font-size:11px;line-height:1.4;color:#4e6254}.rhythm-chip.exam{background:#fbf0e5;border-color:#efdbc2;color:#80582c}.rhythm-chip.chinese{background:#eef3e6;border-color:#dbe6c7;color:#456b3c}.rhythm-chip.missing{background:#faf7ee;color:#88774e}.rhythm-guidance{font-size:12px;line-height:1.7;color:#526657;margin:6px 0 18px}.rhythm-week{display:grid;gap:0}.rhythm-day{display:grid;grid-template-columns:125px minmax(0,1fr);gap:14px;padding:15px 0;border-top:1px solid var(--line)}.rhythm-day-date strong{display:block;font-size:13px}.rhythm-day-date small{display:block;margin-top:4px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.rhythm-day-content{min-width:0}.rhythm-chips{display:flex;flex-wrap:wrap;gap:6px}.rhythm-chips:empty{display:none}.rhythm-study{font-size:12px;color:#4e6254;line-height:1.7;margin-top:7px}.rhythm-activities{display:grid;gap:6px;margin-top:8px}.rhythm-activity{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;padding:7px 9px;border-radius:9px;background:#f7f8f3}.rhythm-activity small{color:var(--muted);white-space:nowrap}.rhythm-activity .btn{flex:none}.rhythm-principles>p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:8px}.rhythm-settings{margin:16px 0 4px;border-top:1px solid var(--line);padding-top:14px}.rhythm-settings summary{font-size:12px;font-weight:600;cursor:pointer}.rhythm-settings .notice{margin:12px 0}.rhythm-routine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rhythm-routine{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px}.rhythm-routine>strong{font-size:13px}.rhythm-routine .field{font-size:11px}.rhythm-routine .field input,.rhythm-routine .field select{font-size:13px;padding:9px}
@media(max-width:700px){.section-nav{gap:6px;margin-bottom:20px}.section-nav button{flex:1;min-width:110px;font-size:12px;padding:9px}.field input,.field select,.field textarea{font-size:16px}}
@media(max-width:700px){.rhythm-day{grid-template-columns:1fr;gap:6px;padding:13px 0}.rhythm-day-date{display:flex;align-items:baseline;gap:9px}.rhythm-day-date small{margin:0}.rhythm-activity{align-items:flex-start;flex-wrap:wrap}.rhythm-routine-grid{grid-template-columns:1fr}.rhythm-routine .field input,.rhythm-routine .field select{font-size:16px}.rhythm-sources>.btn{margin-left:0}}

/* OpenAI-hosted learning chat: page-local transcript, never a saved learning record. */
.agent-live{margin-top:24px;padding:22px;border:1px solid #cddbd0;border-radius:16px;background:#f5f8f3}.agent-live-parent{background:#f2f5f8;border-color:#d6dfe6}.agent-live .section-head{align-items:flex-start}.agent-live h3{margin:7px 0 0}.agent-live-log{display:grid;gap:10px;max-height:390px;overflow:auto;margin:18px 0;padding:4px}.agent-live-message{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #dfe7df;overflow-wrap:anywhere}.agent-live-message.assistant{border-left:4px solid #668d75}.agent-live-message.user{background:#f8f4e9;border-color:#e7d9bd;border-left:4px solid #b68b49}.agent-live-message strong{display:block;font-size:12px;color:#51675a}.agent-live-message p{margin:5px 0 0;white-space:pre-wrap}.agent-live-compose{margin-top:16px}.agent-live-compose .form-actions{align-items:center}.agent-live-compose small{font-size:12px;color:var(--muted)}.agent-live-error{margin:14px 0;padding:11px 13px;border-radius:10px;background:#fbebe6;color:#8a3528;font-size:13px!important}
@media(max-width:650px){.agent-live{padding:17px}.agent-live-log{max-height:330px}.agent-live-compose .form-actions{align-items:stretch}.agent-live-compose .form-actions small{padding-top:4px}}

/* Direct, mobile-friendly discovery for the assisted learning flows. */
.assistant-home,.ai-launch-card,.agent-openai-start{margin:18px 0;padding:20px;border:1px solid #c7d8c9;border-radius:16px;background:linear-gradient(135deg,#f3f8f2,#fcfbf5)}.assistant-home{display:flex;align-items:center;justify-content:space-between;gap:18px}.assistant-home strong{display:block;margin:5px 0;font-size:20px}.assistant-home p,.ai-launch-card p,.agent-openai-start p{margin:7px 0;line-height:1.65}.ai-launch-card{border-color:#d8d1b9;background:linear-gradient(135deg,#fbf8ee,#f4f7fb)}.ai-launch-card .wide-btns{margin:16px 0 0}.agent-openai-start{border-color:#bfd0ca}.agent-openai-start h2{margin:7px 0 10px;font-size:22px}.agent-openai-start ol{margin:14px 0;padding-left:22px}.agent-openai-start li{margin:7px 0;line-height:1.55}.bank-agent{border-color:#d7d2b6;background:#fffdf7}.bank-agent .section-head{align-items:flex-start}.exam-review-space{display:grid;gap:18px;margin:0 0 26px}.exam-review-create,.exam-review-list,.exam-review-detail{margin:0}.exam-review-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.exam-review-compare>div{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfaf6}.exam-review-compare p{white-space:pre-wrap;overflow-wrap:anywhere}.exam-agent-card{margin:20px 0;padding:18px;border:1px solid #cddbd0;border-radius:14px;background:#f4f8f3}.exam-agent-card h3{margin:6px 0}.exam-agent-result{margin:16px 0;padding:15px;border-left:4px solid #668d75;border-radius:10px;background:#fff}.exam-agent-result dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.exam-agent-result dl>div{padding:10px;border:1px solid #dde6de;border-radius:9px}.exam-agent-result dt{font-size:12px;font-weight:700;color:#51675a}.exam-agent-result dd{margin:6px 0 0;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.exam-review-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-top:1px solid var(--line)}.exam-review-row:first-of-type{border-top:0}.exam-review-row>div{min-width:0}.exam-review-row h3{margin:5px 0;font-size:17px}.exam-review-row p{margin:5px 0 9px;overflow-wrap:anywhere}
@media(max-width:650px){.assistant-home{align-items:stretch;flex-direction:column;padding:18px}.assistant-home .btn{width:100%}.ai-launch-card,.agent-openai-start{padding:18px}.exam-review-compare,.exam-agent-result dl{grid-template-columns:1fr}.exam-review-row{align-items:stretch;flex-direction:column}.exam-review-row .btn{width:100%}}

/* V2: one clear next step, with specialist tools only when they are useful. */
.v2-focus{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:24px;padding:32px;border:1px solid #c8d9cf;border-radius:22px;background:linear-gradient(135deg,#e8f1eb,#faf8f0);margin-bottom:18px}.v2-focus-copy h2,.v2-parent-focus h2{font:400 clamp(29px,4vw,42px)/1.1 Georgia,'Times New Roman',serif;color:#284d42;margin:9px 0 14px}.v2-focus-copy>p,.v2-parent-focus p{max-width:63ch;line-height:1.75;color:#496459}.v2-next{display:flex;flex-direction:column;gap:4px;margin:21px 0 16px;padding:14px 16px;border-left:4px solid #769583;background:#fffdf8;border-radius:0 12px 12px 0}.v2-next span,.v2-loop span{font-size:12px;color:#587166}.v2-next strong{font-size:17px;line-height:1.45}.v2-loop{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:18px 22px;border-radius:16px;background:#f7faf5;border:1px solid #d5e2d7}.v2-loop b{font-size:14px;font-weight:500;color:#7a9a85}.v2-loop span{display:flex;align-items:center;gap:10px;font-size:14px;color:#355a4d}.v2-plan{margin:20px 0}.v2-plan>.section-head{align-items:end}.v2-route-grid,.v2-parent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.v2-route,.v2-parent-grid .card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.v2-route h3,.v2-parent-grid h3{font-size:20px;margin:8px 0}.v2-route p,.v2-parent-grid p{flex:1;line-height:1.7}.v2-route .btn,.v2-parent-grid .btn{margin-top:12px}.v2-week-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid #d8e2d9;border-radius:16px;overflow:hidden;background:#d8e2d9;margin:24px 0}.v2-week-strip>div{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:104px;padding:18px;background:#fffdf8}.v2-week-strip strong{font:400 31px/1 Georgia,'Times New Roman',serif;color:#345a4c}.v2-week-strip span{font-size:12px;line-height:1.45;color:#5c7166}.v2-week-strip>div:last-child{flex-direction:row;align-items:center;gap:10px;background:#f4f8f2}.v2-week-strip .icon{width:25px;color:#5a836d}.v2-parent-focus{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid #c9d8d0;border-radius:20px;background:linear-gradient(135deg,#edf4ef,#f9f7ee);margin:0 0 20px}.v2-parent-focus>div{min-width:0}.v2-parent-actions{display:flex;flex-wrap:wrap;gap:10px;max-width:330px}.v2-parent-actions .btn{min-height:48px;white-space:normal}.v2-parent-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.v2-family-board{margin-top:22px}.v2-child-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-top:1px solid var(--line)}.v2-child-summary:first-of-type{border-top:0}.v2-child-summary>div:first-child{display:grid;grid-template-columns:42px auto;column-gap:12px;align-items:center}.v2-child-summary .avatar{grid-row:1/3}.v2-child-summary h3{margin:0;font-size:18px}.v2-child-summary p{grid-column:2;margin:4px 0 0;color:var(--muted);font-size:13px}.v2-summary-signals{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.v2-summary-signals span{padding:6px 9px;border-radius:999px;background:#f2f6ef;color:#496459;font-size:11px;white-space:nowrap}.v2-advanced{margin:24px 0;border:1px solid var(--line);border-radius:15px;background:#fbfaf5}.v2-advanced>summary{cursor:pointer;padding:17px 20px;font-weight:650;color:#375c4e}.v2-advanced[open]>summary{border-bottom:1px solid var(--line)}.v2-advanced-body{padding:4px 20px 20px}.v2-advanced-body>.page-head{margin-top:20px}.v2-back{display:inline-flex;align-items:center;margin:0 0 17px;padding:0;border:0;background:none;color:#3f6c58;font-size:13px;font-weight:650;cursor:pointer}.v2-back:hover{text-decoration:underline}.v2-back:focus-visible{outline:3px solid #c49a46;outline-offset:4px}
@media(max-width:980px){.v2-parent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v2-parent-focus{align-items:flex-start;flex-direction:column}.v2-parent-actions{max-width:none}}
@media(max-width:700px){.child-shell .nav,.parent-shell .nav{grid-template-columns:repeat(4,minmax(0,1fr))}.v2-focus{grid-template-columns:1fr;padding:23px}.v2-focus-copy h2,.v2-parent-focus h2{font-size:30px}.v2-loop{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;padding:15px}.v2-loop b{text-align:center}.v2-route-grid,.v2-parent-grid{grid-template-columns:1fr}.v2-week-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-week-strip>div{min-height:88px;padding:14px}.v2-child-summary{align-items:flex-start;flex-direction:column;gap:12px}.v2-summary-signals{justify-content:flex-start}.v2-parent-focus{padding:23px}.v2-parent-actions{width:100%}.v2-parent-actions .btn{width:100%;justify-content:center}.v2-advanced-body{padding:3px 14px 16px}}

/* Growth mode: a smaller number of routes into the real world. */
.v3-focus{border-color:#bdd4cf;background:linear-gradient(135deg,#e8f3ef,#fbfaf3)}
.v3-loop{display:flex;flex-flow:row wrap;align-content:center;gap:8px 10px}
.v3-loop span{flex:1 1 92px;justify-content:center;text-align:center;padding:9px 6px;border-radius:999px;background:#f2f7f1;font-size:12px}
.v3-loop b{align-self:center}.v3-route-grid,.v3-parent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.v3-support-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0;padding:14px 18px;border-left:4px solid #9aaf75;border-radius:0 14px 14px 0;background:#f6f8f1;color:#496057;font-size:13px;line-height:1.65}.v3-support-strip .btn{flex:none}
.v3-repair-note{margin:-7px 0 20px;padding:0 4px;color:#5f7064}

.independence-space{max-width:1180px;margin:0 auto}.independence-space h2{margin:8px 0 10px;font-size:22px;line-height:1.35}.independence-space h3{margin:7px 0 11px;font-size:18px;line-height:1.4}.independence-space p{line-height:1.7}.independence-hero,.independence-parent-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:34px;align-items:center;padding:34px;border:1px solid #bfd6cd;border-radius:24px;background:linear-gradient(135deg,#e5f0e8,#fbf8ee);margin-bottom:20px}.independence-hero h1,.independence-parent-hero h1{font:400 clamp(32px,4vw,48px)/1.08 Georgia,'Times New Roman',serif;color:#284d42;margin:9px 0 15px;letter-spacing:-1px}.independence-hero p,.independence-parent-hero p{max-width:61ch;color:#496459}.independence-loop{display:flex;flex-flow:row wrap;justify-content:center;align-items:center;gap:9px;padding:19px;border:1px solid #d4e2d6;border-radius:18px;background:#f8fbf7}.independence-loop span{padding:8px 10px;border-radius:999px;background:#ebf3e8;color:#355b4d;font-size:12px;font-weight:650}.independence-loop b{font-weight:500;color:#769583}.independence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.independence-grid .card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.independence-grid .card p{flex:1}.independence-grid .btn{margin-top:16px}.field-action-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0 0;padding:26px 29px;border-radius:19px;background:#f0f4e7;border:1px solid #d7e1c9}.field-action-intro>div:first-child{max-width:680px}.field-action-intro h2{font:400 29px/1.2 Georgia,'Times New Roman',serif;color:#335647;margin:8px 0 10px}.field-action-intro .wide-btns{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.autonomy-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 24px;border:1px solid #d9e2d7;border-top:0;border-radius:0 0 16px 16px;overflow:hidden;background:#d9e2d7}.autonomy-lanes article{min-height:116px;padding:17px;background:#fffdf9}.autonomy-lanes strong{display:block;color:#315e4e;margin-bottom:7px;font-size:14px}.autonomy-lanes p{font-size:12px;color:#5b7165}.field-action-list{margin-top:26px}.field-action-card{margin:14px 0}.field-action-card .section-head{align-items:flex-start}.field-action-card p{margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.field-action-card.paused{opacity:.78}.field-form{margin:25px 0}.field-form .field{min-width:0}.field-form textarea{width:100%;resize:vertical;line-height:1.6}.field-form .checkbox-row{margin-top:6px}.independence-parent-rule{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:16px;background:#f7faf7;border:1px solid #d4e2d7;color:#486259}.independence-parent-rule strong{color:#2f5748;font-size:16px}.independence-parent-rule span{font-size:13px;line-height:1.6}.independence-parent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.independence-parent-grid .card{min-width:0}.field-parent-board{margin:22px 0}.field-parent-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.field-parent-row:first-of-type{border-top:0}.field-parent-row>div{min-width:0}.field-parent-row p{margin:8px 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.independence-boundaries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.independence-boundaries>div{padding:20px;border:1px solid #d7e2d8;border-radius:15px;background:#f9faf6}.independence-boundaries>div:first-child{background:#fbf6ed;border-color:#e4d9c4}.independence-boundaries strong{display:block;margin-bottom:7px;color:#345a4c}.independence-boundaries p{font-size:13px;color:#566c60}
@media(max-width:900px){.independence-hero,.independence-parent-hero{grid-template-columns:1fr}.independence-grid,.independence-parent-grid{grid-template-columns:1fr}.field-action-intro{align-items:flex-start;flex-direction:column}.field-action-intro .wide-btns{justify-content:flex-start}.v3-parent-grid{grid-template-columns:1fr}}
@media(max-width:700px){.v3-loop{display:flex;gap:7px;padding:14px}.v3-loop span{flex:1 1 100px}.v3-loop b{display:none}.v3-route-grid,.v3-parent-grid{grid-template-columns:1fr}.v3-support-strip{align-items:stretch;flex-direction:column;padding:15px}.v3-support-strip .btn{align-self:flex-start}.independence-hero,.independence-parent-hero{padding:23px}.independence-hero h1,.independence-parent-hero h1{font-size:32px}.independence-loop{justify-content:flex-start;padding:14px}.independence-grid,.autonomy-lanes,.independence-boundaries{grid-template-columns:1fr}.autonomy-lanes{border-top:1px solid #d9e2d7;border-radius:16px}.field-action-intro{padding:20px}.field-action-intro h2{font-size:24px}.field-action-intro .wide-btns{width:100%}.field-action-intro .btn{width:100%;justify-content:center}.field-form .form-grid{grid-template-columns:1fr}.field-parent-row{align-items:stretch;flex-direction:column}.field-parent-row .badge{align-self:flex-start}.independence-parent-rule{padding:16px}}

/* Voluntary, shared growth planning. */
.rhythm-exam-prep{font-size:11px;line-height:1.7;color:#80582c;margin-top:4px}
.growth-text{white-space:pre-wrap;overflow-wrap:anywhere}.growth-horizons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.growth-horizons>div,.growth-support{padding:16px;border:1px solid var(--line);border-radius:12px}.growth-step{border:1px solid var(--line);border-radius:12px;padding:18px;margin:16px 0;min-width:0}.growth-step legend{font-size:14px;padding:0 8px}.growth-step .field{margin:12px 0}@media(max-width:700px){.growth-horizons{grid-template-columns:repeat(2,minmax(0,1fr))}}
