/* A light, shared visual language for financial decisions. No animation library. */
.life-explorer,.life-events{min-width:0;color:#18392e}.life-chart-head,.life-event-head{display:flex;align-items:start;justify-content:space-between;gap:24px}.life-chart-head h2,.life-event-head h2{font-size:clamp(23px,2.4vw,32px);line-height:1.2;margin:5px 0 16px}.life-chart-controls{display:flex;gap:12px;flex-wrap:wrap}.life-chart-controls label{display:flex;flex-direction:column;font-size:12px;gap:6px;color:#425c52}.life-chart-controls input{width:100px}.life-chart-controls input,.life-chart-controls select{min-height:44px}.life-plot{width:100%;min-width:0;margin-top:15px}.life-plot svg{display:block;width:100%;height:auto;overflow:visible}.life-plot text{fill:#496356;font-size:12px;font-family:inherit}.life-grid{stroke:#dfe7df;stroke-width:1}.life-crossing{stroke:#9d583a;stroke-width:1.5;stroke-dasharray:5 4}.life-cursor{stroke:#18392e;stroke-width:1;opacity:.5}.life-event-marker{stroke:#b75a36;stroke-width:1;stroke-dasharray:2 6;opacity:.35}.life-scrubber{display:block;font-size:12px;font-weight:700;letter-spacing:.03em;margin-top:6px}.life-scrubber input,.life-event input[type=range]{display:block;width:100%;accent-color:#b75a36;cursor:ew-resize;padding:0;min-height:38px}.life-readout-date{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-bottom:1px solid #cddbd1;padding:20px 0 10px;font-size:18px;font-weight:700}.life-readout-date small{font-size:12px;font-weight:400;align-self:center;color:#546b60}.life-readout-runs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:26px;padding:18px 0}.life-readout-runs article{min-width:0}.life-readout-runs h3{font-size:14px;font-weight:600;line-height:1.5;display:flex;gap:8px;align-items:center;overflow-wrap:anywhere}.life-readout-runs h3 i{width:10px;height:10px;flex-shrink:0;border-radius:50%}.life-readout-runs article>strong{display:block;font:500 clamp(23px,2.5vw,36px)/1.2 Georgia,serif;overflow-wrap:anywhere;margin:10px 0 4px}.life-readout-runs article>span{font-size:12px;color:#586d61}.life-readout-runs dl{margin-top:18px}.life-readout-runs dl>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;font-size:12px}.life-readout-runs dd{margin:0;text-align:right;font-weight:600}.life-readout-runs dt{color:#526b5d}.life-difference{border-top:1px solid #dbe4dc}.life-crossing-date{font-size:13px;line-height:1.6}.life-limit{font-size:13px;color:#814729;background:#fbf3e8;padding:12px;border-radius:8px}.life-funding{border-top:1px solid #d3e0d7;padding:24px 0 0;margin-top:10px}.life-funding-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.life-funding h2{font:400 clamp(21px,2vw,28px)/1.3 Georgia,serif;margin:5px 0 18px}.life-funding h2 strong{color:#a05230}.life-funding-head>span{font-size:12px;white-space:nowrap;color:#496356}.life-funding-rail{height:18px;background:#e7eee6;border-radius:4px;overflow:hidden}.life-funding-rail i{display:block;height:100%;background:#487363;border-radius:4px;transition:width .15s ease}.life-funding-labels{display:flex;justify-content:space-between;gap:20px;margin:12px 0;font-size:12px}.life-funding-labels span:last-child{text-align:right}.life-funding-labels b{display:block;font-size:15px;margin-top:5px}.life-funding details,.life-method{font-size:12px;color:#51665a}.life-funding summary,.life-method summary{min-height:35px;padding:10px 0;cursor:pointer}.life-funding details p,.life-method p{max-width:85ch;line-height:1.65}.life-volatility{font-size:12px;line-height:1.65;color:#556858;border-left:2px solid #b75a36;padding-left:12px;margin:24px 0 5px}.life-choices{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px}.life-choices>span{color:#536b5e;align-self:center}.life-choices label{display:flex;align-items:center;gap:7px;min-height:40px}.life-choices input{width:18px;height:18px;accent-color:#b75a36}.life-event{display:grid;grid-template-columns:95px 1fr auto;align-items:center;gap:20px;padding:18px 0;border-top:1px solid #dbe5dc}.life-event-date{font-size:19px;font-variant-numeric:tabular-nums;color:#9b4f32}.life-event h3{font-size:16px;margin:0 0 5px;overflow-wrap:anywhere}.life-event p{font-size:12px;color:#5a6b61;margin:0}.life-event-actions{display:flex;gap:8px}.life-event-empty{color:#5b7063;line-height:1.7;margin:20px 0 0;max-width:65ch}.life-event-dialog{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 30px);padding:28px;border:1px solid #d3dfd5;border-radius:20px;background:#fff;color:#16392e;overflow:auto}.life-event-dialog::backdrop{background:#102f25a8}.life-event-dialog small{display:block;line-height:1.5;margin:7px 0 0}.life-event-dialog input,.life-event-dialog select{width:100%;min-height:44px}.life-event-dialog .span-2{grid-column:1/-1}.life-event-fields{width:100%}.life-legacy-chart{margin:20px 0}.life-legacy-chart summary{cursor:pointer;padding:4px 0}.life-legacy-chart .portfolio-projection{margin-top:20px}.projection-layout{grid-template-columns:minmax(245px,310px) minmax(0,1fr);align-items:start}#lifeTimeline{padding:clamp(18px,3vw,38px)}#lifeEvents{margin:22px 0}.life-purchase-details{margin-top:24px;border-top:1px solid #dce4da;padding-top:15px}.life-purchase-details label{font-size:13px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.life-purchase-details input{width:100px}.life-purchase-details dl>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #e5ebe2;font-size:13px}.life-purchase-details dd{margin:0;text-align:right;font-weight:700}.life-purchase-details dt{font-weight:400}.geo-visual-controls{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:20px 0}.geo-visual-controls label{font-size:12px;display:flex;flex-direction:column;gap:5px}.geo-visual-controls input,.geo-visual-controls select{min-height:44px}.geo-country{border-top:1px solid #dfe7df;padding:16px 0;display:grid;grid-template-columns:150px minmax(100px,1fr) 160px;gap:20px;align-items:center}.geo-country h3{font-size:14px;margin:0}.geo-country-name small{font-size:11px;color:#5a6d60}.geo-paired-bars{display:grid;gap:7px}.geo-weight-row{display:grid;grid-template-columns:42px 1fr 60px;align-items:center;gap:8px;font-size:12px}.geo-weight-track{height:9px;background:#e9eee8;border-radius:2px}.geo-weight-track i{display:block;height:9px;background:#547669;border-radius:2px}.geo-weight-row.world .geo-weight-track i{background:#b75a36}.geo-adjustment{font-size:12px;text-align:right;color:#566959}.geo-adjustment b{display:block;font-size:17px;color:#173e30;margin-top:5px}.geo-scale-note{font-size:12px;color:#5b6c60}.history-window{display:flex;gap:14px;align-items:end;flex-wrap:wrap;padding:20px;margin:18px 0}.history-window label{display:flex;flex-direction:column;font-size:12px;gap:6px}.history-window input,.history-window button{min-height:44px}.history-stories{display:grid;gap:0}.history-story{display:grid;grid-template-columns:100px 1fr auto;gap:18px;padding:13px 0;border-bottom:1px solid #e3e9de;align-items:center}.history-story time{font-size:12px;color:#556b5d}.history-story b{font-size:13px}.history-story small{display:block;font-size:12px;color:#607062}.history-story strong{font-size:14px}.home-life-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-life-controls label{font-size:12px;color:#deeee1}.home-life-controls input{width:100%;margin-top:8px;background:#244e3d;color:white;border:1px solid #86a490;min-height:44px}.home-life-result{font:500 34px Georgia,serif;margin:18px 0 5px}.home-life-change{color:#e9ba98;font-size:14px;line-height:1.5}.home-forecast .life-plot text{fill:#d7e5d9}.home-forecast .life-grid{stroke:#43644f}.home-forecast .life-cursor{stroke:#fff}.home-forecast .life-plot{margin-top:8px}.home-life-controls input:focus{outline:2px solid #e9ba98}.home-hero-copy .home-lead{max-width:31rem}.home-forecast:has(.home-life-controls){padding:28px}.life-home-intro{max-width:1100px;margin:0 auto;padding:35px 24px 55px;border-bottom:1px solid #d4dfd4}.life-home-intro h2{font:400 clamp(28px,4vw,44px)/1.2 Georgia,serif;max-width:22ch}.life-home-intro p{max-width:64ch;color:#566859;line-height:1.7}.life-home-intro a{color:#244d3b;font-weight:700}#simLifeTimeline{margin:24px 0;padding:24px;background:#fff;border:1px solid #d3dfd3;border-radius:16px}.life-explorer [hidden],.life-events [hidden]{display:none!important}
@media(max-width:760px){.life-chart-head,.life-event-head{display:block}.life-chart-controls{margin:8px 0 12px}.life-chart-controls label{flex:1;min-width:120px}.life-chart-controls input{width:100%}.life-chart-controls select{width:100%}.life-readout-runs{gap:22px;grid-template-columns:1fr}.life-readout-runs article+article{border-top:1px solid #dce5dc;padding-top:14px}.life-funding-head>span{display:none}.life-funding-labels{gap:15px}.life-funding-labels b{font-size:13px}.life-event{grid-template-columns:1fr auto;gap:8px 12px}.life-event-date{grid-column:1/-1;font-size:16px}.life-event-actions{flex-direction:column}.life-event-dialog{padding:20px}.life-event-dialog .form-grid{grid-template-columns:1fr}.projection-layout{grid-template-columns:1fr}.geo-country{grid-template-columns:1fr;gap:10px}.geo-adjustment{text-align:left;display:flex;align-items:baseline;gap:10px}.geo-adjustment b{margin:0}.history-story{grid-template-columns:1fr auto;gap:5px 14px}.history-story time{grid-column:1/-1}.history-window label{flex:1;min-width:120px}.history-window input{width:100%}.history-window button{flex:1}.home-forecast:has(.home-life-controls){padding:20px}.home-life-result{font-size:29px}.life-purchase-details dl>div{font-size:12px}}
@media(prefers-reduced-motion:reduce){.life-funding-rail i{transition:none}}

.home-forecast .life-plot polyline{stroke:#edb48e}.home-forecast .life-plot polyline[stroke-dasharray]{stroke:#a9ccb5}.home-life-link{display:inline-block;color:#e6f1e5;font-weight:700;font-size:13px;margin-top:10px}
