:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202521;background:#edf0eb;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #202521;--muted: #697069;--line: #dde2dc;--line-strong: #bcc6bd;--paper: #ffffff;--surface: #f5f7f4;--surface-strong: #ecefea;--green: #17705b;--green-soft: #e5f2ed;--blue: #4f71a8;--amber: #9a681c;--amber-soft: #f7edda;--red: #b34f42;--red-soft: #f8e9e6;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--shadow-sm: 0 1px 2px rgba(29, 38, 31, .05);--shadow-md: 0 10px 32px rgba(29, 38, 31, .07);color-scheme:light}*{box-sizing:border-box}html{min-width:320px;background:#edf0eb}body{margin:0;min-width:320px;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#edf0eb}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #17705b;outline-offset:2px}.app-shell{min-height:100vh}.topbar{position:sticky;z-index:20;top:0;display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:8px clamp(16px,3vw,40px);border-bottom:1px solid var(--line);background:#fffffff0;box-shadow:0 1px #1d261f08;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand,.header-actions,.fire-heading,.segmented,.tab-bar,.section-title,.compact-pair{display:flex;align-items:center}.brand{min-width:0;gap:var(--space-md)}.brand-mark{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:8px;color:#fff;background:#25362e}.brand h1,.brand p,.panel-heading h2,.fire-heading h2,.fire-heading p,.section-title h3,.section-title p,.progress-copy p,.formula-block h3,.formula-block p{margin:0}.brand h1{font-size:15px;line-height:1.3;font-weight:700;letter-spacing:0}.brand p{margin-top:2px;color:var(--muted);font-size:10px}.header-actions{display:flex;align-items:center;margin-left:auto;gap:var(--space-sm)}.save-state{display:inline-flex;min-width:92px;align-items:center;gap:5px;color:var(--muted);font-size:11px}.save-state.is-saved{color:var(--green)}.save-state.has-error{color:var(--red)}.icon-button{display:inline-flex;min-width:36px;height:36px;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:5px;background:var(--paper);cursor:pointer;transition:border-color .14s ease,background .14s ease}.icon-button:hover{border-color:var(--line-strong);background:var(--surface)}.backup-history-button{position:relative}.backup-history-count{position:absolute;top:-5px;right:-5px;display:grid;min-width:16px;height:16px;place-items:center;padding:0 3px;border:1px solid var(--paper);border-radius:8px;color:#fff;background:var(--green);font-size:9px;font-weight:700;line-height:1}.backup-reminder{display:flex;width:min(1180px,calc(100% - 32px));align-items:center;justify-content:space-between;gap:var(--space-lg);margin:14px auto 0;padding:10px 12px;border:1px solid #d4e4dc;border-radius:6px;background:#f4faf6}.backup-reminder-copy{display:flex;min-width:0;align-items:center;gap:9px;color:var(--green)}.backup-reminder-copy>svg{flex:0 0 auto}.backup-reminder-copy div{min-width:0}.backup-reminder-copy strong,.backup-reminder-copy span{display:block}.backup-reminder-copy strong{color:var(--ink);font-size:11px}.backup-reminder-copy span{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.45}.backup-reminder-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.backup-reminder-actions button,.backup-restore-button,.backup-dialog-close{border:1px solid var(--line);border-radius:5px;background:var(--paper);cursor:pointer}.backup-export-button,.backup-restore-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:6px;padding:0 10px;font-size:11px;font-weight:700}.backup-export-button{border-color:var(--green)!important;color:#fff;background:var(--green)!important}.backup-dismiss-button{min-height:32px;padding:0 8px;color:var(--muted);font-size:10px}.backup-reminder-actions button:hover,.backup-restore-button:hover,.backup-dialog-close:hover{border-color:var(--line-strong);background:var(--surface)}.backup-export-button:hover{background:#115c49!important}.backup-dialog-backdrop{position:fixed;z-index:130;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#181f1a85}.backup-dialog{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-md)}.backup-dialog header{display:flex;align-items:flex-start;gap:10px}.backup-dialog-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:6px;color:var(--green);background:var(--green-soft)}.backup-dialog header>div:nth-child(2){min-width:0}.backup-dialog h2,.backup-dialog p{margin:0}.backup-dialog h2{margin-top:2px;font-size:16px}.backup-dialog header p,.backup-empty-state{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.55}.backup-dialog-close{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;margin-left:auto;padding:0;color:var(--muted)}.backup-snapshot-list{display:grid;gap:7px;margin:18px 0 0;padding:0;list-style:none}.backup-snapshot-list li{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.backup-snapshot-list li>div{min-width:0}.backup-snapshot-list strong,.backup-snapshot-list span{display:block}.backup-snapshot-list strong{font-size:11px}.backup-snapshot-list span{margin-top:3px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.backup-empty-state{padding:16px 0 2px}.scenario-bar{display:flex;min-height:44px;align-items:center;gap:14px;padding:5px clamp(16px,3vw,40px);border-bottom:1px solid var(--line);background:var(--paper)}.scenario-selector,.scenario-actions{display:flex;align-items:center}.scenario-selector{min-width:0;gap:8px}.scenario-selector>svg{flex:0 0 auto;color:var(--green)}.scenario-selector label{flex:0 0 auto;color:var(--muted);font-size:10px;font-weight:700}.scenario-selector select{width:min(260px,28vw);height:32px;min-width:140px;padding:0 30px 0 10px;overflow:hidden;border:1px solid var(--line-strong);border-radius:5px;color:var(--ink);background:var(--paper);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.user-switcher{display:flex;align-items:center;gap:5px;margin-left:4px;padding-left:10px;border-left:1px solid var(--line)}.user-switcher label{color:var(--muted);font-size:10px;font-weight:700}.user-switcher select{width:min(190px,20vw);height:32px;min-width:110px;padding:0 27px 0 9px;border:1px solid var(--line-strong);border-radius:5px;color:var(--ink);background:var(--paper);font-size:12px;font-weight:700}.user-switcher button{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--paper);cursor:pointer}.user-switcher button:hover{color:var(--ink);background:var(--surface)}.user-switcher button:disabled{cursor:not-allowed;opacity:.45}.scenario-count{flex:0 0 auto;padding:3px 6px;border-radius:4px;color:var(--muted);background:var(--surface-strong);font-size:9px}.scenario-independence{margin-left:auto;color:var(--muted);font-size:10px}.scenario-actions{gap:4px}.scenario-actions button{display:grid;width:30px;height:30px;place-items:center;padding:0;border:1px solid transparent;border-radius:5px;color:var(--muted);background:transparent;cursor:pointer}.scenario-actions button:hover:not(:disabled){border-color:var(--line);color:var(--ink);background:var(--surface)}.scenario-actions button:disabled{cursor:not-allowed;opacity:.35}.scenario-dialog-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#181f1a6b}.scenario-dialog{width:min(420px,100%);padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-md)}.scenario-dialog header{display:flex;align-items:flex-start;gap:11px}.scenario-dialog-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:6px;color:var(--green);background:var(--green-soft)}.scenario-dialog h2,.scenario-dialog p{margin:0}.scenario-dialog h2{font-size:16px}.scenario-dialog header p{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.55}.scenario-dialog form{display:grid;gap:8px;margin-top:18px}.scenario-dialog label{font-size:11px;font-weight:700}.scenario-dialog input{width:100%;height:38px;padding:0 10px;border:1px solid var(--line-strong);border-radius:5px;color:var(--ink);background:var(--paper)}.scenario-dialog-error{color:var(--red);font-size:10px}.scenario-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.scenario-dialog-actions button{min-height:34px;padding:0 13px;border:1px solid var(--line);border-radius:5px;background:var(--paper);cursor:pointer}.scenario-dialog-actions .primary-button{border-color:var(--green);color:#fff;background:var(--green)}.profile-dialog-backdrop{position:fixed;z-index:120;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#181f1a85}.profile-dialog{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-md)}.profile-dialog>header{display:flex;align-items:flex-start;gap:12px}.profile-dialog-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:6px;color:var(--green);background:var(--green-soft)}.profile-dialog h2,.profile-dialog p{margin:0}.profile-dialog h2{margin-top:2px;font-size:19px}.profile-dialog header p{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.55}.profile-dialog form{display:grid;gap:18px;margin-top:20px}.profile-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-steps span{padding:8px 10px;border-bottom:2px solid var(--line);color:var(--muted);font-size:11px;font-weight:700}.profile-steps span.is-active,.profile-steps span.is-complete{border-bottom-color:var(--green);color:var(--green)}.profile-step-hidden{display:none}.profile-dialog fieldset{min-width:0;margin:0;padding:0;border:0}.profile-dialog legend,.profile-city-field>span:first-child{margin-bottom:8px;color:var(--ink);font-size:11px;font-weight:700}.profile-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-choice-grid label{display:flex;min-height:64px;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.profile-choice-grid label.is-selected{border-color:var(--green);background:var(--green-soft)}.profile-choice-grid input{accent-color:var(--green)}.profile-choice-grid svg{flex:0 0 auto;color:var(--green)}.profile-choice-grid span{display:grid;gap:3px;font-size:12px;font-weight:700}.profile-choice-grid small,.profile-city-field>small{color:var(--muted);font-size:10px;font-weight:400;line-height:1.45}.profile-city-field{display:grid}.profile-city-input{display:flex;height:40px;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line-strong);border-radius:5px}.profile-city-input svg{color:var(--green)}.profile-city-input input,.profile-city-input select{width:100%;height:100%;border:0;outline:0;color:var(--ink);background:transparent}.profile-city-field>small{margin-top:6px}.profile-city-field>small a{margin-left:3px;color:var(--green)}.profile-dialog fieldset:disabled{opacity:.66}.profile-linked-note{margin:7px 0 0!important;color:var(--green)!important;font-size:10px!important}.profile-dialog footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.profile-dialog footer button{min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:5px;background:var(--paper);cursor:pointer}.profile-dialog footer .primary-button{border-color:var(--green);color:#fff;background:var(--green)}.city-data-notice,.city-data-warning{border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--surface)}.city-data-notice{display:grid;min-height:220px;place-content:center;gap:7px;padding:24px;text-align:center}.city-data-notice svg{margin:0 auto;color:var(--green)}.city-data-notice strong{color:var(--ink);font-size:13px}.city-data-notice p{max-width:320px;margin:0;font-size:11px;line-height:1.6}.city-data-warning{margin:0 32px 20px;padding:11px 13px;font-size:11px;line-height:1.55}.profile-linked-control{display:flex;min-height:50px;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;color:var(--green);background:var(--green-soft)}.profile-linked-control span{display:grid;color:var(--ink);font-size:11px;font-weight:700}.profile-linked-control small{color:var(--muted);font-size:9px;font-weight:400}.people-grid.is-single{grid-template-columns:minmax(0,1fr)}.desktop-label{font-size:13px}main{width:min(1680px,100%);margin:0 auto;padding:clamp(16px,2vw,28px)}.module-nav{position:sticky;z-index:15;top:60px;display:flex;width:100%;min-height:50px;align-items:center;justify-content:center;gap:4px;margin:0 auto;padding:7px clamp(16px,3vw,40px);border-bottom:1px solid var(--line);background:#edf0ebf0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.module-nav button{display:inline-flex;height:35px;align-items:center;gap:7px;padding:0 14px;border:0;border-radius:6px;color:var(--muted);background:none;font-size:12px;cursor:pointer;transition:color .14s ease,background .14s ease,box-shadow .14s ease}.module-nav button:hover{color:var(--ink);background:#ffffffb8}.module-nav button.active{color:#fff;background:#28372f;box-shadow:0 2px 7px #1d261f24;font-weight:700}.workspace{display:grid;grid-template-columns:minmax(310px,360px) minmax(0,1fr);align-items:start;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-md)}.initial-setup-page{display:grid;gap:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-md)}.initial-setup-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 10px}.initial-setup-hero h2,.initial-setup-hero p{margin:0}.initial-setup-hero h2{margin-top:4px;font-size:24px}.initial-setup-hero p{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.55}.initial-profile-strip{display:flex;flex-wrap:wrap;gap:7px;padding:0 24px}.initial-profile-strip span{padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--surface);font-size:10px;font-weight:700}.initial-setup-tabs{display:flex;gap:4px;padding:0 24px;overflow-x:auto;border-bottom:1px solid var(--line)}.initial-setup-tabs button{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-height:38px;padding:0 10px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;font-size:11px;font-weight:700;cursor:pointer}.initial-setup-tabs button:hover{color:var(--ink)}.initial-setup-tabs button.active{border-bottom-color:var(--green);color:var(--green)}.initial-module-config{min-width:0;padding:0 24px}.initial-module-config .equity-workspace{margin:0}.initial-special-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.initial-special-tabs button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--surface);font-size:11px;font-weight:700;cursor:pointer}.initial-special-tabs button.active{border-color:var(--green);color:var(--green);background:var(--green-soft)}.initial-config-mode>.equity-header,.initial-config-mode>.tax-alert,.initial-config-mode>.cost-summary,.initial-config-mode>.equity-summary,.initial-config-mode>.equity-table-section,.initial-config-mode>.benefit-opportunities,.initial-config-mode>.ipo-breakdown,.initial-config-mode>.tax-method,.initial-config-mode>.audit-view-tabs,.initial-config-mode>.audit-metrics,.initial-config-mode>.audit-section,.initial-config-mode>.audit-stale-banner,.initial-config-mode>.optimizer-progress{display:none}.initial-config-mode .deduction-metrics,.initial-config-mode .deduction-policy-note,.initial-config-mode .property-equation,.initial-config-mode .property-loan-summary,.initial-config-mode .property-loan-note,.initial-config-mode .property-linked-year,.initial-config-mode .cost-matrix-total,.initial-config-mode .cost-matrix-social,.initial-config-mode .cost-matrix-grand-total,.initial-config-mode .xian-lifestyle-overview,.initial-config-mode .xian-lifestyle-grid,.initial-config-mode .xian-lifestyle-basis,.initial-config-mode .cost-budget-layout>:not(.cost-budget-config){display:none}.initial-config-mode .deal-settings,.initial-config-mode .tax-deduction-section,.initial-config-mode .cost-matrix-section,.initial-config-mode .age-cost-section,.initial-config-mode .child-cost-section,.initial-config-mode .property-setting-section,.initial-config-mode .people-grid,.initial-config-mode .audit-shared-settings{margin-top:0}.part-time-config{padding:18px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.part-time-records{display:grid;gap:8px}.part-time-record{display:grid;grid-template-columns:130px minmax(110px,1fr) minmax(130px,1fr) 110px 34px;align-items:end;gap:8px;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--paper)}.part-time-tax-result{display:grid;min-height:48px;align-content:center;gap:3px;padding:0 10px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:10px}.part-time-tax-result strong{color:var(--ink);font-size:15px}.part-time-tax-result small{margin-left:3px;color:var(--muted);font-size:10px;font-weight:500}.part-time-add-row,.secondary-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:5px;color:var(--green);background:var(--paper);font-size:11px;font-weight:700;cursor:pointer}.part-time-add-row{margin-top:10px}.part-time-empty{display:grid;justify-items:start;gap:8px;padding:14px 0}.part-time-empty p{margin:0;color:var(--muted);font-size:12px}.part-time-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;border:1px solid var(--line);border-radius:6px}.part-time-summary>div{padding:14px;border-right:1px solid var(--line)}.part-time-summary>div:last-child{border-right:0}.part-time-summary span,.part-time-summary small{color:var(--muted);font-size:10px}.part-time-summary strong{display:block;margin-top:5px;font-size:19px}.initial-config-mode .part-time-summary{display:none}.initial-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px 24px 0}.initial-setup-section{min-width:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fafbf9}.initial-setup-section.wide{grid-column:1 / -1}.initial-income-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.initial-setup-actions{display:flex;justify-content:flex-end;padding:4px 24px 24px}.initial-setup-actions .primary-button{min-height:38px;padding:0 16px;border:1px solid var(--green);border-radius:6px;color:#fff;background:var(--green);font-weight:700;cursor:pointer}.empty-workspace{display:grid;width:min(560px,calc(100vw - 32px));margin:56px auto;justify-items:center;gap:18px;padding:34px;border:1px solid var(--line);border-radius:8px;text-align:center;background:var(--paper);box-shadow:var(--shadow-md)}.empty-workspace-icon{display:grid;width:58px;height:58px;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--green);background:var(--surface)}.empty-workspace h2,.empty-workspace p{margin:0}.empty-workspace h2{margin-top:5px;font-size:22px}.empty-workspace p{max-width:420px;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.6}.empty-workspace-form{display:grid;width:min(420px,100%);gap:8px;text-align:left}.empty-workspace-form label{color:var(--muted);font-size:10px;font-weight:800}.empty-workspace-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.empty-workspace-form input{min-width:0;height:38px;padding:0 11px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);background:var(--surface);font:inherit;font-weight:700}.empty-workspace-form .primary-button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:1px solid var(--green);border-radius:6px;color:#fff;background:var(--green);font-weight:800;cursor:pointer}.module-loading{display:grid;min-height:360px;place-items:center;align-content:center;gap:10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--paper)}.module-loading span{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:loading-spin .7s linear infinite}.module-loading p,.chart-placeholder{margin:0;font-size:11px}.deferred-content{width:100%;height:100%}.deferred-analysis-charts{min-height:680px}.chart-placeholder{display:grid;width:100%;height:100%;min-height:inherit;place-items:center;color:var(--muted);background:var(--surface)}.equity-workspace>.equity-table-section,.equity-workspace>.tax-method,.equity-workspace>.benefit-opportunities,.equity-workspace>.age-cost-section,.equity-workspace>.child-cost-section{content-visibility:auto;contain-intrinsic-size:auto 520px}@keyframes loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.module-loading span{animation:none}}.input-panel{padding:20px;border-right:1px solid var(--line);background:#fafbf9}.sidebar-timeline{margin-bottom:20px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.sidebar-timeline-heading{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.sidebar-timeline-heading .eyebrow{margin-bottom:2px;font-size:8px}.sidebar-timeline-heading strong{font-size:12px}.sidebar-timeline-heading>span{flex:none;padding:3px 6px;border-radius:4px;color:var(--muted);background:var(--surface);font-size:9px}.sidebar-timeline-scroll{max-height:288px;overflow-y:auto;padding:10px 10px 10px 8px;scrollbar-width:thin}.timeline-year{position:relative;display:grid;grid-template-columns:39px 10px minmax(0,1fr);gap:7px;padding-bottom:12px}.timeline-year:last-child{padding-bottom:0}.timeline-year time{padding-top:7px;color:var(--muted);font-size:9px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.timeline-dot{position:relative;z-index:1;width:8px;height:8px;margin-top:9px;border:2px solid var(--paper);border-radius:50%;background:#9ca9a4;box-shadow:0 0 0 1px #9ca9a4}.timeline-year:not(:last-child):after{position:absolute;top:17px;bottom:0;left:50px;width:1px;background:var(--line);content:""}.timeline-year.is-current time{color:var(--green)}.timeline-year.is-current .timeline-dot{background:var(--green);box-shadow:0 0 0 1px var(--green)}.timeline-year-events{display:grid;min-width:0;gap:5px}.timeline-event{display:grid;width:100%;min-width:0;min-height:43px;grid-template-columns:16px minmax(0,1fr) 13px;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--line);border-left:3px solid #9ca9a4;border-radius:5px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.timeline-event:hover{border-color:#aebbb6;background:#f8faf8}.timeline-event>svg{color:var(--muted)}.timeline-event>span{min-width:0}.timeline-event strong,.timeline-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-event strong{font-size:10px}.timeline-event small{margin-top:2px;color:var(--muted);font-size:8px}.timeline-event.fire,.timeline-event.cash{border-left-color:var(--green)}.timeline-event.equity{border-left-color:#4f71a8}.timeline-event.property,.timeline-event.vehicle{border-left-color:#b98435}.timeline-event.child{border-left-color:#b26f8c}.timeline-event.social{border-left-color:#6f7e73}.panel-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-lg)}.eyebrow{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:0;text-transform:uppercase}.panel-heading h2,.fire-heading h2{font-size:19px;line-height:1.25;letter-spacing:0}.as-of{padding:4px 7px;border:1px solid var(--line);border-radius:4px;color:var(--muted);background:var(--paper);font-size:11px}.input-group{border-top:1px solid var(--line)}.input-group:last-of-type{border-bottom:1px solid var(--line)}.input-group summary{display:flex;min-height:43px;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.input-group summary::-webkit-details-marker{display:none}.input-group summary>span{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.summary-chevron{color:var(--muted);transition:transform .16s ease}.input-group[open] .summary-chevron{transform:rotate(180deg)}.input-list{display:grid;gap:2px;padding-bottom:14px}.input-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:var(--space-md);min-height:43px}.input-copy{min-width:0}.input-copy>span{display:block;font-size:13px;line-height:1.25}.input-copy small{display:block;overflow:hidden;margin-top:2px;color:#8a918a;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.number-shell{display:flex;height:34px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--paper);transition:border-color .14s ease,box-shadow .14s ease}.number-shell:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #17705b17}.number-shell input{width:100%;min-width:0;height:100%;padding:0 6px 0 10px;border:0;outline:none;color:var(--ink);background:transparent;font-variant-numeric:tabular-nums;text-align:right}.number-shell>span{flex:0 0 auto;padding-right:9px;color:#858c85;font-size:10px}.compact-pair{gap:var(--space-md);padding-top:var(--space-lg)}.compact-pair>label{display:grid;flex:1;gap:6px;color:var(--muted);font-size:11px}.result-panel{min-width:0;padding:clamp(22px,2.6vw,32px)}.fire-heading{justify-content:space-between;gap:var(--space-xl);padding-bottom:16px}.fire-heading h2{font-size:21px}.fire-heading p{margin-top:5px;color:var(--muted);font-size:11px}.fire-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;color:var(--red);font-size:11px;font-weight:700}.fire-status i{width:8px;height:8px;border-radius:50%;background:currentColor}.fire-status.warn{color:var(--amber)}.fire-status.good{color:var(--green)}.fire-status.neutral{color:var(--muted)}.segmented{flex:0 0 auto;gap:2px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#f1f3ef}.segmented button{min-height:32px;padding:0 13px;border:0;border-radius:4px;color:var(--muted);background:transparent;font-size:12px;cursor:pointer}.segmented button.active{color:var(--ink);background:var(--paper);box-shadow:0 1px 3px #1b241d1a;font-weight:700}.hero-result{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,.9fr);align-items:center;gap:24px 40px;min-height:164px;padding:clamp(22px,2.5vw,30px);border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:inset 4px 0 0 var(--red)}.hero-result.warn{box-shadow:inset 4px 0 0 var(--amber)}.hero-result.good{box-shadow:inset 4px 0 0 var(--green)}.hero-result.neutral{box-shadow:inset 4px 0 0 var(--line-strong)}.progress-copy strong{display:block;margin-top:4px;font-size:clamp(46px,5vw,58px);line-height:1;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:0}.progress-copy p{margin-top:12px;color:var(--muted);font-size:13px}.audit-hero-action{display:inline-flex;min-height:34px;align-items:center;gap:7px;margin-top:16px;padding:0 12px;border:1px solid var(--line-strong);border-radius:5px;color:var(--ink);background:var(--paper);font-size:10px;font-weight:700;cursor:pointer}.audit-hero-action:hover{border-color:var(--green);color:var(--green)}.audit-hero-action:disabled{cursor:wait;opacity:.58}.fire-balance-summary{display:grid}.fire-balance-summary>div{display:flex;min-height:40px;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.fire-balance-summary>div:last-child{border-bottom:0}.fire-balance-summary span{color:var(--muted);font-size:10px}.fire-balance-summary strong{font-size:17px;font-variant-numeric:tabular-nums}.fire-balance-summary strong small{margin-left:3px;color:var(--muted);font-size:9px}.fire-balance-summary .positive strong{color:var(--green)}.fire-balance-summary .negative strong{color:var(--red)}.fire-progress-track{height:6px;grid-column:1 / -1;overflow:hidden;border-radius:3px;background:#e2e6e0}.fire-progress-track span{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--red)}.fire-progress-track span.warn{background:var(--amber)}.fire-progress-track span.good{background:var(--green)}.fire-progress-track span.neutral{background:var(--line-strong)}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric{min-width:0;padding:18px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric-label{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;overflow:hidden;margin-top:7px;font-size:25px;line-height:1.1;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.metric strong small{margin-left:4px;color:var(--muted);font-size:11px;font-weight:500}.metric-note{display:block;overflow:hidden;margin-top:7px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.metric-good strong{color:var(--green)}.metric-risk strong{color:var(--red)}.linked-modules{padding:20px 0 0}.linked-modules-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.linked-modules-heading strong{font-size:12px}.linked-modules-heading span{color:var(--muted);font-size:9px}.linked-modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.linked-modules-grid>button{display:grid;min-width:0;min-height:62px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-align:left;cursor:pointer}.linked-modules-grid>button:hover{background:var(--surface)}.linked-module-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:5px;color:var(--green);background:var(--green-soft)}.linked-modules-grid>button>span:nth-child(2){display:grid;min-width:0;gap:3px}.linked-modules-grid strong{font-size:11px}.linked-modules-grid small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.linked-modules-grid>button>svg{color:var(--muted)}.tab-bar{width:fit-content;min-height:42px;gap:2px;margin-top:24px;padding:4px;border:1px solid var(--line);border-radius:7px;background:var(--surface-strong)}.tab-bar button{display:inline-flex;height:32px;align-items:center;gap:7px;padding:0 12px;border:0;border-radius:4px;color:var(--muted);background:none;font-size:12px;cursor:pointer}.tab-bar button.active{color:var(--ink);background:var(--paper);box-shadow:var(--shadow-sm);font-weight:700}.overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.72fr);gap:var(--space-2xl);padding-top:var(--space-2xl)}.chart-section,.health-check{min-width:0}.health-check{padding-left:var(--space-xl);border-left:1px solid var(--line)}.section-title{min-height:40px;justify-content:space-between;gap:var(--space-md)}.section-title>svg{width:32px;height:32px;flex:0 0 32px;padding:7px;border-radius:6px;color:var(--green);background:var(--green-soft)}.section-title h3{font-size:14px;letter-spacing:0}.section-title p{margin-top:4px;color:var(--muted);font-size:10px}.chart-wrap{height:300px;margin-top:var(--space-lg)}.chart-tooltip{display:grid;min-width:180px;gap:7px;padding:11px;border:1px solid var(--line);border-radius:6px;background:#fffffff7;box-shadow:0 8px 24px #19231c1a;font-size:11px}.chart-tooltip>strong{margin-bottom:2px}.chart-tooltip span{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--muted)}.chart-tooltip i{width:7px;height:7px;border-radius:50%}.chart-tooltip b{color:var(--ink);font-variant-numeric:tabular-nums}.check-list{margin-top:var(--space-lg);border-top:1px solid var(--line)}.health-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;border-bottom:1px solid var(--line)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.status-dot.good{background:var(--green)}.status-dot.warn{background:var(--amber)}.status-dot.risk{background:var(--red)}.health-row strong,.health-row small{display:block}.health-row strong{font-size:12px}.health-row small{margin-top:3px;color:var(--muted);font-size:9px}.health-row>b{color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}.table-section,.method-section{padding-top:var(--space-xl)}.overview-analysis-charts{display:grid;gap:var(--space-2xl);margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--line)}.analysis-chart-section{min-width:0}.analysis-chart-wrap{height:300px;margin-top:var(--space-lg)}.table-scroll{overflow-x:auto;margin-top:var(--space-lg);border:1px solid var(--line);border-radius:6px;scrollbar-color:#b7c1b8 transparent;scrollbar-width:thin}table{width:100%;min-width:1040px;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}th,td{height:43px;padding:0 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th{position:sticky;top:0;color:var(--muted);background:var(--surface-strong);font-size:10px;font-weight:700}th:first-child,td:first-child{text-align:left}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7faf7}.positive-cashflow{color:var(--green);font-weight:700}.negative-cashflow{color:var(--red);font-weight:700}.projection-table{min-width:1160px}.special-cashflow-cell{display:grid;min-width:108px;gap:2px;padding:5px 0;line-height:1.2}.special-cashflow-cell b{font-size:11px}.special-cashflow-cell>span,.cashflow-empty{color:var(--muted);font-size:8px;font-weight:500}tbody tr.is-complete{background:#e5f2ed66}.projection-table tbody tr.is-expanded{background:#edf5f1}.year-expand-button{display:inline-flex;min-height:28px;align-items:center;gap:5px;padding:0;border:0;color:var(--ink);background:transparent;font:inherit;font-weight:700;cursor:pointer}.year-expand-button:hover,.year-expand-button:focus-visible{color:var(--green)}.year-detail-row,.year-detail-row:hover{background:#f8faf7}.year-detail-row>td{height:auto;padding:0;border-bottom:1px solid var(--line);white-space:normal;text-align:left}.year-detail{padding:18px;text-align:left}.year-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.year-detail-heading>div{display:grid;gap:3px}.year-detail-heading strong{font-size:13px}.year-detail-heading small{color:var(--muted);font-size:9px}.year-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;background:var(--paper)}.year-detail-grid>section{min-width:0;padding:14px 16px;border-right:1px solid var(--line)}.year-detail-grid>section:last-child{border-right:0}.year-detail-grid h4{margin:0 0 11px;font-size:11px}.annual-asset-figure{margin:0 0 16px;min-width:0}.annual-asset-pie{height:180px;width:100%}.annual-asset-figure figcaption{color:var(--muted);font-size:10px;text-align:center;white-space:normal}.annual-asset-legend{display:grid;gap:8px;padding:12px 0;margin:0;list-style:none;font-size:10px}.annual-asset-legend li{display:grid;grid-template-columns:8px minmax(0,1fr) auto 42px;align-items:center;gap:6px;white-space:normal}.annual-asset-legend i{width:8px;height:8px;border-radius:2px}.annual-asset-legend b,.annual-asset-legend small{text-align:right;font-variant-numeric:tabular-nums}.annual-asset-legend small{color:var(--muted);font-size:10px}.annual-assets-empty{padding:32px 0}.detail-list{margin:0}.detail-list>div{display:flex;min-height:27px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0eb}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--muted);font-size:9px}.detail-list dd{margin:0;color:var(--ink);font-size:10px;font-variant-numeric:tabular-nums;text-align:right}.detail-list dd.positive-cashflow{color:var(--green)}.detail-list dd.negative-cashflow{color:var(--red)}.detail-zero-note dd{max-width:62%;color:var(--muted);font-size:8px;white-space:normal}.detail-footnote{margin:9px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.detail-list .detail-total{min-height:32px;margin-top:3px;border-top:1px solid var(--line);border-bottom:0;font-weight:700}.stage-label{display:inline-block;min-width:48px;padding:3px 6px;border-radius:4px;color:var(--muted);background:#eef0ec;font-size:10px;font-weight:700;text-align:center}.stage-label.fire{color:var(--green);background:var(--green-soft)}.completion{display:inline-block;min-width:58px;padding:4px 6px;border-radius:4px;text-align:center;font-weight:700}.completion.good{color:var(--green);background:var(--green-soft)}.completion.warn{color:var(--amber);background:var(--amber-soft)}.completion.risk{color:var(--red);background:var(--red-soft)}.method-section{display:grid;gap:0}.formula-block{display:grid;grid-template-columns:42px minmax(0,1fr);gap:var(--space-lg);padding:22px 0;border-bottom:1px solid var(--line)}.formula-block>span{color:#9ba19b;font-size:11px;font-variant-numeric:tabular-nums}.formula-block h3{font-size:13px}.formula-block p{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.7}.method-note{margin:var(--space-xl) 0 0;padding:12px 14px;border-left:3px solid var(--amber);color:#66563d;background:#fbf6ec;font-size:11px;line-height:1.6}.equity-workspace{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-md)}.equity-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-xl);min-height:88px;padding:22px 28px 20px;border-bottom:1px solid var(--line);background:#fcfdfb}.equity-header h2,.equity-header p{margin:0}.equity-header h2{font-size:20px;letter-spacing:0}.equity-header p{margin-top:5px;color:var(--muted);font-size:11px}.equity-header .eyebrow,.fire-heading .eyebrow{color:var(--green)}.primary-button{display:inline-flex;min-height:36px;flex:0 0 auto;align-items:center;gap:7px;padding:0 14px;border:1px solid #1d5748;border-radius:5px;color:#fff;background:#215f4f;font-size:12px;font-weight:700;cursor:pointer}.primary-button:hover{background:#174b3e}.tax-alert{display:flex;align-items:flex-start;gap:10px;padding:11px 28px;border-bottom:1px solid #ead8b8;color:#6d5429;background:#fbf6ec}.tax-alert svg{flex:0 0 auto;margin-top:1px}.tax-alert p{margin:0;font-size:11px;line-height:1.6}.tax-alert.social-ok{border-color:#c9ded5;color:#285f51;background:#f0f7f3}.deal-settings,.tax-deduction-section,.equity-summary,.benefit-opportunities,.equity-table-section,.ipo-breakdown,.tax-method,.cost-matrix-section,.age-cost-section,.child-cost-section{padding:22px 28px;border-bottom:1px solid var(--line)}.deal-settings,.audit-settings-band{background:#fafbf9}.deduction-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.deduction-metrics>div{min-width:0;padding:14px 16px;border-right:1px solid var(--line)}.deduction-metrics>div:first-child{padding-left:0}.deduction-metrics>div:last-child{padding-right:0;border-right:0}.deduction-metrics span,.deduction-metrics p{color:var(--muted);font-size:9px}.deduction-metrics strong{display:block;margin-top:6px;font-size:19px;font-variant-numeric:tabular-nums}.deduction-metrics strong small{margin-left:4px;color:var(--muted);font-size:8px}.deduction-metrics p{margin:4px 0 0}.deduction-metrics .deduction-total strong{color:var(--green)}.deduction-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.deduction-controls .social-toggle span{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.deduction-controls .social-toggle small{width:100%}.deduction-policy-note{margin:12px 0 0;color:var(--muted);font-size:9px;line-height:1.6}.cost-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.cost-summary-item{min-width:0;padding:20px 24px;border-right:1px solid var(--line)}.cost-summary-item:last-child{border-right:0}.cost-summary-item>span{color:var(--muted);font-size:10px}.cost-summary-item strong{display:block;margin-top:8px;font-size:24px;font-variant-numeric:tabular-nums}.cost-summary-item strong small{margin-left:4px;color:var(--muted);font-size:10px}.cost-summary-item p{margin:4px 0 0;color:var(--muted);font-size:9px}.cost-summary-item.child strong{color:var(--green)}.cost-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cost-linked-setting{display:grid;align-content:end;gap:4px;min-height:59px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.cost-linked-setting span{color:var(--muted);font-size:9px}.cost-linked-setting strong{font-size:15px}.cost-linked-setting small{color:var(--muted);font-size:8px}.cost-matrix{margin-top:18px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.cost-budget-layout{display:grid;grid-template-columns:minmax(460px,1.12fr) minmax(360px,.88fr);gap:24px;align-items:start;margin-top:18px}.cost-budget-config{min-width:0}.cost-pane-heading{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:16px}.cost-pane-heading>div{display:grid;gap:4px}.cost-pane-heading strong{font-size:12px}.cost-pane-heading small{color:var(--muted);font-size:9px}.cost-pane-heading>span{flex:0 0 auto;color:var(--green);font-size:13px;font-weight:750;font-variant-numeric:tabular-nums}.cost-budget-config .cost-matrix{margin-top:10px}.cost-budget-config .cost-matrix-head,.cost-budget-config .cost-matrix-row,.cost-budget-config .cost-matrix-total,.cost-budget-config .cost-matrix-social,.cost-budget-config .cost-matrix-grand-total{grid-template-columns:minmax(135px,1.2fr) minmax(100px,.85fr) minmax(75px,.7fr) minmax(65px,.6fr);gap:8px}.cost-matrix-head,.cost-matrix-row,.cost-matrix-total,.cost-matrix-social,.cost-matrix-grand-total{display:grid;grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(105px,1fr));align-items:center;gap:16px;padding:10px 14px;border-bottom:1px solid var(--line)}.cost-matrix-head{color:var(--muted);background:var(--surface);font-size:9px;font-weight:700}.cost-matrix-row>span:first-child{display:grid;gap:3px}.cost-matrix-row b,.cost-matrix-total,.cost-matrix-social,.cost-matrix-grand-total{font-size:11px}.cost-matrix-row>strong,.cost-matrix-social>strong,.cost-matrix-grand-total>strong{font-size:11px;font-variant-numeric:tabular-nums;text-align:right}.cost-matrix-row small{color:var(--muted);font-size:8px}.cost-matrix-total{background:var(--surface)}.cost-matrix-social{background:#fbf8f1}.cost-matrix-social>span{display:grid;gap:3px}.cost-matrix-social small{color:var(--muted);font-size:8px}.cost-matrix-grand-total{border-bottom:0;background:var(--green-soft);font-weight:750}.cost-matrix-total strong,.cost-matrix-grand-total strong{text-align:right}.xian-lifestyle-overview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);gap:24px;margin-top:20px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.xian-lifestyle-overview>div>span{color:var(--muted);font-size:9px;font-weight:700}.xian-lifestyle-overview>div>strong{display:block;margin-top:5px;color:var(--green);font-size:22px}.xian-lifestyle-overview>div>strong small{margin-left:7px;color:var(--muted);font-size:9px}.xian-lifestyle-overview p{max-width:520px;margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.xian-lifestyle-overview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;margin:0}.xian-lifestyle-overview dl>div{min-width:0;padding:4px 12px;border-left:1px solid var(--line)}.xian-lifestyle-overview dt{color:var(--muted);font-size:8px}.xian-lifestyle-overview dd{margin:5px 0 0;font-size:14px;font-weight:750;font-variant-numeric:tabular-nums}.xian-lifestyle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.xian-lifestyle-item{min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.xian-lifestyle-item-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.xian-lifestyle-item h4{margin:0;font-size:11px}.xian-lifestyle-item-heading>span{flex:0 0 auto;padding:2px 6px;border:1px solid var(--line);border-radius:4px;color:var(--muted);background:var(--surface);font-size:8px;font-weight:750}.xian-lifestyle-item-heading>span.stable{border-color:#bfd1dc;color:#3c6277;background:#f0f5f7}.xian-lifestyle-item-heading>span.comfortable{border-color:#b9d5ca;color:var(--green);background:#edf6f2}.xian-lifestyle-item-heading>span.ample{border-color:#e4cda5;color:#805d20;background:#fbf5e9}.xian-lifestyle-item>strong{display:block;margin-top:7px;font-size:16px;font-variant-numeric:tabular-nums}.xian-lifestyle-item p{min-height:29px;margin:5px 0 0;color:var(--ink-soft);font-size:9px;line-height:1.55}.xian-lifestyle-item>small{display:block;margin-top:7px;color:var(--muted);font-size:8px}.xian-lifestyle-basis{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;color:var(--muted);font-size:8px;line-height:1.55}.xian-lifestyle-basis>span:last-child{display:flex;flex:0 0 auto;gap:10px}.xian-lifestyle-basis a{color:var(--green);font-weight:700;text-decoration:none}.xian-lifestyle-basis a:hover{text-decoration:underline}.age-factor-table{margin-top:18px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.age-factor-head,.age-factor-row{display:grid;grid-template-columns:minmax(160px,1.25fr) repeat(3,minmax(105px,1fr));align-items:center;gap:16px;padding:10px 14px;border-bottom:1px solid var(--line)}.age-factor-head{color:var(--muted);background:var(--surface);font-size:9px;font-weight:700}.age-factor-row:last-child{border-bottom:0}.age-factor-row>span:first-child{display:grid;gap:3px}.age-factor-row b{font-size:11px}.age-factor-row small{color:var(--muted);font-size:8px}.age-factor-row>strong{color:var(--green);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.age-factor-row>strong small{display:block;margin-top:2px;font-weight:500}.age-factor-note{margin:12px 0 0;color:var(--muted);font-size:9px;line-height:1.6}.child-settings{display:grid;grid-template-columns:1.25fr repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.child-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.child-cost-basis{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border:1px solid #dbe5df;border-radius:5px;background:#f7faf8;font-size:9px}.child-cost-basis>span:first-of-type{color:var(--muted);line-height:1.6}.child-cost-basis>span:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.child-cost-basis a{color:var(--green);font-weight:700;text-decoration:none}.child-cost-basis a:hover{text-decoration:underline}.property-two-column{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border-bottom:1px solid var(--line)}.property-setting-section{min-width:0;padding:24px 32px;border-right:1px solid var(--line)}.property-setting-section:last-child{border-right:0}.property-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.property-config-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.property-setting-section>.section-title+.property-config-heading{margin-top:14px;padding-top:0;border-top:0}.property-config-heading strong{font-size:11px}.property-config-heading span{color:var(--muted);font-size:8px;text-align:right}.property-loan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.property-loan-summary>div{min-width:0;padding:10px;border-right:1px solid var(--line)}.property-loan-summary>div:nth-child(3n){border-right:0}.property-loan-summary>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.property-loan-summary span{display:block;color:var(--muted);font-size:8px}.property-loan-summary strong{display:block;overflow:hidden;margin-top:4px;font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.property-loan-note{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.6}.property-equation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:11px 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:9px}.property-equation span{color:var(--muted)}.property-equation b{text-align:right}.property-linked-year{display:flex;align-items:center;gap:10px;margin-top:18px;padding:11px 12px;border-left:3px solid var(--green);background:#f2f8f5}.property-linked-year>div{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:3px 8px}.property-linked-year span{color:var(--muted);font-size:9px}.property-linked-year strong{color:var(--green);font-size:15px}.property-linked-year small{grid-column:1 / -1;color:var(--muted);font-size:8px}.property-table{min-width:980px}.property-event-row{background:#f7f3e8}.audit-header{align-items:center}.audit-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.primary-button:disabled,.audit-stale-banner button:disabled{cursor:wait;opacity:.62}.audit-spinner{animation:audit-spin .8s linear infinite}@keyframes audit-spin{to{transform:rotate(360deg)}}.audit-grade{display:grid;min-width:108px;grid-template-columns:auto auto;align-items:baseline;gap:2px 8px;padding:10px 14px;border-left:3px solid var(--line-strong);background:var(--surface)}.audit-grade>span,.audit-grade small{color:var(--muted);font-size:9px}.audit-grade strong{grid-row:1 / 3;font-size:30px}.audit-grade.good{border-color:var(--green)}.audit-grade.warn{border-color:var(--amber)}.audit-grade.risk{border-color:var(--red)}.audit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.audit-health-section,.audit-optimization-section{border-bottom:1px solid var(--line)}.health-score-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-top:20px}.health-score-label{display:flex;justify-content:space-between;gap:8px;font-size:12px}.health-score-label span{font-variant-numeric:tabular-nums}.health-score-breakdown progress{width:100%;height:6px;margin-top:12px;accent-color:var(--green)}.health-score-breakdown p,.audit-optimization-list p{color:var(--muted);font-size:11px;line-height:1.6;margin:8px 0}.audit-optimization-list>article{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.audit-optimization-list>article:last-child{border-bottom:0;padding-bottom:0}.audit-optimization-list h4{font-size:13px;margin:0}.audit-config-link{display:inline-flex;align-items:center;gap:6px;padding:8px 0;border:0;background:none;color:var(--green);font-size:11px;cursor:pointer}.audit-config-link:hover{text-decoration:underline}.audit-config-link:focus-visible{outline:2px solid var(--green);outline-offset:2px}.audit-optimization-list dl{display:grid;gap:8px;margin:0;align-content:center;font-size:12px}.audit-optimization-list dl>div{display:flex;justify-content:space-between;gap:12px}.audit-optimization-list dt{color:var(--muted)}.audit-optimization-list dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:760px){.audit-optimization-list>article{grid-template-columns:1fr;gap:12px}}.audit-metric{min-width:0;padding:19px 22px;border-right:1px solid var(--line)}.audit-metric:last-child{border-right:0}.audit-metric>span{color:var(--muted);font-size:10px}.audit-metric strong{display:block;margin-top:7px;font-size:25px;font-variant-numeric:tabular-nums}.audit-metric strong small{margin-left:4px;color:var(--muted);font-size:10px}.audit-metric p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.audit-metric.good strong{color:var(--green)}.audit-metric.warn strong{color:var(--amber)}.audit-metric.risk strong{color:var(--red)}.audit-settings-band{display:grid;grid-template-columns:minmax(230px,1fr) minmax(420px,1.6fr);align-items:center;gap:24px;padding:16px 32px;border-bottom:1px solid var(--line);background:var(--surface)}.audit-stale-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 32px;border-bottom:1px solid #ead8b8;color:#6d5429;background:#fbf6ec}.audit-stale-banner>svg{flex:0 0 auto}.audit-stale-banner strong,.audit-stale-banner small,.audit-stale-banner p{display:block}.audit-stale-banner strong{font-size:11px}.audit-stale-banner small{margin-top:3px;font-size:9px;line-height:1.5}.audit-stale-banner p{margin:3px 0 0;font-size:9px}.audit-stale-banner.is-error{border-color:#ebc4c4;color:#8a3333;background:#fff3f3}.audit-stale-banner button{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 11px;border:1px solid #d4b77f;border-radius:5px;color:#60491f;background:#fff;font-size:10px;font-weight:700;cursor:pointer}.audit-settings-copy{display:flex;align-items:center;gap:10px}.audit-settings-copy svg{color:var(--green)}.audit-settings-copy strong,.audit-settings-copy small{display:block}.audit-settings-copy strong{font-size:12px}.audit-settings-copy small{margin-top:3px;color:var(--muted);font-size:9px}.audit-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.audit-setting{display:grid;gap:5px}.audit-setting>span:first-child{color:var(--muted);font-size:9px;font-weight:700}.audit-body-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);border-bottom:1px solid var(--line)}.audit-section{min-width:0;padding:24px 32px}.audit-body-grid>.audit-section:first-child{border-right:1px solid var(--line)}.audit-chart{height:330px;margin-top:16px}.audit-model-note{margin:10px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.audit-issue-list{display:grid;gap:9px;margin-top:16px}.audit-issue{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:11px 12px;border:1px solid var(--line);border-left-width:3px;border-radius:5px}.audit-issue>span{align-self:start;color:var(--muted);font-size:9px;font-weight:750}.audit-issue h4,.audit-issue p{margin:0}.audit-issue h4{font-size:11px}.audit-issue p,.audit-issue small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.5}.audit-issue small{color:var(--ink)}.audit-issue.critical,.audit-issue.high{border-left-color:var(--red);background:snow}.audit-issue.medium{border-left-color:var(--amber);background:#fffdf8}.audit-empty{display:flex;align-items:center;gap:8px;color:var(--green);font-size:11px}.audit-stress-section,.audit-data-section{border-bottom:1px solid var(--line)}.audit-table{min-width:720px}.audit-status{font-size:10px;font-weight:700}.audit-status.good{color:var(--green)}.audit-status.risk{color:var(--red)}.audit-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.audit-data-grid>div{min-width:0;padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.audit-data-grid dt{color:var(--muted);font-size:9px}.audit-data-grid dd{margin:6px 0 0;font-size:15px;font-weight:750;font-variant-numeric:tabular-nums}.audit-data-grid dd small{margin-left:6px;color:var(--amber);font-size:8px}.audit-method{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px 32px;color:var(--muted);background:var(--surface);font-size:9px;line-height:1.6}.audit-method strong{color:var(--ink)}.audit-method p{margin:0}.audit-pending{display:flex;min-height:360px;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--muted);text-align:left}.audit-pending svg{color:var(--green)}.audit-pending strong{color:var(--ink);font-size:13px}.audit-pending p{margin:4px 0 0;font-size:10px}.cost-table{min-width:1040px}.table-subline{display:block;margin-top:2px;color:var(--muted);font-size:8px;font-weight:500}.cost-birth-row{background:#f7f3e8}.cost-fire-row{box-shadow:inset 3px 0 0 var(--green)}.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px;margin-top:18px}.fx-quote{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--surface);font-size:10px;font-variant-numeric:tabular-nums}.fx-quote b{color:var(--ink)}.equity-field{display:grid;min-width:0;gap:7px}.equity-field>span:first-child{color:var(--ink);font-size:12px;font-weight:650}.equity-field small{display:block;overflow:hidden;margin-top:3px;color:var(--muted);font-size:9px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.equity-field select{width:100%;height:36px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:var(--paper);font-size:11px}.market-field{grid-column:span 2}.valuation-scenario-panel{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.valuation-scenario-heading,.valuation-scenario-heading>div,.valuation-scenario-options button>span,.valuation-scenario-note span{display:flex}.valuation-scenario-heading{align-items:center;justify-content:space-between;gap:12px}.valuation-scenario-heading>div{min-width:0;flex-direction:column;gap:3px}.valuation-scenario-heading strong{font-size:11px}.valuation-scenario-heading small,.valuation-scenario-heading>span{color:var(--muted);font-size:8px}.valuation-scenario-heading>span{flex:0 0 auto;padding:3px 6px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-weight:700}.valuation-scenario-heading>span.is-selected{border-color:#b9d5ca;color:var(--green);background:#edf6f2}.valuation-scenario-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.valuation-scenario-options button{display:grid;min-width:0;min-height:116px;align-content:start;gap:7px;padding:12px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);font:inherit;text-align:left;cursor:pointer}.valuation-scenario-options button:hover{border-color:#a9c8bc}.valuation-scenario-options button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.valuation-scenario-options button.is-selected{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green);background:#f4f8f6}.valuation-scenario-options button>span{align-items:center;justify-content:space-between;gap:8px}.valuation-scenario-options button>span b{font-size:11px}.valuation-scenario-options button>span small{color:var(--muted);font-size:8px}.valuation-scenario-options button>strong{color:var(--green);font-size:18px;font-variant-numeric:tabular-nums}.valuation-scenario-options button>strong small{display:block;margin-top:2px;color:var(--ink);font-size:10px}.valuation-scenario-options button p,.valuation-scenario-options button em{margin:0;color:var(--muted);font-size:8px;font-style:normal;line-height:1.45}.valuation-scenario-options button em{color:var(--ink-soft);font-weight:650}.valuation-scenario-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.valuation-scenario-note span{flex:0 0 auto;gap:10px}.valuation-scenario-note a{color:var(--green);font-weight:700;text-decoration:none}.valuation-scenario-note a:hover{text-decoration:underline}.price-path{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.annual-income-label{margin-top:16px}.annual-income-inputs label{background:#f8f9f6}.price-path>div{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));overflow-x:auto;gap:7px;padding-bottom:3px}.price-path>div>span{display:grid;min-height:52px;place-content:center;gap:4px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--surface);font-variant-numeric:tabular-nums;text-align:center}.price-path>div>span.buyback-year{border-color:#bbd3ca;color:var(--green);background:#f1f7f4}.price-path small{font-size:8px}.price-path b{font-size:11px}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px 32px;border-bottom:1px solid var(--line);background:#f8f9f6}.social-settings-grid .social-toggle{grid-column:span 2}.social-toggle{display:flex;min-height:48px;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;cursor:pointer}.social-toggle input{width:15px;height:15px;accent-color:var(--green)}.social-toggle>span{display:grid;gap:3px;font-size:11px;font-weight:700}.social-toggle small{color:var(--muted);font-size:8px;font-weight:400}.person-pool{min-width:0;padding:20px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.person-heading,.person-heading>div,.ipo-person-title,.ipo-net{display:flex;align-items:center;justify-content:space-between}.person-heading>div{min-width:0;justify-content:flex-start;gap:8px}.person-icon{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:6px;color:var(--green);background:var(--green-soft)}.person-name{width:min(150px,100%);padding:3px 5px;border:1px solid transparent;border-radius:4px;color:var(--ink);background:transparent;font-size:15px;font-weight:700}.person-name:hover,.person-name:focus{border-color:var(--line);background:var(--surface)}.pool-balance,.pool-warning{flex:0 0 auto;font-size:10px}.pool-balance{color:var(--muted)}.pool-warning{color:var(--red)}.person-fields,.social-person-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.social-person-fields .equity-field:nth-child(6){grid-column:1 / -1}.social-result-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:18px;border-top:1px solid var(--line);background:var(--line)}.social-result-strip>span{display:grid;min-width:0;gap:4px;padding:12px 8px 0;background:var(--paper)}.social-result-strip small{color:var(--muted);font-size:8px}.social-result-strip b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.social-calculated-field>strong{display:flex;height:36px;align-items:center;justify-content:flex-end;gap:5px;padding:0 10px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:14px;font-variant-numeric:tabular-nums}.social-calculated-field>strong small{margin:0}.person-fields .equity-field:last-child{grid-column:1 / -1}.repurchase-editor{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.subsection-label{margin-bottom:10px;color:var(--muted);font-size:10px;font-weight:700}.year-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.year-inputs label{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:#fbfcf9}.year-inputs label>span,.year-inputs label>small{display:block;color:var(--muted);font-size:8px;text-align:center}.year-inputs label>span{padding-top:6px;font-weight:700}.year-inputs label>small{padding-bottom:5px}.year-inputs input{width:100%;height:28px;padding:0 3px;border:0;outline:none;color:var(--ink);background:transparent;font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.year-inputs label:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #17705b17}.inline-warning{display:flex;align-items:center;gap:6px;margin:10px 0 0;color:var(--red);font-size:10px}.equity-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.equity-metric{min-width:0;padding:18px;border-right:1px solid var(--line)}.equity-metric:first-child{padding-left:0}.equity-metric:last-child{border-right:0}.equity-metric>span{color:var(--muted);font-size:10px}.equity-metric strong{display:block;margin-top:7px;font-size:24px;font-variant-numeric:tabular-nums}.equity-metric strong small{margin-left:4px;color:var(--muted);font-size:10px;font-weight:500}.equity-metric p{margin:6px 0 0;color:var(--muted);font-size:9px}.equity-metric.good strong{color:var(--green)}.equity-metric.tax strong{color:var(--red)}.social-workspace .equity-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.social-workspace .equity-metric:nth-child(3n){border-right:0}.social-workspace .equity-metric:nth-child(n+4){border-top:1px solid var(--line)}.benefit-opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.benefit-opportunity{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.benefit-opportunity-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:6px;color:var(--green);background:var(--green-soft)}.benefit-opportunity-heading,.benefit-opportunity-action{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.benefit-opportunity h4{margin:1px 0 0;font-size:12px}.benefit-opportunity-heading>span{flex:0 0 auto;padding:2px 6px;border:1px solid var(--line);border-radius:4px;color:var(--muted);background:var(--paper);font-size:8px;font-weight:700}.benefit-opportunity-heading>span.available{border-color:#b9d5ca;color:var(--green);background:#edf6f2}.benefit-opportunity-heading>span.upcoming{border-color:#e5cfaa;color:#805d20;background:#fbf5e9}.benefit-opportunity-heading>span.review{border-color:#d7b7b1;color:var(--red);background:#fbefed}.benefit-opportunity p{margin:8px 0;color:var(--muted);font-size:9px;line-height:1.55}.benefit-opportunity-action{align-items:center;color:var(--ink-soft);font-size:8px}.benefit-opportunity-action>span{min-width:0}.benefit-opportunity-action a{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;color:var(--green);font-weight:700;text-decoration:none}.benefit-opportunity-action a:hover{text-decoration:underline}.equity-table{min-width:940px}.equity-table tr.is-disabled{color:#959b95;background:#f7f8f5}.net-cell{display:inline-grid;gap:2px;min-width:74px}.net-cell b{font-size:11px;font-weight:650}.net-cell small{color:var(--muted);font-size:8px}.tax-cell{display:inline-grid;min-width:112px;gap:2px}.tax-cell b{color:var(--red);font-size:11px;font-weight:650}.tax-cell small{color:var(--muted);font-size:8px;white-space:nowrap}.ipo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}.ipo-person{border:1px solid var(--line);border-radius:7px}.ipo-person-title{min-height:48px;padding:0 16px;border-bottom:1px solid var(--line);background:#f7f8f5}.ipo-person-title strong{font-size:13px}.ipo-person-title span{color:var(--muted);font-size:10px}.ipo-person dl{margin:0;padding:8px 16px}.ipo-person dl div{display:flex;min-height:33px;align-items:center;justify-content:space-between;gap:12px}.ipo-person dt{color:var(--muted);font-size:10px}.ipo-person dd{margin:0;font-size:11px;font-variant-numeric:tabular-nums}.ipo-person dl div.tax-breakdown-row{min-height:48px}.tax-breakdown-row dd{display:grid;gap:3px;text-align:right}.tax-breakdown-row dd b{font-weight:600}.tax-breakdown-row dd small{color:var(--muted);font-size:8px}.ipo-net{min-height:50px;padding:0 16px;border-top:1px solid var(--line);color:var(--green)}.ipo-net span{font-size:11px;font-weight:700}.ipo-net span small{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:400}.ipo-net strong{font-size:16px;font-variant-numeric:tabular-nums}.tax-method{border-bottom:0}.social-table{min-width:620px}.tax-method>h3{margin:0;font-size:14px}.bracket-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.bracket-heading strong{font-size:11px}.bracket-heading span{color:var(--muted);font-size:9px}.tax-brackets{display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));overflow-x:auto;gap:7px;margin-top:9px;padding-bottom:3px}.tax-brackets>div{display:grid;min-height:72px;place-content:center;gap:3px;border:1px solid var(--line);border-radius:5px;color:var(--muted);background:var(--surface);text-align:center}.tax-brackets>div.is-hit{border-color:#74a896;color:var(--green);background:#eef7f2;box-shadow:inset 0 2px 0 var(--green)}.tax-brackets strong{color:var(--ink);font-size:15px}.tax-brackets span{font-size:9px}.tax-brackets small{font-size:8px}.tax-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin-top:16px}.tax-notes p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}.tax-notes b{color:var(--ink)}.source-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px}.source-links a{color:var(--green);font-size:10px;text-decoration:underline;text-underline-offset:3px}@media(max-width:1180px){.audit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-metric:nth-child(2){border-right:0}.audit-metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.audit-body-grid{grid-template-columns:1fr}.audit-body-grid>.audit-section:first-child{border-right:0;border-bottom:1px solid var(--line)}.workspace{grid-template-columns:1fr}.input-panel{display:grid;grid-row:2;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:0 24px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-timeline{grid-column:1;grid-row:1 / span 7;align-self:start;margin-bottom:0}.input-panel>:not(.sidebar-timeline){grid-column:2}.input-panel .panel-heading{margin-bottom:0}.result-panel{grid-row:1}.overview-grid{grid-template-columns:1fr}.health-check{padding-top:var(--space-xl);padding-left:0;border-top:1px solid var(--line);border-left:0}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-xl)}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.people-grid{grid-template-columns:1fr}.equity-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.equity-metric:nth-child(2){border-right:0}.equity-metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.equity-metric:nth-child(3){padding-left:0}}@media(max-width:760px){.topbar{min-height:56px;padding:8px 12px}.brand-mark{width:34px;height:34px;flex-basis:34px}.brand p,.save-state,.desktop-label{display:none}.header-actions{gap:5px}.backup-history-count{top:-4px;right:-4px}.backup-reminder{width:calc(100% - 24px);align-items:flex-start;flex-direction:column;gap:9px;margin-top:10px}.backup-reminder-actions{width:100%}.backup-export-button{flex:1}.backup-dismiss-button{min-width:68px}.backup-dialog-backdrop{align-items:end;padding:0}.backup-dialog{width:100%;max-height:88vh;padding:18px 16px;border-radius:8px 8px 0 0}.backup-snapshot-list li{min-height:62px}.backup-restore-button{min-width:64px;min-height:36px}.scenario-bar{gap:6px;min-height:48px;padding:6px 12px}.scenario-selector{flex:1;gap:6px}.scenario-selector label,.scenario-count,.scenario-independence{display:none}.scenario-selector select{width:100%;min-width:0}.user-switcher{gap:3px;margin-left:0;padding-left:0;border-left:0}.user-switcher label{display:none}.user-switcher select{width:92px;min-width:0}.user-switcher button{width:34px;height:34px}.scenario-actions{flex:0 0 auto}.scenario-actions button{width:34px;height:34px}.scenario-dialog{padding:18px}.profile-dialog-backdrop{align-items:end;padding:0}.profile-dialog{width:100%;max-height:92vh;padding:18px 16px;border-radius:8px 8px 0 0}.profile-choice-grid{grid-template-columns:1fr}.profile-dialog footer .primary-button{flex:1}.icon-button{width:36px;height:36px;padding:0}main{padding:0}.module-nav{top:56px;display:flex;min-height:50px;justify-content:flex-start;gap:4px;overflow-x:auto;padding:7px 12px;scrollbar-width:none}.module-nav::-webkit-scrollbar{display:none}.module-nav button{width:auto;min-width:max-content;height:35px;justify-content:center;gap:5px;padding:0 10px;font-size:11px;line-height:1.2;text-align:center}.workspace{display:flex;flex-direction:column;border:0;border-radius:0}.initial-setup-page{border:0;border-radius:0}.initial-setup-hero{flex-direction:column;padding:20px 16px 8px}.initial-setup-hero .icon-button{width:auto;padding:0 12px}.initial-profile-strip,.initial-setup-tabs,.initial-setup-grid,.initial-module-config,.initial-setup-actions{padding-right:16px;padding-left:16px}.initial-setup-grid,.initial-income-grid{grid-template-columns:1fr}.empty-workspace{width:calc(100vw - 24px);margin:32px auto;padding:24px 18px}.empty-workspace-form>div{grid-template-columns:1fr}.input-panel{display:block;order:2;position:static;max-height:none;padding:20px 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-timeline-scroll{max-height:340px}.result-panel{order:1;padding:22px 16px 32px}.fire-heading{align-items:flex-start;gap:12px}.segmented{width:100%}.segmented button{flex:1;min-width:0;padding:0 6px}.hero-result{grid-template-columns:1fr;gap:18px;min-height:0;padding:22px 16px}.progress-copy strong{font-size:44px}.progress-copy p{max-width:220px;font-size:11px;line-height:1.5}.fire-balance-summary strong{font-size:15px}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.linked-modules{padding-top:16px}.linked-modules-grid>button{min-height:58px}.metric{padding:18px 12px}.metric:first-child,.metric:nth-child(3){padding-left:0}.metric strong{font-size:20px}.tab-bar{width:100%;justify-content:space-between;gap:2px}.tab-bar button{justify-content:center;flex:1}.chart-wrap,.analysis-chart-wrap{height:260px}.check-list{grid-template-columns:1fr}.table-scroll{border:0;overflow:visible}.equity-workspace{border:0;border-radius:0;box-shadow:none}.equity-header{align-items:flex-start;padding:22px 16px 18px}.equity-header p{max-width:220px;line-height:1.5}.audit-grade{min-width:92px}.audit-header-actions{align-items:flex-end;flex-direction:column-reverse;gap:7px}.audit-stale-banner{grid-template-columns:auto minmax(0,1fr);padding:12px 16px}.audit-stale-banner button{grid-column:2;justify-self:start}.audit-settings-band{grid-template-columns:1fr;gap:14px;padding:16px}.audit-section{padding:20px 16px}.audit-chart{height:280px}.audit-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-method{grid-template-columns:1fr;padding:14px 16px}.primary-button{width:38px;min-height:38px;justify-content:center;overflow:hidden;padding:0}.primary-button span{display:none}.tax-alert,.tax-deduction-section,.deal-settings,.equity-summary,.benefit-opportunities,.equity-table-section,.ipo-breakdown,.tax-method,.cost-matrix-section,.age-cost-section,.child-cost-section{padding-right:16px;padding-left:16px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.deduction-metrics,.deduction-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.deduction-metrics>div{padding:12px 10px}.deduction-metrics>div:nth-child(2){border-right:0}.deduction-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.cost-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-summary-item:nth-child(2){border-right:0}.cost-summary-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.cost-settings-grid,.child-settings,.child-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-linked-setting,.child-settings .social-toggle{grid-column:1 / -1}.xian-lifestyle-overview{grid-template-columns:1fr;gap:14px}.xian-lifestyle-overview dl{border-top:1px solid var(--line);padding-top:12px}.xian-lifestyle-overview dl>div:first-child{padding-left:0;border-left:0}.xian-lifestyle-grid{grid-template-columns:1fr}.xian-lifestyle-item p{min-height:0}.xian-lifestyle-basis{align-items:flex-start;flex-direction:column}.xian-lifestyle-basis>span:last-child{flex-wrap:wrap}.valuation-scenario-options{grid-template-columns:1fr}.valuation-scenario-options button{min-height:104px}.valuation-scenario-note{align-items:flex-start;flex-direction:column}.valuation-scenario-note span{flex-wrap:wrap}.child-cost-basis{grid-template-columns:1fr}.child-cost-basis>span:last-child{justify-content:flex-start}.property-two-column{grid-template-columns:1fr}.property-setting-section{padding:20px 16px;border-right:0;border-bottom:1px solid var(--line)}.property-setting-section:last-child{border-bottom:0}.property-field-grid{gap:12px}.property-config-heading{align-items:flex-start;flex-direction:column;gap:3px}.property-config-heading span{text-align:left}.property-loan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.property-loan-summary>div:nth-child(2n){border-right:0}.property-loan-summary>div:nth-child(3){border-right:1px solid var(--line)}.property-loan-summary>div:nth-child(-n+4){border-bottom:1px solid var(--line)}.property-equation{align-items:flex-start;flex-direction:column;gap:5px}.property-equation b{text-align:left}.cost-matrix-head,.cost-matrix-row,.cost-matrix-total{grid-template-columns:minmax(100px,1.15fr) repeat(3,minmax(66px,1fr));gap:7px;padding:9px 8px}.age-factor-head,.age-factor-row{grid-template-columns:minmax(82px,1.15fr) repeat(3,minmax(62px,1fr));gap:6px;padding:9px 8px}.age-factor-row>strong{font-size:10px}.market-field,.social-settings-grid .social-toggle{grid-column:1 / -1}.people-grid{padding:18px 16px}.person-pool{padding:16px 12px}.social-person-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.social-result-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.year-inputs{grid-template-columns:repeat(4,minmax(52px,1fr));padding-bottom:4px}.equity-metrics,.ipo-grid,.tax-notes,.social-workspace .equity-metrics,.benefit-opportunity-grid{grid-template-columns:1fr}.social-workspace .equity-metric:nth-child(3n){border-right:0}.equity-metric,.equity-metric:first-child,.equity-metric:nth-child(3){padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}.equity-metric:last-child{border-bottom:0}table,thead,tbody,tr,th,td{display:block;min-width:0}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}tbody{display:grid;gap:10px}tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:9px 12px;border:1px solid var(--line);border-radius:6px}td,td:first-child{display:flex;height:35px;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;border-bottom:1px solid var(--line);text-align:right}td:before{color:var(--muted);font-size:9px;content:attr(data-label)}td:nth-last-child(-n+2){border-bottom:0}.audit-table,.projection-table{min-width:0}.audit-table tbody tr{grid-template-columns:1fr}.audit-table td,.audit-table td:first-child{width:auto}.audit-table td:nth-last-child(2){border-bottom:1px solid var(--line)}.projection-table .year-detail-row{display:block;margin-top:-10px;padding:0;border-top:0;border-radius:0 0 6px 6px}.projection-table .year-detail-row>td{display:block;height:auto;padding:0;border:0}.projection-table .year-detail-row>td:before{display:none}.year-detail{padding:12px}.year-detail-grid{grid-template-columns:1fr}.year-detail-grid>section{padding:13px 12px;border-right:0;border-bottom:1px solid var(--line)}.year-detail-grid>section:last-child{border-bottom:0}.equity-table-section .table-scroll{overflow-x:auto;border:1px solid var(--line)}.equity-table{display:table;min-width:840px}.equity-table thead{position:static;display:table-header-group;width:auto;height:auto;overflow:visible;clip:auto}.equity-table tbody{display:table-row-group}.equity-table tr{display:table-row;padding:0;border:0;border-radius:0}.equity-table th,.equity-table td,.equity-table td:first-child{display:table-cell;height:48px;padding:0 10px;border-bottom:1px solid var(--line);text-align:right}.equity-table th:first-child,.equity-table td:first-child{text-align:left}.equity-table td:before{content:none}}@media(max-width:420px){.audit-metrics,.audit-settings-grid,.audit-data-grid{grid-template-columns:1fr}.audit-metric,.audit-metric:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.audit-metric:last-child{border-bottom:0}.audit-grade{min-width:82px;padding:8px 10px}.audit-grade strong{font-size:26px}.brand h1{max-width:132px;font-size:14px}.input-row{grid-template-columns:minmax(0,1fr) 124px}.metric-strip{grid-template-columns:1fr}.metric,.metric:first-child,.metric:nth-child(3){padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}.metric:last-child{border-bottom:0}.tab-bar button{gap:5px;font-size:11px}tbody tr{grid-template-columns:1fr}td:nth-last-child(2){border-bottom:1px solid var(--line)}}@media(pointer:coarse){.icon-button,.segmented button,.tab-bar button,.input-group summary{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.optimizer-controls{padding:18px 28px;border-bottom:1px solid var(--line)}.optimizer-controls summary,.optimizer-schedule summary,.optimizer-limitations summary{cursor:pointer;font-size:12px;font-weight:600;line-height:1.6}.optimizer-controls summary svg{vertical-align:middle;margin-right:6px}.optimizer-controls summary span{color:var(--muted);margin-left:16px;font-weight:400}.optimizer-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0}.optimizer-fields label>span{font-size:11px;display:block;margin-bottom:6px}.optimizer-fields label>div{display:flex;align-items:center;border:1px solid var(--line);border-radius:4px;padding:0 10px}.optimizer-fields input{width:100%;min-width:0;height:36px;border:0;background:transparent;color:var(--text)}.optimizer-checkbox{display:flex;align-items:center;gap:8px;font-size:12px}.optimizer-progress{padding:12px 28px;color:var(--green);font-size:12px}.optimizer-results{border-bottom:1px solid var(--line)}.optimizer-toolbar,.optimizer-apply{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0}.optimizer-toolbar>div{display:flex;flex-wrap:wrap;gap:4px}.optimizer-toolbar button{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;font-size:12px;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer}.optimizer-toolbar button[aria-pressed=true]{color:var(--green);background:var(--green-soft);border-color:var(--green)}.optimizer-comparison>div{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}.optimizer-comparison>div>:not(:first-child){text-align:right;overflow-wrap:anywhere}.optimizer-schedule,.optimizer-limitations{margin-top:18px}.optimizer-schedule-scroll{overflow-x:auto;margin-top:12px}.optimizer-schedule table{display:table;width:100%;min-width:480px;border-collapse:collapse;font-size:12px}.optimizer-schedule thead{position:static;display:table-header-group;width:auto;height:auto;overflow:visible;clip:auto}.optimizer-schedule tbody{display:table-row-group}.optimizer-schedule tr{display:table-row;padding:0;border:0}.optimizer-schedule td,.optimizer-schedule td:first-child,.optimizer-schedule th{display:table-cell;height:auto;padding:10px 8px;text-align:right;border-bottom:1px solid var(--line)}.optimizer-schedule td:before{content:none}.optimizer-apply .primary-button{width:auto;min-height:40px;padding:8px 14px;white-space:nowrap}.optimizer-apply span,.optimizer-limitations li{font-size:11px;color:var(--muted);line-height:1.7}.optimizer-apply button:disabled{cursor:not-allowed;opacity:.5}.optimizer-limitations ul{padding-left:18px}@media(max-width:760px){.optimizer-controls{padding:16px}.optimizer-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.optimizer-controls summary span{display:block;margin:6px 0 0}.optimizer-comparison>div{gap:10px;font-size:11px}}.audit-view-tabs{display:flex;gap:24px;padding:0 28px;border-bottom:1px solid var(--line)}.audit-view-tabs button{display:inline-flex;align-items:center;gap:8px;padding:16px 0;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-size:14px;cursor:pointer}.audit-view-tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);font-weight:700}.audit-shared-settings{border-bottom:1px solid var(--line)}.audit-shared-settings>summary{padding:16px 28px;font-size:12px;cursor:pointer}.audit-shared-settings>summary span{display:inline-block;margin-left:12px;color:var(--muted)}.xian-public-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.xian-public-summary dt{color:var(--muted);font-size:12px}.xian-public-summary dd{margin:8px 0 0;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.xian-public-summary small{margin-left:6px;font-size:12px;font-weight:400}.xian-public-sources{margin-top:24px;font-size:12px;line-height:1.8}.xian-public-sources summary{font-weight:600;cursor:pointer}.xian-public-sources p{color:var(--muted);max-width:100ch}.xian-public-comparison{border-bottom:1px solid var(--line)}.xian-public-comparison.is-compact{padding:0 0 0 24px;border-bottom:0;border-left:1px solid var(--line)}.xian-public-comparison.is-compact .xian-public-summary{gap:12px;margin:16px 0}.xian-public-comparison.is-compact .xian-public-summary dt{font-size:10px}.xian-public-comparison.is-compact .xian-public-summary dd{margin-top:5px;font-size:19px}.xian-public-comparison.is-compact .xian-public-summary small{font-size:10px}.xian-public-comparison.is-compact .consumption-chart-row{grid-template-columns:132px minmax(80px,1fr) 118px;gap:10px;min-height:44px;font-size:10px}.xian-public-comparison.is-compact .consumption-chart-row strong{font-size:10px}.xian-public-comparison.is-compact .consumption-chart-row small{display:block;min-width:0;margin:2px 0 0}.xian-public-comparison.is-compact .audit-model-note{margin:12px 0 0}.xian-public-comparison.is-compact .xian-public-sources{margin-top:14px}.consumption-chart-row{display:grid;grid-template-columns:220px minmax(0,1fr) 180px;align-items:center;gap:16px;min-height:52px;font-size:12px}.consumption-bar-track{height:12px;background:#f1f3f1}.consumption-bar-track>div{height:100%;background:#7f8b84}.consumption-chart-row.current .consumption-bar-track>div{background:#17705b}.consumption-chart-row.scenario .consumption-bar-track>div{background:#649e8d}.consumption-chart-row.all-resident .consumption-bar-track>div{background:#b49b70}.consumption-chart-row strong{text-align:right;font-variant-numeric:tabular-nums}.consumption-chart-row small{display:inline-block;min-width:64px;margin-left:8px;color:var(--muted)}.xian-public-sources dl>div{display:flex;flex-wrap:wrap;gap:8px 24px}.xian-public-sources dd{margin:0}.source-date{display:block;color:var(--muted)}@media(max-width:920px){.cost-budget-layout{grid-template-columns:1fr}.xian-public-comparison.is-compact{padding:20px 0 0;border-top:1px solid var(--line);border-left:0}}@media(max-width:760px){.part-time-record{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.part-time-record .icon-button{justify-self:end}.part-time-summary{grid-template-columns:1fr}.part-time-summary>div{border-right:0;border-bottom:1px solid var(--line)}.part-time-summary>div:last-child{border-bottom:0}.audit-view-tabs{padding:0 16px;gap:24px}.audit-shared-settings>summary{padding:16px}.audit-shared-settings>summary span{display:block;margin:8px 0 0}.cost-budget-config .cost-matrix-head,.cost-budget-config .cost-matrix-row,.cost-budget-config .cost-matrix-total,.cost-budget-config .cost-matrix-social,.cost-budget-config .cost-matrix-grand-total{grid-template-columns:minmax(100px,1.15fr) repeat(3,minmax(66px,1fr));gap:7px}.xian-public-summary{gap:12px}.xian-public-summary dd{font-size:19px;overflow-wrap:anywhere}.xian-public-comparison.is-compact .consumption-chart-row,.consumption-chart-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0}.xian-public-comparison.is-compact .consumption-chart-row>span,.consumption-chart-row>span{font-size:11px}.xian-public-comparison.is-compact .consumption-chart-row strong,.consumption-chart-row strong{font-size:11px}.xian-public-comparison.is-compact .consumption-chart-row small,.consumption-chart-row small{min-width:0}.xian-public-comparison.is-compact .consumption-bar-track,.consumption-bar-track{grid-column:1 / -1;grid-row:2}}@media(max-width:420px){.xian-public-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.xian-public-summary>div:last-child{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:12px}}
