/* Electronics Studio v237: adaptive filter plots with Safari-safe draggable axes */
#view-filters .panel{display:flex;flex-direction:column;gap:14px}
#view-filters .panel>.section-head{margin-bottom:2px}
#view-filters .panel>label{margin:1px 0 -7px;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--muted)}
#view-filters .topology-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#view-filters .solver-intro{margin:0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));display:grid;gap:3px}
#view-filters .solver-intro strong{font-size:13px;color:var(--ink)}
#view-filters .solver-intro span{font-size:12px;line-height:1.5;color:var(--muted)}
#view-filters #filterFields{display:grid;gap:12px}
#view-filters .filter-form-grid{gap:12px}
#view-filters .field{margin:0}
#view-filters .field label{display:block;margin-bottom:6px}
#view-filters .field label small{font-weight:600;color:var(--muted)}
#view-filters .filter-stage{display:grid;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%)}
#view-filters .filter-stage-head{display:flex;align-items:center;gap:11px}
#view-filters .filter-stage-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.08em}
#view-filters .filter-stage-head>div{display:grid;gap:2px}
#view-filters .filter-stage-head strong{font-size:12px;letter-spacing:.06em;color:var(--ink)}
#view-filters .filter-stage-head small{font-size:11px;line-height:1.4;color:var(--muted)}
#view-filters .filter-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#view-filters .filter-derived-component input[readonly]{background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--ink);border-style:dashed;cursor:default}
#view-filters .filter-stage-twin-t .filter-stage-head>span{background:color-mix(in srgb,var(--accent2) 18%,var(--surface));color:var(--accent2)}
#view-filters .filter-stage-frequency .filter-stage-head>span{background:color-mix(in srgb,#7b61d1 17%,var(--surface));color:#6e55c5}
#view-filters .filter-stage-feedback .filter-stage-head>span{background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent)}
#view-filters .filter-stage-divider{height:1px;margin:1px 6px;background:linear-gradient(90deg,transparent,var(--line) 10%,var(--line) 90%,transparent)}
#view-filters .filter-model-note{padding:10px 12px;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--accent) 6%,var(--surface));font-size:12px;line-height:1.5;color:var(--muted)}
#view-filters .filter-model-note b{color:var(--ink)}
#view-filters #filterCalc{margin-top:1px}
#view-filters .history-live-result{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:13px;line-height:1.65;color:var(--ink)}
#view-filters .filter-result-value-box{min-width:0}
#view-filters .filter-result-value-input{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:8px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;font-weight:750;outline:none}
#view-filters .filter-result-value-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}
#view-filters .filter-result-value-input[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 12%,transparent)}
#view-filters .result-hero .filter-result-value-input{margin-top:6px;padding:5px 8px;font-size:30px;letter-spacing:-1px}
#view-filters .metric .filter-result-value-input{padding:7px 8px}
#view-filters .filter-result-feedback{margin-top:7px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:500}
#view-filters .filter-result-feedback .field-feedback-action{white-space:normal;text-align:left}
#view-filters .filter-input-feedback{margin-top:7px}
#view-filters .filter-input-feedback+.filter-derived-feedback{margin-top:7px}
#view-filters .filter-result-feedback-original{border:1px solid color-mix(in srgb,#bd7c20 42%,var(--line));background:color-mix(in srgb,#bd7c20 9%,var(--surface));color:color-mix(in srgb,#805b17 78%,var(--muted))}
#view-filters .filter-result-feedback-original .field-feedback-action{color:#9a6110}
#view-filters .filter-result-feedback-tested{border:1px solid color-mix(in srgb,var(--accent2) 38%,var(--line));background:color-mix(in srgb,var(--accent2) 9%,var(--surface));color:var(--muted)}
#view-filters .filter-result-feedback-tested .field-feedback-action{color:var(--accent2)}
#view-filters .filter-result .result-hero{margin-bottom:14px}
#view-filters .filter-result .calc-box{line-height:1.65}
#view-filters .filter-signal-flow{display:grid;grid-template-columns:minmax(72px,.85fr) 22px minmax(132px,1.35fr) 22px minmax(72px,.85fr);align-items:end;gap:8px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
#view-filters .filter-signal-voltage{min-width:0;margin:0}
#view-filters .filter-signal-voltage label{white-space:nowrap;font-size:11px}
#view-filters .filter-signal-voltage label small{font-weight:600;color:var(--muted)}
#view-filters .filter-signal-voltage input{min-width:0;padding:10px 9px;background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}
#view-filters .filter-signal-output input[readonly]{border-style:dashed;background:color-mix(in srgb,var(--accent2) 7%,var(--surface));color:var(--ink);cursor:default}
#view-filters .filter-signal-arrow{align-self:center;margin-top:19px;text-align:center;color:var(--accent);font-size:21px;font-weight:800;line-height:1}
#view-filters .filter-signal-block{min-width:0;min-height:43px;display:grid;place-items:center;align-content:center;gap:3px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent) 11%,var(--surface));text-align:center}
#view-filters .filter-signal-block strong{font-size:11px;line-height:1.25;color:var(--ink)}
#view-filters .filter-signal-block small{font-size:9px;line-height:1.25;color:var(--muted)}
#view-filters .filter-band-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 14px}
#view-filters .filter-band-summary>div{display:grid;gap:4px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
#view-filters .filter-band-summary small{font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--muted)}
#view-filters .filter-band-summary strong{font-size:14px;color:var(--ink)}
#view-filters .filter-engineering-note{margin-top:12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--accent2) 34%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent2) 7%,var(--surface));font-size:12px;line-height:1.55;color:var(--muted)}
#view-filters .filter-engineering-note b{color:var(--ink)}
#view-filters .filter-result .chart{margin-top:16px;touch-action:none;overscroll-behavior:contain;-webkit-touch-callout:none}
#view-filters .filter-result .chart-readout{font-size:12px;line-height:1.5;color:var(--muted);text-align:center}
#view-filters .filter-result .chart-readout small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
#view-filters .filter-notch-analysis{display:grid;gap:8px;margin:10px 0 4px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));touch-action:auto}
#view-filters .filter-notch-analysis .field{width:100%}
#view-filters .filter-analysis-slider{display:block;width:100%;height:28px;margin:0;accent-color:var(--accent);cursor:ew-resize;touch-action:none}
#view-filters .filter-analysis-slider:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:2px;border-radius:8px}
#view-filters .filter-reference{stroke:var(--accent2);stroke-dasharray:4 4;opacity:.75}
#view-filters .filter-derived-feedback{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
#view-filters .filter-derived-feedback span{display:block}
#view-filters .filter-unit-feedback{border:1px solid color-mix(in srgb,var(--danger) 38%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger)}
#view-filters .filter-chart-drag-surface{fill:transparent;pointer-events:all;cursor:crosshair;touch-action:none}
#view-filters .filter-response-chart svg{height:220px;display:block;overflow:visible;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#view-filters .filter-response-chart .curve{stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
#view-filters .filter-response-chart .cursor-v,#view-filters .filter-response-chart .cursor-h{pointer-events:stroke;stroke-width:2;cursor:grab}
#view-filters .filter-response-chart .cursor-v:active,#view-filters .filter-response-chart .cursor-h:active{cursor:grabbing}
#view-filters .filter-axis-hit{stroke:transparent;stroke-width:18;pointer-events:stroke;cursor:grab;touch-action:none}
#view-filters .filter-axis-handle{fill:var(--surface);stroke:var(--accent2);stroke-width:2.5;cursor:grab;touch-action:none;filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--ink) 20%,transparent))}
#view-filters .filter-axis-handle:active{cursor:grabbing}
#view-filters .filter-axis-handle-x{touch-action:none}
#view-filters .filter-axis-handle-y{touch-action:none}
@media(max-width:520px){#view-filters .filter-axis-hit{stroke-width:28}}
#view-filters .filter-note{margin-top:0}
[data-theme="dark"] #view-filters .solver-intro,[data-theme="dark"] #view-filters .filter-model-note,[data-theme="dark"] #view-filters .filter-stage,[data-theme="dark"] #view-filters .filter-notch-analysis{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
@media(max-width:760px){#view-filters .topology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#view-filters .filter-stage-grid{grid-template-columns:1fr 1fr}#view-filters .filter-stage-grid .field:last-child{grid-column:1/-1}}
@media(max-width:520px){#view-filters .filter-layout{grid-template-columns:1fr}#view-filters .topology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#view-filters .filter-form-grid,#view-filters .filter-stage-grid,#view-filters .filter-band-summary{grid-template-columns:1fr}#view-filters .filter-stage-grid .field:last-child{grid-column:auto}#view-filters .segmented button{min-height:42px}#view-filters .filter-signal-flow{grid-template-columns:minmax(62px,.8fr) 16px minmax(94px,1.2fr) 16px minmax(62px,.8fr);gap:5px;padding:11px 9px}#view-filters .filter-signal-arrow{font-size:18px}#view-filters .filter-signal-voltage input{padding:9px 7px;font-size:13px}#view-filters .filter-signal-block{padding:7px 5px}#view-filters .filter-signal-block strong{font-size:10px}#view-filters .filter-signal-block small{font-size:8px}}
