@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Newsreader:opsz,wght@6..72,450;6..72,600&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{color:#f3f8ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#255290;font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{background:#255290}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(1420px,100% - 40px);margin:0 auto;padding:26px 0 42px}.topbar,.brand,.module-switcher,.section-title,.response-tabs,.lower-panels,.listening-path,.path-options,.model-path,.audio-dock,.audio-buttons,.slider-heading,.slider-limits,.plot-caption{align-items:center;display:flex}.topbar{border-bottom:1px solid #d6e9ff57;justify-content:space-between;padding-bottom:25px}.topbar-tabs{background:#0a2a5738;border:1px solid #d6e9ff4d;border-radius:9px;align-items:center;gap:5px;padding:4px;display:flex}.topbar-tab{color:#d5e6fb;border:1px solid #0000;border-radius:6px;padding:8px 11px;font-size:.68rem;font-weight:700;text-decoration:none}.topbar-tab:hover{color:#fff;border-color:#d9ecff42}.topbar-tab.active{color:#17437c;background:#f8fbff;border-color:#d9ecff42;box-shadow:0 1px 4px #071c4147}.brand{color:#fff;letter-spacing:-.025em;align-items:center;gap:10px;font-size:.82rem;font-weight:700;line-height:1.08;text-decoration:none}.brand-symbol{background:#07224b30;border:1px solid #ffffff8a;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.brand-symbol svg{fill:none;stroke:#f4f9ff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1px;width:23px;height:23px}.site-tag{color:#d5e6fb;letter-spacing:.06em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.64rem}.listening-path{background:#0a2a5738;border:1px solid #d6e9ff6b;border-radius:14px;justify-content:space-between;gap:24px;margin-top:23px;padding:15px 18px}.listening-path .eyebrow{color:#a9caef;margin-bottom:3px}.listening-path strong{color:#f5f9ff;font-size:.78rem;font-weight:500}.path-options{background:#051d4157;border-radius:9px;flex-wrap:wrap;justify-content:flex-end;gap:5px;padding:4px}.path-options button{color:#bfd7f2;background:0 0;border:1px solid #0000;border-radius:6px;align-items:baseline;gap:7px;padding:8px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.path-options button small{color:#8bb1de;font-family:DM Mono,monospace;font-size:.54rem;font-weight:500}.path-options button.active{color:#17437c;background:#f8fbff;border-color:#d9ecff42;box-shadow:0 1px 4px #071c4147}.path-options button.active small{color:#4776ac}.intro-block{max-width:760px;padding:60px 0 35px}.eyebrow{color:#bdd7f5;letter-spacing:.11em;text-transform:uppercase;margin:0 0 8px;font-family:DM Mono,monospace;font-size:.67rem;font-weight:500;line-height:1.2}h1,h2,p{margin-top:0}h1,h2{letter-spacing:-.04em}h1{color:#fff;margin-bottom:17px;font-family:Newsreader,Georgia,serif;font-size:clamp(2.9rem,6.8vw,6.4rem);font-weight:450;line-height:.86}h2{color:#102954;margin-bottom:0;font-size:1.08rem;font-weight:700;line-height:1.1}.intro-block>p:last-child{color:#d5e6fb;margin-bottom:0;font-size:1rem;line-height:1.6}.module-switcher{border-bottom:1px solid #d6e9ff66;gap:0;margin-bottom:18px}.module-switcher button{color:#bdd7f5;text-align:left;background:0 0;border:0;padding:0 22px 16px 0;font-size:.91rem;font-weight:600;position:relative}.module-switcher button+button{padding-left:26px}.module-switcher button span{color:#93bbea;margin-right:8px;font-family:DM Mono,monospace;font-size:.61rem}.module-switcher button.active{color:#fff}.module-switcher button:disabled{color:#7695ba;cursor:not-allowed;opacity:.48}.module-switcher button:disabled span{color:#7695ba}.module-switcher button.active:after{content:"";background:#fff;border-radius:4px 4px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.module-switcher p{color:#aac9ec;margin:0 0 15px auto;font-size:.72rem}.workspace{grid-template-columns:minmax(280px,.72fr) minmax(500px,1.7fr);gap:18px;display:grid}.control-panel,.response-card,.spectrogram-card,.model-card{background:#f8fbff;border:1px solid #ffffff9e;border-radius:17px;box-shadow:0 18px 40px #0a224c38}.control-panel{padding:23px}.section-title{justify-content:space-between;gap:14px}.section-title .eyebrow,.spectrogram-card .eyebrow,.model-card .eyebrow{color:#5273a5}.live-dot{color:#226345;align-items:center;gap:5px;font-family:DM Mono,monospace;font-size:.62rem;display:inline-flex}.live-dot:before{content:"";background:#36a36f;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #d9f1e3}.panel-intro{color:#587091;margin:18px 0 8px;font-size:.77rem;line-height:1.5}.slider-list{display:grid}.slider-control{color:#244267;border-bottom:1px solid #dce7f3;gap:8px;padding:13px 0;display:grid}.slider-heading{justify-content:space-between;gap:10px;font-size:.76rem;font-weight:700}.slider-heading output{color:#1b4f91;font-family:DM Mono,monospace;font-size:.68rem;font-weight:500}.slider-control input{accent-color:#255290;width:100%;height:4px;margin:0}.slider-limits{color:#89a0bd;justify-content:space-between;font-family:DM Mono,monospace;font-size:.57rem}.formal-experiments,.hrtf-test-cases{background:#edf4fb;border:1px solid #c7d8ec;border-radius:10px;margin-top:16px;padding:14px}.formal-experiments .eyebrow{color:#5273a5;margin-bottom:6px}.formal-experiments h3,.hrtf-test-cases h3{color:#17437c;letter-spacing:-.025em;margin:0 0 6px;font-family:Newsreader,Georgia,serif;font-size:1.02rem;font-weight:650}.formal-experiments>p,.hrtf-test-cases>p{color:#587091;margin-bottom:10px;font-size:.69rem;line-height:1.45}.experiment-list{gap:8px;display:grid}.experiment-case{background:#fff;border:1px solid #d4e0ee;border-radius:8px;grid-template-columns:1fr auto;gap:7px 10px;padding:10px;display:grid}.experiment-case span,.experiment-case small{color:#6a84a4;font-family:DM Mono,monospace;font-size:.54rem;line-height:1.4;display:block}.experiment-case strong{color:#244a7e;margin:1px 0;font-size:.7rem;display:block}.experiment-case button{color:#1e518b;background:#f7fbff;border:1px solid #6d93bf;border-radius:6px;align-self:start;padding:6px 7px;font-size:.58rem;font-weight:700}.experiment-case p{color:#54708f;grid-column:1/-1;margin:0;font-size:.62rem;line-height:1.43}.experiment-case b{color:#315987}.ome-scenario{background:#e9f5f2;border:1px solid #bad9d3;border-radius:10px;margin-top:16px;padding:14px}.ome-scenario .eyebrow{color:#38746c;margin-bottom:6px}.ome-scenario h3{color:#174e49;letter-spacing:-.025em;margin:0 0 7px;font-family:Newsreader,Georgia,serif;font-size:1.02rem;font-weight:650}.ome-scenario p{color:#396963;margin-bottom:8px;font-size:.69rem;line-height:1.48}.ome-scenario .ome-disclaimer{color:#1d5a51;font-weight:700}.ome-scenario .ome-sources{color:#5c817c;margin-bottom:0;font-family:DM Mono,monospace;font-size:.55rem}.advanced-options{border-top:1px solid #cbdced;margin-top:17px}.advanced-options summary{color:#173b70;justify-content:space-between;align-items:center;padding:15px 0 0;font-size:.76rem;font-weight:700;list-style:none;display:flex}.advanced-options summary::-webkit-details-marker{display:none}.advanced-options summary:after{color:#6283af;content:"+";margin-left:8px;font-size:1rem}.advanced-options[open] summary:after{content:"–"}.advanced-options summary small{color:#7791b0;margin-left:auto;margin-right:7px;font-size:.61rem;font-weight:500}.advanced-content{color:#547190;background:#eaf2fb;border-radius:9px;padding:12px;font-size:.7rem;line-height:1.48}.advanced-content p{margin-bottom:12px}.advanced-content dl{gap:7px;margin:0;display:grid}.advanced-content dl div{grid-template-columns:72px 1fr;gap:7px;display:grid}.advanced-content dt{color:#265386;font-family:DM Mono,monospace;font-size:.58rem;font-weight:500}.advanced-content dd{margin:0;font-family:DM Mono,monospace;font-size:.57rem}.analysis-column{gap:18px;min-width:0;display:grid}.response-card{padding:23px}.response-heading{align-items:flex-start}.response-tabs{background:#e6eff9;border-radius:8px;gap:5px;padding:4px}.response-tabs button{color:#617c9f;background:0 0;border:0;border-radius:5px;padding:6px 8px;font-size:.67rem;font-weight:700}.response-tabs button.active{color:#19457e;background:#fff;box-shadow:0 1px 3px #1b4f9129}.tab-stacks{justify-items:end;gap:6px;display:grid}.metric-tabs{background:#f1f5fa}.response-tabs button:disabled{color:#a9b8c9;cursor:not-allowed}.response-plot{min-height:348px;margin-top:20px;position:relative}.response-plot svg{width:100%;height:330px;display:block;overflow:visible}.plot-grid-lines line{stroke:#dce7f3;stroke-width:1px}.plot-axis-line{stroke:#9cb4cf;stroke-width:1.1px}.response-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.25px;vector-effect:non-scaling-stroke}.axis-text{fill:#7890ad;font-family:DM Mono,monospace;font-size:17px}.plot-unit{color:#7890ad;font-family:DM Mono,monospace;font-size:.58rem;position:absolute;top:4px;left:0}.plot-frequency-label{color:#7890ad;font-family:DM Mono,monospace;font-size:.58rem;position:absolute;bottom:0;right:0}.plot-legend{color:#536f91;flex-wrap:wrap;gap:8px 13px;margin:-2px 0 0 46px;font-family:DM Mono,monospace;font-size:.57rem;display:flex}.plot-legend span{align-items:center;gap:5px;display:inline-flex}.plot-legend i{border-radius:3px;width:13px;height:2px;display:inline-block}.plot-placeholder{grid-template-rows:minmax(230px,1fr) 22px;grid-template-columns:44px 1fr;min-height:290px;margin-top:24px;display:grid}.plot-axis{color:#7890ad;font-family:DM Mono,monospace;font-size:.58rem}.plot-axis-y{flex-direction:column;justify-content:space-between;padding:4px 0 19px;display:flex}.plot-grid{color:#6b83a1;text-align:center;background-image:linear-gradient(#e2ecf7 1px,#0000 1px),linear-gradient(90deg,#e2ecf7 1px,#0000 1px);background-size:20% 25%;border-bottom:1px solid #c0d4ea;border-left:1px solid #c0d4ea;align-content:center;justify-items:center;gap:6px;min-height:240px;display:grid}.plot-grid p{color:#345b8d;margin:0;font-size:.85rem;font-weight:700}.plot-grid span{max-width:260px;font-size:.68rem;line-height:1.5}.plot-axis-x{grid-column:2;justify-content:space-between;padding-top:7px}.plot-caption{color:#7289a6;justify-content:space-between;gap:15px;font-size:.66rem}.plot-caption span:last-child{text-align:right}.plot-export-actions{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.plot-export-actions button{color:#285486;cursor:pointer;background:#f7fbff;border:1px solid #aac2dd;border-radius:7px;padding:7px 9px;font-size:.62rem;font-weight:700}.plot-export-actions button:hover{background:#edf5fc;border-color:#4776ac}.compact-response-plot{min-height:270px;margin-top:12px}.compact-response-plot svg{height:250px}.compact-response-plot .plot-legend{margin-left:40px}.plot-zero-line{stroke:#b2c6dd;stroke-dasharray:4 4;stroke-width:1px}.lower-panels{align-items:stretch;gap:18px}.spectrogram-card,.model-card{flex:1;padding:20px}.spectrogram-card h2,.model-card h2{font-size:.97rem}.spectrogram-placeholder{color:#effaff;text-align:center;background:linear-gradient(120deg,#0a2c5d,#2e78a7 45%,#b4e2d1);border-radius:9px;place-items:center;min-height:127px;margin-top:18px;padding:16px;font-size:.69rem;line-height:1.45;display:grid}.spectrogram-canvas-wrap{background:#0a2c5d;border-radius:9px;place-items:center;min-height:127px;margin-top:18px;display:grid;position:relative;overflow:hidden}.spectrogram-canvas-wrap canvas{width:100%;height:127px;image-rendering:pixelated}.spectrogram-canvas-wrap span{color:#e6f4ff;text-align:center;max-width:210px;padding:10px;font-size:.66rem;line-height:1.45;position:absolute}.model-path{justify-content:space-between;gap:8px;margin-top:18px}.model-node{border-radius:9px;flex:1;gap:4px;padding:12px;display:grid}.model-node small{font-family:DM Mono,monospace;font-size:.55rem}.model-node strong{font-size:.76rem}.model-node span{font-size:.62rem;line-height:1.35}.outer-node{color:#285486;background:#e9f1fa;border:1px solid #bdd0e9}.middle-node{color:#226357;background:#e5f3f0;border:1px solid #b5d8d1}.model-path>i{color:#32619b;font-size:1rem;font-style:normal}.binaural-panels{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;display:grid}.binaural-card{background:#f8fbff;border:1px solid #ffffff9e;border-radius:17px;min-width:0;padding:20px;box-shadow:0 18px 40px #0a224c38}.binaural-card .eyebrow{color:#5273a5}.binaural-card h2{font-size:.97rem}.hrir-plot{min-height:209px;margin-top:16px;position:relative}.hrir-plot svg{width:100%;height:190px;display:block;overflow:visible}.hrir-plot .plot-legend{margin:-2px 0 0 40px}.cue-summary{grid-column:1/-1;grid-template-columns:.8fr 1.2fr;column-gap:28px;display:grid}.cue-summary .eyebrow,.cue-summary h2{grid-column:1/-1}.cue-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 0;display:grid}.cue-summary dl div{background:#eff5fb;border:1px solid #d5e3f1;border-radius:8px;padding:10px}.cue-summary dt{color:#5b7799;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.55rem}.cue-summary dd{color:#244e82;margin:4px 0 0;font-family:DM Mono,monospace;font-size:.77rem;font-weight:500}.cue-summary>p{color:#56718f;align-self:end;margin:16px 0 0;font-size:.7rem;line-height:1.5}.audio-dock{background:#12396e;border:1px solid #dbedff6b;border-radius:15px;justify-content:space-between;gap:22px;margin-top:18px;padding:18px 21px;box-shadow:0 14px 30px #091d4033}.audio-dock .eyebrow{color:#9ebee5;margin-bottom:5px}.audio-dock strong{color:#f4f8ff;font-size:.8rem;font-weight:500}.audio-buttons{flex-wrap:wrap;justify-content:flex-end;gap:7px}.audio-buttons button,.upload-button{color:#d7e6f8;cursor:pointer;background:0 0;border:1px solid #5c7fae;border-radius:7px;padding:7px 9px;font-size:.66rem;font-weight:700}.audio-buttons button:disabled{opacity:.52;cursor:not-allowed}.upload-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.audio-buttons .play-button{color:#e8fff9;background:#29776c;border-color:#a2d6ce}.audio-buttons .stop-button{border-color:#83a3c9}@media (width<=930px){.workspace{grid-template-columns:1fr}.control-panel{grid-template-columns:1fr 1.6fr;gap:0 24px;display:grid}.control-panel .section-title,.control-panel .panel-intro,.advanced-options{grid-column:1}.slider-list{grid-area:1/2/span 3}}@media (width<=680px){.app-shell{width:min(100% - 28px,1420px);padding-top:18px}.topbar-tabs{flex-wrap:wrap;justify-content:flex-end}.topbar-tab{padding:7px 8px;font-size:.62rem}.intro-block{padding:57px 0 30px}.listening-path{flex-direction:column;align-items:flex-start;gap:12px}.path-options{justify-content:flex-start}h1{font-size:clamp(3rem,16vw,5rem)}.module-switcher{flex-wrap:wrap;align-items:flex-start}.module-switcher p{order:3;width:100%;margin:0 0 14px}.workspace{gap:14px}.control-panel{display:block}.slider-list{display:grid}.lower-panels{flex-direction:column;gap:14px}.binaural-panels{grid-template-columns:1fr;gap:14px}.cue-summary{grid-column:auto;grid-template-columns:1fr}.audio-dock{flex-direction:column;align-items:flex-start}.audio-buttons{justify-content:flex-start}.response-heading{flex-direction:column;align-items:flex-start}.tab-stacks{justify-items:start}.response-plot{min-height:315px;margin-top:15px}.response-plot svg{height:292px}.plot-legend{margin-left:38px}.plot-placeholder{grid-template-columns:38px 1fr}.plot-grid p{max-width:190px}}
