@page{size:A4;margin:14mm}.print-course{color:#173d2f;background:#fff;font-family:Inter,ui-rounded,Avenir Next,Arial,sans-serif;font-size:10.5pt;line-height:1.45}.print-cover{break-after:page;background:linear-gradient(145deg,#fffaf0 0 58%,#e4f3e9 58%);border:3px solid #2f7a5c;min-height:245mm;padding:22mm 15mm}.print-brand{letter-spacing:.12em;font-weight:900}.print-cover h1{max-width:14ch;margin:28mm 0 5mm;font-size:32pt;line-height:1.05}.print-subtitle{max-width:40ch;font-size:15pt}.print-metadata{background:#fff;border:2px solid #173d2f;margin-top:25mm;padding:7mm}.print-metadata div{grid-template-columns:28mm 1fr;gap:3mm;margin:2mm 0;display:grid}.print-metadata dt{font-weight:800}.print-metadata dd{margin:0}.print-symbol-key{flex-wrap:wrap;gap:5mm;margin-top:12mm;font-weight:800;display:flex}.print-lesson{break-before:page}.print-lesson-header{background:#e4f3e9;border:2px solid #2f7a5c;padding:7mm}.print-lesson-header>p{text-transform:uppercase;margin:0;font-weight:800}.print-lesson-header h2{margin:2mm 0 5mm;font-size:23pt;line-height:1.1}.print-big-question{background:#fff3c8;border-left:6px solid #8c6b12;padding:4mm}.print-big-question p{margin:1mm 0 0;font-size:14pt;font-weight:750}.print-block{break-inside:avoid;margin:6mm 0}.print-block h3{border-bottom:2px solid #2f7a5c;margin:0 0 3mm;padding-bottom:1.5mm;font-size:15pt}.print-block h4{margin:4mm 0 1mm}.print-block p{margin:2mm 0}.print-diagram{break-inside:avoid;border:1.5px solid #597a6c;margin:6mm 0;padding:4mm}.print-diagram img{object-fit:contain;width:100%;max-height:105mm;display:block}.print-diagram figcaption{margin-top:2mm;font-size:8.5pt;font-style:italic}.print-step-grid{grid-template-columns:1fr 1fr;gap:3mm;display:grid}.print-step{break-inside:avoid;border:1px solid #8ba297;padding:3mm}.print-step p{margin-bottom:0}.print-step--break{background:#edf5fa;border-style:dashed}.print-step--investigation{background:#eef8f1;border-width:2px}.print-investigation ul{columns:2}.print-safety{break-inside:avoid;background:#fff8df;border:2px dashed #8c6b12;padding:4mm}.print-writing-lines{gap:8mm;margin-top:6mm;display:grid}.print-writing-lines span{border-bottom:1px solid #809088;display:block}.print-vocabulary dl{grid-template-columns:1fr 1fr;gap:2mm 5mm;display:grid}.print-vocabulary div{break-inside:avoid}.print-vocabulary dt{font-weight:850}.print-vocabulary dd{margin:0}.print-answer-space{background:repeating-linear-gradient(#fff 0 8mm,#c5d0cb 8.2mm 8.5mm);border:1px solid #809088;height:45mm;margin-top:4mm}.print-parent-guide{background:#fff9e7;border:2px solid #51471f;padding:5mm}.print-rubric{padding-left:5mm}.print-rubric li{break-inside:avoid;margin:2mm 0}.print-lesson footer{color:#4a6458;border-top:1px solid #8ba297;margin-top:8mm;padding-top:2mm;font-size:8pt}@media screen{.print-course{width:min(210mm,100%);margin:0 auto;padding:12px}.print-cover,.print-lesson{margin-bottom:30px;box-shadow:0 8px 30px #173d2f1f}.print-lesson{padding:14mm}}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;min-width:0;background:#fff!important}.print-course{font-size:10pt}}:root{--forest-700:#1f5d46;--forest-600:#2f7a5c;--leaf-100:#def1e7;--sun-200:#ffe798;--sky-100:#e2f2ff;--paper:#f6fbf7;--surface:#fff;--ink-900:#18362c;--ink-600:#5d7267;--border:#d9e6dd;color:var(--ink-900);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:ui-rounded,SF Pro Rounded,Nunito Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button:disabled{cursor:not-allowed;opacity:.48}.app-frame{background:var(--paper);min-height:100vh}.app-header{color:#fff;background:var(--forest-700);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem clamp(1rem,4vw,3rem);display:flex}.brand{min-height:44px;color:inherit;letter-spacing:.01em;align-items:center;gap:.65rem;font-size:1.12rem;font-weight:850;text-decoration:none;display:inline-flex}.brand h1{font:inherit;margin:0}.lab-mark{flex:none;width:36px;height:36px}.day-progress{align-items:center;gap:.7rem;font-size:.84rem;font-weight:720;display:flex}.header-status{align-items:center;gap:.8rem;display:flex}.header-link{color:#fff;text-underline-offset:3px;align-items:center;min-height:44px;font-size:.84rem;font-weight:800;display:inline-flex}.offline-badge{color:#3b3318;background:var(--sun-200);border-radius:999px;align-items:center;gap:.35rem;min-height:32px;padding:.35rem .7rem;font-size:.8rem;font-weight:850;display:inline-flex}.progress-track{background:#ffffff38;border-radius:999px;width:clamp(72px,12vw,150px);height:8px;overflow:hidden}.progress-value{border-radius:inherit;background:var(--sun-200);width:3.57%;height:100%;display:block}.app-shell{width:min(1180px,100%);margin:0 auto;padding:clamp(1rem,4vw,3rem)}.today-card{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:clamp(1rem,4vw,3rem);display:grid}.today-copy{background:var(--sun-200);border:1px solid #ead584;border-radius:24px;padding:clamp(1.25rem,4vw,2.5rem);box-shadow:0 18px 50px #1f5d4614}.section-label,.question-label{color:#52631e;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .6rem;font-size:.84rem;font-weight:850}.today-copy h2{letter-spacing:-.035em;max-width:16ch;margin:0;font-size:clamp(2.15rem,5vw,4.35rem);line-height:1.02}.today-summary{max-width:55ch;margin:1.1rem 0 1.5rem;font-size:clamp(1.04rem,2vw,1.2rem);line-height:1.55}.today-details{grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0 0 1.5rem;display:grid}.today-details div{background:#ffffff8a;border-radius:12px;padding:.8rem}.today-details dt{color:#5f5a2e;text-transform:uppercase;margin-bottom:.3rem;font-size:.76rem;font-weight:800}.today-details dd{margin:0;font-size:.9rem;font-weight:720}.expedition-map{border:1px solid var(--border);background:var(--surface);border-radius:20px;gap:.65rem;padding:1rem;display:grid}.map-step{min-height:52px;color:var(--ink-600);background:#f3f8f5;border-radius:12px;grid-template-columns:36px 1fr auto;align-items:center;gap:.75rem;padding:.55rem .7rem;font-size:.9rem;font-weight:720;display:grid}.map-step:first-child{color:var(--ink-900);background:var(--leaf-100)}.map-number{color:#fff;background:var(--forest-600);border-radius:50%;place-items:center;width:32px;height:32px;font-size:.82rem;font-weight:850;display:grid}.map-step small{font-size:.75rem;font-weight:700}.touch-target{min-width:44px;min-height:44px}.primary-action,.secondary-action{cursor:pointer;border-radius:14px;padding:.82rem 1.25rem;font-size:.98rem;font-weight:800}.primary-action{border:1px solid var(--forest-700);color:#fff;background:var(--forest-700)}.secondary-action{border:1px solid var(--forest-600);color:var(--forest-700);background:#fff}.primary-action:hover:not(:disabled){background:#174a37}.primary-action:focus-visible,.secondary-action:focus-visible,.secondary-button:focus-visible,.brand:focus-visible,.header-link:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #3d8dd1}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.learning-player{gap:1rem;display:grid}.question-panel{background:var(--sun-200);border:1px solid #ead584;border-radius:20px;padding:clamp(1.25rem,4vw,2rem)}.question-panel h2{letter-spacing:-.025em;max-width:22ch;margin:0;font-size:clamp(1.75rem,4vw,3.2rem);line-height:1.08}.question-panel>p:last-child{margin:.8rem 0 0;font-size:1rem;font-weight:720}.lesson-step{border:1px solid var(--border);background:var(--surface);border-radius:20px;min-height:280px;padding:clamp(1.25rem,4vw,2rem);box-shadow:0 16px 45px #1f5d4612}.lesson-step--break{background:var(--sky-100);border-color:#bbd9ef}.lesson-step--investigation{background:#e7f6ec;border-color:#b9ddc7}.step-meta{color:var(--ink-600);justify-content:space-between;gap:1rem;font-size:.82rem;font-weight:780;display:flex}.lesson-step h3{margin:1.25rem 0 .7rem;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.2}.lesson-step>p{max-width:66ch;margin:0;font-size:clamp(1.05rem,2vw,1.18rem);line-height:1.65}.investigation-map{width:min(100%,760px);height:auto;margin-top:1.5rem;display:block}.step-navigation{justify-content:space-between;gap:.8rem;display:flex}.mastery-result{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:1rem 1.15rem}.mastery-result--skip{background:var(--leaf-100);border-color:#a8d2b7}.mastery-result--targeted-review{background:#fff5d8;border-color:#e6cf83}.mastery-result h3{margin:0;font-size:1.15rem}.mastery-reason-label{text-transform:uppercase;margin:.75rem 0 .3rem;font-size:.8rem;font-weight:820}.mastery-result ul{margin:0;padding-left:1.2rem;line-height:1.5}.route-safety-note,.required-learning{background:#fff7db;border:2px dashed #a77a18;border-radius:16px;padding:1rem 1.15rem}.route-safety-note p,.required-learning p{margin-bottom:0}.knowledge-check{gap:1rem;width:min(780px,100%);margin:0 auto;display:grid}.knowledge-check>header{background:var(--sun-200);border-radius:20px;padding:1.25rem}.knowledge-check>header h2{margin:0;font-size:clamp(1.7rem,4vw,2.8rem)}.knowledge-check>header p:last-child{margin-bottom:0}.knowledge-check fieldset{border:1px solid var(--border);background:#fff;border-radius:16px;gap:.6rem;margin:0;padding:1rem;display:grid}.knowledge-check legend{padding:0 .35rem;font-size:1.05rem;font-weight:850}.knowledge-check label{cursor:pointer;border:1px solid #c9d8d0;border-radius:12px;grid-template-columns:24px 1fr;align-items:start;gap:.65rem;min-height:48px;padding:.7rem;display:grid}.knowledge-check input{width:22px;height:22px;margin:0}.knowledge-check--result{align-items:start}.required-learning h3{margin-top:0}.parent-shell{width:min(720px,100%)}.parent-local-notice{background:#fff7d8;border:1px solid #d6ba59;border-radius:14px;padding:1rem}.parent-sign-in{border:1px solid var(--border);background:#fff;border-radius:20px;gap:1rem;padding:clamp(1.25rem,4vw,2rem);display:grid}.parent-sign-in h2{margin:0;font-size:clamp(1.6rem,4vw,2.4rem)}.parent-sign-in label{gap:.4rem;font-weight:800;display:grid}.parent-sign-in input{min-height:48px;font:inherit;border:1px solid #91a89c;border-radius:10px;padding:.7rem}.parent-sign-in button,.secondary-button{border:1px solid var(--forest-700);color:#fff;background:var(--forest-700);cursor:pointer;border-radius:12px;min-height:44px;padding:.7rem 1rem;font-weight:800}.parent-sign-in .secondary-button,.secondary-button{color:var(--forest-700);background:#fff}@media (width<=760px){.app-header{align-items:flex-start}.header-status{flex-direction:column;align-items:flex-end}.day-progress{flex-direction:column;align-items:flex-end;gap:.3rem}.today-card,.today-details{grid-template-columns:1fr}.expedition-map{padding:.75rem}.map-step{grid-template-columns:32px 1fr}.map-step small{grid-column:2}.step-navigation{flex-direction:column-reverse}.step-navigation button{width:100%}.button-row{flex-direction:column}.button-row>*{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
