:root{color-scheme:light;--ink:#17252c;--muted:#6b797b;--line:#e4e9e5;--green:#215e48;--lime:#c5ed89;--paper:#f6f8f4;--dark:#101e26;--radius:20px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #458b67;outline-offset:4px}button:disabled{cursor:default;opacity:.45}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{display:none}[hidden]{display:none!important}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;padding:40px 25px 28px;border-right:1px solid var(--line);background:#fff;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:10px;align-items:center;font-weight:800;font-size:24px;line-height:1.2;letter-spacing:-.8px}.brand-icon{height:44px;width:38px;background:var(--green);border-radius:11px;color:var(--lime);display:grid;place-items:center}.brand-icon svg{width:26px;height:29px;fill:currentColor;stroke-width:.5}.brand-light{font-weight:400;margin-left:4px}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:1.75px;margin-top:7px;color:var(--muted)}.sidebar-label{font-size:9px;letter-spacing:1.4px;color:#8b9696;font-weight:600;margin:61px 13px 17px}.navigation{display:grid;gap:9px}.nav-item{display:flex;gap:13px;align-items:center;min-height:52px;border-radius:10px;padding:12px 15px;color:#788381;font-size:14px;font-weight:500}.nav-item.active{background:#eaf2e8;color:var(--green);font-weight:650}.nav-item:hover{background:#f0f4ee}.count{font-size:10px;background:#d9e6d7;padding:1px 6px;border-radius:5px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:36px 13px 0}.small-bolt{font-size:34px;color:#7f9d78}.sidebar-bottom p{font-size:13px;line-height:1.8;color:#7b8780;margin:2px 0 29px}.version{font-size:9px;color:#9aa39e;letter-spacing:1.2px;display:flex;justify-content:space-between}.workspace{margin-left:240px;width:calc(100% - 240px)}.topbar{height:89px;padding:0 49px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.vehicle{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:1.3px}.vehicle-dot{height:6px;width:6px;background:#346348;border-radius:50%}.model-year{font-weight:500;border:1px solid #d9dfd9;border-radius:4px;padding:1px 6px;letter-spacing:.5px;color:#87918a;font-size:9px}.connection{display:flex;align-items:center;gap:7px;font-size:10px;color:#6f8070}.connection>span:first-child{width:6px;height:6px;border-radius:50%;background:#7b9972}.connection.offline>span:first-child{background:#d69f4b}main{padding:42px 49px 0;max-width:1500px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 32px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#788a77;margin:0 0 13px}h1{font-size:42px;line-height:1.15;letter-spacing:-1.7px;margin:0;font-weight:650}h1 span{color:#5e7d60}.subtitle{color:#7d8780;font-size:12px;margin:16px 0 0}.heading-badge{display:flex;gap:11px;align-items:center;font-size:10px;color:#7b8b77;margin-right:4px;line-height:1.6}.heading-badge svg{width:27px;height:27px;color:#8da67d;stroke-width:1.3}.calculator-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(260px,1fr);gap:24px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}h2{font-size:15px;letter-spacing:-.25px;line-height:1.5;margin:0;font-weight:650}.step-number{display:inline-grid;place-items:center;width:25px;height:25px;background:#eff4ec;color:#769064;border-radius:7px;font-size:10px;margin-right:8px;font-weight:600;vertical-align:middle}.quiet-label{font-size:8px;letter-spacing:1.5px;color:#9ba59d;font-weight:600}.percent-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.percent-field label{display:block;font-size:11px;color:#7a857e;margin-bottom:12px}.number-control{display:flex;align-items:center;justify-content:space-between;border:1px solid #e6eae2;background:#f8faf5;border-radius:12px;padding:10px 8px;gap:4px}.number-control>button{border:0;background:transparent;color:#7b8a77;min-height:44px;min-width:32px;font-size:23px;font-weight:300;border-radius:6px}.number-control>button:hover{background:#e7eddf}.percent-number{display:flex;align-items:baseline;justify-content:center;min-width:0;gap:1px}.percent-number input{padding:0;width:2.2em;min-width:0;border:0;background:transparent;color:var(--ink);text-align:center;font-size:36px;font-weight:600;letter-spacing:-1.7px;appearance:textfield;-moz-appearance:textfield}.percent-number input::-webkit-inner-spin-button,.percent-number input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.percent-number span{font-size:16px;color:#98a18e}.target-field .number-control{border-color:#c3d5b4;background:#f1f7e9}.target-field .percent-number input{color:#3e633a}.target-field label{color:#57754c}.field-caption{font-size:9px;color:#97a090;display:block;margin-top:7px}.battery-track{height:7px;background:#eff2e9;border-radius:8px;display:flex;position:relative;margin-top:28px}.battery-track span:first-child{background:#b9c9a9;border-radius:8px 0 0 8px}.battery-track span:nth-child(2){background:#81a367;border-radius:0 8px 8px 0}.battery-track i{position:absolute;right:-4px;width:3px;height:3px;background:#c9d4c1;top:2px;border-radius:2px}.track-labels{display:flex;justify-content:space-between;font-size:8px;color:#a3aba0;margin-top:8px}.track-labels span:nth-child(2){color:#7e9173;letter-spacing:.25px}.button{min-height:48px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:600;border:0;padding:12px 18px;transition:background .15s,transform .15s}.button:active{transform:translateY(1px)}.button svg{width:17px;height:17px}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:#184a38}.calculate-button{width:100%;margin-top:23px;justify-content:flex-start;min-height:50px}.button-arrow{margin-left:auto}.result-card{border-radius:var(--radius);padding:26px;background:var(--dark);color:#fff;margin-top:20px;position:relative;overflow:hidden;box-shadow:0 8px 20px #172c2210}.result-card:before{content:"";position:absolute;right:-90px;top:-150px;width:340px;height:340px;border:1px solid #bfd1ba09;border-radius:50%;pointer-events:none}.result-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.result-top h2{font-size:12px;font-weight:500;color:#c7d0ce}.status-badge{font-size:7px;letter-spacing:1.15px;border:1px solid #65774f;color:#bbd49b;padding:4px 6px;border-radius:4px;white-space:nowrap}.time-display{display:flex;align-items:flex-start;justify-content:center;gap:18px;margin:21px 0 17px;font-variant-numeric:tabular-nums}.time-display>div{display:flex;flex-direction:column;align-items:center}.time-display strong{font-size:59px;line-height:1.15;font-weight:400;letter-spacing:-3px;color:#d4eeac}.time-display b{font-weight:300;font-size:43px;line-height:1.4;color:#536354}.time-display>div>span{font-size:7px;letter-spacing:2px;color:#839087;margin-top:9px}.result-context{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#9baa9d;margin-bottom:23px}.result-dot{width:4px;height:4px;background:#9cc17a;border-radius:50%}.shelly-result{border-top:1px solid #ffffff13;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:14px}.shelly-label{font-size:7px;letter-spacing:1px;color:#7e9085}.total-number{display:flex;align-items:baseline;gap:6px;margin-top:3px;font-variant-numeric:tabular-nums}.total-number strong{font-size:25px;font-weight:500;letter-spacing:-.6px}.total-number>span{font-size:10px;color:#8e9e93}.button-copy{background:var(--lime);color:#273c22;font-size:10px;min-height:44px;padding:10px 15px;white-space:nowrap}.button-copy:hover{background:#d6f6aa}.copy-message:empty{display:none}.copy-message{font-size:11px;color:#d4eeac;margin:13px 0 0}.local-note{display:flex;justify-content:center;gap:6px;align-items:center;color:#97a18e;font-size:9px;margin:16px 0 0}.local-note svg{width:13px;height:13px}.reference-card{padding:24px}.reference-card h2{font-size:12px}.muted-icon{width:17px;height:17px;color:#91a187}.rate{display:flex;flex-direction:column;margin-top:14px}.rate strong{font-size:46px;font-weight:400;letter-spacing:-2px;line-height:1.15}.rate span{font-size:10px;color:#94a08b;margin-top:4px}.reference-line{display:flex;justify-content:space-between;font-size:9px;color:#93a08a;margin:27px 0 11px;padding-bottom:10px;border-bottom:1px solid var(--line)}.seed-summary{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px}.seed-summary>span{display:flex;align-items:center;gap:8px}.seed-summary svg{width:14px;height:14px;color:#9ca891}.seed-summary strong{font-size:11px;font-weight:600}.body-small{font-size:10px;line-height:1.7;color:#9aa291;margin:10px 0 23px}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:10px;color:#54754a;font-weight:600;min-height:32px}.text-link svg{width:15px;height:15px}.notice{display:flex;gap:12px;background:#eef2e6;border:1px solid #e1e8d7;border-radius:14px;padding:19px 17px;margin-top:18px;color:#748363}.notice-icon{padding-top:1px}.notice svg{width:17px;height:17px}.notice h3{font-size:11px;font-weight:600;color:#637750;margin:0 0 7px}.notice p{font-size:10px;line-height:1.8;margin:0}.notice p+p{margin-top:9px}.shelly-help{padding:24px 12px;display:flex;gap:12px}.plug-mark{color:#92a87b;font-size:26px;line-height:1}.shelly-help h3{font-size:11px;font-weight:600;margin:0 0 8px}.shelly-help p{font-size:10px;color:#929e89;line-height:1.8;margin:0 0 10px}.shelly-help strong{font-weight:600}.app-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:21px 0 25px;margin-top:37px;font-size:9px;color:#a3ada1}.app-footer>span:first-child{font-weight:600;color:#7e8c78}.calibration-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:25px;align-items:start}.form-grid,.duration-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.duration-grid{grid-template-columns:repeat(3,1fr)}.form-grid label,.duration-grid label,.form-label{font-size:12px;color:#6a7b6c;display:block}input:not(.percent-number input),select,textarea{border:1px solid #dbe3d6;border-radius:9px;background:#f9fbf6;min-height:49px;color:var(--ink);padding:11px 13px;width:100%;margin-top:7px}textarea{resize:vertical}.form-label{margin-top:17px}.optional{color:#9aa38e;font-size:10px}fieldset{border:0;padding:0;margin:20px 0 0;min-width:0}legend{font-size:12px;margin-bottom:7px;color:#687a69}.full-width{width:100%;margin-top:15px}.calibration-notice{margin:0 0 20px}.history-card{padding-bottom:12px}.history-card .section-top{margin-bottom:10px}.history-item{padding:17px 0;border-top:1px solid var(--line)}.history-item:first-child{border-top:0}.history-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.history-item-top strong{font-size:15px;font-weight:550}.history-item-top span{font-size:10px;color:#78946a}.history-meta{font-size:11px;color:#7e8c76;margin:5px 0}.history-note{font-size:11px;color:#8b9783;overflow-wrap:anywhere;margin:5px 0}.history-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;color:#9aa58e}.delete-button{border:0;background:transparent;color:#986355;padding:10px 4px;min-height:44px;font-size:11px}.backup-card{margin:25px 3px 0}.backup-card h3{font-size:13px;margin:0}.backup-card p{font-size:11px;color:#83907b}.backup-actions{display:flex;flex-wrap:wrap;gap:10px}.button-secondary{background:#fff;border:1px solid #d8e1d0;color:#506b43;font-size:11px}.button-secondary:hover{background:#edf3e6}.error-message{font-size:12px;color:#a23f34;margin:15px 0 0}.success-message{font-size:12px;color:#397147;margin:10px 0 0}.success-message:empty{display:none}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.guide-steps{list-style:none;counter-reset:step;padding:0;margin:23px 0}.guide-steps li{counter-increment:step;display:flex;gap:14px;margin:0 0 22px}.guide-steps li:before{content:counter(step);flex:0 0 25px;height:25px;border-radius:50%;background:#eaf2e3;color:#698059;display:grid;place-items:center;font-size:11px}.guide-steps h3,.guide-subsection h3{font-size:12px;margin:1px 0 7px;font-weight:600}.guide-steps p,.guide-subsection p,.guide-footnote{font-size:12px;color:#819077;line-height:1.8;margin:0}.guide-footnote{border-top:1px solid var(--line);padding-top:20px}.guide-subsection{border-top:1px solid var(--line);padding-top:20px}.guide-subsection p{margin-bottom:20px}.guide-steps .button{margin-top:15px}.guide-warning{margin-top:24px}.storage-warning{position:fixed;bottom:20px;left:260px;right:20px;padding:15px 20px;background:#fff1d6;border:1px solid #d3b36c;border-radius:12px;font-size:12px;z-index:50}.update-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:15px 20px;background:#fff;border:1px solid #c8d6bc;box-shadow:0 8px 30px #0002;border-radius:15px;display:flex;gap:20px;align-items:center;z-index:40;font-size:12px}dialog{border:1px solid #dbe3d4;border-radius:20px;padding:28px;max-width:calc(100vw - 32px);width:390px;box-shadow:0 20px 70px #0003;color:var(--ink)}dialog::backdrop{background:#10251c70}dialog p{font-size:13px;color:#7a8871}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.button-danger{background:#9b4c3c;color:white}
@media(min-width:1550px){main{padding-top:55px}.calculator-layout{grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr)}.percent-number input{font-size:44px}.number-control{padding:16px 12px}.time-display strong{font-size:72px}.card,.result-card{padding:30px}}
@media(max-width:1180px){.sidebar{width:205px;padding-left:18px;padding-right:18px}.workspace{margin-left:205px;width:calc(100% - 205px)}.brand{font-size:21px}.brand small{font-size:7px;letter-spacing:1.5px}.topbar{padding:0 30px}main{padding:35px 30px 0}.calculator-layout{gap:18px;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr)}.card,.result-card{padding:22px}.percent-grid{gap:12px}.number-control{padding:7px 3px}.percent-number input{font-size:30px}.number-control>button{min-width:25px}.time-display{gap:14px}.time-display strong{font-size:51px}.time-display b{font-size:37px}.shelly-result{flex-wrap:wrap}.button-copy{flex:1}.calibration-layout,.guide-grid{gap:18px}.storage-warning{left:225px}}
@media(max-width:960px) and (min-width:761px){.calculator-layout{grid-template-columns:minmax(0,1fr)}.insight-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.insight-column .notice{margin-top:0}.shelly-help{grid-column:1 / -1;padding:10px}.calibration-layout,.guide-grid{grid-template-columns:1fr}.time-display strong{font-size:70px}.shelly-result{flex-wrap:nowrap}.button-copy{flex:0}.percent-number input{font-size:40px}}
@media(max-width:760px){body{font-size:14px}.app-shell{display:block}.sidebar{width:auto;inset:auto 0 0;height:74px;padding:0 18px;padding-bottom:env(safe-area-inset-bottom);background:#fffefc;border-top:1px solid var(--line);border-right:0}.brand,.sidebar-label,.sidebar-bottom{display:none}.navigation{display:flex;justify-content:space-around;height:100%;gap:5px}.nav-item{min-height:60px;flex:1;flex-direction:column;justify-content:center;gap:4px;font-size:10px;border-radius:0;padding:9px 5px;position:relative}.nav-item.active{background:transparent;color:#2e663d}.nav-item.active:before{content:"";position:absolute;top:0;width:30px;height:3px;border-radius:0 0 4px 4px;background:#477c4d}.nav-item svg{width:21px;height:21px}.count{display:none}.workspace{margin:0;width:100%}.topbar{height:66px;padding:0 22px}.vehicle{font-size:9px;gap:7px;letter-spacing:.9px}.model-year{font-size:8px;padding:1px 4px}.connection{font-size:9px;gap:5px;max-width:140px;line-height:1.4}.connection>span:first-child{flex-shrink:0}main{padding:28px 20px 80px}.page-heading{margin-bottom:26px}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:12px}h1{font-size:34px;letter-spacing:-1.3px}.subtitle{font-size:11px;max-width:280px;line-height:1.7;margin-top:13px}.heading-badge{display:none}.calculator-layout{grid-template-columns:1fr;gap:24px}.card{padding:22px}.section-top{margin-bottom:21px}h2{font-size:14px}.percent-grid{gap:14px}.percent-field label{font-size:11px;margin-bottom:10px}.number-control{padding:9px 4px}.number-control>button{min-width:30px;min-height:44px}.percent-number input{font-size:34px;width:2.15em}.percent-number span{font-size:14px}.field-caption{font-size:8px}.calculate-button{min-height:52px;font-size:13px;margin-top:22px}.result-card{padding:23px;margin-top:17px}.result-top h2{font-size:12px}.time-display{gap:20px;margin:24px 0 20px}.time-display strong{font-size:58px}.time-display b{font-size:40px}.time-display>div>span{font-size:7px}.shelly-result{gap:13px;flex-wrap:wrap}.button-copy{font-size:12px;min-height:48px}.total-number strong{font-size:27px}.shelly-label{font-size:7px}.shelly-result>div{flex:1}.local-note{font-size:9px}.reference-card{padding:23px}.reference-card .section-top{margin-bottom:15px}.reference-card h2{font-size:13px}.rate{flex-direction:row;align-items:baseline;gap:12px}.rate strong{font-size:38px}.rate span{font-size:11px}.reference-line{font-size:11px;margin-top:20px}.seed-summary,.seed-summary strong{font-size:13px}.body-small{font-size:11px;margin-bottom:15px}.text-link{font-size:12px;min-height:44px}.notice{padding:19px;gap:12px}.notice h3{font-size:12px}.notice p{font-size:11px}.shelly-help{padding:25px 7px 0}.shelly-help h3{font-size:12px}.shelly-help p{font-size:11px}.app-footer{margin-top:26px;font-size:8px;padding:20px 0}.calibration-layout,.guide-grid{grid-template-columns:1fr;gap:22px}.calibration-notice{margin-top:0}.form-grid label,.duration-grid label,.form-label{font-size:13px}.history-item-top strong{font-size:16px}.history-item-top span{font-size:10px}.history-meta,.history-note{font-size:12px}.history-actions{font-size:10px}.backup-card p{font-size:12px}.button-secondary{font-size:12px}.guide-steps h3,.guide-subsection h3{font-size:13px}.storage-warning{left:12px;right:12px;bottom:85px;font-size:11px}.update-banner{bottom:90px;left:12px;right:12px;transform:none;font-size:11px;padding:12px;gap:10px}.update-banner .button{padding:9px 12px;min-height:44px}.guide-page .page-heading{margin-bottom:26px}}
@media(max-width:370px){main{padding-left:14px;padding-right:14px}.topbar{padding:0 16px}.card,.result-card{padding:18px}.percent-grid{gap:10px}.number-control>button{min-width:24px}.percent-number input{font-size:30px}.time-display{gap:14px}.time-display strong{font-size:52px}.shelly-result{display:block}.button-copy{width:100%;margin-top:15px}.heading-badge{display:none}.status-badge{font-size:6px}.rate{gap:8px}.rate span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.number-control{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:8px}.percent-number{grid-column:1/-1;grid-row:1;padding-top:3px}.number-control>button{grid-row:2;width:100%;min-width:44px;min-height:44px;font-size:24px;background:#edf2e7}.target-field .number-control>button{background:#e3edd9}.percent-number input{width:2.3em}.percent-field label{line-height:1.5}.button-copy{flex:1 1 145px}}
