:root{--blue:#173b58;--blue-deep:#0d283c;--grid:#91b7c9;--paper:#f4f3e9;--chalk:#fffef4;--ink:#142b3a;--muted:#587080;--verm:#d9472f;--brass:#c9a85e;--line:#b9c7c7;--shadow:0 18px 45px #071b2860;font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;color:var(--ink);background-color:var(--blue);background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px),linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:40px 40px,40px 40px,8px 8px,8px 8px}*{box-sizing:border-box}body{margin:0;min-width:300px}.mast,main,footer{width:min(1480px,calc(100% - 40px));margin-inline:auto}.mast{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;padding:48px 0 30px;color:var(--chalk);align-items:end;border-bottom:1px solid #ffffff4a}.brand{display:flex;gap:18px;align-items:center}.cal-mark{width:42px;height:42px;border:2px solid var(--brass);border-radius:50%;background:repeating-conic-gradient(var(--brass) 0 2deg,transparent 2deg 15deg);box-shadow:inset 0 0 0 12px var(--blue)}h1,h2,p{margin-top:0}h1{font:700 clamp(2.2rem,5vw,4.8rem)/.9 Georgia,serif;letter-spacing:-.055em;margin:0}.eyebrow,.channel,.preset-row>span{font:700 .7rem/1.2 "Courier New",monospace;letter-spacing:.16em;text-transform:uppercase}.eyebrow{color:#b8d4df;margin-bottom:8px}.lede{max-width:54ch;margin:0;color:#d9e8ed;line-height:1.6}main{padding:28px 0 48px;display:grid;grid-template-columns:minmax(280px,440px) minmax(0,1fr);gap:20px;align-items:start}.control-panel,.readout,.plot-board,.notes{background:var(--paper);border:1px solid #ffffffaa;box-shadow:var(--shadow);position:relative}.control-panel{grid-row:span 2;padding:25px;border-radius:5px}.control-panel:before{content:"";position:absolute;inset:8px;border:1px solid #657c8540;pointer-events:none;border-radius:3px}.panel-heading,.board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:15px;margin-bottom:18px}.channel{color:var(--verm);margin-bottom:6px}h2{font:700 1.35rem/1 Georgia,serif;margin-bottom:0}.status-lamp{font:700 .65rem "Courier New",monospace;text-transform:uppercase;white-space:nowrap}.status-lamp span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#42a066;box-shadow:0 0 0 3px #42a06625;margin-right:5px}.formula{text-align:center;background:#e4e9e4;border:1px solid #aab7b5;padding:14px 8px;margin-bottom:18px;font-family:Georgia,serif}.fraction{display:inline-flex;flex-direction:column;vertical-align:middle;line-height:1.35}.fraction>span:first-child{border-bottom:1px solid;padding:0 6px}.fraction>span:last-child{padding:0 6px}label{font-size:.78rem;font-weight:700;letter-spacing:.03em;display:block}label span{display:block;font-weight:400;color:var(--muted);margin:4px 0 7px;letter-spacing:0}input,select,button{font:inherit;color:inherit}input,select{display:block;width:100%;margin-top:7px;border:1px solid #758993;background:#fffef8;border-radius:2px;padding:10px 11px;font-family:"Courier New",monospace}input:focus,select:focus,button:focus-visible,.plot-svg:focus{outline:3px solid #e85c45;outline-offset:2px}.coefficient-grid{display:grid;gap:13px}.help{color:var(--muted);font-size:.76rem;line-height:1.5;margin:10px 0 16px}.help code{background:#dfe6e3;padding:2px 4px}.sweep-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.actions,.export-actions{display:flex;gap:8px;flex-wrap:wrap}.actions{margin-top:17px}button{border:1px solid #71818a;background:#e7e7de;padding:9px 13px;cursor:pointer;border-radius:2px;font-weight:700;font-size:.75rem;box-shadow:inset 0 1px #fff,0 2px 0 #9ba8a8}button:hover{background:#fff}.primary{background:var(--verm);border-color:#9f2c1c;color:white;box-shadow:inset 0 1px #ff8d78,0 2px 0 #86291c}.primary:hover{background:#ba3522}.error{margin-top:14px;color:#842113;border-left:4px solid var(--verm);background:#f5dcd4;padding:10px 12px;font-size:.82rem;line-height:1.4}.preset-row{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;display:flex;gap:7px;flex-wrap:wrap;position:relative}.preset-row>span{width:100%;color:var(--muted)}.preset-row button{font-size:.68rem;padding:7px 8px}.readout{padding:22px 25px;border-radius:4px;display:grid;grid-template-columns:170px 1fr;gap:16px}.readout dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;background:#95a8aa;border:1px solid #95a8aa}.readout dl div{background:#edf0e9;padding:10px}.readout dt{font:700 .62rem "Courier New",monospace;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.readout dd{font:700 .9rem "Courier New",monospace;margin:0;color:var(--ink)}.summary-note{grid-column:1/-1;margin:0;font-size:.75rem;color:var(--muted)}.plot-board{padding:24px 25px;border-radius:4px}.plots{display:grid;gap:12px}.chart-wrap{background:var(--chalk);border:1px solid #aab8b8;position:relative}.plot-svg{display:block;width:100%;height:auto;min-height:250px}.plot-svg text{font-family:"Courier New",monospace}.plot-svg .grid{stroke:#b7cdd1;stroke-width:1}.plot-svg .minor{stroke:#dbe4e2}.plot-svg .axis{stroke:#365364;stroke-width:1.3}.plot-svg .trace{stroke:var(--verm);stroke-width:2.3;fill:none;vector-effect:non-scaling-stroke}.plot-svg .cross{stroke:#173b58;stroke-dasharray:4 3;pointer-events:none}.plot-svg .dot{fill:var(--verm);stroke:#fff;stroke-width:2}.plot-svg .tick-label{fill:#526b78;font-size:11px}.plot-svg .axis-title{fill:#162f40;font-size:12px;font-weight:700}.plot-svg .chart-title{fill:#162f40;font-size:13px;font-weight:700;letter-spacing:.1em}.tooltip{position:absolute;z-index:2;pointer-events:none;background:var(--blue-deep);color:white;padding:8px 10px;font:12px/1.45 "Courier New",monospace;border-left:3px solid var(--verm);box-shadow:0 5px 15px #0004;white-space:nowrap}.plot-instruction{font-size:.72rem;color:var(--muted);margin:12px 0 0}.notes{grid-column:1/-1;padding:23px 25px;border-radius:4px}.notes>div{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:15px}.notes p{font-size:.82rem;line-height:1.55;margin:0}.notes strong{font-family:"Courier New",monospace;text-transform:uppercase;font-size:.72rem}footer{color:#c6dbe4;border-top:1px solid #ffffff4a;padding:20px 0 32px;font:11px "Courier New",monospace;text-transform:uppercase;letter-spacing:.12em}@media(max-width:900px){.mast{grid-template-columns:1fr;padding-top:32px;gap:20px}main{grid-template-columns:1fr}.control-panel{grid-row:auto}.notes{grid-column:auto}.readout{grid-template-columns:1fr}}@media(max-width:620px){.mast,main,footer{width:min(100% - 20px,1480px)}h1{font-size:2.35rem}.brand{align-items:flex-start}.cal-mark{width:30px;height:30px;flex:none}.control-panel,.plot-board,.readout,.notes{padding:18px 15px}.sweep-grid,.readout dl,.notes>div{grid-template-columns:1fr}.panel-heading,.board-head{align-items:flex-start;flex-direction:column}.plot-svg{min-height:220px}.readout dl div{padding:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.mast{padding-top:32px;padding-bottom:22px}.mast h1{font-size:clamp(2.2rem,4.2vw,4rem)}.readout{grid-template-columns:220px 1fr}.help,.summary-note,.plot-instruction{font-size:.8rem;color:#465f6e}.plot-svg .tick-label{font-size:12px;fill:#405c6b}.plot-svg .axis-title{font-size:13px;fill:#102b3c}@media(max-width:900px){.readout{grid-template-columns:1fr}}@media(max-width:620px){.mast{padding-top:24px}}