/* Additive learning edition. Verified equations and native images are unchanged. */
:root{--accent:#b16c26;--success:#23614f;--danger:#9b3434;--radius:9px;--surface:#f1f5f8;--shadow:0 8px 28px #143c5510}
[hidden]{display:none!important}body{background:#f4f6f8}button,.btn{min-height:44px}textarea{font:inherit;max-width:100%;padding:12px;border:1px solid #8da3b4;border-radius:6px;color:var(--ink);background:white}input,select,textarea{scroll-margin-block:90px}a,button,input,select,textarea,summary{ -webkit-tap-highlight-color:transparent}textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #ad501e;outline-offset:3px}button:disabled{opacity:.55;cursor:not-allowed}
.book-header{min-height:64px;padding-block:14px}.book-header .header-links{display:flex;gap:20px;flex-wrap:wrap;font-size:.8rem}.book-header .header-links a{font-weight:500}.book-main{padding-top:28px}.book-main>.institution{font-size:.7rem;margin-bottom:18px;padding-bottom:14px}.book-main h1{font-size:clamp(1.7rem,3vw,2.5rem)}.book-main p{max-width:78ch}.book-main .lead{font-size:1.04rem;max-width:72ch}.book-nav{font-size:.9rem}.book-main>section{scroll-margin-top:20px}.lesson-meta{border-radius:0 5px 5px 0;font-size:.78rem}
.home-main{max-width:1300px;padding-top:34px}.home-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:40px;align-items:center;margin-bottom:34px}.home-hero h1{font-size:clamp(1.9rem,3.6vw,3.2rem);margin:12px 0 22px}.home-hero .lead{font-size:1.03rem}.home-hero .hero-image{margin:0;background:white;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow)}.hero-image img{width:100%;height:auto;max-height:330px;object-fit:contain;display:block}.hero-image figcaption{font-size:.72rem;color:var(--muted);margin-top:10px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions a{text-decoration:none;display:inline-flex;align-items:center}.home-summary{background:white;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:20px;margin:20px 0 32px}.home-summary strong{font-size:1.3rem}.home-main h2{font-size:1.45rem}
.course-search{background:white;padding:24px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin:24px 0}.course-search h2{margin:0 0 12px;border:0;padding:0}.home-tools{margin:12px 0;gap:12px}.home-tools input{min-width:0;flex:1 1 250px;width:100%;min-height:48px}.search-results{padding:0;list-style:none}.search-results a{display:block;padding:14px 16px;background:var(--surface);margin:8px 0;border-radius:6px;text-decoration:none}.search-results small{display:block;color:var(--muted)}.search-result mark{background:#fff0c6;color:inherit}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap}.section-heading h2{border:0}.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.path-card{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.path-card h3{margin:0;font-size:1.05rem}.path-card p{font-size:.86rem;margin:0}.path-card .btn{margin-top:auto}.path-card.is-selected{border:2px solid var(--blue);padding:21px}.path-progress{font-size:.75rem;color:var(--muted)}.continue-card{padding:20px;background:#e9f2f4;border-left:4px solid var(--success);margin:20px 0;border-radius:4px}.continue-card p{margin:6px 0 12px}.course-part-controls{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.course-part-controls .active{background:var(--blue);color:white}.book-module{background:white;border:1px solid var(--line);border-radius:8px;padding:4px 20px 12px}.book-module h3{font-size:1rem}.book-module .lesson-link a{border:0;border-top:1px solid #e6edf1;border-radius:0;padding:12px 6px}.completed-mark{font-size:.7rem;align-self:center}.home-resource-links{display:flex;gap:14px;flex-wrap:wrap}.home-resource-links a{font-size:.87rem;padding:12px 18px;background:white;border:1px solid var(--line);border-radius:6px}
.study-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:22px 0}.study-toolbar button{font-size:.8rem;padding:8px 14px}.study-toolbar [aria-pressed=true]{background:var(--blue);color:white}.study-step-name{flex:1 1 230px;font-size:.82rem;font-weight:600}.study-toolbar .step-pagination{display:flex;gap:8px}.study-mode .book-main>[data-study-section]{display:none}.study-mode .book-main>[data-study-section].study-current{display:block}.study-mode .book-main>.references,.study-mode .book-main>.lesson-footer{margin-top:20px}.study-mode .example-step.study-current{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.study-mode .example-step h2{margin-top:14px}.study-mode .example-step .femm-figure{margin-top:12px}.study-mode .example-step .practice-steps{font-size:.93rem}.study-mode .example-step .step-files{border:1px solid var(--line);padding:14px;background:var(--surface);border-radius:6px}.step-files h3{margin-top:0}.study-support{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.study-support a{font-size:.8rem}
.learning-intro{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:6px;padding:18px 22px;background:#fffcf5}.learning-intro h2{font-size:1.05rem;margin:0 0 8px;border:0;padding:0}.learning-intro p{margin-bottom:0}.pilot-label,.data-badge{display:inline-block;padding:4px 9px;border:1px solid #adc3ce;border-radius:4px;font-size:.68rem;font-weight:650;background:#eef5f8;color:#174b70}.pilot-label{background:#fff3dc;color:#704512;border-color:#ddc190}.formula-glossary{font-size:.82rem;margin:12px 0}.formula-glossary summary{color:var(--blue)}.formula-glossary dl{display:grid;grid-template-columns:max-content 1fr;gap:7px 20px}.formula-glossary dt{font-weight:700}.formula-glossary dd{margin:0}.derivation-steps[hidden]{display:none}.derivation-toggle{font-size:.75rem;padding:6px 12px;background:var(--surface);border:1px solid var(--line);border-radius:4px}.annotation-tools{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.annotation-tools button{font-size:.75rem;padding:6px 11px;border:1px solid var(--line);background:white;border-radius:4px}.annotation-note{background:#fff8e8;border-left:3px solid var(--accent);padding:12px 16px;font-size:.84rem}.annotated-image{outline:3px solid var(--accent);outline-offset:2px}.screenshot-context{font-size:.74rem;color:var(--muted)}
.laboratory-main{max-width:1200px;margin:auto;padding:35px 28px 70px}.lab-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.lab-tabs a{display:block;padding:10px 15px;border:1px solid var(--line);background:white;border-radius:6px;text-decoration:none;font-size:.87rem}.engineering-panel{background:white;border:1px solid var(--line);border-radius:10px;padding:26px;margin:28px 0;box-shadow:var(--shadow);scroll-margin-top:16px}.engineering-panel h2{margin:8px 0 20px}.engineering-panel h3{margin-top:24px}.engineering-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:22px 0}.engineering-controls label{display:flex;flex-direction:column;gap:6px;font-size:.84rem}.engineering-controls select,.engineering-controls input{width:100%;min-height:44px;border:1px solid #8da3b4;border-radius:5px;padding:8px;background:white}.engineering-controls input[type=checkbox]{width:22px;height:22px;min-height:0}.engineering-output{background:var(--surface);border-radius:6px;padding:18px;margin:18px 0}.engineering-output p:last-child{margin-bottom:0}.engineering-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px}.engineering-stat{padding:14px;border:1px solid var(--line);border-radius:6px;font-size:.78rem}.engineering-stat strong{display:block;font-size:1.2rem;color:var(--blue);margin-top:4px}.engineering-plot{width:100%;height:auto;background:white;border:1px solid var(--line);border-radius:6px}.engineering-table{overflow:auto;max-width:100%;margin:18px 0}.engineering-table table{font-size:.8rem;min-width:540px}.engineering-table tr.selected{background:#e6f3ee}.engineering-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.engineering-actions button,.engineering-actions a{min-height:44px;padding:8px 14px;background:white;border:1px solid #a6b9c6;border-radius:5px;font-size:.82rem;color:var(--blue);cursor:pointer}.engineering-actions a{text-decoration:none}.data-passport{font-size:.77rem;overflow-wrap:anywhere;margin:18px 0}.data-passport summary{font-size:.85rem}.data-passport code{font-size:.7rem}.engineering-notice{border-left:3px solid var(--accent);background:#fff8e8;padding:14px 18px;font-size:.86rem}.field-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,.7fr);gap:20px}.field-canvas-wrap{min-width:0;background:white;position:relative}.field-canvas-wrap canvas{max-width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:6px;touch-action:manipulation}.field-legend{font-size:.76rem;display:flex;gap:15px;justify-content:space-between;padding:8px 0}.field-gradient{height:14px;background:linear-gradient(90deg,#213c7d,#206f9c,#23928b,#86b94c,#f2cd43);border:1px solid var(--line);border-radius:3px}.field-probe{font-size:.84rem}.field-probe input{max-width:120px}.field-comparison{font-size:.79rem}.data-error{color:var(--danger);font-weight:650}.course-utility{max-width:1150px;margin:auto;padding:35px 28px}.course-utility article{background:white;border:1px solid var(--line);border-radius:8px;padding:24px;margin:22px 0}.course-utility article h2{margin-top:0}.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.package-card{padding:20px;border:1px solid var(--line);background:white;border-radius:8px}.package-card h3{margin-top:0}
@media(max-width:1100px){.home-hero{gap:24px}.path-grid{gap:12px}.path-card{padding:16px}.path-card.is-selected{padding:15px}.field-layout{grid-template-columns:1fr}.book-main{padding:28px}}
@media(max-width:780px){.home-hero{grid-template-columns:1fr}.home-hero .hero-image{display:none}.home-main{padding:24px 18px 60px}.home-main h1{font-size:1.9rem}.home-summary{grid-template-columns:repeat(2,1fr);gap:16px;padding:16px}.path-grid{grid-template-columns:1fr}.book-header .header-links{gap:12px;font-size:.7rem}.book-header{padding:14px 18px}.book-header>a{font-size:.82rem}.book-main{padding:24px 18px}.course-search{padding:18px}.study-toolbar{position:static;padding:12px}.study-toolbar .step-pagination{width:100%;justify-content:space-between}.mini-lab .lab-live-layout .lab-main-chart{position:static!important;order:0;box-shadow:none;z-index:auto}.mini-lab .lab-live-layout .widget-controls{order:-1}.mini-lab .lab-live-layout .lab-main-chart svg{max-height:none}.lab-live-layout{gap:18px}.mini-lab .lab-live-layout .lab-main-chart figcaption{font-size:.76rem}.lab-range{font-size:.76rem}.engineering-panel{padding:18px 14px}.laboratory-main{padding:24px 16px}.engineering-controls{grid-template-columns:1fr 1fr;gap:12px}.engineering-controls label{font-size:.8rem}.engineering-stats{grid-template-columns:1fr 1fr}.engineering-stat strong{font-size:1.05rem}.course-utility{padding:25px 16px}.book-module{padding-inline:12px}.completed-mark{max-width:72px}.book-nav{padding:12px 18px}.formula-glossary dl{grid-template-columns:1fr}.formula-glossary dd{margin-bottom:8px}.study-support{font-size:.8rem}}
@media(max-width:380px){.engineering-controls{grid-template-columns:1fr}.hero-actions .btn{width:100%}.header-links{width:100%}.book-header{flex-wrap:wrap;gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{background:white}.study-toolbar,.header-links,.annotation-tools,.lab-tabs,.engineering-controls,.engineering-actions,.home-resource-links{display:none!important}.study-mode .book-main>[data-study-section]{display:block!important}.study-mode .example-step.study-current{display:block}.derivation-steps[hidden]{display:block!important}.home-hero{display:block}.home-hero .hero-image{display:none}.engineering-panel{box-shadow:none;border:1px solid #ccc;padding:12px}.book-main{max-width:none;box-shadow:none}.engineering-table{overflow:visible}.engineering-table table{min-width:0}.field-layout{display:block}.book-main>.institution{display:block}.formula-glossary[open]>*{display:block}.field-canvas-wrap canvas{max-height:180mm;object-fit:contain}.annotation-note[hidden]{display:none!important}}

.data-passport pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 monospace;max-height:420px;overflow:auto}.search-results:empty{display:none}.field-probe p{margin:8px 0}.engineering-panel>div>button{padding:10px 16px;border:1px solid var(--line);background:var(--surface);border-radius:5px;cursor:pointer}.study-mode .book-main>[data-study-section].study-current:focus{outline:0}

/* Utility-page prose can contain compact parameter lists and long source terms.
   Wrap those at the text container; formulas and tables retain their own scroll. */
.course-utility{overflow-wrap:anywhere;hyphens:auto}

.home-main .lead,.home-main h1,.path-card p{hyphens:none}.course-search select,.path-card select{min-height:44px;font:inherit;padding:8px;border:1px solid #8da3b4;border-radius:5px;background:white;max-width:100%}.search-type-label{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.study-bottom{justify-content:space-between;margin-top:36px}.engineering-controls input[type=checkbox]{width:22px;height:22px}.compatibility-label{display:flex;gap:12px;align-items:flex-start;margin:18px 0;font-size:.85rem}

.lab-tabs a[aria-current]{background:var(--blue);color:white;border-color:var(--blue)}@media print{.laboratory-main>section.engineering-panel[hidden]{display:block!important}}

.field-canvas-wrap{max-width:800px;width:100%;margin-inline:auto}.engineering-plot text{font-family:system-ui,sans-serif}
.component-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.component-state-grid>div{margin:0;padding:18px;border-radius:6px}.component-state-grid p{margin-bottom:0}
@media(min-width:1100px){.study-mode .book-main>.example-step.study-current{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:24px}.study-mode .example-step.study-current>*{grid-column:1/-1}.study-mode .example-step.study-current>.eyebrow{grid-row:1}.study-mode .example-step.study-current>h2{grid-row:2}.study-mode .example-step.study-current>.practice-steps{grid-column:1;grid-row:3;align-self:start;margin-top:12px}.study-mode .example-step.study-current>.example-shot:first-of-type{grid-column:2;grid-row:3;align-self:start;margin-top:12px}.study-mode .example-step .example-shot:first-of-type img{max-height:520px;object-fit:contain}}
@media(max-width:780px){.component-state-grid{grid-template-columns:1fr}}

.engineering-controls .map-source-choice{grid-column:1/-1}.map-source-choice select{max-width:650px}
