@charset "UTF-8";
:root{color-scheme:light;--ink:#18382c;--muted:#64716a;--paper:#f4f5ef;--green:#b9ed73;--border:#dce1d5;--danger:#a43522;font-family:Inter,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input{font:inherit}button,summary{cursor:pointer}a{color:inherit}button:focus,input:focus,summary:focus,a:focus{outline:none}button{min-height:44px}.site-header,main,footer{max-width:1120px;margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:28px 24px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;font-size:19px;letter-spacing:1px}.brand-icon{display:block;width:42px;height:42px;flex-shrink:0}.brand-sub{display:block;font-size:9px;letter-spacing:2.6px;margin-top:4px;color:var(--muted)}.local-badge{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.local-badge i{width:6px;height:6px;border-radius:100%;background:#548332}main{padding:48px 24px 28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 18px}.intro h1{font-size:clamp(36px,4vw,52px);letter-spacing:-2px;line-height:1.1;margin:0 0 16px;font-weight:650}.intro em{font-family:Georgia,serif;font-weight:400;color:#66853b}.intro>p:last-child{font-size:15px;color:var(--muted);margin:0 0 32px}.workspace{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.3fr);gap:20px}.panel{border:1px solid var(--border);border-radius:18px;background:#fff}.inputs,.result{padding:26px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:23px;min-height:32px}h2{font-size:15px;font-weight:650;margin:0}h2>span{font-size:10px;color:var(--muted);margin-right:10px;letter-spacing:1px}.text-button{border:0;background:none;color:var(--muted);font-size:12px;padding:5px 0;text-decoration:underline;text-underline-offset:4px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label,legend{font-size:13px;font-weight:600}label{display:block;margin-bottom:9px}.unit-field{position:relative}.unit-field input{width:100%;padding:13px 36px 13px 14px;font-size:24px;font-weight:550;color:var(--ink);border:1px solid var(--border);border-radius:8px;background:#fafbf8;min-width:0}.unit-field>span{position:absolute;right:14px;top:21px;color:var(--muted);font-size:13px}input[aria-invalid=true]{border-color:var(--danger)}.hint{font-size:11px;color:var(--muted);margin:0 0 25px}.field-error{color:var(--danger);font-size:11px;line-height:1.4;margin:5px 0;min-height:5px}.coefficient-summary{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;margin:10px 0 26px}.coefficient-summary strong{color:var(--ink);margin-left:5px}fieldset{padding:0;margin:0;border:0}legend{padding:0;margin:0 0 12px}legend>span{color:var(--muted);font-weight:400;margin-left:3px}.scale-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scale-options label{position:relative;margin:0;cursor:pointer}.scale-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.scale-options label span{display:block;border:1px solid var(--border);border-radius:7px;text-align:center;padding:12px 0;font-size:14px;background:#fff}.scale-options input:checked+span{background:var(--ink);border-color:var(--ink);color:white}.scale-options input:focus-visible+span{background:#e7efdf}.scale-options input:checked:focus-visible+span{background:#29513b}.auto-note{font-size:11px;color:var(--muted);margin:20px 0 0}.result{background:#142c24;color:#f6f7ee;border-color:#142c24;display:flex;flex-direction:column}.result h2>span{color:#99b4a5}.provisional{color:#b8c9bd;font-size:8px;letter-spacing:1.2px;border:1px solid #456052;border-radius:20px;padding:6px 8px}.result-live{text-align:center;padding:9px 0 0;min-height:138px}.power{display:flex;justify-content:center;align-items:baseline;gap:7px;letter-spacing:-4px;font-variant-numeric:tabular-nums}.power output{font-size:clamp(54px,6vw,78px);font-weight:550;overflow-wrap:anywhere;max-width:100%}.power>span{font-size:29px;color:var(--green);letter-spacing:0}.result-live p{font-size:12px;color:#b8c9bd;line-height:1.5;min-height:36px;margin:10px 0 17px}.result.warning .result-live p{color:#ffd2a1}.meter-area{padding:5px 12px 0}.meter-caption{display:flex;justify-content:space-between;color:#b8c9bd;font-size:10px;margin-bottom:13px}.meter{height:30px;position:relative;background:#365044;border-radius:3px}.meter-fill{position:absolute;right:0;top:0;bottom:0;width:54%;background:var(--green);border-radius:0}.marker{position:absolute;left:46%;top:-7px;bottom:-7px;width:2px;background:white;transform:translateX(-50%)}.marker:before{content:"";position:absolute;top:-4px;left:-3px;width:8px;height:8px;background:#fff;transform:rotate(45deg)}.ticks{position:absolute;inset:0}.tick{position:absolute;top:0;height:30px;width:1px;background:#142c2470;transform:translateX(-50%)}.tick.quarter{height:14px;background:#fff8}.tick-labels{position:relative;height:24px;margin-top:10px;font-size:10px;color:#d0ddd3;font-variant-numeric:tabular-nums}.tick-labels>span,.quarter-labels>span{position:absolute;transform:translateX(-50%)}.quarter-labels{position:relative;height:23px;color:var(--green);font-size:11px;font-weight:600}.q75{left:25%}.q50{left:50%}.q25{left:75%}.calculation{border-top:1px solid #3a5045;padding-top:20px;margin-top:auto;display:flex;flex-direction:column;gap:9px}.calculation>span{text-transform:uppercase;letter-spacing:1.4px;font-size:9px;color:#a1b7a9}.calculation code{font:12px/1.6 ui-monospace,Consolas,monospace;overflow-wrap:anywhere;color:#e0ebdc}.result-footnote{font-size:10px;color:#a1b7a9;line-height:1.5;margin:12px 0 0}.settings{margin-top:20px}summary{padding:20px 26px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:600;list-style:none}summary::-webkit-details-marker{display:none}.settings-symbol{font-size:20px;vertical-align:middle;margin-right:9px;color:#78915b}.summary-note{font-size:11px;font-weight:400;color:var(--muted)}.summary-note>span{margin-left:18px}.settings[open] .summary-note>span{display:inline-block;transform:rotate(45deg)}.settings-body{border-top:1px solid var(--border);padding:4px 26px 20px}.settings-body>p{font-size:12px;line-height:1.7;color:var(--muted);max-width:780px}.coefficient-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.coefficient-fields input{display:block;width:100%;min-width:0;margin-top:8px;padding:10px;border-radius:6px;border:1px solid var(--border);color:var(--ink);background:#fafbf8}.settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.primary-button{border:0;border-radius:7px;background:var(--ink);color:#fff;padding:12px 17px;font-size:12px}.method-note{display:flex;align-items:start;gap:12px;margin-top:24px;color:var(--muted);font-size:11px;line-height:1.8}.method-note>span{font-size:17px}.method-note p{margin:0}.method-note strong{color:#455c4c}footer{border-top:1px solid var(--border);padding:23px 24px 32px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.version{margin-left:10px;color:#87917f}.noscript{background:#fff1b6;padding:20px;text-align:center}.result.invalid .meter{opacity:.4}.result.invalid .marker{display:none}
@media(max-width:760px){main{padding-top:30px}.workspace{grid-template-columns:1fr}.inputs,.result{padding:22px}.scale-options{grid-template-columns:repeat(6,1fr)}.result-live{min-height:150px}.power output{font-size:72px}.coefficient-fields{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column}.summary-note{font-size:0}.summary-note>span{font-size:16px;margin-left:0}.local-badge{font-size:10px}.site-header{padding:20px}.meter-area{padding-left:10px;padding-right:10px}}
@media(max-width:380px){main{padding-left:14px;padding-right:14px}.inputs,.result{padding:18px}.local-badge{display:none}.provisional{font-size:7px}.scale-options{gap:5px}.tick-labels{font-size:9px}.power output{font-size:60px}summary{padding:18px}.settings-body{padding:4px 18px 18px}}

/* Custom controls use quiet surface and border changes instead of focus outlines. */
.unit-field input,.coefficient-fields input{transition:border-color .15s,background-color .15s}
.unit-field input:hover,.coefficient-fields input:hover{border-color:#a5b397}
.unit-field input:focus-visible,.coefficient-fields input:focus-visible{border-color:#82956a;background:#f4f8ee}
.unit-field input[aria-invalid=true]{border-color:var(--danger)}
.text-button:focus-visible,summary:focus-visible,a:focus-visible{background:#edf3e7;border-radius:4px}
.primary-button:focus-visible{background:#2c553e}
.wheel-hint{font-size:10px;line-height:1.5;color:#75816d;margin:7px 0 0;min-height:15px}
.speed-select{position:relative}
.speed-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px 14px;min-height:48px;border:1px solid var(--border);border-radius:8px;background:#fafbf8;color:var(--ink);font-size:14px;text-align:left;transition:background-color .15s,border-color .15s}
.speed-trigger:hover{border-color:#a5b397;background:#f5f8ef}
.speed-trigger:focus-visible,.speed-trigger[aria-expanded=true]{border-color:#82956a;background:#f1f6ea}
.speed-chevron{flex-shrink:0;color:#5c7255;transition:transform .15s}
.speed-trigger[aria-expanded=true] .speed-chevron{transform:rotate(180deg)}
.speed-options{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;padding:6px;overflow-y:auto;overscroll-behavior:contain;max-height:336px;border:1px solid #d2ddc5;border-radius:11px;background:#fff;box-shadow:0 12px 32px #142c2424;scrollbar-width:thin;scrollbar-color:#b6c5a5 transparent}
.speed-options[hidden]{display:none}
.speed-select.opens-up .speed-options{top:auto;bottom:calc(100% + 6px)}
.speed-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 11px;border-radius:6px;cursor:pointer;font-size:13px;line-height:1.5;user-select:none}
.speed-option.is-active{background:#eef4e5}
.speed-option[aria-selected=true]{background:var(--ink);color:var(--green)}
.speed-option[aria-selected=true].is-active{background:#264937}
.speed-check{visibility:hidden;flex-shrink:0;font-size:15px}
.speed-option[aria-selected=true] .speed-check{visibility:visible}
@media(max-width:380px){.wheel-hint{min-height:30px}.speed-trigger{font-size:13px}.speed-option{font-size:12px}}
@media(prefers-reduced-motion:reduce){.unit-field input,.coefficient-fields input,.speed-trigger,.speed-chevron{transition:none}}

.scale-status{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0 0}

.result-live p:empty{display:none}

/* Search-friendly content stays below the calculator. */
.about-tool{margin-top:28px;padding:28px}.about-intro{max-width:740px}.about-intro .eyebrow{font-size:9px;color:var(--muted);margin-bottom:12px}.about-intro h2{font-size:22px;letter-spacing:-.5px}.about-intro p:last-child{font-size:13px;color:var(--muted);line-height:1.8;margin:12px 0 22px}.tool-faq{border-top:1px solid var(--border)}.tool-faq details{border-bottom:1px solid var(--border)}.tool-faq details:last-child{border-bottom:0}.tool-faq summary{padding:17px 0;line-height:1.5;font-size:13px}.tool-faq summary>span{color:#78915b;font-size:18px;font-weight:400}.tool-faq details[open] summary>span{transform:rotate(45deg)}.tool-faq details>p{font-size:12px;color:var(--muted);line-height:1.8;max-width:800px;margin:0 24px 18px 0}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a,.back-link{text-underline-offset:3px}.legal-page{max-width:820px;padding-top:48px;min-height:70vh}.legal-page h1{font-size:44px;letter-spacing:-1.5px;margin:0 0 15px}.legal-page h2{font-size:18px;margin-top:30px}.legal-page p{font-size:14px;line-height:1.85;color:var(--muted)}.legal-page a{text-underline-offset:3px}.legal-page code{overflow-wrap:anywhere;font-size:12px}.legal-date{font-size:11px!important}.back-link{font-size:12px}.back-cta{display:inline-block;text-decoration:none;margin-top:16px}.tool-faq summary:focus-visible,.footer-links a:focus-visible,.back-link:focus-visible{background:#e7efdf;border-radius:4px}
@media(max-width:600px){.about-tool{padding:22px}.about-intro h2{font-size:20px}.footer-links{gap:12px}.legal-page h1{font-size:36px}.legal-page{padding-top:32px}.back-link{max-width:90px;text-align:right}}
