/* Approved Forest Quest boards: page-specific compositions. */
.discover-article{max-width:76ch;margin:20px auto;overflow-wrap:anywhere}
.discover-article>p{font-size:16px;line-height:1.85;white-space:pre-wrap}
.discover-article h1{font-size:clamp(25px,3vw,36px);line-height:1.3;margin:16px 0}
.discover-article h2{font-size:20px;margin:24px 0 10px}
.discover-story-link{align-self:flex-start;margin-top:10px}
.parent-picks>.card-title{align-items:flex-start;gap:20px}
.parent-picks>.card-title>div{max-width:65ch}
.parent-picks label{display:grid;gap:7px;font-size:14px;font-weight:600}
.parent-picks select,.parent-picks input,.parent-picks textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.parent-picks #parentPickList{display:grid;gap:0}
.parent-pick{display:grid;grid-template-columns:84px minmax(0,1fr);gap:20px;padding:24px 0;border-top:1px solid var(--line)}
.parent-pick[hidden]{display:none}
.parent-pick>.mum-pick-sprite{width:84px;height:84px;align-self:start;clip-path:none}
.parent-pick-content{min-width:0}
.parent-pick h3{font-size:18px;margin:0;overflow-wrap:anywhere}
.parent-pick-summary{font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-width:72ch}
.parent-pick-actions{display:flex;align-items:start;flex-wrap:wrap;gap:12px}
.parent-pick-actions>details{flex:1;min-width:200px}
.parent-pick summary{cursor:pointer;color:var(--green);font-weight:650;padding:10px 0}
.parent-pick-form{display:grid;gap:14px;padding:16px 0;max-width:640px}
.parent-pick-original{margin-top:12px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.parent-pick-original p{white-space:pre-wrap}
#parentPickStatus:empty{display:none}
@media(max-width:760px){.parent-pick{grid-template-columns:48px minmax(0,1fr);gap:12px}.parent-pick>.mum-pick-sprite{width:48px;height:48px}.parent-picks>.card-title{display:block}.parent-picks>.card-title>label{margin-top:16px}.parent-pick-actions{display:block}.parent-pick-actions>details{min-width:0}}
.forest-sprite.atlas-art{background:none;clip-path:none;overflow:visible}
.forest-sprite.atlas-art>svg{display:block;width:100%;height:100%}
.forest-sprite.atlas-art>img{display:block;width:100%;height:100%;object-fit:contain}
.forest-life-feature>.fq-life-exploration{display:block;flex:none;width:260px;height:240px;object-fit:contain;margin-right:25px}
@media(max-width:760px){.forest-life-feature>.fq-life-exploration{width:100px;height:120px;margin:0}}
.forest-page[data-page=course] .cv-list{display:grid;grid-template-columns:1fr;gap:14px}.forest-page[data-page=course] .cv-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:18px;padding:22px}.forest-page[data-page=course] .cv-no{border-radius:50%;background:#e2ebcd;color:#365a2a;width:36px;height:36px;display:grid;place-items:center}.forest-page[data-page=course] .cv-title{font-size:19px}.forest-page[data-page=course] .cv-open{align-self:center}.fq-course-detail{margin:10px 0;font-size:13px}.fq-course-detail summary{cursor:pointer;color:#486b34}.fq-course-header{position:relative;padding-right:170px!important;min-height:175px}.fq-course-header>.robot{position:absolute;right:15px;top:10px;width:145px;height:145px}.fq-upload-zone{border:1px dashed #8caa66;background:#f5f6e9;border-radius:12px;text-align:center;padding:20px}.fq-upload-zone .upload-art{display:block}.upload-art .forest-sprite{width:95px;height:95px}.forest-page[data-page=handwriting] .fq-upload-zone input[type=file]{border:0;padding:12px;max-width:100%;font-size:13px}.forest-page[data-page=handwriting] .handwriting-review:has(#handwritingUploadFiles){max-width:680px;margin:auto;display:grid;gap:12px;padding:28px}.fq-generation[aria-busy=false] .builder-block{display:none}
@media(max-width:760px){.forest-page[data-page=course] .cv-item{grid-template-columns:30px minmax(0,1fr);padding:15px;gap:12px}.forest-page[data-page=course] .cv-open{grid-column:2;justify-self:start}.fq-course-header{padding-right:20px!important}.fq-course-header>.robot{display:none}}
@media(min-width:761px){.shell>.sidebar{height:100dvh;overflow:hidden}.shell>.sidebar>.nav{min-height:0;overflow-y:auto;flex:1;align-content:start;scrollbar-width:thin}.shell>.sidebar>.forest-sidebar-island{margin-top:10px;padding-top:0}.shell>.sidebar>.forest-sidebar-island img{max-height:130px}}
/* Navigation takes priority over decoration on laptop-height windows. */
@media(min-width:761px) and (max-height:900px){
  .shell>.sidebar{padding:14px 12px 10px}
  .shell>.sidebar .brand{font-size:22px;line-height:1.05}
  .shell>.sidebar .brand-world{display:none}
  .shell>.sidebar .forest-profile{margin:12px 6px 6px}
  .shell>.sidebar .avatar{width:40px;height:40px}
  .shell>.sidebar .avatar .forest-sprite{width:38px;height:38px}
  .shell>.sidebar>.nav{margin-top:8px;gap:0}
  .shell>.sidebar .forest-nav-group{padding:4px 0;gap:1px}
  .shell>.sidebar .forest-nav-group:first-child{padding-top:0}
  .shell>.sidebar .nav a{min-height:32px;padding:5px 8px;font-size:12px;gap:8px}
  .shell>.sidebar .forest-nav-icon{width:18px;height:18px;flex-shrink:0}
  .shell>.sidebar>.forest-sidebar-island{margin-top:5px}
  .shell>.sidebar>.forest-sidebar-island img{height:80px;max-height:80px}
  .shell>.sidebar>.forest-sidebar-island span{font-size:9px;margin-top:2px}
}
@media(min-width:761px) and (max-height:680px){.shell>.sidebar .forest-nav-group{padding:2px 0;gap:0}.shell>.sidebar .nav a{min-height:30px;padding-top:4px;padding-bottom:4px}.shell>.sidebar>.forest-sidebar-island img{height:45px;max-height:45px}.shell>.sidebar>.forest-sidebar-island span{display:none}}
.forest-event-dialog{width:min(520px,calc(100vw - 32px));padding:26px;background:#fffdf5;border:1px solid #d9ddc4;border-radius:14px;color:#203725}.forest-event-dialog form{display:grid;gap:18px}.forest-event-dialog header,.forest-event-dialog footer{display:flex;gap:12px;align-items:center;justify-content:space-between}.forest-event-dialog footer{justify-content:flex-end}.forest-event-dialog h2{margin:0;font-size:22px}.forest-event-dialog label{display:grid;gap:7px;font-size:13px;font-weight:650}.forest-event-dialog input{width:100%;padding:11px}.forest-event-dialog .sub{font-size:12px;margin:0}.forest-form-error{color:#a23e33;font-size:13px;margin:0}.forest-form-error:empty{display:none}
.forest-page{width:100%;max-width:1500px}.forest-page .page-head{position:relative;min-height:100px;padding-right:120px}.page-art{position:absolute;right:10px;top:0;pointer-events:none}.page-art .forest-sprite{width:108px;height:108px}
.forest-page .tabs{gap:5px;border:0;flex-wrap:wrap}.forest-page .tab{border:1px solid #d9dfc7;border-radius:7px;background:#fffdf5;font-size:13px;color:#52613d}.forest-page .tab.active,.forest-page .tab.on{background:#315825;color:#fffef3;border-color:#315825}
.forest-page .study-panel,.forest-page .family,.forest-page .top-panel{background:#faf9ee;border-color:#e1dfca;box-shadow:none}.forest-page .ustats{gap:12px}.forest-page .ustats>div{background:#fffdf5;border:1px solid #dedfc9;border-radius:10px}.forest-page .ustats b{color:#315825}
.forest-dashboard>.forest-support,.forest-dashboard>.forest-stat-strip,.forest-dashboard>#homeCoachPanels{display:none!important}
.forest-dashboard #discoverPreview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.forest-dashboard #discoverPreview .local,.forest-dashboard #discoverPreview .more{display:none}.forest-dashboard #discoverPreview .discover{padding:12px;min-height:0}.forest-dashboard #discoverPreview .discover::before{height:94px;margin:0 0 9px}.forest-dashboard #discoverPreview .discover p{-webkit-line-clamp:2;font-size:12px;margin-bottom:9px}.forest-dashboard #discoverPreview .discover h3{font-size:14px;line-height:1.35;margin-bottom:6px}.forest-dashboard #discoverPreview .discover>a{font-size:11px}.forest-dashboard #discoverPreview .ai::before,.forest-dashboard #discoverPreview .quest::before{width:94px}
.forest-dashboard .section:has(>#discoverPreview){position:relative;margin-top:15px}.forest-dashboard .section:has(>#discoverPreview)>h2{font-size:18px;margin-bottom:12px}.forest-view-all{position:absolute;right:0;top:2px;font-size:12px;font-weight:650;color:#416530}
.forest-dashboard .end-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.forest-end-day,.forest-habit-drawer{flex:1;min-width:240px;border:1px solid #dce0c6;border-radius:10px;background:#fffdf4;overflow:hidden}.forest-end-day{order:2;flex:.65}.forest-habit-drawer{order:1}.forest-end-day>summary,.forest-habit-drawer>summary{padding:15px 18px;cursor:pointer;font-weight:700;font-size:14px;min-height:55px}.forest-end-day>summary{background:#315825;color:#fffdf0}.summary-art .forest-sprite{height:28px;width:28px;margin:-5px 7px -5px 0}.forest-end-day .card,.forest-habit-drawer .card{margin:0;border:0;box-shadow:none;border-radius:0}.forest-end-day[open]{flex-basis:100%}.forest-habit-drawer[open]{flex-basis:100%}.forest-end-day .card-title{display:none}
.forest-dashboard .forest-welcome .forest-primary{min-height:215px}.forest-dashboard .forest-welcome{margin-bottom:8px}.forest-dashboard .forest-welcome .forest-route-card{padding:16px}.forest-dashboard .forest-first-visit .hero{min-height:115px}
.forest-page[data-page=learn] .forest-learning-grid>.card:not(.edutest-feature){display:grid;grid-template-columns:76px 1fr;gap:5px 13px;align-items:center;padding:20px;min-height:165px}.forest-learning-grid .learning-sprite{grid-row:1/4}.forest-page[data-page=learn] .forest-learning-grid>.card h2{font-size:17px;margin:0}.forest-page[data-page=learn] .forest-learning-grid>.card p{min-height:0;margin:4px 0;font-size:12px}.forest-learning-grid>.card>a{justify-self:start}.forest-page[data-page=learn] .feature-trophy{height:120px;width:120px}
.mum-pick-sprite{display:block;width:112px;height:112px;background:url('/assets/mum-picks-sprites.png') no-repeat;background-size:300% 200%;background-position:var(--mum-x) var(--mum-y);flex-shrink:0;align-self:center;clip-path:inset(2%)}
.forest-page .mom-picks>.discover-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.forest-page .mom-picks .mompick{border-left:1px solid #dcdabf!important;min-height:310px}.forest-page .mom-picks .mompick p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.forest-page .mom-picks .mompick.new{box-shadow:var(--shadow)}
.discover-grid .mompick::before{display:none}.forest-page .mom-picks{background:#f4f3e6;border-color:#dcdabf}.forest-page .mompick{background:#fffef8;border-color:#e4dcc4;gap:7px;padding:20px}.forest-page .mompick h2{font-size:18px}.forest-page .mompick p{font-size:13px;line-height:1.6}.forest-page .mompick .mom-view{margin-top:auto}.forest-page .mompick.new{border-color:#b8c887}.forest-page .mom-picks>.card-title .badge{background:#eee6ce;color:#695638}
.forest-calendar-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:18px;align-items:start}.forest-calendar-layout>.card{min-width:0}.forest-calendar-layout .calendar-grid{gap:0}.forest-calendar-layout .day{border-radius:0;border-width:0 1px 1px 0;min-height:85px}.forest-calendar-layout .calendar-grid>b{padding:12px 0;font-size:12px}.forest-calendar-agenda{display:grid;gap:10px}.forest-calendar-agenda h2{font-size:17px}.forest-agenda-event{text-align:left;display:grid;gap:5px;padding:12px;border:1px solid #dedfc9;border-radius:8px;background:#faf9ef;color:#203725;cursor:pointer}.forest-agenda-event small{color:#627052;font-size:11px}.forest-agenda-event strong{font-size:13px}.agenda-art{justify-self:center}.agenda-art .forest-sprite{width:120px;height:120px}
.forest-page[data-page=exams] .exam-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.forest-page[data-page=exams] .exam{display:flex;flex-direction:column;padding:19px;min-width:0}.forest-page[data-page=exams] .exam h2{font-size:17px}.forest-page[data-page=exams] .exam p{font-size:12px}.forest-page[data-page=exams] .exam .days{font-size:22px;border-top:1px solid #e1e1cf;padding-top:10px;margin-top:auto;color:#466632}.forest-pathfinder{background:#f1f3df!important;border-color:#d8dec1!important;min-height:175px}.pathfinder-art{float:right;margin:0 0 10px 20px}.pathfinder-art .forest-sprite{width:135px;height:135px}
.forest-page[data-page=diagnostic] #diagCard{min-height:260px;background:#faf9ed}.assessment-art{float:right;margin:0 0 15px 25px}.assessment-art .forest-sprite{height:160px;width:160px}.forest-page .diag-subject{background:#fffdf5;border:1px solid #dce0c8;border-radius:10px;min-height:135px;color:#233b25;box-shadow:none}.forest-page .diag-subject:hover{border-color:#799752;background:#f0f4de}
.forest-page[data-page=nova] .nova-head{background:none;border:0;box-shadow:none;color:#203725}.forest-page[data-page=nova] .nova-head h1,.forest-page[data-page=nova] .nova-pixel{font-family:var(--font-display);color:#203725;text-shadow:none}.forest-page[data-page=nova] .nova-head .sub{color:#61705d}.forest-page[data-page=nova] .nova-course{border:1px solid #dddcc5;border-radius:10px;box-shadow:none;background:#fffef7}.forest-page[data-page=nova] .nova-cover{height:90px;background:#eef1dd!important}.forest-page[data-page=nova] .nova-cover-initial{color:#466334;text-shadow:none;opacity:.28}.forest-page[data-page=nova] .nova-cover-emoji{font-size:40px}.forest-page[data-page=nova] .nova-course-content{padding:15px}.forest-page[data-page=nova] .nova-course-name{font-size:15px;color:#213a25}.forest-page[data-page=nova] .nova-course-desc{font-size:12px;color:#657057}.forest-page[data-page=nova] .nova-add{background:#355c29;color:#fffdf4;border-radius:6px;box-shadow:none}.forest-page[data-page=nova] .nova-group-head{background:#eff2e0;color:#294527;border-color:#d9dfc4}.forest-page[data-page=nova] .nova-mycourse{background:#fffdf5;border-color:#dce0c8;box-shadow:none}.forest-page #autoCourse{background:#f1f4df;border-color:#d4ddbd}
.forest-page[data-page=growth] .learning-list{grid-template-columns:repeat(3,minmax(0,1fr))}.forest-page[data-page=growth] .task{display:flex;flex-wrap:wrap;align-items:center;background:#fffdf4}.forest-page[data-page=growth] .ach{background:#fffdf5;border-color:#dce0c8;box-shadow:none}.forest-page[data-page=growth] .ach.earned{background:#edf2d9}.forest-page[data-page=growth] .ach-icon{color:#52772e}
.forest-life-feature{display:flex;align-items:center;background:#f5f3e2;border-radius:12px}.forest-life-feature>a{flex:1;border:0;background:none;box-shadow:none}.forest-life-feature>a>h3{display:none}.life-feature-art .forest-sprite{height:170px;width:170px}.forest-page #lifeGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.forest-page #lifeGrid>a{display:flex;flex-direction:column;gap:9px;background:#fffdf4;padding:18px;color:#203725;text-decoration:none}.forest-page #lifeGrid h3{font-size:16px}.life-topic-art{align-self:center}.life-topic-art .forest-sprite{height:94px;width:94px}.forest-page .life-chip.active{background:#355d2a;color:white}.forest-page .life-bi,.forest-page .life-chat .a{background:#faf9ef;border-color:#dfdfca}.forest-page .life-chat .q{background:#edf3de;border-color:#d4ddbc}
.forest-diary-layout{grid-template-columns:280px minmax(0,1fr);align-items:start}.forest-diary-layout>aside{grid-column:1;grid-row:1}.forest-diary-layout>section{grid-column:2;grid-row:1;min-height:540px}.forest-diary-layout .diary-day{display:block;font-size:12px;border-color:#e2dfcc}.forest-diary-layout .diary-day span{display:block;white-space:normal;line-height:1.5}.forest-diary-layout .diary-entry{border:0;border-bottom:1px solid #dedfcd;border-radius:0;padding:12px 0 22px}.forest-diary-layout .diary-entry.editing{background:#fffdf5}.forest-diary-layout textarea{min-height:260px}.forest-diary-layout .cal-grid .dc.sel{background:#3c662d}.forest-page[data-page=diary] input[type=file]{max-width:100%}
.forest-page[data-page=messages]{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-content:start}.forest-page[data-page=messages]>.page-head,.forest-page[data-page=messages]>#searchPanel{grid-column:1/-1}.forest-message-side{text-align:center;min-height:350px}.forest-message-side .forest-sprite{height:110px;width:110px}.forest-message-side p{font-size:13px;color:#697357}.forest-page[data-page=messages] .card-stack{gap:0;border:1px solid #dce0c8;border-radius:13px;overflow:hidden}.forest-page[data-page=messages] .card-stack>.card{border:0;box-shadow:none;border-radius:0}.forest-page[data-page=messages] .card-stack>.card:last-child{border-top:1px solid #e2e2cd;background:#faf9f0}.forest-page[data-page=messages] .msg-thread{min-height:300px;max-height:48vh}.forest-page[data-page=messages] .msg.me{background:#edf2d9;border:1px solid #d5dfbb}.forest-page[data-page=messages] .msg.mum{background:#fffdf5;border:1px solid #e0dfcd}.forest-page[data-page=messages] .choice{gap:8px;flex-wrap:wrap}
.forest-page[data-page=parent] .forest-parent-gate{max-width:540px!important;margin:35px auto!important;text-align:center;padding:35px}.parent-gate-art .forest-sprite{height:140px;width:140px}.forest-parent-gate input{text-align:left}.forest-parent-gate #parentLogin{width:100%}
.forest-page[data-page=spelling] .word-card{grid-template-columns:minmax(0,1fr) 250px;padding:0;overflow:hidden}.forest-page[data-page=spelling] .word-main{padding:26px}.forest-page[data-page=spelling] .family{border:0;border-left:1px solid #e0dfc9;border-radius:0;padding:23px}.forest-page[data-page=spelling] .word{font-size:clamp(30px,4vw,48px);color:#19371f;overflow-wrap:anywhere}.forest-page[data-page=spelling] .steps{flex-wrap:wrap}.forest-page[data-page=spelling] .step{border:1px solid #dce0ca;background:#fffdf5;border-radius:8px;color:#637453}.forest-page[data-page=spelling] .step.active{background:#e9efce;color:#2d5128}.forest-page[data-page=spelling] .study-panel{padding:20px}.forest-page[data-page=spelling] .word-card:has(>.family[hidden]){grid-template-columns:1fr}
.forest-writing-focus{background:#f3f3e2!important;max-width:100%}.forest-page[data-page=writing] #writingEditor{background:#fffdf5}.forest-page[data-page=writing] #writingText{min-height:380px;line-height:1.85}.forest-page[data-page=handwriting] .input[type=file]{padding:30px;border:1px dashed #91a46d;background:#f6f6e9}.forest-reading-layout{grid-template-columns:1fr 1fr 1fr;align-items:start}.forest-reading-layout>.card{min-width:0}.reading-cover-art{display:block;text-align:center}.reading-cover-art .forest-sprite{width:125px;height:125px}.forest-reading-session .study-panel{border:0;background:none;padding:0}.forest-reading-session h2{font-size:18px}.forest-reading-session label{display:block;margin:15px 0}.treasure-art{display:block;text-align:center}.treasure-art .forest-sprite{height:80px;width:80px}.forest-reading-layout textarea{min-height:150px}
.forest-page[data-page=practice] #practiceQuiz{max-width:950px;margin:auto}.forest-page[data-page=practice] fieldset{padding:20px;margin-bottom:20px;background:#fffdf5}.forest-page[data-page=practice] fieldset label{padding:12px;border:1px solid #e0e2ce;border-radius:8px;margin-top:9px;cursor:pointer}.forest-page[data-page=practice] fieldset label:has(input:checked){border-color:#709346;background:#edf3da}.forest-page[data-page=practice] #submitPractice{min-width:220px}.forest-page[data-page=mini] .card{background:#fffdf4}
.overlay .overlay-card,.overlay .overlay-panel,.modal .modal-card,.modal-backdrop .modal-card{background:#fffdf5;border:1px solid #d9ddc4;color:#203725;box-shadow:0 20px 60px #142a2030}.overlay h2,.modal h2,.modal-backdrop h3{color:#203725}.forest-page .scores{gap:8px}.forest-page .score{background:#f1f3e3}.forest-page .score b{color:#35592b}
@media(max-width:1100px){.forest-page[data-page=exams] .exam-list,.forest-page #lifeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.forest-calendar-layout{grid-template-columns:minmax(0,1.6fr) minmax(200px,1fr)}.forest-diary-layout{grid-template-columns:230px minmax(0,1fr)}.forest-page[data-page=messages]{grid-template-columns:180px minmax(0,1fr)}.forest-reading-layout{grid-template-columns:1fr 1fr}.forest-reading-layout>section:last-child{grid-column:1/-1}.forest-dashboard #discoverPreview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.forest-page .page-head{padding-right:65px;min-height:80px}.page-art .forest-sprite{width:64px;height:64px}.forest-calendar-layout,.forest-diary-layout,.forest-reading-layout,.forest-page[data-page=messages]{display:block}.forest-calendar-agenda{margin-top:15px}.forest-diary-layout>aside{margin-bottom:15px}.forest-diary-layout{display:flex;flex-direction:column}.forest-diary-layout>aside,.forest-diary-layout>section{width:100%}.forest-diary-layout>aside{order:-1}.forest-message-side{display:none}.forest-page[data-page=messages] .msg-thread{min-height:230px}.forest-page[data-page=exams] .exam-list,.forest-page #lifeGrid,.forest-page[data-page=growth] .learning-list{grid-template-columns:1fr}.forest-page[data-page=spelling] .word-card{grid-template-columns:1fr}.forest-page[data-page=spelling] .family{border-left:0;border-top:1px solid #dce0c8}.forest-page[data-page=spelling] .word-main{padding:18px}.forest-reading-layout>.card{margin-bottom:15px}.life-feature-art .forest-sprite{height:90px;width:90px}.assessment-art .forest-sprite{width:95px;height:95px}.forest-page[data-page=parent] .forest-parent-gate{padding:23px}.forest-dashboard #discoverPreview{grid-template-columns:1fr 1fr}.forest-dashboard .end-grid{display:block}.forest-end-day,.forest-habit-drawer{margin-bottom:12px}.forest-view-all{position:static;display:block;margin-bottom:10px}.pathfinder-art .forest-sprite{width:85px;height:85px}.forest-page .choice{flex-wrap:wrap}.forest-page .card-title{flex-wrap:wrap}}

.fq-writing-workspace{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.7fr);gap:20px;align-items:start}.fq-writing-workspace .forest-writing-focus{position:sticky;top:20px;padding:22px;background:#fffdf5!important}.fq-writing-workspace .friends{width:170px;height:170px;margin:auto}.fq-writing-workspace #writingEditor{margin:0;padding:24px}.fq-writing-workspace #writingEditor h2{font-size:19px}.fq-writing-workspace #writingText{border:1px solid #dedcc7;border-radius:9px;min-height:360px}.fq-writing-workspace #writeNowHandwriting{background:#faf9f0;border-style:dashed}
.fq-assessment-intro{display:flex;gap:25px;align-items:center;justify-content:space-between;background:#fffdf5 url('/assets/forest-panorama.png') right bottom/auto 100% no-repeat;border:1px solid #dedcc6;border-radius:13px;min-height:260px;padding:25px;margin-bottom:20px}.fq-assessment-copy{max-width:420px;padding:20px;background:#fffdf5ed;border-radius:10px}.fq-assessment-copy h2{font-size:27px;margin-bottom:13px}.fq-assessment-copy p{font-size:15px;line-height:1.7}.fq-assessment-intro>.dingo{width:200px;height:220px;margin-right:35px}.fq-assessment-subjects .ach-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.fq-assessment-subjects .diag-subject{padding:12px 8px;min-width:0}.fq-assessment-subjects .ach-icon{height:auto;width:auto;margin:0;background:none}.subject-art .forest-sprite{height:65px;width:65px}
.forest-life-feature>.friends{width:260px;height:240px;margin-right:25px}.forest-life-feature{min-height:260px;background:#fffdf5 url('/assets/forest-panorama.png') right center/auto 100% no-repeat}.forest-life-feature>a{max-width:60%;padding:25px;background:#fffdf5e8;border-radius:10px;margin:20px}.forest-life-feature>a h2{font-size:28px;line-height:1.2}.forest-page[data-page=life] #lifeGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.forest-page[data-page=life] #lifeGrid>a{padding:12px}.forest-page[data-page=life] #lifeGrid h3{font-size:14px}.forest-page[data-page=life] .life-topic-art .forest-sprite{height:85px;width:85px}
.forest-page[data-page=nova]>.page-head>.robot{width:160px;height:160px;position:absolute;right:0;top:-15px}.forest-page[data-page=nova]>.page-head{padding-right:190px;min-height:140px}.forest-page[data-page=nova] .autoc-hero{background:#fffdf5;border:1px solid #dedcc6;border-radius:12px;padding:25px}.forest-page[data-page=nova] #autoCourse{padding:0;border:0;background:none}.forest-page[data-page=nova] .autoc-box{display:flex;gap:12px;padding:14px;background:#f4f3e7;border-radius:10px}.forest-page[data-page=nova] .autoc-box input{flex:1;min-width:0}.forest-page[data-page=nova] .autoc-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.forest-page[data-page=nova] .autoc-chips button{font-size:12px;padding:8px 11px;border:1px solid #dedcc6;background:#fffef7;border-radius:20px}.forest-page[data-page=nova] .nova-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.forest-page[data-page=nova] .nova-mycourse-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.forest-parent-gate>.key{width:210px;height:210px;margin:0 auto 15px}.forest-page[data-page=spelling] #spellingClues{position:relative;padding-right:210px;min-height:200px}.forest-page[data-page=spelling] #spellingClues>.friends{position:absolute;right:0;top:0;width:200px;height:200px}
.fq-question-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.fq-question-number{width:36px;height:36px;border:1px solid #d8ddc3;background:#fffef5;border-radius:8px;cursor:pointer;color:#345729}.fq-question-number.active{background:#426b2d;color:white;border-color:#426b2d}.fq-question-move{display:flex;gap:12px;justify-content:space-between;margin:15px 0}.forest-page[data-page=practice] #practiceQuiz{min-height:480px;padding:25px}.forest-page[data-page=practice] #practiceQuiz fieldset{border:0;padding:0;background:none}.forest-page[data-page=practice] #practiceQuiz legend{font-size:21px;line-height:1.5;margin-bottom:15px}.forest-page[data-page=practice] #practiceQuiz [hidden]{display:none!important}
.forest-page .cv-head{background:#fffdf5;border:1px solid #dedcc6;border-radius:14px;padding:25px}.forest-page .cv-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.forest-page .cv-item{background:#fffef6;border:1px solid #dedcc6;border-radius:11px;padding:20px;display:flex;gap:12px;flex-wrap:wrap}.forest-page .cv-no{background:#e8efce;color:#40612b;border-radius:8px;padding:10px}.forest-page .cv-title{font-size:18px;color:#233d25}.forest-page .cv-body{min-width:0;flex:1}.forest-page .cv-item .btn{align-self:flex-end}.forest-page .cv-goal,.forest-page .cv-summary{color:#617057;font-size:13px;line-height:1.65}
@media(max-width:1100px){.fq-assessment-subjects .ach-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.forest-page[data-page=life] #lifeGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.forest-page[data-page=nova] .nova-grid,.forest-page[data-page=nova] .nova-mycourse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fq-writing-workspace{grid-template-columns:1fr}.fq-writing-workspace .forest-writing-focus{position:static}.fq-writing-workspace .friends{float:right;width:120px;height:120px}.forest-page[data-page=spelling] #spellingClues{padding-right:130px}.forest-page[data-page=spelling] #spellingClues>.friends{width:125px;height:125px}}
@media(max-width:760px){.fq-assessment-intro{min-height:210px;padding:15px;gap:0}.fq-assessment-copy{padding:12px;max-width:75%}.fq-assessment-copy h2{font-size:22px}.fq-assessment-copy p{font-size:12px}.fq-assessment-intro>.dingo{width:95px;height:110px;margin:0}.fq-assessment-subjects .ach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forest-life-feature{min-height:210px}.forest-life-feature>a{padding:15px;margin:10px;max-width:70%}.forest-life-feature>a h2{font-size:21px}.forest-life-feature>.friends{width:100px;height:120px;margin:0}.forest-page[data-page=life] #lifeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.forest-page[data-page=nova]>.page-head{padding-right:80px;min-height:100px}.forest-page[data-page=nova]>.page-head>.robot{width:90px;height:90px}.forest-page[data-page=nova] .autoc-box{display:grid}.forest-page .cv-list{grid-template-columns:1fr}.forest-page[data-page=spelling] #spellingClues{padding-right:0}.forest-page[data-page=spelling] #spellingClues>.friends{display:none}.fq-writing-workspace #writingEditor{padding:16px}.fq-question-move .btn{font-size:11px}.forest-page[data-page=practice] #practiceQuiz{padding:18px}}
.fq-character{display:block;flex:none;width:160px;height:160px;background:url('/assets/forest-characters.png') no-repeat;background-size:200% 200%;background-position:0 0}.fq-character.robot{background-position:100% 0}.fq-character.friends{background-position:0 100%}.fq-character.key{background-position:100% 100%}
.forest-dashboard.fq-home{padding:0 25px 35px;background:#faf9f2}.fq-home .hero.fq-landscape{background:url('/assets/forest-panorama.png') center/cover no-repeat;margin:0 -25px;padding:28px 28px 40px;min-height:230px;border-radius:0;isolation:auto}.fq-home .hero h1{font-size:clamp(28px,3.1vw,43px);max-width:70%;margin:0 0 18px;color:#102d1b}.fq-home .hero>.sub{display:block;background:#fffdf5;border:1px solid #dfdcc9;box-shadow:0 3px 12px #263b2512;border-radius:12px;padding:18px 22px;font-size:15px;line-height:1.65;width:480px;max-width:58%;margin:0}.fq-home .hero>.sub small{display:none}.fq-home .hero>.sub b{display:block;font-weight:500}.fq-home .hero>.sub br{display:none}
.fq-start-stage{position:relative;margin:-20px 0 14px;background:#fffef8;border:1px solid #dedcc5;border-radius:14px;padding:20px;box-shadow:0 3px 10px #28382112}.fq-start-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:center}.fq-home .fq-start-top .forest-primary{background:none;border:0;box-shadow:none;width:100%;padding:0;display:flex;flex-direction:row;gap:12px;min-height:175px}.fq-home .fq-start-top .forest-primary>div{flex:1}.fq-home .fq-start-top .forest-primary h2{color:#17341e;font-size:26px}.fq-home .fq-start-top .forest-primary p{color:#475541;font-size:15px}.fq-home .fq-start-top .forest-primary .btn{background:#426529;border:1px solid #3b5925;color:#fffef5;font-size:15px;min-height:44px}.fq-home .fq-start-top .dingo{width:130px;height:160px;background-size:246% 200%;background-position:0 0}
.fq-intro-steps{display:flex;align-items:center;gap:12px;list-style:none;padding:15px 10px;margin:0;border:1px solid #e0ddc5;border-radius:11px;background:#fcfbf4}.fq-intro-steps li{flex:1;text-align:center;position:relative;font-size:11px;color:#304529}.fq-intro-steps li:not(:last-child)::after{content:'→';position:absolute;right:-12px;top:38%;color:#949777;font-size:20px}.intro-step-art .forest-sprite{width:75px;height:75px}.fq-intro-steps li>span:last-child{display:block;line-height:1.4}
.fq-home .fq-start-stage>.forest-route-card{border:1px solid #e2dfc9;background:#fcfbf5;box-shadow:none;border-radius:10px;margin:18px 0 0;padding:16px}.fq-home .fq-start-stage .preview-sprite{display:none}.fq-route-body{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:center}.fq-route-preview{display:flex;gap:18px;align-items:center}.fq-route-stop{flex:1;text-align:center;position:relative}.fq-route-stop:not(:last-child)::after{content:'→';position:absolute;right:-20px;top:30%;font-size:24px;color:#a6a688}.route-stop-art .forest-sprite{width:85px;height:85px;filter:grayscale(.85);opacity:.3}.fq-route-stop small{display:block;font-size:11px;color:#7c8067}.fq-home .fq-route-body .quest-route{display:block}.fq-home .fq-route-body .quest-route p{font-size:13px}.fq-home .fq-route-body .quest-route .btn{margin-top:10px;font-size:12px}
.fq-home .section:has(>#discoverPreview){padding:16px;border:1px solid #dedcc6;border-radius:13px;background:#fffef8;margin-top:12px}.fq-home .forest-view-all{right:18px;top:18px}.fq-home #discoverPreview .discover{padding:0 0 12px;border-radius:10px;overflow:hidden;background:#fffef8;box-shadow:none;border:1px solid #e2ddc6}.fq-home #discoverPreview .discover::before{height:auto;aspect-ratio:1.76;display:block;width:100%;background-image:url('/assets/discover-scenes.png');background-size:200% 200%;background-position:0 0;margin:0 0 10px;border-radius:0}.fq-home #discoverPreview .discover.ai::before{background-position:100% 0}.fq-home #discoverPreview .discover.quest::before{background-position:0 100%}.fq-home #discoverPreview .discover.kids::before{background-position:100% 100%}.fq-home #discoverPreview .discover>small,.fq-home #discoverPreview .discover>h3,.fq-home #discoverPreview .discover>p,.fq-home #discoverPreview .discover>a{margin-left:12px;margin-right:12px}.fq-home #discoverPreview .discover>small{font-size:10px;margin-bottom:5px}.fq-home #discoverPreview .discover>h3{font-size:14px}.fq-home #discoverPreview .discover>a{background:none;padding:0;font-size:12px;border:0;box-shadow:none;color:#345925}
.fq-home .end-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-top:12px}.fq-home #todaysHabits{order:0;min-width:0;margin:0;padding:16px;border-color:#dedcc6;background:#fffef8}.fq-home #todaysHabits h2{font-size:18px}.fq-home .habits-progress{display:none}.fq-home #habitList{display:flex;justify-content:space-between;gap:10px}.fq-home .habit-row{display:flex;flex-direction:column;gap:6px;border:0;padding:0;flex:1;text-align:center;position:relative}.fq-home .habit-check{width:36px;height:36px;border-radius:50%;border:1.5px solid #6b8b3c;background:#fffef8;color:#426727;cursor:pointer;display:grid;place-items:center;min-height:36px;padding:0;font-size:20px}.fq-home .habit-row.done .habit-check{background:#547632;color:white}.fq-home .habit-name{font-size:10px;line-height:1.3;max-width:90px}.fq-home .habits-foot{margin-top:12px;opacity:.9}.fq-home .habits-add input{min-height:30px!important;font-size:11px!important;padding:6px}.fq-home .habits-foot .btn{font-size:11px;min-height:30px;padding:4px 9px}.fq-home .habit-edit-btn{font-size:11px}.fq-journal-entry{display:flex;align-items:center;gap:15px;border:1px solid #dedcc6;border-radius:13px;background:#fffef8;padding:20px}.journal-book .forest-sprite{width:90px;height:90px}.fq-journal-entry h2{font-size:20px;margin:0 0 5px}.fq-journal-entry p{font-size:12px;color:#647056}.fq-journal-entry .btn{min-height:38px}.fq-home #homeReflection:not([hidden]){margin-top:15px;animation:fq-reveal .24s ease-out both}
.fq-generation{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center;max-width:1000px;margin:60px auto;background:#fffef8;border:1px solid #dcdcc6;border-radius:18px;padding:35px;box-shadow:0 8px 30px #203b2310}.fq-builder-scene{position:relative;display:grid;place-items:center;min-height:320px;background:url('/assets/forest-panorama.png') right bottom/auto 100% no-repeat;border-radius:14px;overflow:hidden}.fq-builder-scene .robot{width:240px;height:240px;position:relative;z-index:1}.fq-generation h1{font-size:30px;line-height:1.2;color:#1f4025}.fq-generation-topic{font-size:18px;font-weight:650;color:#42632f}.fq-generation [role=status]{font-size:14px;color:#627354;line-height:1.7}.fq-working-track{height:5px;overflow:hidden;background:#e4e9d2;border-radius:4px;margin:24px 0}.fq-working-track span{display:block;height:100%;width:30%;background:#6f963d;animation:fq-working 2.4s ease-in-out infinite}.fq-build-stages{display:flex;list-style:none;padding:0;gap:15px;font-size:12px;color:#7c856a}.fq-build-stages li{flex:1;border-top:2px solid #dce2cc;padding-top:10px}.fq-build-stages .active{color:#3c632b;border-color:#719c3e}.fq-wait-note{font-size:11px;color:#6b755b;line-height:1.5}.fq-generation .btn{margin-top:12px}.fq-generation.compact{grid-template-columns:180px 1fr;margin:20px 0;padding:20px;gap:24px;box-shadow:none}.fq-generation.compact .fq-builder-scene{min-height:190px}.fq-generation.compact .robot{width:160px;height:160px}.fq-generation.compact h1{font-size:23px}.builder-block{position:absolute;width:20px;height:20px;background:#94b557;bottom:25px;right:25px;animation:fq-block 2.8s ease-in-out infinite}.builder-block.b2{right:50px;animation-delay:.3s;background:#c5d990}.builder-block.b3{right:75px;animation-delay:.6s;background:#719644}
@keyframes fq-working{0%{transform:translateX(-100%)}70%,100%{transform:translateX(440%)}}@keyframes fq-block{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-22px);opacity:1}}@keyframes fq-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.fq-start-top{grid-template-columns:1fr}.fq-intro-steps{padding:8px}.fq-home .fq-start-top .forest-primary{min-height:140px}.fq-home .hero.fq-landscape{min-height:210px}.fq-home .hero h1{max-width:100%}.fq-home .end-grid{grid-template-columns:1fr}.fq-generation{gap:20px;padding:24px;margin:30px auto}.fq-generation h1{font-size:25px}}
@media(max-width:760px){.forest-dashboard.fq-home{padding:0 14px 24px}.fq-home .hero.fq-landscape{margin:0 -14px;padding:24px 18px 36px;min-height:210px}.fq-home .hero h1{font-size:27px}.fq-home .hero>.sub{max-width:100%;font-size:12px;padding:12px 15px;width:100%}.fq-start-stage{padding:13px}.fq-home .fq-start-top .dingo{width:80px;height:100px}.fq-home .fq-start-top .forest-primary h2{font-size:21px}.fq-home .fq-start-top .forest-primary p{font-size:12px}.fq-home .fq-start-top .forest-primary .btn{font-size:12px}.fq-intro-steps{gap:7px}.intro-step-art .forest-sprite{width:55px;height:55px}.fq-intro-steps li{font-size:10px}.fq-route-body{display:block}.fq-route-preview{gap:9px}.route-stop-art .forest-sprite{width:55px;height:55px}.fq-route-stop:not(:last-child)::after{right:-12px;font-size:18px}.fq-home .fq-route-body .quest-route{margin-top:14px}.fq-home .section:has(>#discoverPreview){padding:12px}.fq-home .forest-view-all{position:static;font-size:11px}.fq-home #discoverPreview{gap:8px}.fq-home #discoverPreview .discover>h3{font-size:12px}.fq-home #discoverPreview .discover>p{font-size:11px}.fq-home #habitList{flex-wrap:wrap}.fq-home .habit-row{min-width:55px}.fq-generation,.fq-generation.compact{display:block;padding:18px;margin:20px auto}.fq-builder-scene{min-height:210px}.fq-builder-scene .robot{width:190px;height:190px}.fq-generation h1{font-size:25px;margin-top:20px}.fq-build-stages{gap:8px;font-size:11px}}
.fq-writing-brief{min-width:0;display:grid;gap:16px}.fq-writing-brief .forest-writing-focus{position:static}.fq-writing-brief .prompt-controls{display:grid;grid-template-columns:1fr;gap:12px}.fq-writing-brief label,.fq-writing-brief select{min-width:0;max-width:100%;width:100%}.fq-writing-brief .card{padding:20px}.fq-writing-brief h2{font-size:19px}.fq-writing-brief .sub{font-size:12px;line-height:1.65}.fq-writing-workspace #writingEditor{grid-column:2;grid-row:1}.fq-writing-brief+.card{min-width:0}.fq-writing-workspace{margin-bottom:24px}
.forest-message-side .btn{display:block;width:100%;margin:10px 0}.fq-chat-date{display:block;width:100%;text-align:left;padding:12px;border:1px solid #dbe1c8;border-radius:8px;background:#fffef8;color:#35562c;margin-top:8px;cursor:pointer}
.forest-page .modal:not(.hidden) .modal-card,.forest-event-dialog[open]{animation:fq-reveal .18s ease-out}.forest-page .btn{transition:background-color .15s,box-shadow .15s,transform .15s}.forest-page .btn:active{transform:translateY(1px)}.fq-question-number.active{box-shadow:0 0 0 3px #e0e9cd}
@media(max-width:1100px){.fq-writing-workspace #writingEditor{grid-column:auto;grid-row:auto}}
@media(prefers-reduced-motion:reduce){.fq-working-track span,.builder-block,.fq-home #homeReflection,.forest-page .modal:not(.hidden) .modal-card,.forest-event-dialog[open]{animation:none!important}.fq-working-track span{width:100%;opacity:.5}.forest-page .btn{transition:none}}

/* Editorial hierarchy: large navigation scenes, quiet workspaces, readable detail. */
.forest-page .page-head{align-items:center;margin-bottom:12px}
.forest-page .page-head h1{font-size:30px;line-height:1.22}
.forest-page .page-head .sub{max-width:72ch;line-height:1.65}
.forest-page .tabs{gap:4px;margin-bottom:22px;padding:4px;background:#eaf0e2;border-radius:10px;width:fit-content;max-width:100%}
.forest-page .tabs .tab{background:transparent;border-color:transparent;padding:10px 15px;min-height:42px}
.forest-page .tabs .tab:is(.active,.on){background:#fffef9;color:#284e27;border-color:#d6dfc8;box-shadow:0 1px 3px #244b1510}
.forest-page :is(.study-panel,.issue)>h3{font-size:16px;margin-bottom:10px}
.forest-page .issue{padding:16px 18px}
.forest-page :is(.issue,.study-panel) p:last-child{margin-bottom:0}
.forest-page :is(.empty,.sub){text-wrap:pretty}
.forest-page .empty{font-size:14px;line-height:1.7;color:#61705d}
.forest-page .scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:0}
.forest-page .score{background:none;border:0;border-right:1px solid var(--line);border-radius:0;padding:16px}
.forest-page .score:last-child{border-right:0}
.forest-page .score b{font-size:27px;font-weight:750;font-variant-numeric:tabular-nums}
.forest-page .score small{font-size:12px;line-height:1.5}

/* Writing has one working canvas, with optional tools disclosed below it. */
.fq-writing-workspace{grid-template-columns:minmax(250px,.75fr) minmax(0,1.65fr);gap:24px}
.fq-writing-workspace #writingEditor{padding:28px;background:#fffefa}
.fq-writing-workspace #writingEditor>h2{font-size:21px;margin:0 0 22px}
.fq-field-label{display:block;font-size:12px;font-weight:700;color:#58694c;letter-spacing:.025em;margin:18px 0 7px}
.fq-writing-workspace #writingTitle{width:100%;padding:12px 14px;font-size:16px;font-weight:600}
.fq-writing-workspace #writingText{width:100%;padding:18px;min-height:380px;background:#fffefc;line-height:1.9;border-color:#d8dfce}
.fq-writing-workspace #writingEditor>.card-title{margin:14px 0 0;gap:12px;flex-wrap:wrap}
.fq-writing-workspace #writingWordCount{font-size:12px;flex:1}
.fq-writing-upload{margin-top:22px;border-top:1px solid var(--line);padding-top:9px}
.fq-writing-upload>summary{font-size:13px;padding:10px 0}
.fq-writing-upload .issue{margin:0;background:#f5f7ee;border-style:solid!important}
.fq-writing-upload input[type=file]{width:100%}
.fq-writing-brief .prompt-controls label{font-size:13px;font-weight:600;display:grid;gap:6px}
.fq-writing-brief .prompt-controls select{font-size:13px;padding:10px}
.fq-writing-brief .card{box-shadow:none}
.fq-writing-brief .card h2{font-size:17px;line-height:1.4}
.fq-writing-workspace .exam-writing-task{padding:20px;margin-bottom:22px;background:#f2f5e9;border:1px solid #dbe3cf;border-radius:10px}
.fq-writing-workspace .exam-writing-task .task-prompt{font-size:17px;line-height:1.75}
.forest-page[data-page=writing] .rewriteText{margin:14px 0;min-height:130px;padding:14px}
.forest-page[data-page=writing] .columns>.card>h2:not(:first-child){margin-top:28px}

/* Reading: separate book identity, session evidence and collected treasures. */
.forest-reading-layout{gap:22px;grid-template-columns:minmax(210px,.85fr) minmax(0,1.15fr) minmax(0,1fr)}
.forest-reading-layout>.card{padding:24px;box-shadow:none}
.forest-reading-session h2{font-size:20px;margin-bottom:20px}
.forest-reading-layout label{display:grid;gap:7px;font-size:13px;font-weight:600;margin:16px 0}
.forest-reading-layout input,.forest-reading-layout textarea,.forest-reading-layout select{width:100%;font-weight:400;padding:11px 12px}
.forest-reading-layout input[type=checkbox]{width:auto}
.forest-reading-layout .choice{gap:9px;margin-top:15px}
.forest-reading-layout .choice .btn{flex:1}
.forest-reading-layout .study-panel{margin-top:0}
.forest-reading-layout .treasure{box-shadow:none;padding:15px}

/* Practice: the learner's answer remains primary; coaching is still gated. */
.fq-practice-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.38fr);gap:24px;align-items:start}
.forest-page[data-page=practice] .fq-practice-workspace #practiceQuiz{width:100%;margin:0;padding:26px}
.fq-practice-support{display:grid;gap:16px;min-width:0}
.fq-practice-guide{padding:22px;box-shadow:none;background:#f3f6e9}
.fq-practice-guide .robot{display:block;width:118px;height:118px;margin:0 auto 16px}
.fq-practice-guide h2{font-size:18px}
.fq-practice-guide p{font-size:14px;line-height:1.75}
.fq-practice-guide .sub{font-size:12px;padding-top:14px;border-top:1px solid #d8e1c8}
.fq-practice-support:has(#practiceSummary:not(:empty)) .fq-practice-guide{display:none}
.fq-practice-support #practiceSummary:empty{display:none}
.fq-practice-support #practiceSummary h2{font-size:22px;line-height:1.4}
.fq-practice-support #practiceSummary .btn{width:100%;margin-top:9px}
.forest-page[data-page=practice] #practiceQuiz fieldset{border:0;box-shadow:none;background:none;padding:16px 0 0;margin:16px 0 24px;min-width:0}
.forest-page[data-page=practice] #practiceQuiz legend{font-size:20px;line-height:1.55;padding:0;max-width:100%}
.forest-page[data-page=practice] #practiceQuiz fieldset>.sub{font-size:12px;margin:6px 0 18px}
.forest-page[data-page=practice] #practiceQuiz fieldset label{font-size:15px;line-height:1.6;padding:14px;display:flex;align-items:baseline;gap:10px}
.forest-page[data-page=practice] .nova-helper{margin:0;border:1px solid #ccd9be;border-radius:12px;box-shadow:none;background:#fffefa}
.forest-page[data-page=practice] .nh-head{background:#eaf0df;color:#2b5229;line-height:1.5;padding:16px;font-size:14px}
.forest-page[data-page=practice] .nh-body{padding:15px}
.forest-page[data-page=practice] .nh-input{flex-wrap:wrap}
.forest-page[data-page=practice] .chip-btn{border-radius:6px;padding:8px 10px;text-align:left}

/* Exam cards separate identity, status, dates and secondary instructions. */
.forest-page[data-page=exams] .forest-pathfinder{min-height:155px;padding:24px 28px;background:#eef3e2!important;box-shadow:none}
.forest-page[data-page=exams] .forest-pathfinder h2{font-size:23px}
.forest-page[data-page=exams] .forest-pathfinder .sub{max-width:70ch}
.fq-pathfinder-copy{flex:1;min-width:0}
.fq-pathfinder-copy h2{margin:0 0 12px}
.fq-pathfinder-copy .fq-pathfinder-note{font-size:12px;margin:12px 0 0}
.forest-page .essay-text{background:#fffefb;border-color:#dbe1d1;padding:22px 26px}
.forest-page .essay-text p{color:var(--ink);max-width:72ch;line-height:1.85;margin-bottom:18px}
@media(max-width:760px){
  .shell .sidebar .nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:16px}
  .shell .sidebar .forest-nav-group{display:contents}
  .shell .sidebar .nav a{min-width:0;min-height:44px;padding:7px 6px;gap:6px;font-size:11px}
  .shell .sidebar .nav a span{overflow-wrap:normal;line-height:1.4}
}
.fq-exam-add{margin:22px 0;background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:5px 18px}
.fq-exam-add>summary{font-size:14px;padding:12px 0}
.fq-exam-add #examAddPanel{margin:0;border:0;box-shadow:none;padding:10px 0 16px}
.forest-page[data-page=exams] .exam-list{gap:20px;align-items:start}
.forest-page[data-page=exams] .exam-opportunity{padding:22px;box-shadow:none}
.exam-opportunity .fq-exam-heading{display:block;margin:0 0 18px}
.exam-opportunity .fq-exam-heading h2{font-size:20px;line-height:1.35;margin:14px 0 8px}
.exam-opportunity .fq-exam-heading p{font-size:13px;line-height:1.6;margin:0 0 12px;color:#61705d}
.exam-opportunity .fq-exam-heading p b{font-weight:500}
.exam-opportunity .fq-exam-heading>.badge{font-size:10px;background:none;padding:0;border:0;color:#68755f}
.exam-opportunity .issue{padding:13px 15px;background:#f7f4e5;border:0;border-left:3px solid #c6b97c}
.exam-opportunity .issue.good{background:#edf4e5;border-left-color:#81a35c}
.exam-opportunity .issue p{font-size:13px;line-height:1.65}
.exam-opportunity .issue>b{font-size:12px}
.exam-opportunity .fq-exam-facts{display:block;margin:18px 0;font-size:13px}
.exam-opportunity .fq-exam-facts p{display:flex;justify-content:space-between;gap:10px;margin:9px 0}
.exam-opportunity .fq-exam-facts p b{font-weight:600}
.exam-opportunity .fq-exam-facts h3{margin:18px 0 8px;font-size:14px}
.exam-opportunity :is(ul,ol){font-size:13px;line-height:1.7;padding-left:20px}
.exam-opportunity>details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:16px 0}
.exam-opportunity .fq-exam-actions{display:flex;gap:8px;flex-wrap:wrap}
.exam-opportunity .fq-exam-actions .btn{font-size:12px;flex:1}

/* Life cards and statistics are editorial surfaces, not giant text links. */
.forest-life-feature>a{color:var(--ink);text-decoration:none}
.forest-life-feature>a:hover h2{color:#496b2b}
.forest-life-feature>a h2{letter-spacing:-.035em}
.forest-page[data-page=life] #lifeGrid>a{padding:18px;gap:12px;box-shadow:none}
.forest-page[data-page=life] #lifeGrid h3{font-size:15px;line-height:1.45}
.forest-page[data-page=life] #lifeGrid p{font-size:13px;line-height:1.65}
.forest-page[data-page=growth] .ustats{gap:0;border-bottom:1px solid var(--line);padding:8px 0 24px;margin-bottom:24px}
.forest-page[data-page=growth] .ustats>div{background:none;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;padding:12px 20px;text-align:left}
.forest-page[data-page=growth] .ustats>div:last-child{border-right:0}
.forest-page[data-page=growth] .ustats b{font-size:32px;line-height:1.4;font-variant-numeric:tabular-nums}
.forest-page[data-page=growth] .ustats span{font-size:12px;color:#61705d}
.fq-growth-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:26px;padding:36px!important;max-width:100%}
.growth-empty-art .forest-sprite{width:140px;height:140px}
.forest-diary-layout>.card,.forest-diary-layout>aside>.card{box-shadow:none}
.forest-diary-layout .diary-entry{line-height:1.85}
.forest-diary-layout .diary-entry textarea{padding:18px;background:#fffefc}
.forest-page[data-page=messages] .msg{padding:16px 18px;line-height:1.8;font-size:15px;max-width:min(90%,620px)}
.forest-page[data-page=messages] .msg small{font-size:11px;line-height:1.4;display:block;margin-top:7px}
.forest-page[data-page=messages] .msg-thread{padding:22px;scrollbar-width:thin}
.forest-page :is(.lesson-scene,.passage-block,.essay-raw){line-height:1.85;overflow-wrap:anywhere}
.forest-page .lesson-scene{padding:28px;box-shadow:none}
.forest-page .lesson-scene :is(h2,h3){margin-bottom:18px}
.forest-page .lesson-scene :is(p,li){font-size:16px;line-height:1.85}
.forest-page .lesson-scene .btn{font-size:14px}
.forest-page .fq-life-reader{max-width:860px;margin:12px auto;padding:32px 40px;box-shadow:none}
.fq-life-reader>h1{font-size:32px;line-height:1.25;max-width:24ch;margin:20px 0}
.forest-page .fq-life-reader .life-bi{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:26px 0 10px;margin:24px 0}
.fq-life-reader .life-bi>h3{font-size:11px;letter-spacing:.08em;color:#637456;margin-bottom:16px}
.fq-life-reader .life-body p{font-size:16px;line-height:1.95;color:#29412a;margin:0 0 20px;max-width:72ch}
.fq-life-reader .life-body{max-width:72ch}
.fq-life-reader .life-ask{margin:20px 0;padding:20px;background:#f3f6e9;border:1px solid var(--line);border-radius:10px}
.fq-life-reader .issue{font-size:14px;line-height:1.75;margin:14px 0}
.forest-page .kg-wrap{border:1px solid var(--line);border-radius:10px;background:#fafbf6;padding:18px 12px;scrollbar-width:thin}
.forest-page .kg-svg{min-width:1000px}
.forest-page .kg-node:hover rect,.forest-page .kg-node:focus-visible rect{stroke:#4e7836;stroke-width:2}
.forest-page .kg-node:focus-visible{outline:none}
.forest-page .kg-detail{padding:20px;background:#f1f5e8;border-color:#d5dfc6;border-radius:10px}
.forest-page .classroom{grid-template-columns:210px minmax(0,1fr);gap:24px}
.forest-page .classroom.rail-off{grid-template-columns:52px minmax(0,1fr)}
.forest-page .slide-rail{background:#f1f5e8;box-shadow:none;border-radius:10px}
.forest-page .classroom-main .page-head{padding-right:0;min-height:85px}
.forest-page .lesson-progress{background:#e5ebdc;height:5px;border-radius:3px}
.forest-page .lesson-progress i{background:#729a43;box-shadow:none}
@media(max-width:760px){.forest-page .fq-life-reader{padding:22px 20px;margin-top:0}.fq-life-reader>h1{font-size:26px}.forest-page .classroom,.forest-page .classroom.rail-off{grid-template-columns:minmax(0,1fr)}.forest-page .slide-rail{max-height:190px}.forest-page .kg-wrap{max-width:100%}}
/* Discover: family recommendations are a compact shelf, not a second dashboard. */
.forest-page[data-page=discover] .mom-picks{padding:0;margin:12px 0 28px;background:none;border:0;box-shadow:none}
.forest-page[data-page=discover] .mom-picks>.card-title{margin:0 0 15px}
.forest-page[data-page=discover] .mom-picks>.discover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.forest-page[data-page=discover] .mom-picks .mompick{display:grid;grid-template-columns:72px minmax(0,1fr);align-content:start;gap:8px 16px;padding:20px;min-height:0;box-shadow:none}
.forest-page[data-page=discover] .mompick>.mum-pick-sprite{width:72px;height:72px;grid-column:1;grid-row:1/6;align-self:start}
.forest-page[data-page=discover] .mompick>:not(.mum-pick-sprite){grid-column:2;min-width:0}
.forest-page[data-page=discover] .mompick>.badge{justify-self:start;align-self:start}
.forest-page[data-page=discover] .mompick h2{font-size:17px;line-height:1.5;margin:0}
.forest-page[data-page=discover] .mompick p{font-size:13px;margin:0;line-height:1.75}
.forest-page[data-page=discover] .mompick>.mom-view{justify-self:start;margin-top:5px;font-size:12px;min-height:38px}
.forest-page[data-page=discover] .mompick>small{font-size:11px;color:#68775c}
.forest-page[data-page=discover] .discover-grid>.discover:not(.mompick){padding:20px;box-shadow:none;gap:8px}
.forest-page[data-page=discover] .discover:not(.mompick)>.badge{align-self:flex-start;font-size:10px;background:none;border:0;padding:0;color:#667657;letter-spacing:.035em}
.forest-page[data-page=discover] .discover:not(.mompick)>h2{font-size:19px;line-height:1.4;margin:0 0 4px}
.forest-page[data-page=discover] .discover:not(.mompick)>p{font-size:14px;line-height:1.75}
.forest-page[data-page=discover] .discover-open-action{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);color:#42652e}
.forest-page[data-page=discover] .discover:not(.mompick)::before{height:120px;background-color:#f1f5e8;border-radius:7px;margin-bottom:10px}
@media(max-width:760px){.forest-page[data-page=discover] .mom-picks>.discover-grid{grid-template-columns:1fr}.forest-page[data-page=discover] .mom-picks .mompick{grid-template-columns:52px minmax(0,1fr);padding:16px;gap:8px 12px}.forest-page[data-page=discover] .mompick>.mum-pick-sprite{width:52px;height:52px}.forest-page[data-page=discover] .mompick>.mom-view{min-height:44px}}
@media(max-width:1150px){.forest-page[data-page=exams] .exam-list{grid-template-columns:repeat(2,minmax(0,1fr))}.forest-reading-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.forest-reading-layout>section:last-child{grid-column:1/-1}.fq-practice-workspace{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:900px){.fq-practice-workspace,.fq-writing-workspace{grid-template-columns:1fr}.fq-writing-workspace #writingEditor{grid-column:1;grid-row:auto}.fq-practice-guide .robot{width:84px;height:84px;float:right;margin-left:20px}.fq-practice-guide .sub{clear:both}.fq-writing-brief .prompt-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.forest-page .page-head h1{font-size:26px}.forest-page .tabs{width:100%}.forest-page .tabs .tab{padding:9px 12px}.forest-page[data-page=exams] .exam-list,.forest-reading-layout{grid-template-columns:1fr}.forest-reading-layout>section:last-child{grid-column:auto}.fq-writing-brief .prompt-controls{grid-template-columns:1fr}.fq-writing-workspace #writingEditor{padding:18px}.forest-page[data-page=practice] .fq-practice-workspace #practiceQuiz{padding:18px}.forest-page[data-page=practice] #practiceQuiz legend{font-size:18px}.forest-page[data-page=practice] #submitPractice{min-width:0;width:100%}.forest-page[data-page=life] #lifeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.forest-page[data-page=life] #lifeGrid>a{padding:13px}.forest-page[data-page=growth] .ustats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.forest-page[data-page=growth] .ustats>div{padding:8px 14px}.forest-page[data-page=growth] .ustats>div:nth-child(2){border-right:0}.fq-growth-empty{flex-direction:column;padding:24px!important;text-align:center;gap:12px}.forest-page .lesson-scene{padding:18px}.forest-page[data-page=messages] .msg-thread{padding:14px}.forest-page[data-page=messages] .msg{padding:13px 15px}.forest-page .score{padding:12px 8px}}

/* Layout repairs: artwork has its own space; decoration never overlaps copy. */
.forest-page[data-page=messages]>.page-head{display:grid;grid-template-columns:minmax(0,1fr) 108px;padding-right:0;align-items:center;gap:12px 24px}
.forest-page[data-page=messages]>.page-head>div{min-width:0}
.forest-page[data-page=messages]>.page-head>.badge{grid-column:1;justify-self:start;white-space:normal}
.forest-page[data-page=messages]>.page-head>.page-art{position:static;grid-column:2;grid-row:1/3;align-self:center}
.message-side-art{display:block;position:static;margin:0 auto 16px}
.forest-page[data-page=messages] .msg-thread{display:flex;flex-direction:column;align-items:stretch;gap:16px}
.forest-page[data-page=messages] .msg{display:flex;align-items:flex-start;gap:12px;flex:none;min-width:0;overflow-wrap:anywhere}
.forest-page[data-page=messages] .msg.me{flex-direction:row-reverse}
.msg-content{min-width:0;flex:1}
.msg-content p{margin:6px 0 0;white-space:pre-wrap}
.msg-content audio{display:block;max-width:100%}
.family-avatar{display:block;flex:0 0 44px;width:44px;height:44px;padding:3px;background:#e9efdc;border:1px solid #cfd9bd;border-radius:10px}
.family-avatar>svg,.family-avatar .forest-sprite{display:block;width:100%;height:100%}
.family-avatar.mum{background:#f3ebd9;border-color:#e0d1b5}
.family-participants{display:flex;flex-wrap:wrap;gap:20px;margin-top:14px}
.family-participants>span{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650}
.forest-page[data-page=messages] .card-stack{min-width:0;align-self:start}
.forest-page[data-page=messages] .msg-meta{font-size:12px;line-height:1.5;display:block}
.forest-page[data-page=messages] .forest-message-side{align-self:start}
.forest-page[data-page=messages]>.remembered-tutor{grid-column:1/-1;min-width:0;margin:0;align-self:start}
.fq-home .end-grid{align-items:stretch}
.fq-home #todaysHabits,.fq-home .fq-journal-entry{align-self:stretch;margin:0;min-height:200px}
.fq-home #habitList{flex-wrap:wrap;justify-content:flex-start;gap:14px 10px}
.fq-home .habit-row{align-items:center;flex:1 1 76px;min-width:76px;max-width:140px}
.fq-home .habit-name{font-size:13px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.fq-home .habit-del{display:inline-flex;position:static;align-items:center;justify-content:center;min-height:32px;font-size:12px;line-height:1.4;color:#805041;background:#faf1e8;border:1px solid #e4d3c6;padding:4px 8px}
.fq-home .habits-add{min-width:0;flex:1}
.fq-home .habits-add input{min-width:0;min-height:40px!important;font-size:14px!important;padding:9px}
.fq-home .habits-foot .btn{font-size:14px;min-height:40px;padding:8px 12px}
.fq-home .habit-edit-btn{font-size:13px;min-height:40px}
.fq-journal-entry p{font-size:14px;line-height:1.6}
.icon-life{color:#f0c879}.icon-growth{color:#aeda96}
@media(min-width:761px){
 .shell>.sidebar .nav a{font-size:14px;min-height:40px;line-height:1.4;padding:9px 8px}
 .shell>.sidebar .forest-nav-icon{width:21px;height:21px}
 .shell>.sidebar>.forest-sidebar-island img{height:150px;max-height:150px}
 .shell>.sidebar>.forest-sidebar-island span{font-size:11px}
 .shell>.sidebar>.nav{min-height:120px;scrollbar-gutter:stable}
}
@media(min-width:761px) and (max-height:680px){
 .shell>.sidebar>.forest-sidebar-island img{height:110px;max-height:110px}
}
@media(max-width:760px){
 .forest-page[data-page=messages]>.page-head{grid-template-columns:minmax(0,1fr) 64px;gap:10px}
 .forest-page[data-page=messages] .msg{max-width:100%;gap:9px}
 .family-avatar{flex-basis:36px;width:36px;height:36px}
 .fq-home .fq-journal-entry{margin-top:12px}
 .fq-home #todaysHabits,.fq-home .fq-journal-entry{min-height:0}
 .shell>.sidebar .nav a{font-size:13px;line-height:1.5;min-height:42px}
}
/* Home learning activities: compact subject rows, not oversized route stops. */
.fq-home .forest-route-card .quest-route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;flex-direction:row}
.fq-home .forest-route-card .quest-step{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;text-align:left;gap:12px;padding:16px 0;min-width:0;border-bottom:1px solid var(--line);flex:none}
.fq-home .forest-route-card .quest-step::after,.fq-home .forest-route-card .step-no{display:none}
.fq-home .forest-route-card .route-sprite{width:48px;height:48px}
.fq-home .forest-route-card .step-title{font-size:16px;line-height:1.4}
.fq-home .forest-route-card .step-why{font-size:14px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
.fq-home .forest-route-card .step-body small{font-size:12px}
.fq-home .forest-route-card .src-badge{display:block;margin-top:4px;background:none;padding:0;color:var(--muted);font-size:12px}
.fq-home .forest-route-card .quest-step:only-child{grid-column:1/-1}
.fq-home .forest-route-card .quest-step .btn{min-height:42px;font-size:14px;padding:8px 12px}
.home-plan-note{color:var(--muted);font-size:15px;line-height:1.6;max-width:72ch;margin:8px 0}
.home-learning-choice{display:inline-block;margin-top:16px;font-size:14px}
@media(max-width:1100px){.fq-home .forest-route-card .quest-route{grid-template-columns:1fr}}
@media(max-width:480px){.fq-home .forest-route-card .quest-step{grid-template-columns:40px minmax(0,1fr);gap:8px}.fq-home .forest-route-card .quest-step .btn{grid-column:2;justify-self:start}.fq-home .forest-route-card .route-sprite{width:40px;height:40px}}

/* Life's daily feature is one open editorial row, not nested cards. */
.forest-page[data-page=life] .life-daily{margin:12px 0 32px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.life-daily>h2{margin:0 0 20px;font-size:22px}
.life-spotlight{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px;align-items:center;color:var(--ink);text-decoration:none;padding:24px 0;border-block:1px solid var(--line)}
.life-spotlight-copy{padding:8px 0;max-width:560px}
.life-spotlight-copy h3{margin:0 0 16px;font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
.life-spotlight-description{margin:0 0 12px;font-size:18px;line-height:1.65;color:#52664e}
.life-spotlight-meta{margin:0;font-size:14px;color:#52664e}
.life-spotlight-meta span{padding:0 8px}
.life-spotlight-action{display:inline-flex;gap:16px;align-items:center;margin-top:28px;font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.life-spotlight:hover .life-spotlight-action{color:#496b2b;text-decoration-thickness:2px}
.life-spotlight:focus-visible{outline:3px solid var(--green);outline-offset:6px}
.life-spotlight-scene{height:280px;display:flex;justify-content:center;align-items:center;overflow:hidden;background:url('/assets/forest-panorama.png') center/cover no-repeat}
.life-spotlight-scene .fq-life-exploration{width:240px;height:240px;object-fit:contain}
@media(max-width:760px){.life-spotlight{grid-template-columns:1fr;gap:24px;padding:20px 0}.life-spotlight-copy{max-width:100%}.life-spotlight-copy h3{font-size:30px}.life-spotlight-action{margin-top:20px}.life-spotlight-scene{height:180px}.life-spotlight-scene .fq-life-exploration{width:170px;height:170px}}
