/* SI Studio → ferronato.me labs identity (see ../portfolio-shell.css).
   Loaded after style.css, portfolio-shell.css and screen.css. Every rule is
   prefixed with `html[data-theme] body[data-fm-project=…]` so it outranks both the
   "Studio 6" light layer and the html[data-theme="dark"] overrides.
   Data/trace colours (--cyan, --red, --lime, --amber, --purple) are left
   alone: app.js draws the traces with the same hard-coded values, and the
   legends/swatches must keep matching them. */

/* ---------- tokens ---------- */
html[data-theme="light"] body[data-fm-project="high_speed_pcb"]{
  /* same values as .fm-light */
  --fm-bg:#F4F1EA;--fm-panel:#FFFFFF;--fm-panel-2:#F8F6F1;--fm-sunk:#ECE8DF;
  --fm-ink:#1E2022;--fm-muted:#55575A;--fm-dim:#7A7C7E;
  --fm-rule:#D9D5CC;--fm-rule-strong:#BDB8AD;
  --fm-amber:#B57A12;--fm-amber-ink:#FFFFFF;--fm-amber-soft:rgba(181,122,18,.10);--fm-amber-line:rgba(181,122,18,.5);
  --fm-d1:#B57A12;--fm-d2:#2F6E93;--fm-d3:#2E8460;--fm-d4:#B4513A;--fm-d5:#6A55B0;--fm-d6:#6F726F;
  --fm-ok:#2E8460;--fm-warn:#B57A12;--fm-bad:#B4513A;
  --fm-shadow:0 1px 2px rgba(30,32,34,.06),0 8px 24px rgba(30,32,34,.06);
  color-scheme:light;
}
html[data-theme] body[data-fm-project="high_speed_pcb"]{
  /* the lab's own chrome tokens, mapped onto the shared ones */
  --bg:var(--fm-bg);--bg-2:var(--fm-bg);
  --panel:var(--fm-panel);--panel-2:var(--fm-panel-2);--panel-3:var(--fm-panel-2);--panel-4:var(--fm-panel-2);
  --line:var(--fm-rule);--line-2:var(--fm-rule-strong);--line-soft:var(--fm-rule);
  --text:var(--fm-ink);--text-2:var(--fm-muted);--muted:var(--fm-muted);--muted-2:var(--fm-dim);
  --sans:var(--fm-sans);--mono:var(--fm-mono);
  /* Instrument wells stay dark in both themes: the canvases are drawn for a
     dark background (scope plots paint #070b0e themselves). */
  --si-well:#111416;
  --si-well-grid:rgba(138,140,136,.07);
  background:var(--fm-bg);
  color:var(--fm-ink);
  font:15px/1.5 var(--fm-sans);
}

/* ---------- shared recipes ---------- */
/* kicker */
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.micro-label,.instrument-kicker,.control-group-label,.side-section-label,.formula-block span,.insight .tag,.severity,.lab-principle span,.crumb span){
  font:500 10.5px/1.2 var(--fm-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}
/* chip */
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.scope-tag,.z0-badge,.dock-badge,.state-chip){
  font:500 11px/1 var(--fm-mono);
  letter-spacing:.02em;
  padding:5px 9px;
  border:1px solid var(--fm-rule);
  border-radius:999px;
  background:transparent;
  color:var(--fm-muted);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .z0-badge{color:var(--fm-amber);border-color:var(--fm-amber-line);background:var(--fm-amber-soft)}
/* button */
html[data-theme] body[data-fm-project="high_speed_pcb"] .tool-btn{
  height:var(--fm-h-ctl);
  padding:0 12px;
  border:1px solid var(--fm-rule);
  border-radius:var(--fm-r-ctl);
  background:var(--fm-panel);
  color:var(--fm-ink);
  font:500 13px/1 var(--fm-sans);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .tool-btn:hover{background:var(--fm-panel-2);border-color:var(--fm-rule-strong);color:var(--fm-ink)}
/* input / select */
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.wave-select select,.scale-choice select,.control-row select){
  height:var(--fm-h-ctl);
  padding:0 8px;
  border:1px solid var(--fm-rule);
  border-radius:var(--fm-r-ctl);
  background:var(--fm-sunk);
  color:var(--fm-ink);
  font:500 13px var(--fm-sans);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.wave-select select,.scale-choice select,.control-row select):focus-visible{outline:2px solid var(--fm-amber);outline-offset:2px}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(button,input,select,summary):focus-visible{outline-color:var(--fm-amber)}
/* panel */
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.instrument,.channel-strip,.review-card,.lab-explanation){
  background:var(--fm-panel);
  border:1px solid var(--fm-rule);
  border-radius:var(--fm-r-panel);
  box-shadow:var(--fm-shadow);
  color:var(--fm-ink);
}

