@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html,body{min-height:100%;margin:0}body{min-width:320px;min-height:100vh;color:var(--text-color,#1a1d27);background-color:var(--page-bg-2,#ebedf5);background-image:linear-gradient(180deg, var(--page-bg-1,#f6f7fc) 0%, var(--page-bg-2,#ebedf5) 100%);background-attachment:fixed;justify-content:center;align-items:flex-start;padding-inline:1.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;display:flex}:root,:root[data-theme=light]{--primary-color:#5b50f5;--primary-strong:#4a3fe0;--accent-2:#9b5cf6;--background-secondary:#fff;--background-tertiary:#eef0f7;--form-bg-color:#f5f6fb;--text-color:#1a1d27;--text-secondary:#646b7c;--label-color:#3a3f4a;--border-color:#e6e8f2;--border-strong:#cdd1e0;--success-color:#10c46a;--shadow-sm:0 1px 2px #14163c0d, 0 1px 3px #14163c0f;--shadow-md:0 8px 22px -12px #28246e2e;--shadow-lg:0 16px 38px -18px #28246e38;--field-bg:#fff;--field-bg-focus:#fff;--highlight-color:#4a3fe0;--focus-ring:#5b50f533;--result-gradient-1:#1ad07e;--result-gradient-2:#06b56c;--missing-inputs-gradient-1:#8b93a4;--missing-inputs-gradient-2:#5b6473;--cells-info-bg:#f3f4fb;--parallel-bg:#5b50f512;--parallel-border:#5b50f538;--card-bg:#fff;--card-border:var(--border-color);--page-bg-1:#f6f7fc;--page-bg-2:#ebedf5}:root[data-theme=dark]{--primary-color:#8b80ff;--primary-strong:#aaa2ff;--accent-2:#c08cff;--background-secondary:#1b1e26;--background-tertiary:#252a35;--form-bg-color:#181b22;--text-color:#edeff5;--text-secondary:#99a0b0;--label-color:#c3c8d3;--border-color:#2a2f3b;--border-strong:#394050;--success-color:#2ee884;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 22px -12px #0000008c;--shadow-lg:0 16px 38px -18px #0009;--field-bg:#1e222c;--field-bg-focus:#252b36;--highlight-color:#aaa2ff;--focus-ring:#8b80ff57;--result-gradient-1:#14c074;--result-gradient-2:#0a9d60;--missing-inputs-gradient-1:#3b414e;--missing-inputs-gradient-2:#282d38;--cells-info-bg:#1b1f28;--parallel-bg:#8b80ff26;--parallel-border:#8b80ff57;--card-bg:#191c24;--card-border:var(--border-color);--page-bg-1:#161922;--page-bg-2:#0f1118}.app-shell{width:100%;max-width:1600px;margin:2.5rem auto}.battery-calculator{background-color:var(--card-bg);border:1px solid var(--card-border);width:100%;box-shadow:var(--shadow-lg);border-radius:18px;padding:2.5rem 2.75rem 2rem;animation:.6s cubic-bezier(.16,1,.3,1) both rise;position:relative;overflow:hidden}.theme-toggle{border:1px solid var(--border-strong);background-color:var(--field-bg);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;z-index:3;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .16s,border-color .16s,background-color .16s,transform .12s;display:inline-flex;position:absolute;top:1.1rem;right:1.1rem}.theme-toggle:hover{color:var(--primary-color);border-color:var(--primary-color);transform:translateY(-1px)}.theme-icon{display:block}h1{color:var(--text-color);text-align:center;letter-spacing:-.03em;margin:.25rem 0 .4rem;font-size:clamp(1.9rem,4vw,2.5rem);font-weight:700;line-height:1.1}.app-subtitle{text-align:center;max-width:42rem;color:var(--text-secondary);margin:0 auto 2.25rem;font-size:1.02rem;font-weight:450}.main-columns{grid-template-columns:minmax(0,2.1fr) minmax(340px,1fr);align-items:start;gap:2rem;display:grid}.form-column,.result-column{min-width:0}@media (width>=961px){.result-column{align-self:center}.result-column .result-wrapper{flex-flow:column;align-items:stretch;margin-top:0}.result-column .result,.result-column .cells-info{flex:none;max-width:none}}@media (width<=960px){.main-columns{grid-template-columns:1fr;gap:1.5rem}}.calculator-form{background-color:var(--form-bg-color);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:18px;flex-direction:column;gap:1.5rem;margin-bottom:1.75rem;padding:1.5rem;display:flex}.form-section{flex-direction:column;gap:1.05rem;display:flex}.form-section-title{letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color);margin:0;padding-bottom:.55rem;font-size:.74rem;font-weight:700}.form-section-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.05rem 1.25rem;display:grid}.battery-presets{flex-direction:column;grid-column:1/-1;gap:.6rem;display:flex}.battery-presets-label{letter-spacing:.01em;text-transform:none;color:var(--text-secondary);font-size:.7rem;font-weight:500}.preset-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.preset-button{border:1px solid var(--border-strong);background-color:var(--field-bg);color:var(--text-color);cursor:pointer;border-radius:980px;padding:.25rem .6rem;font-size:.74rem;font-weight:600;transition:border-color .16s,background-color .16s,color .16s}.preset-button:hover{border-color:var(--primary-color)}.preset-button.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.duty-mode-tabs{background-color:var(--background-tertiary);border:1px solid var(--border-color);border-radius:10px;grid-column:1/-1;align-self:start;gap:.2rem;width:fit-content;padding:.2rem;display:inline-flex}.duty-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.32rem .95rem;font-size:.82rem;font-weight:600;transition:background-color .16s,color .16s}.duty-tab.active{background-color:var(--card-bg);color:var(--text-color);box-shadow:var(--shadow-sm)}.duty-simple-note{color:var(--text-secondary);grid-column:1/-1;margin:0;font-size:.8rem}.schedule-editor{flex-direction:column;grid-column:1/-1;gap:.85rem;display:flex}.task-row{border:1px solid var(--border-color);background-color:var(--card-bg);border-radius:12px;padding:.85rem}.task-row-head{align-items:center;gap:.5rem;margin-bottom:.8rem;display:flex}.task-label-input{border:1px solid var(--border-strong);background-color:var(--field-bg);min-width:0;height:34px;color:var(--text-color);border-radius:9px;flex:1;padding:0 .6rem;font-size:.9rem;font-weight:600}.task-remove{border:1px solid var(--border-strong);background-color:var(--field-bg);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .16s,border-color .16s;display:inline-flex}.task-remove:hover{color:#e0322f;border-color:#e0322f}:root[data-theme=dark] .task-remove:hover{color:#ff6b6b;border-color:#ff6b6b}.task-row-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem 1rem;display:grid}.add-task-button{border:1px dashed var(--border-strong);color:var(--primary-color);cursor:pointer;background:0 0;border-radius:980px;align-self:start;padding:.42rem .95rem;font-size:.82rem;font-weight:600;transition:border-color .16s,background-color .16s}.add-task-button:hover{border-color:var(--primary-color);background-color:var(--parallel-bg)}@media (width<=700px){.app-shell{margin:1.25rem auto}.battery-calculator{border-radius:20px;padding:1.75rem 1.25rem}}.form-group{flex-direction:column;display:flex;position:relative}label{letter-spacing:.01em;text-transform:uppercase;color:var(--label-color);cursor:pointer;margin-bottom:.4rem;font-size:.78rem;font-weight:600}.field-description{color:var(--text-secondary);margin-top:.4rem;font-size:.78rem;line-height:1.35;display:block}.convert-hint{align-items:center;gap:.35rem;margin-top:.4rem;display:flex}.convert-hint-convert{text-align:left;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.78rem;line-height:1.35}.convert-hint-action{color:var(--primary-color);font-weight:600}.convert-hint-convert:hover .convert-hint-action{text-decoration:underline}.convert-hint-dismiss{width:20px;height:20px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .16s,background-color .16s;display:inline-flex}.convert-hint-dismiss:hover{color:var(--text-color);background-color:var(--field-bg)}.input-with-unit{border:1px solid var(--border-strong);background-color:var(--field-bg);border-radius:11px;width:100%;max-width:210px;height:42px;transition:border-color .18s,box-shadow .18s,background-color .18s;display:flex;overflow:hidden}.input-with-unit.full-width{max-width:none}.input-with-unit:focus-within{border-color:var(--primary-color);background-color:var(--field-bg-focus);box-shadow:0 0 0 4px var(--focus-ring)}.input-with-unit input{min-width:0;height:100%;color:var(--text-color);font-variant-numeric:tabular-nums;background-color:#0000;border:none;flex:1;padding-left:1rem;font-size:.95rem;font-weight:500}.unit-select{border-left:1px solid var(--border-color);flex-shrink:0;max-width:130px;height:100%;position:relative}.unit-select select{width:100%;height:100%;color:var(--text-secondary);background-color:#0000;border:none;border-radius:0;padding-left:.85rem;padding-right:2rem;font-weight:500}input,select{border:1px solid var(--border-strong);appearance:none;background-color:var(--field-bg);height:42px;color:var(--text-color);border-radius:11px;padding:.75rem;font-family:inherit;font-size:.95rem;transition:border-color .18s,box-shadow .18s,background-color .18s}input[type=number]{text-align:center;font-variant-numeric:tabular-nums;font-weight:500}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input:focus,select:focus{border-color:var(--primary-color);background-color:var(--field-bg-focus);box-shadow:0 0 0 4px var(--focus-ring);outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}select{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8f98' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:.85em;padding-right:2.5rem}select:disabled{opacity:1;color:var(--text-secondary);cursor:default;background-image:none}.full-width{width:100%}.full-width select{text-align:left;width:100%;padding-left:1rem}.cell-count-controls{align-items:flex-start;gap:1rem;display:flex}.cell-mode-selector{flex:1}.cell-mode-selector select{width:100%}.manual-cell-input{width:88px}.manual-cell-input input{text-align:center;width:100%}.min-cells-note{color:var(--primary-color);font-weight:600}.example-button-container{justify-content:center;gap:.75rem;margin:0 0 .5rem;display:flex}.example-button{background-color:var(--background-secondary);color:var(--text-color);border:1px solid var(--border-strong);cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap;border-radius:980px;padding:.5rem 1.25rem;font-family:inherit;font-size:.88rem;font-weight:600;transition:transform .12s,background-color .18s,border-color .18s,color .18s,box-shadow .18s}.example-button:hover{border-color:var(--primary-color);color:var(--primary-color);box-shadow:0 6px 16px -8px var(--focus-ring);transform:translateY(-1px)}.example-button:active{transform:translateY(0)}.example-button-container .example-button:last-child{background-color:var(--primary-color);color:#fff;border-color:#0000}.example-button-container .example-button:last-child:hover{background-color:var(--primary-strong);color:#fff;box-shadow:var(--shadow-sm)}.result-wrapper{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.5rem;margin-top:2rem;display:flex;position:relative}.result{background:linear-gradient(150deg, var(--result-gradient-1), var(--result-gradient-2));color:#fff;border-radius:16px;flex:340px;max-width:520px;margin:0;padding:1.75rem 2.25rem 1.9rem;animation:.5s cubic-bezier(.16,1,.3,1) both rise;position:relative;box-shadow:0 10px 24px -16px #11a36b73,inset 0 1px #ffffff2e}.result:after{content:"";background:linear-gradient(150deg, var(--result-gradient-1), var(--result-gradient-2));border-radius:0 5px 5px 0;width:9px;height:32%;position:absolute;top:50%;right:-9px;transform:translateY(-50%)}.result>.battery-texture{pointer-events:none;border-radius:inherit;background:radial-gradient(120% 80% at 50% -20%,#ffffff29,#0000 60%),linear-gradient(#ffffff0f,#0000 30%);position:absolute;inset:0}.result h2{letter-spacing:.08em;text-transform:uppercase;text-align:center;opacity:.85;z-index:2;margin:0 0 .75rem;font-size:.82rem;font-weight:700;position:relative}.missing-inputs{background:linear-gradient(150deg, var(--missing-inputs-gradient-1), var(--missing-inputs-gradient-2));box-shadow:0 18px 40px -20px #00000073,inset 0 1px #ffffff2e}.result.missing-inputs:after{background:linear-gradient(150deg, var(--missing-inputs-gradient-1), var(--missing-inputs-gradient-2))}.battery-display{z-index:2;justify-content:center;align-items:center;min-height:120px;display:flex;position:relative}.battery-info{text-align:center;flex:1;animation:.45s cubic-bezier(.16,1,.3,1) both pop}.battery-info p{margin:0}.battery-primary{letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #0000001f;font-size:clamp(1.9rem,2.4vw,2.5rem);font-weight:700;line-height:1.08;margin-bottom:.5rem!important}.battery-alt{color:#fffc;font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:500;line-height:1.5}.empty-result{opacity:.85}.placeholder-text{color:#fff9!important;font-size:3rem!important;font-weight:300!important}.battery-hint{text-align:center;color:#fffffff2;z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:120px;padding:.5rem 0;font-size:1rem;display:flex;position:relative}.battery-hint p{margin:0;font-weight:500}.example-configs{flex-direction:column;gap:.35rem;width:100%;max-width:230px;display:flex}.example-config-button{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:none;background-color:#ffffff29;border:1px solid #ffffff52;border-radius:980px;padding:.38rem .9rem;font-size:.82rem;font-weight:600;transition:background-color .16s,color .16s,border-color .16s,transform .16s;color:#fff!important}.example-config-button:hover{background-color:#fffffff2;border-color:#0000;transform:translateY(-1px);color:#1d1d1f!important}.cells-info{max-width:360px;color:var(--text-color);text-align:center;background-color:var(--background-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:18px;flex-direction:column;flex:280px;justify-content:center;align-items:center;margin:0;padding:1.25rem 1.5rem;font-size:.95rem;line-height:1.5;display:flex}.cells-info.using-parallel{background-color:var(--parallel-bg);border-color:var(--parallel-border)}.cells-info svg{width:100%;max-width:280px;max-height:220px;margin:1rem auto .25rem;display:block}.parallel-warning{color:#e0322f;margin-bottom:.3rem;display:block;font-weight:700!important}:root[data-theme=dark] .parallel-warning{color:#ff6b6b}.cells-note{color:var(--text-secondary);margin-top:.45rem;display:block;font-size:.8rem!important}.validation-notes{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.validation-note{border:1px solid #0000;border-radius:10px;margin:0;padding:.55rem .75rem;font-size:.82rem;line-height:1.4}.validation-note.warning{color:#8a1f1d;background:#e0322f14;border-color:#e0322f40}.validation-note.info{color:var(--text-secondary);background:#7f7f7f14;border-color:#7f7f7f33}:root[data-theme=dark] .validation-note.warning{color:#ff9b99;background:#ff6b6b1a;border-color:#ff6b6b47}.notification{background-color:var(--success-color);color:#fff;z-index:1000;pointer-events:none;border-radius:980px;padding:.75rem 1.4rem;font-size:.9rem;font-weight:600;animation:3s fadeInOut;position:fixed;top:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 12px 30px -8px #2bb24c80}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-12px)}12%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-12px)}}.disclaimer-container{text-align:center;margin:2.5rem auto 0}.footer-links{justify-content:center;align-items:center;gap:1rem;display:flex}.disclaimer-toggle{box-shadow:none;color:var(--label-color);cursor:pointer;opacity:.85;background:0 0;border:none;border-radius:980px;align-items:center;padding:.45rem .9rem;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .18s,background-color .18s,opacity .18s;display:inline-flex}.disclaimer-toggle:hover{color:var(--primary-color);background-color:var(--background-tertiary);opacity:1}.toggle-arrow{margin-left:.45rem;font-size:.6rem;transition:transform .3s}.toggle-arrow.expanded{transform:rotate(180deg)}.disclaimer-section{background-color:var(--background-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-md);text-align:left;border-radius:18px;max-width:820px;margin:1rem auto 1.5rem;padding:1.75rem;animation:.35s ease-out both rise}.disclaimer-section h3{color:var(--text-color);margin:0 0 .7rem;font-size:1.15rem;font-weight:700}.calculation-methodology,.legal-disclaimer{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.calculation-methodology code{background-color:var(--background-tertiary);color:var(--highlight-color);border-radius:6px;padding:.18rem .45rem;font-family:SF Mono,SFMono-Regular,ui-monospace,monospace;font-size:.88rem}.calculation-methodology ul,.legal-disclaimer ul{margin:.75rem 0;padding-left:1.4rem}.calculation-methodology li,.legal-disclaimer li{margin-bottom:.4rem}.legal-disclaimer p:last-child{opacity:.9;margin-top:1rem;font-size:.9rem;font-style:italic}@media (width<=600px){.disclaimer-section{padding:1.25rem}.disclaimer-toggle{width:90%;max-width:320px}}.battery-configuration-svg{filter:drop-shadow(0 8px 14px #1018281f)}.battery-configuration-svg .bc-cell{fill:var(--background-secondary);stroke:var(--primary-color);stroke-width:2px;rx:5px;ry:5px}.battery-configuration-svg .bc-nub{fill:var(--primary-color);rx:1.5px;ry:1.5px}.battery-configuration-svg .bc-wire{stroke:var(--text-secondary);stroke-width:2px;stroke-linecap:round}.battery-configuration-svg .bc-bus{stroke:var(--primary-color);stroke-width:2.5px;stroke-linecap:round}.battery-configuration-svg .bc-label{fill:var(--text-secondary);text-anchor:middle;dominant-baseline:central;font-family:inherit;font-size:15px;font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
