:root{--cx-balance:#2f5f9e;--cx-principal:var(--accent);--cx-interest:#b7791f;--cx-4:#b8477f;--cx-d1:#34a27b;--cx-d2:#5b8fd6;--cx-d3:#bf8a22;--cx-d4:#d0607a;--cx-d5:#9a7fd6;--cx-good:#1b7d59;--cx-warn:#a86400;--cx-bad:#b3261e;--cx-grid:#e3e9f1;--cx-axis:#6a7890}.cx-calc{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);min-width:0;display:grid;overflow:clip}@media (width>=1024px){.cx-calc{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)}.cx-calc>.cx-detail{grid-column:1/-1}}.cx-inputs{gap:var(--s-5);align-content:start;min-width:0;padding:clamp(1.25rem,3.2vw,2.25rem);display:grid}.cx-inputs__kicker{color:var(--accent-hover);margin-bottom:calc(-1 * var(--s-2));font-style:italic}.cx-row{gap:var(--s-4);grid-template-columns:1fr;display:grid}@media (width>=560px){.cx-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.cf{gap:.4rem;min-width:0;display:grid}.cf__top{justify-content:space-between;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.cf__top label,.cf__label{color:var(--text);font-size:.92rem;font-weight:600}.cf__aside{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.86rem}.cf__control{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);align-items:center;min-height:3rem;transition:border-color .16s,box-shadow .16s;display:flex}.cf__control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.cf__control:has([aria-invalid=true]){border-color:var(--cx-bad)}.cf__control input{min-width:0;font:600 1.06rem/1.2 var(--font-body);color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;padding:.65rem .9rem}.cf__pre+input{padding-left:.2rem}.cf__pre,.cf__suf{color:var(--text-muted);white-space:nowrap;font-size:.95rem}.cf__pre{padding-left:.9rem}.cf__suf{padding-right:.9rem}.cf__err{color:var(--cx-bad);font-size:.84rem}.cf__hint{color:var(--text-muted);font-size:.82rem}.cf__chips{flex-wrap:wrap;gap:.4rem;display:flex}.cf-chip{border-radius:var(--radius-sm);background:var(--primary-soft);min-height:2.5rem;color:var(--primary);font:600 .88rem/1 var(--font-body);cursor:pointer;white-space:nowrap;border:0;padding:.35rem .85rem;transition:background-color .16s,color .16s}.cf-chip:hover{background:var(--primary-soft-hover)}.cf-chip[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.cf__range{-webkit-appearance:none;appearance:none;cursor:pointer;--fill:50%;background:0 0;width:100%;height:2.75rem;margin:-.35rem 0}.cf__range::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill), var(--border) var(--fill));border-radius:999px;height:.375rem}.cf__range::-moz-range-track{background:var(--border);border-radius:999px;height:.375rem}.cf__range::-moz-range-progress{background:var(--accent);border-radius:999px;height:.375rem}.cf__range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--surface);border:2px solid var(--accent);width:1.35rem;height:1.35rem;box-shadow:var(--shadow-sm);border-radius:50%;margin-top:-.49rem}.cf__range::-moz-range-thumb{background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:1.2rem;height:1.2rem}.cf__range:focus-visible{outline:none}.cf__range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent)}.cf__range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent)}.cx-seg{border:0;gap:.4rem;min-width:0;margin:0;padding:0;display:grid}.cx-seg legend{margin-bottom:.4rem;padding:0;font-size:.92rem;font-weight:600}.cx-seg__opts{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.4rem;display:grid}.cx-seg label{cursor:pointer;display:block;position:relative}.cx-seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.cx-seg span{text-align:center;border-radius:var(--radius-sm);background:var(--primary-soft);min-height:2.75rem;color:var(--primary);place-items:center;padding:.4rem .6rem;font-size:.92rem;font-weight:600;line-height:1.2;transition:background-color .16s,color .16s;display:grid}.cx-seg small{opacity:.85;font-size:.76rem;font-weight:400;display:block}.cx-seg input:checked+span{background:var(--primary);color:var(--on-primary)}.cx-seg input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.cx-adv{border-top:1px solid var(--border);padding-top:var(--s-2)}.cx-adv>summary{justify-content:space-between;align-items:center;gap:var(--s-3);cursor:pointer;min-height:3rem;color:var(--primary);font-weight:600;list-style:none;display:flex}.cx-adv>summary::-webkit-details-marker{display:none}.cx-adv>summary:after{content:"";width:.6rem;height:.6rem;transition:transform .2s var(--ease-out);border-bottom:2px solid;border-right:2px solid;flex:none;margin-right:.3rem;transform:rotate(45deg)translateY(-2px)}.cx-adv[open]>summary:after{transform:rotate(225deg)translateY(-2px)}.cx-adv__body{gap:var(--s-4);padding:var(--s-2) 0 var(--s-2);display:grid}.cx-result{background:var(--primary);color:var(--on-primary);gap:var(--s-4);align-content:start;min-width:0;padding:clamp(1.25rem,3.2vw,2.25rem);display:grid}.cx-result__kicker{color:var(--on-primary-muted);font-size:.9rem;font-style:italic}.cx-result__big{font-family:var(--font-display);letter-spacing:.01em;margin-top:calc(-1 * var(--s-2));font-size:clamp(2.4rem,5vw,3.35rem);font-weight:600;line-height:1}.cx-result__big small{font-family:var(--font-body);letter-spacing:0;color:var(--on-primary-muted);margin-left:.3rem;font-size:1rem;font-weight:400}.cx-result__sub{color:var(--on-primary-muted);margin-top:calc(-1 * var(--s-2));font-size:.92rem}.cx-result__sub strong{color:var(--on-primary);font-weight:600}.cx-result .btn{justify-self:start}@media (width<=639px){.cx-result .btn{justify-self:stretch}}.cx-note{color:var(--on-primary-muted);font-size:.78rem;line-height:1.55}.cx-verdict{border-radius:var(--radius-sm);padding:var(--s-3) var(--s-4);background:#ffffff1a;font-size:.95rem}.cx-verdict strong{color:var(--accent-light)}.cx-result :focus-visible{outline-color:var(--accent-light)}.cx-donutwrap{gap:var(--s-4);grid-template-columns:1fr;place-items:center;display:grid}.cx-result{container-type:inline-size}@container (width>=32rem){.cx-donutwrap{grid-template-columns:auto minmax(0,1fr);justify-items:stretch}}.cx-donutbox{aspect-ratio:1;width:11.5rem;position:relative}.cx-donutbox .cx-plot,.cx-donutbox [data-cx-host]{width:100%;height:100%}.cx-donut{width:100%;height:100%;display:block;overflow:visible}.cx-donut-track{fill:none;stroke:#ffffff14}.cx-arc.cx-hit{fill:none;stroke:var(--c);cursor:pointer;outline:none;transition:opacity .16s}.cx-donut:has(.cx-arc.is-hot) .cx-arc:not(.is-hot){opacity:.45}.cx-arc.cx-hit:focus-visible{stroke-width:30px}.cx-donutc{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.cx-donutc__v{font-family:var(--font-display);letter-spacing:.01em;font-size:1.35rem;font-weight:600;line-height:1.1}.cx-donutc__l{color:var(--on-primary-muted);font-size:.74rem}.cx-legend{gap:0;width:100%;margin:0;padding:0;display:grid}.cx-legrow{border-bottom:1px solid #ffffff21;grid-template-columns:.75rem minmax(0,1fr) auto 3.4rem;align-items:center;gap:.55rem;padding-block:.5rem;font-size:.9rem;display:grid}.cx-legrow.is-zero{opacity:.55}.cx-sw{background:var(--c);border-radius:3px;width:.75rem;height:.75rem}.cx-legname{color:var(--on-primary-muted)}.cx-legval{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.cx-legpct{color:var(--on-primary-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.84rem}.cx-tiles{border-radius:var(--radius-sm);background:#ffffff21;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.cx-tile{background:var(--primary);gap:2px;min-width:0;padding:.75rem .9rem;display:grid}.cx-tile dt{color:var(--on-primary-muted);font-size:.78rem}.cx-tile dd{overflow-wrap:anywhere;margin:0;font-size:1.08rem;font-weight:700;line-height:1.25}.cx-tile dd small{color:var(--on-primary-muted);font-size:.76rem;font-weight:400;display:block}.cx-callout{gap:var(--s-3);border-radius:var(--radius-sm);padding:var(--s-3) var(--s-4);background:#ffffff1a;align-items:flex-start;font-size:.92rem;display:flex}.cx-callout[hidden]{display:none}.cx-callout strong{color:var(--accent-light)}.cx-detail{background:var(--surface-2);gap:var(--s-5);min-width:0;padding:clamp(1rem,3vw,2rem);display:grid}.cx-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:var(--s-4);min-width:0;padding:clamp(1rem,2.6vw,1.6rem);display:grid}.cx-card__head{justify-content:space-between;align-items:flex-start;gap:var(--s-3) var(--s-4);flex-wrap:wrap;display:flex}.cx-card__title{font-family:var(--font-body);margin:0;font-size:1.15rem;font-weight:600}.cx-card__sub{color:var(--text-muted);margin-top:2px;font-size:.88rem}.cx-grid2{gap:var(--s-5);display:grid}@media (width>=1024px){.cx-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}}.cx-tabs{border-radius:var(--radius-sm);background:var(--bg);box-shadow:inset 0 0 0 1px var(--border);gap:.25rem;padding:.25rem;display:inline-flex}.cx-tabs [role=tab]{min-height:2.5rem;color:var(--text-muted);font:600 .88rem/1.1 var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:.3rem .85rem}.cx-tabs [role=tab][aria-selected=true]{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.cx-keys{color:var(--text-muted);flex-wrap:wrap;gap:.4rem 1.1rem;margin:0;padding:0;font-size:.86rem;list-style:none;display:flex}.cx-keys li{align-items:center;gap:.45rem;display:inline-flex}.cx-key{background:var(--c);border-radius:3px;flex:none;width:.75rem;height:.75rem}.cx-key--line{border-radius:2px;width:1rem;height:3px}.cx-key--ref{border-top:2px dashed var(--cx-axis);background:0 0;border-radius:0;width:1rem;height:0}.cx-plot{min-width:0;position:relative}.cx-host{width:100%;min-height:1px}.cx-host--line{min-height:17rem}.cx-svg{width:100%;height:auto;font-family:var(--font-body);display:block;overflow:visible}.cx-grid{stroke:var(--cx-grid);stroke-width:1px;shape-rendering:crispedges}.cx-grid--zero{stroke:var(--border-strong)}.cx-tick{fill:var(--cx-axis);font-variant-numeric:tabular-nums;font-size:.75rem}.cx-line{fill:none;stroke:var(--c);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.cx-area{fill:var(--c);opacity:.1}.cx-end{fill:var(--c);stroke:var(--surface);stroke-width:2px}.cx-endlabel{fill:var(--text);font-size:.78rem;font-weight:600}.cx-bar{fill:var(--c);transition:opacity .14s}.cx-bar.is-mark{opacity:1}.cx-svg:has(.cx-bar.is-hot) .cx-bar:not(.is-hot){opacity:.55}.cx-track{fill:var(--surface-3)}.cx-hlabel{fill:var(--text);font-size:.86rem;font-weight:600}.cx-hvalue{fill:var(--text);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:700}.cx-marker{stroke:var(--text);stroke-width:1px;stroke-dasharray:3 3}.cx-markerlabel{fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;font-size:.74rem;font-weight:600}.cx-ref{stroke:var(--cx-axis);stroke-width:1.5px;stroke-dasharray:5 4}.cx-reflabel{fill:var(--text-muted);paint-order:stroke;stroke:var(--surface);stroke-width:4px;font-size:.74rem}.cx-focusx{stroke:var(--accent);stroke-width:1px;opacity:.5}.cx-threshold{stroke:var(--text);stroke-width:1.5px}.cx-status{fill:var(--text-muted);font-size:.78rem}.cx-meter--good{fill:var(--cx-good)}.cx-meter--warn{fill:var(--cx-warn)}.cx-meter--bad{fill:var(--cx-bad)}.cx-focus{opacity:0;pointer-events:none}.cx-focus.is-on{opacity:1}.cx-cross{stroke:var(--text-muted);stroke-width:1px}.cx-dot{fill:var(--c);stroke:var(--surface);stroke-width:2px}.cx-hit{fill:#0000;cursor:crosshair;outline:none}.cx-hit--band{cursor:pointer}.cx-hit:focus-visible{fill:color-mix(in srgb, var(--accent) 7%, transparent);stroke:var(--accent);stroke-width:2px}.cx-arc.cx-hit:focus-visible{fill:none;stroke:var(--c)}.cx-result .cx-tick,.cx-result .cx-hlabel,.cx-result .cx-hvalue{fill:var(--on-primary)}.cx-tip{z-index:5;pointer-events:none;background:var(--surface);min-width:9rem;max-width:16rem;color:var(--text);border-radius:var(--radius-sm);padding:.55rem .7rem;font-size:.82rem;line-height:1.35;position:absolute;box-shadow:0 1px 2px #0f1e331a,0 10px 28px -8px #0f1e3359}.cx-tip__t{color:var(--text-muted);margin-bottom:.25rem;font-weight:600}.cx-tip__r{align-items:center;gap:.45rem;display:flex}.cx-tip__r strong{font-variant-numeric:tabular-nums;color:var(--text)}.cx-tip__r span:last-child{color:var(--text-muted)}.cx-tip__k{background:var(--c);border-radius:2px;flex:none;width:.8rem;height:3px}.cx-data>summary{cursor:pointer;color:var(--accent-hover);align-items:center;min-height:2.5rem;font-size:.88rem;font-weight:600;display:inline-flex}.cx-data .table-wrap{margin-top:var(--s-2);max-height:22rem;overflow:auto}.cx-table{border-collapse:collapse;width:100%;min-width:26rem;font-size:.88rem}.cx-table th,.cx-table td{border-bottom:1px solid var(--border);text-align:left;padding:.5rem .75rem}.cx-table thead th{background:var(--surface-3);z-index:1;font-weight:600;position:sticky;top:0}.cx-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cx-sched__tools{gap:var(--s-2);flex-wrap:wrap;display:flex}.cx-sched__tools .btn{min-height:2.75rem;padding:.5rem 1rem;font-size:.92rem}.cx-sched__tools .btn svg{width:1.1rem;height:1.1rem}.cx-sched .table-wrap{border-radius:var(--radius-sm);max-height:32rem;box-shadow:inset 0 0 0 1px var(--border);overflow:auto}.cx-sched table{border-collapse:separate;border-spacing:0;width:100%;min-width:34rem;font-size:.92rem}.cx-sched th,.cx-sched td{border-bottom:1px solid var(--border);text-align:left;padding:.55rem .9rem}.cx-sched thead th{z-index:1;background:var(--surface-3);font-size:.86rem;font-weight:600;position:sticky;top:0}.cx-sched .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cx-sched .num--key{color:var(--primary);font-weight:600}.cx-yr th{padding-block:.2rem}.cx-exp{min-height:2.5rem;font:600 .92rem var(--font-body);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;display:inline-flex}.cx-exp__icon{background:var(--primary-soft);border-radius:4px;flex:none;width:1.1rem;height:1.1rem;position:relative}.cx-exp__icon:before,.cx-exp__icon:after{content:"";background:var(--primary);width:.55rem;height:2px;position:absolute;top:50%;left:50%;translate:-50% -50%}.cx-exp__icon:after{transition:rotate .18s var(--ease-out);rotate:90deg}.cx-exp[aria-expanded=true] .cx-exp__icon:after{rotate:0deg}.cx-yr__cal{color:var(--text-muted);font-size:.82rem;font-weight:400}.cx-yr.is-open{background:var(--accent-soft)}.cx-mo th,.cx-mo td{color:var(--text-muted);background:var(--bg);padding-block:.4rem;font-size:.85rem}.cx-mo th{padding-left:2.5rem;font-weight:400}.cx-disclaimer{color:var(--text-muted);font-size:.8rem;line-height:1.6}@media (prefers-reduced-motion:reduce){.cx-calc *,.cx-calc :before,.cx-calc :after{transition:none!important}}@media print{html.cx-printing body *{visibility:hidden!important}html.cx-printing [data-cx-print],html.cx-printing [data-cx-print] *{visibility:visible!important}html.cx-printing [data-cx-print]{width:100%;box-shadow:none;position:absolute;top:0;left:0}html.cx-printing .cx-sched .table-wrap,html.cx-printing .cx-data .table-wrap{max-height:none;overflow:visible}html.cx-printing .cx-sched__tools,html.cx-printing .cx-tip{display:none!important}html.cx-printing body{background:#fff;padding:0}}.cx-result .cx-hlabel,.cx-result .cx-hvalue,.cx-result .cx-markerlabel{fill:var(--on-primary)}.cx-result .cx-markerlabel{stroke:var(--primary)}.cx-result .cx-marker{stroke:var(--on-primary)}.cx-result .cx-track{fill:#ffffff1a}.cx-result .cx-hit:focus-visible{stroke:var(--accent-light);fill:#ffffff0f}.cx-result .cx-arc.cx-hit:focus-visible{fill:none;stroke:var(--c)}.cf__control select{min-width:0;min-height:3rem;font:600 1rem var(--font-body);color:var(--text);cursor:pointer;background:0 0;border:0;outline:none;flex:1;padding:.6rem .9rem}.cf,.cx-inputs,.cx-result,.cx-detail,.cx-card,.cx-adv__body{grid-template-columns:minmax(0,1fr)}.cf__control input{width:100%}.cx-track--good{fill:color-mix(in srgb, var(--cx-good) 13%, var(--surface))}.cx-track--warn{fill:color-mix(in srgb, var(--cx-warn) 13%, var(--surface))}.cx-track--bad{fill:color-mix(in srgb, var(--cx-bad) 13%, var(--surface))}.cx-result__big--text{font-size:clamp(1.9rem,3.6vw,2.5rem);line-height:1.1}html.a11y-dark{--cx-grid:#2a2a2e;--cx-axis:#b8b8b8;--cx-balance:#6f9fe0;--cx-interest:#d39b35;--cx-4:#d0607a}
