:root{--ink:#1b3540;--muted:#5c6c73;--line:#dbe2e1;--paper:#fff;--bg:#f3f5f2;--teal:#1b655b;--mint:#eaf4ed;--orange:#b85228;--mono:Consolas,'Liberation Mono',monospace;--sans:Inter,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--sans)}a{color:var(--teal);text-underline-offset:3px}button,input,select{font:inherit}button,select{cursor:pointer}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ba673d;outline-offset:3px}button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:5px;padding:5px 10px}button:hover{border-color:var(--teal);background:var(--mint)}input,select{width:100%;min-width:0;height:48px;background:var(--paper);border:1px solid #aabbbd;border-radius:5px;color:var(--ink);padding:9px 12px}input{font-family:var(--mono);font-size:20px}input[aria-invalid=true]{border:2px solid #a83921;background:#fff6f1}h1,h2,h3,p{margin:0}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:15px}.topbar{max-width:1360px;margin:auto;padding:22px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:10px;align-items:center;font-size:16px;letter-spacing:-.35px}.brand-mark{display:flex;background:var(--ink);width:34px;height:34px;border-radius:8px}.brand-mark svg{width:32px;height:32px;fill:none;stroke:#c6ebcb;stroke-width:2}.brand strong{font-weight:650}.version{font-size:11px;background:#e5eae5;padding:2px 7px;border-radius:4px;font-family:var(--mono);letter-spacing:0}.local-badge{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.local-badge>span{height:7px;width:7px;border-radius:50%;background:#3f8764}main{max-width:1280px;padding:42px 40px 0;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.eyebrow{color:var(--teal);font-size:10px;font-weight:700;letter-spacing:1.5px}.intro .eyebrow{color:var(--orange);margin-bottom:8px}h1{font-size:42px;line-height:1.2;font-weight:650;letter-spacing:-1.8px}h1>span{color:#7b918f;font-weight:400}.intro-copy{color:var(--muted);margin-top:10px;font-size:15px}.text-link{font-size:13px;white-space:nowrap}.text-link span{margin-left:10px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px}.panel{border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 3px 6px #183e4710}.converter,.ratio-panel{padding:26px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.section-tag{font-family:var(--mono);font-size:9px;letter-spacing:1px;color:var(--muted);white-space:nowrap}.power-controls,.ratio-controls{display:flex;gap:12px}.field{min-width:0}.field label{font-size:12px;display:block;font-weight:600;margin-bottom:7px}.grow{flex:1}.power-controls>.field:nth-child(2){width:100px}.precision-field{width:148px}.field-help{font-size:11px;line-height:1.6;color:var(--muted);margin-top:8px}.presets{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:16px 0}.presets>span{color:var(--muted);font-size:11px;margin-right:5px}.presets button{font:11px/1.7 var(--mono);padding:3px 9px}.conversion-results{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result{min-width:0;padding:13px 15px;border-radius:5px;background:#f5f7f5;border:1px solid #e9eeea}.result>span{font-size:12px;font-weight:650;display:flex;justify-content:space-between;gap:10px}.result small{font-size:10px;font-weight:400;white-space:nowrap;align-self:center}.result output{display:block;font:22px/1.4 var(--mono);margin-top:4px;overflow-wrap:anywhere}.result.log{background:var(--ink);border-color:var(--ink);color:#f5faf5}.result.log small{color:#c3d2d0}.result-note{font-size:11px;line-height:1.7;color:var(--muted);min-height:19px;margin-top:12px}.load-section{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.load-controls{display:flex;align-items:end;gap:14px}.load-controls input{height:40px;font-size:17px}.load-controls>.field{max-width:190px;flex:1}.load-presets{display:flex;gap:5px;padding-bottom:3px}.load-presets button{font-size:11px;white-space:nowrap}.voltage-result{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--mint);padding:17px 18px;margin-top:14px;border-radius:6px}.voltage-result .eyebrow{font-size:9px;letter-spacing:1px}.voltage-number{margin-top:4px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.voltage-number output{font:28px/1.3 var(--mono);overflow-wrap:anywhere}.voltage-number>span{font-size:15px}.formula-mini{font:13px var(--mono);color:var(--teal);white-space:nowrap}.body-copy{font-size:13px;color:var(--muted);margin-bottom:19px}.ratio-controls>.field:last-child{width:100px}.ratio-result{border-block:1px solid var(--line);padding:26px 0 22px;margin-top:20px}.ratio-result>div{display:flex;align-items:baseline;gap:10px;margin-top:9px;min-width:0}.ratio-result #out-ratio{font:38px/1.2 var(--mono);letter-spacing:-1.3px;overflow-wrap:anywhere;min-width:0}.times{font-size:27px;color:#829591}.ratio-result>p{font:16px var(--mono);color:var(--teal);margin-top:10px}.ratio-equation{display:flex;flex-direction:column;gap:8px;padding:20px 0;margin-top:6px}.ratio-equation>span{font-size:11px;color:var(--muted)}code{font-family:var(--mono);font-size:14px}.precision-note{font-size:11px;color:var(--muted);background:#f5f7f5;padding:14px;border-radius:5px;line-height:1.7}.references{margin-top:36px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.section-heading .eyebrow{font-size:9px;margin-bottom:4px}.muted{color:var(--muted);font-size:11px}.reference-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.table-panel{overflow:hidden}.table-title{display:flex;justify-content:space-between;padding:18px 22px;gap:10px;align-items:center}.table-title>span{font-size:11px;color:var(--teal);font-family:var(--mono);overflow-wrap:anywhere}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:right;font:12px/1.7 var(--mono)}th,td{padding:8px 22px;border-top:1px solid #e8ede9}th{background:#f4f7f3;color:var(--muted);font-family:var(--sans);font-size:10px;font-weight:600}th:first-child,td:first-child{text-align:left}tbody tr:hover{background:#f2f7f3}td:first-child{font-weight:600}tbody tr.anchor{background:#eef5ef}.table-note{padding:13px 22px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.method{margin-top:28px;padding:26px}.method .panel-title{margin-bottom:20px}.method-grid,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.method h3{font-size:13px;margin-bottom:10px}.method p{font-size:12px;line-height:1.8;color:#53666d;margin-top:9px}.method .equation{color:var(--ink);font-family:var(--mono);font-size:12px;margin-top:5px}.method details{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.method summary{font-size:12px;font-weight:650;cursor:pointer}.method .sources{border-top:1px solid var(--line);padding-top:15px;margin-top:18px;font-size:10px}footer{padding:25px 0 32px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}footer>div{display:flex;gap:16px;align-items:center}footer button{background:transparent;border:0;font-size:11px;padding:0}.error{font-size:12px;line-height:1.6;color:#a3321f;background:#fff0e9;border-left:3px solid #b54226;padding:9px 12px;margin-top:10px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:15px;top:-100px;padding:8px 14px;background:white;z-index:10}.skip-link:focus{top:10px}
@media(min-width:1400px){main{padding-top:48px}.topbar{padding-inline:80px}}
@media(max-width:1000px){main{padding:28px 24px 0}.topbar{padding:18px 24px}.workspace{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}.converter,.ratio-panel{padding:20px}.power-controls{flex-wrap:wrap}.precision-field{width:100%}.precision-field select{height:36px}.precision-field label{margin-top:2px}.ratio-result #out-ratio{font-size:30px}.result output{font-size:20px}.formula-mini{display:none}th,td{padding-inline:16px}.section-tag{font-size:8px}.reference-grid{gap:18px}}
@media(max-width:720px){h1{font-size:35px}.intro{align-items:start;flex-direction:column;gap:14px;margin-bottom:22px}.workspace,.reference-grid,.method-grid,.detail-grid{grid-template-columns:1fr}.workspace{gap:20px}.power-controls{flex-wrap:nowrap}.precision-field{width:140px}.precision-field select{height:48px}.precision-field label{margin-top:0}.ratio-result{padding:20px 0}.reference-grid{gap:20px}.method-grid{gap:20px}.local-badge{display:none}.section-heading{align-items:start;flex-direction:column;gap:8px}.references{margin-top:28px}.method{padding:20px}.method .section-tag{display:none}footer{flex-direction:column;gap:10px}footer>div{justify-content:space-between}.brand{font-size:14px}.voltage-result .formula-mini{display:block}.ratio-panel .precision-note{margin-top:4px}}
@media(max-width:440px){main{padding:24px 14px 0}.topbar{padding:15px 14px}.converter,.ratio-panel{padding:18px}.power-controls{flex-wrap:wrap}.precision-field{width:100%}.precision-field select{height:38px}.load-controls{align-items:start;flex-direction:column;gap:8px}.load-controls>.field{max-width:none;width:100%}.formula-mini{display:none!important}.result output{font-size:20px}.result small{font-size:9px}.result{padding:12px}.section-tag{font-size:8px}.panel-title{gap:6px}h2{font-size:18px}th,td{padding:8px 13px}.voltage-number output{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.topbar{padding:10px 0}main{padding:15px 0}.panel{box-shadow:none;break-inside:avoid}.workspace{grid-template-columns:1.5fr 1fr}.presets,footer button,.skip-link{display:none}.references{margin-top:20px}body{font-size:12px}.method{break-before:page}a{color:inherit}.result.log{background:white;color:var(--ink)}.result.log small{color:var(--muted)}}