/* ---------- shell: hero, tab strip, live channel, section head ----------
   The old fixed sidebar (brand, LABS list, LIVE CHANNEL, engine footer) and the
   sticky workspace bar are gone. The brand lives in header.fm-hero, the seven
   labs are tabs in nav.fm-tabs (#labNav keeps its id and the button[data-target]
   contract app.js binds to), the System / Light mode / Pause / Reset buttons sit
   in .fm-tab-actions, and #globalTelemetry is a mono strip under the tabs. */
html[data-theme] body[data-fm-project="high_speed_pcb"]{
  --si-chrome:168px; /* sticky strip (tabs + live row) + section head + padding, used by screen.css */
}
html:has(body[data-fm-project="high_speed_pcb"]){height:auto;overflow:visible}
html[data-theme] body[data-fm-project="high_speed_pcb"]{height:auto;overflow:visible}
/* one column width for hero, tab strip, content, related labs and footer:
   the instrument grid (stage + 288px dock + plots) needs more than 1200px */
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.fm-wrap,.fm-related-labs){width:min(1480px,calc(100% - 40px))}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-hero{padding-top:38px}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-hero h1{margin:0}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-hero-key sub{font-size:.75em;line-height:0}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-hero-fig figcaption strong{color:var(--fm-ink);font-weight:600}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-hero-fig figcaption sub{font-size:.75em;line-height:0}

