.calc{--ch-surface:var(--surface);--ch-ink:var(--text);--ch-ink-2:var(--text-muted);--ch-grid:var(--rule);--ch-track:var(--surface-2);--ch-0:color-mix(in oklab, var(--text-muted) 45%, var(--surface));--ch-1:oklch(from var(--primary) .46 c h);--ch-2:oklch(from var(--primary) .56 .11 calc(h + 65));--ch-3:oklch(from var(--primary) .62 .13 calc(h + 180));--ch-4:oklch(from var(--primary) .62 .16 calc(h + 265));--ch-5:oklch(from var(--primary) .64 .12 calc(h + 330));--ch-ok:var(--leaf);--ch-warn:#a8324a;gap:var(--grid-gap);min-width:0;display:grid}.calc-dark,html.a11y-dark .calc{--ch-0:color-mix(in oklab, #fbf7f5 38%, var(--ink-dark));--ch-1:oklch(from var(--primary) .66 c h);--ch-2:oklch(from var(--primary) .54 .15 calc(h + 65));--ch-3:oklch(from var(--primary) .63 .13 calc(h + 180));--ch-4:oklch(from var(--primary) .61 .15 calc(h + 265));--ch-5:oklch(from var(--primary) .57 .12 calc(h + 330));--ch-ok:#9ec7ad;--ch-warn:#f0a7b8}.calc-dark{--ch-surface:var(--ink-dark);--ch-ink:#fbf7f5;--ch-ink-2:#c4aeb3;--ch-grid:var(--line-on-dark);--ch-track:#fbf7f51f}.s0{--c:var(--ch-0)}.s1{--c:var(--ch-1)}.s2{--c:var(--ch-2)}.s3{--c:var(--ch-3)}.s4{--c:var(--ch-4)}.s5{--c:var(--ch-5)}.calc__grid{gap:var(--grid-gap);align-items:start;min-width:0;display:grid}@media (width>=960px){.calc__grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}}@media (width>=1200px){.calc__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}}.calc__inputs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-content:start;gap:1.35rem;min-width:0;padding:clamp(1.25rem,3vw,2rem);display:grid}.calc__legend{font-family:var(--font-display);margin:0;font-size:1.35rem;line-height:1.2}.calc__pair{gap:1.1rem;min-width:0;display:grid}@media (width>=560px){.calc__pair{grid-template-columns:repeat(2,minmax(0,1fr))}}.cf{border:0;grid-template-columns:minmax(0,1fr);align-content:start;gap:.45rem;min-width:0;margin:0;padding:0;display:grid}.cf__top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;display:flex}.cf__label{color:var(--text);padding:0;font-size:.92rem;font-weight:600}.cf__hint{color:var(--text-muted);margin:0;font-size:.8rem}.cf__box{background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);min-height:3rem;transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);align-items:center;display:flex}.cf__box:focus-within{border-color:var(--primary);box-shadow:var(--glow-soft)}.cf[data-invalid]>.cf__box,.cf[data-invalid] .cf__pair>.cf__box{border-color:#a8324a}.calc .cf__input{min-width:0;height:2.9rem;min-height:0;box-shadow:none;font-variant-numeric:tabular-nums;color:var(--text);background:0 0;border:0;flex:1;padding:0 .85rem;font-size:1.02rem;font-weight:500}.calc .cf__input:focus{box-shadow:none;outline:none}.cf__pre+.cf__input{padding-left:.25rem}.cf__pre,.cf__suf{color:var(--text-muted);white-space:nowrap;flex:none;font-size:.92rem}.cf__pre{padding-left:.9rem}.cf__suf{padding-right:.9rem}.cf__range{width:100%;min-height:1.75rem;accent-color:var(--primary);cursor:pointer;background:0 0;border:0;margin:0;padding:0}.cf__range:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}.cf__chips{flex-wrap:wrap;gap:.4rem;display:flex}.cf__chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:2.75rem;min-height:2.25rem;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .18s var(--ease-out), background-color .18s var(--ease-out), box-shadow .18s var(--ease-out);padding:.35rem .8rem;font-size:.86rem;font-weight:600}@media (hover:hover) and (pointer:fine){.cf__chip:hover{border-color:var(--primary);box-shadow:var(--glow-soft)}}.cf__chip[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-deep)}.cf__chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.cf__error{color:#a8324a;margin:0;font-size:.82rem}.cf__pair{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.6rem;display:grid}.cf--seg .cf__label{margin-bottom:.45rem}.seg{background:var(--surface-2);border-radius:var(--radius-sm);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.3rem;padding:.3rem;display:grid}.seg__opt{display:grid;position:relative}.seg__opt input{opacity:0;cursor:pointer;min-height:0;margin:0;position:absolute;inset:0}.seg__opt span{border-radius:calc(var(--radius-sm) - 3px);min-height:2.5rem;color:var(--text-muted);text-align:center;transition:background-color .18s var(--ease-out), color .18s var(--ease-out);place-items:center;padding:.3rem .5rem;font-size:.9rem;font-weight:600;display:grid}.seg__opt input:checked+span{background:var(--surface);color:var(--primary-deep);box-shadow:0 1px 2px #2a1e221f}.seg__opt input:focus-visible+span{outline:2px solid var(--primary);outline-offset:1px}.calc__more{border-top:1px solid var(--rule);padding-top:1rem}.calc__more>summary{cursor:pointer;min-height:2.75rem;color:var(--text);justify-content:space-between;align-items:center;gap:1rem;font-weight:600;list-style:none;display:flex}.calc__more>summary::-webkit-details-marker{display:none}.calc__more>summary:after{content:"";border-right:2px solid var(--primary);border-bottom:2px solid var(--primary);width:.55rem;height:.55rem;transition:transform .2s var(--ease-out);flex:none;transform:rotate(45deg)translateY(-2px)}.calc__more[open]>summary:after{transform:rotate(-135deg)translateY(-2px)}.calc__more>summary small{color:var(--text-muted);font-size:.82rem;font-weight:400;display:block}.calc__more-body{gap:1.2rem;padding-top:.9rem;display:grid}.calc__result{background:var(--ink-dark);color:#e8d7da;border-radius:var(--radius);align-content:start;gap:1.3rem;min-width:0;padding:clamp(1.25rem,3vw,2rem);display:grid;container-type:inline-size}.calc__result .label{color:#e6b9c6}.calc__headline{gap:.35rem;display:grid}.calc__big{font-family:var(--font-body);letter-spacing:-.02em;color:#fbf7f5;font-size:clamp(2.6rem,6vw,3.6rem);font-weight:600;line-height:1}.calc__big small{letter-spacing:0;color:#c4aeb3;margin-left:.2rem;font-size:.4em;font-weight:500}.calc__sub{color:#c4aeb3;margin:0;font-size:.9rem}.calc__verdict{border-radius:var(--radius-sm);border:1px solid var(--line-on-dark);color:#f1e1e4;background:#fbf7f512;margin:0;padding:.9rem 1.1rem;font-size:.94rem}.calc__verdict b{color:#fbf7f5}.calc__result .btn{justify-self:start}.calc__minirows{border-top:1px solid var(--line-on-dark);gap:.55rem;padding-top:1rem;display:grid}.calc__minirows>div{color:#cdb4b9;justify-content:space-between;gap:1rem;font-size:.93rem;display:flex}.calc__minirows dd{color:#fbf7f5;font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:600}.donut{align-items:center;gap:1.1rem;display:grid}@container (width>=30rem){.donut{grid-template-columns:11.5rem minmax(0,1fr);gap:1.5rem}}.ch--donut{justify-self:center;width:min(100%,13rem)}.donut__ring{position:relative}.donut__center{text-align:center;pointer-events:none;place-content:center;margin:0;display:grid;position:absolute;inset:0}.donut__value{color:var(--ch-ink);font-size:1.3rem;font-weight:600;line-height:1.1}.donut__label{color:var(--ch-ink-2);font-size:.75rem}.ch{min-width:0;position:relative}.ch__plot{min-width:0}.ch-svg{width:100%;height:auto;font-family:var(--font-body);display:block;overflow:visible}.ch-grid{stroke:var(--ch-grid);stroke-width:1px;shape-rendering:crispedges}.ch-grid--zero{stroke:var(--ch-ink-2)}.ch-axis{fill:var(--ch-ink-2);font-size:var(--fs,12px);font-variant-numeric:tabular-nums}.ch-axis--title{font-size:calc(var(--fs,12px) * .92)}.ch-note{fill:var(--ch-ink-2);font-size:var(--fs,12px)}.ch-note--strong{fill:var(--ch-ink);font-weight:600}.ch-rule{stroke:var(--ch-ink-2);stroke-width:1px}.ch-line{fill:none;stroke:var(--c);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.ch-area{fill:var(--c);opacity:.1}.ch-bar{fill:var(--c)}.ch-point{fill:var(--c);stroke:var(--ch-surface);stroke-width:2px}.ch-cross{stroke:var(--ch-ink-2);stroke-width:1px;pointer-events:none}.ch-dots{pointer-events:none}.ch-track{stroke:var(--ch-track)}.ch-hit{fill:#0000;cursor:default;outline:none}.ch-hit--band:focus-visible,.ch-hit--col:focus-visible{fill:color-mix(in oklab, var(--ch-ink) 7%, transparent);stroke:var(--ch-ink);stroke-width:1.5px}.ch-hit--col.is-active{fill:color-mix(in oklab, var(--ch-ink) 5%, transparent)}.ch-seg.ch-hit{fill:var(--c);stroke:var(--ch-surface);stroke-width:2px;transition:opacity .18s var(--ease-out)}.ch-donut:has(.ch-seg.is-active) .ch-seg:not(.is-active){opacity:.45}.ch-seg.ch-hit:focus-visible{stroke:var(--ch-ink);stroke-width:3px}.ch-legend{color:var(--ch-ink-2);flex-wrap:wrap;gap:.35rem 1.1rem;margin:0;padding:0;font-size:.85rem;display:flex}.ch-legend li{align-items:center;gap:.45rem;display:inline-flex}.ch-key{background:var(--c);border-radius:3px;flex:none;width:.75rem;height:.75rem;display:inline-block}.ch-key--line{border-radius:2px;width:.95rem;height:.2rem}.ch-legend--table{gap:0;font-size:.92rem;display:grid}.ch-legend--table li{border-bottom:1px solid var(--ch-grid);grid-template-columns:auto minmax(0,1fr) auto 3.3rem;align-items:center;gap:.65rem;padding:.55rem 0;display:grid}.ch-legend--table li:last-child{border-bottom:0}.ch-legend__label{color:var(--ch-ink-2)}.ch-legend__value{color:var(--ch-ink);font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.ch-legend__share{color:var(--ch-ink-2);font-variant-numeric:tabular-nums;text-align:right;font-size:.85rem}.ch-tip{z-index:5;background:var(--surface);min-width:9.5rem;max-width:17rem;color:var(--text);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);pointer-events:none;padding:.6rem .75rem;font-size:.82rem;line-height:1.35;position:absolute;top:0;left:0;box-shadow:0 12px 30px -14px #2a1e2273}.ch-tip__title{color:var(--text-muted);margin:0 0 .35rem;font-size:.78rem}.ch-tip__row{white-space:nowrap;align-items:center;gap:.45rem;margin:.15rem 0 0;display:flex}.ch-tip__row b{font-variant-numeric:tabular-nums;font-weight:600}.ch-tip__row span:last-child{color:var(--text-muted)}.ch-hbars,.ch-stacks,.ch-meters{gap:1rem;display:grid}.ch-hbar__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.15rem .75rem;margin-bottom:.4rem;display:flex}.ch-hbar__label{color:var(--ch-ink);font-size:.9rem;font-weight:600}.ch-hbar__note{color:var(--ch-ink-2);font-size:.8rem}.ch-hbar__row{align-items:center;gap:.75rem;display:flex}.ch-hbar__track{flex:1;min-width:0;display:block}.ch-hbar__fill{background:var(--c);max-width:100%;height:1.5rem;transition:width .26s var(--ease-out);border-radius:0 4px 4px 0;display:block}.ch-hbar__value{text-align:right;font-variant-numeric:tabular-nums;min-width:4.5rem;color:var(--ch-ink);flex:none;font-weight:600}.ch-stack__bar{gap:2px;height:1.75rem;display:flex}.ch-stack__seg{background:var(--c);height:100%;transition:width .26s var(--ease-out);display:block}.ch-stack__seg:first-child{border-radius:4px 0 0 4px}.ch-stack__seg:last-child{border-radius:0 4px 4px 0}.ch-stack__seg:only-child{border-radius:4px}.ch-stack__seg:focus-visible,.ch-meter__fill:focus-visible{outline:2px solid var(--ch-ink);outline-offset:2px}.ch-meter__track{background:color-mix(in oklab, var(--ch-1) 16%, var(--ch-surface));border-radius:999px;height:.9rem;margin-top:1.4rem;position:relative}.ch-meter__fill{background:var(--ch-1);height:100%;transition:width .26s var(--ease-out);border-radius:999px;display:block}.ch-meter__tick{background:var(--ch-ink);opacity:.55;width:2px;margin-left:-1px;position:absolute;top:-.3rem;bottom:-.3rem}.ch-meter__tick span{font-variant-numeric:tabular-nums;color:var(--ch-ink-2);white-space:nowrap;font-size:.72rem;position:absolute;bottom:calc(100% + .15rem);left:50%;transform:translate(-50%)}.ch-status{color:var(--ch-ink-2);align-items:center;gap:.4rem;margin:.5rem 0 0;font-size:.83rem;display:flex}.ch-status__icon{width:1.1rem;height:1.1rem;color:var(--ch-surface);background:var(--ch-ok);border-radius:999px;flex:none;place-items:center;font-size:.7rem;font-weight:700;display:inline-grid}.ch-status.is-over .ch-status__icon{background:var(--ch-warn)}.ch-tablewrap{border:1px solid var(--rule);border-radius:var(--radius-sm);max-height:20rem;margin-top:.75rem;overflow:auto}.ch-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.86rem}.ch-table th,.ch-table td{text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap;padding:.5rem .75rem}.ch-table thead th{background:var(--primary-soft);color:var(--text-muted);font-weight:600;position:sticky;top:0}.ch-table .num{text-align:right}.ch-table tbody th{font-weight:500}.ch-tiles{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr));gap:0;margin:0;display:grid;overflow:hidden}.ch-tile{background:var(--surface);box-shadow:-1px -1px 0 var(--border);align-content:start;gap:.25rem;padding:1rem 1.15rem;display:grid}@media (width>=1000px){.ch-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.ch-tile dt{color:var(--text-muted);font-size:.84rem}.ch-tile dd{gap:.2rem;margin:0;display:grid}.ch-tile__value{color:var(--text);font-size:clamp(1.2rem,2.2vw,1.45rem);font-weight:600;line-height:1.15}.ch-tile__note{color:var(--text-muted);font-size:.8rem}.calc__charts{gap:var(--grid-gap);min-width:0;display:grid}@media (width>=1000px){.calc__charts--2{grid-template-columns:repeat(2,minmax(0,1fr))}}.ch-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-content:start;gap:.9rem;min-width:0;margin:0;padding:clamp(1.1rem,2.6vw,1.75rem);display:grid;container-type:inline-size}.ch-card__head{gap:.3rem;display:grid}.ch-card__title{font-family:var(--font-display);margin:0;font-size:1.3rem;font-weight:400;line-height:1.2}.ch-card__sub{color:var(--text-muted);margin:0;font-size:.9rem}.ch-card__table>summary{min-height:2.75rem;color:var(--primary);cursor:pointer;align-items:center;font-size:.9rem;font-weight:600;display:inline-flex}.ch-card__foot{margin:0;font-size:.9rem}.ch-card__foot a{color:var(--primary);font-weight:600}.calc-dark .ch-card__title{color:#fbf7f5}.calc-dark .ch-card__sub{color:#c4aeb3}.sch{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;scroll-margin-top:calc(var(--header-h) + 1rem);gap:1rem;padding:clamp(1.1rem,2.6vw,1.75rem);display:grid}.sch__head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.sch__actions{flex-wrap:wrap;gap:.5rem;display:flex}html:not(.js) .sch__actions{display:none}.sch__btn{border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:2.75rem;color:var(--primary);font:inherit;cursor:pointer;white-space:nowrap;transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);padding:.5rem 1rem;font-size:.9rem;font-weight:600}.sch__btn:hover{border-color:var(--primary);box-shadow:var(--glow-soft)}.sch__btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sch__wrap{border:1px solid var(--rule);border-radius:var(--radius-sm);overscroll-behavior:contain;max-height:34rem;overflow:auto}.sch__wrap:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sch__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:40rem;font-size:.9rem}.sch__table th,.sch__table td{text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap;padding:.6rem .9rem}.sch__table .num{text-align:right}.sch__table thead th{z-index:1;background:var(--primary-soft);color:var(--text-muted);font-size:.84rem;font-weight:600;position:sticky;top:0}.sch__table tbody th{font-weight:600}.sch-toggle{min-height:2rem;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;font-weight:600;display:inline-flex}.sch-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.sch-caret{border-right:2px solid var(--primary);border-bottom:2px solid var(--primary);width:.45rem;height:.45rem;transition:transform .18s var(--ease-out);transform:rotate(-45deg)}.sch-toggle[aria-expanded=true] .sch-caret{transform:rotate(45deg)}.sch-sub{color:var(--text-muted);margin-left:.35rem;font-size:.78rem;font-weight:400}.sch-month th,.sch-month td{background:color-mix(in oklab, var(--primary-soft) 45%, var(--surface));font-size:.85rem}.sch-month th{padding-left:1.85rem;font-weight:500}.calc__disclaimer{color:var(--text-muted);max-width:62rem;margin:0;font-size:.85rem}@media (prefers-reduced-motion:reduce){.ch-hbar__fill,.ch-stack__seg,.ch-meter__fill,.ch-seg.ch-hit{transition:none}}@media print{html.calc-printing body *{visibility:hidden}html.calc-printing [data-print-area],html.calc-printing [data-print-area] *{visibility:visible}html.calc-printing [data-print-area]{position:absolute;inset:0 0 auto}html.calc-printing .calc__inputs,html.calc-printing .sch__actions,html.calc-printing .ch-tip,html.calc-printing .calc__result .btn{display:none!important}html.calc-printing .calc__grid{grid-template-columns:1fr}html.calc-printing .sch__wrap{max-height:none;overflow:visible}html.calc-printing .calc__result,html.calc-printing .ch-key,html.calc-printing .ch-svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.calc__check{cursor:pointer;align-items:center;gap:.65rem;min-height:2.75rem;font-size:.95rem;display:flex}.calc__check input{width:1.2rem;height:1.2rem;min-height:0;accent-color:var(--primary);flex:none;margin:0}.ch-card__extra{border-top:1px solid var(--rule);padding-top:1rem}@media (width>=1000px){.calc__charts--wide{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}}.ch-card__note{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--text);margin:0;padding:.9rem 1rem;font-size:.92rem}.ch-hbar__head>.ch-hbar__value,.ch-hbar__head>.ch-hbar__note{margin-left:auto}.ch-hbar__head>.ch-hbar__value{min-width:0}html.a11y-dark .calc{--ch-grid:color-mix(in oklab, var(--text) 16%, transparent)}@media (width<=640px){.sch-year .sch-sub{margin:.1rem 0 0 .95rem;display:block}.sch-toggle{flex-wrap:wrap;row-gap:0;line-height:1.3}.sch__table tbody th,.sch__table thead th:first-child{z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--rule);position:sticky;left:0}.sch__table thead th:first-child{z-index:2;background:var(--primary-soft)}.sch-month th{background:color-mix(in oklab, var(--primary-soft) 45%, var(--surface))}}
