.wave-lab{--ink:#153b56;--paper:#eef6fb;--sea:#122f47;--crest:#72d5f0;--trough:#e9a779;--zero:#25455d;color:var(--ink);padding-block:30px 64px}.wave-lab button,.wave-lab select{font:inherit;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #a8bdcf;border-radius:7px;min-height:44px;padding:11px 15px;font-size:13px}.wave-lab button:hover{background:#eef6fb;border-color:#246c93}.wave-lab button:disabled{opacity:.45;cursor:default}.wave-lab .wave-primary{color:#fff;background:#216184;border-color:#216184}.wave-lab :is(button,input,select,summary,[tabindex]):focus-visible{outline-offset:4px;outline:3px solid #c97c38}.wave-intro{grid-template-columns:1.2fr 1fr;align-items:end;gap:40px;margin:36px 0;display:grid}.wave-intro h1{letter-spacing:-1.6px;margin:0;font-size:clamp(34px,4.3vw,58px);line-height:1.45}.wave-intro h1 span{color:#216184;border-bottom:3px solid #72d5f0}.wave-intro>p{border-left:3px solid #72d5f0;margin:0;padding-left:24px;font-size:20px;line-height:1.9}.wave-intro small{color:#526c7d;margin-top:15px;font-size:13px;display:block}.wave-workshop{background:#fff;border:1px solid #b8ccdc;border-radius:16px;overflow:hidden}.wave-station{border-bottom:1px solid #d6e3ed;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;display:flex}.wave-station h2{margin:0;font-size:21px}.wave-station span{color:#526c7d;font:12px IBM Plex Mono,monospace}.wave-first{background:var(--paper);grid-template-columns:1fr auto;gap:10px 24px;padding:22px 26px;display:grid}.wave-first h3{margin:0;font-size:17px}.wave-first p{margin:8px 0 0;font-size:13px;line-height:1.8}.wave-first>p{grid-column:1/-1}.wave-first button{align-self:center}.wave-console{grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);display:grid}.wave-visual{min-width:0}.wave-field{aspect-ratio:3/2;background:var(--sea);touch-action:none;position:relative}.wave-field canvas,.wave-field svg{width:100%;height:100%;display:block;position:absolute;inset:0}.wave-field svg{cursor:crosshair}.wave-field #wave-probe{cursor:grab}.wave-field #wave-probe:focus{outline:none}.wave-field #wave-probe:focus-visible circle{stroke:#ffdb7d;stroke-width:4px}.wave-caption{color:#526c7d;margin:12px 20px;font-size:11px;line-height:1.8}.wave-legend{flex-wrap:wrap;gap:12px;margin:14px 20px;font-size:11px;display:flex}.wave-legend span{align-items:center;gap:7px;display:flex}.wave-legend i{border:1px solid #526c7d;border-radius:50%;width:12px;height:12px}.wave-legend .crest{background:var(--crest)}.wave-legend .trough{background:var(--trough)}.wave-legend .zero{background:var(--zero)}.wave-transport{border-top:1px solid #d6e3ed;flex-wrap:wrap;gap:9px;padding:18px 20px;display:flex}.wave-transport span{color:#526c7d;flex-basis:100%;margin-top:8px;font-size:11px}.wave-controls{background:#f6fafc;border-left:1px solid #d6e3ed;min-width:0;padding:24px}.wave-controls label{margin:0 0 24px;font-size:13px;font-weight:500;display:block}.wave-controls label output{float:right;font:12px IBM Plex Mono,monospace}.wave-controls input[type=range]{accent-color:#216184;width:100%;min-height:24px;margin:16px 0 10px;display:block}.wave-controls label small{color:#526c7d;font-size:10px;font-weight:400;line-height:1.8;display:block}.wave-controls select{width:100%;margin-top:10px;display:block}.wave-controls details summary{cursor:pointer;padding-block:10px;font-size:12px}.wave-controls details label{margin-top:20px}.wave-probe-readout{border-block:1px solid #b8ccdc;margin:20px 0;padding:18px 0}.wave-probe-readout>span{color:#526c7d;font-size:11px}.wave-probe-readout strong{color:#216184;font:40px/1.5 IBM Plex Mono,monospace;display:block}.wave-probe-readout b{font-weight:400}.wave-probe-readout small{font-size:14px}.wave-probe-readout p{color:#526c7d;margin:0;font-size:11px;line-height:1.8}.wave-boundary,.wave-noscript{background:#e9f2f8;border-top:1px solid #d6e3ed;padding:16px 24px;font-size:11px;line-height:1.9}.wave-evidence{grid-template-columns:1fr 1.4fr;align-items:center;gap:48px;margin:46px 0;display:grid}.wave-evidence h2{font-size:28px;line-height:1.6}.wave-evidence dl>div{border-bottom:1px solid #d6e3ed;padding:12px 0}.wave-evidence dt{color:#526c7d;font-size:11px}.wave-evidence dd{margin:8px 0 0;font:13px IBM Plex Mono,monospace}.wave-evidence p{color:#526c7d;font-size:12px;line-height:1.9}.wave-traces{background:#fff;border:1px solid #d6e3ed;border-radius:12px;min-width:0;padding:20px}.wave-traces svg{width:100%;overflow:visible}.wave-traces svg text{fill:#526c7d;font:12px IBM Plex Mono,monospace}.wave-traces svg path[id]{fill:none;stroke-width:2px}#wave-curve-one{stroke:#2f89a3;stroke-dasharray:3 4}#wave-curve-two{stroke:#b56728;stroke-dasharray:9 5}#wave-curve-sum{stroke:#153b56;stroke-width:3px}.wave-trace-key{flex-wrap:wrap;gap:14px;font-size:10px;display:flex}.wave-transfer{background:#e9f2f8;border-left:4px solid #216184;padding:26px}.wave-transfer h2{margin-top:0;font-size:22px}.wave-transfer p{font-size:13px;line-height:1.9}.wave-transfer [role=group]{flex-wrap:wrap;gap:10px;display:flex}.wave-transfer [aria-pressed=true]{border-color:#216184;box-shadow:0 0 0 2px #216184}.wave-notebook{border-bottom:1px solid #d6e3ed;padding-block:32px}.wave-notebook>div:first-child{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.wave-notebook h2{margin-right:auto;font-size:23px}.wave-notebook p{overflow-wrap:anywhere;font-size:12px;line-height:1.9}.wave-record{border-top:1px solid #d6e3ed;align-items:center;gap:20px;padding:16px 0;display:flex}.wave-record p{flex:1;margin:0}.wave-theory{padding:24px 0;font-size:13px;line-height:2}.wave-theory summary{cursor:pointer;font-weight:600}.wave-theory p{overflow-wrap:anywhere}.wave-next{flex-wrap:wrap;align-items:center;gap:20px;font-size:13px;display:flex}.wave-next p{flex-basis:100%;margin-bottom:0}.wave-next a{color:#216184}@media (width<=760px){.wave-intro{grid-template-columns:1fr;gap:24px}.wave-intro>p{font-size:16px}.wave-first{grid-template-columns:1fr;padding:20px}.wave-first>p{grid-column:auto}.wave-first button{justify-self:start}.wave-console{grid-template-columns:1fr}.wave-controls{border-top:1px solid #d6e3ed;border-left:0;padding:20px}.wave-controls .phase-dial{margin-bottom:16px}.wave-station{flex-wrap:wrap;gap:8px;padding:18px}.wave-evidence{grid-template-columns:1fr;gap:20px;margin:32px 0}.wave-evidence h2{font-size:24px}.wave-traces{padding:14px}.wave-record{align-items:start;gap:12px}.wave-transfer{padding:22px 18px}.wave-field{aspect-ratio:3/2}.wave-caption{margin-inline:16px}.wave-transport{padding:16px}.wave-probe-readout strong{font-size:34px}}.wave-visual .phase-dial{background:#eef6fb;border-bottom:1px solid #b8ccdc;padding:20px 24px;font-size:13px;display:block}.phase-dial>span{justify-content:space-between;gap:16px;display:flex}.phase-dial output{font:13px IBM Plex Mono,monospace}.wave-visual .phase-dial input{accent-color:#216184;width:100%;min-height:30px;margin-block:12px;display:block}.wave-visual .phase-dial small{color:#526c7d;font-size:10px;line-height:1.8}
