/* Antenna Lab © 2026 M0PEE. All rights reserved. Not for reuse or redistribution. */
:root{color-scheme:dark;--bg: #070b12;--surface: #0d1520;--surface-2: #132031;--border: #1b2939;--text: #dfe8f2;--text-2: #a9b8c9;--text-3: #7d90a6;--accent: #ffb020;--accent-ink: #1a1204;--term-a: #e66767;--term-b: #3987e5;--warn-bg: #3a2f10;--warn-ink: #f3d27a;--err-bg: #3d1a19;--err-ink: #f5a3a1;--gain-pos: #4ac26b;--gain-neg: #f47070;--scene: #08111c;--grid: #2a3d54;--house-wall: #7d5a48;--house-roof: #4b4e54;--house-glass: #33506d;--house-door: #6d8fb8;--coax: #d8d6cf;--contact: #3cc3da;--rain: #8fa9c8;--pole-aluminium: #d6dade;--pole-scaffold: #858c93;--pole-wood: #a06a38;--pole-plastic: #c9c2a4;--pole-bark: #7d5a3a;--pole-leaf: #4f9a3a;--pole-leaf-2: #357a2e;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--s6: #008300;--s7: #9085e9;--s8: #e66767}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--bg: #eef1f5;--surface: #ffffff;--surface-2: #e6ebf1;--border: #d3dae3;--text: #15202d;--text-2: #3c4a5a;--text-3: #586779;--accent: #b86e00;--accent-ink: #ffffff;--term-a: #e34948;--term-b: #2a78d6;--warn-bg: #fff4d6;--warn-ink: #6b4a00;--err-bg: #fde4e2;--err-ink: #8a1f1d;--gain-pos: #1a7f37;--gain-neg: #c62828;--scene: #dfe7ef;--grid: #b7c3d1;--house-wall: #c08a6e;--house-roof: #6b6e74;--house-glass: #a9c6e2;--house-door: #3b5f8a;--coax: #2b2b29;--contact: #0e8fa6;--rain: #5d7fa6;--pole-aluminium: #c9cdd2;--pole-scaffold: #737a81;--pole-wood: #8b5a2b;--pole-plastic: #e8e2c8;--pole-bark: #6b4a2f;--pole-leaf: #4e8a37;--pole-leaf-2: #2f6b2a;--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--s5: #e87ba4;--s6: #008300;--s7: #6250d6;--s8: #e34948}}:root[data-theme=light]{color-scheme:light;--bg: #eef1f5;--surface: #ffffff;--surface-2: #e6ebf1;--border: #d3dae3;--text: #15202d;--text-2: #3c4a5a;--text-3: #586779;--accent: #b86e00;--accent-ink: #ffffff;--term-a: #e34948;--term-b: #2a78d6;--warn-bg: #fff4d6;--warn-ink: #6b4a00;--err-bg: #fde4e2;--err-ink: #8a1f1d;--gain-pos: #1a7f37;--gain-neg: #c62828;--scene: #dfe7ef;--grid: #b7c3d1;--house-wall: #c08a6e;--house-roof: #6b6e74;--house-glass: #a9c6e2;--house-door: #3b5f8a;--coax: #2b2b29;--contact: #0e8fa6;--rain: #5d7fa6;--pole-aluminium: #c9cdd2;--pole-scaffold: #737a81;--pole-wood: #8b5a2b;--pole-plastic: #e8e2c8;--pole-bark: #6b4a2f;--pole-leaf: #4e8a37;--pole-leaf-2: #2f6b2a;--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--s5: #e87ba4;--s6: #008300;--s7: #6250d6;--s8: #e34948}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:13px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit;color:inherit}header{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap}header select{width:auto}header h1{font-size:15px;margin:0 8px 0 0;font-weight:650;letter-spacing:.2px}header .spacer{flex:1}.status{color:var(--text-2);font-variant-numeric:tabular-nums;min-width:140px}.btn{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:5px 10px;cursor:pointer}.btn:hover{border-color:var(--text-3)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.small{padding:2px 7px;font-size:12px}.btn.ghost{background:transparent}.layout{display:grid;grid-template-columns:390px 1fr;height:calc(100% - 47px)}aside{overflow-y:auto;border-right:1px solid var(--border);background:var(--surface);padding:6px 12px 40px}main{display:grid;grid-template-rows:var(--view-h, 60%) 7px minmax(0,1fr);min-width:0;min-height:0}.splitter{cursor:row-resize;background:var(--border);position:relative;touch-action:none;z-index:2}.splitter:after{content:"";position:absolute;left:50%;top:2px;width:36px;height:3px;margin-left:-18px;border-radius:2px;background:var(--text-3);opacity:.6}.splitter:hover,.splitter.drag,.splitter:focus-visible{background:var(--accent);outline:none}body.resizing{cursor:row-resize;user-select:none}body.resizing .view canvas{pointer-events:none}details.sec{border-bottom:1px solid var(--border);padding:6px 0 10px}details.sec>summary{cursor:pointer;font-weight:650;padding:6px 0;list-style:none;display:flex;align-items:center;gap:6px}details.sec>summary:before{content:"\25b8";color:var(--text-3);transition:transform .15s}details.sec[open]>summary:before{transform:rotate(90deg)}details.sec>summary .hint{font-weight:400;color:var(--text-3);margin-left:auto;font-size:12px}.row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:6px;margin:5px 0}.row>label{color:var(--text-2)}.row .multi{display:flex;gap:4px;align-items:center}.row .multi>*{min-width:0;flex:1}.row .multi>span{flex:0 0 auto;color:var(--text-3);font-size:12px}input[type=number],input[type=text],select{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:4px 6px;width:100%;min-width:0}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.note{color:var(--text-3);font-size:12px;margin:4px 0}dialog.wiz{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:14px 18px;width:min(440px,calc(100vw - 32px))}dialog.wiz::backdrop{background:#00000059}dialog.wiz h2{font-size:15px;margin:0 0 6px}dialog.wiz .row{grid-template-columns:150px 1fr}dialog.wiz .acts{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:12px}dialog.wiz .acts .note{margin-right:auto}dialog.wiz.wide{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 32px)}.jp-grid{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:18px;align-items:start}.jp-grid .row{grid-template-columns:130px 1fr}.jp-out{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;align-items:start}.jp-out svg,.yz-svg svg{width:100%;height:auto;display:block}.yz-svg svg{margin-bottom:8px}:is(.jp-out,.yz-svg) svg text{font:11px system-ui,-apple-system,Segoe UI,sans-serif;fill:var(--text-2)}:is(.jp-out,.yz-svg) svg .dim{stroke:var(--text-3);stroke-width:1;fill:none}:is(.jp-out,.yz-svg) svg .lbl{fill:var(--text);font-weight:600}.yz-svg svg text.halo{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}table.cut{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}table.cut th,table.cut td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--border);vertical-align:top}table.cut th{color:var(--text-3);font-weight:500;font-size:12px}table.cut td.n{text-align:right;white-space:nowrap}table.cut .key{display:inline-block;min-width:18px;padding:0 4px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);text-align:center;font-weight:600}#mbBands :is(input,select){width:100%;box-sizing:border-box}#mbBands td{padding:2px 4px}.jp-perf{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 2px;font-variant-numeric:tabular-nums}.jp-perf b{font-weight:600}@media (max-width: 760px){.jp-grid,.jp-out{grid-template-columns:1fr}.jp-out svg{max-width:260px;margin:0 auto}}.jp-res.stale,.mb-svg.stale{opacity:.45}.mb-svg{border:1px solid var(--border);border-radius:8px;padding:6px 8px 0;margin-bottom:10px}@media print{body.print-jp>*:not(#jpoleDlg),body.print-yz>*:not(#yagiDlg),body.print-tb>*:not(#trapDlg),body.print-mb>*:not(#multibandDlg){display:none!important}body.print-jp #jpoleDlg,body.print-yz #yagiDlg,body.print-tb #trapDlg,body.print-mb #multibandDlg{position:static;border:0;width:auto;max-height:none}body.print-jp #jpoleDlg :is(.jp-in,.acts),body.print-yz #yagiDlg :is(.jp-in,.acts),body.print-tb #trapDlg :is(.jp-in,.acts),body.print-mb #multibandDlg :is(.jp-in,.acts){display:none}body.print-jp .jp-grid,body.print-yz .jp-grid{grid-template-columns:1fr}}.readout{color:var(--text-3);font-size:12px;font-variant-numeric:tabular-nums}.chip{display:inline-block;padding:0 6px;border-radius:4px;font-size:11px;font-weight:600;border:1px solid var(--border);color:var(--text-2)}.chip.a{color:var(--term-a);border-color:var(--term-a)}.chip.b{color:var(--term-b);border-color:var(--term-b)}.feedbox{border:1px solid var(--border);border-radius:8px;padding:4px 10px 8px;background:var(--surface-2)}.feedbox .row input,.feedbox .row select{background:var(--surface)}.el-card{border:1px solid var(--border);border-radius:8px;margin:8px 0;background:var(--surface-2)}.el-card.disabled{opacity:.55}.el-card .el-head{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border)}.el-card .el-head input[type=text]{font-weight:600;background:transparent;border-color:transparent}.el-card .el-head input[type=text]:hover{border-color:var(--border)}.el-card .el-body{padding:2px 8px 6px}.sel-hl{outline:2px solid var(--accent);outline-offset:1px}.sel-flash{animation:selFlash .9s ease-out}@keyframes selFlash{0%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 45%,transparent)}to{box-shadow:0 0 0 0 transparent}}.el-card .row input,.el-card .row select{background:var(--surface)}.swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.anchors{margin:4px 0 6px}.anchor{border:1px solid var(--border);border-radius:6px;padding:4px 6px;margin:4px 0;background:var(--surface)}.anchor .ahead{display:flex;align-items:center;gap:4px}.anchor .ahead .num{flex:0 0 auto;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.anchor .ahead input[type=text]{flex:1;min-width:0;background:transparent;border-color:transparent}.anchor .ahead input[type=text]:hover,.anchor .ahead input[type=text]:focus{border-color:var(--border)}.anchor .row{grid-template-columns:70px 1fr;margin:3px 0}.anchor.cord{opacity:.6}.addbar{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.view{position:relative;min-height:0;overflow:hidden;background:var(--scene)}.view canvas{display:block}.overlay{position:absolute;top:8px;left:8px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:8px;padding:5px 8px;max-width:calc(100% - 16px)}.overlay label{display:flex;align-items:center;gap:4px;color:var(--text-2)}.overlay select{width:auto;padding:2px 4px}.legend3d{position:absolute;right:8px;bottom:8px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:12px;color:var(--text-2)}.legend3d .bar{width:160px;height:8px;border-radius:4px;margin:4px 0 2px}.legend3d .ticks{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.axes-key{position:absolute;left:8px;bottom:8px;font-size:12px;color:var(--text-2);background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:8px;padding:4px 8px}.bottom{border-top:1px solid var(--border);background:var(--surface);display:grid;grid-template-columns:minmax(250px,1.05fr) repeat(3,minmax(220px,1fr));align-content:start;gap:0;min-height:0;overflow-y:auto}.panel{padding:8px 12px;border-right:1px solid var(--border);min-width:0;position:relative}.panel:last-child{border-right:0}.panel h3{margin:0 0 6px;font-size:12px;font-weight:650;color:var(--text-2);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.panel h3 .ctl{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:400;display:flex;gap:4px;align-items:center}.panel h3 .ctl input,.panel h3 .ctl select{width:64px;padding:1px 4px;font-size:12px}.plot{width:100%;height:250px;display:block;cursor:crosshair}.bands{display:flex;flex-wrap:wrap;gap:3px;margin:-2px 0 4px}.bands .btn.small{padding:1px 5px;font-size:11px;font-variant-numeric:tabular-nums}.bands .btn.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}#swPlot{height:226px}body.popout{display:flex;overflow:hidden}.popwin{flex:1;display:flex;flex-direction:column;border:0;padding:12px 16px}.popwin #swPlot{flex:1;height:auto;min-height:200px}.popwin h3{font-size:13px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.tile .k{color:var(--text-3);font-size:11px}.tile .v{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.tile .v small{font-size:12px;font-weight:400;color:var(--text-2)}.tile.wide{grid-column:1 / -1}.msgs{margin-top:8px;display:flex;flex-direction:column;gap:4px;max-height:110px;overflow:auto}.msg{border-radius:6px;padding:4px 8px;font-size:12px}.msg.warn{background:var(--warn-bg);color:var(--warn-ink)}.msg.err{background:var(--err-bg);color:var(--err-ink)}.gpos{color:var(--gain-pos)}.gneg{color:var(--gain-neg)}.tip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:3px 7px;font-size:12px;font-variant-numeric:tabular-nums;box-shadow:0 2px 8px #00000026;display:none;white-space:nowrap;z-index:5}.scantab{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;margin-top:4px}.scantab th{text-align:left;font-weight:500;color:var(--text-3);font-size:11px;padding:2px 4px;border-bottom:1px solid var(--border)}.scantab td{padding:3px 4px;border-bottom:1px solid var(--border)}.scantab td small{color:var(--text-3)}.scantab tr.cur td{font-weight:600}#scanSec{position:relative}.tunebar{display:flex;gap:6px;margin-top:8px;align-items:center}.tunebar select{flex:1}@media (max-width: 1100px){.bottom{grid-template-columns:1fr 1fr}.panel:nth-child(2){border-right:0}}@media (max-width: 860px){.layout{grid-template-columns:1fr;height:auto}aside{border-right:0;border-bottom:1px solid var(--border);max-height:none;padding:6px 16px 24px}main{grid-template-rows:420px auto}.splitter{display:none}.bottom{overflow:visible;grid-template-columns:1fr}.panel{border-right:0;border-bottom:1px solid var(--border)}header{padding:8px 16px}}
