.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}@font-face{font-family:Sharp Grotesk;src:url(../fonts/SharpGrotesk-Book20.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(../fonts/Fraunces-Roman.var.woff2) format("woff2");font-weight:200 400;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(../fonts/Fraunces-Italic.var.woff2) format("woff2");font-weight:200 400;font-style:italic;font-display:swap}:root{--bg: #ffffff;--panel: #ffffff;--ink: #0a0a0a;--ink-soft: #2b2b2b;--muted: #8a8a8a;--line: #ececec;--line-strong: #1a1a1a;--dark: #050505;--accent: #0a0a0a;--warn: #9a3324;--grotesk: "Sharp Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--serif: "Fraunces", "Times New Roman", Georgia, serif;font-family:var(--grotesk)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--grotesk);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}.app{max-width:1560px;margin:0 auto;padding:26px 32px}header h1{margin:0;font-family:var(--serif);font-weight:300;font-size:2rem;line-height:1.05;letter-spacing:-.015em}header h1 em{font-style:italic;font-weight:300}header h1 .beta{font-family:var(--grotesk);font-style:normal;font-size:9px;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);padding:3px 9px 2px;vertical-align:middle;margin-left:14px;position:relative;top:-4px}header p{margin:8px 0 0;color:var(--muted);font-size:.82rem;font-weight:400}.brand{display:flex;align-items:center;gap:18px}.brand-logo{width:58px;height:58px;flex:none}.brand-home{font-size:12px;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid transparent;padding-bottom:1px;transition:color .25s ease,border-color .25s ease}.brand-home:hover{color:var(--ink);border-bottom-color:var(--ink)}.layout{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:start}.sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:16px}.control-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 32px;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:26px}.control-tabs button{padding:9px 18px;border:1px solid var(--line);background:transparent;font-family:var(--grotesk);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background .2s ease,color .2s ease,border-color .2s ease}.control-tabs button:hover{color:var(--ink);border-color:var(--ink)}.control-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.control-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.panel{background:var(--panel);border:1px solid var(--line);padding:20px}.panel h2{margin:0 0 16px;font-family:var(--grotesk);font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.panel-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;padding:0;margin:0;cursor:pointer}.panel-toggle h2{margin:0}.panel-toggle:hover h2{color:var(--ink)}.panel-toggle .chev{color:var(--muted);font-size:1.1rem;line-height:1;transition:transform .18s ease}.panel-toggle .chev.open{transform:rotate(90deg)}.panel-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.seg.seg-sm button{padding:5px 10px;font-size:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.row span{color:var(--ink-soft);font-size:.85rem}.row.buttons{margin-top:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.field{display:flex;flex-direction:column;gap:5px}.field span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.field em{font-style:normal;opacity:.8;text-transform:none;letter-spacing:.02em}input[type=number],input[type=text],select{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:0;font-family:var(--grotesk);font-size:.9rem;background:#fff;color:var(--ink);transition:border-color .2s ease}input[type=number]:hover,input[type=text]:hover,select:hover{border-color:#c9c9c9}input[type=number]:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ink)}input::placeholder{color:#cfcfcf}.slider{display:block;margin-bottom:22px}.slider span{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--ink-soft);margin-bottom:6px;gap:10px}.slider-val{display:inline-flex;align-items:center;gap:4px}.slider-val .slider-num{width:68px;padding:3px 6px;font-size:.85rem;text-align:right;color:var(--ink)}.slider-val em{font-style:normal;color:var(--muted);font-size:.8rem}.slider strong{color:var(--ink);font-weight:400}.slider input[type=range]{width:100%;accent-color:var(--ink)}.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.seg{display:inline-flex;flex-wrap:wrap;gap:8px 4px}button{font-family:var(--grotesk);padding:7px 12px;border:1px solid var(--line);background:#fff;border-radius:0;cursor:pointer;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);transition:background .2s ease,color .2s ease,border-color .2s ease}button:hover{border-color:var(--ink)}button.active{background:var(--ink);color:#fff;border-color:var(--ink)}button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.summary{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:4px 0 0}.summary div{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:5px 0}.summary dt{color:var(--muted);font-size:.78rem}.summary dd{margin:0;font-family:var(--serif);font-weight:400;font-size:.95rem}.summary .warn dd{color:var(--warn)}.alert{margin:12px 0 0;padding:10px 12px;background:#fdf7f5;border:1px solid #e4c7bf;color:var(--warn);font-size:.85rem}.content{background:var(--panel);border:1px solid var(--line);padding:20px;min-height:460px}.messages{padding:10px 14px;margin-bottom:14px;font-size:.85rem}.messages ul{margin:4px 0 0;padding-left:18px}.messages.error{background:#fdf7f5;border:1px solid #e4c7bf;color:var(--warn)}.messages.warning{background:#fbf8f1;border:1px solid #e6dcc4;color:#6e5410}footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;letter-spacing:.04em}footer span:last-child{text-align:right}footer a{color:var(--muted);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .25s ease,text-decoration-color .25s ease}footer a:hover{color:var(--ink);text-decoration-color:currentColor}.hint{margin:0 0 14px;font-size:.82rem;line-height:1.6;color:var(--ink-soft)}.netload{margin:0 0 12px;font-size:.85rem;color:var(--muted)}.netload strong{font-family:var(--serif);font-weight:400;font-size:1rem;color:var(--ink);margin:0 4px}.netload span{font-size:.78rem}.lib-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line)}.lib-name{flex:1;min-width:0;text-align:left;border:none;background:none;padding:9px 2px;display:flex;flex-direction:column;gap:2px;cursor:pointer;font-family:var(--grotesk);font-size:.88rem;letter-spacing:0;text-transform:none;color:var(--ink)}.lib-name:hover{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.lib-meta{font-size:.74rem;color:var(--muted);text-decoration:none}.view-toggle{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.status-strip{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:16px}.status-item{display:flex;flex-direction:column;gap:2px;padding:10px 16px 9px;background:var(--panel);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:104px}.status-item span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em}.status-item strong{font-family:var(--serif);font-weight:300;font-size:1.25rem;line-height:1.15;color:var(--ink)}.status-item.warn strong{color:var(--warn)}.status-item.red strong{color:#9a3324}.status-item.amber strong{color:#b3762e}.graph-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.graph-toolbar .plot-seg{flex-wrap:wrap}.graph-toolbar .toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pin-btn{margin-left:auto}.compare-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.compare-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.compare-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border:1px solid var(--line);font-size:.8rem;background:#fff}.compare-chip .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.compare-chip button{border:0;background:transparent;padding:0 2px;font-size:1rem;line-height:1;color:var(--muted);cursor:pointer}.compare-chip button:hover{color:var(--ink)}.xover-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.xover-section h4{margin:0 0 10px;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.net-svg{display:block;width:100%;height:auto;max-height:130px;margin:8px 0 10px}.net-lbl{font-size:11px;font-weight:700}.net-val{font-size:9.5px;fill:var(--muted)}.net-end{font-size:9.5px;fill:var(--muted);font-weight:600}.comp-edit{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-bottom:8px}.comp-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.comp-name{font-size:.82rem;font-weight:600}.comp-name em{font-style:normal;font-weight:400;color:var(--muted);font-size:.74rem}.comp-input{display:inline-flex;align-items:center;gap:4px}.comp-input input{width:74px;padding:3px 6px;font-size:.82rem;text-align:right}.comp-input em{font-style:normal;color:var(--muted);font-size:.78rem}.manual-tag{margin-left:8px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);padding:2px 7px 1px}.rep-subsection{margin-top:10px}.rep-subsection h3{font-family:var(--serif);font-weight:400;font-style:italic;font-size:1rem;margin:0 0 6px}.meas-role{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.meas-role h4{margin:0 0 10px;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.import-btn{display:inline-block;padding:6px 11px;margin:0 6px 6px 0;border:1px dashed #c9c9c9;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#fff;transition:border-color .2s ease,color .2s ease}.import-btn:hover{border-color:var(--ink);color:var(--ink)}.modal-overlay{position:fixed;inset:0;background:#0a0a0ae0;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;z-index:50;overflow:auto}.modal{background:#fff;padding:24px 26px;width:100%;max-width:520px;box-shadow:0 20px 60px #0006}.modal h2{margin:0 0 12px;font-family:var(--serif);font-weight:300;font-style:italic;font-size:1.4rem}.field.filled input{border-color:var(--ink);background:#fafafa}.row.buttons{display:flex;gap:10px;margin-top:14px}.meas-curve{display:flex;align-items:center;gap:8px;margin-bottom:6px}.meas-use{display:inline-flex;align-items:center;gap:6px;font-size:.85rem}.meas-info{font-size:.78rem;color:var(--muted);flex:1}.meas-trim{margin-top:4px}.freq-range{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);flex-wrap:wrap}.freq-range .freq-input{width:72px;padding:4px 6px}.freq-range .dash,.freq-range .unit{color:var(--muted)}.wiz-group{margin:14px 0 8px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em}.sub-head{margin:26px 0 12px;padding-top:18px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em}.wiz-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line)}.wiz-row.off{opacity:.5}.wiz-main{min-width:0}.wiz-q{color:var(--muted);font-size:.78rem}.wiz-detail{font-size:.78rem;color:var(--muted);margin-top:2px}.wiz-note{font-size:.74rem;color:var(--ink-soft);margin-top:2px}.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.chart-cell{min-width:0}.chart-cell h3{margin:0 0 4px;font-family:var(--serif);font-weight:400;font-style:italic;font-size:1.02rem;letter-spacing:-.005em;color:var(--ink)}.cursor-readout{height:18px;margin-bottom:2px;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--ink);text-align:right}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:10px;font-size:.8rem;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:4px 8px;font-size:.8rem;letter-spacing:0;text-transform:none;color:var(--muted);cursor:default}.legend-item svg{flex:none}.legend-item.selectable{cursor:pointer}.legend-item.selectable:hover{background:#fafafa;color:var(--ink)}.legend-item.active{background:#fafafa;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}@media(max-width:1100px){.chart-grid{grid-template-columns:1fr}}.filter{border:1px solid var(--line);padding:14px;margin-bottom:10px}.filter.off{opacity:.55}.filter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.filter-head .enable{display:flex;align-items:center;gap:6px;font-size:.9rem}.filter-head .enable input{width:auto;accent-color:var(--ink)}button.link{border:none;background:none;color:var(--muted);padding:2px 6px;font-size:.85rem;letter-spacing:0;text-transform:none}button.link:hover{color:var(--warn)}.app-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:8px}.printout-btn{background:transparent;color:var(--muted);border:0;padding:2px 0;font-size:11px;letter-spacing:.14em;flex:none;align-self:center;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:7px;transition:color .25s ease,text-decoration-color .25s ease}.printout-btn:hover:not(:disabled){background:transparent;color:var(--ink);border:0;text-decoration-color:currentColor}.printout-btn:disabled{opacity:.3;cursor:not-allowed}.printout-btn:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.report-overlay{position:fixed;inset:0;z-index:60;background:#0a0a0ae0;overflow:auto;padding:0 24px 40px}.report-toolbar{position:sticky;top:0;display:flex;justify-content:flex-end;gap:8px;padding:12px 0;margin-bottom:14px;z-index:1}.report-toolbar .primary-btn{background:var(--ink);color:#fff;border-color:var(--ink)}.report{max-width:840px;margin:0 auto;background:#fff;color:var(--ink);padding:48px 52px;box-shadow:0 20px 60px #0006}.rep-head{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:4px}.rep-logo{width:60px;height:60px;flex:none}.rep-head h1{font-family:var(--serif);font-weight:300;font-size:1.9rem;letter-spacing:-.015em;margin:0 0 4px}.rep-head p{color:var(--muted);margin:0;font-size:.85rem}.rep-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin:24px 0 30px}.rep-stat{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 16px 12px}.rep-stat span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.18em;margin-bottom:5px}.rep-stat b{font-family:var(--serif);font-weight:300;font-size:1.4rem}.report-section{margin:28px 0}.report-section h2{font-family:var(--serif);font-weight:300;font-style:italic;font-size:1.3rem;border-bottom:1px solid var(--line-strong);padding-bottom:8px;margin:0 0 14px}.rep-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 32px}.rep-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:6px 0;font-size:.88rem}.rep-row span{color:var(--muted)}.rep-row strong{font-family:var(--serif);font-weight:400;text-align:right}.rep-note{color:var(--warn);font-size:.85rem;margin:12px 0 0}.report-chart{break-inside:avoid}.report-chart h3{font-family:var(--serif);font-weight:400;font-style:italic;font-size:.95rem;margin:0 0 2px}.report-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.rep-foot{margin-top:30px;padding-top:14px;border-top:1px solid var(--line);font-size:.74rem;color:var(--muted);line-height:1.6}@media print{.app,.cursor-readout{display:none!important}.report-lightbox{display:block!important;position:static;overflow:visible;background:#fff;padding:0}.report-lightbox .lightbox{max-width:none;max-height:none;overflow:visible;box-shadow:none;background:#fff}.report-lightbox .lightbox-head{display:none!important}.report-lightbox .lightbox-body{padding:0;overflow:visible}.report{max-width:none;box-shadow:none;padding:0;margin:0}.report-section,.report-chart,.rep-overview{break-inside:avoid}@page{margin:1.4cm}}@media(max-width:820px){.layout{grid-template-columns:1fr}.sidebar{max-width:620px;position:static}.app{padding:18px 20px}.app-head{flex-direction:column;gap:18px}}.mode-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}.mode-table th,.mode-table td{text-align:left;padding:6px 8px 6px 0;border-bottom:1px solid var(--line)}.mode-table th{font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-bottom-color:var(--line-strong)}.mode-table td:last-child,.mode-table th:last-child{text-align:right}.comp-dcr{color:#8a6d3b;font-style:normal;font-size:11px}.rep-schematic{max-width:360px;margin:6px 0 10px}.rep-schematic .net-svg{width:100%;height:auto}.head-actions{display:flex;gap:28px;align-self:center}.val-title{margin-right:auto;font-size:15px}.val-file{color:var(--muted);font-size:13px;align-self:center}.summary dd.good{color:#1d7a5f}.summary dd.amber{color:#b3762e}.summary dd.red{color:#9a3324}.lightbox-overlay{position:fixed;inset:0;z-index:60;background:#0a0a0ae0;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;overflow:auto}.lightbox{background:var(--panel);color:var(--ink);width:100%;max-width:780px;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0006}.lightbox-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:var(--panel);border-bottom:1px solid var(--line);z-index:1}.lightbox-head h2{margin:0;font-family:var(--serif);font-weight:300;font-style:italic;font-size:1.35rem}.lightbox-close{border:1px solid var(--line-strong);border-radius:50%;width:40px;height:40px;flex:none;background:transparent;font-size:20px;line-height:1;color:var(--ink);cursor:pointer;padding:0;transition:background .2s ease,color .2s ease}.lightbox-close:hover{background:var(--ink);color:#fff}.lightbox-body{padding:6px 22px 24px}.lightbox-body .report-section{margin:16px 0}.lightbox-report{max-width:920px}.lightbox-report .lightbox-body{padding:0;background:#f2f2f2}.lightbox-report .report{margin:18px auto;box-shadow:0 10px 40px -16px #0000004d}.lb-head-actions{display:flex;gap:8px;align-items:center}.lb-head-actions .primary-btn{background:var(--ink);color:#fff;border-color:var(--ink)}.val-intro{color:var(--ink-soft);font-size:.9rem;margin:12px 0 0}@media print{.lightbox-overlay:not(.report-lightbox){display:none!important}}.uplot{font-family:var(--grotesk)}.uplot .u-legend{font-family:var(--grotesk);font-size:11px;color:var(--muted)}
