.sound-stage {height:450px;background:radial-gradient(ellipse at center,#132638,#060e18 75%);overflow:hidden}
#soundCanvas {width:100%;height:100%;display:block;touch-action:none;cursor:grab}
#soundCanvas.dragging {cursor:grabbing}
#soundCanvas:focus-visible {outline:2px solid var(--lab-accent, var(--accent, #e9b86a));outline-offset:-3px}
.sound-readouts {display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.sound-readouts article {padding:16px}.sound-readouts small {font-size:9px;letter-spacing:.1em;color:#97aabb}.sound-readouts output {display:block;font-size:20px;color:var(--lab-accent, var(--accent, #e9b86a));margin-top:8px}
.experiment-controls label {display:flex;justify-content:space-between;gap:10px;margin:24px 0 10px}.experiment-controls input[type=range] {width:100%;accent-color:var(--lab-accent, var(--accent, #e9b86a))}
.sound-range {display:flex;justify-content:space-between;font-size:11px;color:#97aabb}
.sound-detail {font-size:12px;line-height:1.6;color:#97aabb}.sound-presets,.sound-actions {display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
@media(max-width:600px){.sound-stage {height:310px}.sound-readouts {gap:6px}.sound-readouts article {padding:10px}.sound-readouts output {font-size:15px}}

body[data-world=sound-frequency] .experiment-explanation {grid-template-columns:1fr}
body[data-world=sound-frequency] .experiment-explanation>div {max-width:1000px}
