/* Onde meccaniche 0.21 — stile locale; non modifica gli altri simulatori. */
.wave-hero{padding:23px 29px;border:1px solid #dce6f2;border-radius:14px;background:#fff;box-shadow:0 4px 14px #1b416008}
.wave-hero h1{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:6px 0 12px;color:#193451}
.wave-hero p:not(.eyebrow){line-height:1.7;max-width:1000px;margin-bottom:0;color:#435a72}
.wave-layout{grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:17px;align-items:start}
.wave-form{grid-template-columns:1fr;gap:12px}.wave-wide{grid-column:1/-1}
.wave-parameters{padding:20px}.wave-parameters h2,.wave-simulation h2{font-size:1.18rem}
.wave-form .wave-field{min-width:0}.wave-form .phys-number-row{grid-template-columns:minmax(0,1fr) 48px}
.wave-examples{background:#f4f8ff;border:1px solid #d7e5f8;border-radius:12px;padding:11px}
.wave-examples-label{font-size:.84rem;display:block;color:#345575;font-weight:750;margin-bottom:8px}
.wave-example-list{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:7px}
.wave-example{border:0;background:none;color:#19549d;font-size:.82rem;cursor:pointer;padding:1px 0;text-decoration:underline;text-underline-offset:3px;text-align:left}
.wave-example:hover,.wave-example:focus-visible{color:#103365}
.wave-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.wave-head h2{margin:0}
.wave-viewport{width:100%;background:#f8fbff;border:1px solid #d6e3f0;border-radius:13px;padding:8px;overflow-x:auto}
.wave-viewport svg{display:block;width:100%;min-width:510px;height:auto;aspect-ratio:860/300}
.wave-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.wave-controls button{padding:8px 10px;font-size:.83rem}.wave-controls label{margin-left:auto;font-size:.82rem;color:#47617e;font-weight:700}
.wave-controls select{font-size:.87rem;padding:7px 10px;border-radius:9px;border:1px solid #9fb6cf}
.wave-readouts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.wave-readouts .phys-readout{padding:10px 11px}.wave-readouts .phys-readout strong{font-size:1rem}
.wave-jump{display:flex;align-items:center;flex-wrap:wrap;gap:9px;background:#f5f8fd;border:1px solid #dce8f5;border-radius:11px;padding:12px;margin-bottom:12px}
.wave-jump label{font-weight:750;color:#294d74;font-size:.9rem}.wave-jump input{width:130px;max-width:100%;padding:8px 10px;border:1px solid #afc2d5;border-radius:8px}
.wave-jump button{padding:8px 14px;font-size:.85rem}.wave-jump [role=alert]{color:#a22727;font-size:.86rem}
.wave-graphs{grid-template-columns:1fr;gap:12px}.wave-graphs .phys-graph-panel{padding:14px}
.wave-bottom{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.wave-bottom .phys-table{font-size:.76rem;min-width:540px}.wave-bottom .phys-table th,.wave-bottom .phys-table td{padding:7px 9px}
.wave-guide-section{padding:25px;margin-top:24px}.wave-guide-section h2{margin:0 0 10px}
.wave-guide-section .phys-guide-equation{font-size:.96rem}
.wave-guide-section .phys-guide-math-line{white-space:nowrap;overflow-x:auto}
.wave-guide-section .phys-guide-row{grid-template-columns:minmax(120px,155px) minmax(0,1fr)}
.wave-guide-section .phys-guide-step{padding-top:15px;padding-bottom:15px}
.wave-guide-section .phys-guide-step h3{font-size:1.06rem}
.wave-space-probe{cursor:crosshair}
#wv-space:focus-visible,#wv-history:focus-visible,#wv-velocity:focus-visible,#wv-acceleration:focus-visible{outline:3px solid #3572c1;outline-offset:2px}
@media(max-width:880px){.wave-layout{grid-template-columns:1fr}.wave-form{grid-template-columns:repeat(2,minmax(0,1fr))}.wave-form .wave-wide{grid-column:1/-1}.wave-parameters{padding:18px}.wave-bottom{grid-template-columns:1fr}}
@media(max-width:620px){.wave-hero{padding:18px}.wave-form{grid-template-columns:1fr}.wave-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.wave-controls label{margin-left:0}.wave-viewport svg{min-width:620px;width:620px;max-width:none}.wave-graphs .phys-graph-panel{overflow-x:auto}.wave-graphs .phys-graph{min-width:580px;max-width:none}.wave-guide-section{padding:15px}.wave-guide-section .phys-guide-row{grid-template-columns:1fr}.wave-guide-section .phys-guide-step{padding-left:48px}}
@media(prefers-reduced-motion:reduce){.wave-example{transition:none}}
