:root{color-scheme:dark;--bg:#080d19;--surface:#121a2d;--panel:#0e1627;--border:rgba(255,255,255,.12);--text:#f6f7fb;--muted:#9ca9bf;--red:#ff5c7a;--green:#44d5bc;--yellow:#ffcd5c;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:300px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 80% 0,rgba(68,213,188,.12),transparent 28rem),var(--bg)}button,input,select{font:inherit}button,input,select{border:1px solid var(--border);border-radius:.65rem;color:var(--text);background:rgba(255,255,255,.055)}button{padding:.58rem .78rem;cursor:pointer;font-weight:750}button:hover{background:rgba(255,255,255,.11)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7c8cff;outline-offset:2px}h1,h2,h3,p{margin:0}.eyebrow{color:var(--green);font-size:.65rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.topbar{display:flex;min-height:5rem;padding:.8rem 1.25rem;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:rgba(8,13,25,.86)}main{display:grid;min-height:calc(100vh - 5rem);grid-template-columns:21rem minmax(0,1fr)}#controls{max-height:calc(100vh - 5rem);padding:1rem;overflow:auto;border-right:1px solid var(--border);background:var(--panel)}.panel-head,.range-head,.actions,.metrics,.legend{display:flex;align-items:center;justify-content:space-between;gap:.65rem}#controls>label,#controls section,.parameter{display:grid;margin-top:.8rem;gap:.4rem;color:var(--muted);font-size:.72rem}select,input[type=number]{width:100%;min-height:2.4rem;padding:.4rem .55rem}.parameter{padding:.7rem;border:1px solid var(--border);border-radius:.8rem}.range-head output{color:var(--green);font-weight:800}.range-inputs{display:grid;grid-template-columns:1fr 5.2rem;gap:.55rem}input[type=range]{width:100%;accent-color:var(--green)}.two,.checks{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.two label{display:grid;gap:.3rem}.check,.checks label{display:flex!important;align-items:center;gap:.4rem}.actions{margin-top:.8rem}.actions button{flex:1}.primary{color:#04120e;background:linear-gradient(135deg,var(--green),#7cf0d4)}.workspace{display:grid;min-width:0;padding:1rem;grid-template-rows:auto minmax(18rem,1fr) auto;gap:1rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.metrics article{padding:.8rem 1rem;border:1px solid var(--border);border-radius:.85rem;background:var(--surface)}.metrics span,.metrics small{display:block;color:var(--muted);font-size:.68rem}.metrics strong{display:block;margin:.2rem 0;font-size:1.2rem}.metrics sub{font-size:.65em}.signal-card strong{color:var(--yellow)}#nyquistCard strong{color:var(--green)}.metrics article.warning{border-color:rgba(255,92,122,.55);background:rgba(255,92,122,.09)}.metrics article.warning strong{color:var(--red)}.canvas-wrap{position:relative;min-height:18rem;overflow:hidden;border:1px solid var(--border);border-radius:1rem;background:#0b1020}canvas{display:block;width:100%;height:100%}.legend{color:var(--muted);font-size:.7rem;justify-content:flex-start;flex-wrap:wrap}.legend span:before{display:inline-block;width:.65rem;height:.65rem;margin-right:.3rem;border-radius:50%;content:""}.original:before{background:var(--red)}.digital:before{background:var(--green)}.error:before{background:var(--yellow)}#status{margin-left:auto}.mobile-toggle{display:none}.backdrop{position:fixed;z-index:30;inset:0;background:rgba(0,0,0,.55)}@media(min-width:48.0625rem){body{height:100vh;overflow:hidden}.topbar{height:4.25rem;min-height:4.25rem}main{height:calc(100vh - 4.25rem);min-height:0}#controls{height:100%;max-height:100%;padding:.75rem}.workspace{height:100%;min-height:0;padding:.75rem;grid-template-rows:auto minmax(0,1fr) auto;gap:.75rem}.metrics article{padding:.65rem .8rem}.canvas-wrap{min-height:0}}@media(max-width:48rem){.mobile-toggle{display:block}main{display:block}#controls{position:fixed;z-index:40;top:0;bottom:0;left:0;width:min(90vw,22rem);max-height:none;transform:translateX(-105%);transition:transform .2s}#controls.open{transform:none}.workspace{min-height:calc(100vh - 5rem)}.metrics{grid-template-columns:1fr}.canvas-wrap{min-height:48vh}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
