.rf-studio{--rf-panel:#f6f3ea;--rf-blue:#3974c4;--rf-red:#df5d47;--rf-purple:#7651a8;display:grid;gap:18px}
.rf-studio-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--rf-panel)}
.rf-studio-tool{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:800;cursor:grab}.rf-studio-tool:hover,.rf-studio-tool.active{border-color:var(--ink);background:#eef5ef}.rf-studio-tool b{font-family:var(--font-serif);font-size:18px}.rf-studio-tool.utility{cursor:pointer;background:#fff}.rf-studio-tool:disabled{opacity:.45;cursor:not-allowed}
.rf-studio-workspace{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;align-items:stretch}
.rf-canvas-wrap{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.rf-canvas-wrap.wiring{cursor:crosshair}.rf-canvas{display:block;width:100%;height:auto;min-height:480px;touch-action:none;user-select:none}.rf-grid-dot{fill:#dce3dd}.rf-wire{fill:none;stroke:#294c43;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;pointer-events:stroke;cursor:pointer}.rf-wire.selected{stroke:var(--rf-red);stroke-width:6}.rf-component{cursor:move}.rf-component .body{fill:#fff;stroke:#183b32;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.rf-component .accent{fill:none;stroke:var(--rf-purple);stroke-width:3}.rf-component.selected .select-box{display:block}.rf-component .select-box{display:none;fill:rgba(223,93,71,.08);stroke:var(--rf-red);stroke-width:2;stroke-dasharray:5 4}.rf-terminal{fill:#fff;stroke:#183b32;stroke-width:3;cursor:crosshair}.rf-terminal:hover,.rf-terminal.wire-start{fill:#f6cf55;stroke:#9b7722}.rf-junction{fill:#183b32}.rf-label{fill:#183b32;font:800 13px var(--font-sans);pointer-events:none}.rf-value-label{fill:#61716b;font:700 11px var(--font-sans);pointer-events:none}.rf-canvas-help{position:absolute;left:12px;bottom:10px;margin:0;padding:7px 10px;border-radius:7px;background:rgba(255,255,255,.92);color:var(--muted);font-size:11px;box-shadow:0 2px 8px rgba(24,59,50,.08)}
.rf-inspector{padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--rf-panel)}.rf-inspector h3{margin:0 0 4px;font-family:var(--font-serif);font-size:21px}.rf-inspector-intro{margin:0 0 17px;color:var(--muted);font-size:11px;line-height:1.5}.rf-inspector-fields{display:grid;gap:12px}.rf-inspector .field span{font-size:10px}.rf-inspector-actions{display:flex;gap:7px;margin-top:15px}.rf-inspector-actions button{flex:1}.rf-danger{background:#f7ded9!important;color:#8b2e21!important}
.rf-studio-status{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:9px;background:#edf5ef;color:#315b4e;font-size:12px;line-height:1.55}.rf-studio-status:before{content:'✓';font-weight:900}.rf-studio-status.error{background:#fde9e5;color:#8d3327}.rf-studio-status.error:before{content:'!'}.rf-studio-status.warning{background:#fff4d3;color:#745c1d}.rf-studio-status.warning:before{content:'i'}
.rf-wide-field{grid-column:span 2}.rf-pa-note{margin:12px 0 0;padding:11px 13px;border-left:4px solid #d3a933;border-radius:5px;background:#fff7da;color:#64551f;font-size:11px;line-height:1.55}
.rf-sweep-panel{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.rf-sweep-panel h3{font-family:var(--font-serif);font-size:24px}.rf-sweep-panel .rf-response-heading{margin:0 0 12px}.rf-sweep-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}.rf-trace-toggles{display:flex;flex-wrap:wrap;gap:14px;margin:17px 0 9px}.rf-trace-toggles label{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:13px;font-weight:800}.rf-trace-toggles i{width:20px;height:3px}.rf-trace-toggles .s11{background:var(--rf-blue)}.rf-trace-toggles .s21{background:var(--rf-red)}.rf-trace-toggles .s12{background:#7a5bbb}.rf-trace-toggles .s22{background:#3d9b7f}.rf-studio-graph{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px 10px 0 0;background:#fff}.rf-studio-graph .plot-bg{fill:#fbfcfa}.rf-studio-graph .grid{stroke:#dfe5df;stroke-width:1}.rf-studio-graph text{fill:#5c6964;font:13px var(--font-sans)}.rf-studio-graph .trace{fill:none;stroke-width:3}.rf-studio-graph .s11{stroke:var(--rf-blue)}.rf-studio-graph .s21{stroke:var(--rf-red)}.rf-studio-graph .s12{stroke:#7a5bbb}.rf-studio-graph .s22{stroke:#3d9b7f}.rf-studio-graph .marker-line{stroke:#75827d;stroke-width:1.5;stroke-dasharray:5 4}.rf-studio-graph .marker-dot{stroke:#fff;stroke-width:2}.rf-studio-graph .marker-value{font:800 13px var(--font-sans);paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}.rf-studio-readout{min-height:42px;padding:11px 14px;border:1px solid var(--line);border-top:0;border-radius:0;background:#f7f8f5;color:var(--ink);font-size:15px;font-weight:700;line-height:1.45}.rf-studio-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.rf-design-actions{margin-top:-8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--rf-panel)}.rf-studio-actions button{margin:0!important}.rf-studio-file{display:none}
@media(max-width:900px){.rf-studio-workspace{grid-template-columns:1fr}.rf-inspector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px}.rf-inspector-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-sweep-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.rf-studio-tool{padding:7px 9px;font-size:11px}.rf-canvas{min-height:390px}.rf-inspector{display:block}.rf-inspector-fields,.rf-sweep-controls{grid-template-columns:1fr 1fr}.rf-canvas-help{position:static;border-radius:0;box-shadow:none}.rf-studio-toolbar{gap:6px}.rf-studio-workspace{gap:10px}}
@media(max-width:400px){.rf-inspector-fields,.rf-sweep-controls{grid-template-columns:1fr}}

/* Keep a transparent hit area over each symbol so sparse line art is easy to select. */
.rf-component .select-box{display:block;fill:transparent;stroke:none;pointer-events:all}
.rf-component.selected .select-box{display:block;fill:rgba(223,93,71,.08);stroke:var(--rf-red);stroke-width:2;stroke-dasharray:5 4}
.rf-probe-readout{display:grid;gap:7px;padding:12px 14px;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:#f3effb;color:var(--muted);font-size:14px;line-height:1.5}.rf-probe-readout span{display:block}.rf-probe-readout b{color:var(--ink)}.rf-probe-unit{margin:-8px 0 0;color:var(--muted);font-size:10px;line-height:1.35}.rf-inspector-fields>.rf-probe-unit{grid-column:1/-1}
.rf-probe-trace-toggles{margin-top:-2px;padding-top:10px;border-top:1px dashed var(--line)}.rf-studio-graph .probe-trace{stroke-width:2.5;stroke-dasharray:8 3}
.rf-label{font-size:14px}.rf-value-label{fill:#526660;font-size:15px;font-weight:800}.rf-studio-graph .marker-frequency{fill:#183b32;font:800 14px var(--font-sans);paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
