/* V14 — Precision Avionics Instrument & CAD Telemetry Palette for White-Ground
 * Foundations (基础知识) and Embedded Interactive Lessons.
 * Design Skill: design-taste-frontend (framed-sheet + achromatic-ledger)
 *   - Ground: #f1f5f9 (Cool Anodized Slate)
 *   - Surface: #ffffff (Pure White Instrument Sheet) & #f8fafc (Recessed Telemetry Well)
 *   - Primary Ink: #0f172a (Deep Carbon Navy)
 *   - Secondary Ink: #475569 (Precision Slate)
 *   - Primary Accent: #0284c7 (Telemetry Cyan-Blue)
 *   - Hairline Border: 1px solid #cbd5e1 + 2px top instrument bar (#0f172a / #0284c7)
 */
body:not(.mission-home):not([data-start="overview"]) {
  --v14-ink:#0f172a;
  --v14-muted:#475569;
  --v14-blue:#0284c7;
  --v14-blue-strong:#0369a1;
  --v14-blue-soft:#f0f9ff;
  --v14-blue-card:#f8fafc;
  --v14-gold:#0f172a;
  --v14-gold-strong:#0284c7;
  --v14-gold-ink:#0f172a;
  --v14-gold-soft:#f1f5f9;
  --v14-gold-card:#f8fafc;
  --v14-accent:#0284c7;
  --v14-accent-strong:#0369a1;
  --v14-accent-soft:#e0f2fe;
  --v14-line:#cbd5e1;
  --v14-ground:#f1f5f9;
  --v14-surface:#ffffff;

  /* Existing teaching and academic tokens. */
  --ink:var(--v14-ink);--muted:var(--v14-muted);
  --blue:var(--v14-blue);--blue-light:var(--v14-blue-soft);
  --bg:var(--v14-ground);--surface:var(--v14-surface);--line:var(--v14-line);
  --course-ink:var(--v14-ink);--course-blue:var(--v14-blue);--course-accent:var(--v14-blue);
  --lab-ink:var(--v14-ink);--lab-muted:var(--v14-muted);--lab-blue:var(--v14-blue);
  --lab-line:var(--v14-line);--lab-control:#94a3b8;--lab-ground:var(--v14-ground);--lab-active:var(--v14-accent-soft);
  --academic-ink:var(--v14-ink);--academic-muted:var(--v14-muted);--academic-blue:var(--v14-blue);
  --v05-navy:var(--v14-ink);
  --lab-good:#0284c7;--success:#0284c7;

  /* BoardUI accent family mapped to precision slate & telemetry cyan-blue */
  --color-accent-50:#f0f9ff;--color-accent-100:#e0f2fe;--color-accent-200:#bae6fd;
  --color-accent-300:#7dd3fc;--color-accent-400:#38bdf8;--color-accent-500:#0284c7;
  --color-accent-600:#0369a1;--color-accent-700:#075985;--color-accent-800:#0c4a6e;
  --color-accent-900:#0f172a;--color-accent-950:#020617;
  --color-text-primary:var(--v14-ink);--color-text-secondary:#334155;
  --color-text-tertiary:#64748b;
  --color-background-primary-default:var(--v14-surface);
  --color-background-primary-hover:#f8fafc;
  --color-background-primary-active:#f1f5f9;
  --color-background-primary-disabled:#f8fafc;
  --color-background-secondary-default:var(--v14-ground);
  --color-border-button-default:#cbd5e1;
  --color-border-button-hover:#0284c7;
  --color-border-button-active:#0f172a;
  --color-border-focus-ring:#0284c7;
  --color-button-ghost-background:#f1f5f9;
  --color-button-ghost-hover:#e2e8f0;
  --color-button-ghost-active:#cbd5e1;
  --color-button-ghost-foreground:#0f172a;
  --color-button-ghost-disabled:#f8fafc;
  --color-button-ghost-disabled-foreground:#94a3b8;
  --gradient-button-primary-default:#0f172a;
  --gradient-button-primary-hover:#1e293b;
  --gradient-button-primary-active:#020617;
  --gradient-button-primary-disabled:#e2e8f0;
  caret-color:var(--v14-blue);
  scrollbar-color:#94a3b8 var(--v14-ground);
}