/* tab strip: restate the shell look over style.css's old .lab-nav rules */
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .fm-wrap{display:flex;align-items:center;gap:2px}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav{
  display:flex;flex-direction:row;flex:1;min-width:0;gap:2px;padding:0;margin:0;overflow-x:auto;scrollbar-width:none;
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav::-webkit-scrollbar{display:none}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button{
  display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;grid-template-columns:none;place-items:unset;text-align:left;
  margin:0;padding:13px 10px 11px;border:0;border-bottom:2px solid transparent;border-radius:6px 6px 0 0;
  background:none;color:var(--fm-muted);
  font:500 13px/1.2 var(--fm-sans);white-space:nowrap;cursor:pointer;
  transition:color .15s ease,background .15s ease,border-color .15s ease;
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button:before{display:none}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button .n{display:inline;font:500 11px/1 var(--fm-mono);color:var(--fm-dim)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button:hover{color:var(--fm-ink);background:rgba(255,255,255,.03);border-color:transparent}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button.active{
  color:var(--fm-ink);background:var(--fm-amber-soft);border-color:transparent;border-bottom-color:var(--fm-amber);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button.active .n{color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button:focus-visible{outline:2px solid var(--fm-amber);outline-offset:-2px}
html[data-theme="light"] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button:hover{background:rgba(30,32,34,.04)}

/* actions at the right end: the three buttons from the page plus the System
   button layout.js prepends (class tool-btn); all drawn as .fm-chip */
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .fm-tab-actions{display:flex;align-items:center;gap:6px;margin-left:auto;padding-left:12px;flex:0 0 auto}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .fm-tab-actions :is(.fm-chip,.tool-btn){
  display:inline-flex;align-items:center;gap:6px;height:26px;min-height:26px;padding:0 10px;
  border:1px solid var(--fm-rule);border-radius:999px;
  background:color-mix(in srgb,var(--fm-panel) 80%,transparent);
  color:var(--fm-muted);font:500 11px/1 var(--fm-mono);letter-spacing:.02em;white-space:nowrap;cursor:pointer;
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .fm-tab-actions :is(.fm-chip,.tool-btn):hover{color:var(--fm-ink);border-color:var(--fm-rule-strong);background:var(--fm-panel)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .fm-tab-actions .pause-icon{font:600 10px var(--fm-mono);margin:0}

/* live channel readouts (#globalTelemetry, filled by app.js with .metric items) */
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live-row{
  display:flex;align-items:center;gap:14px;padding:5px 0 7px;border-top:1px solid var(--fm-rule);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live-label{
  flex:0 0 auto;color:var(--fm-amber);font:600 10px/1 var(--fm-mono);letter-spacing:.13em;text-transform:uppercase;
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live{
  display:flex;align-items:center;gap:0 22px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;
  margin:0;padding:0;background:none;border:0;border-radius:0;
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live::-webkit-scrollbar{display:none}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live .metric{
  display:inline-flex;align-items:baseline;gap:7px;flex:0 0 auto;min-height:0;min-width:0;padding:0;margin:0;
  background:none;border:0;color:var(--fm-muted);white-space:nowrap;
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live .metric span{display:inline;margin:0;font:500 10px/1 var(--fm-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fm-dim)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live .metric strong{display:inline;margin:0;font:500 12px/1 var(--fm-mono);font-variant-numeric:tabular-nums;color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live .metric.good strong{color:var(--fm-ok)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live .metric.warn strong{color:var(--fm-warn)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live .metric.bad strong{color:var(--fm-bad)}

/* content column: wider than the hero so the instrument grid keeps its room */
html[data-theme] body[data-fm-project="high_speed_pcb"] .si-content{
  box-sizing:border-box;width:min(1480px,calc(100% - 40px));margin:0 auto;padding:0 0 8px;
}
@media(max-width:1340px){
  html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button{padding-left:8px;padding-right:8px;gap:5px}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .fm-tab-actions{padding-left:8px;gap:4px}
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .workspace{max-width:none;margin:0;padding:0}
/* the old sticky workspace bar is now the section head of the content */
html[data-theme] body[data-fm-project="high_speed_pcb"] .workspace-bar{
  position:static;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  height:auto;min-height:0;padding:22px 0 12px;margin:0 0 12px;
  background:none;border:0;border-bottom:1px solid var(--fm-rule);backdrop-filter:none;color:var(--fm-ink);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .crumb{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
html[data-theme] body[data-fm-project="high_speed_pcb"] .crumb span{display:inline;padding:0;border:0;color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .crumb b{font:400 clamp(24px,2.4vw,32px)/1.1 var(--fm-serif);letter-spacing:-.015em;color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-section.active{animation:none}

/* ---------- lab heading ---------- */
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-heading .micro-label{color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-heading h2{
  font:400 clamp(28px,2.6vw,40px)/1.1 var(--fm-serif);
  letter-spacing:-.015em;
  color:var(--fm-ink);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-heading p{color:var(--fm-muted);font-size:15px}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-index{background:var(--fm-sunk);border-color:var(--fm-rule);color:var(--fm-amber);font-family:var(--fm-mono)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-principle{border-color:var(--fm-rule)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-principle span{color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-principle b{color:var(--fm-muted)}

/* ---------- instruments ---------- */
html[data-theme] body[data-fm-project="high_speed_pcb"] .instrument-top{background:transparent;border-bottom-color:var(--fm-rule)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .instrument-top strong{font:600 14px/1.3 var(--fm-sans);color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .instrument-kicker{color:var(--fm-dim)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .legend{font-family:var(--fm-mono);font-size:11px;color:var(--fm-muted)}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.change-readout,.model-scope,.timing-readout){
  background:var(--fm-panel-2);
  border-color:var(--fm-rule);
  color:var(--fm-muted);
  font-size:12.5px;
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .change-readout.hot{background:var(--fm-amber-soft);color:var(--fm-ink);box-shadow:inset 2px 0 0 var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.viewport,.journey-frame){
  background-color:var(--si-well);
  background-image:linear-gradient(var(--si-well-grid) 1px,transparent 1px),linear-gradient(90deg,var(--si-well-grid) 1px,transparent 1px);
  background-size:28px 28px;
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .plot-card canvas{background:var(--si-well)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .instrument-status{background:var(--fm-panel-2);border-top:1px solid var(--fm-rule);color:var(--fm-dim);font:500 11px var(--fm-mono);letter-spacing:.04em}
html[data-theme] body[data-fm-project="high_speed_pcb"] .instrument-status b{color:var(--fm-muted);font-weight:500}
html[data-theme] body[data-fm-project="high_speed_pcb"] .instrument-status .live-status{color:var(--fm-ok)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .trace-controls{background:var(--fm-panel-2);border-bottom-color:var(--fm-rule);color:var(--fm-muted)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .trace-controls input{accent-color:var(--fm-amber)}

/* ---------- control dock ---------- */
html[data-theme] body[data-fm-project="high_speed_pcb"] .dock-head{border-bottom-color:var(--fm-rule)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .dock-head strong{font:600 14px/1.3 var(--fm-sans);color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row{border-color:var(--fm-rule)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row>span{color:var(--fm-ink);font-weight:500}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row small{color:var(--fm-dim)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row output{font-family:var(--fm-mono);font-weight:500;color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.control-row:hover,.control-row.is-changing){background:var(--fm-panel-2);color:inherit}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row.is-changing{background:var(--fm-amber-soft)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row.is-changing output{color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row input{accent-color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row input::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--fm-amber) 0 var(--pct),var(--fm-rule) var(--pct) 100%)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row input::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;border-radius:50%;transform:none;background:var(--fm-panel);border:2px solid var(--fm-amber);box-shadow:none}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row input::-moz-range-track{height:4px;background:var(--fm-rule)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row input::-moz-range-progress{height:4px;background:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-row input::-moz-range-thumb{width:10px;height:10px;border-radius:50%;transform:none;background:var(--fm-panel);border:2px solid var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .control-group-label{color:var(--fm-dim)}

html[data-theme] body[data-fm-project="high_speed_pcb"] .segmented{border:1px solid var(--fm-rule);border-radius:var(--fm-r-ctl);background:var(--fm-sunk);overflow:hidden}
html[data-theme] body[data-fm-project="high_speed_pcb"] .segmented button{border-color:var(--fm-rule);background:transparent;color:var(--fm-muted);font:500 13px var(--fm-sans)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .segmented button:hover{background:var(--fm-panel-2);color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .segmented button.active{background:var(--fm-amber-soft);color:var(--fm-amber);box-shadow:inset 0 -2px 0 var(--fm-amber)}

html[data-theme] body[data-fm-project="high_speed_pcb"] .metrics{background:var(--fm-rule);border-color:var(--fm-rule);border-radius:var(--fm-r-ctl)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .metric{background:var(--fm-panel-2);color:var(--fm-muted)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .metric span{font:500 10.5px/1.3 var(--fm-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fm-dim)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .metric strong{font-family:var(--fm-mono);font-weight:500;color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .metric.good strong{color:var(--fm-ok)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .metric.warn strong{color:var(--fm-warn)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .metric.bad strong{color:var(--fm-bad)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .formula-block{background:var(--fm-sunk);border:1px solid var(--fm-rule);border-radius:var(--fm-r-ctl);color:var(--fm-muted)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .formula-block span{color:var(--fm-dim)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .formula-block code{font-family:var(--fm-mono);color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .formula-block.note p{color:var(--fm-muted)}

html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.signal-generator,.time-controls,.voltage-sum,.screen-lab>.lab-toolbar){
  background:var(--fm-panel-2);
  border-color:var(--fm-rule);
  color:var(--fm-muted);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .screen-lab>.lab-toolbar{border:1px solid var(--fm-rule);border-radius:var(--fm-r-panel);background:var(--fm-panel)}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.signal-generator p,.wave-select,.scale-choice,.time-controls label,.voltage-sum>span,.voltage-sum small){color:var(--fm-muted)}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.time-controls output,.voltage-sum strong){font-family:var(--fm-mono)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .time-controls output{color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .time-controls input{accent-color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .probe-presets button{
  min-height:28px;
  padding:3px 9px;
  border:1px solid var(--fm-rule);
  border-radius:var(--fm-r-ctl);
  background:var(--fm-panel);
  color:var(--fm-muted);
  font:500 12px var(--fm-sans);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .probe-presets button:hover{border-color:var(--fm-rule-strong);color:var(--fm-ink)}

/* ---------- analysis, insight, review ---------- */
html[data-theme] body[data-fm-project="high_speed_pcb"] .insight .tag{color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .insight .big{font:400 30px/1.15 var(--fm-serif);letter-spacing:-.015em;color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.insight p,.insight li){color:var(--fm-muted)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .channel-strip-head{border-bottom-color:var(--fm-rule)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .channel-strip-head strong{font:600 14px/1.3 var(--fm-sans);color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.channel-strip-head .micro-label,.strip-note){color:var(--fm-dim)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .journey-keys{border-top-color:var(--fm-rule)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .journey-keys button{background:var(--fm-panel-2);border-color:var(--fm-rule);color:var(--fm-muted);font-family:var(--fm-sans)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .journey-keys button span{font-family:var(--fm-mono);color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .journey-keys button:hover{background:var(--fm-amber-soft);color:var(--fm-ink)}

html[data-theme] body[data-fm-project="high_speed_pcb"] .review-card:before{background:var(--fm-rule-strong)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .review-card:has(.severity.good):before{background:var(--fm-ok)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .review-card:has(.severity.warn):before{background:var(--fm-warn)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .review-card:has(.severity.bad):before{background:var(--fm-bad)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .review-card{overflow:hidden}
html[data-theme] body[data-fm-project="high_speed_pcb"] .review-card h3{font:600 15px/1.3 var(--fm-sans);color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .review-card p{color:var(--fm-muted)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .severity.good{color:var(--fm-ok)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .severity.warn{color:var(--fm-warn)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .severity.bad{color:var(--fm-bad)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .workflow-row{border-top-color:var(--fm-rule)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .workflow-row>div{background:var(--fm-panel-2);border-color:var(--fm-rule);color:var(--fm-muted)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .workflow-row>div b{font-family:var(--fm-mono);font-weight:500;color:var(--fm-amber)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .workflow-row>div span{font-weight:600;color:var(--fm-ink)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .workflow-row>div small{color:var(--fm-dim)}

/* ---------- dialogs and teaching drawer ---------- */
html[data-theme] body[data-fm-project="high_speed_pcb"] .help-panel{
  background:var(--fm-panel);
  border:1px solid var(--fm-rule);
  border-radius:10px;
  color:var(--fm-ink);
  box-shadow:var(--fm-shadow);
}
html[data-theme] body[data-fm-project="high_speed_pcb"] .help-panel::backdrop{background:rgba(10,11,12,.66)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .help-panel h2{font:400 26px/1.15 var(--fm-serif);letter-spacing:-.015em}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-explanation summary span{color:var(--fm-dim)}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lab-explanation summary{font-weight:600}
html[data-theme] body[data-fm-project="high_speed_pcb"] .lesson-body{border-top-color:var(--fm-rule)}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.lesson-body p,.lesson-body dd){color:var(--fm-muted)}
html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.lesson-body h3,.lesson-controls dt){color:var(--fm-ink);font-weight:600}

/* ---------- footer ---------- */
html[data-theme] body[data-fm-project="high_speed_pcb"] footer{box-sizing:border-box;width:min(1480px,calc(100% - 40px));margin:0 auto;padding:14px 0 28px;background:var(--fm-bg);border-top-color:var(--fm-rule);color:var(--fm-dim);font:500 11px/1.4 var(--fm-mono)}

/* ---------- narrow screens ---------- */
@media(max-width:760px){
  html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .fm-wrap{flex-wrap:wrap}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav{flex-basis:100%}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .lab-nav button{padding:12px 9px 10px;font-size:12.5px}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .fm-tab-actions{width:100%;margin-left:0;padding:0 0 8px;overflow-x:auto;scrollbar-width:none}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-tabs .fm-tab-actions::-webkit-scrollbar{display:none}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live-row{gap:10px}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .fm-live{gap:0 16px}
  html[data-theme] body[data-fm-project="high_speed_pcb"] :is(.si-content,.fm-related-labs,footer){width:calc(100% - 28px)}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .workspace-bar{padding:16px 0 10px;display:flex;justify-content:flex-start}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .crumb{display:flex}
  html[data-theme] body[data-fm-project="high_speed_pcb"] .crumb span{display:inline}
  html[data-theme] body[data-fm-project="high_speed_pcb"] footer{padding:12px}
}

/* The page canvas outside <body> (overscroll, short pages). */
html:has(body[data-fm-project="high_speed_pcb"]){background:var(--fm-bg)}
html[data-theme="light"]:has(body[data-fm-project="high_speed_pcb"]){background:#F4F1EA}
