.concept-lab{--concept-color:var(--green);--concept-soft:var(--soft-green)}.concept-basic-03,.concept-basic-17{--concept-color:var(--blue);--concept-soft:var(--soft-blue)}.concept-basic-13{--concept-color:var(--yellow);--concept-soft:var(--soft-yellow)}.concept-basic-22,.concept-basic-24,.concept-basic-25{--concept-color:var(--mint);--concept-soft:var(--soft-mint)}.concept-switch-actions,.concept-toolbar,.concept-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.concept-toolbar{justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--background)}.concept-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--foreground);font-size:14px}.concept-action:hover,.concept-action[aria-pressed=true]{border-color:var(--concept-color);background:var(--concept-soft);color:var(--concept-color)}.concept-intro{padding:24px 24px 16px}.concept-intro h3{font-size:20px;margin-bottom:8px}.concept-intro p{font-size:14px;line-height:1.75;color:var(--muted-foreground)}.concept-options{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 24px}.concept-choice{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:14px;line-height:1.5;color:var(--foreground)}.concept-choice:hover{border-color:var(--concept-color);background:var(--concept-soft)}.concept-choice[aria-pressed=true]{border-color:var(--concept-color);background:var(--concept-color);color:var(--surface)}.concept-choice-number{font-variant-numeric:tabular-nums}.concept-body{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;padding:0 24px 24px;align-items:center}.concept-figure{margin:0;min-width:0;text-align:center}.concept-figure figcaption{font-size:12px;line-height:1.75;color:var(--muted-foreground);padding:8px 0}.concept-diagram{display:block;width:100%;max-width:420px;height:auto;margin:0 auto;color:var(--concept-color);overflow:visible}.concept-diagram text{fill:currentColor;font-family:inherit;font-size:18px;text-anchor:middle;font-weight:500}.concept-diagram .concept-svg-heading{font-size:24px;font-weight:650}.concept-part{color:var(--muted-foreground)}.concept-part.is-active{color:var(--concept-color)}.concept-machine{fill:var(--background);stroke:currentColor;stroke-width:2}.is-active .concept-machine{fill:var(--concept-soft);stroke-width:3}.concept-coil,.concept-cooling,.concept-flow,.concept-heat,.concept-pipe,.concept-pore,.concept-return,.concept-shaft{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.concept-pipe{stroke:var(--border)}.concept-pipe,.concept-shaft{stroke-width:6}.concept-coil{stroke:var(--yellow);stroke-width:4}.concept-return{stroke:var(--blue);stroke-dasharray:5 5}.concept-cooling{stroke:var(--blue);stroke-width:6}.concept-hub,.concept-terminal{fill:var(--surface);stroke:currentColor;stroke-width:2}.concept-water{fill:var(--soft-blue);stroke:var(--blue);stroke-width:2}.concept-ground{fill:var(--soft-yellow);stroke:var(--border);stroke-width:1}.concept-heat{stroke:var(--yellow);stroke-width:5}.concept-axis{fill:none;stroke:var(--muted-foreground);stroke-width:1.5}.concept-guide{fill:none;stroke:var(--border);stroke-width:1;stroke-dasharray:4 6}.concept-wave{fill:none;stroke:currentColor;stroke-width:4}.concept-wave-motion{animation:concept-wave 4s linear infinite;animation-play-state:paused}.concept-dc-motion{animation:concept-current 2s linear infinite;animation-play-state:paused}.concept-rotor{transform-origin:0 0;animation:concept-rotation 5s linear infinite;animation-play-state:paused}.concept-lab.is-running .concept-dc-motion,.concept-lab.is-running .concept-rotor,.concept-lab.is-running .concept-wave-motion{animation-play-state:running}.concept-reduced-motion{display:none}.concept-unpowered{opacity:.5}.concept-flow.is-disconnected{stroke:var(--muted-foreground);stroke-dasharray:3 7}.concept-explanation{align-self:stretch;padding:24px;border-radius:12px;background:var(--concept-soft);display:flex;flex-direction:column;justify-content:center;min-width:0}.concept-eyebrow{font-size:12px;color:var(--concept-color);margin-bottom:12px}.concept-explanation h4{font-size:20px;line-height:1.5;margin-bottom:16px;color:var(--foreground)}.concept-explanation p{font-size:14px;line-height:1.85}.concept-takeaway{padding-top:16px;margin-top:16px;border-top:1px solid var(--border);font-size:14px;color:var(--concept-color);font-weight:650}.concept-explanation .concept-state-note{margin-top:12px;font-size:12px;color:var(--muted-foreground)}.concept-layer{color:var(--muted-foreground);transition:transform .24s cubic-bezier(.2,.8,.2,1)}.concept-layer.is-active{color:var(--concept-color)}.concept-layer-face,.concept-layer-side,.concept-layer-top{fill:var(--background);stroke:currentColor;stroke-width:1.5}.concept-layer-top{fill:var(--surface)}.concept-layer-side{fill:var(--muted)}.concept-layer.is-active .concept-layer-face{fill:var(--concept-soft);stroke-width:3}.concept-layer-3 .concept-layer-face{stroke-dasharray:5 4;fill:var(--soft-blue)}.concept-ion{fill:var(--blue)}.concept-pore{stroke-width:1.5}.concept-number-bg{fill:var(--surface);stroke:currentColor;stroke-width:1.5}.concept-layer.is-active .concept-number-bg{fill:var(--concept-color)}.concept-layer.is-active text{fill:var(--surface)}.concept-material{fill:var(--concept-soft);stroke:var(--concept-color);stroke-width:2}.concept-switches{margin:0 24px 24px;padding:16px;border:1px solid var(--border);border-radius:8px}.concept-switches legend{padding:0 8px;font-size:14px;font-weight:650}.concept-switches p{margin-top:12px;font-size:14px}.concept-footnote{padding:16px 24px;border-top:1px solid var(--border);background:var(--background)}.concept-footnote p,.concept-sources{font-size:12px;line-height:1.75;color:var(--muted-foreground)}.concept-sources{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:8px}.concept-sources a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}@keyframes concept-wave{to{transform:translateX(-140px)}}@keyframes concept-current{to{transform:translateX(70px)}}@keyframes concept-rotation{to{transform:rotate(1turn)}}@media (max-width:760px){.concept-toolbar{padding:16px}.concept-toolbar .lab-label{width:100%}.concept-toolbar-actions{width:100%;justify-content:space-between}.concept-intro{padding:24px 16px 16px}.concept-options{padding:0 16px 16px}.concept-options-anatomy,.concept-options-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.concept-choice{padding:8px 12px}.concept-body{grid-template-columns:1fr;padding:0 16px 24px;gap:16px}.concept-explanation{padding:24px}.concept-switches{margin:0 16px 24px}.concept-switch-actions{align-items:stretch;flex-direction:column}.concept-footnote{padding:16px}}@media (prefers-reduced-motion:reduce){.concept-lab.is-running .concept-dc-motion,.concept-lab.is-running .concept-rotor,.concept-lab.is-running .concept-wave-motion{animation-play-state:paused}.concept-action,.concept-choice,.concept-layer{transition:none}.concept-reduced-motion{display:inline}.concept-standard-motion{display:none}}