@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";:root{color:#edf5ff;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#edf5ff;--muted:#8295b3;--dim:#536784;--cyan:#56dcff;--cyan-soft:#9aeaff;--violet:#936bff;--stellar:#ead9ff;--line:#6997cb38;--line-bright:#5bcdff6b;--success:#69efbd;--danger:#ff9caa;background:#020611;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html{background:#020611;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 72% -10%,#226eb440 0,#0000 34rem),radial-gradient(circle at 10% 35%,#532fad21 0,#0000 30rem),linear-gradient(#030915 0%,#020611 65%,#030712 100%);min-width:320px;min-height:100vh;margin:0;position:relative}body:before{z-index:-1;content:"";opacity:.56;pointer-events:none;background-image:radial-gradient(circle at 12% 14%,#fffc 0 1px,#0000 1.5px),radial-gradient(circle at 39% 7%,#6edcffbf 0 1px,#0000 1.5px),radial-gradient(circle at 77% 19%,#ffffffa6 0 1px,#0000 1.5px),radial-gradient(circle at 92% 8%,#bea6ffb3 0 1px,#0000 1.5px);background-size:260px 190px,330px 230px,420px 270px,510px 310px;position:fixed;inset:0}button,input,select{font:inherit}.app-shell{width:min(1320px,100% - 40px);margin:0 auto;padding:34px 0 64px}.app-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:25px;display:flex}.brand-mark,.eyebrow{color:var(--cyan);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font:500 .68rem/1 IBM Plex Mono,monospace}h1{letter-spacing:-.06em;text-shadow:0 0 34px #76d1ff1f;margin:0;font-size:clamp(2.4rem,5vw,4.6rem);line-height:.98}.subtitle{max-width:590px;color:var(--muted);margin:16px 0 0;font-size:.96rem}.build-badge{border:1px solid var(--line);color:#9eb4d1;white-space:nowrap;background:#050f238c;border-radius:999px;padding:9px 13px;font:.66rem IBM Plex Mono,monospace}.view-tabs{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.view-tabs [role=tablist]{gap:4px;display:flex}.view-tabs [role=tab]{color:#7186a6;min-width:176px;min-height:0;box-shadow:none;text-align:left;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:9px 9px 0 0;gap:4px;padding:12px 18px 13px;display:grid}.view-tabs [role=tab] span{font-size:.84rem}.view-tabs [role=tab] small{font:.6rem IBM Plex Mono,monospace}.view-tabs [role=tab][aria-selected=true]{color:var(--ink);border-color:var(--line);box-shadow:inset 0 -2px var(--cyan), 0 0 24px #3ab7ff12;background:linear-gradient(#102748e0,#051228d6)}.view-tabs [role=tab]:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.view-tabs>p{color:#607795;letter-spacing:.04em;margin:0;font:.63rem IBM Plex Mono,monospace}[role=tabpanel][hidden]{display:none}#diagnostics-view .diagnostics-panel{margin-top:0}.control-panel,.graphics-panel,.diagnostics-panel,.capabilities-panel,.help-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(145deg,#081732ed,#030c1eeb);border-radius:13px;box-shadow:0 20px 60px #00000042,inset 0 1px #b8e0ff06}.control-panel,.diagnostics-panel,.capabilities-panel,.help-panel{padding:22px}.graphics-panel{margin-top:16px;padding:22px 22px 17px}.diagnostics-panel,.capabilities-panel,.help-panel,.rds-panel{margin-top:16px}.panel-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-heading h2,.help-panel h2{letter-spacing:-.025em;margin:0;font-size:1.08rem}.status-pill{text-transform:uppercase;letter-spacing:.09em;border:1px solid #0000;border-radius:999px;padding:6px 9px;font:500 .61rem IBM Plex Mono,monospace}.status-idle,.status-checking{color:#9aabc3;background:#5e74941f;border-color:#8297b529}.status-ready,.status-running{color:var(--success);background:#1877592b;border-color:#69efbd33}.status-requesting-permission,.status-starting,.status-tuning,.status-stopping{color:var(--cyan-soft);background:#206b9d2e;border-color:#56dcff33}.status-unsupported,.status-error{color:var(--danger);background:#8e30462e;border-color:#ff9caa33}.controls-grid{grid-template-columns:1.3fr 1fr auto;align-items:end;gap:14px;margin-top:20px;display:grid}.receiver-controls{grid-template-columns:1fr 1.12fr auto .9fr auto;align-items:start}.receiver-controls>.tune-button,.receiver-controls>.transport{margin-top:24px}.channel-controls{border-top:1px solid var(--line);grid-template-columns:.75fr 1.15fr 1fr auto 1.2fr;align-items:end;gap:14px;margin-top:17px;padding-top:17px;display:grid}.channel-controls input[type=range]{min-height:32px;accent-color:var(--cyan);padding:0}.readout{min-height:66px;color:var(--muted);gap:9px;font-size:.76rem;display:grid}.readout strong{color:#dbeaff;font:.7rem IBM Plex Mono,monospace}.gain-control{gap:9px;display:grid}.gain-control>label>span{justify-content:space-between;display:flex}label{color:#98abc6;gap:7px;font-size:.75rem;display:grid}label small{color:var(--dim);font-size:.66rem}select,input{color:#edf6ff;background:#030c1dd1;border:1px solid #6a97c74d;border-radius:8px;outline:0;width:100%;min-height:44px;padding:0 12px}select:hover,input:hover{border-color:#6abfeb7a}select:focus,input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #43c9ff1c,0 0 22px #43c9ff12}.unit-input{background:#030c1dd1;border:1px solid #6a97c74d;border-radius:8px;align-items:center;min-height:44px;display:flex;overflow:hidden}.unit-input:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px #43c9ff1c}.unit-input input{border:0;border-radius:0;min-height:42px;font:500 .9rem IBM Plex Mono,monospace}.unit-input input:focus{box-shadow:none}.unit-input span{color:var(--cyan);padding:0 12px;font:.7rem IBM Plex Mono,monospace}.transport{gap:7px;display:flex}button{color:#00131d;background:linear-gradient(135deg,#74e7ff,#56d8ff 52%,#6de9d0);border:1px solid #5bddff61;border-radius:8px;min-height:44px;padding:0 21px;font-weight:700;box-shadow:0 8px 24px #32c1ed1f}button:not(:disabled){cursor:pointer}button:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0)}button.secondary{color:#b5c5db;border-color:var(--line);box-shadow:none;background:#132642b8}.tune-button{padding:0 15px}button:disabled{opacity:.38;cursor:not-allowed}.receiver-status{border-top:1px solid var(--line);gap:12px;margin-top:20px;padding-top:17px;display:flex}.status-light{background:#63728a;border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px;box-shadow:0 0 0 4px #63728a1c}.receiver-status-running .status-light{background:var(--success);box-shadow:0 0 0 4px #69efbd1a,0 0 14px #69efbd7a}.receiver-status-error .status-light{background:var(--danger);box-shadow:0 0 0 4px #ff9caa1a,0 0 14px #ff9caa59}.receiver-status strong{font-size:.82rem}.receiver-status p{color:#7085a2;margin:4px 0 0;font-size:.73rem;line-height:1.5}.canvas-frame{border:1px solid var(--line-bright);background:#020719;border-radius:9px;margin-top:18px;position:relative;overflow:hidden;box-shadow:inset 0 0 50px #1e58aa21,0 0 34px #287cd50f}canvas{cursor:crosshair;width:100%;height:min(52vw,540px);min-height:340px;display:block}.display-controls{grid-template-columns:auto 1fr 1fr;align-items:end;gap:16px;margin-top:16px;display:grid}.display-controls label{grid-template-columns:1fr auto}.display-controls input{min-height:28px;accent-color:var(--violet);grid-column:1/-1;padding:0}.display-controls output{margin:0}.plot-label,.paused-label{z-index:1;color:#b6dbffb8;pointer-events:none;background:#020819c7;border:1px solid #62a6e133;border-radius:5px;padding:4px 7px;font:.57rem IBM Plex Mono,monospace;position:absolute}.spectrum-label{top:10px;left:10px}.waterfall-label{top:39%;left:10px}.paused-label{color:var(--stellar);font-size:.64rem;top:50%;left:50%;transform:translate(-50%,-50%)}.frequency-rule{color:#a7cbef8c;pointer-events:none;justify-content:space-between;font:.59rem IBM Plex Mono,monospace;display:flex;position:absolute;bottom:10px;left:14px;right:14px}.marker-label{color:var(--stellar);pointer-events:none;background:#22124fc7;border:1px solid #a983ff59;border-radius:5px;padding:4px 7px;font:.57rem IBM Plex Mono,monospace;position:absolute;top:10px;left:50%;transform:translate(-50%)}.diagnostic-message{color:#91a7c2;margin:13px 0 0;font-size:.74rem}.retry-graphics{min-height:36px;margin-top:4px;padding:0 14px;font-size:.72rem}.display-note{color:#526987;margin:7px 0 0;font-size:.67rem;line-height:1.5}.diagnostics-grid{border:1px solid var(--line);background:var(--line);border-radius:9px;grid-template-columns:repeat(3,1fr);gap:1px;margin:19px 0 0;display:grid;overflow:hidden}.diagnostics-grid div{background:#030c1de6;min-width:0;padding:13px 14px}.diagnostics-grid dt,.rds-grid dt{color:#6f85a3;font-size:.64rem}.diagnostics-grid dd{overflow-wrap:anywhere;color:#dceaff;margin:5px 0 0;font:.68rem/1.45 IBM Plex Mono,monospace}.capability-list{grid-template-columns:repeat(3,1fr);gap:10px;margin:19px 0 0;padding:0;list-style:none;display:grid}.capability-list li{border:1px solid var(--line);background:#030c1db8;border-radius:9px;gap:10px;padding:13px;display:flex}.capability-list strong,.capability-list small{display:block}.capability-list strong{font-size:.76rem}.capability-list small{color:#7388a5;margin-top:4px;font-size:.66rem}.check{border-radius:50%;flex:none;place-items:center;width:21px;height:21px;font:700 .68rem IBM Plex Mono,monospace;display:grid}.check.yes{color:var(--success);background:#20846333;box-shadow:0 0 12px #69efbd1a}.check.no{color:var(--danger);background:#93304833}.volume-slider{min-height:44px;accent-color:var(--cyan);padding:0}label:has(>output){grid-template-columns:minmax(0,1fr) auto}:is(label:has(>output)>input,label:has(>output)>small){grid-column:1/-1}label output{color:var(--cyan);justify-self:end;margin:0;font:.68rem IBM Plex Mono,monospace}.help-panel>p:not(.eyebrow),.control-panel>p{color:#8296b1;max-width:920px;margin:12px 0 0;font-size:.76rem;line-height:1.65}.system-troubleshooting{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.system-troubleshooting article{border:1px solid var(--line);background:#030c1db8;border-radius:9px;min-width:0;padding:14px}.system-troubleshooting h3{color:#dceaff;margin:0;font-size:.78rem}.system-troubleshooting p{color:#7388a5;margin:8px 0 0;font-size:.68rem;line-height:1.55}.system-troubleshooting code{color:var(--cyan-soft);white-space:nowrap;background:#071930eb;border:1px solid #56dcff38;border-radius:6px;margin-top:10px;padding:9px 10px;font:.66rem IBM Plex Mono,monospace;display:block;overflow-x:auto}.system-troubleshooting small{color:#566d8c;margin-top:8px;font-size:.61rem;line-height:1.45;display:block}.help-links{flex-wrap:wrap;gap:17px;margin-top:15px;display:flex}.help-links a{color:var(--cyan);text-underline-offset:3px;font-size:.72rem}.recording-controls,.replay-inputs{flex-wrap:wrap;align-items:end;gap:.75rem;margin-top:1rem;display:flex}.recording-controls span{color:var(--muted);font:.68rem IBM Plex Mono,monospace}.file-picker{min-width:min(100%,17rem)}.file-picker-control{background:linear-gradient(#051127f0,#030b1cf0);border:1px solid #6a97c74d;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:44px;transition:border-color .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden}.file-picker-control:hover{border-color:#56dcff8f}.file-picker-control:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px #43c9ff1c,0 0 22px #43c9ff12}.file-picker-input{z-index:2;opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.file-picker-button{min-width:96px;color:var(--cyan-soft);background:linear-gradient(135deg,#14395bf5,#0e2448f5);border-right:1px solid #56dcff47;align-self:stretch;place-items:center;font:500 .64rem IBM Plex Mono,monospace;display:grid}.file-picker-control:hover .file-picker-button{color:#f0fbff;background:linear-gradient(135deg,#194b74fa,#142e58fa)}.file-picker-name{color:#7186a6;text-overflow:ellipsis;white-space:nowrap;padding:0 12px;font:.64rem IBM Plex Mono,monospace;overflow:hidden}.file-message{color:var(--muted);margin:.9rem 0 0}.rds-empty{color:var(--muted);margin:22px 0 0}.rds-grid{border:1px solid var(--line);background:var(--line);border-radius:9px;grid-template-columns:.7fr 1fr 2fr;gap:1px;margin:22px 0 0;display:grid;overflow:hidden}.rds-grid div{background:#030c1de6;min-width:0;padding:14px}.rds-grid dd{overflow-wrap:anywhere;color:#e1efff;margin:6px 0 0;font:.76rem/1.5 IBM Plex Mono,monospace}@media (width<=980px){.receiver-controls{grid-template-columns:1fr 1fr auto}.receiver-controls .transport{grid-column:span 2}.channel-controls{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.app-shell{width:min(100% - 24px,1320px);padding-top:28px}.app-header{display:block}.build-badge{margin-top:22px;display:inline-block}.controls-grid,.receiver-controls,.channel-controls,.diagnostics-grid,.capability-list,.display-controls,.system-troubleshooting{grid-template-columns:1fr}.receiver-controls .transport{grid-column:auto}.receiver-controls>.tune-button,.receiver-controls>.transport{margin-top:0}.transport button{flex:1}.view-tabs{align-items:stretch}.view-tabs [role=tablist]{width:100%}.view-tabs [role=tab]{flex:1;min-width:0;padding-inline:12px}.view-tabs>p{display:none}.rds-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){button{transition:none}}
