:root{--ink:#26352c;--muted:#88938a;--green:#4c7959;--dark-green:#355b40;--pale:#eff4e9;--line:#e9ede6;--cream:#f7f8f3;--orange:#e8a46f}*{box-sizing:border-box}body{margin:0;background:#f7f8f4;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e9ad68;outline-offset:3px}.topbar{height:76px;background:#fff;border-bottom:1px solid #edf0e9;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1400px)/2));gap:20px}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#304a37;font:800 25px Outfit,sans-serif;letter-spacing:-1.4px}.brand-mark{display:grid;place-items:center;background:#577e60;color:white;width:31px;height:31px;border-radius:10px;font-size:23px;letter-spacing:0}.brand-life{color:#7ca47e}.brand-dot{color:#eeb179}.top-center,.eyebrow,.section-kicker,.tiny-label,.chapter-badge,.story-card-top,.balance-label,.age-caption span,.quote-card span,.page-footer{font-size:9px;font-weight:700;letter-spacing:1.3px}.top-center{color:#9ca99c}.sun{color:#dfaa74;font-size:15px;margin-right:8px}.new-life{border:1px solid #e2e9df;background:white;border-radius:9px;padding:10px 15px;font-weight:700;color:#516958;font-size:12px}.new-life span{font-size:18px;vertical-align:-1px;margin-right:5px}.layout{max-width:1400px;padding:37px 28px 25px;margin:auto;display:grid;grid-template-columns:270px minmax(400px,1fr) 300px;gap:28px;align-items:start}.section-kicker{color:#95a398;margin-bottom:15px}.section-kicker span{color:#dfa873;margin-left:5px}.card{background:#fff;border:1px solid #e8ede5;border-radius:14px;box-shadow:0 3px 14px rgba(40,69,46,.035)}.profile{overflow:hidden}.profile-art{height:148px;background:#e5efdf;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.profile-art:before,.profile-art:after{content:"";position:absolute;border-radius:50%;background:#d9e8d3;width:190px;height:100px;bottom:-40px;left:-30px}.profile-art:after{left:auto;right:-50px;width:200px;background:#d1e3cb}.art-ground{position:absolute;bottom:-35px;background:#c4daba;width:170px;height:60px;border-radius:50%}.art-sun{position:absolute;top:19px;left:28px;color:#e4b679;font-size:24px}.art-cloud{position:absolute;color:#fafcf7;font-size:25px}.cloud-one{top:20px;right:36px}.cloud-two{top:49px;left:49px;font-size:18px}.portrait{z-index:1;font-size:75px;filter:drop-shadow(0 5px 0 rgba(85,121,78,.08));transform:translateY(10px)}.art-flower{position:absolute;z-index:2;color:#f6f9ef}.flower-one{bottom:11px;left:39px}.flower-two{bottom:19px;right:37px;color:#f2c99b}.profile-body{padding:23px 20px 20px}.eyebrow{color:#a4afa3;font-size:8px}.profile h1{font:700 23px Outfit,sans-serif;margin:8px 0 6px;letter-spacing:-.5px}.location{color:#88978a;margin:0;font-size:12px}.profile-meta{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin-top:20px;padding-top:17px}.profile-meta span{display:block;color:#a5b0a5;font-size:8px;font-weight:700;letter-spacing:1px;margin-bottom:6px}.profile-meta strong{font-size:12px}.stats-card{margin-top:18px;padding:20px}.card-heading,.money-head{display:flex;align-items:center;justify-content:space-between}.card-heading h2,.money-head h2{font:700 19px Outfit,sans-serif;letter-spacing:-.4px;margin:6px 0 0}.card-heading h2 span,.money-head h2 span{color:#e4b079;font-size:13px}.tiny-label{font-size:8px;color:#bac4b9}.stat{margin-top:19px}.stat-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;margin-bottom:7px}.stat-row span:first-child{display:flex;gap:8px;align-items:center}.stat-emoji{font-size:14px}.stat-value{color:#718578;font-size:10px}.bar{height:6px;background:#eef2ec;border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;border-radius:9px;transition:width .3s}.stats-note{border-top:1px solid var(--line);padding-top:15px;margin:20px 0 0;color:#9aa89b;font-size:10px;line-height:1.5}.left-footer{text-align:center;color:#abb7aa;font-size:10px;margin:19px 0}.left-footer span{color:#dba786}.story-heading{height:99px;display:flex;justify-content:space-between;align-items:flex-start}.story-heading .section-kicker{margin-bottom:9px}.story-heading h2{font:700 30px Outfit,sans-serif;letter-spacing:-1px;margin:0}.heading-dot{color:#e2ae7d}.story-heading p{color:#8f9b91;font-size:12px;margin:7px 0}.chapter-badge{background:#eef4ea;color:#7b9c7b;border:1px solid #e3eddf;padding:9px 10px;border-radius:7px;white-space:nowrap;font-size:8px;margin-top:20px}.chapter-badge span{font-size:13px}.story-card{min-height:330px;overflow:hidden}.story-card-top{height:55px;border-bottom:1px solid #edf0eb;display:flex;align-items:center;justify-content:space-between;padding:0 23px;color:#9eaaa0;font-size:8px}.story-card-top>div{color:#719678}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8ebc88;margin-right:7px}.timeline{padding:25px 24px 8px;max-height:460px;overflow:auto}.year-block{display:grid;grid-template-columns:52px 1fr;gap:13px;position:relative;padding-bottom:25px}.year-block:not(:last-child):before{content:"";position:absolute;left:21px;top:39px;bottom:0;width:1px;background:#e7ede5}.year-icon{width:43px;height:43px;border:1px solid #e9eee7;border-radius:12px;display:grid;place-items:center;background:#f7faf5;font-size:20px;position:relative;z-index:1}.year-heading{display:flex;align-items:center;gap:8px;margin:2px 0 9px}.year-heading strong{font:700 14px Outfit,sans-serif}.year-heading span{font-size:8px;letter-spacing:.7px;color:#89a688;background:#f0f6ed;padding:4px 7px;border-radius:4px;font-weight:700}.event{font-size:12px;line-height:1.6;color:#758278;margin:0 0 8px}.event strong{color:#445d4a}.story-bottom{border-top:1px dashed #e8ede6;margin:0 24px;padding:18px 0;text-align:center;color:#b5c0b4;font-size:11px}.story-bottom span{color:#d9b58a;padding:0 7px}.age-area{text-align:center;padding-top:24px}.age-caption{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:14px}.age-caption span{color:#a6b3a6;font-size:8px}.age-caption strong{font:600 12px Outfit,sans-serif;color:#7b8e7e}.age-button{width:100%;border:0;border-radius:13px;background:#517d5a;color:#fff;padding:15px 20px;display:flex;align-items:center;text-align:left;gap:14px;box-shadow:0 5px 0 #3f6849;transition:transform .15s,background .15s}.age-button:hover{background:#416e4b;transform:translateY(-2px)}.age-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.plus{display:grid;place-items:center;border-radius:10px;background:#709879;width:41px;height:41px;font-size:28px;font-weight:400}.age-button strong,.age-button small{display:block}.age-button strong{font:700 16px Outfit,sans-serif}.age-button small{color:#d3e2d1;font-size:10px;margin-top:3px}.arrow{margin-left:auto;font-size:20px;color:#d2e2d0}.age-area>p{color:#aab7aa;font-size:10px;margin-top:18px}.age-area>p span{color:#dfa873}.actions-card{padding:21px 20px 10px}.actions-intro{font-size:11px;color:#9ba79d;margin:9px 0 17px}.actions-list button{display:flex;align-items:center;text-align:left;width:100%;padding:13px 0;border:0;border-top:1px solid #f0f2ee;background:transparent;color:var(--ink);gap:12px}.actions-list button:hover strong{color:#67916c}.action-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;font-size:21px;flex:none}.peach{background:#fbefe5;color:#d59b72}.pink{background:#faeeee;color:#d69a9a}.blue{background:#ecf2f5;color:#85a8b2}.yellow{background:#faf4e5;color:#d5b372}.actions-list strong,.actions-list small{display:block}.actions-list strong{font-size:12px}.actions-list small{font-size:10px;color:#a3afa4;margin-top:5px}.actions-list b{margin-left:auto;color:#c6d0c6;font-size:22px;font-weight:400}.money-card{padding:21px 20px;margin-top:18px}.money-icon{background:#f1f6eb;border-radius:10px;width:36px;height:36px;display:grid;place-items:center;color:#88ad7e;font-size:20px;font-weight:700}.balance-label{display:block;color:#a4b0a4;font-size:8px;margin-top:23px}.balance{font:700 27px Outfit,sans-serif;letter-spacing:-.5px;margin:5px 0 16px}.money-line{height:1px;background:var(--line)}.income-line{display:flex;justify-content:space-between;padding-top:15px;color:#9aa89b;font-size:11px}.income-line strong{color:#65886a}.quote-card{margin-top:18px;background:#f0f4ea;border:1px solid #e8efe3;border-radius:13px;padding:20px;position:relative}.quote-card p{font:600 15px/1.45 Outfit,sans-serif;color:#718875;max-width:180px;margin:0 0 14px}.quote-card span{color:#a8b9a6;font-size:8px}.quote-sparkle{position:absolute;right:21px;top:24px;color:#c3d5bc;font-size:37px}.page-footer{max-width:1344px;margin:0 auto;border-top:1px solid #e9eee7;display:flex;justify-content:space-between;padding:20px 0 30px;color:#bac5ba;font-size:8px}.page-footer span:first-child{color:#8da38d}.modal.hidden{display:none}.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(27,43,31,.48);backdrop-filter:blur(3px)}.modal-box{position:relative;width:min(100%,480px);max-height:85vh;overflow:auto;background:#fff;border-radius:18px;padding:30px;box-shadow:0 20px 80px #1b2b1f30}.close-modal{position:absolute;right:20px;top:15px;border:0;background:#f3f6f1;border-radius:50%;width:30px;height:30px;color:#758579;font-size:22px;line-height:1}.modal-icon{font-size:30px;background:#f1f6ed;border-radius:13px;width:55px;height:55px;display:grid;place-items:center;margin-bottom:19px}.modal-box h2{font:700 25px Outfit,sans-serif;letter-spacing:-.5px;margin:8px 0}.modal-desc{color:#88978b;font-size:13px;line-height:1.6;margin:0 0 20px}.modal-option{width:100%;display:flex;text-align:left;align-items:center;gap:12px;background:#fff;border:1px solid #e9eee7;border-radius:10px;padding:13px;margin-top:9px;color:#405145}.modal-option:hover{background:#f5f9f2;border-color:#cadcc9}.modal-option .option-emoji{font-size:20px}.modal-option strong,.modal-option small{display:block}.modal-option strong{font-size:12px}.modal-option small{font-size:10px;color:#9aa99c;margin-top:4px;line-height:1.4}.modal-option b{margin-left:auto;color:#b8c7b8;font-size:18px}.modal-option:disabled{opacity:.5;cursor:not-allowed}.empty-state{background:#f7f9f5;color:#91a091;border-radius:10px;padding:18px;font-size:12px;line-height:1.6}.modal-primary{background:#517d5a;color:white;border:0;border-radius:9px;padding:12px 18px;font-weight:700;margin-top:15px}.modal-secondary{background:#f2f5ef;color:#607566;border:0;border-radius:9px;padding:12px 18px;font-weight:700;margin:15px 8px 0 0}.pill{display:inline-block;background:#eef5eb;color:#789a78;font-size:10px;font-weight:700;padding:5px 8px;border-radius:5px;margin-bottom:8px}@media(max-width:1050px){.layout{grid-template-columns:230px minmax(350px,1fr);gap:20px}.right-column{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}.right-column>.section-kicker{grid-column:1/-1;margin-bottom:-3px}.money-card{margin:0}.quote-card{display:none}.page-footer{margin:0 28px}}@media(max-width:680px){.topbar{height:65px;padding:0 18px}.top-center{display:none}.layout{display:flex;flex-direction:column;padding:24px 16px;gap:22px}.left-column,.story-column,.right-column{width:100%}.left-column{display:grid;grid-template-columns:1fr 1fr;gap:12px}.left-column>.section-kicker{grid-column:1/-1;margin:0}.profile-art{height:105px}.portrait{font-size:54px}.profile-body{padding:15px}.profile h1{font-size:19px}.profile-meta{grid-template-columns:1fr;margin-top:12px;padding-top:12px}.profile-meta div:nth-child(2){display:none}.stats-card{margin:0;padding:15px}.stats-card .card-heading h2{font-size:17px}.stat{margin-top:12px}.stats-note,.left-footer,.tiny-label{display:none}.story-heading{height:auto;margin-bottom:20px}.story-heading h2{font-size:25px}.story-heading p{font-size:11px}.chapter-badge{display:none}.timeline{padding:20px 16px 5px;max-height:380px}.story-card-top{padding:0 17px}.story-card{min-height:0}.right-column{display:grid;grid-template-columns:1fr;gap:12px}.right-column>.section-kicker{margin:0}.actions-card,.money-card{padding:18px}.page-footer{margin:0 16px;gap:10px}.page-footer span:last-child{display:none}}
.moments{background:#f3f7f0;border-radius:8px;padding:9px 10px;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center;color:#78917c;font-size:10px;font-weight:700}.moments span:last-child{letter-spacing:3px;color:#8bb28b}.income-line small{font-size:9px;color:#adb9ad}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:16px 0}.summary-grid div{background:#f5f8f2;border-radius:10px;padding:14px}.summary-grid small,.summary-grid strong{display:block}.summary-grid small{color:#9ba99d;font-size:9px;letter-spacing:1px;font-weight:700;margin-bottom:7px}.summary-grid strong{font:700 16px Outfit,sans-serif}.form-label{display:block;font-size:11px;font-weight:700;color:#718476;margin:14px 0 6px}.form-input{width:100%;border:1px solid #dfe9dd;border-radius:9px;padding:11px 12px;font:inherit;color:#304a37;background:#fbfcfa}.form-input:focus{outline:2px solid #b3d2b0}.form-note{font-size:10px;color:#a0aea1;margin:12px 0 0;line-height:1.5}.story-review{border:0;background:none;color:#648b6a;font-weight:700;font-size:11px;cursor:pointer}.modal-option:disabled b{color:#c6d0c6}.year-block .event:last-child{margin-bottom:0}
.finance-note{font-size:10px;line-height:1.55;color:#a0ada1;margin:13px 0 0}
.lavender{background:#f1eef8;color:#a898c5}.investment-line{padding-top:10px}.health-alert{margin-top:16px;background:#fff3ec;border-radius:8px;padding:10px;color:#af7e60;font-size:10px;line-height:1.5}.progress-card{margin:12px 0;background:#f4f8f1;padding:13px;border-radius:10px;color:#718675;font-size:11px;line-height:1.6}.progress-card strong{color:#3f5e46}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.skill-grid div{background:#f6f8f4;padding:10px 6px;border-radius:9px;text-align:center;color:#839386;font-size:10px}.skill-grid strong{display:block;color:#4a6d51;font-size:13px;margin-top:5px}.milestone-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef1ec}.milestone-row .badge{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#eff6eb;font-size:18px;flex:none}.milestone-row.locked .badge{filter:grayscale(1);opacity:.45}.milestone-row strong,.milestone-row small{display:block}.milestone-row strong{font-size:12px}.milestone-row small{font-size:10px;color:#98a79a;margin-top:4px}.milestone-row .milestone-status{margin-left:auto;color:#83a681;font-size:10px;font-weight:700;white-space:nowrap}
.top-actions{display:flex;gap:8px}.storage-warning{background:#fff1da;color:#795c32;padding:11px 20px;text-align:center;font-size:12px;line-height:1.5}.storage-warning[hidden]{display:none}.file-input{display:block;margin-top:10px;max-width:100%;font-size:11px;color:#708473}.data-error{color:#a65e53;font-size:11px;line-height:1.5}.data-success{color:#618566;font-size:11px;line-height:1.5}@media(max-width:400px){.top-actions .new-life{padding:9px;font-size:11px}.brand{font-size:22px}}
.mint{background:#eaf6ee;color:#79a58a}.legacy-entry{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f5f8f2;padding:12px;border-radius:10px;margin:8px 0}.legacy-entry strong,.legacy-entry small{display:block}.legacy-entry strong{font-size:12px}.legacy-entry small{font-size:10px;color:#98a79a;margin-top:4px}.archive-timeline{max-height:45vh;overflow:auto;margin:12px 0}.archive-timeline .year-block{padding-bottom:16px}
