.pendulum-lab .lab-grid { grid-template-columns:250px minmax(360px,1fr) 300px; }
.pendulum-lab .lab-label,.pendulum-lab .header-divider { display:none; }
.pendulum-lab .lab-nav { flex-wrap:wrap; }
.pendulum-lab .topbar { height:auto; min-height:76px; padding-top:12px; padding-bottom:12px; }
.pendulum-lab h2 { font-size:16px; }
.pendulum-lab .microcopy,.pendulum-lab .secondary,.pendulum-lab .edit-note,.pendulum-lab .scene-options,.pendulum-lab .preset,.pendulum-lab .input-error { font-size:14px; }
.pendulum-lab .page-heading p,.pendulum-lab details p { font-size:16px; line-height:1.5; }
.pendulum-lab .control>label { max-width:none; padding:0 0 9px; }
.pendulum-lab .input-value { position:static; width:max-content; height:32px; }
.pendulum-lab .input-value input { width:88px; }
.pendulum-lab .input-value span { font-size:14px; }
.pendulum-lab .control { margin-top:20px; }
.pendulum-lab .controls-card { display:block; }
#pendulum-scene { display:block; width:100%; background:linear-gradient(#fff,#f7f8fe); }
#bob-handle { cursor:grab; touch-action:none; }
#bob-handle:active { cursor:grabbing; }
#bob-handle:focus-visible { stroke:#292b40; stroke-width:3px; outline:none; }
#bob-handle[aria-disabled=true] { cursor:default; }
.scene-note { padding:12px 20px; margin:0; font-size:14px; line-height:1.5; color:#62677c; }
.pendulum-lab .scene-options input { width:16px; height:16px; }
.pendulum-lab .transport { flex-wrap:wrap; }
.pendulum-lab .transport select { width:80px; }
.pendulum-lab .transport label,.pendulum-lab .step-button { font-size:14px; }
.pendulum-lab .primary-button { min-width:90px; font-size:14px; }
.pendulum-lab .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 0; }
.pendulum-lab .metrics>div>span { font-size:12px; letter-spacing:0; }
.pendulum-lab .metrics strong { font-size:22px; }
.pendulum-lab .graph-card svg { display:block; width:100%; margin-top:10px; }
.energy-key { display:flex; flex-wrap:wrap; gap:8px 12px; font-size:14px; margin-top:12px; }
.kinetic-text { color:#315fd0; }.potential-text { color:#6852db; }.dissipated-text { color:#a95a16; }.mechanical-text { color:#343b4e; }
.energy-row { margin-top:18px; font-size:14px; }
.energy-row>span { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; margin-bottom:7px; }
.energy-row strong { font-variant-numeric:tabular-nums; }
.energy-track { height:15px; background:#edf0f7; border-radius:4px; overflow:hidden; }
.energy-track>div { height:100%; width:0; }
.kinetic-fill { background:#315fd0; }.potential-fill { background:#6852db; }.dissipated-fill { background:#d87c29; }
.pendulum-lab .formula { margin-top:18px; line-height:1.8; }
.pendulum-lab details { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
.pendulum-lab summary { cursor:pointer; font-size:14px; line-height:1.5; font-weight:550; }
.why-card>p { font-size:16px; line-height:1.5; }
.pendulum-lab .challenge-card p,.pendulum-lab .challenge-card>button { font-size:14px; }
#challenge-feedback.success { color:#22684e; font-weight:650; }
@media(max-width:1200px) {
  .pendulum-lab .lab-grid { grid-template-columns:240px minmax(0,1fr); }
  .pendulum-lab .insights-column { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
}
@media(max-width:700px) {
  .pendulum-lab .lab-grid,.pendulum-lab .insights-column { display:flex; flex-direction:column; }
  .pendulum-lab .lab-nav a { flex:1 1 40%; font-size:14px; }
  .pendulum-lab .insights-column>section { width:100%; }
  .pendulum-lab .transport label { margin-left:auto; }
}

.pendulum-lab .scene-options { flex-wrap:wrap; gap:12px; }
.pendulum-lab .metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pendulum-lab .scene-options label { white-space:normal; }
.pendulum-lab .energy-key { margin-top:0; }
.pendulum-lab .energy-track>div { transition:width .08s linear; }
.pendulum-lab .formula { font-size:15px; overflow-wrap:anywhere; }
.pendulum-lab .secondary { color:#62677c; }
@media(max-width:700px) { .pendulum-lab .topbar { flex-wrap:wrap; } .pendulum-lab .lab-nav { width:100%; margin-left:0; } .pendulum-lab .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .pendulum-lab .energy-track>div { transition:none; } }

@media(max-width:700px) { #scene-art text { font-size:28px; } }