/* Base teaching shell */
html body:is(.course-new,.source-page,[data-source-page],.v04-lab):not([data-start="overview"]) {
  color:var(--v14-ink)!important;background:var(--v14-ground)!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(h1,h2,h3,.course-topbar h1,.source-toolbar h1,.chapter-toolbar h1,.lab-title-row h1,.pi-equation,.model-equations,.model-transform,.tikz-fo) {
  color:var(--v14-ink)!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(#site-header,.lab-topbar,.site-header-inner) {
  background:#ffffff!important;border-color:#cbd5e1!important;
}
html body.course-new main.page-shell {
  background:var(--v14-ground)!important;
}

/* Navigation & Chapter Sub-header Bar (Precision Avionics Header) */
html body.course-new .lab-topbar {
  background:#ffffff!important;
  border-bottom:1px solid #cbd5e1!important;
}
html body.course-new #site-header {
  background:#f8fafc!important;
  border-bottom:1px solid #cbd5e1!important;
}
html body.course-new .site-header-inner {
  background:transparent!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(.site-nav a,.lab-global-nav a,.lab-brand) {
  color:#334155!important;font-weight:500;
}
html body:not(.mission-home):not([data-start="overview"]) .site-nav a span {
  color:#0284c7!important;font-weight:700;font-variant-numeric:tabular-nums;
}
html body:not(.mission-home):not([data-start="overview"]) :is(.site-nav a:hover,.lab-global-nav a:hover) {
  color:#0f172a!important;border-color:#0284c7!important;
}
html body:not(.mission-home):not([data-start="overview"]) .lab-global-nav a[aria-current] {
  color:#0f172a!important;border-bottom:2px solid #0284c7!important;font-weight:600;
}
html body:not(.mission-home):not([data-start="overview"]) .site-nav a[aria-current] {
  background:#0f172a!important;color:#ffffff!important;border-bottom:2px solid #38bdf8!important;padding-inline:11px!important;border-radius:5px 5px 0 0;font-weight:600;
}
html body:not(.mission-home):not([data-start="overview"]) .site-nav a[aria-current] span {
  color:#38bdf8!important;
}
html body:not(.mission-home):not([data-start="overview"]) .site-nav a[aria-current]:after {
  background:#38bdf8!important;
}

/* Source Lesson Top Toolbar (time.html, root-locus.html, frequency.html, design.html, case-*.html) */
html body.course-new :is(.source-toolbar,.chapter-toolbar,.design-heading) {
  background:#ffffff!important;
  border:1px solid #cbd5e1!important;
  border-left:3px solid #0f172a!important;
  border-radius:6px!important;
  padding:6px 14px!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
}
html body.course-new :is(.source-case-link,.case-return-v14) {
  background:#f0f9ff!important;
  color:#0369a1!important;
  border:1px solid #7dd3fc!important;
  border-radius:6px!important;
  padding:4px 12px!important;
  font-weight:600!important;
  text-decoration:none!important;
}
html body.course-new :is(.source-case-link,.case-return-v14):hover {
  background:#e0f2fe!important;
  color:#075985!important;
  border-color:#0284c7!important;
}

/* Segmented Instrument Controls (Carbon Navy Active, Crisp White Default) */
html body:not(.mission-home):not([data-start="overview"]) :is(.source-examples,.part-switch,.pi-tabs,.lab-taskbar,.segmented,.mode-tabs,.tabs,.model-variable-buttons,.model-stage-buttons) :is(button,a) {
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  border-radius:6px!important;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
html body:not(.mission-home):not([data-start="overview"]) :is(.source-examples,.part-switch,.pi-tabs,.lab-taskbar,.segmented,.mode-tabs,.tabs,.model-variable-buttons,.model-stage-buttons) :is(button,a):hover {
  background:#f8fafc!important;
  border-color:#0284c7!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(.source-examples,.part-switch,.pi-tabs,.lab-taskbar,.segmented,.mode-tabs,.tabs,.model-variable-buttons,.model-stage-buttons) :is(button,a):is([aria-selected="true"],[aria-pressed="true"],[aria-current],.active) {
  background:#0f172a!important;
  color:#ffffff!important;
  border:1px solid #0f172a!important;
  box-shadow:inset 0 -2px 0 #38bdf8,0 1px 3px rgba(15,23,42,.12)!important;
  font-weight:600!important;
}

/* Primary Buttons & Controls */
html body:not(.mission-home):not([data-start="overview"]) :is(.btn-primary,.btn.primary,.lab-btn.primary,#run-experiment,.assistant-compose button[type="submit"],.board-primary) {
  background:#0f172a!important;color:#fff!important;border:1px solid #0f172a!important;box-shadow:0 1px 3px rgba(15,23,42,.16)!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(.btn-primary,.btn.primary,.lab-btn.primary,#run-experiment,.assistant-compose button[type="submit"],.board-primary):hover:not(:disabled) {
  background:#1e293b!important;border-color:#0284c7!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(.lab-btn.text,.board-link,.fadec-heading button,.plot-heading button,.conditions-row button,.lab-statusline button) {
  color:#0284c7!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(button,a,input,select,textarea):focus-visible {
  outline-color:var(--v14-blue)!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(input[type="range"],input[type="checkbox"],input[type="radio"]) {
  accent-color:var(--v14-blue)!important;
}
html body:not(.mission-home):not([data-start="overview"]) input[type="range"]::-webkit-slider-thumb {
  border-color:var(--v14-blue)!important;background:#fff!important;
}
html body:not(.mission-home):not([data-start="overview"]) input[type="range"]::-moz-range-thumb {
  border-color:var(--v14-blue)!important;background:#fff!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(input[type="number"],select,textarea) {
  color:var(--v14-ink)!important;border-color:#cbd5e1!important;background:#fff!important;font-variant-numeric:tabular-nums;
}
html body:not(.mission-home):not([data-start="overview"]) :is(.btn,.lab-btn,.board-button):is(:disabled,[aria-disabled="true"]) {
  color:#94a3b8!important;background:#f8fafc!important;border-color:#e2e8f0!important;box-shadow:none!important;
}

/* ============================================================================
 * Precision CAD / Avionics Instrument Card System (White-Ground High-Tech)
 *   - 1px solid #cbd5e1 hairline border + 2px top instrument bar (#0f172a or #0284c7)
 *   - Subtle 16px CAD micro-dot grid on schematic & block-diagram surfaces
 *   - Recessed #f8fafc telemetry cells with tabular-nums readouts
 * ============================================================================ */

/* Iframe Wrapper in time.html, root-locus.html, frequency.html, design.html */
html body.course-new .source-frame-wrap {
  border:1px solid #cbd5e1!important;
  border-top:2px solid #0f172a!important;
  background:#ffffff!important;
  border-radius:6px!important;
  box-shadow:0 1px 3px rgba(15,23,42,.05)!important;
}

/* Case Pages (case-time.html, case-root-locus.html, case-frequency.html, case-design.html) */
html body.course-new .course-context {
  border:1px solid #cbd5e1!important;
  border-top:2px solid #0f172a!important;
  background-color:#ffffff!important;
  background-image:radial-gradient(#cbd5e1 1px,transparent 1px)!important;
  background-size:16px 16px!important;
  border-radius:6px!important;
  box-shadow:0 1px 3px rgba(15,23,42,.04)!important;
}
html body.course-new .pid-teaching-intro {
  border:1px solid #cbd5e1!important;
  border-top:2px solid #0284c7!important;
  background:#ffffff!important;
  border-radius:6px!important;
}
html body.course-new .pid-teaching-intro .course-context {
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body.course-new :is(.course-controls,.design-controls) {
  border:1px solid #cbd5e1!important;
  border-top:2px solid #0f172a!important;
  background:#ffffff!important;
  color:#0f172a!important;
  border-radius:6px!important;
  box-shadow:0 1px 3px rgba(15,23,42,.04)!important;
}
html body.course-new :is(.course-controls h2,.design-controls h2) {
  color:#0f172a!important;
  background:#f8fafc!important;
  border:1px solid #cbd5e1!important;
  border-left:3px solid #0f172a!important;
  border-radius:4px;
  padding:4px 10px;
}
html body.course-new :is(.course-plot,.design-panel) {
  border:1px solid #cbd5e1!important;
  border-top:2px solid #0284c7!important;
  background:#ffffff!important;
  border-radius:6px!important;
  box-shadow:0 1px 3px rgba(15,23,42,.04)!important;
}
html body.course-new :is(.course-plot h2,.design-panel h2) {
  background:#f8fafc!important;
  color:#0f172a!important;
  border-bottom:1px solid #e2e8f0!important;
  border-left:3px solid #0284c7!important;
  border-radius:4px 4px 0 0;
  padding:5px 12px!important;
}
html body.course-new :is(.course-readout>div,.design-metrics>span) {
  background:#f8fafc!important;
  border:1px solid #cbd5e1!important;
  border-left:3px solid #0284c7!important;
  border-radius:5px!important;
  font-variant-numeric:tabular-nums!important;
}

/* Embedded Source Lessons (originals/*.html: time-v11, root-*, frequency-v47, margin-delay, pid, lead, lag, lag-lead) */
/* 1. Plot & Diagram Panels */
html body[data-source-page] :is(.card,.panel,.chart) {
  border:1px solid #cbd5e1!important;
  border-top:2px solid #0284c7!important;
  background:#ffffff!important;
  border-radius:6px!important;
  box-shadow:0 1px 3px rgba(15,23,42,.04)!important;
}
html body[data-source-page] :is(.polePanel>.bar,.responsePanel>.bar,.plots>.card>.plot-head,.plots>.card>.row,.charts>.panel>h2,.grid .panel>h2,.chart>h2) {
  background:#f8fafc!important;
  color:#0f172a!important;
  border-bottom:1px solid #e2e8f0!important;
  border-left:3px solid #0284c7!important;
  border-radius:4px;
  padding:3px 10px!important;
}
html body[data-source-page] :is(.polePanel>.bar h1,.responsePanel>.bar h1,.plots>.card h2,.charts>.panel>h2,.grid .panel>h2,.chart>h2) {
  color:#0f172a!important;
  font-weight:600!important;
}
html body[data-source-page="time-v11"] .badge {
  background:#f0f9ff!important;
  color:#0369a1!important;
  border:1px solid #bae6fd!important;
}

/* 2. System / Control / Parameter / Formula Panels */
html body[data-source-page] :is(.topPanel,.summary,.system,.controls,.v14-root-top>.controls,#vectorAngles) {
  border:1px solid #cbd5e1!important;
  border-top:2px solid #0f172a!important;
  background:#ffffff!important;
  color:#0f172a!important;
  border-radius:6px!important;
}
html body[data-source-page="time-v11"] .topPanel .summary {
  border:0!important;
  background:transparent!important;
}
html body[data-source-page="time-v11"] .label {
  color:#0f172a!important;
  font-weight:600;
}
html body[data-source-page] .formulas>.formula:first-child {
  border:1px solid #cbd5e1!important;
  border-top:2.5px solid #0284c7!important;
  background:#ffffff!important;
  border-radius:6px!important;
}
html body[data-source-page] .formulas>.formula:nth-child(2) {
  border:1px solid #cbd5e1!important;
  border-top:2.5px solid #0f172a!important;
  background:#ffffff!important;
  border-radius:6px!important;
}

/* 3. Digital Telemetry Readout Cells inside Source Lessons */
html body[data-source-page] .metrics>.metric:nth-child(odd),
html body[data-source-page] .readout>.metric:nth-child(odd),
html body[data-source-page] .readout>.stat:nth-child(odd) {
  border:1px solid #cbd5e1!important;
  border-left:3px solid #0f172a!important;
  background:#f8fafc!important;
  color:#334155!important;
  border-radius:5px!important;
  font-variant-numeric:tabular-nums!important;
}
html body[data-source-page] .metrics>.metric:nth-child(even),
html body[data-source-page] .readout>.metric:nth-child(even),
html body[data-source-page] .readout>.stat:nth-child(even) {
  border:1px solid #cbd5e1!important;
  border-left:3px solid #0284c7!important;
  background:#f8fafc!important;
  color:#334155!important;
  border-radius:5px!important;
  font-variant-numeric:tabular-nums!important;
}
html body[data-source-page] :is(.metrics>.metric:nth-child(odd) strong,.metrics>.metric:nth-child(odd) b,.readout>.metric:nth-child(odd) b,.readout>.stat:nth-child(odd)>span) {
  color:#0f172a!important;font-weight:600!important;
}
html body[data-source-page] :is(.metrics>.metric:nth-child(even) strong,.metrics>.metric:nth-child(even) b,.readout>.metric:nth-child(even) b,.readout>.stat:nth-child(even)>span) {
  color:#0284c7!important;font-weight:600!important;
}

/* Active Variable & Phase Highlights (Precision Cyan Highlight) */
html body:not(.mission-home):not([data-start="overview"]) :is(.ak-var.variable-active,.model-equations .variable-active,.model-transform .variable-active) {
  color:#0369a1!important;background:#e0f2fe!important;
  outline-color:#38bdf8!important;box-shadow:0 0 0 1px #38bdf8!important;
}
html body:not(.mission-home):not([data-start="overview"]) .tikz-variable-hit.variable-active {
  fill:rgba(2,132,199,.14)!important;stroke:#0284c7!important;
}
html body:not(.mission-home):not([data-start="overview"]) .tikz-variable-hit:hover {
  fill:rgba(2,132,199,.08)!important;stroke:#0284c7!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(.model-grid,.model-physical,.model-equations,.model-transform,.physical-laws,.physics-equations) :is(.active,.variable-active,.on,.is-active,[data-active="true"]),
html body:not(.mission-home):not([data-start="overview"]) :is(.phase.active,.phase.on,[data-phase].active,[data-phase].on,.phase-current) {
  color:#0369a1!important;background:#e0f2fe!important;border-color:#0284c7!important;
  outline-color:#38bdf8!important;box-shadow:none!important;
}
html body:not(.mission-home):not([data-start="overview"]) .model-physical svg :is(rect.variable-active,rect.on,rect.active) {
  fill:#e0f2fe!important;stroke:#0284c7!important;
}
html body:not(.mission-home):not([data-start="overview"]) .model-physical svg :is(text.variable-active,text.on,text.active) {
  fill:#0369a1!important;stroke:none!important;background:none!important;
}

/* Foundations AI Assistant Sidebar (High-Tech Avionics Telemetry Rail) */
html body.course-new>.lab-assistant {
  border-left:1px solid #cbd5e1!important;
  background:#f8fafc!important;
  color:#0f172a!important;
}
html body.course-new>.lab-assistant .lab-assistant-head h2,
html body:not(.mission-home):not([data-start="overview"]) :is(#course-assistant,#lab-assistant,.lab-assistant) .lab-assistant-head h2 {
  color:#f8fafc!important;
  background:transparent!important;
  border:0!important;
}
html body.course-new>.lab-assistant .assistant-message.answer {
  background:#ffffff!important;
  border:1px solid #cbd5e1!important;
  border-top:2px solid #0284c7!important;
  color:#0f172a!important;
}
html body.course-new>.lab-assistant .assistant-suggestions button {
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  border-left:2.5px solid #0284c7!important;
}
html body.course-new>.lab-assistant .assistant-suggestions button:hover {
  background:#f0f9ff!important;
  border-color:#0284c7!important;
  color:#0369a1!important;
}

/* Chart Series & Legends */
html body:not(.mission-home):not([data-start="overview"]) svg :is(.signal-dot,.model-flow-dot,.loop-current) {
  fill:#0284c7!important;
}
html body:not(.mission-home):not([data-start="overview"]) :is(.plot-legend i:not(.baseline):not(.reference),.legend-line:not(.gray),.legend span:not(.baseline):not(.critical):not(.reference):before) {
  border-color:#0284c7!important;
}
html body .plot-legend .baseline{border-color:#64748b!important}
html body .plot-legend .reference{border-color:#475569!important}
html body:not(.mission-home):not([data-start="overview"]) .plot-canvas text {
  fill:#0f172a!important;
}
html body:not(.mission-home):not([data-start="overview"]) ::selection {
  background:#e0f2fe;color:#0f172a;
}

/* Retained-source chart overlays */
html body .v14-response-line{stroke:#0284c7!important}
html body .v14-metric-guide{stroke:#475569!important}
html body .v14-settle-band{fill:rgba(2,132,199,.08)!important}
html body .v14-root-svg .v14-tick{font-size:14px!important;fill:#0f172a!important}
html body[data-source-page="root-basic"] .academic-root-loop{height:148px!important}
html body[data-source-page="root-basic"] .academic-root-model{display:none!important}
html body[data-source-page] .tikz-feedback .tikz-fo{font-size:26px!important;color:#0f172a!important}
html body[data-source-page="root-zero"] .chart svg{width:100%!important;height:100%!important}
html body[data-source-page="root-zero"] #stepPlot .response{stroke:#0284c7!important}
