/* Educational surfaces share ScaleTrip's existing type, dark palette and accents. */
.home-hero-intro a { color:#a4f1ce; text-underline-offset:.25em; }
.learning-home,.learning-experiment,.lesson-list,.learning-introduction { color:#f4f7fa; }
.learning-home { padding:clamp(2rem,5vw,5rem) clamp(1rem,4vw,3.5rem); border-block:1px solid #283238; }
.learning-home>header { max-width:54rem; margin-bottom:2rem; }
.learning-home h2 { font-size:clamp(1.7rem,3vw,2.8rem); line-height:1.25; margin:.5rem 0 1rem; }
.learning-home p,.learning-experiment p,.lesson-list p { line-height:1.75; }
.learning-home>header>p:not(.learning-eyebrow) { color:#b7c0c8; max-width:48rem; }
.learning-eyebrow { font-size:.8rem; line-height:1.5; font-weight:650; color:#7be7b6; margin:0 0 .7rem; letter-spacing:.04em; }
.learning-text-link { display:inline-block; color:#7be7b6; padding:.5rem 0; text-underline-offset:.25em; }
.learning-experiment { background:#0e1418; border:1px solid #33424b; padding:clamp(1rem,3vw,2.5rem); margin:2rem 0 3rem; scroll-margin-top:1.5rem; }
.distance-article>.learning-experiment,.micro-topic-article>.learning-experiment,.earth-page>.learning-experiment,.content-page>.learning-experiment { margin-inline:var(--pad,1rem); }
.content-page>.lesson-list { padding-inline:var(--pad,1rem); }
.learning-experiment header { max-width:52rem; }
.learning-experiment h2,.learning-experiment h3 { position:static; line-height:1.4; margin:0 0 1rem; }
.learning-experiment h2,.learning-experiment h3 { word-break:keep-all; overflow-wrap:anywhere; }
.learning-experiment h2 { font-size:clamp(1.4rem,2.5vw,2rem); }
.learning-experiment h3 { font-size:1.25rem; }
.learning-experiment header>p:not(.learning-eyebrow),.learning-explanation p { color:#c3ccd2; max-width:52rem; }
.learning-experiment a,.lesson-list a,.learning-method-link a { color:#a4f1ce; text-underline-offset:.25em; }
.learning-controls { display:flex; flex-wrap:wrap; gap:1rem 2rem; border:0; padding:1rem 0; margin:0; }
.learning-controls legend { font-size:.85rem; color:#b7c0c8; padding:0; }
.learning-controls label { display:flex; flex:1 1 12rem; flex-direction:column; gap:.5rem; min-width:0; font-size:.9rem; color:#e5ecef; }
.log-experiment .learning-controls label { flex:none; flex-direction:row; align-items:center; }
.learning-controls input[type="range"] { width:100%; accent-color:#7be7b6; min-height:44px; margin:0; }
.learning-controls input[type="radio"] { accent-color:#7be7b6; min-width:20px; min-height:20px; }
.learning-controls select { width:100%; min-width:0; max-width:100%; min-height:48px; background:#101a20; border:1px solid #62747d; color:#f4f7fa; padding:.6rem; font:inherit; font-size:1rem; }
.learning-controls:disabled { opacity:.55; }
.learning-presets { display:flex; flex-wrap:wrap; gap:.75rem; flex-basis:100%; }
.learning-presets button { background:#101a20; color:#f4f7fa; border:1px solid #62747d; min-height:44px; padding:.5rem 1rem; }
.learning-explanation table { width:100%; border-collapse:collapse; text-align:left; }
.learning-explanation th,.learning-explanation td { border-bottom:1px solid #33424b; padding:.7rem .5rem; vertical-align:top; }
.learning-experiment :focus-visible,.lesson-list a:focus-visible { outline:3px solid #a4f1ce; outline-offset:4px; }
.learning-experiment figure { margin:1rem 0 1.5rem; }
.learning-chart { display:block; width:100%; height:auto; overflow:visible; color:#7be7b6; }
.learning-chart circle { fill:currentColor; }
.learning-chart text { fill:#cbd5dc; font:18px system-ui,sans-serif; }
.learning-chart path,.learning-chart line { fill:none; stroke:currentColor; stroke-width:2; }
.learning-chart .chart-axis { stroke:#4a5b65; }
.learning-chart .chart-cursor { stroke:#e9eef1; stroke-dasharray:4 4; }
.learning-chart .model-earth { fill:#92c8ff; }
.learning-chart .model-moon { fill:#ece5d5; }
.model-live-result { display:flex; flex-wrap:wrap; gap:.5rem 2rem; font-size:1.05rem; }
.model-live-result output { color:#f4f7fa; font-weight:650; font-variant-numeric:tabular-nums; }
.learning-chart [data-moon-span] { stroke-width:3; }
.learning-chart [data-moon-span][data-span="centres"] { stroke:#92c8ff; stroke-dasharray:7 5; }
.learning-chart [data-moon-guide-start],.learning-chart [data-moon-guide-end] { stroke:#7b8b95; stroke-width:1; }
.model-size-preview { max-width:56rem; }
.comparison-lab { max-width:100%; min-width:0; }
.comparison-lab [hidden] { display:none!important; }
.comparison-lab input[type="text"] { min-height:44px; max-width:100%; background:#101a20; border:1px solid #62747d; color:#f4f7fa; font:inherit; padding:.6rem; }
.comparison-lab[data-invalid] .learning-readouts,.comparison-lab[data-invalid] figure,.comparison-lab[data-invalid] .measurement-pair { display:none; }
.comparison-lab .learning-chart [data-model-bar="a"],.comparison-lab .learning-chart [data-ratio-bar="a"] { fill:#92c8ff; }
.comparison-lab .learning-chart [data-model-bar="b"],.comparison-lab .learning-chart [data-ratio-bar="b"] { fill:#7be7b6; }
.comparison-lab .measurement-pair a { display:inline-block; margin-right:1rem; padding-block:.5rem; }
.comparison-lab [data-comparison-status] { font-size:.9rem; }
.comparison-more { margin:2rem var(--pad,1rem); }
.comparison-more>summary { cursor:pointer; min-height:44px; padding:.8rem 0; color:#a4f1ce; }
.comparison-more>.learning-experiment { margin-inline:0; }
.learning-chart .pressure-curve { stroke:#efb866; stroke-width:3; }
.learning-chart .gravity-curve { stroke:#7be7b6; stroke-width:3; }
.learning-experiment figcaption,.learning-note,.learning-method-link { color:#acbac3; font-size:.9rem; line-height:1.65; }
.learning-readouts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap:1rem; margin:1rem 0 2rem; }
.learning-readouts>div { border-top:1px solid #3e4d56; padding-top:.8rem; min-width:0; }
.learning-readouts dt { color:#b7c0c8; font-size:.85rem; line-height:1.5; }
.learning-readouts dd { margin:.4rem 0 0; min-height:2.8em; font-size:1.2rem; line-height:1.4; font-variant-numeric:tabular-nums; overflow-wrap:break-word; }
.learning-formula { font-family:ui-monospace,monospace; font-size:1rem; line-height:1.85; padding:1rem 0; overflow-wrap:break-word; }
.lesson-list { list-style:none; padding:0; margin:2rem 0; }
.lesson-list>li { display:grid; grid-template-columns:3rem minmax(0,1fr); gap:1rem; padding:1.5rem 0; border-top:1px solid #33424b; }
.lesson-number { color:#7be7b6; font-size:1rem; font-variant-numeric:tabular-nums; padding-top:.1rem; }
.lesson-list h3 { font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.45; margin:0 0 .7rem; }
.lesson-list p { color:#b7c0c8; margin:0; max-width:48rem; }
.lesson-list .learning-eyebrow { color:#7be7b6; margin-bottom:.5rem; }
.measurement-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.measurement-pair>section { border-top:1px solid #44545e; padding-top:1.5rem; min-width:0; }
.measurement-pair a { overflow-wrap:anywhere; }
.learning-explanation { border-top:1px solid #33424b; padding-top:1.5rem; margin-top:2rem; }
.earth-prototype-secondary { margin:2rem 0; border-top:1px solid #33424b; padding-top:1rem; }
.earth-prototype-secondary>summary { min-height:44px; cursor:pointer; color:#b7c0c8; }
.data-reference { min-width:0; }
[data-page-type="dataset"] .content-header h1 { word-break:keep-all; }
.data-reference .prose-section>p { max-width:75ch; }
.data-downloads { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin-block:1.5rem; }
.data-downloads a,.data-reference summary { min-height:44px; padding-block:.6rem; }
.data-reference a { color:#a4f1ce; text-underline-offset:.2em; overflow-wrap:anywhere; }
.data-reference code { overflow-wrap:anywhere; }
.data-table-wrap { max-width:100%; overflow-x:auto; margin-block:1.5rem; }
.data-table-wrap:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.data-reference table { width:100%; min-width:38rem; border-collapse:collapse; text-align:left; }
.data-reference caption { text-align:left; margin-bottom:.75rem; color:var(--muted); }
.data-reference th,.data-reference td { vertical-align:top; border-bottom:1px solid var(--line); padding:.8rem .6rem; }
.data-reference td:nth-child(2) { white-space:nowrap; font-variant-numeric:tabular-nums; }
.data-record { border-top:1px solid var(--line); padding-top:1.5rem; margin-top:2rem; scroll-margin-top:2rem; }
.data-record h3 { position:static; line-height:1.4; margin:0 0 .75rem; }
.data-record dl,.data-dictionary { margin:1rem 0; }
.data-record dt,.data-dictionary dt { margin-top:1rem; font-weight:650; color:var(--white); }
.data-record dd,.data-dictionary dd { margin:.4rem 0 0; max-width:75ch; overflow-wrap:anywhere; }
.data-review-list { padding-left:1.2rem; }
.data-review-list li { padding-block:.5rem; }
.data-review-list p { margin:.4rem 0; }
.learning-method .data-table-wrap { overflow-x:auto; max-width:100%; }
.learning-method table { text-align:left; border-collapse:collapse; min-width:36rem; }
.learning-method th,.learning-method td { padding:.8rem; border-bottom:1px solid #33424b; vertical-align:top; }
.method-code { max-width:100%; overflow-x:auto; font-size:.85rem; line-height:1.65; padding:1rem; background:#06080a; border:1px solid #33424b; }
.learning-experiment p,.lesson-list p { max-width:68ch; }
.learning-controls label { font-size:1rem; }
.learning-readouts output { font-variant-numeric:tabular-nums; }
.model-live-result { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); }
.model-live-result>span { min-width:0; line-height:1.6; }
.data-table-wrap { border:1px solid #33424b; scrollbar-color:#82988d #101a20; }
.learning-explanation .data-table-wrap table { min-width:36rem; }
@media(min-width:1000px) {
 .learning-home { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 3rem; }
 .learning-home>header,.learning-home>.learning-experiment { grid-column:1; }
 .learning-home>.learning-featured { grid-column:2; grid-row:1 / span 2; }
 .learning-home>.learning-method-link { grid-column:1 / -1; }
 .learning-home .lesson-list { margin-top:0; }
}
@media(max-width:620px) {
 .comparison-lab .learning-chart text { font-size:32px; }
 .measurement-pair { grid-template-columns:1fr; gap:1.5rem; }
 .learning-controls { gap:1rem; }
 .learning-controls label { flex-basis:100%; }
 .learning-chart text { font-size:25px; }
 .profile-model text { font-size:20px; }
 .lesson-list>li { grid-template-columns:2rem minmax(0,1fr); gap:.5rem; }
 .learning-home h2 { font-size:1.6rem; }
 .learning-readouts { grid-template-columns:minmax(0,1fr); gap:.65rem; }
 .learning-readouts>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.8rem; align-items:baseline; }
 .learning-readouts dd { margin:0; min-height:0; text-align:right; }
 .learning-readouts dt { font-size:.9rem; }
 .learning-experiment { padding:1rem; }
}
