.tsum-root{min-width:0}.tsum-root .tk-result-label{font-size:15px;font-weight:600;line-height:1.3}.tsum-root .tk-result-value{font-size:clamp(40px,12vw,64px);font-variant-numeric:tabular-nums;line-height:1.05}.tsum-root .tk-result-caption{color:var(--tk-muted);font-size:15px;line-height:1.45;max-width:46ch}.tsum-root .tk-hint,.tsum-root .tk-msg{font-size:13px;line-height:1.45}.tsum-root p.tk-label,.tsum-root span.tk-label{font-size:14px;line-height:1.3}.tsum-inputs{display:grid;gap:20px;margin:0 auto;max-width:480px;min-width:0}.tsum-fields{align-items:start;display:grid;gap:20px 16px;grid-template-columns:minmax(0,1fr);min-width:0}.tsum-inputs .tk-input{font-size:20px;font-variant-numeric:tabular-nums;min-height:52px}.tsum-inputs .tk-seg-btn{min-height:48px}.tsum-paydays .tk-seg-btn{min-height:52px}.tsum-result{display:grid;gap:12px;min-width:0;transition-duration:var(--tk-base);transition-property:opacity;transition-timing-function:var(--tk-ease)}.tsum-result.is-stale{opacity:.55}.tsum-stats{margin-top:20px}.tsum-stats .tk-stat-value{font-variant-numeric:tabular-nums;white-space:nowrap}.tsum-stats .tk-stat-label{text-wrap:balance}.tsum-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.tsum-actions-end{display:inline-flex;gap:8px;margin-left:auto}.tsum-strip{margin:0 auto;max-width:460px;min-width:0;position:relative;width:100%}.tsum-root .tsum-line-key{align-items:center;color:var(--tk-ink);display:flex;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;gap:8px;line-height:1.3;margin:0 0 6px}.tsum-line-swatch{background:var(--tk-ink);border-radius:2px;flex:0 0 auto;height:3px;width:18px}.tsum-strip-plot{position:relative}.tsum-strip-svg{display:block;height:auto;overflow:visible;width:100%}.tsum-base{stroke:var(--tk-line);stroke-width:1.5}.tsum-part{stroke:#fff;stroke-width:2}.tsum-part--spend{fill:var(--tk-green)}.tsum-part--slice{fill:var(--tk-gold)}.tsum-part--fund{fill:var(--tk-mint)}.tsum-col{transform-box:fill-box;transform-origin:50% 100%}.tsum-line{stroke:var(--tk-ink);stroke-width:2.2;stroke-linecap:round}.tsum-root .tsum-axis{color:var(--tk-muted);display:grid;font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:700;grid-template-columns:repeat(12,minmax(0,1fr));line-height:1.3;list-style:none;margin:4px 0 0;padding:0;text-align:center}.tsum-axis .is-summer{color:var(--tk-ink)}.tsum-strip--armed .tsum-col{opacity:0;transform:scaleY(0)}.tsum-strip--armed .tsum-line{opacity:0}.tsum-strip--in .tsum-col{animation:tsum-rise var(--tk-draw) var(--tk-ease) var(--tsum-delay,0s) backwards}.tsum-strip--in .tsum-line{animation:tsum-fade var(--tk-base) var(--tk-ease) var(--tsum-delay,0s) backwards}@keyframes tsum-rise{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes tsum-fade{0%{opacity:0}to{opacity:1}}.tsum-legend{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:20px 0 0;padding:0}.tsum-key{display:grid;gap:1px;min-width:0}.tsum-key-name{align-items:center;color:var(--tk-copy);display:inline-flex;font-size:12px;font-weight:600;gap:6px;line-height:1.3;min-width:0}.tsum-key-amount{color:var(--tk-ink);font-size:16px;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.2}.tsum-key-unit{color:var(--tk-muted);font-size:11.5px;font-weight:600;line-height:1.2}.tsum-swatch{border-radius:3px;flex:0 0 auto;height:10px;width:10px}.tsum-swatch--spend{background:var(--tk-green)}.tsum-swatch--slice{background:var(--tk-gold)}.tsum-swatch--fund{background:var(--tk-mint);box-shadow:inset 0 0 0 1px var(--tk-line)}.tsum-how{display:grid;gap:14px;max-width:820px}.tsum-how p{margin:0}.tsum-page .tsum-formula{background:var(--tk-mint-wash);border-radius:var(--tk-radius-sm);color:var(--tk-ink);font-weight:700;padding:12px 16px}.tsum-steps{display:grid;gap:8px;margin:0;padding-left:22px}.tsum-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--tk-radius-sm);box-shadow:0 0 0 1px var(--tk-line)}.tsum-table{border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;width:100%}.tsum-table caption{color:var(--tk-ink);font-size:14px;font-weight:700;line-height:1.4;padding:12px 12px 8px;text-align:left}.tsum-table td,.tsum-table th{border-top:1px solid var(--tk-line);padding:10px 12px;text-align:right;white-space:nowrap}.tsum-table thead th{background:var(--tk-bg-soft);color:var(--tk-muted);font-size:13px}.tsum-table td:first-child,.tsum-table th:first-child{text-align:left}.tsum-table tbody th{color:var(--tk-ink);font-weight:700}.tsum-table-wrap:focus-visible{outline:3px solid var(--tk-green);outline-offset:2px}.tsum-explainers{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}.tsum-explainer{background:var(--tk-bg-soft);border-radius:16px;min-width:0;padding:20px}.tsum-explainer h3{color:var(--tk-ink);font-size:17px;font-weight:800;line-height:1.3;margin:0 0 8px}.tsum-explainer p{font-size:15px;line-height:1.55;margin:0}.tsum-page .tsum-faq .faq-title{color:var(--tk-ink);font-size:clamp(22px,3.4vw,28px);margin:0 0 8px;max-width:none;padding:0;text-align:left;width:100%}.tsum-page .tsum-faq .faq-item{margin:0;max-width:820px;width:100%}.tsum-page .tsum-faq .faq-answer{font-size:16px;font-weight:400;line-height:1.55}.tsum-page .tsum-faq .faq-answer-container-visible{max-height:1400px}@media (min-width:561px){.tsum-inputs{max-width:560px}.tsum-fields{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}@media (max-width:560px){.tsum-explainer{padding:16px}.tsum-actions .tk-btn:not(.tk-btn--icon){flex:1 1 0;padding-left:12px;padding-right:12px}.tsum-actions-end{margin-left:0}.tsum-stats .tk-stat{padding:10px 4px}.tsum-stats .tk-stat-value{font-size:14px;letter-spacing:-.01em}.tsum-key-amount{font-size:15px}}@media (max-width:400px){.tsum-stats .tk-stat-value{font-size:13px}.tsum-key-name{font-size:11.5px}}@media print{.tsum-actions{display:none!important}.tsum-result.is-stale{opacity:1}.tsum-part--spend{fill:#555}.tsum-part--slice{fill:#bbb}.tsum-part--fund{fill:#ddd}.tsum-stats .tk-stat{background:#fff;box-shadow:inset 0 0 0 1px #888}}@media (prefers-reduced-motion:reduce){.tsum-result{transition:none}.tsum-strip--armed .tsum-col,.tsum-strip--in .tsum-col{animation:none;opacity:1;transform:none}.tsum-strip--armed .tsum-line{opacity:1}.tsum-strip--in .tsum-line{animation:none}}