:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#dde5ee;--panel:#fff;--inset:#e9eff6;--readout-bg:#eef3f9;--stage:#e4ecf5;--fg:#152439;--muted:#5d6e85;--muted-2:#647590;--border:#c6d2e0;--border-control:#bfcddd;--border-hover:#a3b4c9;--accent:#2f5fb0;--accent-soft:#e4ecf8;--accent-active:#c7d9f3;--accent-border:#9db4dc;--hot:#cf7a22;--danger:#a23a3a;--danger-bg:#fbeaea;--danger-border:#e3b4b4;--track:#c6d2e0;--grid:#2f5fb012;--shadow:#1e375f29;--shadow-strong:#1e375f4d;--r-sm:6px;--r-md:8px;--r-lg:10px;--text-lg:17px;--text-base:13px;--text-sm:12px;--text-xs:11px;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:20px;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--plot-bg:#fff;--plot-bg-rgb:255, 255, 255;--plot-grid:#d3deea;--plot-axis:#a9bccf;--plot-axis-faint:#e3ebf3;--plot-label-dim:#8294ab;--plot-label:#5d6e85;--plot-label-bright:#46566c;--plot-label-strong:#152439;--plot-center-mark:#b6c5d6;--plot-spoke:#785ac899;--plot-feed:#cf7a22;--plot-lobe-rgb:207, 122, 34;--plot-nec-rgb:47, 95, 176;--plot-ground-rgb:150, 116, 70;--plot-envelope-rgb:47, 95, 176;--plot-current-0:200, 212, 226;--plot-current-1:120, 165, 205;--plot-current-2:47, 95, 176;--plot-current-3:207, 122, 34;--plot-current-4:178, 58, 32}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--panel:#181b22;--inset:#11141a;--readout-bg:#14171e;--stage:#0c0e12;--fg:#e6e9ef;--muted:#9aa3b2;--muted-2:#717c8d;--border:#2a313d;--border-control:#343c4a;--border-hover:#475264;--accent:#76d0ff;--accent-soft:#76d0ff26;--accent-active:#76d0ff38;--accent-border:#3d6b82;--hot:#ffb454;--danger:#ff9b9b;--danger-bg:#2a1414;--danger-border:#572a2a;--track:#2a313d;--grid:#78aae60f;--shadow:#00000080;--shadow-strong:#0009;--plot-bg:#0d1015;--plot-bg-rgb:13, 16, 21;--plot-grid:#2a313d;--plot-axis:#3a4150;--plot-axis-faint:#23272f;--plot-label-dim:#4a5160;--plot-label:#7b8493;--plot-label-bright:#9aa3b2;--plot-label-strong:#cdd5e0;--plot-center-mark:#5a6170;--plot-spoke:#b48cfab3;--plot-feed:#ffd166;--plot-lobe-rgb:255, 209, 102;--plot-nec-rgb:110, 220, 255;--plot-ground-rgb:140, 110, 70;--plot-envelope-rgb:118, 208, 255;--plot-current-0:40, 64, 96;--plot-current-1:60, 140, 200;--plot-current-2:118, 208, 255;--plot-current-3:255, 209, 102;--plot-current-4:255, 130, 80}html,body,#root{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--border-control) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-control);border-radius:var(--r-md);border:2px solid var(--panel)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}button,select,input,.thumb,.overlay-checkbox{transition:background-color .13s,border-color .13s,color .13s,box-shadow .13s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}button:focus-visible,.thumb:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.app{grid-template-rows:100%;grid-template-columns:320px 1fr;height:100%;display:grid;overflow:hidden}.sidebar{background:var(--panel);padding:var(--space-7);border-right:1px solid var(--border);gap:var(--space-6);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden auto}.sidebar-header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.brand{flex-direction:column;gap:1px;min-width:0;display:flex}.sidebar h1{font-size:var(--text-lg);letter-spacing:-.01em;color:var(--fg);margin:0;font-weight:700}.byline{font-size:var(--text-xs);color:var(--muted);letter-spacing:.01em}.theme-toggle{background:var(--inset);width:28px;height:28px;color:var(--muted);border:1px solid var(--border-control);border-radius:var(--r-sm);font-size:var(--text-base);cursor:pointer;flex:none;justify-content:center;align-items:center;line-height:1;display:flex}.theme-toggle:hover{color:var(--accent);border-color:var(--border-hover)}.header-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.gear-menu-wrap{display:flex;position:relative}.header-icon-btn{background:var(--inset);width:28px;height:28px;color:var(--muted);border:1px solid var(--border-control);border-radius:var(--r-sm);font-size:var(--text-base);cursor:pointer;justify-content:center;align-items:center;line-height:1;display:flex}.header-icon-btn:hover{color:var(--accent);border-color:var(--border-hover)}.gear-menu-backdrop{z-index:40;position:fixed;inset:0}.gear-menu{z-index:41;min-width:160px;padding:var(--space-1);background:var(--bg);border:1px solid var(--border-control);border-radius:var(--r-md);box-shadow:0 6px 20px var(--shadow-strong);position:absolute;top:calc(100% + 4px);right:0}.gear-menu-item{text-align:left;white-space:nowrap;width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);color:var(--fg);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;display:block}.gear-menu-item:hover{background:var(--accent-soft);color:var(--accent)}.geometry-tabs{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.geometry-select-row{align-items:center;gap:var(--space-4);margin:var(--space-2) 0 var(--space-4);display:flex}.geometry-select-label{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}.geometry-select{background:var(--inset);color:var(--fg);border:1px solid var(--border-control);border-radius:var(--r-sm);padding:var(--space-4) var(--space-4);font:inherit;font-size:var(--text-base);cursor:pointer;flex:1;font-weight:500}.geometry-select:hover{border-color:var(--border-hover)}.geometry-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.band-row{align-items:center;gap:var(--space-4);display:flex}.band-row input[type=range]{flex:auto;min-width:0}.band-select{background:var(--inset);color:var(--fg);border:1px solid var(--border-control);border-radius:var(--r-sm);padding:var(--space-3) var(--space-4);font:inherit;font-size:var(--text-sm);cursor:pointer;flex:none;font-weight:500}.band-select:hover{border-color:var(--border-hover)}.band-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.band-select:disabled{opacity:.5;cursor:not-allowed}.geometry-filter{background:var(--inset);color:var(--fg);border:1px solid var(--border-control);border-radius:var(--r-sm);padding:var(--space-4);font:inherit;font-size:var(--text-base);flex:1}.geometry-filter:hover{border-color:var(--border-hover)}.geometry-filter:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.antenna-row{align-items:stretch;gap:var(--space-3);margin:var(--space-2) 0 var(--space-4);display:flex}.combobox{flex:1 1 0;min-width:0;position:relative}.combobox-input{box-sizing:border-box;width:100%;padding-right:26px}.combobox-caret{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.combobox-list{z-index:30;max-height:300px;padding:var(--space-2);background:var(--panel);border:1px solid var(--border-control);border-radius:var(--r-sm);box-shadow:0 8px 22px var(--shadow);margin:0;list-style:none;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow-y:auto}.combobox-group+.combobox-group{margin-top:var(--space-2)}.combobox-group>ul{margin:0;padding:0;list-style:none}.combobox-group-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:var(--space-2) var(--space-3) var(--space-1)}.combobox-option{padding:var(--space-3);cursor:pointer;font-size:var(--text-base);color:var(--fg);border-radius:4px}.combobox-option.is-active{background:var(--inset)}.combobox-option.is-selected{color:var(--accent);font-weight:600}.combobox-option.is-selected.is-active{background:var(--accent-soft)}.combobox-empty{padding:var(--space-4) var(--space-3);color:var(--muted);font-size:var(--text-sm)}.variant-select{min-width:104px;max-width:45%;font-size:var(--text-sm);padding:var(--space-4) var(--space-3);flex:none}.geometry-filter-hint{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);margin:calc(-1 * var(--space-2)) 0 var(--space-4)}.examples-error,.design-load-errors{margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);border:1px solid var(--danger-border);border-radius:var(--r-sm);background:var(--danger-bg);color:var(--danger);font-size:var(--text-sm)}.design-load-errors-title{margin-bottom:var(--space-2);font-weight:600}.design-load-errors ul{padding-left:var(--space-5);margin:0}.design-load-errors li{margin:var(--space-2) 0}.design-load-errors code{font-family:var(--font-mono)}.design-load-errors-file{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-all;display:block}.design-load-errors-hint{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-xs)}.solve-error{gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-4) var(--space-5);border:1px solid var(--danger-border);border-radius:var(--r-sm);background:var(--danger-bg);color:var(--danger);font-size:var(--text-sm);flex-direction:column;display:flex}.solve-error-title{font-weight:600}.solve-error-message{font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-word}.solve-error-hint{color:var(--muted);font-size:var(--text-xs)}.geometry-tabs button{background:var(--inset);color:var(--muted);border:1px solid var(--border-control);border-radius:var(--r-sm);padding:var(--space-3) var(--space-4);font:inherit;font-size:var(--text-sm);cursor:pointer;flex:1}.geometry-tabs button:hover{color:var(--fg);border-color:var(--border-hover)}.geometry-tabs button.active{background:var(--accent-active);color:var(--accent);border-color:var(--accent-border);font-weight:600}.band-tabs{margin-top:var(--space-2);gap:var(--space-1)}.band-tabs button{padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}.fan-band-group{gap:var(--space-2);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--r-md);background:var(--inset);font-size:var(--text-base);flex-direction:column;display:flex}.fan-band-header{align-items:center;gap:var(--space-4);display:flex}.fan-band-label{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}.fan-band-select{background:var(--panel);color:var(--fg);border:1px solid var(--border-control);border-radius:var(--r-sm);padding:var(--space-1) var(--space-2);font:inherit;font-size:var(--text-sm);cursor:pointer}.fan-band-readout{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);margin-left:auto}.fan-band-sublabel{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-1);justify-content:space-between;display:flex}.fan-band-len{color:var(--muted-2);font-family:var(--font-mono)}.group-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:var(--space-2) 0 -4px;padding-top:var(--space-5);border-top:1px solid var(--border);font-weight:400}.field{gap:var(--space-3);font-size:var(--text-base);flex-direction:column;display:flex}.field label{color:var(--muted);justify-content:space-between;gap:var(--space-4);white-space:nowrap;display:flex}.field input[type=range]{width:100%}.field input[type=number]{background:var(--inset);color:var(--fg);border:1px solid var(--border-control);border-radius:var(--r-sm);padding:var(--space-3) var(--space-4);width:100%;font:inherit}.field input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.knob{touch-action:none;outline:none;width:54px;height:54px}.knob:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%}.knob.is-vfo:focus-visible{box-shadow:none}.vfo-focus-ring{fill:none;stroke:var(--accent-soft);stroke-width:3.5px;opacity:0}.knob.is-vfo:focus-visible .vfo-focus-ring{opacity:1}.knob svg{cursor:ns-resize;width:100%;height:100%;transition:transform .12s ease-out;display:block;overflow:visible}.knob:hover svg{transform:translateY(-1px)}.knob:active svg{transform:scale(.95)}.knob-track{fill:none;stroke:var(--track);stroke-width:6px;stroke-linecap:round}.knob-fill{fill:none;stroke:var(--accent);stroke-width:6px;stroke-linecap:round}.knob-cap{fill:var(--panel);stroke:var(--border-control);stroke-width:1px;filter:drop-shadow(0 2px 2.5px var(--shadow))}.knob-notch{stroke:var(--fg);stroke-width:3px;stroke-linecap:round}.knob.is-vfo{width:112px;height:99px}.knob-rotor{transform-box:view-box;transform-origin:50px 50px;transition:transform .28s cubic-bezier(.22,.61,.36,1)}.knob-rotor.no-ease{transition:none}.knob.is-vfo .knob-cap{fill:var(--inset);stroke:var(--border-control);stroke-width:1px;filter:drop-shadow(0 3px 4px var(--shadow))}.knob-skirt{stroke:var(--muted-2);stroke-width:1.4px;stroke-linecap:round;opacity:.5}.knob-dimple{fill:var(--bg);stroke:var(--border-control);stroke-width:.8px}.knob.is-vfo .knob-notch{stroke:var(--accent);stroke-width:2.5px}.knob.is-vfo .knob-fill{stroke-width:5px}.knob.is-disabled{opacity:.4;pointer-events:none}@media (prefers-reduced-motion:reduce){.knob svg,.knob-rotor{transition:none}}.vfo-field{align-items:stretch;gap:var(--space-4);flex-direction:column;display:flex}.vfo-top{align-items:center;gap:var(--space-4);display:flex}.vfo-top .band-select{flex:none;max-width:120px}.vfo-top .freq-lcd{margin-left:auto}.vfo-body{align-items:center;gap:var(--space-5);display:flex}.vfo-dial{margin-left:auto;margin-right:var(--space-6);flex-direction:column;align-items:center;display:flex;position:relative}.vfo-lock{color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex;position:absolute;bottom:4px;right:-16px}.vfo-lock:hover{color:var(--fg)}.vfo-lock[aria-pressed=true]{color:var(--accent)}.lock-glyph{width:12px;height:12px}.lock-glyph rect{fill:currentColor}.lock-glyph .shackle{fill:none;stroke:currentColor;stroke-width:1.6px}.freq-lcd{background:var(--inset);border:1px solid var(--border-control);border-radius:var(--r-sm);box-shadow:inset 0 1px 3px var(--shadow);align-items:baseline;gap:7px;padding:6px 13px;display:inline-flex}.lcd-digits{letter-spacing:2px;font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:26px;font-weight:600;position:relative}.lcd-ghost{color:var(--track);opacity:.6}.lcd-live{color:var(--fg);position:absolute;top:0;left:0}.lcd-unit{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.vfo-field.is-locked .lcd-live{color:var(--muted)}.knob-edit{background:var(--inset);width:54px;color:var(--fg);border:1px solid var(--accent);border-radius:var(--r-sm);padding:var(--space-3);font:inherit;box-shadow:0 0 0 3px var(--accent-soft)}.knob-edit:focus{outline:none}.param-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(128px,1fr));align-items:start;display:grid}.param-grid.is-knobs{gap:var(--space-5) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(78px,1fr));justify-items:center}.param-grid .field-enum,.param-grid .field-bool,.param-grid .param-group{grid-column:1/-1;justify-self:stretch}.param-grid.is-knobs .field{align-items:center}.param-grid .field,.param-grid .field>label{min-width:0}.param-grid .field>label>span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.field-knob .knob-label,.field-knob .knob-value{width:100%;font-size:var(--text-xs);text-align:center}.field-knob .knob-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-knob .knob-value{color:var(--fg)}.cut-knobs{gap:var(--space-7);margin:var(--space-3) 0 var(--space-5);justify-content:center;display:flex}input[type=range]{appearance:none;background:var(--track);height:4px;accent-color:var(--accent);border-radius:3px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--panel);cursor:pointer;width:14px;height:14px;box-shadow:0 1px 2px var(--shadow);border-radius:50%}input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--panel);cursor:pointer;border-radius:50%;width:14px;height:14px}input[type=checkbox]{accent-color:var(--accent)}.backend-tabs{gap:var(--space-2);display:flex}.backend-tab-cell{gap:var(--space-1);flex:1;display:flex}.backend-tab-btn{background:var(--inset);color:var(--muted);border:1px solid var(--border-control);border-radius:var(--r-sm) 0 0 var(--r-sm);padding:var(--space-3) var(--space-4);font:inherit;font-size:var(--text-sm);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:1px;line-height:1.1;display:flex}.backend-tab-btn .slot-letter{font-weight:600;font-size:var(--text-base);letter-spacing:.05em}.backend-tab-btn .slot-sub{font-size:var(--text-xs);opacity:.7;text-transform:lowercase}.backend-tab-btn:hover{color:var(--fg);border-color:var(--border-hover)}.backend-tab-btn.active{background:var(--accent-active);color:var(--accent);border-color:var(--accent-border)}.backend-gear-btn{background:var(--inset);color:var(--muted);border:1px solid var(--border-control);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:var(--space-3) var(--space-4);cursor:pointer;border-left:none;font-size:14px;line-height:1}.backend-gear-btn:hover{color:var(--accent);border-color:var(--border-hover)}.backend-config-overlay{z-index:100;background:#15243952;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.backend-config-modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);width:min(420px,90vw);max-height:80vh;box-shadow:0 16px 48px var(--shadow);flex-direction:column;display:flex}.backend-config-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.backend-config-close{color:var(--muted);cursor:pointer;padding:0 var(--space-2);background:0 0;border:none;font-size:22px;line-height:1}.backend-config-close:hover{color:var(--fg)}.backend-config-body{padding:var(--space-5) var(--space-6);gap:var(--space-5);flex-direction:column;display:flex;overflow-y:auto}.backend-config-footer{padding:var(--space-5) var(--space-6);border-top:1px solid var(--border);justify-content:flex-end;display:flex}.backend-config-reset{background:var(--inset);color:var(--muted);border:1px solid var(--border-control);border-radius:var(--r-sm);padding:var(--space-3) var(--space-5);font:inherit;font-size:var(--text-sm);cursor:pointer}.backend-config-reset:hover{color:var(--fg);border-color:var(--border-hover)}.readout{background:var(--readout-bg);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-5) var(--space-5);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.8}.readout .row{justify-content:space-between;display:flex}.readout .row>span:first-child{color:var(--muted)}.readout .val{color:var(--accent)}.readout .val-hot{color:var(--hot);font-weight:600}.feeds-table{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border-control)}.feeds-table-header{color:var(--muted-2);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-1)}.smith,.farfield{border-radius:var(--r-sm);display:block}.thumbstrip{gap:var(--space-4);padding:var(--space-5) var(--space-5);border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex:none;justify-content:center;display:flex;overflow:hidden}.thumb{background:var(--inset);color:var(--muted);border:1px solid var(--border-control);border-radius:var(--r-md);padding:var(--space-4) var(--space-4) var(--space-3);cursor:pointer;font:inherit;align-items:center;gap:var(--space-3);flex-direction:column;flex-shrink:0;display:flex}.thumb:hover{color:var(--fg);border-color:var(--accent-border);box-shadow:0 2px 8px var(--shadow)}.thumb-canvas{pointer-events:none;border-radius:var(--r-sm);display:block;overflow:hidden}.thumb-label{font-size:var(--text-xs);letter-spacing:.03em}.carousel-slide{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.antenna-fill{position:absolute;inset:0}.antenna-thumb{position:relative}.antenna-overlay,.smith-overlay{top:var(--space-6);right:var(--space-6);z-index:2;align-items:flex-end;gap:var(--space-4);flex-direction:column;display:flex;position:absolute}.cut-overlay{bottom:var(--space-6);right:var(--space-6);z-index:2;align-items:center;gap:var(--space-1);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-3) var(--space-4) var(--space-2);box-shadow:0 2px 10px var(--shadow);flex-direction:column;display:flex;position:absolute}.cut-overlay-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2)}.cut-overlay-value{font-size:var(--text-xs);color:var(--fg);font-variant-numeric:tabular-nums}.stage-readout{bottom:var(--space-6);left:var(--space-6);z-index:2;min-width:172px;max-width:240px;box-shadow:0 4px 16px var(--shadow-strong);pointer-events:none;line-height:1.6;position:absolute}.projection-toggle{gap:var(--space-2);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-2);box-shadow:0 2px 10px var(--shadow);display:flex}.overlay-checkbox{align-items:center;gap:var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-3) var(--space-5);font:var(--text-xs) var(--font-mono);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 2px 10px var(--shadow);display:flex}.overlay-checkbox input{cursor:pointer;margin:0}.projection-toggle button{color:var(--muted);font:var(--text-xs) var(--font-mono);padding:var(--space-2) var(--space-5);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none}.projection-toggle button:hover{color:var(--fg);background:var(--inset)}.projection-toggle button.active{color:var(--accent);background:var(--accent-active)}.link-toggle{gap:var(--space-3);margin-top:var(--space-1);font-size:var(--text-sm);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;display:flex}.link-toggle input{cursor:pointer;margin:0}input[type=range]:disabled,.field-disabled{opacity:.45;cursor:not-allowed}.stage{background-color:var(--stage);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:26px 26px;flex-direction:row;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}canvas{width:100%;height:100%;display:block}.status{bottom:var(--space-5);right:var(--space-6);font-size:var(--text-sm);color:var(--muted);font-family:var(--font-mono);position:absolute}.status-busy{color:var(--accent)}.solve-bar{z-index:6;pointer-events:none;opacity:0;height:3px;transition:opacity .15s;position:absolute;top:0;left:0;right:0;overflow:hidden}.solve-bar.active{opacity:1}.solve-bar.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:35%;height:100%;animation:1.1s ease-in-out infinite solve-bar-slide;position:absolute;top:0}@keyframes solve-bar-slide{0%{left:-35%}to{left:100%}}.carousel-slide,.readout{transition:opacity .2s}.carousel-slide.stale,.readout.stale{opacity:.5}@media (prefers-reduced-motion:reduce){.solve-bar.active:before{opacity:.5;width:100%;animation:none}}.field-knob.is-opt-var .knob-cap{stroke:var(--accent);stroke-width:2px}.sim-controls{align-items:stretch;gap:var(--space-3);flex-direction:column;flex:none;display:flex}.toggle-btn{justify-content:center;align-items:center;gap:var(--space-2);min-width:58px;padding:var(--space-2) var(--space-4);background:var(--inset);color:var(--muted);border:1px solid var(--border-control);border-radius:var(--r-sm);font:inherit;font-size:var(--text-sm);cursor:pointer;box-shadow:0 1px 0 var(--shadow);font-weight:600;display:inline-flex}.toggle-btn:hover{color:var(--fg);border-color:var(--border-hover)}.toggle-btn.is-on{background:var(--accent-active);color:var(--accent);border-color:var(--accent-border);box-shadow:inset 0 2px 4px var(--shadow)}.toggle-btn:active{transform:translateY(1px)}.toggle-btn:focus-visible{border-color:var(--accent);box-shadow:0 1px 0 var(--shadow), 0 0 0 3px var(--accent-soft);outline:none}.toggle-btn.is-on:focus-visible{box-shadow:inset 0 2px 4px var(--shadow), 0 0 0 3px var(--accent-soft)}.toggle-led{background:var(--track);width:8px;height:8px;box-shadow:inset 0 0 0 1px var(--border-control);border-radius:50%;flex:none}.toggle-btn.is-on .toggle-led{background:var(--accent);box-shadow:0 0 4px var(--accent)}.opt-cell{display:flex;position:relative}.opt-cell .opt-toggle{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;flex:1;min-width:0}.opt-gear-btn{padding:0 var(--space-3);background:var(--inset);color:var(--muted);border:1px solid var(--border-control);border-radius:0 var(--r-sm) var(--r-sm) 0;cursor:pointer;flex:none;justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex}.opt-gear-btn:hover{color:var(--accent);border-color:var(--border-hover)}.opt-menu{z-index:41;min-width:160px;padding:var(--space-1);background:var(--panel);border:1px solid var(--border-control);border-radius:var(--r-md);box-shadow:0 6px 20px var(--shadow-strong);position:absolute;top:calc(100% + 4px);left:0}.opt-menu-title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:var(--space-2) var(--space-3) var(--space-1)}.opt-menu .gear-menu-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.opt-pip{color:var(--accent);margin-left:2px;animation:1s steps(2,start) infinite opt-blink}@keyframes opt-blink{to{opacity:.2}}.opt-readout{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.opt-readout-err{color:var(--danger,#c0392b)}.knob-menu-backdrop{z-index:40;position:fixed;inset:0}.knob-menu{z-index:41;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);min-width:200px;box-shadow:0 6px 24px var(--shadow-strong);padding:var(--space-3);gap:var(--space-2);font-size:var(--text-xs);flex-direction:column;display:flex;position:fixed}.knob-menu-title{color:var(--fg);border-bottom:1px solid var(--border);padding-bottom:var(--space-2);font-weight:600}.knob-menu-vary{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--fg);display:flex}.knob-menu-row{align-items:center;gap:var(--space-2);color:var(--muted);display:flex}.knob-menu-row>span:first-child{flex:1;min-width:0}.knob-menu-row input[type=number]{width:5em;font-size:var(--text-xs)}@media (width<=700px){.app{--mobile-stage-w:200vw;grid-template-columns:min(340px, 86vw) var(--mobile-stage-w);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overflow:auto hidden}.sidebar{scroll-snap-align:start}.stage{min-width:var(--mobile-stage-w);scroll-snap-align:start}}@media (pointer:coarse){.theme-toggle,.header-icon-btn{width:40px;height:40px}.band-select{min-height:40px}.vfo-lock,.opt-gear-btn{min-width:36px}}.solver-suggest{z-index:7;gap:var(--space-3);max-width:min(420px,86%);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);box-shadow:0 6px 24px var(--shadow);text-align:center;flex-direction:column;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.solver-suggest-title{font-size:var(--text-base);color:var(--fg)}.solver-suggest-sub{font-size:var(--text-sm);color:var(--muted)}.solver-suggest-actions{gap:var(--space-3);margin-top:var(--space-2);justify-content:center;display:flex}.solver-suggest-primary,.solver-suggest-secondary{padding:var(--space-3) var(--space-5);border-radius:var(--r-sm);font-size:var(--text-sm);color:var(--fg);cursor:pointer}.solver-suggest-primary{background:var(--accent-active);border:1px solid var(--accent-border);font-weight:600}.solver-suggest-secondary{background:var(--inset);border:1px solid var(--border-control)}.solve-cancel{top:var(--space-5);z-index:7;padding:var(--space-2) var(--space-5);border:1px solid var(--border-control);border-radius:var(--r-sm);background:var(--panel);color:var(--fg);font-size:var(--text-sm);cursor:pointer;box-shadow:0 2px 10px var(--shadow);position:absolute;left:50%;transform:translate(-50%)}.solve-cancel:hover{border-color:var(--border-hover)}
