.simulator-page{--sim-ink:var(--navy);--sim-negative:var(--error);padding-bottom:var(--space-8);font-size:var(--font-size-analysis);font-variant-numeric:tabular-nums}.simulator-page [hidden]{display:none!important}.simulator-page button,.simulator-page input{font:inherit}.simulator-page button{cursor:pointer}.simulator-page button:focus-visible,.simulator-page input:focus-visible,.simulator-page [tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.simulator-page .sim-breadcrumb{margin:var(--space-6) 0 0;gap:var(--space-2);color:var(--muted);font-size:var(--font-size-label);flex-wrap:wrap;display:flex}.sim-breadcrumb a{text-underline-offset:3px;text-decoration:underline}.sim-hero{align-items:center;gap:var(--space-12);padding:var(--space-12) 0;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);display:grid}.sim-kicker{margin:0 0 var(--space-3);color:var(--accent);font-size:var(--font-size-caption);font-weight:600}.sim-hero h1{letter-spacing:-.03em;margin:0;font-size:2.25rem;font-weight:700;line-height:1.3}.sim-hero h1 span{color:var(--accent)}.sim-hero-copy{margin:var(--space-4) 0 0;color:var(--muted);font-size:1rem;line-height:1.7}.sim-hero-note{margin-top:var(--space-4);align-items:center;gap:var(--space-2);color:var(--accent);font-size:var(--font-size-label);display:inline-flex}.sim-live-dot{background:var(--accent);border-radius:50%;flex:0 0 6px;width:6px;height:6px;display:inline-block}.sim-process{border-left:2px solid var(--brand);margin:0;padding:0;list-style:none}.sim-process li{align-items:baseline;gap:var(--space-4);padding:var(--space-3) var(--space-6);grid-template-columns:3rem 1fr;display:grid}.sim-process strong{font-size:1rem;font-weight:600}.sim-process span{color:var(--muted);font-size:var(--font-size-label)}.sim-section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.sim-section-heading>div:first-child{align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.sim-section-heading h2{margin:0;font-size:1.5rem;font-weight:600;line-height:1.4}.sim-section-number{color:var(--accent);font-size:var(--font-size-label);font-family:var(--font-number);font-weight:600}.sim-section-caption{color:var(--muted);font-size:var(--font-size-label);margin:0}.sim-form{border:1px solid var(--border);border-top:3px solid var(--brand);border-radius:var(--radius-card);background:var(--surface)}.sim-input-groups{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sim-input-group{min-width:0;padding:var(--space-4);border:0;border-right:1px solid var(--border);margin:0}.sim-input-group:last-child{border-right:0}.sim-input-group legend{float:left;width:100%;margin:0 0 var(--space-4);padding:0;font-size:1rem;font-weight:600}.sim-input-group legend span{margin-right:var(--space-2);color:var(--accent);font-size:var(--font-size-label);font-family:var(--font-number)}.sim-fields{clear:both;gap:var(--space-4);display:grid}.sim-field{min-width:0}.sim-field label{margin-bottom:var(--space-1);color:var(--text);font-size:var(--font-size-label);font-weight:600;display:block}.sim-field .sim-input-wrap{border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--surface);align-items:center;min-height:40px;display:flex}.sim-field .sim-input-wrap:focus-within{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:2px}.sim-field input{width:100%;min-width:0;padding:var(--space-2) 0 var(--space-2) var(--space-3);border-radius:inherit;color:var(--text);font-family:var(--font-number);background:0 0;border:0;font-size:1rem;font-weight:500;line-height:1.4;display:block}.sim-field input:focus-visible{outline:none}.sim-input-wrap:has(input[readonly]){background:var(--bg)}.sim-field input[readonly]{cursor:default}.sim-input-wrap:has(input[aria-invalid=true]){border-color:var(--error);background:var(--error-bg)}.sim-unit{padding:0 var(--space-3) 0 var(--space-2);color:var(--muted);font-size:var(--font-size-label);white-space:nowrap}.sim-field-note{margin-top:var(--space-1);color:var(--muted);font-size:var(--font-size-label);line-height:1.6;display:block}.sim-advanced{border-top:1px solid var(--border)}.sim-advanced summary{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-4);color:var(--accent);font-size:var(--font-size-analysis);cursor:pointer;font-weight:600;list-style:none;display:flex}.sim-advanced summary::-webkit-details-marker{display:none}.sim-data-details summary::-webkit-details-marker{display:none}.sim-methodology summary::-webkit-details-marker{display:none}.sim-advanced summary>span:first-child{column-gap:var(--space-4);flex-wrap:wrap;align-items:baseline;display:flex}.sim-advanced summary small{color:var(--muted);font-size:var(--font-size-label);font-weight:400}.sim-expand-icon{text-align:center;flex:0 0 24px;width:24px;font-size:1.375rem;font-weight:400;line-height:1}details[open]>summary .sim-expand-icon{transform:rotate(45deg)}.sim-advanced-grid{gap:var(--space-8);padding:var(--space-2) var(--space-4) var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sim-advanced-group{border:0;min-width:0;margin:0;padding:0}.sim-advanced-group legend{margin:0 0 var(--space-4);color:var(--text);font-size:var(--font-size-analysis);padding:0;font-weight:600}.sim-fields.sim-allocation-fields{margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.sim-allocation-fields>.sim-field{grid-row:var(--allocation-row)}.sim-allocation-rate{grid-column:1}.sim-allocation-life{grid-column:2}.sim-form-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);border-radius:0 0 var(--radius-card) var(--radius-card);background:var(--bg);flex-wrap:wrap;display:flex}.sim-form-footer p{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--font-size-label);margin:0;display:flex}.sim-form-actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.sim-text-button{min-height:44px;padding:var(--space-2) 0;color:var(--muted);text-underline-offset:4px;background:0 0;border:0;text-decoration:underline;font-size:var(--font-size-label)!important}.sim-result-link{min-height:44px;color:var(--accent);font-size:var(--font-size-label);align-items:center;font-weight:600;display:inline-flex}.sim-result-link span{margin-left:var(--space-2)}.sim-message{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--warning);border-radius:var(--radius-control);background:var(--warning-bg);color:var(--warning);font-size:var(--font-size-analysis)}.sim-message:empty{display:none}.sim-message p{margin:0}.sim-message p+p{margin-top:var(--space-2)}.sim-message ul{padding-left:var(--space-4);margin:0}.sim-message li+li{margin-top:var(--space-1)}.sim-message--error{border-color:var(--error);background:var(--error-bg);color:var(--error)}.sim-results{padding-top:var(--space-8);scroll-margin-top:100px}.sim-status{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--font-size-label);display:flex}.sim-overview{gap:var(--space-4);display:grid}.sim-return-card{column-gap:var(--space-6);row-gap:var(--space-2);padding:var(--space-4);border:1px solid var(--navy);border-radius:var(--radius-card);color:var(--surface);background:var(--navy);grid-template-columns:minmax(220px,1fr) minmax(0,2fr);display:grid}.sim-return-card h3{font-size:var(--font-size-analysis);grid-area:1/1;margin:0;font-weight:500}.sim-return-card h3 small{margin-left:var(--space-2);color:var(--accent-light);font-family:var(--font-number);font-size:var(--font-size-label)}.sim-return-value{color:var(--surface);font-family:var(--font-number);overflow-wrap:anywhere;grid-area:2/1;margin:0;font-size:2rem;font-weight:600;line-height:1.2}.sim-return-value>span:last-child{margin-left:var(--space-1);font-size:1rem;font-weight:400}.sim-return-comparison{align-items:center;gap:var(--space-3);font-size:var(--font-size-label);flex-wrap:wrap;grid-area:1/2;display:flex}.sim-verdict{padding:var(--space-1) var(--space-2);background:var(--success-bg);color:var(--success);font-size:var(--font-size-label);border-radius:4px;font-weight:600}#simulation-results[data-status=hurdle-missed] .sim-verdict,#simulation-results[data-status=funding-shortfall] .sim-verdict,#simulation-results[data-status=not-calculable] .sim-verdict{color:var(--warning);background:var(--warning-bg)}.simulator-page .sim-return-card .data-negative{color:var(--warning-bg)}.sim-return-comparison p{color:var(--accent-light);font-size:var(--font-size-label);margin:0}.sim-return-footnote{color:var(--accent-light);font-size:var(--font-size-label);grid-area:2/2;margin:0;line-height:1.7}.sim-kpi-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sim-kpi{min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.sim-kpi h3{color:var(--muted);font-size:var(--font-size-label);margin:0;font-weight:500}.sim-kpi .sim-kpi-value{margin:var(--space-2) 0 var(--space-1);color:var(--text);font-family:var(--font-number);font-size:var(--font-size-kpi);overflow-wrap:anywhere;font-weight:600;line-height:1.2}.sim-kpi-value small{margin-left:var(--space-1);font-family:var(--font-body);font-size:var(--font-size-label);font-weight:400}.sim-kpi-note{color:var(--muted);font-size:var(--font-size-label);margin:0;line-height:1.6}.sim-result-row{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sim-card{min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.sim-card-heading{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.sim-card h3{margin:0;font-size:1rem;font-weight:600}.sim-card-heading>span{color:var(--muted);font-size:var(--font-size-label)}.sim-big-number{color:var(--text);font-family:var(--font-number);font-size:var(--font-size-kpi);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.3}.sim-big-number small{margin-left:var(--space-1);font-family:var(--font-body);font-size:var(--font-size-label);font-weight:400}.sim-capacity-caption{margin:var(--space-1) 0 var(--space-4);color:var(--muted);font-size:var(--font-size-label)}.sim-data-list{margin:0}.sim-data-list>div{align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--font-size-analysis);grid-template-columns:minmax(0,1fr) auto;display:grid}.sim-data-list dt{color:var(--muted)}.sim-data-list dd{font-family:var(--font-number);text-align:right;overflow-wrap:anywhere;min-width:0;max-width:16ch;margin:0;font-weight:500}.sim-data-list dd small{margin-left:var(--space-1);color:var(--muted);font-family:var(--font-body);font-size:var(--font-size-label);font-weight:400}.sim-data-list .sim-data-total{margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border)}.sim-data-total dt,.sim-data-total dd{color:var(--text);font-weight:600}.sim-income-list .sim-data-subtotal{border-top:1px solid var(--border);font-weight:600}.sim-income-list .sim-data-subtotal dt{color:var(--text);font-weight:600}.sim-subtract{color:var(--muted);margin-right:var(--space-1)}.sim-card-note{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--font-size-label);line-height:1.7}.sim-chart-card{margin-top:var(--space-4)}.sim-chart-legend{gap:var(--space-4);color:var(--muted);font-size:var(--font-size-label);flex-wrap:wrap;margin:0;display:flex}.sim-chart-legend span{align-items:center;gap:var(--space-2);display:inline-flex}.sim-legend-square{background:var(--brand);border-radius:2px;width:10px;height:10px}.sim-legend-line{background:var(--navy);width:18px;height:2px}.sim-chart{overscroll-behavior-x:contain;width:100%;min-width:0;min-height:240px;position:relative;overflow:auto hidden}.sim-chart svg{max-width:none;height:240px;display:block}.sim-chart .chart-grid{stroke:var(--chart-grid);stroke-width:1px}.sim-chart .chart-axis{stroke:var(--muted);stroke-width:1px}.sim-chart .chart-label{fill:var(--muted);font-size:12px;font-family:var(--font-number)}.sim-chart .chart-bar{fill:var(--brand)}.sim-chart .chart-negative{fill:var(--error)}.sim-chart .chart-line{fill:none;stroke:var(--navy);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.sim-chart .chart-point{fill:var(--navy)}.sim-chart .chart-selection{fill:var(--accent-light);fill-opacity:.45;pointer-events:none}.sim-chart .chart-guide{stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 4;pointer-events:none}.sim-chart .chart-hit-area{cursor:pointer;touch-action:pan-x pan-y}.sim-chart .chart-hit-area:focus{outline:none}.sim-chart .chart-hit-area:focus-visible{stroke:var(--focus);stroke-width:2px;stroke-dasharray:5 4}.sim-chart .chart-bar.chart-active{fill:var(--accent)}.sim-chart .chart-negative.chart-active{stroke:var(--navy);stroke-width:1px}.sim-chart .chart-point.chart-active{stroke:var(--surface);stroke-width:3px;paint-order:stroke}.sim-chart-tooltip{z-index:5;width:216px;max-width:calc(100% - 16px);padding:var(--space-3) var(--space-4);border:1px solid var(--navy);border-radius:var(--radius-control);background:var(--navy);color:var(--surface);pointer-events:none;font-variant-numeric:tabular-nums;line-height:1.5;position:absolute}.sim-chart-tooltip:after{content:"";left:var(--tooltip-arrow-x,50%);background:var(--navy);width:8px;height:8px;position:absolute;transform:translate(-50%)rotate(45deg)}.sim-chart-tooltip[data-placement=above]:after{bottom:-4px}.sim-chart-tooltip[data-placement=below]:after{top:-4px}.sim-chart-tooltip-year{padding:0 0 var(--space-1);margin-bottom:var(--space-1);color:var(--accent-light);font-size:var(--font-size-label);font-weight:600;display:inline-block}.sim-chart-tooltip-label{color:var(--accent-light);font-size:var(--font-size-label);display:block}.sim-chart-tooltip-amount{align-items:baseline;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.sim-chart-tooltip-value{font-family:var(--font-number);overflow-wrap:anywhere;font-size:1.5rem;font-weight:600;line-height:1.2}.sim-chart-tooltip-amount small{color:var(--accent-light);font-size:var(--font-size-label)}.simulator-page .sim-chart-tooltip.is-negative{color:var(--warning-bg)}.sim-chart-instruction{margin:var(--space-1) 0 var(--space-3);font-size:var(--font-size-label);color:var(--muted)}.sim-chart-secondary{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.sim-chart-secondary h4{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--font-size-label);font-weight:500}.sim-exit-card{margin-top:var(--space-4)}.sim-exit-grid{align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.sim-exit-arrow{color:var(--muted);font-size:1.375rem}.sim-exit-result{padding:var(--space-4);border-radius:var(--radius-control);background:var(--accent-light)}.sim-exit-result h4{margin:0 0 var(--space-2);color:var(--text);font-size:var(--font-size-label);font-weight:500}.sim-exit-result p:last-child{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--font-size-label)}.sim-data-details{margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.sim-data-details summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:44px;padding:var(--space-4);cursor:pointer;font-size:var(--font-size-analysis);font-weight:600;list-style:none;display:flex}.sim-data-details summary small{margin-left:var(--space-3);color:var(--muted);font-size:var(--font-size-label);font-weight:400}.sim-detail-content{padding:0 var(--space-4) var(--space-4)}.sim-detail-topline{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.sim-detail-topline p{font-size:var(--font-size-label);color:var(--muted);margin:0}.sim-download-button{min-height:36px;padding:var(--space-2) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--surface);color:var(--accent);align-items:center;font-weight:600;display:inline-flex;font-size:var(--font-size-label)!important}.sim-table-scroll{overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:4px;width:100%;overflow-x:auto}.sim-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:var(--font-size-analysis);line-height:1.6}.sim-table caption{padding:var(--space-3);text-align:left;color:var(--muted);font-size:var(--font-size-label)}.sim-table th,.sim-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums}.sim-table td{font-family:var(--font-number)}.sim-table thead th{background:var(--navy);color:var(--surface);font-size:var(--font-size-label);font-weight:600}.sim-table th:first-child,.sim-table td:first-child{text-align:left}.sim-table tbody th{color:var(--muted);font-weight:500}.sim-table tbody tr:last-child>*{border-bottom:0}.sim-table tbody tr:nth-child(2n){background:var(--bg)}.sim-table .scenario-current{background:var(--accent-light);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);font-weight:600}.sim-table .data-negative,.simulator-page .data-negative,.simulator-page .is-negative{color:var(--error)}.simulator-page .data-positive{color:var(--text)}.sim-table td small,.sim-table th small{color:var(--muted);font-family:var(--font-body);font-size:var(--font-size-label);display:block}.sim-table .sim-current-label{color:var(--accent);font-weight:600}.sim-sensitivity-note{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--font-size-label)}.sim-methodology{margin-top:var(--space-8);border-top:1px solid var(--border)}.sim-methodology summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:44px;padding:var(--space-4) 0;color:var(--text);font-size:var(--font-size-analysis);cursor:pointer;list-style:none;display:flex}.sim-methodology-content{gap:var(--space-8);padding:0 0 var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sim-methodology h3{margin:0 0 var(--space-3);color:var(--text);font-size:1rem}.sim-methodology p{margin:var(--space-2) 0;color:var(--muted);font-size:var(--font-size-analysis);line-height:1.8}.sim-disclaimer{margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--font-size-label);line-height:1.8}.sim-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (hover:hover){.sim-breadcrumb a:hover,.sim-text-button:hover,.sim-result-link:hover{color:var(--action-hover)}.sim-download-button:hover,.sim-advanced summary:hover,.sim-data-details summary:hover{background:var(--accent-light)}}.sim-download-button:active{color:var(--surface);background:var(--action-hover)}.sim-text-button:active,.sim-result-link:active{color:var(--action-hover)}@media (width<1200px){.sim-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.sim-hero{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.sim-process{border-left:0;border-top:2px solid var(--brand);flex-wrap:wrap;display:flex}.sim-process li{padding:var(--space-3) var(--space-4) var(--space-3) 0;gap:var(--space-2);flex:150px}.sim-input-groups,.sim-advanced-grid{grid-template-columns:1fr}.sim-input-group{border-right:0;border-bottom:1px solid var(--border)}.sim-input-group:last-child{border-bottom:0}.sim-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-return-card{grid-template-columns:minmax(0,1fr)}.sim-return-card h3,.sim-return-value,.sim-return-comparison,.sim-return-footnote{grid-area:auto}.sim-return-footnote{border-top:1px solid var(--muted);padding-top:var(--space-3);margin-top:var(--space-1)}.sim-result-row{grid-template-columns:1fr}.sim-exit-grid{gap:var(--space-3);grid-template-columns:1fr}.sim-exit-arrow{display:none}}@media (width<768px){.sim-hero{padding:var(--space-8) 0}.sim-hero h1{font-size:1.75rem}.sim-hero-copy br{display:none}.sim-section-heading h2{font-size:1.375rem}.sim-methodology-content{gap:var(--space-4);grid-template-columns:1fr}.sim-data-details summary small{margin:var(--space-1) 0 0;display:block}}@media (width<560px){.sim-kpi-grid,.sim-fields,.sim-fields.sim-allocation-fields{grid-template-columns:1fr}.sim-allocation-fields>.sim-field{grid-area:auto}.sim-process{display:block}.sim-form-actions{gap:var(--space-2);justify-content:space-between;width:100%}.sim-section-heading{align-items:flex-start}.sim-data-list>div{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(80px,auto)}}@media (pointer:coarse){.sim-field .sim-input-wrap,.sim-download-button{min-height:44px}}@media (prefers-reduced-motion:reduce){.simulator-page *,.simulator-page :before,.simulator-page :after{scroll-behavior:auto!important;transition:none!important}}
