.wiki-lab {
  margin: 1.5rem 0;
  padding: 1.2rem;
  border: 1px solid var(--line, #cbd5e1);
  border-radius: var(--radius, 8px);
  background: var(--surface, #fff);
  color: var(--text, #1e293b);
}
.wiki-lab-title { font-weight: 700; }
.wiki-lab-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.2rem; }
.wiki-lab-controls[hidden], .wiki-lab-result[hidden] { display: none; }
.wiki-lab-controls label { display: flex; flex-direction: column; gap: .3rem; font-size: .92rem; }
.wiki-lab-controls input, .wiki-lab-controls select, .wiki-lab-actions button {
  font: inherit; color: inherit; background: var(--surface, #fff);
  border: 1px solid var(--line, #cbd5e1); border-radius: 4px; padding: .35rem .5rem; min-width: 0;
}
.wiki-lab-controls input[type="range"] { width: 100%; padding: 0; accent-color: var(--accent, #2563eb); }
.wiki-lab-controls .wiki-lab-check { flex-direction: row; align-items: center; }
.wiki-lab-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.wiki-lab-actions button { cursor: pointer; }
.wiki-lab-actions button:disabled { cursor: default; opacity: .6; }
.wiki-lab :focus-visible, .wiki-exercise summary:focus-visible { outline: 2px solid var(--accent, #2563eb); outline-offset: 3px; }
.wiki-lab-result { margin-top: 1rem; }
.wiki-lab-result pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .95rem; padding: .7rem; }
.wiki-lab svg { display: block; width: 100%; max-width: 650px; height: auto; margin: 1rem auto; }
.wiki-lab svg text { fill: currentColor; font: 14px system-ui, sans-serif; }
.wiki-lab .lab-grid { stroke: currentColor; opacity: .13; }
.wiki-lab .lab-axis { stroke: currentColor; opacity: .6; }
.wiki-lab .lab-input { stroke: #64748b; fill: none; stroke-dasharray: 6 4; }
.wiki-lab .lab-first { stroke: #2563eb; fill: #2563eb; fill-opacity: .06; }
.wiki-lab .lab-final { stroke: #c65b08; fill: #c65b08; fill-opacity: .09; }
.wiki-lab .lab-contour { stroke: currentColor; fill: none; stroke-width: 2; }
.wiki-exercise { margin: 1rem 0; }
.wiki-exercise details { margin: .6rem 0; border-left: 3px solid var(--line, #cbd5e1); padding: .4rem .8rem; }
.wiki-exercise summary { cursor: pointer; font-weight: 600; }
@media (max-width: 560px) {
  .wiki-lab { padding: .8rem; }
  .wiki-lab-controls { grid-template-columns: 1fr; }
}
