:root{--ink:#302c2b;--muted:#65635b;--accent:#17635d;--paper:#fffdf9;--canvas:#fffdf9;--rule:#dedbd0;--warm:#f5eedf;--bad:#922f29;--good:#175f41;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);font-size:16px;line-height:1.65}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,.button{background:var(--accent);color:white;border:1px solid var(--accent);border-radius:4px;padding:.55rem 1rem;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.4}button.secondary,.button.secondary{background:white;color:var(--accent);border-color:#91aaa4}button:disabled{opacity:.55;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.93)}input,select,textarea{max-width:100%;border:1px solid #889e99;border-radius:3px;padding:.55rem .65rem;background:white;color:var(--ink)}input[type=checkbox]{width:1.2rem;height:1.2rem;vertical-align:middle}label{display:block;font-weight:550;margin-bottom:.35rem}fieldset{border:1px solid var(--rule);margin:1rem 0;padding:1rem}legend{font-weight:600;padding:0 .4rem}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;font-weight:400;color:#254d47;overflow-wrap:break-word}h1{font-size:clamp(2.3rem,4vw,3rem);margin:.4rem 0 1rem}h2{font-size:1.7rem;margin:2rem 0 .7rem}h3{font-size:1.25rem;margin:1.4rem 0 .5rem}p{margin:.65rem 0 1rem}ul,ol{padding-left:1.5rem}li{margin:.35rem 0}.skip{position:absolute;left:1rem;top:-5rem;background:white;padding:.7rem;z-index:10}.skip:focus{top:.5rem}header{background:#fff;border-bottom:1px solid var(--rule)}.header-inner{max-width:1180px;margin:auto;padding:1.1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{font-family:Georgia,serif;font-size:1.65rem;color:var(--ink);text-decoration:none;font-weight:600;white-space:nowrap}.brand span{color:var(--accent)}.brand small{font-family:system-ui;font-size:.8rem;font-weight:400}nav{display:flex;gap:.5rem 1.35rem;flex-wrap:wrap}nav a{font-size:.96rem;text-decoration:none}nav a[aria-current=page]{text-decoration:underline;font-weight:600}main{max-width:1120px;margin:0 auto;padding:2.2rem 2rem 4rem;min-height:70vh}.reading{max-width:770px}.intro{font-size:1.13rem;max-width:750px}.home-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:3rem;align-items:start}.home-work{background:#fff;border-top:3px solid var(--accent);padding:1.5rem}.home-work h2{margin-top:0}.topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;margin:1rem 0 2rem}.topic-row{border-bottom:1px solid var(--rule);padding:.9rem 0}.topic-row h2,.topic-row h3{font-family:system-ui;font-size:1.08rem;font-weight:600;margin:0 0 .2rem}.topic-row p{font-size:.95rem;margin:.2rem 0;color:var(--muted)}.resource-list{list-style:none;padding:0}.resource-list li{padding:.9rem 0;border-bottom:1px solid var(--rule)}.resource-list a{font-weight:600}.toolbar,.actions{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;margin:1rem 0}.toolbar>div{flex:1;min-width:160px}.toolbar select{width:100%}.actions button{font-size:.95rem}.note{color:var(--muted);font-size:.95rem}.context{border-left:3px solid var(--rule);padding:.15rem 1rem;margin:1rem 0}.practice-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:2rem}.question-surface{background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--accent);padding:1.5rem;min-width:0}.question-surface h2{margin-top:0;font-family:system-ui;font-size:1.2rem;font-weight:600}.question-prompt{font-size:1.12rem;white-space:pre-wrap;overflow-wrap:anywhere}.answer-form input{width:100%;font-family:Georgia,serif;font-size:1.15rem}.answer-form{margin-top:1.2rem}.feedback{padding:.5rem .9rem;border-left:3px solid var(--rule);margin:1rem 0;min-height:1rem}.feedback.correct{border-color:var(--good);background:#eff7f0}.feedback.incorrect{border-color:var(--bad);background:#fcf0ec}.feedback.unverified{border-color:#a98135;background:var(--warm)}.working{width:100%;min-height:100px}.solution-step{padding:.6rem 0;border-bottom:1px solid var(--rule)}.solution-step p{margin:.25rem 0}.meta{font-size:.88rem;color:var(--muted)}.math-block{overflow-x:auto;max-width:100%;padding:.5rem 0}.katex-display{margin:.6em 0!important}.katex{font-size:1.15em!important}.question-surface .katex-display{text-align:left}.question-surface .katex-display>.katex{text-align:left}.side-notes{font-size:.95rem}.side-notes h2{font-family:system-ui;font-size:1.15rem;font-weight:600;margin-top:.3rem}.side-notes ul{padding-left:1.2rem}details{margin:1rem 0}summary{cursor:pointer;color:var(--accent);font-weight:550}details>div,details>p{padding:.4rem 0}.table-wrap{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;text-align:left;font-size:.92rem}th,td{border-bottom:1px solid var(--rule);padding:.65rem .8rem;vertical-align:top}th{font-weight:650;background:#eef3f0}td:first-child,th:first-child{padding-left:.35rem}.status-line{margin:.7rem 0;color:var(--muted)}.course-options label{font-weight:400;padding:.2rem 0}.progress-track{background:#e3ebe6;height:6px;width:100%;margin:.4rem 0}.progress-track span{display:block;background:var(--accent);height:100%}.empty{padding:1.5rem 0;color:var(--muted)}.challenge-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem}.diagram{width:100%;height:auto;display:block;border:1px solid var(--rule);background:white}.diagram text{font-family:system-ui;fill:var(--ink);font-size:14px;paint-order:stroke;stroke:white;stroke-width:3px;stroke-linejoin:round}.challenge-controls input{width:100%}.matrix-input{display:grid;grid-template-columns:repeat(2,80px);gap:.4rem;padding:.5rem;border-left:2px solid var(--ink);border-right:2px solid var(--ink);width:max-content}.matrix-input label{font-size:.8rem}.matrix-input input{width:78px}.paper-item{margin:1.5rem 0;border-top:1px solid var(--rule);padding:1rem 0;break-inside:avoid}.paper-item h3{font-family:system-ui;font-size:1rem;font-weight:650;margin:.2rem 0}.paper-working{min-height:95px;border-bottom:1px dotted #ccc;margin:1rem 0}.paper-summary{border:1px solid var(--rule);padding:1rem;background:white}.paper-solution{break-inside:avoid}.print-only{display:none}footer{border-top:1px solid var(--rule);background:#fff}.footer-inner{max-width:1120px;margin:auto;padding:1.4rem 2rem;color:var(--muted);font-size:.9rem}.footer-links{display:flex;flex-wrap:wrap;gap:1rem;margin:.5rem 0}.search-input{width:100%}.hidden,[hidden]{display:none!important}.warning{border-left:3px solid #ae7930;padding:.5rem 1rem;background:var(--warm)}:focus-visible{outline:3px solid #bd7724;outline-offset:3px}.crumb{font-size:.9rem;margin-bottom:1rem}.inline-choice{display:flex;flex-wrap:wrap;gap:1rem}.inline-choice label{font-weight:400}.print-options{border-top:1px solid var(--rule);padding-top:1rem}.report-text{width:100%;min-height:90px}.stat-number{font-family:Georgia,serif;font-size:1.8rem;display:block}.stats-row{display:flex;flex-wrap:wrap;gap:1rem 3rem;margin:1rem 0}.validation{white-space:pre-line}.no-js{border-left:3px solid #ae7930;padding:.5rem 1rem}.topic-source{font-size:.9rem;color:var(--muted)}
@media(max-width:760px){.header-inner{padding:1rem 1.15rem;gap:.75rem}.brand{font-size:1.45rem}nav{gap:.4rem 1rem;line-height:1.9}main{padding:1.6rem 1.15rem 3rem}.home-layout,.practice-layout,.challenge-layout{grid-template-columns:1fr;gap:1.2rem}.topic-list{grid-template-columns:1fr}.home-work,.question-surface{padding:1.05rem}.toolbar>div{min-width:130px}.footer-inner{padding:1.2rem 1.15rem}.side-notes{border-top:1px solid var(--rule);padding-top:1rem}button,.button{min-height:42px}.katex{font-size:1.05em!important}h1{font-size:2rem}.actions button{flex-grow:1}.table-wrap{overscroll-behavior-x:contain}}
@media print{body{background:white;color:black;font-size:11pt}header,footer,.no-print,.toolbar,.actions,.crumb,.skip{display:none!important}main{padding:0;max-width:none;min-height:0}.print-only{display:block}.paper-item{break-inside:avoid;margin:0;padding:1rem 0}.paper-working{min-height:120px}.paper-summary{border:0;padding:0}.paper-solution{break-before:page}.question-surface{border:0;padding:0}.math-block{overflow:visible}a{color:black;text-decoration:none}.paper-marks{float:right}.hide-on-question-print{display:none!important}@page{size:A4;margin:16mm}}
@media print{body[data-print-mode="questions"] #paper-solutions{display:none!important}body[data-print-mode="solutions"] #paper-questions{display:none!important}body[data-print-mode="solutions"] #paper-solutions{display:block!important}}
@media print{body[data-print-mode="solutions"] #paper-solutions{break-before:auto;break-inside:auto}.paper-solution{break-inside:auto}}
@media print{:root,body{background:white!important}.paper-item h3{display:flex;justify-content:space-between;gap:1rem}.paper-marks{float:none;white-space:nowrap}main:has(#assessment-engine)>h1,main:has(#assessment-engine)>p,main:has(#linked-engine)>h1,main:has(#linked-engine)>p{display:none!important}}

.editorial-art{margin:2rem 0;overflow:hidden;background:#eee9df;border:1px solid var(--rule);border-radius:5px}.editorial-art img{display:block;width:100%;height:auto;max-height:330px;object-fit:cover;object-position:center 54%}.compact-art{max-width:770px}.compact-art img{max-height:240px}.learning-links{display:flex;flex-wrap:wrap;gap:.4rem 2rem;border-bottom:1px solid var(--rule);margin-bottom:2rem}.learning-links p{max-width:430px}.geometry-diagram text{font-size:15px}.workspace-controls{max-width:850px}@media(max-width:760px){.editorial-art img{max-height:230px}.learning-links{display:block}.geometry-diagram text{font-size:17px}}@media print{.editorial-art,.learning-links{display:none}}

@media print{main:has(#assessment-workspace)>h1,main:has(#assessment-workspace)>p{display:none}}

/* Warm editorial discovery, with quiet functional practice surfaces. */
.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin:1rem 0 2.5rem}.home-hero h1{font-size:clamp(2.6rem,5vw,4rem);letter-spacing:-.025em}.hero-art{margin:0;border-radius:9px;overflow:hidden;background:var(--warm)}.hero-art img{display:block;width:100%;height:auto}.home-work{border:1px solid var(--rule);border-radius:7px;background:#f8f4e9;margin:0 0 1.8rem}.home-work #recommendations>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.home-work h2{font-size:1.8rem}.topic-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:1.5rem 0 3rem;align-items:start}.topic-group{border:1px solid var(--rule);border-radius:9px;overflow:hidden;background:var(--paper)}.topic-group figure{margin:0;background:var(--warm)}.topic-group img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.topic-group-body{padding:1.25rem 1.5rem 1.6rem}.topic-group h2{font-size:1.9rem;margin:0 0 .7rem}.topic-group-body>p{color:var(--muted)}.topic-group summary{color:var(--accent);font-weight:600;cursor:pointer;padding:.5rem 0}.topic-row:last-child{border-bottom:0}.brand{font-weight:400}nav a{font-weight:600}button,input,select{border-radius:5px;min-height:42px}input[type=checkbox]{min-height:0}h2{font-size:1.9rem}th{background:#f2efe5}.side-notes{color:var(--muted)}
@media(max-width:760px){.home-hero,.topic-groups{grid-template-columns:1fr;gap:1.5rem}.home-hero{margin:0 0 1.6rem}.home-hero h1{font-size:2.75rem}.home-work #recommendations>ul{grid-template-columns:1fr;gap:.3rem}.topic-group-body{padding:1.1rem 1.2rem}.topic-group h2{font-size:1.8rem}h1{font-size:2.3rem}}
@media print{h1{font-size:22pt}h2{font-size:16pt}h3{font-size:12pt}.hero-art,.topic-group figure{display:none}.topic-groups{display:block}.topic-group{border:0}}

.home-work #recommendations>ul{margin:0}.home-work #recommendations li{border:0;padding:.5rem 0}

.journey-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem}.journey-directory article{border-bottom:1px solid var(--rule);padding:1.2rem 0}.journey-directory h2{margin:.4rem 0;font-size:1.7rem}.journey-nav{border-block:1px solid var(--rule);padding:.8rem 0;margin:1.5rem 0;gap:.6rem 1.5rem}.journey-reading section{scroll-margin-top:1rem;margin:2rem 0}.worked-example{padding:0;margin:1.8rem 0 2.3rem}.worked-example h3{font-size:1.3rem}.reflection{margin-top:2rem;font-style:italic}.worked-example h3{margin:.3rem 0 .8rem;font-size:1.4rem}.practice-stages li{padding:.45rem 0}.review-tick{font-weight:400;font-size:.9rem;white-space:nowrap}table caption{text-align:left;font-weight:600;margin-bottom:.6rem}.search-status:empty{display:none}.search-status{min-height:1.5rem}a[aria-disabled=true]{color:var(--muted);text-decoration:none}nav a:focus-visible,summary:focus-visible{outline:3px solid #bd7724;outline-offset:3px}
@media(max-width:760px){.journey-directory{grid-template-columns:1fr}.worked-example{padding:0}.journey-nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}}
@media print{.journey-nav,[data-journey-check] .actions{display:none!important}.journey-directory{display:block}.worked-example{break-inside:avoid;background:white}}

/* Mathematical labs keep controls and exact data accessible without dragging. */
.lab-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1.5rem 0}.lab-controls>div{flex:1 1 11rem}.lab-controls input{width:100%}.lab-view{max-width:36rem;margin:1rem auto}.lab-view svg{display:block;width:100%;height:auto}.lab-background{fill:var(--paper,#fffdf8)}.lab-axis{stroke:#aaa69b;stroke-width:1}.lab-line{stroke:#276b66;stroke-width:1.5}.lab-point{fill:#ad4c29;stroke:white;stroke-width:1}.lab-view text{font-size:12px;fill:#333}.lab-prediction{max-width:42rem}.lab-prediction input{display:block;width:100%;margin:.6rem 0}.advanced-reading{margin-top:2.5rem}.advanced-reading details{margin:1rem 0}.lab-table{margin:1rem 0}.lab-table td{overflow-wrap:anywhere}.lab-explanation{margin:1rem 0}
@media print{.lab-controls,.lab-prediction{display:none}.lab-view{max-width:20rem}.lab-explanation>p{display:block}}
