app-root{display:block;min-height:100vh;color:#d7ecff;background:radial-gradient(circle at 12% 8%,rgba(0,170,255,.18),transparent 28%),radial-gradient(circle at 84% 22%,rgba(13,255,188,.12),transparent 30%),linear-gradient(145deg,#060710,#0a1021 52%,#0a0d18);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}app-root *{box-sizing:border-box}app-root .sdr-shell{width:min(1400px,100%);margin:0 auto;padding:1.25rem;min-height:100vh}app-root .topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}app-root .topbar .eyebrow{margin:0;color:#89afd4;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}app-root .topbar h1{margin:.35rem 0 0;font-weight:700;letter-spacing:.01em;font-size:clamp(1.4rem,2vw,2rem)}app-root .status-pill{border:1px solid rgba(0,255,204,.35);border-radius:999px;padding:.45rem .85rem;font-size:.8rem;font-family:Consolas,Courier New,monospace;letter-spacing:.06em;color:#58f8ca;background:#061e1b73}app-root .status-pill.offline{border-color:#ff85638c;color:#ffb8a0;background:#2b0e0a80}app-root .layout-grid{display:grid;grid-template-columns:320px minmax(0,1fr) 300px;gap:1rem}app-root .panel{border:1px solid rgba(89,144,214,.25);border-radius:18px;background:linear-gradient(180deg,#0e1425eb,#080c18eb);box-shadow:0 8px 28px #00000059}app-root .controls,app-root .demodulators{padding:1rem}app-root .controls h2,app-root .demodulators h2{margin:0 0 1rem;font-size:1.02rem;font-weight:600;color:#ecf6ff}app-root .control-group{margin-bottom:1rem}app-root .control-group label{display:block;margin-bottom:.45rem;font-size:.82rem;color:#94b7da;letter-spacing:.04em}app-root .control-group input[type=number]{width:100%;background:#060e1d;color:#e9f4ff;border:1px solid #244768;border-radius:10px;font-family:Consolas,Courier New,monospace;padding:.55rem .65rem;font-size:.95rem}app-root .control-group input[type=range]{width:100%;accent-color:#35d6ff}app-root .value-readout{display:inline-block;margin-top:.35rem;font-size:.8rem;color:#b8d5f1}app-root .two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}app-root .step-row{margin-top:.55rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}app-root .step-row button{border-radius:8px;border:1px solid #2b567b;background:#0a1830;color:#c7e8ff;padding:.48rem;cursor:pointer;font-size:.78rem}app-root .mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}app-root .mode-button{border:1px solid #2b567b;background:#0c1a31;color:#9ec7ea;border-radius:8px;padding:.5rem .25rem;font-family:Consolas,Courier New,monospace;font-size:.78rem;cursor:pointer}app-root .mode-button.active{color:#07131f;border-color:#4bffd6;background:linear-gradient(90deg,#4bffd6,#41ddff);font-weight:600}app-root .display{padding:.75rem;display:flex;flex-direction:column;gap:.75rem}app-root .readout-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}app-root .digital-readout{font-family:Consolas,Courier New,monospace;font-size:clamp(1rem,1.5vw,1.3rem);color:#73ffbf}app-root .capture-readout{font-size:.82rem;color:#99c0e8}app-root .spectrum-wrap,app-root .waterfall-wrap{position:relative;border-radius:12px;border:1px solid rgba(79,135,203,.3);overflow:hidden;background:#04050b}app-root .spectrum-wrap canvas,app-root .waterfall-wrap canvas{display:block;width:100%;height:100%}app-root .spectrum-wrap{height:210px;cursor:crosshair}app-root .waterfall-wrap{height:calc(100% - 250px);min-height:260px}app-root .bandwidth-marker{position:absolute;top:0;bottom:0;border-inline:2px solid rgba(255,183,87,.95);background:#ffa62924;display:flex;align-items:center;justify-content:space-between;cursor:grab;pointer-events:auto;touch-action:none}app-root .bandwidth-marker.dragging{cursor:grabbing}app-root .marker-grip{flex:1;height:100%;background:linear-gradient(90deg,transparent 0,transparent calc(50% - 1px),rgba(255,223,164,.5) calc(50% - 1px),rgba(255,223,164,.5) calc(50% + 1px),transparent calc(50% + 1px),transparent 100%);pointer-events:none}app-root .marker-handle{align-self:stretch;width:12px;border:0;padding:0;background:#ffc870d9;box-shadow:inset 0 0 0 1px #4c220080;cursor:ew-resize}app-root .marker-handle:hover{background:#ffd991f2}app-root .demod-card{border:1px solid #234569;background:#09152a;border-radius:12px;padding:.7rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem}app-root .demod-card h3{margin:0;font-size:.92rem;color:#ddf0ff}app-root .demod-card p{margin:.25rem 0 0;font-size:.72rem;color:#8fb2d4;text-transform:uppercase;letter-spacing:.06em}app-root .demod-card button{border:1px solid #2a5e89;border-radius:8px;background:#0b203f;color:#bde3ff;font-size:.77rem;padding:.4rem .6rem;cursor:pointer}app-root .demod-card.active{border-color:#36ffb599;box-shadow:inset 0 0 0 1px #36ffb540}app-root .hint{margin:.8rem 0 0;font-size:.78rem;color:#7da3c8;line-height:1.35}@media (max-width: 1180px){app-root .layout-grid{grid-template-columns:1fr}app-root .waterfall-wrap{min-height:220px;height:260px}}
