:root {
  color-scheme: dark;
  --bg:#0b0e12; --panel:#12171d; --panel2:#171d24; --line:#2b343d;
  --text:#e9edf0; --muted:#8f9aa5; --cyan:#45d6c8; --cyan2:#93fff4;
  --amber:#ffbf69; --red:#ff6b6b; --blue:#6ca8ff; --purple:#b69cff;
  --shadow:0 14px 42px rgba(0,0,0,.22);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 70% -10%,#14212a 0,transparent 36rem),var(--bg);color:var(--text);font-size:14px}
button,input,select{font:inherit;color:inherit}
button,select,input[type=number]{border:1px solid var(--line);background:#0f1419;border-radius:6px}
button{padding:.58rem .82rem;cursor:pointer}button:hover{border-color:#52606c}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.quiet{background:transparent}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.6rem;border-bottom:1px solid var(--line)}
h1,h2,p{margin:0}h1{font-size:clamp(1.45rem,2vw,2rem);font-weight:500;letter-spacing:-.035em}h2{font-size:1rem;font-weight:500}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--cyan);font-size:.69rem;margin-bottom:.28rem}.top-actions{display:flex;align-items:end;gap:.55rem;flex-wrap:wrap}.top-actions label{display:grid;gap:.28rem;color:var(--muted);font-size:.72rem}.top-actions select{padding:.55rem 2rem .55rem .65rem}
.title-with-info{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.info-tip{position:relative;display:inline-flex;flex:none}.info-button{display:grid;place-items:center;width:19px;height:19px;padding:0;border-radius:50%;background:transparent;color:var(--muted);font:500 12px/1 Georgia,serif}.info-button:hover,.info-button:focus{color:var(--text);border-color:var(--muted)}.info-tooltip{position:absolute;z-index:20;top:calc(100% + .5rem);left:0;width:min(310px,78vw);padding:.7rem .8rem;border:1px solid var(--line);border-radius:6px;background:var(--panel2);box-shadow:var(--shadow);color:var(--text);font:400 .76rem/1.45 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:normal;text-transform:none;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease,visibility .12s;pointer-events:none}.info-tip:hover .info-tooltip,.info-button:focus+.info-tooltip,.info-button:focus-visible+.info-tooltip{opacity:1;visibility:visible;transform:translateY(0)}
.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);max-width:1600px;margin:auto}.controls{border-right:1px solid var(--line);padding:1.1rem;min-width:0}.controls section{padding:0 0 1.25rem;margin-bottom:1.2rem;border-bottom:1px solid var(--line)}.controls h2{margin-bottom:.8rem}.workspace{padding:1.1rem;min-width:0}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:.9rem}.segmented button{border-radius:0;margin-left:-1px;padding:.48rem .2rem}.segmented button:first-child{border-radius:6px 0 0 6px}.segmented button:last-child{border-radius:0 6px 6px 0}.segmented .active{background:var(--cyan);color:#07110f;border-color:var(--cyan)}
.control-row{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:.55rem;margin:.55rem 0}.control-row label{color:var(--muted)}select{width:100%;padding:.43rem .5rem}.param{margin:.72rem 0}.param-head{display:grid;grid-template-columns:1fr 4.7rem;gap:.5rem;align-items:center;margin-bottom:.26rem}.param label{color:var(--muted);line-height:1.15}.param input[type=number]{width:100%;padding:.32rem .38rem;text-align:right;font-variant-numeric:tabular-nums}.param input[type=range]{display:block;width:100%;accent-color:var(--cyan)}.unit{color:var(--muted);font-size:.72rem}.check{display:flex;gap:.5rem;align-items:center;margin:.72rem 0;color:var(--muted)}.check input{accent-color:var(--cyan)}.subcontrols{padding-left:.55rem;border-left:2px solid var(--line)}.microcopy{color:var(--muted);font-size:.72rem;line-height:1.4;margin-top:.65rem}
.headline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:linear-gradient(120deg,rgba(69,214,200,.06),transparent 40%),var(--panel);box-shadow:var(--shadow)}.headline div{padding:.85rem 1rem;border-right:1px solid var(--line);min-width:0}.headline div:last-child{border:0}.headline span{display:block;color:var(--muted);font-size:.72rem;margin-bottom:.25rem}.headline strong{font-size:.96rem;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.status{min-height:2.2rem;padding:.65rem .1rem;color:var(--muted)}.status.warn{color:var(--amber)}
.geometry-panel,.sweep-panel{border-top:1px solid var(--line);padding-top:1rem}.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.frequency-control{width:min(360px,52%)}.frequency-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;color:var(--muted);font-size:.75rem}.frequency-header>label:first-child{display:flex;justify-content:space-between;gap:.75rem;flex:1}.frequency-header .auto-toggle{display:inline-flex;align-items:center;gap:.35rem;color:var(--text);white-space:nowrap}.frequency-header .auto-toggle input{width:auto;accent-color:var(--cyan)}.frequency-control output{color:var(--text)}.frequency-control>input[type=range]{width:100%;accent-color:var(--cyan)}.frequency-control>input[type=range]:disabled{opacity:.42;cursor:not-allowed}.views{display:grid;grid-template-columns:1.08fr .92fr;gap:1rem}.views figure,.plots figure{margin:0;min-width:0}.views canvas{width:100%;height:360px;display:block;background:var(--panel);border:1px solid var(--line)}figcaption{color:var(--muted);font-size:.7rem;padding-top:.35rem}
.plots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin:1.6rem 0}.plots figure{border-top:1px solid var(--line);padding-top:.75rem}.plots .plot-wide{grid-column:1/-1}.plots canvas{width:100%;height:235px;display:block}.plots .plot-wide canvas{height:300px}.plot-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem}.plot-title span{color:var(--muted);font-size:.72rem}
.sweep-panel{margin-top:1rem}.sweep-controls{display:grid;grid-template-columns:1.5fr .7fr .7fr 1.5fr .7fr .7fr;gap:.65rem}.sweep-controls label{display:grid;gap:.3rem;color:var(--muted);font-size:.72rem}.sweep-controls input{padding:.45rem;width:100%}.sweep-results{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:1rem;margin-top:.9rem}.sweep-results canvas{width:100%;height:340px;background:var(--panel);border:1px solid var(--line)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:.55rem;border-bottom:1px solid var(--line);font-size:.76rem}th{color:var(--muted);font-weight:400}tbody tr{cursor:pointer}tbody tr:hover{background:var(--panel2)}footer{padding:2rem;text-align:center;color:var(--muted);font-size:.72rem}
@media(max-width:1000px){.app-shell{grid-template-columns:250px minmax(0,1fr)}.headline{grid-template-columns:repeat(3,1fr)}.headline div:nth-child(3){border-right:0}.headline div:nth-child(n+4){border-top:1px solid var(--line)}.views{grid-template-columns:1fr}.sweep-controls{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column}.app-shell{display:block}.controls{border-right:0;border-bottom:1px solid var(--line)}.headline{grid-template-columns:1fr 1fr}.headline div:nth-child(odd){border-right:1px solid var(--line)}.headline div:nth-child(even){border-right:0}.views canvas{height:300px}.plots{grid-template-columns:1fr}.plots .plot-wide{grid-column:auto}.sweep-results{grid-template-columns:1fr}.sweep-controls{grid-template-columns:repeat(2,1fr)}}
.desk-brand{min-width:0;display:flex;align-items:center;gap:12px}.brand-icon{width:44px;height:44px;display:block;flex:0 0 auto;border-radius:10px;box-shadow:0 5px 16px rgba(0,0,0,.22)}
@media(prefers-color-scheme:light){:root{color-scheme:light;--bg:#f4f6f7;--panel:#fff;--panel2:#eef2f3;--line:#d4dde0;--text:#162026;--muted:#64727a;--cyan:#087f78;--cyan2:#075f59;--amber:#9c5b00;--red:#ba3131;--blue:#2868be;--purple:#6d4fc1;--shadow:0 12px 34px rgba(20,40,50,.08)}button,select,input[type=number]{background:#fff}body{background:radial-gradient(circle at 70% -10%,#dceeed 0,transparent 35rem),var(--bg)}.segmented .active{color:#fff}}
