.tc-app{max-width:1100px;margin:0 auto;padding:48px 20px 80px;font-family:DM Sans,sans-serif;color:var(--ink)}.tc-page-header{margin-bottom:32px;padding-bottom:28px;border-bottom:2px solid var(--rule)}.tc-page-title{font-family:Fraunces,serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--ink);margin:0 0 .75rem}.tc-page-subtitle{font-size:1.05rem;color:var(--ink-muted);line-height:1.6;max-width:640px;margin:0}.tc-input-bar{background:var(--blue);border:1px solid var(--rule-blue);border-radius:12px;padding:24px 28px 16px;margin-bottom:40px}.tc-input-panel{display:flex;flex-direction:column;gap:12px}.tc-input-bar-fields{display:flex;flex-direction:column;gap:20px}@media (min-width: 640px){.tc-input-bar-fields{flex-direction:row;align-items:flex-end;gap:24px}.tc-input-bar-fields .tc-input-group:first-child{flex:1}.tc-input-bar-fields .tc-input-group:last-child{flex:0 0 220px}}.tc-results-body{display:flex;flex-direction:column;gap:40px}.tc-input-group{display:flex;flex-direction:column;gap:6px}.tc-label{font-size:.875rem;font-weight:600;color:var(--ink);letter-spacing:.01em}.tc-prefix-wrap{display:flex;align-items:center;border:1.5px solid var(--rule);border-radius:6px;background:var(--white);transition:border-color .15s}.tc-prefix-wrap:focus-within{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:1px}.tc-prefix{padding:0 10px 0 14px;font-size:1rem;color:var(--ink-muted);user-select:none;flex-shrink:0}.tc-income-input{flex:1;border:none;outline:none;background:transparent;padding:12px 14px 12px 0;font-size:1.1rem;font-family:DM Sans,sans-serif;color:var(--ink);min-width:0}.tc-income-input::placeholder{color:var(--rule)}.tc-income-input--error~.tc-prefix-wrap,.tc-prefix-wrap:has(.tc-income-input--error){border-color:var(--red)}.tc-prefix-wrap--error{border-color:var(--red)!important}.tc-input-error{font-size:.825rem;color:var(--red);margin:0;min-height:1.2em}.tc-input-hint{font-size:.825rem;color:var(--ink-muted);margin:0;min-height:1.2em}.tc-select{appearance:none;border:1.5px solid var(--rule);border-radius:6px;padding:12px 36px 12px 14px;font-size:1rem;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233A3230' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;cursor:pointer;transition:border-color .15s}.tc-select:focus-visible{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}.tc-results-empty{padding:8px 0}.tc-results-empty__text{color:var(--ink-muted);font-size:1rem;margin:0 0 12px}.tc-results{display:flex;flex-direction:column;gap:20px}.tc-stale-banner{background:#fff8e1;border:1px solid #ffe082;border-radius:6px;padding:10px 16px;font-size:.875rem;color:#6d4c00}.tc-summary-card{background:var(--ink);color:var(--paper);border-radius:10px;padding:24px}.tc-summary-card__header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.tc-summary-card__label{font-size:.9rem;opacity:.75;flex-shrink:0}.tc-summary-card__total{font-family:Fraunces,serif;font-size:clamp(2rem,5vw,2.75rem);font-weight:700;letter-spacing:-.02em;line-height:1;color:#f87171}.tc-summary-card__rate{margin-top:10px;font-size:.9rem;opacity:.85}.tc-breakdown{display:flex;flex-direction:column;gap:0;border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin:0}.tc-breakdown__row{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--rule);gap:16px}.tc-breakdown__row:last-child{border-bottom:none}.tc-breakdown__row--sub{background:var(--paper-mid);padding-left:32px}.tc-breakdown__row--subtotal{border-top:1px solid var(--rule);font-weight:500}.tc-breakdown__row--total{background:var(--paper-mid);font-weight:700;font-size:1.05rem}.tc-breakdown__label{font-size:.9rem;color:var(--ink-muted);flex:1}.tc-breakdown__row--subtotal .tc-breakdown__label,.tc-breakdown__row--total .tc-breakdown__label{color:var(--ink)}.tc-breakdown__value{font-size:.95rem;font-weight:500;color:var(--ink);text-align:right;flex-shrink:0}.tc-note{font-size:.85rem;color:var(--ink-muted);background:var(--blue);border:1px solid var(--rule-blue);border-radius:6px;padding:10px 14px;margin:0;line-height:1.5}.tc-tax-year-subtext{font-size:.8rem;color:var(--ink-muted);margin:0;line-height:1.5}.tc-disclaimer{font-size:.775rem;color:var(--ink-muted);line-height:1.6;margin:0;padding-top:12px;border-top:1px solid var(--rule)}.tc-deficit-context{display:flex;gap:16px;align-items:flex-start;background:var(--paper-mid);border:1px solid var(--rule);border-left:4px solid var(--red);border-radius:0 8px 8px 0;padding:20px 24px}.tc-deficit-context__icon{font-size:1.25rem;flex-shrink:0;margin-top:1px;color:var(--red)}.tc-deficit-context__body{display:flex;flex-direction:column;gap:6px}.tc-deficit-context__copy{font-size:.9rem;color:var(--ink);line-height:1.6;margin:0}.tc-deficit-context__source{font-size:.8rem;color:var(--ink-muted);margin:0}.tc-link{color:var(--blue-text);text-decoration:underline;text-underline-offset:2px}.tc-link:hover{color:var(--ink)}.tc-app :focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:3px}.tc-allocation-section{margin-top:56px;display:flex;flex-direction:column;gap:48px}.tc-section-title{font-family:Fraunces,serif;font-size:1.4rem;font-weight:700;color:var(--ink);margin:0 0 6px;letter-spacing:-.01em}.tc-section-sub{font-size:.875rem;color:var(--ink-muted);margin:0 0 20px;line-height:1.5}.tc-chart-wrapper{width:100%}.tc-chart-canvas{width:100%;overflow:hidden}.tc-chart-tooltip{background:var(--ink);color:var(--paper);border-radius:6px;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:.85rem;display:flex;flex-direction:column;gap:3px;max-width:200px;pointer-events:none}.tc-chart-tooltip strong{font-weight:600;margin-bottom:2px}.tc-breakdown-table-wrap{width:100%}.tc-sort-controls{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tc-sort-label{font-size:.8rem;color:var(--ink-muted)}.tc-sort-btn{font-family:DM Sans,sans-serif;font-size:.8rem;background:var(--paper-mid);border:1px solid var(--rule);border-radius:4px;padding:4px 10px;cursor:pointer;color:var(--ink-muted);transition:background .15s,color .15s}.tc-sort-btn:hover{background:var(--rule);color:var(--ink)}.tc-sort-btn--active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tc-cat-table-container{overflow-x:auto;border:1px solid var(--rule);border-radius:10px}.tc-cat-table{width:100%;border-collapse:collapse;font-size:.875rem;font-family:DM Sans,sans-serif}.tc-cat-th{padding:10px 14px;text-align:left;font-size:.775rem;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--rule);background:var(--paper-mid);white-space:nowrap}.tc-cat-th--dollars,.tc-cat-th--pct{text-align:right}.tc-cat-th--actions{width:110px}.tc-cat-th--yoy{width:160px}.tc-cat-row{border-bottom:1px solid var(--rule);transition:background .1s}.tc-cat-row:last-child{border-bottom:none}.tc-cat-row:hover,.tc-cat-row--open{background:var(--blue)}.tc-cat-td{padding:12px 14px;color:var(--ink);vertical-align:middle}.tc-cat-td--name{min-width:160px}.tc-cat-td--pct{text-align:right;min-width:120px}.tc-cat-td--dollars{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tc-cat-td--yoy{font-size:.8rem;color:var(--ink-muted)}.tc-cat-td--actions{white-space:nowrap}.tc-cat-td--detail{padding:0}.tc-cat-expand-btn{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0;font-family:DM Sans,sans-serif;font-size:.875rem;color:var(--ink);text-align:left}.tc-cat-expand-btn:hover .tc-cat-name{text-decoration:underline;text-underline-offset:2px}.tc-cat-expand-icon{font-size:.7rem;color:var(--ink-muted);flex-shrink:0}.tc-pct-bar-wrap{display:flex;align-items:center;gap:8px;justify-content:flex-end}.tc-pct-bar{height:6px;background:var(--red);border-radius:3px;max-width:80px;min-width:2px;opacity:.6}.tc-pct-label{font-size:.875rem;font-variant-numeric:tabular-nums;white-space:nowrap}.tc-yoy-note{font-size:.8rem;color:var(--ink-muted)}.tc-learn-more{font-size:.8rem;color:var(--blue-text);text-decoration:none;white-space:nowrap}.tc-learn-more:hover{text-decoration:underline;text-underline-offset:2px}.tc-table-source{font-size:.775rem;color:var(--ink-muted);margin:10px 0 0}.tc-program-detail{padding:12px 14px 12px 36px;background:var(--paper);border-top:1px solid var(--rule)}.tc-program-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tc-program-item{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.85rem}.tc-program-name{color:var(--ink-muted)}.tc-program-pct{color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0}.tc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tc-callouts{display:flex;flex-direction:column;gap:16px;margin-top:48px}@media (min-width: 640px){.tc-callouts{flex-direction:row;align-items:stretch}.tc-callout{flex:1}}.tc-callout{background:var(--paper-mid);border:1px solid var(--rule);border-left:4px solid var(--blue-deep);border-radius:0 10px 10px 0;padding:20px;display:flex;flex-direction:column;gap:6px}.tc-callout__icon{font-size:1.4rem;line-height:1;margin-bottom:2px}.tc-callout__label{font-size:.725rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--blue-text);margin:0}.tc-callout__body{font-size:.9rem;color:var(--ink);line-height:1.55;margin:0;flex:1}.tc-callout__footnote{font-size:.775rem;color:var(--ink-muted);margin:4px 0 0}.tc-cta{margin-top:56px;padding:36px 32px;border:1px solid var(--rule);border-radius:10px;background:var(--paper-mid);text-align:center;max-width:640px;margin-left:auto;margin-right:auto}.tc-cta__copy{font-size:1.05rem;color:var(--ink);line-height:1.65;margin:0 0 20px;font-style:italic}.tc-cta__link{display:inline-block;font-size:.95rem;font-weight:600;color:var(--red);text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:1px;transition:color .15s,border-color .15s}.tc-cta__link:hover{color:var(--red-deep);border-color:var(--red-deep)}.tc-faq{margin-top:56px}.tc-faq-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin:20px 0 0}.tc-faq-item{border-bottom:1px solid var(--rule)}.tc-faq-item:last-child{border-bottom:none}.tc-faq-item--open{background:var(--paper-mid)}.tc-faq-term{margin:0}.tc-faq-btn{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:16px 20px;background:none;border:none;cursor:pointer;text-align:left;font-family:DM Sans,sans-serif;transition:background .1s}.tc-faq-btn:hover{background:var(--paper-mid)}.tc-faq-question{font-size:.95rem;font-weight:500;color:var(--ink);flex:1;line-height:1.4}.tc-faq-icon{font-size:1.1rem;font-weight:400;color:var(--ink-muted);flex-shrink:0;width:20px;text-align:center}.tc-faq-answer{padding:0 20px 16px;margin:0}.tc-faq-answer p{font-size:.9rem;color:var(--ink-muted);line-height:1.65;margin:0}.tc-assumptions{margin-top:20px;border:1px solid var(--rule);border-radius:8px;overflow:hidden}.tc-assumptions-btn{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:12px 16px;background:var(--paper-mid);border:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.825rem;font-weight:600;color:var(--ink-muted);text-align:left;transition:background .1s}.tc-assumptions-btn:hover{background:var(--rule);color:var(--ink)}.tc-assumptions-icon{font-size:.75rem;flex-shrink:0}.tc-assumptions-panel{padding:16px;border-top:1px solid var(--rule)}.tc-assumptions-intro{font-size:.825rem;color:var(--ink-muted);margin:0 0 12px;line-height:1.5}.tc-assumptions-list{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px}.tc-assumptions-item{font-size:.825rem;color:var(--ink-muted);line-height:1.5}@media (min-width: 390px){.tc-app{padding:52px 24px 80px}}@media (min-width: 768px){.tc-app{padding:64px 40px 100px}.tc-summary-card{padding:28px 32px}}@media (min-width: 1280px){.tc-app{padding:72px 52px 120px}}.tc-footer-disclaimer{font-family:DM Sans,sans-serif;font-size:.775rem;color:var(--ink-muted);line-height:1.6;border-top:1px solid var(--rule);padding-top:1.5rem;margin-top:3rem;text-align:center}
