/* V14 type scale: 22 / 16 / 14 px. Generated math subscripts/superscripts
 * keep KaTeX's own relative sizing and are not flattened by these rules.
 */
@font-face {font-family:"Course Han";src:url("assets/fonts/NotoSansSC-VF.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF,U+20000-2FA1F,U+2014,U+2018-201F,U+2026}
:root {--course-font:"Course Han","KaTeX_Main","Times New Roman",serif;--academic-ui:var(--course-font);--lab-font:var(--course-font);--lab-heading:var(--course-font);--type-title:22px;--type-body:16px;--type-axis:14px}
html body[class] {font-family:var(--course-font)!important;font-size:var(--type-body)!important;line-height:1.6}
html body[class] :is(h1,h2,h3,h4,p,a,button,input,select,textarea,label,output,small,summary,li,th,td,legend) {font-family:var(--course-font)!important}
html body[class] :is(h1,.course-topbar h1,.source-toolbar h1,.chapter-toolbar h1,.lab-title-row h1,.design-heading h1) {font-size:var(--type-title)!important;line-height:1.4!important;font-weight:600!important}
html body[class] :is(h2,h3,h4,p,a,button,input,select,textarea,label,output,summary,li,th,td,legend) {font-size:var(--type-body)!important}
html body[class] :is(h2,h3,h4) {line-height:1.45!important;font-weight:600!important}
html body[class] :is(p,li,td,.assistant-message,.assistant-compose textarea,.course-dialog,.lab-dialog) {line-height:1.65!important}
html body[class] :is(button,input,select,output) {line-height:1.3!important}

/* Common dense components had unrelated 12/13/15/17/18/20px overrides. */
html body[class] :is(.lab-brand,.lab-return,.lab-global-nav a,.site-nav a,.source-examples button,.source-case-link,.course-case-label,.course-toolbar,.course-playbar,.model-live-values,.model-equations,.model-transform,.model-closed-formula,.course-equations,.design-formula,.design-slider,.design-metrics,.design-metrics strong,.signal-card,.signal-card strong,.rotor-reading,.rotor-reading strong,.pi-equation,.pi-purpose,.pi-field,.pi-field label,.pi-other,.scene-topline,.scene-bottomline,.scene-live-values,.plot-summary,.plot-summary strong,.assistant-context,.assistant-message,.assistant-message-label,.assistant-suggestions,.assistant-compose textarea,.assistant-compose-row,.source-status,.metric,.metric strong,.metric b,.stat,.stat strong,.stat>span,.control-label,.control-label output,.playback-controls output) {
  font-size:var(--type-body)!important;
}
html body[class] :is(.assistant-message,.assistant-message p,.assistant-compose textarea) {font-family:var(--course-font)!important;font-size:var(--type-body)!important;line-height:1.65!important}
html body[class] :is(.lab-global-nav a,.site-nav a,.source-examples button,.course-toolbar label,.course-playbar label,.model-variable-buttons button,.model-stage-buttons button,.pi-tabs button,.part-switch button,.lab-taskbar button,.scene-3d-button,.design-actions button) {font-size:var(--type-body)!important}
html body[class] :is(.signal-card>div,.signal-card>div>span,.rotor-reading span,.course-case-label,.assistant-mode,.assistant-mode select) {font-size:var(--type-body)!important}

/* Physical-law explanations gain leading, without enlarging every panel. */
html body[class] :is(.model-equations,.model-equation,.model-transform,.model-closed-formula,.physical-laws,.physics-equations,.model-parameter-note,#modelParameterNote) {font-size:var(--type-body)!important;line-height:1.7!important}
html body[class] :is(.model-equations,.physical-laws,.physics-equations) {row-gap:12px!important}
html body[class] :is(.model-equation,.physical-law) {padding-block:3px}
html body[class] :is(.model-equation-card p,.model-equation-card .course-muted,.model-parameter-note,#modelParameterNote,.physical-laws p) {font-size:var(--type-body)!important;line-height:1.7!important}

/* Formulas inherit the same 16px base; KaTeX owns the sizes inside itself. */
html body[class] :is(.academic-math,.academic-katex,.formula,.equation,.design-formula,.model-equations math,.model-transform math,.model-closed-formula math,.course-equations math,.pi-equation):not(svg *) {font-size:var(--type-body)!important}
html body[class] .katex {font-family:KaTeX_Main,serif!important;font-size:1em!important;line-height:1.25!important}
html body[class] .katex .cjk_fallback {font-family:"Course Han",serif!important}
/* SVG diagrams use native viewBox units: forcing them to 16 units can make
 * a label appear 7px after scaling. Their intrinsic geometry stays intact. */

/* The only smaller tier: axes, legends and short provenance/caption text. */
html body[class] :is(small,.small-note,.message-source,.course-muted,.fixed-caption,.plot-legend,.design-legend,.legend,.source-note,.design-source-note,.lab-statusline,.mission-model-note,.scene-power-key,.course-card-title>span,.course-plot h2 small,.design-panel h2 small,.model-case-note,.assistant-compose-row>span,.source-help-caption) {font-size:var(--type-axis)!important;line-height:1.5!important}
html body[class] :is(.site-nav a span,.assistant-availability,.source-index) {font-size:var(--type-axis)!important}
html body[class] svg text {font-family:var(--course-font)!important}
html body[class] :is(.course-chart,.plot-canvas,.design-panel,.chart-box) svg text {font-size:var(--type-axis)!important}
html body[class] :is(.pid-chart-math,.svg-axis-label,.chart-axis-label) {font-size:var(--type-axis)!important}
html body[class] :is(.pid-chart-math,.svg-axis-label,.chart-axis-label) :is(.academic-math,.academic-katex) {font-size:var(--type-axis)!important}
html body[class] .model-equation-card .course-muted {font-size:var(--type-body)!important}


html body.course-new.pid-embedded main.page-shell .design-metrics strong{font-size:16px!important}
html body.course-new.pid-embedded main.page-shell .design-metrics span{font-size:14px!important}
html body.course-new.pid-embedded main.page-shell .design-actions button{font-size:16px!important}

html body[class] :is(.v14-time-metrics span,.v14-root-legend,.stat b,.readout small,.controls .ticks,.v14-energy-strip,#design-status){font-size:14px!important;line-height:1.5!important}
