.info-btn{width:var(--tap);height:var(--tap);color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin:-12px -10px -12px -8px;padding:0;display:inline-grid}.info-btn:hover{color:var(--accent)}.info-btn:focus-visible{outline-offset:-8px}.howto-btn{align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:var(--step--1);cursor:pointer;font-weight:600;display:inline-flex}.howto-btn:hover{border-color:var(--accent);color:var(--accent)}.guide{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);width:min(34rem,100vw - 2rem);max-height:min(40rem,100dvh - 2rem);color:var(--ink);padding:0;box-shadow:0 24px 64px -16px #00000059}.guide::backdrop{background:#14120e73}.guide[open]{animation:.18s ease-out guide-in}@keyframes guide-in{0%{transform:translateY(8px)scale(.98)}}@media (prefers-reduced-motion:reduce){.guide[open]{animation:none}}.guide__panel{max-height:inherit;flex-direction:column;display:flex}.guide__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-2);display:flex}.guide__title{font-size:var(--step-2);margin:0}.guide__x{width:var(--tap);height:var(--tap);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-10px -10px 0 0;display:grid}.guide__x:hover{background:var(--surface-sunken)}.guide__body{padding:0 var(--space-5);font-size:var(--step--1);line-height:1.6;overflow-y:auto}.guide__body p{margin:0 0 var(--space-3)}.guide__what{font-size:var(--step-0);color:var(--ink)}.guide__h{margin:var(--space-4) 0 var(--space-2);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-weight:700}.guide__list,.guide__steps{margin:0 0 var(--space-3);padding-left:1.2rem}.guide__list li,.guide__steps li{margin-bottom:var(--space-2)}.guide__steps li::marker{color:var(--accent);font-weight:700}.guide__note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm)}.guide__note--tip{background:var(--accent-soft)}.guide__note--caution{background:var(--warn-surface);color:var(--warn-ink)}.guide__note--caution strong{color:var(--warn-ink)}.guide__foot{padding:var(--space-3) var(--space-5) var(--space-5);border-top:1px solid var(--hairline);margin-top:var(--space-2);justify-content:flex-end;display:flex}.calc{gap:var(--space-5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=1024px){.calc{gap:var(--space-6);grid-template-columns:minmax(20rem,26rem) minmax(0,1fr)}.calc__controls{top:var(--space-4);max-height:calc(100dvh - 2rem - var(--dock-h,0rem));overscroll-behavior:contain;scrollbar-width:thin;position:sticky;overflow-y:auto}}.calc__controls{background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--space-5);gap:var(--space-5);border-top:3px solid var(--accent);min-width:0;display:grid}.calc__head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.calc__title{font-size:var(--step-1);margin:0}.calc__lead{margin:calc(var(--space-3) * -1) 0 0;font-size:var(--step--1);color:var(--ink-2)}.check-row{align-items:flex-start;gap:var(--space-2);display:flex}.check-row .info-btn{margin-top:-10px}.segmented__legend{align-items:center;gap:var(--space-2);display:flex}.calc__fields{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.calc__results{gap:var(--space-4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.field{gap:var(--space-2);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.field__head{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.field__label{font-weight:600;font-size:var(--step--1)}.field__badge{color:var(--warn-ink);background:var(--warn-surface);border-radius:var(--radius-pill);padding:.05rem .5rem;font-size:.75rem;font-weight:600}.field__box{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);min-height:52px;padding-inline:var(--space-3);align-items:center;gap:var(--space-2);display:flex}.field__box:focus-within{outline:3px solid var(--focus);outline-offset:1px}.field__box.is-invalid{border-color:var(--error-ink);border-width:2px}.field__adorn{color:var(--ink-3);white-space:nowrap;font-weight:550;font-size:var(--step--1)}.field__adorn:first-child{font-size:var(--step-1);color:var(--ink-2)}.field__input{width:0;min-width:0;color:var(--ink);font:inherit;font-size:var(--step-2);letter-spacing:-.01em;padding:var(--space-2) 0;background:0 0;border:0;flex:1;font-weight:620}.field__input:focus{outline:none}.field__hint{color:var(--ink-3);margin:0;font-size:.8125rem}.field__msg{padding:var(--space-1) var(--space-2);border-radius:8px;margin:0;font-size:.8125rem;font-weight:550}.field__msg--error{color:var(--error-ink);background:var(--error-surface)}.field__msg--error:before{content:"⚠ "}.field__msg--notice{color:var(--ink-2);background:var(--surface-sunken)}.field__msg--warn{color:var(--warn-ink);background:var(--warn-surface)}.field__slider{-webkit-appearance:none;appearance:none;width:100%;height:var(--tap);margin:calc(var(--space-2) * -1) 0;cursor:pointer;background:0 0}.field__slider::-webkit-slider-runnable-track{background:var(--hairline);border:1px solid var(--control-border);border-radius:3px;height:6px}.field__slider::-moz-range-track{background:var(--hairline);border:1px solid var(--control-border);border-radius:3px;height:6px}.field__slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:3px solid var(--surface-raised);width:24px;height:24px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;margin-top:-10px}.field__slider::-moz-range-thumb{background:var(--accent);border:3px solid var(--surface-raised);width:20px;height:20px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}.field__slider:focus-visible{outline:none}.field__slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--focus)}.field__slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--focus)}.tenure{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 9rem;align-items:start;display:grid}.tenure__error{grid-column:1/-1}.field--months{align-self:start}.select{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-height:52px;color:var(--ink);font:inherit;font-size:var(--step-0);padding:0 var(--space-3)}.check{gap:var(--space-3);font-size:var(--step--1);min-height:var(--tap);cursor:pointer;align-items:flex-start;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:2px 0 0}.segmented{border:0;min-width:0;margin:0;padding:0}.segmented__legend{font-weight:600;font-size:var(--step--1);margin-bottom:var(--space-2);padding:0}.segmented__track{background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-sm);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented--lg .segmented__track{grid-auto-flow:row}.segmented__option{min-height:var(--tap);padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--ink-2);font-size:var(--step--1);text-align:center;border-radius:7px;align-content:center;font-weight:550;line-height:1.3;display:grid;position:relative}.segmented--lg .segmented__option{text-align:left}.segmented__option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented__option.is-active{background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.segmented__option.is-active .segmented__label:before{content:"";background:var(--accent);vertical-align:.1em;border-radius:50%;width:8px;height:8px;margin-right:.5em;display:inline-block}.segmented__option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:1px}.segmented__hint{color:var(--ink-3);font-size:.75rem;font-weight:450}.quick__title{margin:0;font-weight:650}.quick__list{margin:var(--space-1) 0 var(--space-2);padding-left:1.1rem}.quick__key{color:var(--ink-2)}.quick__flag{font-style:italic}.quick__note{margin:0 0 var(--space-1)}.chat__msg--reply p:last-child{margin-bottom:0}.finetune{border-top:1px solid var(--hairline);padding-top:var(--space-2)}.finetune summary,.years summary{align-items:center;gap:var(--space-2);min-height:var(--tap);cursor:pointer;font-weight:650;list-style:none;display:flex}.finetune summary::-webkit-details-marker,.years summary::-webkit-details-marker{display:none}.finetune summary:before,.years summary:before{content:"";width:8px;height:8px;margin-right:var(--space-1);border-bottom:2px solid;border-right:2px solid;transition:transform .15s;transform:rotate(-45deg)}.finetune[open] summary:before,.years[open] summary:before{transform:rotate(45deg)}.finetune__body{gap:var(--space-5);padding-top:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.result-card{gap:var(--space-4);background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius);min-width:0;padding:var(--space-5);box-shadow:var(--shadow);display:grid}.hero{gap:var(--space-2);display:grid}.hero p{margin:0}.hero__label{font-size:var(--step--1);color:var(--ink-2);font-weight:600}.hero__value{font-size:var(--step-hero);letter-spacing:-.045em;color:var(--accent);overflow-wrap:anywhere;font-weight:600;line-height:1.15}.hero__none{font-size:var(--step-3);letter-spacing:-.02em}.hero__sub{font-size:var(--step-1);color:var(--ink-2);font-weight:550}.hero__sentence{font-size:var(--step-1);max-width:40rem;line-height:1.55;margin-top:var(--space-2)!important}.split{gap:var(--space-3);margin-top:var(--space-2);display:grid}.split__bar{background:var(--surface-raised);border-radius:7px;gap:2px;height:14px;display:flex;overflow:hidden}.split__invested{background:var(--series-invested);border-radius:7px 0 0 7px;transition:width .35s}.split__growth{background:var(--series-growth);border-radius:0 7px 7px 0;flex:1}.split__legend{gap:var(--space-2) var(--space-6);font-size:var(--step--1);flex-wrap:wrap;margin:0;display:flex}.split__legend dt{align-items:center;gap:var(--space-2);color:var(--ink-2);display:flex}.split__legend dd{font-weight:650;font-size:var(--step-0);margin:0}.swatch{border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.swatch--invested{background:var(--series-invested)}.swatch--growth{background:var(--series-growth)}.assumptions{font-size:var(--step--1);color:var(--ink-2);border-top:1px solid var(--hairline);padding-top:var(--space-3);margin:var(--space-2) 0 0!important}.assumptions__tag{color:var(--ink);font-weight:650}.banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--step--1);margin:0;font-weight:550}.banner--warn{color:var(--warn-ink);background:var(--warn-surface)}.reality{align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--step--1);flex-wrap:wrap;display:flex}.switch{text-align:left;align-items:center;gap:var(--space-3);min-height:var(--tap);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;display:inline-flex}.switch__track{background:var(--surface-sunken);border:1px solid var(--control-border);border-radius:13px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.switch__thumb{background:var(--ink-3);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true] .switch__track{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true] .switch__thumb{background:var(--on-accent);transform:translate(18px)}.reality__note{font-size:.8125rem}.panel__title{font-size:var(--step-1);margin:0 0 var(--space-3);font-weight:650}.caption{color:var(--ink-3);margin:0;font-size:.8125rem}.linkish{padding:0 var(--space-1);min-height:var(--tap);color:var(--accent);font:inherit;font-size:var(--step--1);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;font-weight:600;text-decoration:underline}.chart{margin:0}.chart__head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.legend{gap:var(--space-4);margin:0 0 var(--space-3);font-size:var(--step--1);color:var(--ink-2);padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:var(--space-2);display:flex}.chart__plot{touch-action:pan-y;border-radius:var(--radius-sm);position:relative;overflow:hidden}.chart__plot svg{max-width:100%;height:240px}.chart__grid line{stroke:var(--hairline);stroke-width:1px}.chart__grid text{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.area--invested{fill:var(--series-invested)}.area--growth{fill:var(--series-growth)}.gap{fill:none;stroke:var(--surface-raised);stroke-width:2px}.line--value{fill:none;stroke:var(--series-growth);stroke-width:2px;stroke-linejoin:round}.chart__areas{transform-origin:bottom;animation:.6s ease-out both chart-in}@keyframes chart-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.chart__cursor line{stroke:var(--ink-2);stroke-width:1px;stroke-dasharray:3 3}.chart__cursor circle{stroke:var(--surface-raised);stroke-width:2px}.dot--invested{fill:var(--series-invested)}.dot--growth{fill:var(--series-growth)}.chart__tip{min-width:11rem;padding:var(--space-2) var(--space-3);background:var(--surface-raised);border:1px solid var(--control-border);border-radius:var(--radius-sm);box-shadow:var(--shadow);pointer-events:none;color:var(--ink-2);gap:2px;font-size:.8125rem;display:grid;position:absolute;top:6px;transform:translate(-50%)}.chart__tip strong{color:var(--ink)}.chart__tip b{color:var(--ink);float:right;margin-left:var(--space-3);font-weight:650}.chart__foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{min-height:var(--tap);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--control-border);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--step--1);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:2px;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.chip__delta{color:var(--ink-2);font-weight:500}.chip__delta.is-neg{color:var(--error-ink)}.undo{margin:var(--space-3) 0 0;font-size:var(--step--1);color:var(--ink-2)}.sens__list{margin:0 0 var(--space-2);gap:var(--space-2);padding:0;list-style:none;display:grid}.sens__list li{align-items:center;gap:var(--space-3);font-size:var(--step--1);grid-template-columns:3.5rem 1fr auto;display:grid}.sens__list li.is-current{font-weight:700}.sens__track{background:var(--surface-sunken);border-radius:5px;height:10px;overflow:hidden}.sens__fill{background:var(--control-border);border-radius:5px;height:100%;display:block}.is-current .sens__fill{background:var(--series-growth)}.years{background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius);min-width:0;padding:var(--space-2) var(--space-5)}.years[open]{padding-bottom:var(--space-5)}.years__actions{gap:var(--space-2);margin:var(--space-2) 0 var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.years__status{color:var(--ink-2);flex-basis:100%;margin:0;font-size:.8125rem}.years__status:empty{display:none}.years__table{border-collapse:collapse;width:100%;font-size:var(--step--1);min-width:26rem}.years__table th,.years__table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--hairline);text-align:left}.years__table thead th{color:var(--ink-2);font-weight:600}.years__table .r{text-align:right}@media print{.calc{display:block}.calc__controls .segmented,.field__slider,.finetune summary,.reality,.chart__foot,.years__actions{display:none!important}.calc__controls{border:1px solid #999;margin-bottom:1rem}.finetune:not([open]) .finetune__body{display:none}.years{border:0;padding:0}.years summary{display:none}.years:not([open])>:not(summary){display:block}.chart__areas{animation:none}}.retirement-results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.retirement-results h2{font-size:var(--step-1);margin:0}.retirement-results__region,.retirement-results__note{color:var(--ink-2);font-size:var(--step--1)}.retirement-results__region{margin:var(--space-1) 0 var(--space-3)}.retirement-results__hero{align-items:baseline;gap:0 var(--space-2);margin:0 0 var(--space-4);font-size:var(--step-0);flex-wrap:wrap;display:flex}.retirement-results__hero strong{color:var(--ink);overflow-wrap:anywhere;font-size:clamp(1.75rem,7vw,2.5rem);line-height:1.15}.retirement-results__hero span{color:var(--ink-2)}.retirement-results__summary{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.retirement-results__summary>div{min-width:0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken)}.retirement-results__summary dt{color:var(--ink-2);font-size:var(--step--1)}.retirement-results__summary dd{margin:var(--space-1) 0 0;font-size:var(--step-0);overflow-wrap:anywhere;font-weight:650}.retirement-results__note{margin:var(--space-3) 0 0}.retirement-results__error{padding:var(--space-3);border:1px solid var(--danger,#b42318);border-radius:var(--radius)}@media (width<=420px){.retirement-results__summary{grid-template-columns:minmax(0,1fr)}}.age-date{align-items:stretch;gap:var(--space-2);min-width:0;display:flex}.age-date .field__box{flex:1;min-width:0}.age-date__input{font-size:var(--step-1)}.age-date__today{flex:none;min-height:52px}.age-note{margin:0 0 var(--space-3);color:var(--ink-2)}.arithmetic-result{min-width:0}.arithmetic-result .hero{overflow-wrap:anywhere;min-width:0}.arithmetic-result .hero__value{overflow-wrap:anywhere;font-size:clamp(2rem,5vw,3.75rem)}.arithmetic-result dl{gap:.75rem;margin-block:1.5rem;display:grid}.arithmetic-result dl>div{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding-block:.6rem;display:flex}.arithmetic-result dd{overflow-wrap:anywhere;max-width:100%;margin:0;font-weight:650}.arithmetic-result ol{padding-left:1.5rem}.arithmetic-result li{overflow-wrap:anywhere;margin-block:.75rem}.arithmetic-list{gap:.5rem;display:grid}.arithmetic-list__label{align-items:center;gap:.4rem;display:flex}.arithmetic-list textarea{resize:vertical;width:100%;min-height:7rem;font:inherit;color:var(--ink);background:var(--surface-raised);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.8rem}.arithmetic-list textarea[aria-invalid=true]{border-color:var(--error-ink)}.arithmetic-list p{color:var(--ink-3);margin:0;font-size:.875rem}.arithmetic-list .field__msg--error{color:var(--error-ink)}.arithmetic-select{gap:.5rem;display:grid}.arithmetic-select .arithmetic-list__label{align-items:center;gap:.4rem;display:flex}.arithmetic-select select{width:100%;min-height:44px;font:inherit;color:var(--ink);background:var(--surface-raised);border:1px solid var(--control-border);border-radius:var(--radius-sm);padding:.75rem}.amort-label-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.amort-fixed{color:var(--ink-2);font-size:var(--step--1);margin:0}.amort-results{min-width:0}.amort-cards{gap:var(--space-3);margin:var(--space-3) 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.amort-card{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.amort-card--main{border-color:var(--accent)}.amort-card dt{color:var(--ink-2);font-size:var(--step--1)}.amort-card dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:700}.amort-note{margin:0 0 var(--space-4);color:var(--ink-2);font-size:var(--step--1)}.amort-heading{margin:var(--space-4) 0 var(--space-2);font-size:var(--step-1)}.amort-details{margin-top:var(--space-4)}.amort-details summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.amort-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.amort-scroll--tall{max-height:32rem;overflow-y:auto}.amort-table{border-collapse:separate;border-spacing:0;text-align:right;width:100%;font-size:var(--step--1)}.amort-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.amort-table th,.amort-table td{padding:var(--space-2);border-bottom:1px solid var(--hairline);white-space:nowrap}.amort-table thead th{z-index:2;background:var(--surface-raised);color:var(--ink-2);font-weight:600;position:sticky;top:0}.amort-table tbody th{z-index:1;background:var(--surface-raised);text-align:left;font-weight:600;position:sticky;left:0}.amort-table thead th:first-child{z-index:3;text-align:left;left:0}.dev{--dev-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;gap:var(--space-5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=960px){.dev{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.dev__pane{gap:var(--space-4);min-width:0;padding:var(--space-5);background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius);display:grid}.dev__pane--input{border-top:3px solid var(--accent)}.dev__lead,.dev__privacy{font-size:var(--step--1);color:var(--ink-2);margin:0}.dev__privacy{border-inline-start:2px solid var(--accent);padding-inline-start:var(--space-3)}.dev__pane>.btn,.dev__fields>.btn{justify-self:start}.dev__fields{gap:var(--space-4);min-width:0;display:grid}.dev__code,.dev__input,.dev__select{width:100%;min-width:0;min-height:44px;padding:var(--space-2) var(--space-3);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--control-border,var(--ink-3));border-radius:var(--radius-sm)}.dev__code,.dev__input--mono,.dev__pre{font-family:var(--dev-mono);font-size:var(--step--1);line-height:1.5}.dev__code{resize:vertical;tab-size:2}.dev__code:focus-visible,.dev__input:focus-visible,.dev__select:focus-visible,.dev__pre:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.dev__code[aria-invalid=true],.dev__input[aria-invalid=true]{border-color:var(--error-ink)}.dev__check{align-items:center;min-height:44px}.dev__check input{width:1.25rem;height:1.25rem;accent-color:var(--accent)}.dev__output{gap:var(--space-2);min-width:0;display:grid}.dev__output-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.dev__output-label{font-size:var(--step-0);margin:0}.dev__pre{max-height:28rem;padding:var(--space-3);white-space:pre;background:var(--surface-sunken);border:1px solid var(--hairline);border-radius:var(--radius-sm);margin:0;overflow:auto}.dev__pre--text{font-family:inherit;font-size:var(--step-0);white-space:pre-wrap;overflow-wrap:anywhere}.dev__status{min-height:1.25rem;font-size:var(--step--1);color:var(--ink-2);margin:0}.dev__facts{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0;display:grid}.dev__facts>div{min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm)}.dev__facts dt{font-size:var(--step--1);color:var(--ink-2)}.dev__facts dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-weight:650}.dev__error{padding:var(--space-3) var(--space-4);border:1px solid var(--error-ink);border-radius:var(--radius-sm);background:var(--surface);border-inline-start-width:4px}.dev__error-title{margin:0 0 var(--space-1);color:var(--error-ink);font-weight:650}.dev__error p{margin:0}.dev__verdict{font-size:var(--step-3);margin:0}.json-tree ul{font-family:var(--dev-mono);font-size:var(--step--1);overflow-wrap:anywhere;margin:0;padding-inline-start:var(--space-4);list-style:none}.json-tree__root{max-height:28rem;overflow:auto}.json-tree__root>ul{padding-inline-start:0}.json-tree__root:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.json-tree summary{cursor:pointer;min-height:24px}.json-tree summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.json-tree__key{font-weight:650}.json-tree__meta{color:var(--ink-2)}.dev__file{max-width:100%;min-height:44px;font:inherit}.dev__file:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.regex-hl mark{color:inherit;background:var(--accent-soft,var(--surface-raised));border-bottom:2px solid var(--accent);border-radius:2px}.regex-explain{gap:var(--space-2);margin:var(--space-3) 0 0;display:grid}.regex-explain>div{gap:var(--space-3);grid-template-columns:minmax(0,10rem) minmax(0,1fr);display:grid}.regex-explain dt,.regex-explain dd{overflow-wrap:anywhere;margin:0}.regex-explain code{font-family:var(--dev-mono)}.cron-sentence{font-size:var(--step-2);line-height:1.3}.ts-answer{font-size:var(--step-2);overflow-wrap:anywhere;line-height:1.3}.qr-preview{border:1px solid var(--hairline);border-radius:var(--radius-sm);width:min(100%,20rem);height:auto;margin-inline:auto;display:block}.qr-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.contrast-field{align-items:end;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.contrast-picker{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);width:44px;height:44px;margin-bottom:2px;padding:2px}.contrast-picker:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.contrast-preview{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-sm);display:grid}.contrast-preview p{margin:0}.contrast-preview__large{font-size:1.5rem}.contrast-preview__ui{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:2px solid;justify-self:start}.contrast-results{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.contrast-results__badge{min-width:3.25rem;padding:0 var(--space-2);border-radius:var(--radius-pill);text-align:center;border:1px solid;font-weight:650;display:inline-block}.contrast-results .is-fail .contrast-results__badge{color:var(--error-ink)}.color-swatch{border:1px solid var(--hairline);border-radius:var(--radius-sm);min-height:6rem;font-size:var(--step-3);place-items:center;font-weight:650;display:grid}.hash-match{padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-sm);border-inline-start-width:4px;margin:0;font-weight:650}.hash-match--match{border-inline-start-color:var(--accent)}.hash-match--mismatch,.hash-match--unreadable{border-inline-start-color:var(--error-ink);color:var(--error-ink)}.diff-table{border-collapse:collapse;width:100%;font-family:var(--dev-mono);font-size:var(--step--1)}.diff-table caption{text-align:start;padding-bottom:var(--space-2);font-family:var(--font-sans);color:var(--ink-2)}.diff-table th{text-align:start;padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--hairline);font-weight:650}.diff-table td{padding:2px var(--space-2);vertical-align:top}.diff-num{width:3ch;color:var(--ink-2);text-align:end;user-select:none}.diff-mark{width:2ch;font-weight:700}.diff-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:12rem}.diff-delete .diff-text,.diff-delete .diff-mark{background:var(--surface-sunken);text-decoration:line-through 1px}.diff-insert .diff-text,.diff-insert .diff-mark{background:var(--accent-soft)}.diff-table mark{color:inherit;outline:2px solid var(--accent);outline-offset:-1px;background:0 0;border-radius:2px;font-weight:700}.diff-table--split .diff-delete td:nth-child(4),.diff-table--split .diff-insert td:nth-child(2){background:0 0}.md-preview{max-height:32rem;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);overflow:auto}.md-preview:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.md-preview pre{padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm);font-family:var(--dev-mono);overflow:auto}.md-preview blockquote{border-inline-start:3px solid var(--hairline);margin-inline:0;padding-inline-start:var(--space-3)}.dice-chart{margin:0}.dice-chart figcaption{margin-bottom:var(--space-2);font-weight:650}.dice-chart ol{gap:2px;max-height:24rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.dice-chart li{align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums;font-size:var(--step--1);grid-template-columns:3rem minmax(0,1fr) 4.5rem;display:grid}.dice-chart__label,.dice-chart__value{text-align:end}.dice-chart__track{border-radius:var(--radius-pill);background:var(--surface-sunken);height:.6rem;overflow:hidden}.dice-chart__bar{background:var(--accent);height:100%;display:block}.base-mono{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.bmi-table{max-width:100%;margin-block:var(--space-4)}.bmi-table table{border-collapse:collapse;width:100%}.bmi-table caption{text-align:left;color:var(--ink-2);padding-bottom:var(--space-2);font-weight:600}.bmi-table th,.bmi-table td{padding:var(--space-2);border-bottom:1px solid var(--hairline);text-align:left;vertical-align:top;overflow-wrap:anywhere}.bmi-table thead th{color:var(--ink-2);font-size:var(--step--1);font-weight:600}.bmi-table tbody th{font-weight:500}.bmi-table td{font-weight:650}.bmi-child{padding:var(--space-4)}.bmi-child h3{margin-top:0}.bf-note{margin:var(--space-3) 0 0;color:var(--ink-2);font-size:var(--step--1)}.bf-results,.bf-table{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.bf-results__heading h2,.bf-table__heading h3{font-size:var(--step-1);margin:0}.bf-results__heading p,.bf-table__heading p{margin:var(--space-2) 0 var(--space-3);color:var(--ink-2);font-size:var(--step--1)}.bf-results__cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.bf-card{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.bf-card--primary{border-color:var(--accent)}.bf-card h3{font-size:var(--step-0);margin:0}.bf-card__method{margin:var(--space-1) 0 var(--space-2);color:var(--ink-2);font-size:var(--step--1)}.bf-card__value{font-size:var(--step-3);margin:0;font-weight:700;line-height:1.1}.bf-card__category{margin:var(--space-1) 0 var(--space-3);font-size:var(--step--1)}.bf-card dl{gap:var(--space-2);margin:0;display:grid}.bf-card dl>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.bf-card dl>div:last-child{border-bottom:0;padding-bottom:0}.bf-card dt{color:var(--ink-2);font-size:var(--step--1)}.bf-card dd{font-size:var(--step--1);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.bf-card__error{margin:var(--space-3) 0 0;color:var(--ink-2);font-size:var(--step--1)}.bf-estimate-note{margin:var(--space-3) 0 0;padding:var(--space-3);border-left:3px solid var(--accent);background:var(--surface);font-size:var(--step--1)}.bf-warning{margin:var(--space-3) 0 0;font-size:var(--step--1)}.bf-table__scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.bf-table table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--step--1)}.bf-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bf-table th,.bf-table td{padding:var(--space-2);border-bottom:1px solid var(--hairline)}.bf-table thead th{color:var(--ink-2);font-weight:600}.bf-table tbody th{font-weight:600}.bf-table tr.is-match{background:var(--surface);font-weight:650}.bf-table__source{margin:var(--space-3) 0 0;color:var(--ink-2);font-size:var(--step--1)}.brokerage-table{margin-block:.75rem 1.25rem;overflow-x:auto}.brokerage-table:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.brokerage-table table{border-collapse:collapse;width:100%;min-width:30rem;font-size:var(--step--1)}.brokerage-table th,.brokerage-table td{text-align:left;vertical-align:top;padding:var(--space-2);border-bottom:1px solid var(--hairline)}.brokerage-table thead th{color:var(--ink-3);font-weight:600}.brokerage-table tbody th{font-weight:550}.brokerage-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.brokerage-table tfoot th,.brokerage-table tfoot td{border-bottom:0;font-weight:700}.cagr-result{gap:var(--space-4)}.cagr-result__figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0;display:grid}.cagr-result__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.cagr-result__figures dt{color:var(--ink-2);font-size:var(--step--1)}.cagr-result__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.compound-interest__result{gap:var(--space-4)}.compound-interest .segmented__track{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));grid-auto-flow:row}.compound-interest__figures{gap:var(--space-2);margin:var(--space-4) 0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));display:grid}.compound-interest__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.compound-interest__figures dt{color:var(--ink-2);font-size:var(--step--1)}.compound-interest__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.compound-interest__doubling{margin-top:var(--space-4);padding:var(--space-3);border-inline-start:3px solid var(--accent);background:var(--surface-raised)}.compound-interest__doubling h3{font-size:var(--step-0);margin:0}.compound-interest__doubling p{margin:var(--space-1) 0 0}.compound-interest__schedule{min-width:0;margin-top:var(--space-5)}.compound-interest__schedule h3{margin:0 0 var(--space-2)}.compound-interest__table-wrap{border:1px solid var(--line);border-radius:var(--radius-md);max-width:100%;overflow-x:auto}.compound-interest__table-wrap table{border-collapse:collapse;width:100%;min-width:38rem}.compound-interest__table-wrap th,.compound-interest__table-wrap td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.compound-interest__table-wrap th:first-child,.compound-interest__table-wrap td:first-child{text-align:left}.compound-interest__table-wrap thead th{color:var(--ink-2);font-size:var(--step--1)}.compound-interest__table-wrap tbody tr:last-child th,.compound-interest__table-wrap tbody tr:last-child td{border-bottom:0}.concrete-calc{min-width:0}.concrete-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.concrete-field{min-width:0}.concrete-field label{margin:0 0 var(--space-1);font-weight:600;display:inline-block}.concrete-field .info-btn{vertical-align:middle}.concrete-field input,.concrete-field select{border:1px solid var(--hairline);border-radius:var(--radius-sm,.5rem);width:100%;min-width:0;min-height:2.75rem;color:var(--ink);background:var(--surface-raised);font:inherit;padding:.65rem .75rem}.concrete-field__input{border:1px solid var(--hairline);border-radius:var(--radius-sm,.5rem);background:var(--surface-raised);align-items:center;min-width:0;display:flex}.concrete-field__input input{background:0 0;border:0}.concrete-field__input span{color:var(--ink-2);font-size:var(--step--1);flex:none;padding-inline:.75rem}.concrete-field__input.is-invalid,.concrete-field input[aria-invalid=true]{border-color:var(--danger,#b42318)}.concrete-field__error{margin-top:var(--space-1);color:var(--danger,#b42318);font-size:var(--step--1)}.concrete-results{min-width:0;margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow)}.concrete-results h3,.concrete-results h4{margin-top:0}.concrete-results__list{gap:var(--space-2);margin:0;display:grid}.concrete-results__list>div{justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.concrete-results__list dt{color:var(--ink-2);overflow-wrap:anywhere}.concrete-results__list dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.concrete-results__mix{margin-top:var(--space-4)}.concrete-results__mix p,.concrete-disclaimer,.concrete-assumptions{color:var(--ink-2);font-size:var(--step--1)}.concrete-results__error{padding:var(--space-3);border-radius:var(--radius-sm,.5rem);color:var(--danger,#b42318);background:var(--surface)}.concrete-disclaimer{margin-bottom:0}.concrete-assumptions{margin-top:var(--space-3)}@media (width<=520px){.concrete-grid{grid-template-columns:minmax(0,1fr)}.concrete-results{padding:var(--space-3)}}.cc-figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));margin:0;display:grid}.cc-figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.cc-figures dt{color:var(--ink-2);font-size:var(--step--1)}.cc-figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.cc-subhead{margin:var(--space-4) 0 0;font-size:var(--step-0)}.cc-panel{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.cc-panel h3{margin:0 0 var(--space-2);font-size:var(--step-1)}.cc-panel p{margin:0 0 var(--space-3);color:var(--ink-2);font-size:var(--step--1)}.cc-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.cc-table{border-collapse:collapse;text-align:right;width:100%;font-size:var(--step--1)}.cc-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cc-table th,.cc-table td{padding:var(--space-2);border-bottom:1px solid var(--hairline);white-space:nowrap}.cc-table thead th{color:var(--ink-2);font-weight:600}.cc-table tbody th{text-align:left;font-weight:600}.cc-table tbody tr:last-child th,.cc-table tbody tr:last-child td{border-bottom:0}.emi-result{gap:var(--space-4)}.emi-result__figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));margin:0;display:grid}.emi-result__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.emi-result__figures dt{color:var(--ink-2);font-size:var(--step--1)}.emi-result__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.emi-schedule{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.emi-schedule__heading h3{font-size:var(--step-1);margin:0}.emi-schedule__heading p{margin:var(--space-2) 0 var(--space-3);color:var(--ink-2);font-size:var(--step--1)}.emi-schedule__scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.emi-schedule table{border-collapse:collapse;text-align:right;width:100%;font-size:var(--step--1)}.emi-schedule caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.emi-schedule th,.emi-schedule td{padding:var(--space-2);border-bottom:1px solid var(--hairline);white-space:nowrap}.emi-schedule thead th{color:var(--ink-2);font-weight:600}.emi-schedule tbody th{text-align:left;font-weight:600}.emi-schedule tbody tr:last-child th,.emi-schedule tbody tr:last-child td{border-bottom:0}.fd-result{gap:var(--space-4)}.fd-result__figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));margin:0;display:grid}.fd-result__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.fd-result__figures dt{color:var(--ink-2);font-size:var(--step--1)}.fd-result__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.fd-tax-note{padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.fd-tax-note h3{font-size:var(--step-1);margin:0}.fd-tax-note p{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--step--1)}.tvm-calc__segments{gap:var(--space-3);margin-bottom:var(--space-3);display:grid}.tvm-calc__segments .segmented__track{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));grid-auto-flow:row}.tvm-field--result .field__input{color:var(--accent);font-weight:600}.tvm-results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.tvm-results h2{font-size:var(--step-1);margin:0}.tvm-hero{margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface)}.tvm-hero__label{color:var(--ink-2);font-size:var(--step--1);margin:0}.tvm-hero__value{margin:var(--space-1) 0;font-size:var(--step-3);overflow-wrap:anywhere;font-weight:700}.tvm-hero__note{color:var(--ink-2);font-size:var(--step--1);margin:0}.tvm-facts{gap:var(--space-2);margin:0 0 var(--space-3);display:grid}.tvm-facts>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.tvm-facts dt{color:var(--ink-2)}.tvm-facts dd{text-align:right;overflow-wrap:anywhere;margin:0}.tvm-table{max-height:22rem;overflow:auto}.tvm-table table{border-collapse:collapse;width:100%}.tvm-table th,.tvm-table td{padding:var(--space-2);border-bottom:1px solid var(--hairline);text-align:right}.tvm-table th:first-child,.tvm-table td:first-child{text-align:left}.tvm-table caption{padding-bottom:var(--space-2);color:var(--ink-2);font-size:var(--step--1);text-align:left}.fraction-calc .calc__controls{gap:var(--space-3);display:grid}.fraction-calc .calc__lead,.fraction-privacy{color:var(--ink-2);font-size:var(--step--1);margin:0}.fraction-fields{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(8rem,.72fr) minmax(0,1fr);align-items:end;display:grid}.fraction-input{font-variant-numeric:tabular-nums;min-width:0}.fraction-result{min-width:0;margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow)}.fraction-result__title,.fraction-working h3{font-size:var(--step-1);margin:0}.fraction-result__hero{margin:var(--space-2) 0 var(--space-3);font-size:var(--step-hero);overflow-wrap:anywhere;font-weight:700;line-height:1.1}.fraction-result__formats{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));margin:0;display:grid}.fraction-result__formats>div{justify-content:space-between;gap:var(--space-2);padding-block:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.fraction-result__formats dt{color:var(--ink-2)}.fraction-result__formats dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.fraction-working{margin-top:var(--space-4)}.fraction-working ol{gap:var(--space-2);margin:var(--space-2) 0 0;padding-left:1.5rem;display:grid}.fraction-working li{padding-left:var(--space-1);overflow-wrap:anywhere}.fraction-error{padding:var(--space-2) var(--space-3);border-left:3px solid var(--danger,#a12b2b);color:var(--ink)}.fraction-error p{margin:0}.fraction-result__note{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--step--1)}.fraction-privacy{margin-top:var(--space-3)}@media (width<=38rem){.fraction-fields{grid-template-columns:minmax(0,1fr)}}.goal-plan__goals{gap:var(--space-4);display:grid}.goal-plan__fields{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));margin:0;display:grid}.goal-plan__fields legend{padding:0 var(--space-2);font-weight:650}.goal-plan__fields legend label{align-items:center;gap:var(--space-2);display:inline-flex}.goal-plan__fields legend input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.goal-plan__today{align-items:center;gap:var(--space-2);margin-top:var(--space-4);display:flex}.goal-plan__today label{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.goal-plan__today input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.goal-plan__breakdown{gap:var(--space-3);margin:var(--space-4) 0;display:grid}.goal-plan__breakdown>div{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.goal-plan__breakdown dt{color:var(--ink-2)}.goal-plan__breakdown dd{text-align:right;margin:0;font-weight:650}.goal-plan__breakdown dd span{margin-top:var(--space-1);color:var(--ink-2);font-size:var(--step--1);font-weight:400;display:block}@media (width<=420px){.goal-plan__breakdown>div{grid-template-columns:1fr}.goal-plan__breakdown dd{text-align:left}}.gpa-calculator{gap:var(--space-5);grid-template-columns:minmax(0,1.7fr) minmax(15rem,.8fr);align-items:start;display:grid}.gpa-controls,.gpa-results{min-width:0;padding:var(--space-5);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.gpa-controls{border-top:3px solid var(--accent)}.gpa-controls__head,.gpa-field__head{align-items:center;gap:.25rem;display:flex}.gpa-controls__head{justify-content:space-between;margin-bottom:1rem}.gpa-controls h2,.gpa-results h2{margin:0;font-size:1.25rem}.gpa-controls h3{margin:1.5rem 0 .75rem;font-size:1.05rem}.gpa-scale{max-width:26rem;margin-bottom:1rem}.gpa-course-list{gap:.75rem;display:grid}.gpa-course{border:1px solid var(--hairline);border-radius:var(--radius-sm);min-width:0;margin:0;padding:1rem}.gpa-course legend{padding:0 .35rem;font-weight:700}.gpa-course__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.gpa-field{min-width:0}.gpa-field__head{min-height:2rem;margin-bottom:.25rem}.gpa-field label,.gpa-scale label{font-size:.9rem;font-weight:600}.gpa-field input,.gpa-field select,.gpa-scale select{box-sizing:border-box;border:1px solid var(--control-border);width:100%;min-width:0;min-height:2.75rem;color:var(--ink);background:var(--surface-raised);font:inherit;border-radius:.5rem;padding:.5rem .65rem}.gpa-field input:focus-visible,.gpa-field select:focus-visible,.gpa-scale select:focus-visible,.gpa-add:focus-visible,.gpa-remove:focus-visible{outline:3px solid var(--focus,#2764c5);outline-offset:2px}.gpa-field input[aria-invalid=true]{border-color:#b42318}.gpa-error{color:var(--error-ink);margin-top:.3rem;font-size:.85rem}.gpa-remove,.gpa-add,.gpa-reset-points{border:1px solid var(--control-border);min-height:2.75rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:.5rem;margin-top:.75rem;padding:.5rem .85rem;font-weight:600}.gpa-remove[disabled],.gpa-add[disabled]{opacity:.55;cursor:not-allowed}.gpa-checkbox-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.gpa-checkbox-row input{flex-shrink:0;width:1.2rem;height:1.2rem}.gpa-checkbox-row label{min-height:var(--tap);flex:1;align-items:center;gap:.4rem;font-weight:600;display:flex}.gpa-previous__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.75rem;display:grid}.gpa-results{position:sticky;top:1rem}.gpa-result-card{background:var(--surface-sunken);border-radius:.75rem;margin-top:1rem;padding:1rem}.gpa-result-card--secondary{border:1px solid var(--hairline);background:0 0}.gpa-result-card p{margin:0}.gpa-result-card__label{font-weight:700}.gpa-result-card__value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:clamp(2rem,7vw,3rem);font-weight:750;line-height:1.15;margin:.2rem 0!important}.gpa-result-card__detail,.gpa-result-note,.gpa-rounding-note{font-size:.9rem;line-height:1.5}.gpa-result-note{margin:.9rem 0 0}.gpa-rounding-note{color:var(--ink-2);margin-bottom:0}@media (width<=760px){.gpa-calculator{grid-template-columns:minmax(0,1fr)}.gpa-results{position:static}}@media (width<=520px){.gpa-controls,.gpa-results{padding:.9rem}.gpa-course{padding:.75rem}.gpa-course__grid,.gpa-previous__grid{grid-template-columns:minmax(0,1fr)}.gpa-field__head{min-height:0}}.grade-calc .calc__controls,.grade-calc .calc__results,.grade-calc .grade-panel,.grade-calc .grade-row{min-width:0}.grade-calc .calc__controls,.grade-calc .calc__fields{gap:var(--space-4)}.grade-mode{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grade-mode button{min-width:0;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);font:inherit;overflow-wrap:anywhere;font-weight:600}.grade-mode button.is-selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent,white)}.grade-panel{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);display:grid}.grade-panel h3,.grade-panel p{margin:0}.grade-panel h3{font-size:var(--step-1)}.grade-panel>p,.grade-panel__head p{color:var(--ink-2);font-size:var(--step--1)}.grade-panel__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.grade-panel__head>div{gap:var(--space-1);display:grid}.grade-rows{gap:var(--space-3);display:grid}.grade-row{padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);margin:0}.grade-row legend{padding:0 var(--space-1);font-weight:650}.grade-row__fields{align-items:start;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));display:grid}.grade-row .field__head{align-items:flex-start}.grade-number{text-align:right}.grade-row__remove{min-height:var(--tap);justify-self:start}.grade-note{color:var(--ink-2);font-size:var(--step--1)}.grade-thresholds,.grade-final-fields{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));display:grid}.grade-result{align-content:start;gap:var(--space-2);min-width:0;padding:var(--space-5);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow);overflow-wrap:anywhere;display:grid}.grade-result h2{font-size:var(--step-1);margin:0}.grade-result__score,.grade-result__letter,.grade-result__note{margin:0}.grade-result__score strong{font-size:var(--step-hero);letter-spacing:-.035em;line-height:1.1}.grade-result__letter{font-size:var(--step-1)}.grade-result__note,.grade-result>p:not(.grade-result__score):not(.grade-result__letter){color:var(--ink-2);font-size:var(--step--1)}.grade-warning{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--warn-surface);margin-top:var(--space-2)!important;color:var(--warn-ink)!important}.grade-result--error [role=alert]{color:var(--error-ink)}@media (width<=420px){.grade-mode,.grade-row__fields{grid-template-columns:minmax(0,1fr)}.grade-panel__head{display:grid}}.gst-result{gap:var(--space-4)}.gst-result__figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0;display:grid}.gst-result__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.gst-result__figures dt{color:var(--ink-2);font-size:var(--step--1)}.gst-result__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.gst-note{padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.gst-note h3{font-size:var(--step-1);margin:0}.gst-note p{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--step--1)}.iw-results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.iw-results+.iw-results{margin-top:var(--space-4)}.iw-results h2{font-size:var(--step-1);margin:0}.iw-results__note{margin:var(--space-2) 0 var(--space-3);color:var(--ink-2);font-size:var(--step--1)}.iw-warning{margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--step--1)}.iw-table{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.iw-table table{border-collapse:collapse;width:100%;font-size:var(--step-0)}.iw-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.iw-table th,.iw-table td{padding:var(--space-2);border-bottom:1px solid var(--hairline);white-space:nowrap}.iw-table thead th{color:var(--ink-2);font-size:var(--step--1);text-align:right;font-weight:600}.iw-table thead th:first-child,.iw-table tbody th{text-align:left}.iw-table tbody th{font-weight:600}.iw-table td{text-align:right;font-weight:650}.iw-cards{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.iw-card{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.iw-card h3{margin:0 0 var(--space-2);font-size:var(--step-0)}.iw-card__value{font-size:var(--step-1);overflow-wrap:anywhere;margin:0;font-weight:650}.iw-card__value--lb{color:var(--ink-2);font-size:var(--step-0)}.iw-card__note{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--step--1)}.psr-pair{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));display:grid}.psr-note{gap:var(--space-2);font-size:var(--step--1);color:var(--ink-2);margin-block-start:calc(-1 * var(--space-2));display:grid}.psr-note p{margin:0}.psr-note__warn{padding:var(--space-2) var(--space-3);color:var(--warn-ink);background:var(--warn-surface);border-radius:var(--radius-sm)}.psr-status{font-size:var(--step-1);overflow-wrap:anywhere;margin:0;line-height:1.4}.psr-preview{border:1px solid var(--hairline);border-radius:var(--radius-sm);max-width:100%;height:auto;margin-inline:auto;display:block}.psr-download{justify-self:start}.i2p-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.i2p-list__item{border:1px solid var(--control-border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.i2p-list__name{overflow-wrap:anywhere;min-width:0}.i2p-list__meta{color:var(--ink-3);font-size:.875rem}.i2p-list__actions{gap:.25rem;display:flex}.i2p-list__actions .btn{min-width:44px;min-height:44px}.i2p-status{margin:0 0 1rem}.inhand-result{gap:var(--space-4)}.inhand-table caption{padding-bottom:var(--space-2);text-align:left;font-weight:650}.inhand-table.table-scroll table{border-collapse:collapse;width:100%;min-width:0;font-size:var(--step--1)}.inhand-table th,.inhand-table td{padding:var(--space-2) var(--space-1);vertical-align:top;text-align:left}.inhand-table td{text-align:right}.inhand-table th:first-child{padding-left:0}.inhand-table thead th:not(:first-child){text-align:right}.inhand-table td{white-space:nowrap}.inhand-table__sub th,.inhand-table__sub td{border-top:1px solid var(--hairline);font-weight:600}.inhand-table__total th,.inhand-table__total td{border-top:2px solid var(--ink-3);font-weight:700}.inhand-other{color:var(--ink-2);margin:0}.inhand-note{padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.inhand-note h3{font-size:var(--step-0);margin:0}.inhand-note p{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--step--1)}.itax-result{gap:var(--space-4)}.itax-compare{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.itax-card{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.itax-card--lower{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.itax-card h3{align-items:center;gap:var(--space-2);font-size:var(--step-0);flex-wrap:wrap;margin:0;display:flex}.itax-badge{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--ink);font-size:var(--step--1);font-weight:650}.itax-card__total{margin:var(--space-1) 0 var(--space-3);font-size:var(--step-2);font-weight:700}.itax-rows{gap:var(--space-1);font-size:var(--step--1);margin:0;display:grid}.itax-rows>div{justify-content:space-between;gap:var(--space-3);display:flex}.itax-rows dt{color:var(--ink-2)}.itax-rows dd{text-align:right;white-space:nowrap;margin:0}.itax-rows__total{padding-top:var(--space-2);border-top:1px solid var(--hairline);font-weight:650}.itax-rows__total dt{color:var(--ink)}.itax-breakeven h3,.itax-note h3{font-size:var(--step-0);margin:0}.itax-breakeven p{margin:var(--space-1) 0 0}.itax-working{padding:var(--space-2) var(--space-4) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.itax-table caption{padding:var(--space-3) 0 var(--space-2);text-align:left;font-weight:650}.itax-table th,.itax-table td{text-align:left}.itax-note{padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.itax-note p{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--step--1)}.inflation-result{gap:var(--space-4)}.inflation-result__figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0;display:grid}.inflation-result__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.inflation-result__figures dt{color:var(--ink-2);font-size:var(--step--1)}.inflation-result__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.rate-results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.rate-results h2{margin:0 0 var(--space-3);font-size:var(--step-1)}.rate-results__hero{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));display:grid}.rate-stat{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.rate-stat--main{border-color:var(--accent)}.rate-stat p{margin:0}.rate-stat__label{color:var(--ink-2);font-size:var(--step--1);font-weight:600}.rate-stat__value{font-size:var(--step-3);overflow-wrap:anywhere;font-weight:700;line-height:1.1;margin-block:var(--space-1)!important}.rate-stat__note{color:var(--ink-2);font-size:var(--step--1)}.rate-results__details{gap:var(--space-2);margin:var(--space-3) 0 0;display:grid}.rate-results__details>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.rate-results__details>div:last-child{border-bottom:0}.rate-results__details dt{color:var(--ink-2);font-size:var(--step--1)}.rate-results__details dd{font-size:var(--step--1);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.rate-results__note{margin:var(--space-3) 0 0;color:var(--ink-2);font-size:var(--step--1)}.investment .segmented__track{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));grid-auto-flow:row}.investment__result{gap:var(--space-4)}.investment__figures{gap:var(--space-2);margin:var(--space-4) 0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));display:grid}.investment__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.investment__figures dt{color:var(--ink-2);font-size:var(--step--1)}.investment__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.investment__split,.investment__schedule{min-width:0;margin-top:var(--space-5)}.investment__split h3,.investment__schedule h3{margin:0 0 var(--space-2)}.investment__bar{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);width:100%;height:1.25rem;display:block}.investment__seg--start{fill:var(--ink-2);background:var(--ink-2)}.investment__seg--contrib{fill:var(--accent);background:var(--accent)}.investment__seg--interest{fill:var(--ink);background:var(--ink);opacity:.55}.investment__legend{gap:var(--space-1);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.investment__swatch{width:.75rem;height:.75rem;border-radius:2px;margin-inline-end:var(--space-2);display:inline-block}.investment__table-wrap{border:1px solid var(--line);border-radius:var(--radius-md);max-width:100%;overflow-x:auto}.investment__table-wrap table{border-collapse:collapse;width:100%;min-width:36rem}.investment__table-wrap th,.investment__table-wrap td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.investment__table-wrap th:first-child,.investment__table-wrap td:first-child{text-align:left}.investment__table-wrap thead th{color:var(--ink-2);font-size:var(--step--1)}.investment__table-wrap tbody tr:last-child th,.investment__table-wrap tbody tr:last-child td{border-bottom:0}.land-calc__swap{justify-self:start}.land-calc__warning{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-left:4px solid var(--ink-2);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--step--1)}.land-calc__defs{font-size:var(--step--1);padding-left:1.25rem}.land-calc__defs a{overflow-wrap:anywhere}.land-calc__table{margin-top:var(--space-5)}.land-calc__table caption{text-align:left;padding-bottom:var(--space-2);font-weight:650}.land-calc__table .num{text-align:right}.prepay-calc__timing{margin:var(--space-3) 0 0;color:var(--ink-2);font-size:var(--step--1)}.prepay-results,.prepay-schedule{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.prepay-results__heading h2{font-size:var(--step-1);margin:0}.prepay-results__heading p{margin:var(--space-2) 0 var(--space-3);color:var(--ink-2);font-size:var(--step--1)}.prepay-results__cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.prepay-card{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.prepay-card--highlight{border-color:var(--accent)}.prepay-card h3{margin:0 0 var(--space-3);font-size:var(--step-0)}.prepay-card dl{gap:var(--space-2);margin:0;display:grid}.prepay-card dl>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.prepay-card dl>div:last-child{border-bottom:0;padding-bottom:0}.prepay-card dt{color:var(--ink-2);font-size:var(--step--1)}.prepay-card dd{font-size:var(--step--1);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.prepay-schedule .emi-schedule__scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.prepay-schedule table{border-collapse:collapse;text-align:right;width:100%;font-size:var(--step--1)}.prepay-schedule caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.prepay-schedule th,.prepay-schedule td{padding:var(--space-2);border-bottom:1px solid var(--hairline);white-space:nowrap}.prepay-schedule thead th{color:var(--ink-2);font-weight:600}.prepay-schedule tbody th{text-align:left;font-weight:600}.lump-result{gap:var(--space-4)}.lump-result__figures,.lump-compare__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));margin:0;display:grid}.lump-result__figures>div,.lump-compare__grid>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.lump-result__figures dt,.lump-compare__grid dt{color:var(--ink-2);font-size:var(--step--1)}.lump-result__figures dd,.lump-compare__grid dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.lump-compare{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);display:grid}.lump-compare h3{font-size:var(--step-1);margin:0}.lump-compare p{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--step--1)}.lump-compare__note{border-top:1px solid var(--hairline);padding-top:var(--space-3)}.calc__fields .segmented__track{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));grid-auto-flow:row}.macro-calc__assumption{margin:var(--space-3) 0 0;color:var(--ink-2);font-size:var(--step--1)}.macro-calc__sum{color:var(--ink-2);font-size:var(--step--1);margin:0}.macro-calc__sum--bad{color:var(--warn-ink);font-weight:650}.macro-results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.macro-results h2{margin:0 0 var(--space-2);font-size:var(--step-1)}.macro-results__headline{font-size:var(--step-0);margin:0}.macro-results__sub,.macro-results__note{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--step--1)}.macro-notes{gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.macro-notes__item{padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--step--1)}.macro-notes__item--warn{border-color:var(--accent);font-weight:600}.macro-cards{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.macro-card{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.macro-card h3{font-size:var(--step-0);margin:0}.macro-card__value{margin:var(--space-2) 0 var(--space-3);font-size:var(--step-2);font-weight:700}.macro-card__unit{color:var(--ink-2);font-size:var(--step--1);font-weight:400}.macro-card dl,.macro-extra{gap:var(--space-2);margin:0;display:grid}.macro-extra{margin-top:var(--space-3)}.macro-card dl>div,.macro-extra>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.macro-card dl>div:last-child,.macro-extra>div:last-child{border-bottom:0;padding-bottom:0}.macro-card dt,.macro-extra dt{color:var(--ink-2);font-size:var(--step--1)}.macro-card dd,.macro-extra dd{font-size:var(--step--1);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.matrix-calc__table{margin:.75rem 0}.matrix-calc__table table{border-left:2px solid var(--ink-2);border-right:2px solid var(--ink-2);width:auto}.matrix-calc__table td{text-align:right;font-variant-numeric:tabular-nums;padding:.35rem .75rem}.arithmetic-list textarea.matrix-calc__input{font-family:ui-monospace,monospace}.mortgage-calc__note{margin:var(--space-3) 0 0;color:var(--ink-2);font-size:var(--step--1)}.mortgage-results,.mortgage-schedule{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.mortgage-results__heading h2{font-size:var(--step-1);margin:0}.mortgage-results__heading p{margin:var(--space-2) 0 var(--space-3);color:var(--ink-2);font-size:var(--step--1)}.mortgage-results__none{margin:0 0 var(--space-3);font-size:var(--step--1)}.mortgage-results__cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.mortgage-card{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.mortgage-card--highlight{border-color:var(--accent)}.mortgage-card h3{margin:0 0 var(--space-3);font-size:var(--step-0)}.mortgage-card dl{gap:var(--space-2);margin:0;display:grid}.mortgage-card dl>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.mortgage-card dl>div:last-child{border-bottom:0;padding-bottom:0}.mortgage-card dt{color:var(--ink-2);font-size:var(--step--1)}.mortgage-card dd{font-size:var(--step--1);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.mortgage-card__empty{color:var(--ink-2);font-size:var(--step--1);margin:0}.mortgage-schedule .emi-schedule__scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.mortgage-schedule table{border-collapse:collapse;text-align:right;width:100%;font-size:var(--step--1)}.mortgage-schedule caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mortgage-schedule th,.mortgage-schedule td{padding:var(--space-2);border-bottom:1px solid var(--hairline);white-space:nowrap}.mortgage-schedule thead th{color:var(--ink-2);font-weight:600}.mortgage-schedule tbody th{text-align:left;font-weight:600}.pace-calc .calc__fields{gap:var(--space-4);display:grid}.pace-parts__row{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pace-parts__row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.pace-parts .field__box{padding-inline:var(--space-2)}.pace-part__input{font-size:var(--step-1);text-align:center}.pace-parts .field__label{color:var(--ink-2);font-weight:500}.pace-results,.pace-table{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.pace-results{gap:var(--space-2);box-shadow:var(--shadow);display:grid}.pace-results__title,.pace-table h3{font-size:var(--step-1);margin:0}.pace-results .hero__label{margin:var(--space-2) 0 0}.pace-results__value{font-size:var(--step-hero);letter-spacing:-.035em;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.05}.pace-results__sub{font-size:var(--step-0);color:var(--ink-2);margin:0;font-weight:550}.pace-facts{gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));display:grid}.pace-facts>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.pace-facts dt{color:var(--ink-2);font-size:var(--step--1)}.pace-facts dd{font-size:var(--step--1);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.pace-table__scroll{max-width:100%;max-height:24rem;margin-top:var(--space-3);overscroll-behavior:contain;overflow:auto}.pace-table table{border-collapse:collapse;text-align:right;width:100%;font-size:var(--step--1)}.pace-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pace-table th,.pace-table td{padding:var(--space-2);border-bottom:1px solid var(--hairline);white-space:nowrap}.pace-table thead th{background:var(--surface-raised);color:var(--ink-2);text-align:right;font-weight:600;position:sticky;top:0}.pace-table thead th:first-child,.pace-table tbody th{text-align:left}.pace-table tbody th{font-weight:600}.pace-table__note{margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--step--1)}.conception-calc{gap:var(--space-4);min-width:0;display:grid}.conception-calc__panel,.conception-calc__results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.conception-calc__head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.conception-calc__head h2,.conception-calc__results h2{font-size:var(--step-1);margin:0}.conception-calc__fields{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.conception-field{align-content:start;gap:var(--space-2);min-width:0;display:grid}.conception-field__label-row{align-items:center;gap:var(--space-1);min-height:2.75rem;display:flex}.conception-field label{font-weight:600}.conception-field input,.conception-field select{box-sizing:border-box;width:100%;min-width:0;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}.conception-field input:focus-visible,.conception-field select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.conception-field [aria-invalid=true]{border-color:var(--danger,#a22)}.conception-field__error{color:var(--ink-2);font-size:var(--step--1);margin:0}.conception-calc__result-grid{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));display:grid}.conception-result{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.conception-result--primary{border-color:var(--accent)}.conception-result h3{margin:0 0 var(--space-2);font-size:var(--step-0)}.conception-result p{font-size:var(--step-1);overflow-wrap:anywhere;margin:0;font-weight:700}.conception-result small{margin-top:var(--space-2);color:var(--ink-2);font-size:var(--step--1);font-weight:400;line-height:1.5;display:block}.conception-calc__disclaimer,.conception-calc__summary{margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface);line-height:1.55}.conception-calc__disclaimer{border-inline-start:4px solid var(--accent);font-weight:600}.conception-calc__summary{color:var(--ink-2);font-size:var(--step--1)}@media (width<=36rem){.conception-calc__panel,.conception-calc__results{padding:var(--space-3)}.conception-calc__head{flex-wrap:wrap;align-items:flex-start}}.pregnancy-calc{gap:var(--space-4);min-width:0;display:grid}.pregnancy-calc__inputs,.pregnancy-calc__results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.pregnancy-calc__head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.pregnancy-calc__head h2,.pregnancy-calc__results>h2{font-size:var(--step-1);margin:0}.pregnancy-calc__fields{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.pregnancy-field{align-content:start;gap:var(--space-2);min-width:0;display:grid}.pregnancy-field__label{align-items:center;gap:var(--space-1);min-height:2.75rem;font-weight:600;display:flex}.pregnancy-field input,.pregnancy-field select{width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}.pregnancy-field input:focus-visible,.pregnancy-field select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.pregnancy-field [aria-invalid=true]{border-color:var(--danger,#a22)}.pregnancy-field__error{color:var(--ink-2);font-size:var(--step--1);margin:0}.pregnancy-calc__results>h2{margin-bottom:var(--space-3)}.pregnancy-calc__summary,.pregnancy-calc__message{margin:0 0 var(--space-3);color:var(--ink-2)}.pregnancy-calc__cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.pregnancy-result-card{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.pregnancy-result-card--primary{border-color:var(--accent)}.pregnancy-result-card h3{margin:0 0 var(--space-2);font-size:var(--step-0)}.pregnancy-result-card p:last-child{color:var(--ink-2);font-size:var(--step--1);margin-bottom:0}.pregnancy-result-card__value{margin:0 0 var(--space-2);font-size:var(--step-1);overflow-wrap:anywhere;font-weight:700}.pregnancy-calc__comparison,.pregnancy-calc__disclaimer,.pregnancy-calc__asian-note{margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface);line-height:1.55}.pregnancy-calc__disclaimer{border-inline-start:4px solid var(--accent);font-weight:600}.pregnancy-calc__asian-note{color:var(--ink-2);font-size:var(--step--1)}@media (width<=36rem){.pregnancy-calc__inputs,.pregnancy-calc__results{padding:var(--space-3)}.pregnancy-calc__head{flex-wrap:wrap;align-items:flex-start}}.random-calc{gap:var(--space-4);min-width:0;display:grid}.random-calc .calc__controls,.rng__results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.random-calc .calc__lead{margin:var(--space-2) 0 var(--space-3);color:var(--ink-2);font-size:var(--step--1)}.random-calc .calc__fields{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.random-calc .field{min-width:0}.rng__input,.rng__list{box-sizing:border-box;width:100%;max-width:100%}.rng__list{resize:vertical;min-height:8rem}.rng__options{align-items:center;gap:var(--space-3);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rng__option{align-items:center;gap:var(--space-1);min-width:0;min-height:44px;display:flex}.rng__option label{font-weight:600}.rng__option input{width:20px;height:20px;margin-inline-start:auto}.rng__generate{min-height:44px;margin-top:var(--space-3)}.rng__errors{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--danger,#b42318);border-radius:var(--radius-sm,.5rem);color:var(--ink)}.rng__errors p{margin:0}.rng__errors p+p{margin-top:var(--space-1)}.rng__results h2{font-size:var(--step-1);margin:0}.rng__summary,.rng__caution,.rng__privacy{color:var(--ink-2);font-size:var(--step--1)}.rng__values{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));padding:0;list-style:none;display:grid}.rng__values li{overflow-wrap:anywhere;min-width:0;padding:var(--space-2);border-radius:var(--radius-sm,.5rem);background:var(--surface-sunken);font-variant-numeric:tabular-nums}.rng__caution{margin-bottom:0}.rng__privacy{margin:0}@media (width<=480px){.random-calc .calc__fields,.rng__options{grid-template-columns:minmax(0,1fr)}.rng__options{grid-column:auto}}.rvb-figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));margin:0;display:grid}.rvb-figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.rvb-figures dt{color:var(--ink-2);font-size:var(--step--1)}.rvb-figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.rvb-subhead{margin:var(--space-4) 0 0;font-size:var(--step-0)}.rvb-panel{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.rvb-panel h3{margin:0 0 var(--space-2);font-size:var(--step-1)}.rvb-panel p{margin:0 0 var(--space-3);color:var(--ink-2);font-size:var(--step--1)}.rvb-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.rvb-table{border-collapse:collapse;text-align:right;width:100%;font-size:var(--step--1)}.rvb-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rvb-table th,.rvb-table td{padding:var(--space-2);border-bottom:1px solid var(--hairline);white-space:nowrap}.rvb-table thead th{color:var(--ink-2);font-weight:600}.rvb-table tbody th{text-align:left;font-weight:600}.rvb-table tbody tr:last-child th,.rvb-table tbody tr:last-child td{border-bottom:0}.rvb-group{display:contents}.rp-result{gap:var(--space-4)}.rp-result__figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0;display:grid}.rp-result__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.rp-result__figures dt{color:var(--ink-2);font-size:var(--step--1)}.rp-result__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.rp-result__timeline{min-width:0;padding-top:var(--space-4);border-top:1px solid var(--hairline)}.rp-result__timeline h3{font-size:var(--step-1);margin:0}.rp-chart{gap:var(--space-2);margin:var(--space-3) 0;padding:0;list-style:none;display:grid}.rp-chart__row{align-items:center;gap:var(--space-2);grid-template-columns:minmax(4rem,4.75rem) minmax(2rem,1fr) minmax(6.5rem,8rem);min-width:0;display:grid}.rp-chart__label{color:var(--ink-2);font-size:var(--step--1)}.rp-chart__track{background:var(--surface-sunken);border-radius:999px;height:.65rem;overflow:hidden}.rp-chart__bar{border-radius:inherit;background:var(--accent);min-width:2px;height:100%;display:block}.rp-chart__value{overflow-wrap:anywhere;text-align:right;font-size:var(--step--1)}.rp-result__details{margin-top:var(--space-3)}.rp-result__details summary{width:fit-content;color:var(--accent);cursor:pointer;font-weight:650}.rp-result__details summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--radius-xs)}.rp-result__details .table-scroll{margin-top:var(--space-3)}@media (width<=420px){.rp-chart__row{gap:var(--space-1);grid-template-columns:minmax(3rem,3.5rem) minmax(1.5rem,1fr) minmax(6rem,7rem)}}.rp-chart__label{line-height:1.2;display:grid}.rp-chart__phase{color:var(--ink-2);font-size:var(--step--1)}.rp-chart__bar--saving{background:var(--series-invested)}.rp-chart__bar--retired{background:var(--series-growth)}.salary-results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.salary-results h2{font-size:var(--step-1);margin:0}.salary-results__lead{margin:var(--space-2) 0 var(--space-3);color:var(--ink-2);font-size:var(--step--1)}.salary-results__lead strong{color:var(--ink);font-size:var(--step-0)}.salary-results__scroll{max-width:100%;overflow-x:auto}.salary-results table{border-collapse:collapse;width:100%;font-size:var(--step-0)}.salary-results caption{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.salary-results th,.salary-results td{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--hairline)}.salary-results thead th{color:var(--ink-2);font-size:var(--step--1);text-align:left;font-weight:600}.salary-results thead th:last-child,.salary-results td{text-align:right;font-weight:650}.salary-results tbody th{text-align:left;font-weight:600}.salary-results tr.is-input{background:var(--surface-sunken)}.salary-results__tag{color:var(--ink-2);font-size:var(--step--1);font-weight:450}.salary-results__note{margin:var(--space-3) 0 0;color:var(--ink-2);font-size:var(--step--1)}.savings-calc__segments{gap:var(--space-3);margin-bottom:var(--space-3);display:grid}.savings-calc__segments .segmented__track{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));grid-auto-flow:row}.savings-results{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised)}.savings-results h2{font-size:var(--step-1);margin:0}.savings-results__hero{margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface)}.savings-results__label,.savings-results__note{color:var(--ink-2);font-size:var(--step--1);margin:0}.savings-results__value{margin:var(--space-1) 0;font-size:var(--step-3);overflow-wrap:anywhere;font-weight:700}.savings-results__facts{gap:var(--space-2);margin:0 0 var(--space-3);display:grid}.savings-results__facts>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.savings-results__facts dt{color:var(--ink-2)}.savings-results__facts dd{text-align:right;overflow-wrap:anywhere;margin:0}.savings-results__table-wrap{max-width:100%;max-height:22rem;overflow:auto}.savings-results__table{border-collapse:collapse;width:100%;min-width:34rem}.savings-results__table th,.savings-results__table td{padding:var(--space-2);border-bottom:1px solid var(--hairline);text-align:right}.savings-results__table th:first-child,.savings-results__table td:first-child{text-align:left}.savings-results__table caption{padding-bottom:var(--space-2);color:var(--ink-2);font-size:var(--step--1);text-align:left}.savings-results__error{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--danger,#a21d2d);border-radius:var(--radius-sm);color:var(--danger,#a21d2d)}.chat{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.chat__box{align-items:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--control-border);border-radius:24px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #281e0f0d}.chat__box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.chat__input{resize:none;width:0;min-width:0;min-height:28px;max-height:9rem;color:var(--ink);font:inherit;font-size:var(--step-0);background:0 0;border:0;flex:1;margin:6px 0;padding:0;line-height:1.5;overflow-y:auto}.chat__input:focus{outline:none}.chat__input::placeholder{color:var(--ink-3);opacity:1}.chat__send{width:var(--tap);height:var(--tap);background:var(--accent);color:var(--on-accent);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;transition:background .15s,opacity .15s;display:grid}.chat__send:hover:not(:disabled){background:var(--accent-hover)}.chat__send:disabled{background:var(--surface-sunken);color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--control-border);cursor:not-allowed}.chat__meta{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:24px;padding-inline:var(--space-4);display:flex}.chat__hint{color:var(--ink-3);margin:0;font-size:.75rem}@media (width<=639px){.chat__hint{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat__meta{justify-content:flex-end;min-height:0}}.chat__suggest{scrollbar-width:none;gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.chat__chip{white-space:nowrap;min-height:var(--tap);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--control-border);background:var(--surface-raised);color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;font-size:.8125rem}.chat__chip:hover{border-color:var(--accent);color:var(--ink)}.chat__log{gap:var(--space-2);max-height:min(32vh,18rem);padding:var(--space-3);background:var(--surface-raised);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;overflow-y:auto}.chat__log-head{margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0 0;justify-content:flex-end;display:flex}.chat__hide{min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.75rem;font-weight:600}.chat__show{min-height:24px;color:var(--accent);font:inherit;text-underline-offset:.18em;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline}.chat__hide:hover{background:var(--surface-sunken)}.chat__msg{max-width:92%;padding:var(--space-3) var(--space-4);font-size:var(--step--1);overflow-wrap:anywhere;margin:0;line-height:1.5}.chat__msg--user{background:var(--surface-sunken);color:var(--ink);border-radius:18px 18px 4px;justify-self:end}.chat__msg--reply{background:var(--accent-soft);color:var(--ink);border-radius:18px 18px 18px 4px;justify-self:start}.dock{z-index:30;padding:var(--space-5) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom, transparent calc(100% - 7.5rem), var(--surface) calc(100% - 5.5rem));pointer-events:none;position:fixed;bottom:0;left:0;right:0}.dock__inner{gap:var(--space-2);pointer-events:auto;grid-template-columns:minmax(0,1fr);max-width:46rem;margin-inline:auto;display:grid}.dock .chat__box{background:var(--surface-raised);box-shadow:var(--shadow)}.dock:not(:has(.chat)){background:0 0}html:has(.dock){scroll-padding-bottom:calc(var(--dock-h,7rem) + 1rem)}body:has(.dock) .site-footer{padding-bottom:calc(var(--dock-h,7rem) + var(--space-5))}.result-pill{justify-self:center;align-items:baseline;gap:var(--space-3);max-width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-4);border:1px solid var(--control-border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow);font:inherit;cursor:pointer;display:inline-flex}.result-pill__label{min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.result-pill__value{font-weight:700;font-size:var(--step-1);white-space:nowrap}.result-pill__go{color:var(--accent);white-space:nowrap;font-size:.8125rem;font-weight:600}@media (width<=479px){.result-pill{align-items:center;column-gap:var(--space-4);border-radius:var(--radius);text-align:start;grid-template-columns:minmax(0,1fr) auto;row-gap:0;display:grid}.result-pill__label{white-space:normal}.result-pill__value{grid-row:2}.result-pill__go{grid-area:1/2/span 2}}@media print{.chat,.dock{display:none!important}}.swp-result{gap:var(--space-4)}.swp-result__figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0;display:grid}.swp-result__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.swp-result__figures dt{color:var(--ink-2);font-size:var(--step--1)}.swp-result__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}.swp-result__schedule{min-width:0;padding-top:var(--space-4);border-top:1px solid var(--hairline)}.swp-result__schedule h3{font-size:var(--step-1);margin:0}.swp-chart{gap:var(--space-2);margin:var(--space-3) 0;padding:0;list-style:none;display:grid}.swp-chart__row{align-items:center;gap:var(--space-2);grid-template-columns:minmax(3.5rem,4.5rem) minmax(2rem,1fr) minmax(6.5rem,8rem);min-width:0;display:grid}.swp-chart__label{color:var(--ink-2);font-size:var(--step--1)}.swp-chart__track{background:var(--surface-sunken);border-radius:999px;height:.65rem;overflow:hidden}.swp-chart__bar{border-radius:inherit;background:var(--accent);min-width:2px;height:100%;display:block}.swp-chart__value{overflow-wrap:anywhere;text-align:right;font-size:var(--step--1)}.swp-result__details{margin-top:var(--space-3)}.swp-result__details summary{width:fit-content;color:var(--accent);cursor:pointer;font-weight:650}.swp-result__details summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--radius-xs)}.swp-result__details .table-scroll{margin-top:var(--space-3)}@media (width<=420px){.swp-chart__row{gap:var(--space-1);grid-template-columns:minmax(3rem,3.5rem) minmax(1.5rem,1fr) minmax(6rem,7rem)}}.time-calc{gap:var(--space-4);min-width:0;display:grid}.time-calc .calc__controls,.time-results,.time-calc__clock{min-width:0}.time-calc__rows{gap:var(--space-3);display:grid}.time-calc__row,.time-calc__clock{padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);margin:0}.time-calc__row legend{padding-inline:var(--space-1);font-weight:650}.time-calc__parts{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;display:grid}.time-calc__part{min-width:0}.time-calc__input{min-width:0;min-height:44px;padding-inline:var(--space-2)}.time-calc__remove{margin-top:var(--space-2)}.time-calc__clock h3{margin:0 0 var(--space-2)}.time-calc__day-setting{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.time-calc__day-setting input{width:1.25rem;height:1.25rem}.time-calc__day-input{max-width:15rem}.time-results{align-content:start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow);display:grid}.time-results h2,.time-results p{margin-block:0}.time-results__label{color:var(--ink-2);font-size:var(--step--1)}.time-results__value{font-size:var(--step-1);overflow-wrap:anywhere;font-weight:700;line-height:1.25}.time-results__note{color:var(--ink-2);font-size:var(--step--1)}.time-results__totals{gap:var(--space-1);margin:var(--space-2) 0;display:grid}.time-results__totals>div{justify-content:space-between;gap:var(--space-2);border-bottom:1px solid var(--hairline);padding-block:var(--space-1);flex-wrap:wrap;display:flex}.time-results__totals dt{color:var(--ink-2)}.time-results__totals dd{overflow-wrap:anywhere;text-align:right;margin:0;font-weight:650}@media (width<=520px){.time-calc__parts{grid-template-columns:repeat(2,minmax(0,1fr))}.time-results{padding:var(--space-3)}}.triangle-calc{min-width:0}.triangle-help,.triangle-limit,.triangle-input-note{color:var(--ink-2);font-size:var(--step--1)}.triangle-inputs{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.triangle-inputs .field__box{min-width:0}.triangle-inputs .field__input{text-align:center;min-width:0}.triangle-error{margin-block:var(--space-3);padding:var(--space-3);border:1px solid var(--danger,#b42318);border-radius:var(--radius);color:var(--danger-ink,var(--ink));background:var(--danger-surface,var(--surface-raised))}.triangle-results{gap:var(--space-4);min-width:0;margin-top:var(--space-4);display:grid}.triangle-ambiguous{padding:var(--space-3);border-left:4px solid var(--accent);background:var(--surface-raised);margin:0}.triangle-solution{min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow)}.triangle-solution h3{margin-top:0}.triangle-drawing{margin:0 auto var(--space-3);text-align:center;max-width:24rem}.triangle-drawing svg{width:100%;height:auto;max-height:20rem;display:block;overflow:visible}.triangle-drawing polygon{fill:color-mix(in srgb, var(--accent) 14%, transparent);stroke:var(--accent);stroke-width:1.25px;vector-effect:non-scaling-stroke}.triangle-drawing text{fill:var(--ink);font-family:inherit;font-size:4px;font-weight:650}.triangle-drawing figcaption{color:var(--ink-2);font-size:var(--step--1)}.triangle-facts{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));margin:0;display:grid}.triangle-facts>div{justify-content:space-between;gap:var(--space-2);padding-block:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.triangle-facts dt{color:var(--ink-2);font-size:var(--step--1)}.triangle-facts dd{font-size:var(--step--1);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}@media (width<=520px){.triangle-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.triangle-solution{padding:var(--space-3)}}.vdrop-calc__status,.vdrop-calc__note,.vdrop-calc__warning{margin:var(--space-4) 0}.vdrop-calc__note{font-size:var(--step--1);color:var(--ink-2)}.vdrop-calc__warning{padding:var(--space-3) var(--space-4);border:1px solid var(--error-ink);border-radius:var(--radius-sm);color:var(--error-ink);background:var(--surface-sunken)}.vdrop-calc__safety{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-left:4px solid var(--ink-2);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--step--1)}.volume-calc .calc__fields{gap:var(--space-4);display:grid}.volume-calc__layout{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(12rem,.7fr);display:grid}.volume-calc__form{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.volume-calc .field__box{min-width:0}.volume-calc .field__input,.volume-calc .select{min-height:44px}.volume-calc__hint,.volume-calc__error{margin:var(--space-1) 0 0;font-size:var(--step--1);color:var(--ink-2)}.volume-calc__error{color:var(--danger,#a21d24)}.volume-sketch{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);text-align:center;margin:0}.volume-sketch svg{width:100%;max-width:18rem;height:auto;margin-inline:auto;display:block}.volume-sketch__drawing{fill:color-mix(in srgb, var(--accent,#167c80) 10%, transparent);stroke:var(--accent,#167c80);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.volume-sketch__drawing .volume-sketch__guide{fill:none;stroke-dasharray:4 4;stroke:var(--ink-2);stroke-width:1.5px}.volume-sketch__drawing text{fill:var(--ink);stroke:none;font-size:11px;font-weight:650}.volume-sketch figcaption{color:var(--ink-2);font-size:var(--step--1)}.volume-results{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow);display:grid}.volume-results h2,.volume-results h3{font-size:var(--step-1);margin:0}.volume-results__primary{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.volume-results__label{color:var(--ink-2);font-size:var(--step--1);margin:0}.volume-results__value{margin:var(--space-1) 0 0;font-size:clamp(1.25rem, 5vw, var(--step-hero));letter-spacing:-.025em;overflow-wrap:anywhere;font-weight:700;line-height:1.15}.volume-results__value span{white-space:nowrap;font-size:.6em}.volume-results__conversions{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0;display:grid}.volume-results__conversions>div{justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.volume-results__conversions dt{color:var(--ink-2)}.volume-results__conversions dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.volume-results__note{color:var(--ink-2);font-size:var(--step--1);margin:0}@media (width<=640px){.volume-calc__layout,.volume-calc__form,.volume-results__primary{grid-template-columns:minmax(0,1fr)}}.wc-answer{font-size:var(--step-1);overflow-wrap:anywhere;margin:0;line-height:1.4}.xirr-calc__input{width:100%;min-height:12rem;padding:var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:500 var(--step-0) / 1.55 var(--font-mono,monospace);resize:vertical;display:block}.xirr-calc__input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.xirr-result{gap:var(--space-4)}.xirr-result__figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));margin:0;display:grid}.xirr-result__figures>div{min-width:0;padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-raised)}.xirr-result__figures dt{color:var(--ink-2);font-size:var(--step--1)}.xirr-result__figures dd{margin:var(--space-1) 0 0;font-size:var(--step-1);overflow-wrap:anywhere;font-weight:650}
