:root {
  --bg: #f7f9fb;
  --panel: #ffffff;
  --text: #18202a;
  --muted: #5e6b78;
  --line: #dce3ea;
  --navy: #11263e;
  --blue: #2364aa;
  --blue-soft: #eaf2fb;
  --gold: #e7a61a;
  --gold-soft: #fff5d8;
  --green: #1e7a58;
  --max: 1160px;
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
}
a { color: inherit; }
.wrap { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.site-header {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(8px);
}
.header-inner {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand {
  text-decoration: none;
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-weight: 800;
}
.brand-call { color: var(--blue); letter-spacing: .06em; font-size: 1.05rem; }
.brand-name { color: var(--navy); font-size: 1.35rem; }
.main-nav { display: flex; gap: 8px; flex-wrap: wrap; }
.main-nav a {
  text-decoration: none;
  color: var(--muted);
  padding: 9px 12px;
  border-radius: 999px;
  font-weight: 650;
}
.main-nav a:hover, .main-nav a:focus-visible { background: var(--blue-soft); color: var(--navy); }
.main-nav a.active { background: var(--navy); color: white; }

.hero {
  padding: 82px 0 72px;
  background:
    radial-gradient(circle at 80% 18%, rgba(231,166,26,.18), transparent 25%),
    linear-gradient(135deg, #f8fbff, #eef4fa);
  border-bottom: 1px solid var(--line);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 50px;
  align-items: center;
}
.eyebrow {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
  font-weight: 800;
  color: var(--blue);
}
h1, h2, h3 { color: var(--navy); line-height: 1.14; margin-top: 0; }
h1 { font-size: clamp(2.5rem, 6vw, 5rem); margin-bottom: 20px; letter-spacing: -.035em; }
h2 { font-size: clamp(1.8rem, 3vw, 2.65rem); margin-bottom: 16px; letter-spacing: -.02em; }
h3 { font-size: 1.25rem; margin-bottom: 10px; }
.hero-copy { font-size: 1.22rem; color: var(--muted); max-width: 760px; margin: 0; }
.hero-copy.narrow { max-width: 820px; }
.button-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
.button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 10px 17px;
  border: 1px solid transparent;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
  text-decoration: none;
}
.button.primary { background: var(--blue); color: white; }
.button.primary:hover, .button.primary:focus-visible { background: #174f89; }
.button.secondary { background: white; color: var(--navy); border-color: var(--line); }
.button.secondary:hover, .button.secondary:focus-visible { border-color: #9db3c9; background: #f9fbfd; }

.hero-panel {
  background: var(--navy);
  color: white;
  padding: 28px;
  border-radius: var(--radius);
  box-shadow: 0 18px 40px rgba(17,38,62,.12);
}
.spark-word {
  font-size: clamp(2.8rem, 8vw, 5.5rem);
  letter-spacing: .06em;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 22px;
  color: #ffd979;
}
.acronym { margin: 0; }
.acronym div { display: grid; grid-template-columns: 36px 1fr; gap: 10px; padding: 5px 0; }
.acronym dt { font-weight: 900; color: #ffd979; }
.acronym dd { margin: 0; color: #edf4fb; }

.section { padding: 72px 0; }
.section.alt { background: #edf2f6; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-heading { max-width: 830px; margin-bottom: 34px; }
.section-heading > p:last-child { color: var(--muted); font-size: 1.06rem; }
.mission-grid, .two-col, .lesson-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 34px;
  align-items: start;
}
.prose p { font-size: 1.08rem; margin-top: 0; }
.mission-card, .formula-card, .experiment-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px;
}
.steps { padding-left: 22px; margin-bottom: 0; }
.steps li { margin: 12px 0; }
.pathway {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 14px;
}
.path-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  text-decoration: none;
  min-width: 0;
}
.path-card:hover, .path-card:focus-visible { border-color: #8fb4d8; transform: translateY(-1px); }
.path-card p { color: var(--muted); margin-bottom: 0; }
.path-number { font-weight: 900; color: var(--gold); font-size: .9rem; letter-spacing: .1em; }
.path-arrow { display: grid; place-items: center; color: var(--blue); font-size: 2rem; }
.callout {
  background: var(--navy);
  color: white;
  border-radius: var(--radius);
  padding: 34px;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
}
.callout h2 { color: white; }
.callout p { color: #d9e6f1; margin-bottom: 0; max-width: 740px; }

.page-hero {
  padding: 58px 0 48px;
  background: linear-gradient(135deg, #f8fbff, #eef4fa);
  border-bottom: 1px solid var(--line);
}
.page-hero h1 { font-size: clamp(2.4rem, 5vw, 4.4rem); }
.breadcrumbs { display: flex; gap: 8px; align-items: center; margin-bottom: 28px; color: var(--muted); font-size: .94rem; }
.breadcrumbs a { color: var(--blue); text-decoration: none; }
.breadcrumbs a:hover, .breadcrumbs a:focus-visible { text-decoration: underline; }

.concept-grid, .topic-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.concept-card, .topic-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
}
.concept-card p, .topic-card p { color: var(--muted); }
.concept-icon { display: block; color: var(--blue); font-size: 2rem; margin-bottom: 15px; }
.stem-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.stem-grid article {
  background: white;
  border-radius: 14px;
  padding: 20px;
  border: 1px solid var(--line);
}
.stem-grid strong { color: var(--blue); font-size: 1.05rem; }
.stem-grid p { margin-bottom: 0; color: var(--muted); }
.topic-grid { grid-template-columns: repeat(4, 1fr); }
.topic-card { text-decoration: none; position: relative; }
.topic-card.featured { border-color: #8fb4d8; }
.topic-card.featured:hover, .topic-card.featured:focus-visible { box-shadow: 0 8px 24px rgba(35,100,170,.10); }
.topic-card.muted { opacity: .72; }
.status {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 14px;
}
.topic-card.muted .status { background: #eef0f2; color: #707b85; }
.text-link { color: var(--blue); font-weight: 800; }

.formula-card { background: var(--navy); color: white; }
.formula-card p { color: #d8e5f0; }
.formula-label { text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 800; }
.formula { font-size: 2rem; font-weight: 850; color: #ffd979; margin: 8px 0 12px; }
.formula-card hr { border: 0; border-top: 1px solid rgba(255,255,255,.18); margin: 22px 0; }

.lab-shell {
  display: grid;
  grid-template-columns: 330px 1fr;
  gap: 24px;
  align-items: start;
}
.lab-controls, .lab-results {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
}
.lab-controls { position: sticky; top: 94px; }
.lab-controls label, .control-label {
  display: block;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 8px;
}
.input-row { display: flex; gap: 10px; margin-bottom: 22px; }
input[type="number"] {
  width: 100%;
  min-width: 0;
  border: 1px solid #b9c6d2;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  font-size: 1rem;
  color: var(--text);
  background: white;
}
input[type="number"]:focus, input[type="range"]:focus-visible, button:focus-visible, a:focus-visible {
  outline: 3px solid rgba(35,100,170,.24);
  outline-offset: 2px;
}
input[type="range"] { width: 100%; margin: 6px 0 22px; accent-color: var(--blue); }
.preset-block { margin-top: 4px; }
.preset-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  border: 1px solid #b9c6d2;
  background: #f8fafc;
  color: var(--navy);
  border-radius: 999px;
  padding: 7px 10px;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}
.chip:hover, .chip:focus-visible { background: var(--blue-soft); border-color: #8fb4d8; }
.hint { color: var(--muted); font-size: .92rem; margin-top: 18px; }
.validation { min-height: 1.3em; color: #a13b2f; font-weight: 700; font-size: .92rem; }

.result-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.result-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px;
  background: #fafcfe;
}
.result-card span { display: block; color: var(--muted); font-size: .82rem; font-weight: 750; margin-bottom: 8px; }
.result-card strong { display: block; color: var(--navy); font-size: 1.35rem; }
.result-card small { color: var(--muted); font-size: .86rem; }
.accent-result { background: var(--gold-soft); border-color: #ecd28f; }

.antenna-visual {
  margin: 30px 0;
  padding: 22px 18px 18px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid var(--line);
  text-align: center;
}
.visual-labels { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; font-weight: 800; color: var(--blue); margin-bottom: 8px; }
.dipole-line { display: flex; align-items: center; width: 90%; max-width: 620px; margin: 0 auto; }
.wire { display: block; height: 5px; background: var(--navy); flex: 1; border-radius: 4px; }
.feedpoint { width: 16px; height: 16px; border: 4px solid var(--gold); background: white; border-radius: 50%; flex: 0 0 16px; }
.feedline { width: 3px; height: 38px; background: var(--blue); margin: 0 auto; }
.feed-caption { display: inline-block; margin-top: 4px; color: var(--muted); font-size: .82rem; }

.wave-panel {
  border: 1px solid var(--line);
  background: #fbfcfd;
  border-radius: 16px;
  padding: 16px 18px 8px;
}
.wave-copy { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; align-items: baseline; }
.wave-copy strong { color: var(--navy); }
#waveSvg { width: 100%; height: auto; display: block; margin-top: 4px; }
.axis-line { stroke: #c7d2dc; stroke-width: 1.4; }
.wave-path { fill: none; stroke: var(--blue); stroke-width: 5; stroke-linecap: round; }
.measure-line, .measure-tick { stroke: #7b8793; stroke-width: 1.4; }
.svg-text { fill: #5e6b78; font: 700 13px "Segoe UI", sans-serif; }
.observation {
  margin-top: 18px;
  border-left: 4px solid var(--gold);
  background: var(--gold-soft);
  padding: 14px 16px;
  border-radius: 0 12px 12px 0;
  font-weight: 650;
}

.lesson-grid { grid-template-columns: 1fr 1fr; }
.lesson-grid article {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px;
}
.lesson-grid p:last-child { color: var(--muted); }

.experiment-card {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 28px;
  align-items: start;
}
.question-box {
  background: var(--blue-soft);
  border-radius: 14px;
  padding: 20px;
}
.question-box ul { padding-left: 20px; margin-bottom: 0; }

.site-footer {
  background: var(--navy);
  color: #d9e6f1;
  padding: 24px 0;
  font-size: .92rem;
}
.footer-inner { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.site-footer a { color: white; }

@media (max-width: 900px) {
  .hero-grid, .mission-grid, .two-col, .lesson-grid, .experiment-card { grid-template-columns: 1fr; }
  .topic-grid, .stem-grid { grid-template-columns: repeat(2, 1fr); }
  .lab-shell { grid-template-columns: 1fr; }
  .lab-controls { position: static; }
  .result-grid { grid-template-columns: repeat(2, 1fr); }
  .pathway { grid-template-columns: 1fr; }
  .path-arrow { transform: rotate(90deg); min-height: 28px; }
}
@media (max-width: 620px) {
  .wrap { width: min(calc(100% - 26px), var(--max)); }
  .header-inner { align-items: flex-start; flex-direction: column; padding: 14px 0; gap: 10px; }
  .main-nav { width: 100%; }
  .main-nav a { padding: 7px 10px; }
  .hero, .section { padding: 52px 0; }
  .page-hero { padding: 42px 0 36px; }
  h1 { font-size: 2.45rem; }
  .hero-panel { padding: 22px; }
  .concept-grid, .topic-grid, .stem-grid, .result-grid { grid-template-columns: 1fr; }
  .callout { align-items: flex-start; flex-direction: column; }
  .input-row { flex-direction: column; }
  .wave-copy { flex-direction: column; gap: 4px; }
}


/* SPARKA v0.2 additions */
.acronym-full {
  margin: 0 0 16px;
  color: #edf4fb;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.45;
}
.dipole-line {
  transition: width .22s ease-out;
  transform-origin: center center;
}
.visual-labels {
  transition: width .22s ease-out;
  margin-left: auto;
  margin-right: auto;
}
.scale-note {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: .78rem;
}
.visual-size-readout {
  margin: -14px 0 24px;
  text-align: center;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 650;
}


/* SPARKA v0.2.1 acronym cleanup */
.acronym .connector-row {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: -2px;
  margin-bottom: -2px;
}
.acronym .connector-row dd {
  color: #adc2d5;
  font-size: .9rem;
  font-weight: 500;
  font-style: italic;
}


/* v0.3 educational lesson additions */
.simple-diagram {
  margin: 24px 0 30px;
  padding: 22px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fafc;
  text-align: center;
}
.simple-wire-row {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 660px);
  margin: 0 auto;
}
.simple-wire {
  height: 5px;
  background: var(--navy);
  flex: 1;
  border-radius: 4px;
}
.simple-feed {
  display: inline-block;
  margin: 0 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--gold-soft);
  border: 1px solid #ecd28f;
  color: var(--navy);
  font-weight: 850;
  font-size: .78rem;
  white-space: nowrap;
}
.simple-feedline {
  width: 3px;
  height: 36px;
  background: var(--blue);
  margin: 4px auto 0;
}
.simple-caption {
  color: var(--muted);
  font-size: .84rem;
  font-weight: 650;
  margin-top: 4px;
}
.lesson-grid ul {
  margin-bottom: 0;
  padding-left: 21px;
}

/* v0.4 site architecture additions */
.home-choice-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.home-choice-card {display:block;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-decoration:none;}
a.home-choice-card:hover,a.home-choice-card:focus-visible {border-color:#8fb4d8;box-shadow:0 8px 24px rgba(35,100,170,.10);transform:translateY(-1px);}
.home-choice-card p,.license-card p,.discipline-card p,.stemulation-card p,.video-card p {color:var(--muted);}
.choice-kicker,.license-level {display:inline-block;color:var(--gold);font-weight:900;letter-spacing:.08em;margin-bottom:12px;}
.license-strip {display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.license-strip a {background:white;border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;}
.license-strip strong,.license-strip span {display:block;}
.license-strip span {color:var(--muted);font-size:.9rem;margin-top:5px;}
.featured-lesson-card {background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;justify-content:space-between;align-items:center;gap:28px;}
.topic-grid-3 {grid-template-columns:repeat(3,1fr);}
.license-card-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.license-card {background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.question-pool-demo {background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.question-flow {display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.question-flow>span:not(.flow-arrow){background:var(--blue-soft);border-radius:999px;padding:8px 12px;color:var(--navy);font-weight:750;}
.flow-arrow{color:var(--blue);font-weight:900;}
.stem-discipline-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.discipline-card {background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.discipline-letter {display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--navy);color:white;font-size:1.35rem;font-weight:900;margin-bottom:16px;}
.stemulation-library {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.stemulation-card {background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-decoration:none;}
.stemulation-card.live {border-color:#8fb4d8;background:#fbfdff;}
.video-placeholder-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.video-card {background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.video-card h3,.video-card p {margin-left:20px;margin-right:20px;}
.video-placeholder {aspect-ratio:16/9;display:grid;place-items:center;background:#dfe6ec;color:#6c7884;font-weight:900;letter-spacing:.12em;}
@media(max-width:1050px){.home-choice-grid,.stem-discipline-grid,.license-strip{grid-template-columns:repeat(2,1fr)}.stemulation-library{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.license-card-grid,.topic-grid-3,.video-placeholder-grid{grid-template-columns:1fr}.featured-lesson-card{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.home-choice-grid,.stem-discipline-grid,.license-strip,.stemulation-library{grid-template-columns:1fr}.question-flow{align-items:flex-start;flex-direction:column}.flow-arrow{transform:rotate(90deg);align-self:center}}

/* Guided STEMulation — v0.5.1 */
.guided-shell {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
  background: #fbfcfd;
  box-shadow: 0 10px 28px rgba(22, 45, 74, .06);
}
.guided-copy { max-width: 820px; }
.guided-controls { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0 14px; }
#guidedAudio { width: 100%; display: block; margin: 4px 0 10px; }
.guided-status {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  padding: 12px 14px;
  border-radius: 12px;
  background: white;
  border: 1px solid var(--line);
  color: var(--navy);
}
.guided-status span { color: var(--muted); font-variant-numeric: tabular-nums; }
.guided-glossary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.guided-term {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px;
  background: white;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease, background .2s ease;
}
.guided-term strong { display: block; margin-bottom: 5px; color: var(--navy); }
.guided-term span { color: var(--muted); }
.guide-active {
  box-shadow: 0 0 0 4px rgba(31, 98, 165, .16), 0 10px 26px rgba(22, 45, 74, .10) !important;
  border-color: #7fa8cf !important;
  background-color: #f7fbff !important;
}
@keyframes guidePanelPulse {
  0%, 100% { border-color: #7fa8cf; box-shadow: 0 0 0 4px rgba(31,98,165,.16), 0 10px 26px rgba(22,45,74,.10); }
  18%, 50%, 82% { border-color: #d38b00; box-shadow: 0 0 0 6px rgba(211,139,0,.34), 0 0 28px rgba(211,139,0,.28); background-color: #fff9e8; }
  34%, 66% { border-color: #274f79; box-shadow: 0 0 0 2px rgba(39,79,121,.24), 0 10px 26px rgba(22,45,74,.10); background-color: #f7fbff; }
}
.guide-panel-pulse {
  animation: guidePanelPulse 1.8s ease-in-out 1;
}
.antenna-visual, .wave-panel, .formula-card, .lab-controls {
  transition: box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
.feedpoint {
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.guide-feedpoint .feedpoint {
  transform: scale(1.45);
  box-shadow: 0 0 0 8px rgba(221, 165, 37, .18);
  background: #fff8df;
}

@keyframes guideFeedPulse {
  0%, 100% { transform: scale(1.45); box-shadow: 0 0 0 8px rgba(221, 165, 37, .18); }
  28% { transform: scale(1.95); box-shadow: 0 0 0 15px rgba(221, 165, 37, .30); background: #fff1b8; }
  58% { transform: scale(1.6); box-shadow: 0 0 0 10px rgba(221, 165, 37, .20); }
}
.guide-feed-pulse {
  animation: guideFeedPulse 1.55s ease-in-out 1;
}

@keyframes guideLegPulse {
  0%, 100% { filter: none; transform: scaleY(1); }
  30% { filter: drop-shadow(0 0 7px rgba(221, 165, 37, .9)); transform: scaleY(1.7); }
  60% { filter: drop-shadow(0 0 4px rgba(221, 165, 37, .55)); transform: scaleY(1.3); }
}
#antennaVisual .wire.guide-leg-pulse {
  animation: guideLegPulse 1.35s ease-in-out 1;
  transform-origin: center;
}

@media (prefers-reduced-motion: reduce) {
  .guide-feed-pulse,
  #antennaVisual .wire.guide-leg-pulse,
  .guide-panel-pulse { animation: none; }
}

.wave-path { transition: d .22s ease-out; }
#waveMeasureLine, #waveTickLeft, #waveTickRight { transition: all .22s ease-out; }

@media (max-width: 700px) {
  .guided-glossary { grid-template-columns: 1fr; }
  .guided-shell { padding: 18px; }
}


/* v0.5.1 Guided STEMulation layout refinement */
#stemulation { scroll-margin-top: 88px; }

@media (min-width: 901px) {
  .lab-controls {
    max-height: calc(100vh - 116px);
    overflow-y: auto;
    scrollbar-gutter: stable;
  }
}

.inline-guide {
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 0 0 18px;
  margin: 0 0 18px;
  background: transparent;
  box-shadow: none;
}
.inline-guide h3 { margin-top: 0; margin-bottom: 8px; }
.guided-instruction {
  color: var(--muted);
  font-size: .94rem;
  line-height: 1.5;
  margin-bottom: 12px;
}
.inline-guide .guided-controls { margin: 10px 0 10px; }
.inline-guide #guidedAudio { margin: 2px 0 10px; }
.inline-guide .guided-status {
  display: block;
  padding: 10px 12px;
  font-size: .9rem;
}
.inline-guide .guided-status strong { display: block; line-height: 1.35; }
.inline-guide .guided-status span { display: block; margin-top: 4px; font-size: .82rem; }
.guided-formula {
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  background: white;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease, background .2s ease;
}
.guided-formula span { display: block; color: var(--muted); font-size: .78rem; font-weight: 750; }
.guided-formula strong { display: block; color: var(--navy); margin-top: 3px; }
.inline-guide .guided-glossary {
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 10px;
}
.inline-guide .guided-term { padding: 10px 12px; font-size: .84rem; }
.inline-guide .guided-term strong { margin-bottom: 2px; }
.manual-divider {
  margin: 2px 0 16px;
  color: var(--navy);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lab-results > .antenna-visual { margin-top: 0; margin-bottom: 16px; }
.lab-results > .wave-panel { margin-bottom: 18px; }
.lab-results > .result-grid { margin-top: 4px; }
.lab-results > .visual-size-readout { margin-top: 10px; margin-bottom: 18px; }

@media (max-width: 900px) {
  .lab-controls { max-height: none; overflow: visible; }
  .guided-instruction strong:first-of-type::after { content: ''; }
}

/* v0.6.0 Electricity foundations */
.foundation-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.foundation-nav a{padding:14px;border:1px solid var(--line,#d9e1ea);border-radius:12px;text-decoration:none;background:#fff;color:inherit}.foundation-nav a.active{outline:3px solid rgba(20,110,190,.18)}
.lab-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:24px;align-items:start}.lab-panel{background:#fff;border:1px solid var(--line,#d9e1ea);border-radius:18px;padding:22px;box-shadow:0 8px 28px rgba(20,35,55,.06)}.lab-panel h2,.lab-panel h3{margin-top:0}.control-row{margin:16px 0}.control-row label{display:flex;justify-content:space-between;font-weight:700;gap:12px}.control-row input[type=range]{width:100%}.meter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.meter{padding:14px;border-radius:12px;background:#f3f7fb;text-align:center}.meter strong{display:block;font-size:1.35rem}.formula-box{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800;text-align:center;padding:18px;background:#f3f7fb;border-radius:14px;margin:14px 0}.triangle{position:relative;width:220px;height:190px;margin:12px auto 20px;clip-path:polygon(50% 0,100% 100%,0 100%);background:#eaf3fb}.triangle .top,.triangle .left,.triangle .right{position:absolute;font-weight:900;font-size:2rem}.triangle .top{top:30px;left:0;right:0;text-align:center}.triangle .left{bottom:25px;left:48px}.triangle .right{bottom:25px;right:48px}.triangle .divider-h{position:absolute;left:28px;right:28px;top:92px;border-top:3px solid #6b7b8d}.triangle .divider-v{position:absolute;left:50%;top:92px;bottom:18px;border-left:3px solid #6b7b8d}.charge-track{position:relative;height:110px;border-radius:55px;background:#d9a75d;margin:24px 0;overflow:hidden;border:8px solid #b87d32}.electron{position:absolute;top:31px;width:30px;height:30px;border-radius:50%;background:#1674b8;color:white;display:grid;place-items:center;font-weight:900;transition:left .45s linear}.battery-demo{display:flex;align-items:center;justify-content:space-between;gap:14px}.terminal{font-size:2rem;font-weight:900}.flow-arrow{text-align:center;font-size:1.1rem;font-weight:700}.concept-note{padding:14px 16px;border-left:4px solid #1674b8;background:#f3f7fb;border-radius:8px}.mini-circuit{display:flex;align-items:center;justify-content:center;gap:16px;min-height:110px;font-weight:700}.bulb{width:68px;height:68px;border-radius:50%;border:4px solid #7c8794;display:grid;place-items:center;transition:.2s}.bulb.on{box-shadow:0 0 28px rgba(240,190,50,.75);background:#fff4b8}.choice-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.choice-buttons button{padding:9px 14px;border-radius:999px;border:1px solid #b9c7d6;background:white;cursor:pointer}.choice-buttons button.active{background:#163f68;color:white}.worked-answer{text-align:center;font-weight:800;min-height:2em}.lesson-steps{display:grid;gap:12px}.lesson-steps article{padding:15px;border:1px solid #d9e1ea;border-radius:12px;background:#fff}.next-foundation{margin-top:28px;display:flex;justify-content:flex-end}
@media(max-width:800px){.foundation-nav{grid-template-columns:1fr 1fr}.lab-grid{grid-template-columns:1fr}.meter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.foundation-nav,.meter-grid{grid-template-columns:1fr}}


/* v0.7.0 Technician electronics batch */
.series-strip{display:flex;gap:12px;align-items:center;margin-top:18px;color:var(--muted);font-size:.9rem}.series-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.series-jump a{padding:8px 12px;background:#fff;border:1px solid #d9e1ea;border-radius:999px;text-decoration:none;color:var(--navy)}
.straight-wire{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:8px;margin:24px 0}.wire-terminal{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-weight:900;font-size:1.7rem;background:#eef4fa}.electron-row{position:relative;height:74px;border-radius:37px;background:linear-gradient(#c89247,#dfb56d);border:6px solid #ae742e;overflow:hidden}.electron-dot{position:absolute;top:50%;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#1674b8;color:#fff;font-weight:900;transform:translateY(-50%)}
.select-control{width:100%;padding:12px;border:1px solid #bdc9d6;border-radius:10px;background:#fff;font:inherit}.wave-scope{background:#081b2e;border-radius:14px;padding:12px;margin:18px 0}.wave-scope svg{width:100%;height:auto}.scope-axis{stroke:#7890a9;stroke-width:2}.scope-wave{fill:none;stroke:#72d2ff;stroke-width:5}.material-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.material-grid button{padding:12px;border:1px solid #c6d2df;border-radius:10px;background:#fff;cursor:pointer}.material-grid button.active{background:#163f68;color:#fff}.conductivity-track{height:24px;background:#e6edf4;border-radius:999px;overflow:hidden;margin:20px 0}.conductivity-track>div{height:100%;background:#1674b8;width:0;transition:.35s}.res-network{min-height:100px;border:1px dashed #aebccc;border-radius:12px;display:grid;place-items:center;gap:10px;margin:16px 0;font-weight:800;font-size:1.2rem}.capacitor-visual{display:flex;justify-content:center;align-items:center;gap:22px;height:150px}.cap-plate{width:18px;height:110px;border-radius:6px;background:#7b8795;box-shadow:0 0 calc(35px * var(--cap-charge,0)) rgba(25,120,190,.65)}.cap-gap{width:40px}.coil{font-size:3rem;letter-spacing:-10px;text-align:center;margin:25px 0;color:#a66b24}.field-rings{width:180px;height:90px;position:relative;margin:-80px auto 25px;transition:.2s}.field-rings span{position:absolute;inset:0;border:3px solid #1674b8;border-radius:50%}.field-rings span:nth-child(2){inset:14px}.field-rings span:nth-child(3){inset:28px}.device-stage{min-height:125px;display:grid;place-items:center;background:#f3f7fb;border-radius:14px;margin:18px 0;font-weight:850;font-size:1.2rem}.diode-symbol{font-size:2rem}.symbol-card{min-height:130px;display:grid;place-items:center;background:#f3f7fb;border-radius:14px;font-size:3rem;font-weight:900;margin:18px 0}.symbol-card .schematic-symbol{display:block;width:min(260px,78%);height:120px;object-fit:contain}.symbol-card .schematic-symbol[src$="ground.svg"]{width:min(120px,46%)}.symbol-card .schematic-symbol[src$="battery.svg"]{width:min(220px,68%)}.res-balance{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.balance-bar{height:28px;background:#1674b8;border-radius:6px;margin-top:7px}.quiz-question{font-size:1.25rem;font-weight:800;text-align:center;padding:16px;background:#f3f7fb;border-radius:12px}.swr-line{padding:18px;background:#eef4fa;border-radius:14px;margin:18px 0;font-weight:800}.forward-wave{color:#11659f}.reflected-wave{color:#a05036;min-height:1.6em;margin-top:8px}.electronics-index{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.electronics-index a{display:block;border:1px solid #d9e1ea;border-radius:14px;padding:16px;background:#fff;text-decoration:none;color:inherit}.electronics-index a:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,35,55,.08)}.electronics-index strong{display:block;color:var(--navy);margin-bottom:5px}.electronics-index span{color:var(--muted);font-size:.92rem}
@media(max-width:850px){.electronics-index{grid-template-columns:1fr 1fr}.material-grid{grid-template-columns:1fr}.series-strip{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.electronics-index{grid-template-columns:1fr}.straight-wire{grid-template-columns:42px 1fr 42px}.electron-dot:nth-child(even){display:none}}

/* v0.8.0 curriculum layers + reorganized site */
.learning-layers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 24px}.layer-card{border:1px solid var(--line,#d9e1ea);border-radius:14px;padding:16px 18px;background:#fff}.layer-card p:last-child{margin-bottom:0}.layer-card.exam{background:#f5f9fd}.layer-card.deeper{grid-column:1/-1;background:#fbfcfe}.layer-card.deeper summary{cursor:pointer;font-weight:800;color:var(--navy,#17324d)}.series-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.series-card{display:flex;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--line,#d9e1ea);border-radius:14px;background:#fff;text-decoration:none;color:inherit}.series-card span{color:var(--muted,#667085);font-size:.85rem;white-space:nowrap}@media(max-width:850px){.series-card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.learning-layers,.series-card-grid{grid-template-columns:1fr}.layer-card.deeper{grid-column:auto}}


/* v0.8.2 mobile-responsive pass */
img, svg, audio { max-width: 100%; }
button, input, select, textarea { max-width: 100%; }
.lab-panel, .layer-card, .series-card, .topic-card, .concept-card, .home-choice-card { min-width: 0; }
.wave-scope { overflow: hidden; }
.wave-scope text { font-family: "Segoe UI", system-ui, sans-serif; fill: #d8e9f7; font-weight: 700; }
.scope-axis-zero { stroke: #9fb4c8; stroke-width: 2; }
.scope-axis-y { stroke: #9fb4c8; stroke-width: 2; }
.scope-tick { stroke: #69839b; stroke-width: 1.5; }
.scope-label { font-size: 15px; }
.scope-label-small { font-size: 13px; fill: #acc0d2; }
@media (max-width: 760px) {
  .site-header { position: static; }
  .header-inner { gap: 8px; }
  .brand { width: 100%; justify-content: center; }
  .main-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    scrollbar-width: thin;
  }
  .main-nav a { flex: 0 0 auto; white-space: nowrap; }
  .page-hero h1, h1 { overflow-wrap: anywhere; }
  .breadcrumbs { flex-wrap: wrap; }
  .series-jump { flex-direction: column; align-items: stretch; }
  .series-jump a { text-align: center; }
  .lab-grid, .learning-layers, .series-card-grid, .electronics-index, .topic-grid, .concept-grid, .stem-grid, .home-choice-grid, .stem-discipline-grid, .license-strip, .stemulation-library { grid-template-columns: 1fr !important; }
  .lab-panel { padding: 18px; }
  .choice-buttons { justify-content: stretch; }
  .choice-buttons button { flex: 1 1 0; min-height: 44px; }
  .control-row label { align-items: flex-start; }
  input[type=range] { min-height: 36px; }
  .wave-scope { margin-left: -2px; margin-right: -2px; padding: 8px; }
  .wave-scope svg { min-height: 180px; }
  .result-grid, .meter-grid { grid-template-columns: 1fr !important; }
  .formula-box { font-size: clamp(1.35rem, 8vw, 2.2rem); }
  .triangle { width: min(220px, 80vw); }
  .straight-wire { grid-template-columns: 38px minmax(0,1fr) 38px; gap: 5px; }
  .wire-terminal { width: 38px; height: 38px; font-size: 1.35rem; }
  .electron-row { height: 66px; }
  .capacitor-visual { gap: 12px; }
  .res-balance { grid-template-columns: 1fr; }
  .question-flow { flex-direction: column; align-items: stretch; }
  .flow-arrow { transform: rotate(90deg); }
}
@media (max-width: 420px) {
  .wrap { width: min(calc(100% - 20px), var(--max)); }
  .page-hero, .section { padding-top: 34px; padding-bottom: 34px; }
  h1 { font-size: 2.05rem; }
  h2 { font-size: 1.6rem; }
  .lab-panel, .layer-card { padding: 15px; }
  .button { width: 100%; }
}


/* v0.9.0 — T5 Electrical Principles model section */
.learning-layers.three{grid-template-columns:repeat(3,1fr)}
.layer-card.deeper{background:#f3eefb;border-color:#d8c9ef}
.t5-overview .section-heading{margin-top:40px}
.t5-group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.t5-group-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-decoration:none;transition:.15s ease}
.t5-group-card:hover,.t5-group-card:focus-visible{border-color:#80a8d0;box-shadow:0 12px 26px rgba(17,38,62,.08);transform:translateY(-2px)}
.t5-group-card p{color:var(--muted)}.t5-group-card strong{color:var(--blue)}.t5-code{display:inline-block;color:var(--blue);font-weight:800;font-size:.82rem;letter-spacing:.04em;margin-bottom:8px}
.t5-quiz-callout,.t5-entry-card{margin-top:30px;background:var(--navy);color:white;border-radius:var(--radius);padding:28px;display:flex;gap:28px;align-items:center;justify-content:space-between}
.t5-quiz-callout h2,.t5-entry-card h2{color:white}.t5-quiz-callout p,.t5-entry-card p{color:#d9e6f1;max-width:760px}
.source-note{font-size:.88rem;color:var(--muted);margin-top:24px}
.t5-study-page{max-width:1050px}.study-block,.exam-box,.study-note{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin:24px 0}.exam-box{border-left:6px solid var(--gold);background:#fffdf6}.exam-box ul{columns:2;column-gap:34px}.exam-box li{break-inside:avoid;margin:8px 0}
.key-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.key-facts>div,.compare-table>div,.worked-grid article,.db-cards>div{background:#f7fafc;border:1px solid var(--line);border-radius:14px;padding:18px}.key-facts strong,.compare-table strong{display:block;color:var(--navy);font-size:1.08rem}.key-facts span,.compare-table span{display:block;color:var(--muted);margin:5px 0}.key-facts b,.compare-table b{color:var(--blue)}
.exam-tip{background:var(--gold-soft);border-left:4px solid var(--gold);padding:14px 16px;border-radius:10px}.module-chip-row{display:flex;flex-wrap:wrap;gap:10px}.module-chip{padding:10px 14px;border-radius:999px;background:var(--blue-soft);color:var(--navy);font-weight:750;text-decoration:none;border:1px solid #c7d9eb}.module-chip:hover{background:#dbeaf8}
.prefix-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.prefix-strip div{background:#f7fafc;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}.prefix-strip b,.prefix-strip span{display:block}.prefix-strip span{color:var(--muted);font-size:.9rem}
.db-cards,.compare-table{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.db-cards div{text-align:center}.db-cards strong{display:block;font-size:1.5rem;color:var(--blue)}.db-cards span{color:var(--muted)}.compare-table{grid-template-columns:repeat(2,1fr)}
.formula-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--navy);color:white;border-radius:16px;padding:24px;margin:18px 0}.formula-banner span{font-size:2rem;font-weight:900;letter-spacing:.03em}.formula-banner small{color:#d9e6f1;font-size:1rem}.formula-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.formula-row div{background:#f7fafc;border:1px solid var(--line);padding:18px;border-radius:14px}.formula-row b,.formula-row span{display:block}.formula-row b{font-size:1.25rem;color:var(--blue)}.formula-row span{color:var(--muted)}
.worked-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.worked-grid article b,.worked-grid article span{display:block}.worked-grid article span{color:var(--blue);font-weight:800;margin-top:4px}.group-nav{display:flex;justify-content:space-between;gap:12px;margin-top:30px}
.quiz-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.quiz-controls label{font-weight:750;color:var(--navy)}.quiz-controls select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #b9c7d4;border-radius:10px;background:white;font:inherit}.checkline{display:flex!important;gap:8px;align-items:center;padding-bottom:10px}.checkline input{width:20px;height:20px}.quiz-scorebar{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);padding:14px 4px}.quiz-scorebar b{color:var(--navy)}
.t5-question-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px}.question-meta{display:flex;align-items:center;justify-content:space-between}.question-meta>span{font-weight:900;color:var(--blue);letter-spacing:.06em}.button.small{min-height:36px;padding:6px 12px;font-size:.92rem}.hint-box{background:var(--gold-soft);border-left:4px solid var(--gold);padding:12px 14px;border-radius:10px;margin:12px 0}.quiz-choices{display:grid;gap:10px;margin:20px 0}.quiz-choice{text-align:left;border:1px solid #cbd6e0;background:#fbfdff;border-radius:12px;padding:14px 16px;font:inherit;cursor:pointer;display:flex;gap:12px;align-items:flex-start}.quiz-choice span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:var(--blue-soft);font-weight:900;color:var(--blue)}.quiz-choice:hover:not(:disabled){border-color:#7ca4cb;background:#f4f9fd}.quiz-choice.correct{border-color:#67a88d;background:#edf8f3}.quiz-choice.wrong{border-color:#d78383;background:#fff1f1}.quiz-choice:disabled{cursor:default;color:var(--text)}.quiz-feedback{background:#f7fafc;border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:16px}.quiz-feedback p{margin-bottom:8px}.wrong-note{color:#6d3b3b}.study-note{background:#eef6fc}.text-link{color:var(--blue);font-weight:750}

@media (max-width: 820px){.learning-layers.three,.t5-group-grid,.key-facts,.prefix-strip,.formula-row,.worked-grid{grid-template-columns:1fr 1fr}.quiz-controls{grid-template-columns:1fr}.checkline{padding-bottom:0}.exam-box ul{columns:1}.t5-quiz-callout,.t5-entry-card{align-items:flex-start;flex-direction:column}}
@media (max-width: 560px){.learning-layers.three,.t5-group-grid,.key-facts,.prefix-strip,.db-cards,.compare-table,.formula-row,.worked-grid{grid-template-columns:1fr}.group-nav{flex-direction:column}.group-nav .button{width:100%}.t5-question-card{padding:20px}.quiz-choice{padding:12px}.t5-quiz-callout,.t5-entry-card{padding:22px}}

/* v0.9.1: navigation and density cleanup */
.compact-section{padding-top:30px;padding-bottom:30px}
.compact-hero{padding-top:42px;padding-bottom:34px}
.quick-start{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.quick-start-link{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;min-width:0}
.quick-start-link strong{color:var(--navy);font-size:1.02rem} .quick-start-link span{color:var(--muted);font-size:.9rem;line-height:1.3}
.quick-start-link.exam{border-color:var(--gold);background:var(--gold-soft)}
.compact-callout{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:14px}
.compact-callout h2,.compact-callout p{margin-bottom:6px} .compact-callout .button-row{margin-top:0}
.exam-prep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.exam-prep-card{display:block;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none}
a.exam-prep-card:hover,a.exam-prep-card:focus-visible{border-color:#739fc8;box-shadow:0 8px 18px rgba(17,38,62,.08)}
.exam-prep-card h2{font-size:1.3rem;margin-bottom:7px} .exam-prep-card p{color:var(--muted);margin-bottom:10px}
.exam-prep-card.featured{border:2px solid var(--blue);background:#f5faff} .exam-prep-card.muted{background:#f7f8fa}
.t5-quicknav{position:sticky;top:0;z-index:20;display:flex;gap:6px;align-items:center;padding:10px max(16px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);overflow-x:auto;box-shadow:0 3px 10px rgba(17,38,62,.05)}
.t5-quicknav a{flex:0 0 auto;text-decoration:none;padding:7px 11px;border-radius:9px;color:var(--navy);font-weight:750;font-size:.92rem}
.t5-quicknav a:hover,.t5-quicknav a:focus-visible{background:var(--blue-soft)} .t5-quicknav a.active{background:var(--navy);color:#fff} .t5-quicknav a.quiz{border:1px solid var(--gold)}
.study-block[id],.exam-box[id]{scroll-margin-top:76px}
@media(max-width:820px){.quick-start{grid-template-columns:1fr 1fr}.compact-callout{align-items:flex-start;flex-direction:column}.exam-prep-grid{grid-template-columns:1fr}}
@media(max-width:520px){.quick-start{grid-template-columns:1fr}.compact-section{padding-top:22px;padding-bottom:22px}.t5-quicknav{padding-left:10px;padding-right:10px}}

/* v0.9.3 — typography and visual-density pass */
body { line-height: 1.52; }
.wrap { width: min(calc(100% - 36px), var(--max)); }
.header-inner { min-height: 64px; gap: 20px; }
.brand-call { font-size: .98rem; }
.brand-name { font-size: 1.2rem; }
.main-nav { gap: 5px; }
.main-nav a { padding: 7px 10px; font-size: .95rem; }

.hero { padding: 58px 0 50px; }
.hero-grid { gap: 38px; }
h1 { font-size: clamp(2.05rem, 3.3vw, 3.55rem); margin-bottom: 14px; letter-spacing: -.025em; }
h2 { font-size: clamp(1.5rem, 2.2vw, 2.1rem); margin-bottom: 12px; }
h3 { font-size: 1.15rem; margin-bottom: 8px; }
.hero-copy { font-size: 1.08rem; line-height: 1.5; }
.spark-word { font-size: clamp(2.5rem, 5vw, 4.25rem); margin-bottom: 16px; }
.hero-panel { padding: 22px; }

.page-hero { padding: 36px 0 30px; }
.page-hero h1 { font-size: clamp(2rem, 3vw, 3.15rem); }
.breadcrumbs { margin-bottom: 18px; font-size: .9rem; }
.eyebrow { font-size: .74rem; margin-bottom: 6px; }

.section { padding: 48px 0; }
.section-heading { margin-bottom: 24px; }
.section-heading > p:last-child { font-size: 1rem; }
.prose p { font-size: 1rem; }

.mission-card, .formula-card, .experiment-card,
.concept-card, .topic-card, .home-choice-card, .license-card,
.discipline-card, .stemulation-card, .featured-lesson-card,
.question-pool-demo, .lab-controls, .lab-results, .lab-panel,
.layer-card, .study-block, .exam-box, .study-note, .t5-question-card {
  padding: 20px;
}
.path-card { padding: 19px; }
.callout { padding: 25px; }
.button-row { margin-top: 22px; }
.button { min-height: 42px; padding: 9px 15px; }

.t5-group-card { padding: 20px; }
.t5-quiz-callout, .t5-entry-card { padding: 22px; margin-top: 22px; }
.key-facts > div, .compare-table > div, .worked-grid article, .db-cards > div { padding: 14px; }
.formula-banner { padding: 18px; }
.formula-banner span { font-size: 1.65rem; }
.formula-row div { padding: 14px; }
.exam-prep-card { padding: 17px; }
.quick-start-link { padding: 11px 13px; }
.compact-callout { padding: 16px 18px; }
.quiz-controls { padding: 16px; }
.t5-question-card { padding: 22px; }
.quiz-choice { padding: 12px 14px; }

@media (max-width: 900px) {
  h1 { font-size: clamp(2rem, 5vw, 2.8rem); }
  .page-hero h1 { font-size: clamp(1.9rem, 4.8vw, 2.65rem); }
  .hero { padding: 46px 0 42px; }
  .section { padding: 42px 0; }
}

@media (max-width: 620px) {
  .wrap { width: min(calc(100% - 22px), var(--max)); }
  .site-header { position: sticky; top: 0; }
  .header-inner { padding: 9px 0 8px; gap: 6px; }
  .brand { gap: 7px; }
  .brand-call { font-size: .88rem; }
  .brand-name { font-size: 1.05rem; }
  .main-nav {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 3px;
    padding-bottom: 3px;
    scrollbar-width: thin;
  }
  .main-nav a { flex: 0 0 auto; white-space: nowrap; padding: 6px 9px; font-size: .86rem; }
  .hero { padding: 34px 0 30px; }
  .page-hero { padding: 25px 0 22px; }
  h1 { font-size: 1.95rem; line-height: 1.08; margin-bottom: 10px; }
  .page-hero h1 { font-size: 1.9rem; }
  h2 { font-size: 1.45rem; }
  h3 { font-size: 1.08rem; }
  .hero-copy { font-size: .98rem; line-height: 1.45; }
  .breadcrumbs { margin-bottom: 13px; font-size: .82rem; flex-wrap: wrap; }
  .section { padding: 32px 0; }
  .section-heading { margin-bottom: 18px; }
  .spark-word { font-size: 2.55rem; }
  .hero-panel, .guided-shell { padding: 16px; }
  .mission-card, .formula-card, .experiment-card,
  .concept-card, .topic-card, .home-choice-card, .license-card,
  .discipline-card, .stemulation-card, .featured-lesson-card,
  .question-pool-demo, .lab-controls, .lab-results, .lab-panel,
  .layer-card, .study-block, .exam-box, .study-note, .t5-question-card,
  .t5-group-card, .exam-prep-card { padding: 16px; }
  .t5-quiz-callout, .t5-entry-card { padding: 17px; }
  .formula-banner span { font-size: 1.42rem; }
  .t5-quicknav a { font-size: .84rem; padding: 6px 9px; }
}

@media (max-width: 420px) {
  .wrap { width: min(calc(100% - 18px), var(--max)); }
  h1, .page-hero h1 { font-size: 1.72rem; }
  h2 { font-size: 1.35rem; }
  .hero-copy { font-size: .94rem; }
  .page-hero, .section { padding-top: 26px; padding-bottom: 26px; }
}

/* v0.9.5 — Practice exams */
.practice-hero .hero-copy{max-width:820px}
.exam-loading,.exam-error{max-width:760px;margin:18px auto;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:center}
.exam-loading p,.exam-error p{color:var(--muted);margin-top:6px}
.practice-exam-shell,.practice-results{max-width:980px;margin:0 auto}
.exam-progress-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.exam-progress-row>div:first-child{display:flex;flex-direction:column}.exam-kicker{font-size:.76rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
#question-position{font-size:1.45rem;color:var(--navy)}
.exam-progress-stats{display:flex;gap:16px;color:var(--muted);font-size:.95rem}.exam-progress-stats b{color:var(--navy)}
.question-nav{display:grid;grid-template-columns:repeat(7,minmax(42px,1fr));gap:7px;margin:0 0 18px}
.question-nav-button{min-height:38px;border:1px solid #c8d4df;background:#fff;border-radius:8px;font-weight:800;color:var(--navy);cursor:pointer;position:relative}
.question-nav-button.answered{background:#e8f3fb;border-color:#82acd0}.question-nav-button.flagged::after{content:'';position:absolute;right:4px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.question-nav-button.current{outline:3px solid rgba(23,116,184,.25);border-color:var(--blue);background:var(--navy);color:#fff}
.practice-question-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(17,38,62,.05);scroll-margin-top:84px}
.practice-question-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.practice-question-meta>span{font-weight:900;letter-spacing:.06em;color:var(--blue)}
.practice-question-card h2{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.3;margin-bottom:18px}
.flag-button{border:1px solid #c9d4df;background:#fff;border-radius:999px;padding:8px 12px;font:inherit;font-size:.9rem;font-weight:800;color:var(--navy);cursor:pointer}.flag-button.active{background:var(--gold-soft);border-color:var(--gold)}
.practice-answers{display:grid;gap:10px}.practice-answer{display:flex;align-items:flex-start;gap:12px;text-align:left;width:100%;border:1px solid #cbd6e0;background:#fbfdff;border-radius:12px;padding:14px 16px;font:inherit;cursor:pointer;color:var(--text)}
.practice-answer:hover{border-color:#7ca4cb;background:#f4f9fd}.practice-answer.selected{border:2px solid var(--blue);background:#eaf4fb;padding:13px 15px}.answer-letter{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:var(--blue-soft);font-weight:900;color:var(--blue)}.practice-answer.selected .answer-letter{background:var(--navy);color:#fff}
.question-figure{margin:10px auto 20px;text-align:center}.question-figure img{display:block;max-width:min(100%,720px);max-height:430px;margin:0 auto;border:1px solid var(--line);border-radius:12px;background:#fff;object-fit:contain}
.exam-nav-row{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;margin-top:18px}.exam-submit-button{justify-self:end}.exam-nav-row button:disabled{opacity:.45;cursor:not-allowed}
.result-banner{padding:26px;border-radius:18px;border:2px solid var(--line);background:#fff;margin-bottom:16px}.result-banner.pass{border-color:#5aa77f;background:#edf8f3}.result-banner.not-pass{border-color:#d99562;background:#fff5ec}.result-banner h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:6px}.result-banner p:last-child{margin-bottom:0}
.result-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.result-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}.result-stat span,.result-stat strong{display:block}.result-stat span{color:var(--muted);font-size:.88rem}.result-stat strong{color:var(--navy);font-size:1.5rem;margin-top:3px}
.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.result-actions button:disabled{opacity:.5;cursor:not-allowed}
.areas-panel{scroll-margin-top:80px;background:#f6f9fc;border:1px solid var(--line);border-radius:16px;padding:20px;margin:20px 0}.compact-heading{margin-bottom:16px}.compact-heading h2{margin-bottom:6px}.compact-heading p:last-child{color:var(--muted)}
.areas-list{display:grid;gap:10px}.area-review-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.area-review-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.area-review-head span{font-size:.78rem;font-weight:900;color:var(--blue);letter-spacing:.06em}.area-review-head h3{margin:2px 0 0}.area-review-head>strong{white-space:nowrap;color:#8a4e2d}.area-review-card ul{margin:12px 0 0;padding-left:20px}.area-review-card li{margin:6px 0}.area-review-card li span{color:var(--muted);font-size:.88rem;margin-left:6px}
.missed-section{margin-top:30px}.missed-list{display:grid;gap:12px}.missed-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.missed-meta{display:flex;gap:10px;margin-bottom:8px}.missed-meta span{font-size:.78rem;font-weight:900;color:var(--blue);letter-spacing:.05em}.missed-card h3{font-size:1.08rem;line-height:1.4}.missed-card p{margin:7px 0 0}.your-answer{color:#784545}.correct-answer{color:#285f49}.perfect-result{padding:18px;border:1px solid #75ae91;background:#edf8f3;border-radius:14px}.perfect-result p{margin:4px 0 0}
.exam-source-note{font-size:.9rem;color:var(--muted)}.exam-source-note p{margin:6px 0}.small-note{font-size:.82rem}
@media(max-width:720px){.question-nav{grid-template-columns:repeat(5,minmax(38px,1fr))}.exam-progress-row{align-items:flex-start;flex-direction:column}.result-stat-grid{grid-template-columns:1fr 1fr}.exam-nav-row{grid-template-columns:1fr 1fr}.exam-nav-row .button{width:100%}.exam-submit-button{grid-column:1/-1;justify-self:stretch}.practice-question-card{padding:18px}.question-figure img{max-height:340px}}
@media(max-width:430px){.question-nav{grid-template-columns:repeat(5,1fr);gap:5px}.question-nav-button{min-height:34px;font-size:.86rem}.practice-question-meta{align-items:flex-start;flex-direction:column}.flag-button{align-self:flex-start}.practice-answer{padding:12px}.result-stat-grid{grid-template-columns:1fr 1fr}.result-actions{display:grid}.result-actions .button{width:100%}.area-review-head{flex-direction:column}.area-review-head>strong{white-space:normal}}


/* v0.9.5 — compact return navigation + SPARKA modal */
.exam-return-rows{display:grid;gap:8px;margin:0 0 14px}
.exam-return-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f7fafc;border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.exam-return-row>strong{font-size:.84rem;color:var(--navy)}
.exam-return-list{display:flex;gap:6px;flex-wrap:wrap}
.return-question-button{min-width:34px;height:32px;padding:0 8px;border-radius:8px;border:1px solid #b9c9d8;background:#fff;color:var(--navy);font-weight:900;cursor:pointer}
.return-question-button.unanswered{border-color:#d39463;background:#fff6ee}.return-question-button.flagged{border-color:#c99c38;background:#fff9e8}
.flagged-results-section{margin-top:30px}.flagged-results-list{display:grid;gap:12px}.flagged-result-card{background:#fff;border:1px solid #d9c47b;border-radius:14px;padding:18px}.flagged-result-card h3{font-size:1.08rem;line-height:1.4}
.exam-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(13,29,44,.56);display:grid;place-items:center;padding:18px}
.exam-modal-backdrop[hidden]{display:none}.exam-modal{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:24px}.exam-modal h2{margin:0 0 8px}.exam-modal p{color:var(--muted);line-height:1.5}.exam-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.modal-open{overflow:hidden}
.exam-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.exam-class-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:inherit}.exam-class-card:hover{border-color:#7fa8ce;box-shadow:0 8px 24px rgba(17,38,62,.06)}.exam-class-card h2{margin-bottom:7px}.exam-class-card .status{display:inline-block;margin-bottom:8px}
@media(max-width:720px){.exam-class-grid{grid-template-columns:1fr}.exam-modal-actions{display:grid}.exam-modal-actions .button{width:100%}}

/* v0.10.1 Technician-wide Quiz Me */
.tech-quick-picks{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:0 0 1rem}.tech-quick-picks>a{display:inline-flex;align-items:center;justify-content:center;min-width:2.7rem;padding:.45rem .7rem;border:1px solid #8eb7d6;border-radius:.55rem;background:#fff;color:#17365d;font-weight:700;text-decoration:none}.tech-quick-picks>a:hover,.tech-quick-picks>a:focus{border-color:#17365d;background:#eef6fc}.exam-prep-picks{margin-top:1rem;padding:.75rem 0}.exam-prep-picks>span{font-weight:700;margin-right:.25rem}.technician-quiz-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.question-meta{gap:.6rem;flex-wrap:wrap}.detail-availability{font-size:.88rem;color:#596774;margin:.7rem 0 0}.explanation-pending{padding:.65rem .8rem;border-left:3px solid #9aa9b7;background:#f6f8fa}.error-note{border-left:4px solid #b64a4a}.technician-quiz-feature{border-color:#6a9fc5}
@media (max-width:780px){.technician-quiz-controls{grid-template-columns:1fr}.tech-quick-picks{gap:.35rem}.tech-quick-picks>a{min-width:2.55rem;padding:.42rem .62rem}}


/* v0.10.1 teaching/interaction refinements */
.instruction-box{padding:14px 16px;border:1px solid #b9cfe2;border-left:5px solid #1674b8;background:#f5faff;border-radius:12px;margin:14px 0}.instruction-box strong{color:#17365d}.scope-card{margin:16px 0;background:#081b2e;border-radius:14px;padding:10px 12px}.scope-card svg{width:100%;height:auto;display:block}.scope-grid{stroke:#264057;stroke-width:1}.scope-zero{stroke:#7890a9;stroke-width:2}.scope-trace{fill:none;stroke:#72d2ff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.scope-label{fill:#c9d8e6;font-size:14px;font-family:system-ui,sans-serif}.scope-title{fill:#fff;font-size:15px;font-family:system-ui,sans-serif;font-weight:700}.circuit-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.circuit-card{border:1px solid #d9e1ea;border-radius:14px;padding:12px;background:#f8fbfe}.circuit-card h3{margin:0 0 8px}.circuit-card svg{width:100%;height:auto;display:block}.circuit-wire{stroke:#17365d;stroke-width:4;fill:none;stroke-linecap:round}.circuit-node{fill:#17365d}.res-network svg{width:min(100%,540px);height:auto}.applied-lab-callout{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:18px;border:1px solid #b9cfe2;background:#f5faff;border-radius:14px;margin-top:22px}.applied-lab-callout>div{min-width:0}.applied-lab-callout h3{margin:0 0 6px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.metric-card{background:#f3f7fb;border-radius:12px;padding:12px;text-align:center}.metric-card span{display:block;color:#5f6f7f;font-size:.88rem}.metric-card strong{display:block;margin-top:4px;font-size:1.25rem}.switch-toggle{display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0}.switch-state{font-weight:800}.builder-layout{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(360px,1.35fr);gap:18px;align-items:start}.parts-tray{display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));gap:10px}.part-tile{border:1px solid #c7d3df;background:#fff;border-radius:12px;padding:10px;min-height:105px;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}.part-tile.selected{outline:3px solid #f0a43b;background:#fff8e8}.part-tile img{max-width:120px;max-height:62px}.part-tile span{font-weight:800;font-size:.9rem}.builder-board{position:relative;min-height:360px;border:1px solid #c7d3df;border-radius:16px;background:#f7fafc;padding:18px;overflow:hidden}.builder-wires{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);pointer-events:none}.drop-zone{position:absolute;width:128px;min-height:82px;border:2px dashed #9aabbb;border-radius:12px;background:rgba(255,255,255,.94);display:grid;place-items:center;text-align:center;padding:6px;cursor:pointer}.drop-zone.filled{border-style:solid;border-color:#4e86ad}.drop-zone img{max-width:105px;max-height:52px}.drop-zone small{display:block;color:#667788;font-size:.75rem}.builder-series .zone-source{left:5%;top:58%}.builder-series .zone-switch{left:22%;top:12%}.builder-series .zone-r1{left:48%;top:12%}.builder-series .zone-r2{right:5%;top:12%}.builder-parallel .zone-source{left:5%;top:58%}.builder-parallel .zone-switch{left:23%;top:12%}.builder-parallel .zone-r1{right:8%;top:12%}.builder-parallel .zone-r2{right:8%;bottom:12%}.builder-message{padding:12px 14px;border-radius:10px;background:#eef4fa;margin-top:12px;font-weight:700}.builder-message.good{background:#e8f5e8;color:#215b2d}.builder-message.warn{background:#fff3dc;color:#7b4d00}.small-note{font-size:.92rem;color:#5f6f7f}.symbol-card.success-flash{outline:3px solid #4b9b5f;transition:outline .2s ease}.compact-status{font-size:.92rem;color:#5f6f7f;text-align:center;margin-top:8px}
@media(max-width:800px){.circuit-compare,.builder-layout,.metric-grid{grid-template-columns:1fr}.applied-lab-callout{align-items:flex-start;flex-direction:column}.builder-board{min-height:430px}.drop-zone{width:112px}.builder-series .zone-source,.builder-parallel .zone-source{left:4%;top:68%}.builder-series .zone-switch,.builder-parallel .zone-switch{left:4%;top:8%}.builder-series .zone-r1{left:38%;top:8%}.builder-series .zone-r2{right:4%;top:8%}.builder-parallel .zone-r1{right:4%;top:8%}.builder-parallel .zone-r2{right:4%;bottom:12%}.parts-tray{grid-template-columns:repeat(4,1fr)}.part-tile{min-height:90px;padding:6px}.part-tile img{max-width:74px;max-height:44px}.part-tile span{font-size:.78rem}}
@media(max-width:520px){.parts-tray{grid-template-columns:repeat(2,1fr)}.builder-board{min-height:500px}.drop-zone{width:105px;min-height:76px}.builder-series .zone-source,.builder-parallel .zone-source{left:3%;top:76%}.builder-series .zone-switch,.builder-parallel .zone-switch{left:3%;top:6%}.builder-series .zone-r1{left:36%;top:6%}.builder-series .zone-r2{right:3%;top:6%}.builder-parallel .zone-r1{right:3%;top:6%}.builder-parallel .zone-r2{right:3%;bottom:10%}}

/* v0.10.1 series/parallel builder refinements */
.builder-series .zone-source{left:5%;top:61%}
.builder-series .zone-switch{left:20%;top:10%}
.builder-series .zone-r1{left:46%;top:10%}
.builder-series .zone-r2{right:4%;top:39%;width:92px;min-height:128px}
.builder-series .zone-r2 img{transform:rotate(90deg);max-width:92px;max-height:92px}
.builder-series .zone-r2 small{margin-top:2px}
@media(max-width:800px){
  .builder-series .zone-source{left:4%;top:68%}
  .builder-series .zone-switch{left:4%;top:8%}
  .builder-series .zone-r1{left:39%;top:8%}
  .builder-series .zone-r2{right:4%;top:40%;width:88px;min-height:120px}
}
@media(max-width:520px){
  .builder-series .zone-source{left:3%;top:76%}
  .builder-series .zone-switch{left:3%;top:6%}
  .builder-series .zone-r1{left:37%;top:6%}
  .builder-series .zone-r2{right:3%;top:42%;width:82px;min-height:112px}
}

/* v0.10.1 schematic-symbol license selector */
.symbol-level-picker{margin:12px 0 6px}
.symbol-card{position:relative}
.symbol-level-badge{margin-top:10px;font-size:.78rem;color:#667788;font-weight:700;letter-spacing:.02em}

/* v0.10.1 Amateur Radio landing-page depth pass */
.radio-hero .hero-copy{max-width:880px}
.radio-jump-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.radio-jump-nav a{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid #a8c3da;background:#fff;color:var(--navy);text-decoration:none;font-weight:700;font-size:.9rem}
.radio-jump-nav a:hover,.radio-jump-nav a:focus-visible{background:#eef6fc;border-color:#6d9bc1}
.radio-intro-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:26px;align-items:start}
.radio-prose p:first-child{font-size:1.08rem}
.radio-callout-card{background:#0d2a46;color:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(17,38,62,.09)}
.radio-callout-card h3{color:#fff;margin-top:4px}.radio-callout-card p,.radio-callout-card li{color:#dce8f3}.radio-callout-card ul{padding-left:20px;margin-bottom:0}.radio-callout-card li+li{margin-top:9px}
.radio-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.radio-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px 20px 20px 58px;min-height:150px}
.radio-step>span{position:absolute;left:18px;top:18px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#17365d;color:#fff;font-weight:800;font-size:.9rem}.radio-step h3{margin:0 0 7px}.radio-step p{color:var(--muted);margin:0}
.license-card-grid-rich{align-items:stretch}.license-card-rich{display:flex;flex-direction:column;gap:10px}.license-card-rich h3{font-size:1.55rem;margin-bottom:0}.license-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.license-badge{font-size:.72rem;letter-spacing:.07em;font-weight:800;color:#47657e;background:#edf4fa;border-radius:999px;padding:5px 8px}.license-lead{font-size:1.02rem;color:#33485c!important}.license-card-rich ul{padding-left:20px;margin:0 0 4px}.license-card-rich li+li{margin-top:8px}.license-why{margin-top:auto;padding:13px 14px;border-left:4px solid #4a86b4;background:#f3f8fc;border-radius:8px;color:#31485d}.license-coming{font-size:.92rem;color:#647485;padding-top:4px}.license-card-rich .button-row{margin-top:4px}
.radio-possibility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.radio-possibility{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.radio-possibility h3{margin:0 0 7px}.radio-possibility p{color:var(--muted);margin:0}
.study-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.study-path-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.study-path-card h3{margin:0 0 7px}.study-path-card p{color:var(--muted);margin:0}.study-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
@media(max-width:1050px){.radio-possibility-grid,.study-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.radio-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.radio-intro-grid{grid-template-columns:1fr}.radio-callout-card{padding:20px}.radio-jump-nav{gap:6px}.radio-jump-nav a{font-size:.84rem;padding:7px 10px}}
@media(max-width:620px){.radio-step-grid,.radio-possibility-grid,.study-path-grid{grid-template-columns:1fr}.radio-step{min-height:0}.license-card-top{align-items:flex-start;flex-direction:column}.radio-jump-nav{display:grid;grid-template-columns:1fr 1fr}.radio-jump-nav a{justify-content:center;text-align:center}.study-cta-row .button{width:100%}}

/* v0.10.1 — license-first Exam Prep architecture */
.license-exam-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.license-exam-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 6px 20px rgba(17,38,62,.04)}
.license-exam-card.technician{border-top:5px solid #2d79b8}.license-exam-card.general{border-top:5px solid #b7791f}.license-exam-card.extra{border-top:5px solid #6f5a9b}
.license-exam-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.license-exam-head h2{margin:4px 0 0}.license-exam-level{font-size:.78rem;font-weight:800;color:#52677b;background:#eef3f7;padding:6px 8px;border-radius:999px;white-space:nowrap}
.license-exam-card>p{color:var(--muted);margin:0;flex:1}.license-exam-actions{display:grid;gap:8px;margin-top:4px}.license-exam-actions .button{width:100%;justify-content:center;text-align:center}.button-disabled{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;border:1px dashed #b9c5cf;border-radius:10px;background:#f5f7f9;color:#788795;font-weight:700;text-align:center}
.exam-mode-key{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:24px;align-items:start}.exam-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.exam-mode-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.exam-mode-grid strong,.exam-mode-grid span{display:block}.exam-mode-grid strong{color:var(--navy);margin-bottom:5px}.exam-mode-grid span{color:var(--muted);font-size:.92rem;line-height:1.4}
.exam-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.exam-tool-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:inherit;min-height:230px}.exam-tool-card.featured{border:2px solid #6f9fc7;background:#f7fbff}.exam-tool-card.muted{background:#f7f8fa}.exam-tool-card h2{margin:7px 0}.exam-tool-card p{color:var(--muted);flex:1}.exam-tool-card strong{color:var(--blue)}a.exam-tool-card:hover,a.exam-tool-card:focus-visible{border-color:#6f9fc7;box-shadow:0 8px 20px rgba(17,38,62,.07)}.coming-label{color:#71808d;font-weight:700;font-size:.9rem}
.section-study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.section-study-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 18px 18px 64px;min-height:170px}.section-study-card>span:first-child{position:absolute;left:17px;top:18px;width:34px;height:34px;border-radius:9px;background:#17365d;color:#fff;display:grid;place-items:center;font-weight:900}.section-study-card h2{font-size:1.2rem;margin:0 0 7px}.section-study-card p{color:var(--muted);margin:0 0 12px}.section-study-card>a{font-weight:800;text-decoration:none}.section-study-card.ready{border:2px solid #4f8cba;background:#f7fbff}.section-card-actions{display:flex;flex-wrap:wrap;gap:8px}.section-card-actions .button{padding:8px 11px}
@media(max-width:900px){.license-exam-grid,.exam-tool-grid{grid-template-columns:1fr}.exam-mode-key{grid-template-columns:1fr}.exam-mode-grid{grid-template-columns:1fr 1fr}.section-study-grid{grid-template-columns:1fr}}
@media(max-width:560px){.exam-mode-grid{grid-template-columns:1fr}.license-exam-head{flex-direction:column;gap:5px}.section-study-card{padding-left:58px}.license-exam-card,.exam-tool-card{padding:17px}}
/* v1.0.0 verified schematic-symbol presentation */
.real-device-symbol{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:190px;padding:18px}.real-device-symbol img{display:block;max-width:260px;max-height:130px;width:auto;height:auto;object-fit:contain}.device-flow{font-weight:800;color:#56667a;padding:7px 12px;border-radius:999px;background:#edf2f7}.device-flow.on{color:#124f30;background:#dff5e7}.schematic-symbol{max-width:300px;max-height:180px;width:auto;height:auto;object-fit:contain}


/* v1.0.1 — General / Extra Study by Section */
.study-source-note{background:#f7fafc;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;padding:13px 15px;margin-bottom:14px;color:var(--muted)}
.study-source-note strong{color:var(--navy)}
.study-section-jump{position:sticky;top:0;z-index:18;display:flex;gap:7px;overflow-x:auto;padding:9px 0 12px;background:rgba(247,249,251,.96);backdrop-filter:blur(5px);margin-bottom:12px}
.study-section-jump a{flex:0 0 auto;text-decoration:none;font-weight:850;padding:7px 11px;border:1px solid var(--line);background:#fff;border-radius:999px;color:var(--navy)}
.study-section-jump a:hover,.study-section-jump a:focus-visible{border-color:#6f9fc7;background:var(--blue-soft)}
.study-guide-grid{display:grid;gap:16px}
.study-guide-card{scroll-margin-top:72px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:0 6px 20px rgba(17,38,62,.035)}
.study-guide-card-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:8px}
.study-section-badge{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:11px;background:var(--navy);color:#fff;font-weight:900;letter-spacing:.03em}
.study-guide-card-head h2{margin:0 0 2px;font-size:1.35rem}.study-exam-weight{margin:0;color:var(--muted);font-size:.9rem;font-weight:750}
.study-guide-overview{font-size:1.02rem;margin:8px 0 13px;max-width:95ch}
.study-group-list{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 16px}
.study-group-chip{display:inline-flex;gap:5px;align-items:baseline;padding:7px 9px;border-radius:9px;background:#f2f6fa;border:1px solid #dbe4ec;color:#52677b;font-size:.87rem}.study-group-chip b{color:var(--navy)}
.study-guide-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:16px;align-items:start}
.study-guide-body h3,.study-guide-resources>strong{font-size:1rem;color:var(--navy);margin:0 0 7px}.study-guide-body ul{margin:0;padding-left:1.2rem}.study-guide-body li{margin:5px 0}
.study-practical{background:var(--gold-soft);border-left:4px solid var(--gold);border-radius:10px;padding:13px 14px}.study-practical p{margin:0;color:#5c5140}
.study-guide-resources{margin-top:14px}.study-guide-resources .module-chip-row{margin-top:8px}.study-guide-card .section-card-actions{margin-top:15px}
@media(max-width:760px){.study-guide-body{grid-template-columns:1fr}.study-guide-card{padding:16px}.study-section-jump{top:61px}.study-group-chip{width:100%}}

.quiz-cycle-status{margin-left:auto;font-weight:800;color:var(--navy);font-size:.9rem}.quiz-cycle-status[hidden]{display:none!important}
@media(max-width:760px){.quiz-cycle-status{width:100%;margin-left:0}}

/* v1.3.0 STEMulation application pass */
.application-schematic{margin:16px 0;border:1px solid #d5e0ea;border-radius:14px;background:#f8fbfe;padding:10px;overflow:hidden}.application-schematic.compact{padding:8px}.application-schematic svg{display:block;width:100%;height:auto;min-height:180px}.diagram-label{font:700 17px/1.2 system-ui,sans-serif;fill:#17365d}.diagram-caption{font:600 14px/1.2 system-ui,sans-serif;fill:#667788}.current-arrow{stroke:#1674b8;stroke-width:6;fill:none;stroke-linecap:round;transition:opacity .2s,stroke-width .2s}.flow-marker{fill:#1674b8}.reactance-bars{display:grid;gap:10px;margin:16px 0}.balance-track{height:24px;background:#e6edf4;border-radius:999px;overflow:hidden}.balance-fill{height:100%;background:#1674b8;border-radius:999px;transition:width .2s}.instrument-application{margin:18px 0;padding:16px;border:1px solid #b9cfe2;background:#f7fbff;border-radius:14px}.instrument-application h3{margin-top:0}.transformer-visual{display:grid;grid-template-columns:1fr 54px 1fr;gap:12px;align-items:center;margin:18px 0;padding:16px;border:1px solid #d5e0ea;border-radius:14px;background:#f8fbfe;text-align:center}.transformer-core{height:170px;border-left:8px solid #596979;border-right:8px solid #596979;border-radius:6px}.coil-stack{min-height:155px;display:flex;flex-direction:column;justify-content:center;gap:3px}.coil-turn{height:7px;border:3px solid #b47b2d;border-left-width:6px;border-right-width:6px;border-radius:50%}.power-flow{display:flex;height:28px;overflow:hidden;border-radius:999px;background:#e5edf4;margin:16px 0}.power-accepted{background:#2f7d4a;transition:width .25s}.power-reflected{background:#b55b3b;transition:width .25s}.compact-presets{justify-content:flex-start}.swr-line{line-height:1.7}.energized-wire{stroke:#1674b8;stroke-dasharray:10 8;animation:flowDash 1s linear infinite}@keyframes flowDash{to{stroke-dashoffset:-36}}@media(max-width:700px){.transformer-visual{grid-template-columns:1fr 36px 1fr}.transformer-core{height:145px}.diagram-label{font-size:14px}}

.meter-lead{stroke:#b55b3b;stroke-width:4;fill:none}.meter-symbol{fill:#fff;stroke:#17365d;stroke-width:4}.meter-letter{font:800 22px/1 system-ui,sans-serif;fill:#17365d}


/* v1.4.0 STEMulation accuracy/application pass */
.battery-plate{stroke:#111;stroke-width:4;fill:none;stroke-linecap:round}.battery-link{stroke:#111;stroke-width:4}.battery-sign{font:700 17px/1 system-ui,sans-serif;fill:#111}.source-circle{fill:#fff;stroke:#17365d;stroke-width:4}.source-wave{fill:none;stroke:#17365d;stroke-width:4;stroke-linecap:round}.state-pill{display:inline-block;margin:8px 0 14px;padding:7px 12px;border-radius:999px;background:#e9f2fa;color:#17365d;font-weight:850}.capacitor-visual{position:relative}.plate-wrap{position:relative;display:flex;align-items:center;justify-content:center;height:130px}.plate-charge{position:absolute;font:900 28px/1 system-ui,sans-serif;opacity:calc(.08 + var(--cap-charge,0)*.92);transition:opacity .15s}.plate-charge.plus{left:-34px;top:20px;color:#b04737}.plate-charge.minus{right:-34px;top:20px;color:#195f9e}.plate-charge.lower{top:auto;bottom:20px}.field-arrow{display:block;font-size:.78rem;color:#667788;opacity:calc(.15 + var(--cap-charge,0)*.85);white-space:nowrap}.builder-board.current-on .builder-wires .circuit-wire{stroke:#1674b8;stroke-dasharray:10 8;animation:flowDash 1s linear infinite}.drop-zone.filled{background:transparent;border-color:transparent}.drop-zone.filled small{display:none}.drop-zone.filled img{max-width:118px;max-height:68px}.builder-series .zone-source,.builder-parallel .zone-source{left:4%;top:47%;width:84px;min-height:130px}.builder-series .zone-source img,.builder-parallel .zone-source img{transform:rotate(90deg);max-width:105px;max-height:70px}.builder-series .zone-switch{left:18%;top:7%;width:120px}.builder-series .zone-r1{left:43%;top:7%;width:120px}.builder-series .zone-r2{right:4%;top:34%;width:86px;min-height:132px}.builder-series .zone-r2 img{transform:rotate(90deg);max-width:105px;max-height:70px}.builder-parallel .zone-switch{left:18%;top:7%;width:120px}.builder-parallel .zone-r1{left:44%;top:29%;width:86px;min-height:132px}.builder-parallel .zone-r2{right:10%;top:29%;width:86px;min-height:132px}.builder-parallel .zone-r1 img,.builder-parallel .zone-r2 img{transform:rotate(90deg);max-width:105px;max-height:70px}.device-stage{padding:10px}.device-stage svg{width:100%;height:auto;max-height:340px}.meter-grid .meter{min-width:0}.symbol-card img{max-width:100%;height:120px;object-fit:contain}.symbol-level-badge{font-size:.8rem;color:#667788;margin-top:6px}.choice-buttons button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:800px){.builder-parallel .zone-r1{left:38%;top:26%}.builder-parallel .zone-r2{right:6%;top:26%}.builder-series .zone-source,.builder-parallel .zone-source{left:3%;top:54%}}

.component-line{stroke:#111;stroke-width:4;fill:none;stroke-linecap:round;stroke-linejoin:round}.scope-body,.counter-body{fill:#e8eef5;stroke:#17365d;stroke-width:4}.scope-screen{fill:#081b2e;stroke:#5f7890;stroke-width:2}

/* v1.5.0 STEMulation refinement pass */
.drop-zone.target-zone{outline:3px solid #f0a43b;background:#fff8e8;border-color:#f0a43b}
.builder-final{position:absolute;inset:18px;display:none;place-items:center;background:#f7fafc;border-radius:12px;z-index:5}
.builder-final svg{width:100%;height:100%;display:block}
.builder-board.complete .builder-final{display:grid}
.builder-board.complete .builder-wires,.builder-board.complete .drop-zone{visibility:hidden}
.builder-board.complete.current-on .builder-final .energized-wire{stroke:#1674b8;stroke-dasharray:10 8;animation:flowDash 1s linear infinite}
.builder-board.complete .builder-final .component-line{stroke:#111}
@media(max-width:800px){.builder-final{inset:12px}}
/* v1.5.0 builder placement spacing: keep switch and R1 targets visually separate */
.builder-series .zone-switch{left:12%;top:7%;width:105px}
.builder-series .zone-r1{left:45%;top:7%;width:105px}
@media(max-width:800px){
  .builder-series .zone-switch{left:4%;top:7%;width:100px}
  .builder-series .zone-r1{left:38%;top:7%;width:100px}
}
@media(max-width:520px){
  .builder-series .zone-switch{left:3%;top:6%;width:95px}
  .builder-series .zone-r1{left:38%;top:6%;width:95px}
}


/* v1.6.1 — Decibels STEMulation + feedback preview */
.db-presets{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}.db-presets button{flex:1 1 82px}.db-meter-grid{grid-template-columns:repeat(4,1fr)}.db-output-meter{background:#eef7ff}.db-chain{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:20px 0;padding:18px;border:1px solid #d5e0ea;border-radius:14px;background:#f8fbfe}.db-power span{display:block;font-weight:800;color:#17365d;margin-bottom:8px}.db-bar-track{height:22px;border-radius:999px;background:#e5edf5;overflow:hidden}.db-bar{height:100%;width:42%;border-radius:999px;background:#2b6fb4;transition:width .2s}.db-bar.output{background:#d69617}.db-stage{text-align:center;min-width:95px}.db-stage strong{display:block;font-size:.82rem;color:#667788;margin-top:5px}.db-stage-label{display:inline-block;padding:7px 10px;border-radius:999px;font-weight:900;letter-spacing:.05em}.db-stage-label.gain{background:#e4f4e8;color:#176b31}.db-stage-label.loss{background:#fff0e4;color:#a84b20}.db-stage-label.neutral{background:#edf1f5;color:#536474}
.feedback-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:28px;align-items:start}.feedback-form-card{background:#fff;border:1px solid var(--line,#d9e1ea);border-radius:18px;padding:24px;box-shadow:0 8px 28px rgba(20,35,55,.06)}.feedback-form-card label{display:block;font-weight:800;color:#17365d;margin:0 0 16px}.feedback-form-card label span{font-weight:500;color:#667788}.feedback-form-card input,.feedback-form-card select,.feedback-form-card textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #bdc9d6;border-radius:10px;background:#f7f9fb;font:inherit;color:#667788}.feedback-form-card textarea{resize:vertical}.feedback-form-card :disabled{cursor:not-allowed;opacity:.78}.feedback-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feedback-form-card .button{width:100%;margin-top:4px}
@media(max-width:820px){.feedback-grid,.db-chain{grid-template-columns:1fr}.db-meter-grid{grid-template-columns:1fr 1fr}.db-stage{text-align:left}.feedback-two{grid-template-columns:1fr}}

/* v1.6.1 decibel mental-math path */
.db-button-label{margin:14px 0 7px;font-size:.82rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#617386}.db-practice{margin-top:0}.db-practice button{background:#f6f1ff;border-color:#cbbce8}.db-mental-card{margin-top:18px;padding:20px;border:1px solid #ccd9e6;border-radius:16px;background:linear-gradient(180deg,#fbfdff 0%,#f3f8fc 100%)}.db-mental-card h3{margin:4px 0 14px;color:#17365d}.db-path-steps{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:12px 0}.db-step{display:flex;flex-direction:column;justify-content:center;min-width:76px;padding:9px 11px;border:1px solid #cbd7e3;border-radius:11px;background:#fff;text-align:center;font-weight:800;color:#17365d}.db-step small{display:block;margin-top:3px;color:#667788;font-weight:700}.db-step.start{min-width:58px;background:#edf3f8;color:#52677d}.db-step.result{background:#e8f5eb;border-color:#bad8c2;color:#176b31}.db-path-math{margin:12px 0 5px;padding:10px 12px;border-radius:10px;background:#fff;font-weight:800;color:#274663;line-height:1.5}@media(max-width:560px){.db-step{min-width:68px;padding:8px}.db-path-math{font-size:.92rem}}

.feedback-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:8px}.feedback-preview-head h2{margin:2px 0 0}.feedback-preview-head .status{white-space:nowrap}@media(max-width:560px){.feedback-preview-head{flex-direction:column}.feedback-preview-head .status{align-self:flex-start}}

/* v1.7.1 live feedback form */
.feedback-form-card input:not([readonly]),
.feedback-form-card select,
.feedback-form-card textarea{background:#fff;color:#17365d}
.feedback-form-card input[readonly]{background:#f3f6f9;color:#5f6f7f}
.feedback-live-badge{background:#e7f5ea;color:#245f33}
.feedback-result{min-height:1.5em;margin:12px 0 4px;font-weight:800}
.feedback-result.success{color:#245f33}
.feedback-result.error{color:#9b2c2c}
.feedback-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
