@font-face{font-family:Inter;src:url('/inter.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--paper:#101b19;--panel:#182b27;--dark:#14231f;--ink:#f1f8e8;--muted:#b5cabd;--line:#3e5c51;--lime:#c3f38c;--amber:#ffd292}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:radial-gradient(ellipse at 85% 4%,#263e2e,transparent 55%),var(--paper);color:var(--ink);font:1rem/1.55 Inter,system-ui,sans-serif}
h1,h2,p,dl,dd{margin:0}
a{color:var(--lime);text-underline-offset:.22em}
a:hover{color:white}
button,select,input{font:inherit;min-width:0;color:inherit}
input,select,button{min-height:44px;border:1px solid #5e7b71;background:#12201d;border-radius:5px;padding:.48rem .62rem}
select,button{cursor:pointer}
:focus-visible{outline:3px solid #ffd184;outline-offset:3px}
.wrap{width:min(1130px,calc(100% - 52px));margin-inline:auto}
.top,.footer{display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap}
.top{min-height:73px;border-bottom:1px solid var(--line)}
.top>a,.footer>a{font-size:.87rem}
.top .brand{display:flex;align-items:center;gap:.57rem;text-decoration:none;color:var(--ink);font-weight:760;letter-spacing:-.035em;font-size:1.22rem}
.brand span{display:grid;place-items:center;width:30px;height:29px;border-radius:5px;background:var(--lime);color:#15251b;font:650 1.1rem ui-monospace,monospace}
.intro{display:grid;grid-template-columns:1.65fr 1fr;gap:1.35rem;align-items:end;padding:clamp(2.45rem,6.4vw,5rem) 0 2.2rem}
h1{font-size:clamp(2.65rem,7.25vw,6.4rem);line-height:.96;font-weight:750;letter-spacing:-.081em}
h1 span{color:var(--lime)}
.intro p{color:var(--muted);max-width:28rem;padding-bottom:.35rem;font-size:1.01rem}
.workbench{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:1rem}
.form,.readout{border:1px solid var(--line);border-radius:9px;padding:clamp(1rem,2.8vw,1.9rem);min-width:0}
.form{background:var(--panel)}
.readout{background:radial-gradient(#5c796348 1px,transparent 1px),var(--dark);background-size:18px 18px;border-color:#526d61}
.form-heading,.readout-head{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;align-items:center}
h2{font-size:1.23rem;line-height:1.2;letter-spacing:-.03em}
button{font-size:.81rem;font-weight:700}
#example:hover{background:#304436}
fieldset{padding:0;margin:1rem 0 0;border:0;min-width:0}
legend{font-size:.91rem;font-weight:700;color:#e1efdd;padding:0;margin-bottom:.45rem}
.pair,.trio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.63rem}
.trio{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.65rem}
.trio label{grid-template-rows:1fr auto}
label{display:grid;gap:.23rem;font-size:.78rem;font-weight:550}
label input{width:100%;font:650 1rem ui-monospace,monospace}
fieldset p,#detail{font-size:.81rem;color:var(--muted);margin-top:.5rem}
.tolerance{display:flex;align-items:center;gap:.68rem;flex-wrap:wrap}
.tolerance select{min-width:5rem}
.error{color:var(--amber);font-size:.81rem;margin-top:.65rem}
.series{font:630 .76rem ui-monospace,monospace;color:#1a2e20;background:#b8d8ad;padding:.25rem .41rem;border-radius:5px}
#status{font-size:.82rem;color:var(--lime);margin-top:.72rem;min-height:1.4rem}
#status[data-tone=warning]{color:var(--amber)}
#resistance{display:block;margin-top:.58rem;font:640 clamp(2.45rem,5.8vw,5.25rem)/1.02 ui-monospace,monospace;letter-spacing:-.064em;color:var(--lime);overflow-wrap:anywhere}
#minimum{font-size:.81rem;color:#cae1ce;margin-top:.38rem}
.rail{height:10px;border-radius:5px;background:#446058;position:relative;margin-top:1.37rem}
#range-bar{position:absolute;top:0;height:10px;border-radius:5px;background:#83ae74;min-width:1px}
#typical-mark{position:absolute;top:-4px;width:4px;height:18px;border-radius:3px;background:#ddffb6;transform:translateX(-50%)}
.rail-labels{display:flex;justify-content:space-between;color:#d3e7d6;font-size:.72rem;margin-top:.28rem}
.readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:.8rem}
.readings>div{border:1px solid #47665a;border-radius:5px;background:#1c332c;padding:.5rem .46rem}
.readings span,.ratings dt{color:#bfd7c6;font-size:.75rem}
.readings strong{display:block;font:650 clamp(.74rem,2vw,1.02rem) ui-monospace,monospace}
.ratings{border-top:1px solid #5b786d;margin:.95rem 0;padding:.3rem 0}
.ratings>div{display:flex;justify-content:space-between;gap:.55rem;padding:.28rem 0}
.ratings dd{font-size:.81rem;font-weight:670;text-align:right}
#copy{background:var(--lime);border-color:var(--lime);color:#15251b}
#copy:hover{background:#e1fdc5}
#copy-status{font-size:.8rem;margin-left:.45rem}
.lesson{border-top:1px solid var(--line);margin-top:1.65rem;padding:1.35rem 0}
.lesson p{max-width:43rem;color:var(--muted);margin:.45rem 0}
.lesson a{font-size:.88rem;font-weight:700}
.footer{border-top:1px solid var(--line);padding:1.1rem 0}
.guide{padding:clamp(2rem,8vw,5rem) 0;max-width:800px}
.guide h1{font-size:clamp(2.55rem,8vw,5.3rem);margin-bottom:1.35rem}
.guide h2{margin:1.7rem 0 .55rem}
.guide p+p{margin-top:.73rem}
@media(max-width:740px){.intro,.workbench{grid-template-columns:1fr}.intro{gap:.9rem}.wrap{width:calc(100% - 28px)}.top{min-height:64px}}
