:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--large-title:2.125rem;--title-1:1.75rem;--title-2:1.375rem;--headline:1.0625rem;--body:1.0625rem;--callout:1rem;--footnote:.8125rem;--caption:.75rem;--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2rem;--s6:3rem;--radius:12px;--radius-sm:9px;--touch:44px;--ease:cubic-bezier(.22, 1, .36, 1);--fast:.2s;--slow:.32s;--bg:#fff;--card:#f2f2f7;--field:#fff;--fill:#7676801f;--fill-strong:#76768033;--label:#000;--label-2:#3c3c43;--label-3:#636366;--separator:#3c3c4338;--accent:#0071e3;--accent-text:#06c;--on-accent:#fff;--green:#34c759;--green-text:#1d7a35;--orange:#ff9500;--orange-text:#b84a00;--red:#ff3b30;--red-text:#c4000f;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000d;--header-bg:#ffffffb8;--code-bg:#f7f7fa;--knob:#fff}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--card:#1c1c1e;--field:#2c2c2e;--fill:#7676803d;--fill-strong:#7676805c;--label:#fff;--label-2:#ebebf5;--label-3:#aeaeb2;--separator:#545458a6;--accent:#0071e3;--accent-text:#409cff;--green:#30d158;--green-text:#30d158;--orange:#ff9f0a;--orange-text:#ff9f0a;--red:#ff453a;--red-text:#ff6961;--shadow:0 1px 2px #0006, 0 6px 20px #00000059;--header-bg:#161617b8;--code-bg:#141416;--knob:#fff}}@media (prefers-contrast:more){:root{--label-2:#000;--label-3:#3a3a3c;--separator:#3c3c4399;--accent-text:#0040dd;--header-bg:#fff}@media (prefers-color-scheme:dark){:root{--label-2:#fff;--label-3:#d1d1d6;--separator:#ebebf580;--accent-text:#6eb4ff;--header-bg:#000}}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--bg);color:var(--label);font-family:var(--font);font-size:var(--body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.47}h2,h3,p,dl,dd,figure,pre{margin:0}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:2px;border-radius:6px}.num{font-variant-numeric:tabular-nums}.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}.skip-link{left:var(--s2);z-index:20;padding:var(--s1) var(--s2);background:var(--accent);color:var(--on-accent);border-radius:var(--radius-sm);position:absolute;top:-100px}.skip-link:focus{top:var(--s1)}.icon{flex:none}.topbar{z-index:10;background:var(--header-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom:.5px solid var(--separator);position:sticky;top:0}.topbar-inner{max-width:960px;padding:0 var(--s2);align-items:center;gap:var(--s2);min-height:52px;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--s1);color:var(--label);font-weight:600;font-size:var(--headline);white-space:nowrap;min-height:var(--touch);display:inline-flex}.brand svg{color:var(--accent)}.brand:hover{text-decoration:none}.topbar nav{scrollbar-width:none;gap:2px;margin-left:auto;display:flex;overflow-x:auto}.topbar nav a{color:var(--label-2);font-size:var(--footnote);min-height:var(--touch);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;padding:0 10px;display:inline-flex}.topbar nav a:hover{color:var(--label);background:var(--fill);text-decoration:none}@media (max-width:720px){.topbar nav{display:none}}main{max-width:960px;padding:0 var(--s2);margin:0 auto}.section{padding:var(--s6) 0 var(--s2);gap:var(--s2);display:grid}.section+.section{border-top:.5px solid var(--separator)}.section-head h2{font-size:var(--title-1);letter-spacing:-.01em;font-weight:700;line-height:1.15}#calculator .section-head h2{font-size:var(--large-title)}.lede{color:var(--label-3);font-size:var(--callout);margin-top:4px}.split{gap:var(--s2);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:820px){.split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}}.card,.group{background:var(--card);border-radius:var(--radius);min-width:0}.card{padding:var(--s2);gap:var(--s1);align-content:start;display:grid}.card-title{font-size:var(--headline);font-weight:600}.card-note{color:var(--label-3);font-size:var(--footnote)}.group{padding:0 0 0 var(--s2);border:0;margin:0}.row{justify-content:space-between;align-items:center;gap:var(--s1) var(--s2);min-height:var(--touch);padding:6px var(--s2) 6px 0;flex-wrap:wrap;display:flex}.row+.row,.row-error+.row{border-top:.5px solid var(--separator)}.row[hidden]{display:none}.row-stack{gap:var(--s1);padding-top:var(--s1);padding-bottom:var(--s2);justify-content:stretch;display:grid}.row-label{font-size:var(--body);color:var(--label)}.row-error{margin:0 var(--s2) var(--s1) 0}.text-input,.cell-input{font:inherit;color:var(--label);background:var(--field);border:.5px solid var(--separator);border-radius:var(--radius-sm);min-height:var(--touch);min-width:0;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);padding:0 12px}.text-input:focus,.cell-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}[aria-invalid=true]{border-color:var(--red)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--red) 18%, transparent)!important}.text-input.num{text-align:right;width:7.5rem;font-weight:600}#service-input{width:12rem}.affix{align-items:center;display:inline-flex;position:relative}.affix .text-input,.affix .cell-input{padding-right:2.2rem}.affix .suffix{color:var(--label-3);pointer-events:none;font-size:var(--callout);position:absolute;right:12px}#custom-days{padding-right:3.4rem}.stepper{align-items:center;gap:6px;display:inline-flex}.volume{gap:var(--s1);flex-wrap:wrap;align-items:center;display:inline-flex}.field-error{color:var(--red-text);font-size:var(--footnote)}.field-error[hidden]{display:none}.icon-button{width:var(--touch);height:var(--touch);background:var(--fill);color:var(--accent-text);cursor:pointer;transition:background var(--fast) var(--ease), transform var(--fast) var(--ease);border:0;border-radius:50%;place-items:center;display:inline-grid}.icon-button:hover{background:var(--fill-strong)}.icon-button:active{transform:scale(.94)}.icon-button.subtle{color:var(--label-3);background:0 0}.icon-button.subtle:hover{color:var(--red-text);background:var(--fill)}.button{font:inherit;font-size:var(--callout);min-height:var(--touch);padding:0 var(--s2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--fast) var(--ease), transform var(--fast) var(--ease), opacity var(--fast);border:0;align-items:center;gap:6px;font-weight:500;display:inline-flex}.button:active{transform:scale(.97)}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}.button.primary{background:var(--accent);color:var(--on-accent)}.button.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000)}.button.secondary{background:var(--fill);color:var(--accent-text)}.button.secondary:hover:not(:disabled){background:var(--fill-strong)}.button.small{font-size:var(--footnote);padding:0 12px}.button.is-done{color:var(--green-text)}.actions{gap:var(--s1);margin-top:var(--s1);flex-wrap:wrap;align-items:center;display:flex}.actions .spacer{flex:1}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:inherit;font-size:var(--footnote);font-variant-numeric:tabular-nums;min-height:36px;min-width:var(--touch);background:var(--fill);color:var(--label);cursor:pointer;transition:background var(--fast) var(--ease), color var(--fast) var(--ease);border:0;border-radius:999px;padding:0 12px;position:relative}.chip:after{content:"";position:absolute;inset:-4px 0}.chip:hover{background:var(--fill-strong)}.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:600}.segmented{border-radius:var(--radius-sm);background:var(--fill);scrollbar-width:none;border:0;max-width:100%;margin:0;padding:2px;display:inline-flex;overflow-x:auto}.segmented label{flex:1 0 auto;position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented span{min-width:3rem;min-height:40px;font-size:var(--footnote);color:var(--label);white-space:nowrap;transition:background var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border-radius:7px;justify-content:center;align-items:center;padding:0 12px;font-weight:500;display:flex}.segmented input:checked+span{background:var(--field);font-weight:600;box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a}.segmented input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:-1px}.segmented.small span{min-width:0;min-height:36px}@media (prefers-color-scheme:dark){.segmented input:checked+span{background:#636366}}.slider{appearance:none;width:100%;height:var(--touch);cursor:pointer;background:0 0;margin:0}.slider::-webkit-slider-runnable-track{background:var(--fill-strong);border-radius:2px;height:4px}.slider::-moz-range-track{background:var(--fill-strong);border-radius:2px;height:4px}.slider::-moz-range-progress{background:var(--accent);border-radius:2px;height:4px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--knob);border:.5px solid #0000000a;border-radius:50%;width:28px;height:28px;margin-top:-12px;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029,0 3px 1px #0000001a}.slider::-moz-range-thumb{background:var(--knob);border:0;border-radius:50%;width:28px;height:28px;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029}.slider:focus-visible{outline:none}.slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 45%, transparent)}.slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 45%, transparent)}.slider-scale{color:var(--label-3);font-size:var(--caption);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-8px;display:flex}.switch{appearance:none;background:var(--fill-strong);cursor:pointer;width:51px;height:31px;transition:background var(--fast) var(--ease);border-radius:999px;margin:0;position:relative}.switch:before{content:"";background:var(--knob);width:27px;height:27px;transition:transform var(--slow) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 3px 1px #0000000f}.switch:checked{background:var(--green)}.switch:checked:before{transform:translate(20px)}.switch:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:9px;position:absolute;top:10px;left:12px;transform:rotate(45deg)}.hero{box-shadow:var(--shadow);background:var(--card);padding:var(--s3) var(--s2);gap:var(--s1)}.eyebrow{color:var(--label-3);font-size:var(--footnote);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.hero-value{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(2.5rem,7vw,3.5rem);font-weight:700;line-height:1.05}.hero-caption{color:var(--label-2);font-size:var(--callout)}.list{display:grid}.list-row{justify-content:space-between;align-items:baseline;gap:var(--s2);min-height:var(--touch);padding:10px 0;display:flex}.list-row+.list-row{border-top:.5px solid var(--separator)}.list-row dt{color:var(--label-2)}.list-row dd{text-align:right;font-weight:600}.list.compact .list-row{min-height:0;padding:8px 0}.callout{border-radius:var(--radius-sm);background:var(--fill);color:var(--label-2);font-size:var(--footnote);align-items:flex-start;gap:10px;padding:12px;display:flex}.callout .icon{color:var(--accent-text);margin-top:1px}.callout[hidden]{display:none}.callout-bad{background:color-mix(in srgb, var(--red) 12%, transparent);color:var(--label)}.callout-bad .icon{color:var(--red-text)}.badge{font-size:var(--footnote);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-weight:600;display:inline-flex}.badge .icon{width:16px;height:16px}.badge-ok{color:var(--green-text);background:color-mix(in srgb, var(--green) 14%, transparent)}.badge-warn{color:var(--orange-text);background:color-mix(in srgb, var(--orange) 16%, transparent)}.badge-bad{color:var(--red-text);background:color-mix(in srgb, var(--red) 13%, transparent)}.badge-neutral{color:var(--label-2);background:var(--fill)}.table-scroll{margin:0 calc(var(--s2) * -1);padding:0 var(--s2);-webkit-overflow-scrolling:touch;position:relative;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--footnote);font-variant-numeric:tabular-nums;white-space:nowrap}.table th,.table td{text-align:right;border-bottom:.5px solid var(--separator);padding:10px 8px}.table th:first-child,.table td:first-child{text-align:left;padding-left:0}.table thead th{color:var(--label-3);font-weight:600;font-size:var(--caption);text-transform:uppercase;letter-spacing:.03em}.table tbody th{font-weight:600}.table tbody tr:last-child>*{border-bottom:0}.table tr.is-current>*{background:color-mix(in srgb, var(--accent) 12%, transparent);font-weight:600}.table tr.is-current>:first-child{box-shadow:inset 3px 0 0 var(--accent);border-radius:8px 0 0 8px;padding-left:8px}.table tr.is-current>:last-child{border-radius:0 8px 8px 0}.policy td{padding:6px 3px}.policy .cell-input{width:3.75rem;font-size:var(--footnote);min-height:40px;padding:0 8px}.policy .cell-input.num{text-align:right}.policy .cell-name{width:10.5rem;font-family:var(--mono)}.policy select.cell-input{width:6rem;padding-right:4px}.row-errors{color:var(--red-text);font-size:var(--footnote);margin:0;padding-left:1.2rem}.row-errors:empty{display:none}.chart-card{margin:0}.chart{width:100%;height:auto;font-family:var(--font);display:block}.chart .grid{stroke:var(--separator);stroke-width:1px}.chart .axis{fill:var(--label-3);font-variant-numeric:tabular-nums;font-size:12px}.chart .line-baseline{fill:none;stroke:var(--label-3);stroke-width:2px;stroke-dasharray:6 6}.chart .line-current{fill:none;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.chart .area{stroke:none;opacity:.12}.chart .marker{stroke:var(--card);stroke-width:2px}.chart .marker-label{fill:var(--label);font-size:13px;font-weight:600}.chart .tone-ok{stroke:var(--green);fill:var(--green)}.chart .tone-warn{stroke:var(--orange);fill:var(--orange)}.chart .tone-bad{stroke:var(--red);fill:var(--red)}.chart .line-current.tone-ok,.chart .line-current.tone-warn,.chart .line-current.tone-bad{fill:none}.chart polyline,.chart polygon{transition:opacity var(--slow) var(--ease)}.legend{gap:var(--s2);font-size:var(--footnote);color:var(--label-2);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.key{border-top:3px solid var(--label);width:18px;height:0;display:inline-block}.key-baseline{border-top:2px dashed var(--label-3)}.code{font-family:var(--mono);font-size:var(--footnote);background:var(--code-bg);border:.5px solid var(--separator);border-radius:var(--radius-sm);color:var(--label);tab-size:2;padding:12px 14px;line-height:1.55;overflow:auto}.code.small{font-size:var(--caption)}.sheet{color:var(--label);background:var(--card);border:0;border-radius:14px 14px 0 0;flex-direction:column;width:100%;max-width:100%;max-height:88dvh;margin:0;padding:0;display:none;position:fixed;inset:auto 0 0;box-shadow:0 -8px 40px #0003}.sheet[open]{animation:sheet-up var(--slow) var(--ease);display:flex}.sheet.is-closing{animation:sheet-down var(--fast) ease-in forwards}.sheet::backdrop{animation:fade var(--slow) var(--ease);background:#00000059}.sheet-grabber{background:var(--fill-strong);border-radius:3px;width:36px;height:5px;margin:6px auto 0}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--s2);padding:var(--s2);display:flex}.sheet-head h3{font-size:var(--title-2);font-weight:700}.sheet-actions{gap:var(--s1);align-items:center;display:flex}.sheet .code{margin:0 var(--s2) var(--s2);flex:1;min-height:0}@media (min-width:820px){.sheet{border-radius:14px 0 0 14px;width:min(620px,92vw);height:100dvh;max-height:none;inset:0 0 0 auto;box-shadow:-8px 0 40px #0003}.sheet[open]{animation-name:sheet-in}.sheet.is-closing{animation-name:sheet-out}.sheet-grabber{display:none}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes sheet-in{0%{transform:translate(100%)}}@keyframes sheet-out{to{transform:translate(100%)}}@keyframes fade{0%{opacity:0}}#dep-groups{gap:var(--s2);display:grid}.dep-group{background:var(--field);border-radius:var(--radius-sm);gap:var(--s1);padding:12px;display:grid}.dep-head{gap:var(--s1);flex-wrap:wrap;align-items:center;display:flex}.dep-name{background:0 0;border-color:#0000;flex:8rem;font-weight:600}.dep-name:hover{border-color:var(--separator)}.dep-hint{color:var(--label-3);font-size:var(--footnote)}.dep-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dep-list li{grid-template-columns:minmax(0, 1fr) 6.5rem var(--touch);align-items:center;gap:6px;display:grid}.dep-list .cell-input{background:var(--card);width:100%}.dep-list .cell-input.num{text-align:right}.dep-foot{justify-content:space-between;align-items:center;gap:var(--s1);flex-wrap:wrap;display:flex}.dep-result{font-size:var(--footnote);color:var(--label-2);font-weight:600}#sli .segmented{justify-self:start}.sli-intro{margin-bottom:var(--s2);font-size:var(--callout)}.sli-grid{gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));display:grid}.sli-def{gap:var(--s1);font-size:var(--footnote);display:grid}.sli-def dt{color:var(--label-3);font-weight:600;font-size:var(--caption);text-transform:uppercase;letter-spacing:.03em}.sli .code{margin-top:var(--s1)}.footer{max-width:960px;margin:var(--s6) auto 0;padding:var(--s3) var(--s2) var(--s6);border-top:.5px solid var(--separator);color:var(--label-3);font-size:var(--footnote);gap:4px;display:grid}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::backdrop{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.env-badge{font-size:var(--caption);text-transform:uppercase;letter-spacing:.05em;color:var(--orange-text);background:color-mix(in srgb, var(--orange) 16%, transparent);white-space:nowrap;border-radius:6px;padding:3px 8px;font-weight:700}
