.wave-lab{--wave-ink:#19394c;--wave-muted:#617586;--wave-teal:#16776e;min-height:100vh;color:var(--wave-ink);font:400 1rem/1.55 var(--font-geist-sans), sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f8fa;padding:24px max(20px,50vw - 660px) 30px}.wave-lab *{box-sizing:border-box}.wave-lab h1,.wave-lab h2,.wave-lab h3,.wave-lab p,.wave-lab dl,.wave-lab dd{margin:0}.wave-lab h2{letter-spacing:-.025em;font-size:1.12rem;font-weight:650}.wave-lab button,.wave-lab input,.wave-lab select{font:inherit}.wave-lab button{cursor:pointer;min-height:42px;color:var(--wave-ink);background:#fff;border:1px solid #d5e0e6;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:.82rem;font-weight:600;line-height:1.35;display:inline-flex}.wave-lab button:hover:not(:disabled){border-color:var(--wave-teal);background:#eef7f5}.wave-lab button:disabled{cursor:default;opacity:.5}.wave-lab button[aria-pressed=true]{color:#116b62;background:#e5f2ef;border-color:#85bcb4}.wave-lab .wave-primary{background:var(--wave-teal);border-color:var(--wave-teal);color:#fff}.wave-lab .wave-primary:hover:not(:disabled){color:#fff;background:#12655e}.wave-lab a{color:var(--wave-teal);text-underline-offset:4px}.wave-lab :focus-visible{outline-offset:4px;outline:3px solid #18a395}.wave-lab input[type=range]{width:100%;min-width:0;accent-color:var(--wave-teal);cursor:pointer;height:28px}.wave-lab input[type=checkbox],.wave-lab input[type=radio]{accent-color:var(--wave-teal);flex-shrink:0;width:16px;height:16px}.wave-nav{border-bottom:1px solid #dce5eb;justify-content:space-between;align-items:center;gap:15px;padding-bottom:20px;font-size:.84rem;display:flex}.wave-nav a,.wave-footer a{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.wave-nav .wave-brand{color:var(--wave-ink);gap:5px}.wave-brand>span{color:#16776e;background:#e1efed;border-radius:10px;place-items:center;width:35px;height:35px;margin-right:6px;display:grid}.wave-heading{justify-content:space-between;align-items:center;gap:30px;margin:34px 0 28px;display:flex}.wave-kicker{letter-spacing:.12em;color:#557887;font-size:.68rem;font-weight:650}.wave-kicker span{color:#a5b6bf;margin:0 8px}.wave-heading h1{letter-spacing:-.055em;margin:9px 0 12px;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:720;line-height:1.2}.wave-heading h1>span{color:#16877c}.wave-intro{color:var(--wave-muted);max-width:630px;font-size:.94rem}.wave-equation{text-align:center;border-left:1px solid #cfdfe5;flex-shrink:0;padding:7px 0 7px 28px}.wave-equation strong{color:#176e72;letter-spacing:.08em;font-size:2.3rem;font-weight:600}.wave-equation strong span{color:#98aeb5}.wave-equation p{color:var(--wave-muted);font-size:.7rem}.wave-mode-bar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.wave-segmented{background:#e9eff3;border:1px solid #dce6eb;border-radius:11px;gap:3px;padding:4px;display:inline-flex}.wave-lab .wave-segmented button{background:0 0;border:1px solid #0000;min-height:36px}.wave-lab .wave-segmented button[aria-pressed=true]{color:#136d65;background:#fff;border-color:#dae5e8;box-shadow:0 2px 4px #20455908}.wave-mode-hint{color:var(--wave-muted);font-size:.78rem}.wave-workspace{grid-template-columns:minmax(0,1fr) 305px;align-items:start;gap:20px;display:grid}.wave-stage,.wave-settings{background:#fff;border:1px solid #d9e4eb;border-radius:15px;min-width:0;overflow:hidden;box-shadow:0 5px 16px #24465904}.wave-stage-header{justify-content:space-between;align-items:center;gap:10px;padding:22px 24px 5px;display:flex}.wave-eyebrow{color:#668292;letter-spacing:.12em;font-size:.62rem;font-weight:650}.wave-stage-header h2{margin-top:4px}.wave-views{background:#f3f6f8;flex-shrink:0}.wave-lab .wave-views button{min-height:33px;padding:7px 10px;font-size:.72rem}.wave-viewport{aspect-ratio:1000/640;width:100%;position:relative}.wave-top-down{width:100%;height:100%;display:block}.wave-top-down text{font-family:var(--font-geist-sans), sans-serif}.wave-region-title{letter-spacing:1.7px;fill:#527586;font-size:13px;font-weight:650}.wave-region-label{fill:#22465b;font-size:18px;font-weight:600}.wave-boundary-label{fill:#547585;font-size:15px}.wave-measurements text{fill:#fff3d2;paint-order:stroke;stroke:#15445a;stroke-width:5px;stroke-linejoin:round;font-size:17px;font-weight:600}.wave-wavelength line{stroke:#ffe7ae;stroke-width:2px}.wave-wavelength text{font-size:15px}.wave-key text{fill:#547585;font-size:14px}.wave-transport{justify-content:space-between;align-items:center;gap:10px;padding:0 24px 16px;display:flex}.wave-transport>div{gap:8px;display:flex}.wave-checkbox{color:#546e7c;cursor:pointer;align-items:center;gap:8px;font-size:.75rem;display:flex}.wave-view-note{color:#627d8c;background:#fafcfd;border-top:1px solid #e7edf1;min-height:52px;padding:14px 24px 17px;font-size:.72rem}.wave-settings{padding:22px}.wave-settings-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:23px;display:flex}.wave-settings-header>svg{color:#83aaa9}.wave-settings-header h2{margin-top:4px}.wave-directions{border:0;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 20px;padding:0;display:grid}.wave-directions legend{padding:0 0 10px;font-size:.75rem;font-weight:600}.wave-lab .wave-directions button{padding:7px;font-size:.7rem}.wave-lab .wave-directions .wave-swap{color:#627e8b;background:0 0;border:0;grid-column:1/-1;min-height:31px;padding:5px;font-size:.69rem}.wave-control{border-top:1px solid #edf1f4;padding:15px 0 10px}.wave-control>label{justify-content:space-between;gap:10px;font-size:.77rem;font-weight:600;display:flex}.wave-control>label>span{color:#8399a5;font-size:.72rem;font-weight:400}.wave-control-inputs{grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:14px;margin-top:8px;display:grid}.wave-control input[type=number]{color:#244b60;background:#f8fafb;border:1px solid #d4e1e7;border-radius:6px;width:100%;min-width:0;padding:7px 4px 7px 7px;font-size:.78rem}.wave-control-limits{color:#7d949f;justify-content:space-between;padding-right:78px;font-size:.61rem;display:flex}.wave-source-note{color:#69818e;font-size:.69rem;margin-top:2px!important}.wave-lab .wave-reset{color:#546c7a;background:#f7f9fa;width:100%;margin-top:23px}.wave-angle-limit,.wave-guided-lock{color:#4d707e;background:#f0f6f7;border-radius:7px;padding:10px;font-size:.69rem;line-height:1.5}.wave-guided-lock{margin-bottom:15px!important}.wave-notice{color:#245e69;font-size:.8rem}.wave-notice:not(:empty){background:#e6f3ef;border-radius:8px;margin-top:14px;padding:12px 16px}.wave-readings{grid-template-columns:1fr 1fr .7fr;gap:15px;margin-top:20px;display:grid}.wave-reading-card{background:#fff;border:1px solid #dce6ec;border-radius:12px;min-width:0;padding:18px 20px}.wave-reading-title{color:#547687;letter-spacing:.06em;align-items:center;gap:7px;font-size:.64rem;font-weight:650;display:flex}.wave-reading-title small{letter-spacing:0;color:#7d949f;margin-left:auto;font-size:.65rem;font-weight:400}.wave-region-dot{background:#176e98;border-radius:50%;width:7px;height:7px}.wave-reading-2 .wave-region-dot{background:#28918c}.wave-reading-card dl{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:16px;display:grid}.wave-reading-card dt{color:#7a909c;margin-bottom:4px;font-size:.64rem}.wave-reading-card dd{color:#234d63;letter-spacing:-.035em;white-space:nowrap;font-size:1.35rem;font-weight:600}.wave-reading-card dd span{letter-spacing:0;color:#6c8795;font-size:.65rem;font-weight:400}.wave-frequency-card{background:#ecf5f2;border-color:#cfe5df}.wave-frequency-card .wave-reading-title{color:#477f75;font-size:.6rem}.wave-frequency-card>strong{color:#167267;letter-spacing:-.035em;margin:7px 0 2px;font-size:1.75rem;font-weight:600;display:block}.wave-frequency-card>strong>span{font-size:.8rem;font-weight:400}.wave-frequency-card p{color:#66887e;font-size:.68rem}.wave-observation{background:#edf5f7;border:1px solid #d8e6e9;border-radius:12px;align-items:start;gap:14px;margin-top:23px;padding:22px 24px;display:flex}.wave-observation>span{color:#288174;background:#dbeee9;border-radius:10px;padding:10px;display:flex}.wave-observation h2{margin:1px 0 5px;font-size:.88rem}.wave-observation p{color:#5f7c8a;max-width:1000px;font-size:.81rem}.wave-model-notes{border-top:1px solid #dce5eb;border-bottom:1px solid #dce5eb;margin-top:20px;padding:17px 4px}.wave-model-notes summary{cursor:pointer;font-size:.82rem;font-weight:550}.wave-model-notes>div{color:#617d8a;max-width:1000px;padding:14px 0 3px;font-size:.8rem}.wave-model-notes p+p{margin-top:10px}.wave-footer{color:#7a919d;justify-content:space-between;gap:15px;padding-top:23px;font-size:.72rem;display:flex}.wave-activity{background:#fff;border:1px solid #d6e6e2;border-radius:13px;margin-bottom:20px;padding:22px}.wave-activity-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.wave-activity-top h2{margin-top:4px}.wave-activity>p{color:#587585;font-size:.84rem}.wave-activity-select{color:#617e8c;flex-direction:column;gap:5px;font-size:.68rem;display:flex}.wave-activity-select select{color:#24576b;background:#f8fbfc;border:1px solid #cddfe3;border-radius:6px;max-width:100%;min-height:38px;padding:6px;font-size:.76rem}.wave-predictions{border:0;gap:10px;margin:15px 0;padding:0;display:flex}.wave-predictions legend{padding-bottom:9px;font-size:.73rem;font-weight:600}.wave-predictions label{color:#56727f;cursor:pointer;border:1px solid #dae5e9;border-radius:8px;flex:1;align-items:start;gap:8px;padding:12px;font-size:.78rem;display:flex}.wave-predictions label.selected{color:#245f56;background:#eff8f4;border-color:#78b3a9}.wave-predictions input{margin-top:2px}.wave-activity-actions{flex-wrap:wrap;gap:9px;display:flex}.wave-feedback{color:#35675c;background:#edf7f3;border-left:3px solid #4e9e8c;border-radius:6px;margin-top:16px;padding:16px;font-size:.82rem}.wave-feedback p{margin-top:5px}.wave-lab .wave-before-note{margin-top:13px;font-size:.72rem}.wave-3d-wrap{background:#eaf3f6;width:100%;height:100%;position:relative}.wave-3d{cursor:grab;touch-action:none;width:100%;height:100%}.wave-3d canvas{width:100%;height:100%;display:block}.wave-3d-tag{color:#4d7789;pointer-events:none;font-size:.7rem;position:absolute;top:18px;left:22px}.wave-3d-regions{pointer-events:none;justify-content:space-between;gap:10px;display:flex;position:absolute;bottom:18px;left:22px;right:22px}.wave-3d-regions span{color:#345c6b;background:#ffffffc7;border:1px solid #c4dce4;border-radius:6px;padding:5px 9px;font-size:.72rem}.wave-scene-loading{color:#49798b;place-items:center;width:100%;height:100%;font-size:.8rem;display:grid}.wave-loading{text-align:center;color:#49798b;font-size:.8rem;position:absolute;top:50%;left:0;right:0}@media (min-width:1500px){.wave-lab{padding-top:28px}.wave-heading{margin-top:40px}}@media (max-width:1050px){.wave-workspace{grid-template-columns:minmax(0,1fr) 275px;gap:14px}.wave-stage-header{flex-wrap:wrap;padding:18px 16px 6px}.wave-stage-header h2{font-size:.98rem}.wave-settings{padding:18px}.wave-transport{padding-left:16px;padding-right:16px}.wave-readings{grid-template-columns:1fr 1fr}.wave-frequency-card{grid-column:1/-1;align-items:center;gap:24px;display:flex}.wave-frequency-card>strong{margin:0}.wave-frequency-card p{max-width:200px;margin-left:auto}}@media (max-width:800px){.wave-workspace{grid-template-columns:1fr}.wave-heading{gap:20px}.wave-heading h1{font-size:2.05rem}.wave-equation{padding-left:18px}.wave-equation strong{font-size:1.8rem}.wave-equation p{max-width:130px}.wave-mode-hint{display:none}.wave-settings{grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.wave-settings-header,.wave-guided-lock,.wave-directions,.wave-source-note,.wave-reset,.wave-angle-limit{grid-column:1/-1}.wave-settings-header{margin-bottom:15px}.wave-directions{grid-template-columns:1fr 1fr auto;margin-bottom:12px}.wave-lab .wave-directions .wave-swap{grid-column:auto;padding:7px 12px}.wave-lab .wave-reset{margin-top:15px}.wave-angle-limit{order:1;margin-top:14px!important}.wave-predictions{flex-direction:column}}@media (max-width:540px){.wave-lab{padding:16px 14px 24px}.wave-nav{gap:10px;padding-bottom:15px;font-size:.7rem}.wave-brand>span{border-radius:8px;width:29px;height:29px;margin-right:3px}.wave-nav .wave-brand{gap:3px}.wave-heading{margin:27px 0 23px;display:block}.wave-kicker{font-size:.59rem}.wave-heading h1{font-size:2.1rem}.wave-intro{font-size:.83rem}.wave-equation{text-align:left;border-top:1px solid #dbe6e9;border-left:0;align-items:center;gap:15px;margin-top:18px;padding:10px 0 0;display:flex}.wave-equation strong{font-size:1.4rem}.wave-equation p{max-width:none;font-size:.65rem}.wave-stage-header{gap:12px;padding:16px 14px 8px}.wave-stage-header>div:first-child{flex:100%}.wave-views{width:100%}.wave-views button{flex:1}.wave-top-down .wave-region-label{font-size:21px}.wave-top-down .wave-region-title{font-size:17px}.wave-top-down .wave-key{display:none}.wave-measurements text{stroke-width:7px;font-size:24px}.wave-wavelength text{font-size:21px}.wave-transport{flex-wrap:wrap;padding:10px 14px 14px}.wave-checkbox{min-height:32px;font-size:.71rem}.wave-view-note{padding:12px 14px;font-size:.68rem}.wave-settings{gap:0 16px;padding:17px}.wave-control-inputs{grid-template-columns:minmax(0,1fr) 56px;gap:7px}.wave-control-limits{padding-right:63px}.wave-control>label{font-size:.72rem}.wave-readings{gap:10px}.wave-reading-card{padding:15px 12px}.wave-reading-card dl{grid-template-columns:1fr;gap:10px;margin-top:13px}.wave-reading-card dl>div{justify-content:space-between;align-items:baseline;gap:5px;display:flex}.wave-reading-card dd{font-size:1.18rem}.wave-reading-card dt{font-size:.62rem}.wave-reading-title{flex-wrap:wrap;font-size:.62rem}.wave-reading-title small{flex:100%;margin-left:13px;font-size:.63rem}.wave-frequency-card{display:block}.wave-frequency-card>strong{margin:5px 0 2px}.wave-frequency-card p{max-width:none;margin:0}.wave-observation{gap:10px;padding:17px 14px}.wave-observation>span{padding:8px}.wave-observation p{font-size:.76rem}.wave-footer{flex-wrap:wrap;font-size:.68rem}.wave-activity{padding:17px 14px}.wave-activity-top{flex-direction:column;align-items:stretch;gap:13px}.wave-activity-select select{width:100%}.wave-3d-regions{bottom:10px;left:10px;right:10px}.wave-3d-regions span{padding:3px 5px;font-size:.6rem}.wave-3d-tag{font-size:.6rem;top:9px;left:10px}}@media (max-width:360px){.wave-settings{grid-template-columns:1fr}.wave-directions{grid-template-columns:1fr 1fr}.wave-lab .wave-directions .wave-swap{grid-column:1/-1}.wave-reading-card dl>div{flex-wrap:wrap}.wave-reading-card dd{font-size:1.1rem}.wave-nav .wave-brand{font-size:.62rem}.wave-heading h1{font-size:1.85rem}}
