.storage-calculator-page{--tool-field:#f7faf7;--tool-line-strong:#7f8c83}.storage-tool__heading{background:var(--night);color:var(--on-night);border:1px solid #354139;grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);align-items:end;gap:clamp(2rem,6vw,8rem);margin-top:clamp(2rem,4vw,4rem);padding-block:clamp(4.5rem,9vw,9rem) clamp(3rem,6vw,5rem);padding-inline:clamp(1.5rem,4vw,3.5rem);display:grid}.storage-tool__heading h1{letter-spacing:-.065em;max-width:11ch;margin:1.2rem 0 0;font-size:clamp(2.8rem,5.4vw,5.8rem);font-weight:830;line-height:.93}.storage-tool__intro>p{color:#9eaaa2;margin:0;font-size:clamp(1.05rem,1.7vw,1.25rem)}.storage-tool__meta{border-top:1px solid var(--rule);margin:2rem 0 0}.storage-tool__meta div{border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;gap:1rem;padding-block:.65rem;display:grid}.storage-tool__meta dt,.storage-tool__meta dd{font-family:var(--font-mono);margin:0;font-size:.72rem}.storage-tool__meta dt{color:#819087}.storage-workspace{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr);align-items:start;gap:clamp(2rem,4vw,5rem);padding-block:clamp(3rem,6vw,6rem);display:grid}.storage-form{min-width:0}.storage-form__utility{border-bottom:1px solid var(--ink);min-height:3rem;color:var(--ink-muted);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.8rem;font-size:.7rem;display:flex}.storage-form__utility>div{gap:.35rem;display:flex}.storage-text-button,.storage-add-button,.storage-group__actions button{cursor:pointer;background:0 0;border:0;min-height:2.75rem;font-weight:760}.storage-text-button{text-underline-offset:.25em;padding-inline:.7rem;text-decoration:underline}.storage-text-button--danger{color:var(--signal-dark)}.storage-error-summary{border-left:4px solid var(--alarm);background:var(--warning);margin-top:1.5rem;padding:1rem 1.1rem}.storage-error-summary h2{margin:0 0 .4rem;font-size:1rem}.storage-error-summary ul{margin:0;padding-left:1.2rem}.storage-error-summary a{color:var(--signal-dark);font-weight:720}.storage-mode,.storage-plan{border:0;min-width:0;margin:0;padding:2rem 0 0}.storage-mode legend,.storage-plan legend{letter-spacing:-.04em;align-items:baseline;gap:1rem;width:100%;font-size:clamp(1.35rem,2.3vw,2rem);font-weight:820;display:flex}.storage-mode legend span,.storage-plan legend span,.storage-section-heading>div>span{font-family:var(--font-mono);letter-spacing:.06em;font-size:.7rem}.storage-mode__options{border:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.1rem;display:grid}.storage-mode__options label{cursor:pointer;position:relative}.storage-mode__options label+label{border-left:1px solid var(--ink)}.storage-mode__options input{opacity:0;width:1px;height:1px;position:absolute}.storage-mode__options span{align-content:center;gap:.15rem;min-height:5.4rem;padding:.9rem 1rem;transition:background .14s,color .14s;display:grid}.storage-mode__options strong{font-size:1.02rem}.storage-mode__options small{color:inherit;opacity:.68}.storage-mode__options input:checked+span{background:var(--ink);color:var(--paper-bright)}.storage-mode__options input:focus-visible+span{outline:3px solid var(--signal);outline-offset:-4px}.storage-help{color:var(--ink-muted);margin:.75rem 0 0;font-size:.84rem}.storage-input-section{padding-top:3rem}.storage-section-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:.85rem;display:flex}.storage-section-heading>div{align-items:baseline;gap:1rem;display:flex}.storage-section-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.35rem,2.3vw,2rem)}.storage-add-button{border:1px solid var(--ink);align-items:center;gap:1.2rem;padding-inline:.8rem;display:inline-flex}.storage-add-button:hover{background:var(--ink);color:var(--paper-bright)}.storage-group{border:1px solid var(--tool-line-strong);background:var(--tool-field);margin-top:1.5rem;padding:clamp(1rem,2.5vw,1.7rem)}.storage-group__header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:start;gap:1rem;padding-bottom:1rem;display:flex}.storage-group__number{color:var(--signal-dark);font-family:var(--font-mono);letter-spacing:.06em;margin-bottom:.15rem;font-size:.67rem;font-weight:760;display:block}.storage-group h3{letter-spacing:-.035em;margin:0;font-size:1.22rem}.storage-group__actions{display:flex}.storage-group__actions button{min-height:2.3rem;color:var(--ink-muted);padding-inline:.65rem;font-size:.76rem}.storage-group__actions button:hover{color:var(--ink);text-decoration:underline}.storage-group__actions button:disabled{cursor:not-allowed;opacity:.35}.storage-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.storage-field-grid--plan{margin-top:1.25rem}[data-mode-fields][hidden]{display:none}.storage-field{align-content:start;gap:.32rem;min-width:0;display:grid}.storage-field--wide{grid-column:1/-1}.storage-field>span:first-child{justify-content:space-between;align-items:baseline;gap:.5rem;min-height:1.55rem;font-size:.78rem;font-weight:760;display:flex}.storage-field em{color:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.04em;font-size:.66rem;font-style:normal;font-weight:600}.storage-field input,.storage-field select{border:1px solid var(--rule);background:var(--paper-bright);width:100%;min-height:3rem;color:var(--ink);border-radius:2px;padding:.68rem .72rem}.storage-field input:hover,.storage-field select:hover{border-color:var(--tool-line-strong)}.storage-field input[aria-invalid=true],.storage-field select[aria-invalid=true]{border-color:var(--signal-dark);box-shadow:inset 3px 0 var(--signal)}.storage-field small{min-height:1.2em;color:var(--ink-muted);font-size:.72rem}.storage-field__error{min-height:0;color:var(--signal-dark);font-size:.72rem;font-weight:720}.storage-field__error:empty{display:none}.storage-check{border:1px solid var(--rule);cursor:pointer;align-items:flex-start;gap:.8rem;min-height:4.5rem;padding:.8rem;display:flex}.storage-check input{width:1.15rem;height:1.15rem;accent-color:var(--signal);margin:.2rem 0 0}.storage-check>span{gap:.12rem;display:grid}.storage-check strong{font-size:.82rem}.storage-check small{color:var(--ink-muted);font-size:.72rem}.storage-group__divider{color:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.05em;align-items:center;gap:.7rem;margin-top:1.5rem;font-size:.65rem;display:flex}.storage-group__divider:after{content:"";background:var(--rule);flex:1;height:1px}.storage-results{background:var(--night);min-width:0;color:var(--on-night);border:1px solid #354139;padding:clamp(1.3rem,2.7vw,2rem);position:sticky;top:1.5rem}.storage-results.is-updated{animation:.42s ease-out result-update}@keyframes result-update{0%{box-shadow:inset 5px 0 var(--signal)}to{box-shadow:inset 0 0 #0000}}.storage-results__head{border-bottom:1px solid #e7ece840;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.storage-results .status-label{border-color:#e7ece880}.storage-results__state{color:#e7ece8b3;font-family:var(--font-mono);margin:0;font-size:.68rem}.storage-results h2{color:#e7ece8b8;margin:2rem 0 0;font-size:.84rem;font-weight:650}.storage-results__primary{margin:.15rem 0 0}.storage-results__primary strong{color:var(--signal);font-family:var(--font-mono);letter-spacing:-.08em;font-size:clamp(2.6rem,5vw,5rem);line-height:1}.storage-results__explain{color:#e7ece8b3;margin:.65rem 0 0;font-size:.85rem}.storage-results__metrics{border-top:1px solid #e7ece840;margin:2rem 0 0}.storage-results__metrics div{border-bottom:1px solid #e7ece82e;grid-template-columns:1fr auto;gap:1rem;padding-block:.8rem;display:grid}.storage-results__metrics dt{color:#e7ece8a6;font-size:.76rem}.storage-results__metrics dd{font-family:var(--font-mono);text-align:right;margin:0;font-size:.78rem}.storage-breakdown{margin-top:2rem}.storage-breakdown h3{margin:0 0 .6rem;font-size:.78rem}.storage-breakdown__scroll{overflow-x:auto}.storage-breakdown table{border-collapse:collapse;width:100%;font-size:.68rem}.storage-breakdown th,.storage-breakdown td{text-align:right;white-space:nowrap;border-bottom:1px solid #e7ece829;padding:.5rem .35rem}.storage-breakdown th:first-child,.storage-breakdown td:first-child{text-align:left;text-overflow:ellipsis;max-width:8rem;padding-left:0;overflow:hidden}.storage-breakdown th{color:#e7ece88f;font-weight:600}.storage-breakdown td{font-family:var(--font-mono)}.storage-result-warnings{gap:.5rem;margin-top:1.5rem;display:grid}.storage-result-warnings:empty{display:none}.storage-result-warnings p{border-left:3px solid var(--alarm);color:#e7ece8;background:#ff604c1f;margin:0;padding:.65rem .75rem;font-size:.72rem}.storage-results__updated{color:#e7ece880;font-family:var(--font-mono);margin:1.5rem 0 0;font-size:.63rem}.storage-method{border-top:1px solid var(--ink);padding-block:clamp(3rem,7vw,7rem)}.storage-method__steps{border-top:1px solid var(--ink);margin:3rem 0;padding:0;list-style:none}.storage-method__steps li{border-bottom:1px solid var(--rule);grid-template-columns:5rem minmax(0,1fr);gap:1rem;padding-block:1.1rem;display:grid}.storage-method__steps li>span{font-family:var(--font-mono);font-size:.7rem}.storage-method__steps strong{font-size:1.05rem}.storage-method__steps p{color:var(--ink-muted);margin:.25rem 0 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=980px){.storage-tool__heading{grid-template-columns:1fr}.storage-tool__intro{max-width:42rem}.storage-workspace{grid-template-columns:1fr}.storage-results{position:relative;top:auto}}@media (width<=620px){.storage-tool__heading{padding-top:4rem}.storage-tool__heading h1{font-size:clamp(2.85rem,15vw,5rem)}.storage-form__utility{flex-direction:column;align-items:flex-start}.storage-mode__options,.storage-field-grid{grid-template-columns:1fr}.storage-mode__options label+label{border-top:1px solid var(--ink);border-left:0}.storage-field--wide{grid-column:auto}.storage-section-heading{flex-direction:column;align-items:flex-start}.storage-add-button{justify-content:space-between;width:100%}.storage-group__header{flex-direction:column;align-items:flex-start}.storage-group__actions{justify-content:flex-end;width:100%}.storage-results__metrics div{grid-template-columns:1fr;gap:.15rem}.storage-results__metrics dd{text-align:left}.storage-method__steps li{grid-template-columns:3rem minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.storage-results.is-updated{animation:none}}@page{size:A4 portrait;margin:12mm}@media print{.storage-calculator-page{--tool-field:#fff;color:#000;background:#fff;font-size:10pt}.storage-tool__heading,.storage-workspace,.storage-method{width:100%}.storage-tool__heading{padding:0 0 7mm;display:block}.storage-tool__heading h1{margin-top:3mm;font-size:27pt;line-height:1}.storage-tool__intro{margin-top:5mm}.storage-tool__intro>p{font-size:10pt}.storage-tool__meta{gap:8mm;margin-top:4mm;display:flex}.storage-tool__meta div{border:0;gap:3mm}.storage-workspace{padding:7mm 0;display:block}.storage-mode,.storage-input-section,.storage-plan{break-inside:auto;padding-top:6mm}.storage-mode__options{break-inside:avoid}.storage-mode__options span{min-height:13mm}.storage-group{break-inside:avoid;box-shadow:none;margin-top:5mm;padding:4mm}.storage-field-grid{gap:3mm;margin-top:3mm}.storage-field input,.storage-field select{color:#000;background:#fff;border-color:#777;min-height:8mm;padding:1.5mm 2mm}.storage-check{min-height:auto;padding:2mm}.storage-results{break-inside:avoid;color:#000;box-shadow:none;background:#fff;border:1.5px solid #000;margin-top:8mm;padding:6mm;position:static}.storage-results .status-label,.storage-results__state,.storage-results h2,.storage-results__explain,.storage-results__metrics dt,.storage-results__updated{color:#333}.storage-results__primary strong{color:#000;font-size:30pt}.storage-results__head,.storage-results__metrics,.storage-results__metrics div,.storage-breakdown th,.storage-breakdown td{border-color:#999}.storage-result-warnings p{color:#000;background:#eee;border-color:#000}.storage-method{break-before:page;padding-block:8mm 0}.storage-method .section-heading{grid-template-columns:1fr 1fr}.storage-method .section-heading h2{font-size:24pt}.storage-method__steps{margin-block:6mm}.storage-method__steps li{break-inside:avoid;padding-block:3mm}[hidden]{display:none!important}}
