:root{--paper:#FAF7F3;--paper-raised:#FFFFFF;--paper-sunk:#F5F2EE;--ink:#15181D;--ink-soft:#5E6470;--ink-faint:#8D929C;--line:#ECE7E1;--line-strong:#DED8D0;--track:#EEEBE7;--coral:#EA6A4A;--coral-dark:#C9502F;--coral-tint:#FDF0EA;--coral-tint-2:#FBE2D7;--coral-line:#F6D5C8;--emerald:#1F7A4D;--emerald-dark:#18603D;--emerald-tint:#EDF5EF;--emerald-line:#D6E8DC;--blue:#5D7A99;--blue-tint:#EDF1F5;--gold:#B98A3E;--gold-tint:#F7F0E2;--danger:#B54A3F;--danger-tint:#FBEDEB;--radius-xl:24px;--radius-l:20px;--radius-m:16px;--radius-s:10px;--shadow-soft:0 1px 2px rgba(21,24,29,.03);--shadow-card:0 1px 2px rgba(21,24,29,.03), 0 10px 28px -18px rgba(21,24,29,.16);--shadow-pop:0 24px 64px -24px rgba(21,24,29,.32);--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-num:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-brand:"Poppins", "Inter", system-ui, sans-serif;font-size:16px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}::selection{background:var(--coral-tint-2);color:var(--coral-dark)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.022em;line-height:1.12}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--coral);outline-offset:2px;border-radius:4px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topnav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 40px;background:#fafafadb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:12px;font-family:var(--font-brand);font-weight:500;font-size:1.02rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}.logo .mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0}.logo .mark svg{width:100%;height:100%}.nav-links{display:flex;gap:6px;align-items:center}.nav-links button{padding:9px 16px;border-radius:99px;font-size:.88rem;font-weight:500;color:var(--ink-soft);transition:background .15s ease,color .15s ease}.nav-links button:hover{background:var(--line);color:var(--ink)}.nav-links button.active{background:var(--ink);color:#fff}.nav-cta{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:99px;font-size:.9rem;font-weight:600;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap}.btn-primary{background:var(--coral);color:#fff;box-shadow:var(--shadow-soft)}.btn-primary:hover{background:var(--coral-dark);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-ghost:hover{border-color:var(--ink-faint)}.btn-danger{background:var(--danger-tint);color:var(--danger);border:1px solid transparent}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:8px 16px;font-size:.82rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.view{display:none}.view.active{display:block;animation:fadeIn .35s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hero{max-width:1180px;margin:0 auto;padding:96px 40px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-dark);background:var(--coral-tint);padding:6px 13px;border-radius:99px;margin-bottom:22px}.hero h1{font-size:clamp(2.6rem,4.6vw,4.1rem);color:var(--ink);margin-bottom:22px}.hero p.sub{font-size:1.15rem;color:var(--ink-soft);max-width:480px;margin-bottom:34px}.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}.hero-visual{position:relative}.preview-card{background:var(--paper-raised);border-radius:var(--radius-l);box-shadow:var(--shadow-card);padding:26px;border:1px solid var(--line)}.preview-card .ph-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.preview-card .ph-head span{font-size:.8rem;color:var(--ink-faint)}.mini-thread{position:relative;padding-left:26px}.mini-thread:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--emerald) 0%,var(--blue) 100%);border-radius:2px}.mini-node{position:relative;padding-bottom:22px}.mini-node:before{content:"";position:absolute;left:-22px;top:3px;width:11px;height:11px;border-radius:50%;background:var(--paper-raised);border:2.5px solid var(--emerald)}.mini-node .mn-row{display:flex;justify-content:space-between;align-items:baseline}.mini-node .mn-title{font-size:.92rem;font-weight:600}.mini-node .mn-date{font-size:.76rem;color:var(--ink-faint);font-family:var(--font-num);font-variant-numeric:tabular-nums}.mini-node .mn-bar{height:5px;border-radius:99px;background:var(--line);margin-top:7px;overflow:hidden}.mini-node .mn-fill{height:100%;background:var(--emerald);border-radius:99px}section.landing-section{max-width:1180px;margin:0 auto;padding:80px 40px}.section-head{max-width:560px;margin:0 auto 48px;text-align:center}.section-head .eyebrow{margin-bottom:16px}.section-head h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:14px}.section-head p{color:var(--ink-soft);font-size:1.02rem}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);padding:28px;transition:box-shadow .2s ease,transform .2s ease}.feature-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.feature-card .fi{width:38px;height:38px;border-radius:11px;background:var(--coral-tint);color:var(--coral-dark);display:flex;align-items:center;justify-content:center;font-size:1.05rem;margin-bottom:16px}.feature-card h3{font-size:1.08rem;margin-bottom:8px;font-weight:600;font-family:var(--font-body)}.feature-card p{font-size:.9rem;color:var(--ink-soft)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);padding:28px;position:relative}.step-card .step-n{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--coral-dark);font-weight:600;margin-bottom:14px}.step-card h3{font-size:1.05rem;margin-bottom:8px;font-weight:600;font-family:var(--font-body)}.step-card p{font-size:.9rem;color:var(--ink-soft)}.whatif-strip{background:var(--ink);color:#fff;border-radius:var(--radius-l);padding:52px 48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.whatif-strip h2{color:#fff;font-size:1.9rem;margin-bottom:14px}.whatif-strip p{color:#c9c7bc;font-size:.98rem;margin-bottom:22px}.whatif-strip .result-pill{display:inline-flex;align-items:center;gap:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);padding:12px 18px;border-radius:99px;font-size:.9rem}.whatif-strip .result-pill .num{color:#7fe0a8;font-weight:600}.mock-slider{margin-top:10px}.mock-slider label{font-size:.8rem;color:#c9c7bc;display:block;margin-bottom:8px}.mock-slider input[type=range]{width:100%;accent-color:#7FE0A8}.dash-preview{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:26px;box-shadow:var(--shadow-card);max-width:960px;margin:0 auto}.dash-preview .dp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.dash-preview .dp-stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:14px}.dash-preview .dp-stat .l{font-size:.72rem;color:var(--ink-faint);margin-bottom:6px}.dash-preview .dp-stat .v{font-family:var(--font-display);font-size:1.15rem}.dash-preview .dp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dash-preview .dp-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:14px}.dash-preview .dp-card .h{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;margin-bottom:10px}.dash-preview .dp-card .bar{height:6px;background:var(--line);border-radius:99px;overflow:hidden}.dash-preview .dp-card .bar i{display:block;height:100%;background:var(--emerald);border-radius:99px}.dash-preview .dp-card .m{font-size:.72rem;color:var(--ink-faint);margin-top:8px}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:760px;margin:0 auto}.price-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:34px}.price-card.featured{border-color:var(--coral);box-shadow:var(--shadow-card);position:relative}.price-card.featured:before{content:"Most popular";position:absolute;top:-12px;left:34px;background:var(--coral);color:#fff;font-size:.72rem;font-weight:600;padding:4px 12px;border-radius:99px}.price-card h3{font-size:1.1rem;margin-bottom:6px;font-family:var(--font-body);font-weight:600}.price-card .price{font-family:var(--font-display);font-size:2.2rem;margin:12px 0 20px}.price-card .price span{font-size:.95rem;color:var(--ink-faint);font-family:var(--font-body)}.price-list{list-style:none;margin-bottom:26px}.price-list li{font-size:.88rem;color:var(--ink-soft);padding:7px 0;display:flex;gap:9px}.price-list li:before{content:"✓";color:var(--emerald);font-weight:700}.price-note{font-size:.74rem;color:var(--ink-faint);text-align:center;margin-top:18px}.faq-list{max-width:720px;margin:0 auto}.faq-item{border-bottom:1px solid var(--line);padding:20px 0}.faq-item summary{font-weight:600;cursor:pointer;font-size:.98rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.3rem;color:var(--ink-faint);font-weight:400;flex-shrink:0}.faq-item[open] summary:after{content:"–"}.faq-item p{color:var(--ink-soft);font-size:.9rem;margin-top:12px;max-width:600px}.cta-band{max-width:1180px;margin:0 auto;padding:0 40px 40px}.cta-band-inner{background:linear-gradient(135deg,var(--coral) 0%,var(--coral-dark) 100%);color:#fff;border-radius:var(--radius-l);padding:56px 40px;text-align:center}.cta-band-inner h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:12px}.cta-band-inner p{color:#ffffffe6;margin-bottom:26px;font-size:1.02rem}.cta-band-inner .btn-primary{background:#fff;color:var(--coral-dark)}.cta-band-inner .btn-primary:hover{background:var(--paper)}footer.site-footer{border-top:1px solid var(--line);padding:44px 40px 60px;max-width:1180px;margin:0 auto;width:100%}.footer-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:30px}footer.site-footer .fbrand{max-width:280px}footer.site-footer .fbrand p{font-size:.85rem;color:var(--ink-soft);margin-top:12px}footer.site-footer .fcol h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin-bottom:12px;font-family:var(--font-body);font-weight:600}footer.site-footer .fcol a{display:block;font-size:.88rem;color:var(--ink-soft);padding:4px 0}footer.site-footer .fcol a:hover{color:var(--ink)}footer.site-footer .fbottom{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.disclaimer{font-size:.78rem;color:var(--ink-faint);line-height:1.5;max-width:820px}.dash-wrap{max-width:1180px;margin:0 auto;padding:40px 40px 100px}.dash-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;flex-wrap:wrap;gap:16px}.dash-head h1{font-size:1.9rem}.dash-head p{color:var(--ink-soft);margin-top:6px;font-size:.95rem}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:34px}.stat-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px}.stat-card .stat-label{font-size:.78rem;color:var(--ink-faint);margin-bottom:8px;display:flex;align-items:center;gap:6px}.stat-card .stat-value{font-family:var(--font-display);font-size:1.55rem;font-weight:500}.stat-card .stat-sub{font-size:.78rem;color:var(--ink-soft);margin-top:4px}.stat-card .stat-sub.pos{color:var(--emerald-dark)}.dash-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dash-section-title h2{font-size:1.2rem;font-weight:600;font-family:var(--font-body)}.dash-section-title a,.dash-section-title button.linklike{font-size:.85rem;color:var(--coral-dark);font-weight:600}.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:44px}.goal-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:22px;transition:box-shadow .2s ease,transform .2s ease;position:relative;overflow:hidden}.goal-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.goal-card.completed{border-color:var(--emerald)}.goal-card .gc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.goal-card .gc-emoji{width:44px;height:44px;border-radius:13px;background:var(--emerald-tint);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.goal-card .gc-cat{font-size:.7rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.goal-card h3{font-size:1.08rem;margin:2px 0;font-family:var(--font-body);font-weight:600}.ring-wrap{display:flex;align-items:center;gap:16px;margin-bottom:16px}.ring-wrap svg{flex-shrink:0}.ring-pct{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:500}.ring-amounts{font-size:.82rem;color:var(--ink-soft)}.ring-amounts .cur{color:var(--ink);font-weight:600}.gc-bar-track{height:6px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:14px}.gc-bar-fill{height:100%;background:var(--emerald);border-radius:99px;transition:width .6s ease}.gc-meta{display:flex;justify-content:space-between;font-size:.78rem;color:var(--ink-faint);margin-bottom:16px;gap:10px}.gc-meta strong{color:var(--ink);font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:500;display:block;margin-top:2px}.gc-actions{display:flex;gap:8px}.gc-actions .btn{flex:1}.completed-flag{position:absolute;top:16px;right:16px;background:var(--emerald);color:#fff;font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}.empty-state{grid-column:1/-1;text-align:center;padding:64px 24px;border:1.5px dashed var(--line);border-radius:var(--radius-l);color:var(--ink-soft)}.empty-state .es-emoji{font-size:2.4rem;margin-bottom:12px}.empty-state h3{font-size:1.2rem;margin-bottom:8px}.empty-state p{font-size:.92rem;margin-bottom:20px}.whatif-card{background:linear-gradient(135deg,var(--ink) 0%,#262920 100%);color:#fff;border-radius:var(--radius-l);padding:32px;margin-bottom:44px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.whatif-card .wc-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#7fe0a8;font-weight:600;margin-bottom:10px}.whatif-card h2{color:#fff;font-size:1.5rem;margin-bottom:8px}.whatif-card select{background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:#fff;padding:8px 12px;border-radius:8px;font-family:inherit;font-size:.86rem;margin-bottom:20px;width:100%}.whatif-card select option{color:var(--ink)}.slider-group{margin-bottom:16px}.slider-group .sg-top{display:flex;justify-content:space-between;font-size:.83rem;margin-bottom:8px;color:#d9d7cc}.slider-group .sg-top .num{color:#fff;font-weight:600}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:#ffffff2e;border-radius:99px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:17px;height:17px;border-radius:50%;background:#7fe0a8;cursor:pointer;box-shadow:0 2px 6px #0000004d}input[type=range]::-moz-range-thumb{width:17px;height:17px;border-radius:50%;background:#7fe0a8;cursor:pointer;border:none}.wc-result{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:22px}.wc-result .wr-headline{font-family:var(--font-display);font-size:1.5rem;margin-bottom:6px;line-height:1.15}.wc-result .wr-sub{font-size:.85rem;color:#c9c7bc;margin-bottom:18px}.wc-track{position:relative;height:44px;margin-top:26px}.wc-track .line{position:absolute;top:16px;left:0;right:0;height:2px;background:#ffffff2e}.wc-track .marker{position:absolute;top:6px;width:2px;height:22px;background:#5d7a99;transition:left .3s ease}.wc-track .marker.new{background:#7fe0a8}.wc-track .mlabel{position:absolute;top:-16px;font-size:.68rem;font-family:var(--font-num);font-variant-numeric:tabular-nums;transform:translate(-50%);white-space:nowrap}.form-wrap{max-width:1080px;margin:0 auto;padding:40px 40px 100px;display:grid;grid-template-columns:1.3fr .9fr;gap:32px;align-items:flex-start}.form-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:32px}.form-card h1{font-size:1.6rem;margin-bottom:6px}.form-card>p{color:var(--ink-soft);font-size:.92rem;margin-bottom:28px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:18px}.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:7px;color:var(--ink)}.field label .req{color:var(--coral-dark);margin-left:2px}.field .hint{font-size:.76rem;color:var(--ink-faint);font-weight:400;margin-left:4px}.input-affix{position:relative;display:flex;align-items:center}.input-affix .affix{position:absolute;left:13px;color:var(--ink-faint);font-size:.92rem;pointer-events:none}.input-affix .affix-r{left:auto;right:13px}.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-s);font-family:inherit;font-size:.92rem;background:var(--paper);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.field .input-affix input{padding-left:28px}.field .input-affix.affix-right input{padding-left:13px;padding-right:30px}.field input[type=number]::-webkit-outer-spin-button,.field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--coral);outline:none;box-shadow:0 0 0 3px var(--coral-tint)}.field textarea{resize:vertical;min-height:80px}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--danger);background:var(--danger-tint)}.field .error-msg{display:none;font-size:.76rem;color:var(--danger);margin-top:6px;font-weight:500}.field.invalid .error-msg{display:block}.emoji-picker{display:flex;gap:8px;flex-wrap:wrap}.emoji-opt{width:42px;height:42px;border-radius:11px;border:1.5px solid var(--line);background:var(--paper);font-size:1.15rem;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.emoji-opt.selected{border-color:var(--coral);background:var(--coral-tint)}.form-footer{display:flex;gap:12px;margin-top:8px}.form-note{font-size:.78rem;color:var(--ink-faint);margin-top:16px}.forecast-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:26px;position:sticky;top:88px}.forecast-card h2{font-size:1.05rem;font-family:var(--font-body);font-weight:600;margin-bottom:20px}.forecast-hero{text-align:center;padding:22px 0;border-bottom:1px solid var(--line);margin-bottom:18px}.forecast-hero .fh-date{font-family:var(--font-display);font-size:2rem;color:var(--emerald-dark);line-height:1.1}.forecast-hero .fh-date.warn{color:var(--gold);font-size:1.4rem}.forecast-hero .fh-label{font-size:.8rem;color:var(--ink-faint);margin-top:4px}.forecast-stat{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:.86rem;gap:12px}.forecast-stat:last-of-type{border-bottom:none}.forecast-stat span:first-child{color:var(--ink-soft)}.forecast-stat span:last-child{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.forecast-note{background:var(--emerald-tint);color:var(--emerald-dark);border-radius:var(--radius-s);padding:13px 15px;font-size:.82rem;margin-top:16px;line-height:1.5}.forecast-note.warn{background:var(--gold-tint);color:#8a6417}.forecast-note.err{background:var(--danger-tint);color:var(--danger)}.detail-wrap{max-width:1080px;margin:0 auto;padding:32px 40px 110px}.detail-back{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);font-size:.86rem;font-weight:500;margin-bottom:22px}.detail-back:hover{color:var(--ink)}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:28px}.detail-head .dh-left{display:flex;gap:16px;align-items:center}.detail-head .dh-emoji{width:56px;height:56px;border-radius:16px;background:var(--emerald-tint);display:flex;align-items:center;justify-content:center;font-size:1.7rem}.detail-head .dh-cat{font-size:.72rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.detail-head h1{font-size:1.7rem}.detail-head .dh-actions{display:flex;gap:10px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.detail-panel{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:28px}.detail-panel h2{font-size:1.05rem;font-family:var(--font-body);font-weight:600;margin-bottom:18px}.bigring-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.bigring-wrap svg{margin-bottom:6px}.bigring-pct{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:500}.bigring-sub{font-size:.9rem;color:var(--ink-soft)}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.detail-stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:14px 16px}.detail-stat .l{font-size:.74rem;color:var(--ink-faint);margin-bottom:6px}.detail-stat .v{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:500}.detail-stat .v.warn{color:var(--gold);font-family:var(--font-body);font-size:.92rem}.spark{width:100%;height:70px;margin-top:8px}.detail-proj{width:100%;height:auto;margin-top:10px;display:block}.proj-cap{font-size:.85rem;color:var(--ink-faint);line-height:1.55;margin-top:12px}.hist-list{list-style:none;max-height:280px;overflow:auto}.hist-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:.88rem;gap:12px}.hist-item:last-child{border-bottom:none}.hist-item .hi-amt{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:600;color:var(--emerald-dark);white-space:nowrap}.hist-item .hi-date{font-size:.78rem;color:var(--ink-faint)}.hist-item .hi-note{font-size:.78rem;color:var(--ink-soft);margin-top:2px}.hist-empty{color:var(--ink-faint);font-size:.86rem;padding:8px 0}.notes-box{font-size:.9rem;color:var(--ink-soft);line-height:1.6;white-space:pre-wrap}.notes-empty{color:var(--ink-faint);font-style:italic}.milestones{position:relative;margin-top:8px}.milestone{display:flex;gap:12px;align-items:flex-start;padding:10px 0}.milestone .ms-dot{width:14px;height:14px;border-radius:50%;border:2.5px solid var(--line);flex-shrink:0;margin-top:2px;background:var(--paper-raised)}.milestone .ms-body .ms-title{font-size:.9rem;font-weight:600}.milestone.reached .ms-body .ms-title{color:var(--emerald-dark)}.milestone .ms-body .ms-sub{font-size:.78rem;color:var(--ink-faint)}.wi-controls .slider-group .sg-top{color:var(--ink-soft)}.wi-controls .slider-group .sg-top .num{color:var(--ink)}.wi-controls input[type=range]{background:var(--line)}.wi-controls input[type=range]::-webkit-slider-thumb{background:var(--coral)}.wi-controls input[type=range]::-moz-range-thumb{background:var(--coral)}.wi-result{background:var(--emerald-tint);border-radius:var(--radius-m);padding:18px;margin-top:6px}.wi-result.slower{background:var(--gold-tint)}.wi-result.same{background:var(--paper);border:1px solid var(--line)}.wi-result .wi-headline{font-family:var(--font-display);font-size:1.15rem;color:var(--emerald-dark);margin-bottom:4px}.wi-result.slower .wi-headline{color:#8a6417}.wi-result.same .wi-headline{color:var(--ink)}.wi-result .wi-sub{font-size:.82rem;color:var(--ink-soft)}.wi-reset{font-size:.8rem;color:var(--coral-dark);font-weight:600;margin-top:12px;display:inline-block}.timeline-wrap{max-width:840px;margin:0 auto;padding:56px 40px 120px}.timeline-head{text-align:center;margin-bottom:64px}.timeline-head h1{font-size:2.1rem;margin-bottom:10px}.timeline-head p{color:var(--ink-soft)}.thread{position:relative;padding-left:0}.thread:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background:linear-gradient(180deg,var(--emerald) 0%,var(--blue) 100%)}.t-node{position:relative;display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;margin-bottom:6px;min-height:110px}.t-node .t-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);padding:18px 20px;box-shadow:var(--shadow-soft);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.t-node .t-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.t-node:nth-child(odd) .t-card{grid-column:1;justify-self:end;max-width:320px}.t-node:nth-child(2n) .t-card{grid-column:3;justify-self:start;max-width:320px}.t-node .t-dot{grid-column:2;justify-self:center;width:52px;height:52px;border-radius:50%;background:var(--paper-raised);border:2.5px solid var(--emerald);display:flex;align-items:center;justify-content:center;font-size:1.3rem;z-index:2;box-shadow:0 0 0 6px var(--paper)}.t-node.done .t-dot{background:var(--emerald);border-color:var(--emerald)}.t-card .t-year{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:.76rem;color:var(--emerald-dark);font-weight:600;margin-bottom:4px}.t-card h3{font-size:1rem;font-family:var(--font-body);font-weight:600;margin-bottom:4px}.t-card p{font-size:.8rem;color:var(--ink-soft)}.t-card .t-progress{height:4px;background:var(--line);border-radius:99px;margin-top:10px;overflow:hidden}.t-card .t-progress-fill{height:100%;background:var(--emerald);border-radius:99px}.timeline-empty{text-align:center;color:var(--ink-soft);padding:40px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#262b336b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s ease}.modal-overlay.show{opacity:1;pointer-events:auto}.modal{background:var(--paper-raised);border-radius:var(--radius-l);box-shadow:var(--shadow-pop);max-width:460px;width:100%;padding:30px;transform:translateY(12px) scale(.98);transition:transform .25s ease;max-height:90vh;overflow:auto}.modal-overlay.show .modal{transform:translateY(0) scale(1)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:16px}.modal-head h2{font-size:1.25rem}.modal-close{width:34px;height:34px;border-radius:9px;color:var(--ink-faint);font-size:1.3rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close:hover{background:var(--line);color:var(--ink)}.modal p.modal-sub{color:var(--ink-soft);font-size:.92rem;margin-bottom:22px}.modal-actions{display:flex;gap:12px;margin-top:4px}.modal-actions .btn{flex:1}.modal-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--coral-dark);background:var(--coral-tint);padding:5px 12px;border-radius:99px;margin-bottom:16px}.premium-list{list-style:none;margin:16px 0 24px}.premium-list li{font-size:.9rem;color:var(--ink-soft);padding:7px 0;display:flex;gap:9px}.premium-list li:before{content:"✦";color:var(--coral);font-weight:700}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--paper-raised);border-top:1px solid var(--line);padding:10px 8px calc(10px + env(safe-area-inset-bottom));z-index:60;box-shadow:0 -4px 20px #0000000d}.bottom-nav-inner{display:flex;justify-content:space-around}.bn-item{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.66rem;color:var(--ink-faint);padding:4px 10px;border-radius:10px}.bn-item.active{color:var(--coral-dark)}.bn-icon{font-size:1.15rem}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(20px);opacity:0;background:var(--ink);color:#fff;padding:13px 22px;border-radius:99px;font-size:.86rem;font-weight:500;z-index:300;transition:all .3s ease;pointer-events:none;box-shadow:var(--shadow-card);display:flex;align-items:center;gap:8px;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.confetti-piece{position:fixed;top:-10px;width:8px;height:8px;z-index:299;pointer-events:none;border-radius:2px}@media (max-width:920px){.topnav{padding:14px 18px}.nav-links{display:none}.hero{grid-template-columns:1fr;padding:48px 22px 30px;gap:40px}section.landing-section{padding:56px 22px}.feature-grid,.steps-grid{grid-template-columns:1fr}.whatif-strip{grid-template-columns:1fr;padding:34px 24px}.pricing-grid{grid-template-columns:1fr}.dash-preview .dp-stats{grid-template-columns:1fr 1fr}.dash-preview .dp-cards{grid-template-columns:1fr}.cta-band{padding:0 22px 30px}.cta-band-inner{padding:40px 24px}.dash-wrap{padding:24px 18px 100px}.stat-row{grid-template-columns:1fr 1fr}.goal-grid{grid-template-columns:1fr}.whatif-card{grid-template-columns:1fr;padding:24px}.form-wrap{grid-template-columns:1fr;padding:24px 18px 100px}.forecast-card{position:static}.field-row{grid-template-columns:1fr}.detail-wrap{padding:24px 18px 110px}.detail-grid{grid-template-columns:1fr}.detail-stats{grid-template-columns:1fr 1fr}.t-node{grid-template-columns:44px 1fr;gap:14px}.t-node .t-dot{grid-column:1;width:42px;height:42px;font-size:1.05rem}.t-node:nth-child(odd) .t-card,.t-node:nth-child(2n) .t-card{grid-column:2;justify-self:start;max-width:100%}.thread:before{left:21px;transform:none}.bottom-nav{display:block}.nav-cta .btn-ghost{display:none}footer.site-footer{padding:36px 22px 90px}.footer-grid{gap:24px}}@media (max-width:480px){.stat-row,.detail-stats{grid-template-columns:1fr}}.auth-wrap{max-width:440px;margin:0 auto;padding:64px 24px 100px}.auth-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:36px;box-shadow:var(--shadow-card)}.auth-card h1{font-size:1.5rem;margin-bottom:6px}.auth-card>p.auth-sub{color:var(--ink-soft);font-size:.92rem;margin-bottom:24px}.auth-tabs{display:flex;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:4px;margin-bottom:24px}.auth-tabs button{flex:1;padding:9px;border-radius:99px;font-size:.86rem;font-weight:600;color:var(--ink-soft)}.auth-tabs button.active{background:var(--ink);color:#fff}.auth-note{font-size:.76rem;color:var(--ink-faint);line-height:1.5;margin-top:18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);padding:12px 14px}.auth-switch{text-align:center;font-size:.85rem;color:var(--ink-soft);margin-top:18px}.auth-switch button{color:var(--coral-dark);font-weight:600}.acct-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;border:1px solid var(--line);border-radius:99px;font-size:.85rem;font-weight:600;color:var(--ink)}.acct-chip:hover{border-color:var(--ink-faint)}.acct-avatar{width:26px;height:26px;border-radius:50%;background:var(--coral-tint);color:var(--coral-dark);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700}.acct-plan-row{display:flex;align-items:center;justify-content:space-between;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:14px 16px;margin-bottom:18px}.acct-plan-row .plan-tag{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--emerald-dark);background:var(--emerald-tint);padding:4px 10px;border-radius:99px}.analytics-wrap{max-width:1080px;margin:0 auto;padding:32px 40px 110px}.an-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:24px}.an-head .dh-left{display:flex;gap:16px;align-items:center}.an-head .dh-emoji{width:52px;height:52px;border-radius:15px;background:var(--emerald-tint);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.an-head h1{font-size:1.55rem}.an-head .an-tag{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--coral-dark);background:var(--coral-tint);padding:4px 10px;border-radius:99px;display:inline-block;margin-bottom:6px}.an-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.an-kpi{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);padding:18px}.an-kpi .l{font-size:.74rem;color:var(--ink-faint);margin-bottom:8px}.an-kpi .v{font-family:var(--font-display);font-size:1.4rem}.an-kpi .s{font-size:.76rem;color:var(--ink-soft);margin-top:4px}.an-kpi .s.pos{color:var(--emerald-dark)}.an-kpi .s.warn{color:var(--gold)}.an-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.an-panel{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:26px}.an-panel.full{grid-column:1/-1}.an-panel h2{font-size:1.02rem;font-family:var(--font-body);font-weight:600;margin-bottom:4px}.an-panel .an-cap{font-size:.8rem;color:var(--ink-faint);margin-bottom:18px}.an-chart{width:100%;overflow:visible}.an-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:.82rem;color:var(--ink-soft)}.an-legend span{display:inline-flex;align-items:center;gap:7px}.an-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.an-bars{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:10px}.an-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.an-bar-col .bar-v{width:100%;max-width:34px;background:var(--emerald);border-radius:6px 6px 0 0;transition:height .4s ease;min-height:3px}.an-bar-col .bar-x{font-size:.66rem;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.an-empty{color:var(--ink-faint);font-size:.88rem;padding:20px 0;text-align:center}.an-insight{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-size:.88rem}.an-insight:last-child{border-bottom:none}.an-insight .ai-ic{width:26px;height:26px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.9rem;background:var(--blue-tint);color:var(--blue)}.an-insight.good .ai-ic{background:var(--emerald-tint);color:var(--emerald-dark)}@media (max-width:920px){.analytics-wrap{padding:24px 18px 110px}.an-grid{grid-template-columns:1fr 1fr}.an-panels{grid-template-columns:1fr}}@media (max-width:480px){.an-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.view.active{animation:none}}.pc-wrap{max-width:760px;margin:0 auto;padding:32px 24px 110px}.pc-loading{color:var(--ink-faint);text-align:center;padding:80px 0;font-size:.95rem}.pc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:20px}.pc-head h1{font-size:1.7rem}.pc-sub{color:var(--ink-soft);font-size:.92rem;margin-top:4px}.pc-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:24px;box-shadow:var(--shadow-soft)}.pc-setup .field{margin-bottom:20px}.pc-setup .field:last-child{margin-bottom:0}.pc-opt{font-size:.72rem;color:var(--ink-faint);font-weight:400;margin-left:6px}.pc-hint{font-size:.78rem;color:var(--ink-faint);margin-top:8px}.pc-freq{display:flex;flex-wrap:wrap;gap:8px}.pc-freq button{flex:1;min-width:120px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--paper);color:var(--ink-soft);font-size:.86rem;font-weight:600;transition:all .15s ease}.pc-freq button.on{border-color:var(--coral);background:var(--coral-tint);color:var(--coral-dark)}.pc-setup-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:4px}.pc-ready{background:var(--emerald-tint);color:var(--emerald-dark);border-radius:var(--radius-m);padding:13px 18px;font-size:.9rem;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.pc-ready:before{content:"●";font-size:.7rem;color:var(--emerald)}.pc-topcard{margin-bottom:22px}.pc-topgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:6px}.pc-remaining-wrap{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.pc-remaining-label{font-size:.82rem;color:var(--ink-soft);font-weight:600}.pc-remaining{font-family:var(--font-display);font-size:1.7rem;font-weight:600;color:var(--ink)}.pc-remaining.left{color:var(--emerald-dark)}.pc-remaining.over{color:var(--danger)}.pc-section{margin-top:26px}.pc-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pc-section-head h2{font-size:1.1rem;font-weight:600;font-family:var(--font-body)}.pc-alloc{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);padding:14px 16px;margin-bottom:10px}.pc-alloc-info{display:flex;align-items:center;gap:12px;min-width:0}.pc-emoji{width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--emerald-tint);display:flex;align-items:center;justify-content:center;font-size:1.15rem}.pc-emoji-exp{background:var(--blue-tint)}.pc-alloc-name{font-weight:600;font-size:.94rem}.pc-alloc-meta{font-size:.78rem;color:var(--ink-faint);margin-top:2px}.pc-alloc-right{display:flex;align-items:center;gap:8px}.pc-alloc-amt{width:118px;flex-shrink:0}.pc-alloc-amt .affix{left:12px}.pc-alloc-input{width:100%;min-width:0;box-sizing:border-box;padding:10px 12px 10px 26px;text-align:left;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--paper);color:var(--ink);font-family:inherit;font-size:1rem;font-weight:600;transition:border-color .15s ease,box-shadow .15s ease}.pc-alloc-input:focus{border-color:var(--coral);outline:none;box-shadow:0 0 0 3px var(--coral-tint)}.pc-alloc-input::-webkit-outer-spin-button,.pc-alloc-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pc-alloc-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pc-remove{width:28px;height:28px;border-radius:8px;color:var(--ink-faint);font-size:1.2rem;line-height:1;flex-shrink:0}.pc-remove:hover{background:var(--danger-tint);color:var(--danger)}.pc-empty{color:var(--ink-faint);font-size:.88rem;padding:14px 2px}.pc-paydate-field{margin-bottom:16px}.pc-link{color:var(--coral-dark);font-weight:600}.pc-leftover{background:var(--gold-tint);border-radius:var(--radius-m);padding:16px 18px;margin-top:16px}.pc-leftover-note{font-size:.88rem;color:#8a6417;margin-bottom:10px}.pc-leftover-btns{display:flex;gap:10px;flex-wrap:wrap}.pc-actions{display:flex;gap:12px;margin-top:24px}.pc-actions .btn{flex:1}.pc-histlist{display:flex;flex-direction:column}.pc-hist{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.pc-hist:last-child{border-bottom:none}.pc-hist-date{font-weight:600;font-size:.9rem}.pc-hist-meta{font-size:.78rem;color:var(--ink-faint);margin-top:2px}.pc-hist-amt{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:600}.nav-badge{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--coral);margin-left:5px;vertical-align:middle;box-shadow:0 0 0 2px var(--paper)}.bn-item{position:relative}.bn-item .nav-badge{position:absolute;top:2px;right:14px;margin:0}@media (max-width:620px){.pc-wrap{padding:22px 16px 110px}.pc-topgrid{grid-template-columns:1fr}.pc-alloc{flex-direction:column;align-items:stretch;gap:12px}.pc-alloc-amt,.pc-alloc-right{width:100%}.pc-alloc-right{justify-content:space-between}.pc-alloc-input{font-size:1.1rem;padding-top:13px;padding-bottom:13px}.pc-freq button{min-width:calc(50% - 4px)}.pc-actions{flex-direction:column}}.cal-wrap{max-width:920px;margin:0 auto;padding:28px 20px 120px}.cal-loading{color:var(--ink-faint);text-align:center;padding:70px 0}.cal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.cal-head-l{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cal-title{font-size:1.5rem;font-weight:600;letter-spacing:-.01em;margin:0}.cal-nav{display:inline-flex;align-items:center;gap:6px}.cal-navbtn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--paper-raised);color:var(--ink);font-size:1.1rem;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;justify-content:center}.cal-navbtn:hover{border-color:var(--ink-faint)}.cal-navbtn.cal-today{width:auto;padding:0 14px;font-size:.82rem;font-weight:600}.cal-modes{display:inline-flex;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:3px}.cal-mode{border:none;background:transparent;color:var(--ink-soft);font-size:.82rem;font-weight:600;padding:7px 14px;border-radius:9px;cursor:pointer;transition:.15s}.cal-mode.on{background:var(--paper-raised);color:var(--ink);box-shadow:var(--shadow-soft)}.cal-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-soft);padding:16px;margin-bottom:16px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-dow{margin-bottom:6px}.cal-dow-cell{text-align:center;font-size:.72rem;font-weight:600;color:var(--ink-faint);padding:4px 0;text-transform:uppercase;letter-spacing:.04em}.cal-month{gap:6px}.cal-cell{position:relative;min-height:76px;border:1px solid var(--line);border-radius:12px;background:var(--paper-raised);padding:8px 8px 6px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:.12s}.cal-cell:hover{border-color:var(--ink-faint);background:var(--paper)}.cal-cell.out{opacity:.4}.cal-cell.today{border-color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral)}.cal-cell.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.cal-num{font-size:.85rem;font-weight:600;color:var(--ink)}.cal-cell.today .cal-num{color:var(--coral-dark)}.cal-dots{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.cal-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}.cal-more{font-size:.66rem;color:var(--ink-faint);font-weight:600}.cal-dot--payday{background:var(--emerald)}.cal-dot--contribution{background:var(--blue)}.cal-dot--milestone{background:var(--gold)}.cal-dot--completion{background:var(--coral)}.cal-dot--reminder{background:#2fa39a}.cal-dot--report{background:#7c6fd0}.cal-dot--created{background:var(--ink-faint)}.cal-daypanel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.cal-daypanel-head h3{font-size:1rem;font-weight:600;margin:0}.cal-add{padding:7px 14px;font-size:.8rem}.cal-daylist{display:flex;flex-direction:column;gap:8px}.cal-ev{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);position:relative}.cal-ev[role=button]{cursor:pointer;transition:.12s}.cal-ev[role=button]:hover{border-color:var(--ink-faint);background:var(--paper-raised)}.cal-ev-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex:0 0 auto}.cal-ev-body{flex:1;min-width:0}.cal-ev-title{font-size:.9rem;font-weight:600;color:var(--ink)}.cal-ev-sub{font-size:.76rem;color:var(--ink-faint);margin-top:2px}.cal-ev-del{border:none;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:.85rem;padding:2px 4px;border-radius:6px;line-height:1}.cal-ev-del:hover{color:var(--danger);background:var(--danger-tint)}.cal-ev--reminder{border-left:3px solid #2FA39A}.cal-ev--payday{border-left:3px solid var(--emerald)}.cal-ev--milestone{border-left:3px solid var(--gold)}.cal-ev--completion{border-left:3px solid var(--coral)}.cal-ev--contribution{border-left:3px solid var(--blue)}.cal-ev--report{border-left:3px solid #7C6FD0}.cal-ev--created{border-left:3px solid var(--ink-faint)}.cal-empty{color:var(--ink-faint);font-size:.88rem;padding:16px 4px;text-align:center}.cal-empty-lg{padding:44px 12px;line-height:1.7}.cal-agenda{display:flex;flex-direction:column;gap:18px}.cal-ag-group{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start}.cal-ag-date{text-align:center;padding-top:4px}.cal-ag-day{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--ink);line-height:1}.cal-ag-md{display:block;font-size:.68rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;margin-top:4px;line-height:1.3}.cal-ag-rel{display:inline-block;font-size:.62rem;font-weight:700;color:var(--coral-dark);background:var(--coral-tint);border-radius:99px;padding:2px 7px;margin-top:6px}.cal-ag-events{display:flex;flex-direction:column;gap:8px}.cal-year{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cal-mini{background:var(--paper-raised);border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;text-align:left;transition:.12s}.cal-mini:hover{border-color:var(--ink-faint);box-shadow:var(--shadow-soft)}.cal-mini-title{font-size:.82rem;font-weight:600;margin-bottom:8px}.cal-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-mini-day{font-size:.6rem;text-align:center;color:var(--ink-soft);aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-mini-day.out{color:transparent}.cal-mini-day.today{outline:1.5px solid var(--coral);color:var(--coral-dark);font-weight:700}.cal-mini-day.has{background:var(--gold-tint);color:var(--ink);font-weight:700;position:relative}.cal-mini-day.has:after{content:"";position:absolute;bottom:1px;width:3px;height:3px;border-radius:50%;background:var(--coral)}.cal-legend{display:flex;flex-wrap:wrap;gap:14px;padding:4px 4px 0;justify-content:center}.cal-leg{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--ink-soft)}@media (max-width:620px){.cal-wrap{padding:20px 12px 120px}.cal-title{font-size:1.25rem}.cal-head{gap:12px}.cal-modes{width:100%;justify-content:space-between}.cal-mode{flex:1;padding:8px 0}.cal-month{gap:3px}.cal-cell{min-height:52px;border-radius:9px;padding:5px 4px;gap:3px}.cal-num{font-size:.76rem}.cal-dot{width:6px;height:6px}.cal-dow-cell{font-size:.6rem}.cal-year{grid-template-columns:repeat(2,1fr);gap:10px}.bn-item{padding:4px 5px;font-size:.6rem}.bn-icon{font-size:1.05rem}}.rep-wrap{max-width:820px;margin:0 auto;padding:28px 20px 120px}.rep-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.rep-head h1{font-size:1.5rem;font-weight:600;letter-spacing:-.01em;margin:0}.rep-sub{color:var(--ink-soft);font-size:.9rem;margin-top:4px}.rep-actions{display:flex;gap:10px}.rep-stage{position:relative}.rep-doc{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-card);overflow:hidden}.rep-cover{background:var(--ink);color:#fff;padding:30px 32px;border-bottom:4px solid var(--coral)}.rep-cover-brand{font-family:var(--font-display);font-weight:700;letter-spacing:.18em;font-size:.82rem;color:var(--coral-tint)}.rep-cover-title{font-family:var(--font-display);font-weight:600;font-size:1.7rem;margin-top:14px}.rep-cover-period{font-size:1.02rem;color:var(--coral-tint);margin-top:4px}.rep-cover-meta{font-size:.8rem;color:#b9bcc4;margin-top:10px}.rep-body{padding:26px 32px 30px}.rep-h{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:26px 0 12px}.rep-h:first-child{margin-top:0}.rep-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rep-stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px}.rep-stat-l{font-size:.68rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em}.rep-stat-v{font-family:var(--font-display);font-weight:600;font-size:1.25rem;margin-top:6px;color:var(--ink)}.rep-goals{display:flex;flex-direction:column;gap:10px}.rep-goal{border:1px solid var(--line);border-radius:12px;padding:14px 16px}.rep-goal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.rep-goal-name{font-weight:600;font-size:.98rem}.rep-goal-cat{font-size:.68rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.rep-goal-amt{text-align:right;font-size:.88rem;color:var(--ink-soft)}.rep-goal-amt strong{color:var(--ink)}.rep-goal-sub{display:block;font-size:.72rem;color:var(--ink-faint);margin-top:2px}.rep-bar{position:relative;height:9px;background:var(--line);border-radius:5px}.rep-bar-fill{height:100%;background:var(--coral);border-radius:5px;min-width:3px}.rep-bar-fill.done{background:var(--emerald)}.rep-bar-pct{position:absolute;right:0;top:-18px;font-size:.72rem;font-weight:700;color:var(--ink-soft)}.rep-empty{color:var(--ink-faint);font-size:.9rem;padding:16px;text-align:center;border:1px dashed var(--line);border-radius:12px}.rep-chart{border:1px solid var(--line);border-radius:12px;padding:14px 16px}.rep-spark{width:100%;height:90px;display:block}.rep-chart-x{display:flex;justify-content:space-between;font-size:.74rem;color:var(--ink-faint);margin-top:8px}.rep-insights{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}.rep-insights li{font-size:.9rem;color:var(--ink-soft);line-height:1.5}.rep-insights li::marker{color:var(--coral)}.rep-motiv{margin-top:22px;background:var(--coral-tint);color:var(--coral-dark);border-radius:12px;padding:16px 20px;text-align:center;font-style:italic;font-size:.95rem}.rep-foot{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:.74rem;color:var(--ink-faint);text-align:center}.rep-locked{position:relative}.rep-blur{filter:blur(7px);pointer-events:none;-webkit-user-select:none;user-select:none;max-height:640px;overflow:hidden}.rep-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:32px;background:linear-gradient(180deg,rgba(250,250,250,.55) 0%,rgba(250,250,250,.9) 60%,var(--paper) 100%);border-radius:var(--radius-l)}.rep-lock-badge{display:inline-block;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--coral);padding:4px 12px;border-radius:99px}.rep-lock h2{font-size:1.3rem;font-weight:600;max-width:24ch}.rep-lock p{font-size:.9rem;color:var(--ink-soft);max-width:46ch;line-height:1.6}@media (max-width:620px){.rep-wrap{padding:20px 12px 120px}.rep-body{padding:20px 18px 24px}.rep-cover{padding:24px 20px}.rep-cover-title{font-size:1.35rem}.rep-stats{grid-template-columns:repeat(2,1fr)}.rep-goal-top{flex-direction:column;gap:6px}.rep-goal-amt{text-align:left}.rep-head{align-items:flex-start}}@media print{body.printing-report .topnav,body.printing-report .bottom-nav,body.printing-report .site-footer,body.printing-report .rep-head,body.printing-report #toast,body.printing-report .view{display:none!important}body.printing-report #view-report{display:block!important}body.printing-report .rep-wrap{max-width:none;padding:0}body.printing-report .rep-doc{border:none;box-shadow:none;border-radius:0}@page{margin:14mm}}.showcase .sc-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:64px}.showcase .sc-row:last-child{margin-bottom:0}.showcase .sc-row.reverse .sc-copy{order:2}.showcase .sc-row.reverse .sc-visual{order:1}.sc-copy h3{font-size:clamp(1.5rem,2.3vw,2rem);font-weight:600;letter-spacing:-.01em;margin:14px 0 12px;color:var(--ink);font-family:var(--font-display)}.sc-copy p{color:var(--ink-soft);font-size:1.02rem;line-height:1.6;max-width:40ch}.sc-prem{display:inline-block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--coral);padding:2px 8px;border-radius:99px;vertical-align:middle;margin-left:6px}.sc-visual{display:flex;justify-content:center}.sc-mock{width:100%;max-width:420px;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-card);padding:22px}.sc-dash .scd-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.scd-tile{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px}.scd-tile span{font-size:.7rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em}.scd-tile strong{display:block;font-family:var(--font-display);font-size:1.4rem;margin-top:6px}.scd-goals{display:flex;flex-direction:column;gap:12px}.scd-goal{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.scd-ring{position:relative;width:52px;height:52px;border-radius:50%;flex:0 0 auto;background:conic-gradient(var(--coral) 0 var(--p),var(--line) var(--p) 100%)}.scd-ring-e{background:conic-gradient(var(--emerald) 0 var(--p),var(--line) var(--p) 100%)}.scd-ring:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;background:var(--paper-raised);border-radius:50%}.scd-ring span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--ink)}.scd-gi b{display:block;font-size:.95rem}.scd-gi i{font-style:normal;font-size:.8rem;color:var(--ink-faint)}.sc-sim{background:var(--ink);border-color:var(--ink);color:#fff}.scs-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--coral-tint)}.scs-h{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin:8px 0 20px}.scs-track{position:relative;height:6px;background:#ffffff29;border-radius:99px}.scs-track i{position:absolute;left:0;top:0;height:100%;width:56%;background:var(--coral);border-radius:99px}.scs-knob{position:absolute;left:calc(56% - 9px);top:-6px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000004d}.scs-line{display:flex;align-items:center;gap:14px;margin:24px 0 16px}.scs-m{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.scs-m.orig{color:#8c93a0;text-decoration:line-through;text-decoration-thickness:2px}.scs-m.new{color:#7fe0a8}.scs-arrow{color:#c9c7bc}.scs-pill{display:inline-block;background:#7fe0a829;color:#7fe0a8;font-size:.82rem;font-weight:600;padding:7px 14px;border-radius:99px}.sc-timeline .sct-thread{position:relative;padding-left:8px}.sct-thread:before{content:"";position:absolute;left:19px;top:12px;bottom:12px;width:2px;background:var(--line)}.sct-node{position:relative;display:flex;align-items:center;gap:16px;padding:8px 0}.sct-dot{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex:0 0 auto}.sct-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 14px;flex:1}.sct-card b{display:block;font-size:.95rem}.sct-card i{font-style:normal;font-size:.8rem;color:var(--coral-dark);font-weight:600}.sc-pay .scp-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.scp-head b{font-size:.95rem}.scp-head span{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.scp-rows{display:flex;flex-direction:column;gap:14px}.scp-row{display:grid;grid-template-columns:1.4fr 1fr auto;align-items:center;gap:10px;font-size:.85rem}.scp-bar{height:6px;background:var(--line);border-radius:99px}.scp-bar u{display:block;height:100%;background:var(--coral);border-radius:99px}.scp-row i{font-style:normal;font-weight:600;color:var(--ink)}.scp-foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.scp-left{font-size:.82rem;font-weight:600;color:var(--emerald-dark);background:var(--emerald-tint);padding:5px 12px;border-radius:99px}.scp-btn{font-size:.82rem;font-weight:600;color:#fff;background:var(--coral);padding:7px 14px;border-radius:99px}.sc-cal .scc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.scc-head b{font-size:1rem;font-family:var(--font-display)}.scc-nav{display:flex;gap:6px;color:var(--ink-faint)}.scc-nav span{width:24px;height:24px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.8rem}.scc-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.scc-dow span{text-align:center;font-size:.6rem;color:var(--ink-faint);font-weight:600}.scc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.scc-cell{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:7px;display:flex;align-items:flex-start;justify-content:flex-start;padding:4px 0 0 5px;font-size:.62rem;color:var(--ink-soft);background:var(--paper-raised)}.scc-cell.out{background:transparent;border-color:transparent}.scc-cell.today{border-color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral);color:var(--coral-dark);font-weight:700}.scc-dots{position:absolute;left:4px;bottom:4px;display:flex;gap:2px}.scc-dots i,.scc-legend i{width:5px;height:5px;border-radius:50%;display:inline-block}.d-pay{background:var(--emerald)}.d-mile{background:var(--gold)}.d-rem{background:#2fa39a}.scc-legend{display:flex;gap:14px;justify-content:center;margin-top:12px}.scc-legend span{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;color:var(--ink-soft)}.sc-report{padding:0;overflow:hidden;position:relative}.scr-badge{position:absolute;top:14px;right:14px;z-index:2;font-size:.6rem;font-weight:700;letter-spacing:.06em;color:var(--ink);background:#ffffffe6;padding:3px 9px;border-radius:6px}.scr-cover{background:var(--ink);color:#fff;padding:24px 22px;border-bottom:3px solid var(--coral)}.scr-brand{font-family:var(--font-brand);font-weight:700;letter-spacing:.16em;font-size:.72rem;color:var(--coral-tint)}.scr-title{font-family:var(--font-display);font-weight:600;font-size:1.25rem;margin-top:10px}.scr-period{font-size:.9rem;color:var(--coral-tint);margin-top:2px}.scr-body{padding:20px 22px 24px}.scr-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.scr-tiles div{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px}.scr-tiles span{font-size:.66rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em}.scr-tiles b{display:block;font-family:var(--font-display);font-size:1.2rem;margin-top:5px}.scr-bars{display:flex;flex-direction:column;gap:10px}.scr-bar{height:8px;background:var(--line);border-radius:99px}.scr-bar u{display:block;height:100%;background:var(--coral);border-radius:99px}.scr-bar:nth-child(2) u{background:var(--emerald)}.scr-bar:nth-child(3) u{background:var(--gold)}@media (max-width:820px){.showcase .sc-row{grid-template-columns:1fr;gap:26px;margin-bottom:52px}.showcase .sc-row.reverse .sc-copy{order:1}.showcase .sc-row.reverse .sc-visual{order:2}.sc-copy{text-align:center}.sc-copy p{max-width:none}.sc-mock{max-width:380px}}.logo-img{width:34px;height:34px;border-radius:8px;object-fit:cover;flex-shrink:0;display:block}#splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#fbf7f0;pointer-events:none;transition:opacity .6s ease}#splash .splash-inner{display:flex;flex-direction:column;align-items:center;gap:18px;animation:splashPop .9s ease both}#splash .splash-logo{width:104px;height:104px;border-radius:24px;object-fit:cover}#splash .splash-word{font-family:var(--font-brand);font-weight:600;letter-spacing:.3em;font-size:1.5rem;color:#232f3a;padding-left:.3em}@keyframes splashPop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}@keyframes splashFade{0%,60%{opacity:1}to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){#splash{display:none}}.price-tag2{font-size:.86rem;color:var(--ink-soft);margin:2px 0 14px}.tut{text-align:center;padding:8px 6px 4px}.tut-emoji{font-size:2.6rem;line-height:1;margin-bottom:14px}.tut-title{font-size:1.35rem;font-weight:600;margin-bottom:10px}.tut-body{color:var(--ink-soft);font-size:.96rem;line-height:1.6;max-width:34ch;margin:0 auto 20px}.tut-dots{display:flex;gap:7px;justify-content:center;margin-bottom:22px}.tut-dots span{width:7px;height:7px;border-radius:50%;background:var(--line-strong);transition:.2s}.tut-dots span.on{background:var(--coral);width:20px;border-radius:99px}.tut-actions{display:flex;gap:10px;justify-content:space-between}.tut-actions .btn{flex:1}.tut-emoji .tut-logo{width:76px;height:76px;border-radius:18px;object-fit:cover;display:inline-block;vertical-align:middle}#splash.splash-go{opacity:0;visibility:hidden}.bn-item[data-nav=create]{display:none}.hb-manage{font-size:.72rem;font-weight:600;color:var(--coral-dark);background:none;border:none;cursor:pointer;text-decoration:underline;margin-left:2px}.fb-toggle{display:inline-flex;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:3px}.fb-toggle button{border:none;background:transparent;color:var(--ink-soft);font-size:.85rem;font-weight:600;padding:7px 16px;border-radius:7px;cursor:pointer}.fb-toggle button.on{background:var(--paper-raised);color:var(--ink);box-shadow:var(--shadow-soft)}.modal-actions .btn{min-width:0}@media (max-width:480px){.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}@media (max-width:640px){input:not([type=range]),select,textarea{font-size:16px}}.bn-item{color:var(--ink);font-weight:600}.bn-icon svg{width:26px;height:26px;display:block}#au-error:not(:empty),#fp-error:not(:empty),#rp-error:not(:empty){display:block}.ic{width:24px;height:24px;display:block;flex-shrink:0}.ic-sm{width:16px;height:16px}.ic-lg{width:28px;height:28px}.topnav{padding:14px 32px;background:#faf7f3e6;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}.logo-img{width:36px;height:36px;border-radius:50%}.nav-links button{font-weight:500;color:var(--ink-soft)}.nav-links button:hover{background:var(--paper-sunk);color:var(--ink)}.nav-links button.active{background:var(--coral-tint);color:var(--coral-dark);font-weight:600}.acct-chip{gap:9px;padding:5px 12px 5px 5px;background:var(--paper-raised);border:1px solid var(--line);font-weight:500;font-size:.92rem}.acct-chip:hover{border-color:var(--line-strong)}.acct-chip .ic{color:var(--ink-soft)}.acct-avatar{width:34px;height:34px;font-size:.84rem;font-weight:600;background:var(--coral-tint);color:var(--coral-dark);letter-spacing:.02em}.btn{font-weight:600;letter-spacing:-.005em}.btn-primary{background:var(--coral);box-shadow:none}.btn-primary:hover{background:var(--coral-dark);transform:none}.btn-ghost{background:var(--paper-raised);border-color:var(--line)}.btn-ghost:hover{border-color:var(--line-strong);background:var(--paper-raised)}.lbl{display:block;font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}.lbl-coral{color:var(--coral-dark)}.pbar{height:8px;background:var(--track);border-radius:99px;overflow:hidden}.pbar>i{display:block;height:100%;min-width:8px;background:var(--coral);border-radius:99px;transition:width .7s cubic-bezier(.2,.7,.2,1)}.pbar.is-done>i{background:var(--emerald)}.ic-tile{width:52px;height:52px;border-radius:14px;background:var(--coral-tint);color:var(--coral);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ic-tile .ic{width:28px;height:28px}.ic-tile.is-done{background:var(--emerald-tint);color:var(--emerald)}.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:12px;background:var(--coral-tint);color:var(--ink-soft);font-size:.9rem;font-weight:500}.chip b{color:var(--coral-dark);font-weight:700}.pill{display:inline-flex;align-items:center;padding:7px 15px;border-radius:99px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.pill-coral{background:var(--coral);color:#fff}button.pill-coral:hover{background:var(--coral-dark)}.bottom-nav{background:#fffffff0;backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-top:1px solid var(--line);box-shadow:none;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.bottom-nav-inner{justify-content:space-between;max-width:520px;margin:0 auto}.bn-item{flex:1;gap:5px;padding:9px 4px 8px;margin:0 3px;border-radius:16px;font-size:.72rem;font-weight:500;color:var(--ink);transition:background .15s ease,color .15s ease}.bn-item .bn-icon svg,.bn-item .bn-icon .ic{width:25px;height:25px}.bn-item.active{background:var(--coral-tint);color:var(--coral);font-weight:600}.home-wrap{max-width:1000px;margin:0 auto;padding:26px 20px 130px}.hm-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.hm-hi{font-size:clamp(1.65rem,4.6vw,2.1rem);font-weight:700;letter-spacing:-.03em;line-height:1.15}.hm-date{color:var(--ink-faint);font-size:1rem;margin-top:4px}.hm-head-act{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:4px}.hm-manage{font-size:.78rem;color:var(--ink-faint);font-weight:500}.hm-manage:hover{color:var(--coral-dark)}.hm-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:22px}.hm-top{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.hm-hero{grid-column:1 / -1;padding:24px 24px 26px}.hm-hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:10px}.hm-big{font-size:clamp(2.4rem,9vw,3.1rem);font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.hm-sub{color:var(--ink-soft);font-size:1rem;margin-top:8px}.hm-sub .up{display:block;color:var(--emerald);font-weight:500;font-size:.92rem;margin-top:2px}.hm-pct{text-align:right;flex-shrink:0}.hm-pct b{display:block;font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.hm-pct span{display:block;color:var(--ink-soft);font-size:.92rem;margin-top:6px}.hm-hero .pbar{margin-top:22px;height:10px}.hm-tile{display:flex;flex-direction:column;padding:20px}.hm-tile .lbl{min-height:2.2em}.hm-mid{font-size:clamp(1.55rem,6vw,1.95rem);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin-top:12px;font-variant-numeric:tabular-nums}.hm-up{color:var(--emerald);font-size:.95rem;font-weight:500;margin-top:8px}.hm-note{color:var(--ink-faint);font-size:.82rem;margin-top:4px}.hm-ms{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:var(--coral-tint);border:1px solid var(--coral-line);border-radius:var(--radius-l);padding:18px 20px;margin-bottom:30px;transition:background .15s ease}.hm-ms:hover{background:#fce9e0}.hm-ms .ic-tile{width:58px;height:58px;background:var(--coral-tint-2)}.hm-ms-body{flex:1;min-width:0}.hm-ms-title{font-size:1.15rem;font-weight:700;letter-spacing:-.015em;margin-top:4px;color:var(--ink)}.hm-ms-sub{color:var(--ink-soft);font-size:.95rem;margin-top:2px}.hm-ms>.ic{color:var(--coral);width:22px;height:22px}.hm-sec-head{display:flex;justify-content:space-between;align-items:center;margin:0 2px 14px}.hm-sec-head h2{font-size:1.45rem;font-weight:700;letter-spacing:-.025em}.hm-link{display:inline-flex;align-items:center;gap:4px;color:var(--coral-dark);font-weight:500;font-size:1rem}.hm-link .ic{width:18px;height:18px}.hm-link:hover{color:var(--coral)}.hm-goals{display:flex;flex-direction:column;gap:12px}.hm-goal{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:18px 20px;transition:border-color .15s ease,box-shadow .2s ease}.hm-goal:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card)}.hm-goal .ic-tile{width:58px;height:58px}.hm-goal-body{flex:1;min-width:0}.hm-goal-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.hm-goal-name{font-size:1.08rem;font-weight:700;letter-spacing:-.015em;color:var(--ink);line-height:1.3;overflow-wrap:anywhere}.hm-goal-when{color:var(--ink-soft);font-size:.9rem;white-space:nowrap}.hm-goal-when.warn{color:var(--gold)}.hm-goal-amt{color:var(--ink-soft);font-size:.98rem;margin-top:2px;font-variant-numeric:tabular-nums}.hm-goal-amt span{color:var(--ink-faint)}.hm-goal-bar{display:flex;align-items:center;gap:14px;margin-top:10px}.hm-goal-bar .pbar{flex:1}.hm-goal-bar b{font-size:1rem;font-weight:700;min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.hm-empty{background:var(--paper-raised);border:1.5px dashed var(--line-strong);border-radius:var(--radius-l);padding:34px 24px;text-align:center;color:var(--ink-soft)}.hm-empty .ic-tile{margin:0 auto 14px}.hm-empty b{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:6px}.hm-empty .btn{margin-top:16px}.hm-lower{display:grid;grid-template-columns:1fr;gap:30px}.hm-lower>*{min-width:0}.hm-side{display:flex;flex-direction:column;gap:14px}.hm-ev{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:12px 0;border-top:1px solid var(--line)}.hm-ev:first-child{border-top:none;padding-top:2px}.hm-ev:last-child{padding-bottom:0}.hm-ev-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--ink-faint)}.hm-ev-dot.ev-payday{background:var(--emerald)}.hm-ev-dot.ev-milestone{background:var(--gold)}.hm-ev-dot.ev-completion{background:var(--coral)}.hm-ev-dot.ev-reminder{background:#2fa39a}.hm-ev-dot.ev-contribution,.hm-ev-dot.ev-report{background:var(--blue)}.hm-ev-body{flex:1;min-width:0}.hm-ev-body b{display:block;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hm-ev-body span{font-size:.84rem;color:var(--ink-faint)}.hm-card h3{font-size:1.08rem;font-weight:700;letter-spacing:-.015em;margin-bottom:12px}.hm-empty-sm{color:var(--ink-faint);font-size:.9rem}.hm-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hm-qt{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px;font-size:.95rem;font-weight:600;color:var(--ink);transition:border-color .15s ease}.hm-qt:hover{border-color:var(--line-strong)}.hm-qt .ic{color:var(--coral)}@media (min-width:900px){.home-wrap{padding-top:40px}.hm-top{grid-template-columns:1.55fr 1fr 1fr}.hm-hero{grid-column:auto}.hm-lower{grid-template-columns:1.55fr 1fr;align-items:start}}@media (max-width:430px){.hm-hi{font-size:1.5rem;letter-spacing:-.035em}.hm-head .pill{padding:6px 12px;font-size:.66rem}.hm-tile{padding:18px 16px}.hm-tile .lbl{font-size:.66rem;letter-spacing:.05em;min-height:0}}@media (max-width:380px){.hm-card{padding:18px}.hm-hero{padding:20px}.hm-goal,.hm-ms{padding:16px;gap:13px}.hm-goal .ic-tile,.hm-ms .ic-tile{width:50px;height:50px}}.btn .ic,.btn-ic .ic{width:17px;height:17px}.btn-ic{display:inline-flex}.btn-sm{padding:9px 16px;font-size:.86rem}.tag{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:99px;margin-top:6px;margin-right:4px}.tag-blue{color:var(--blue);background:var(--blue-tint)}.tag-green{color:var(--emerald-dark);background:var(--emerald-tint)}.tag-coral{color:var(--coral-dark);background:var(--coral-tint)}.tag-gold{color:#8a6417;background:var(--gold-tint)}.page-h1{font-size:clamp(1.7rem,4.6vw,2.2rem);font-weight:700;letter-spacing:-.03em}.page-sub{color:var(--ink-soft);font-size:1rem;margin-top:6px}.empty-state{border:1.5px dashed var(--line-strong);background:var(--paper-raised);border-radius:var(--radius-l);padding:48px 24px}.empty-state .ic-tile{margin:0 auto 16px}.empty-state h3{font-size:1.2rem;font-weight:700}input[type=range]{height:6px;background:var(--track)}input[type=range]::-webkit-slider-thumb{width:22px;height:22px;background:#fff;border:2px solid var(--coral);box-shadow:0 2px 6px #15181d29}input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#fff;border:2px solid var(--coral);box-shadow:0 2px 6px #15181d29}.dash-wrap{max-width:1120px;padding:36px 32px 120px}.dash-head{align-items:flex-end;margin-bottom:24px}.dash-head h1{font-size:clamp(1.7rem,4.6vw,2.2rem);letter-spacing:-.03em}.dash-head p{font-size:1rem}.dash-head p strong{color:var(--ink);font-weight:600}.dash-actions{display:flex;gap:10px;flex-wrap:wrap}.stat-row{gap:14px;margin-bottom:22px}.stat-card{border-radius:var(--radius-l);padding:20px 22px;border-color:var(--line)}.stat-card .stat-label{font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.stat-card .stat-value{font-family:var(--font-display);font-size:1.85rem;font-weight:800;letter-spacing:-.035em;line-height:1.05}.stat-card .stat-sub{font-size:.85rem;color:var(--ink-faint);margin-top:6px}.whatif-card{background:var(--paper-raised);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-l);padding:28px;margin-bottom:36px;gap:32px;align-items:stretch}.whatif-card h2{color:var(--ink);font-size:1.4rem;letter-spacing:-.025em;margin:8px 0 20px}.wc-field-label{display:block;font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:8px}.whatif-card select{background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:11px 14px;border-radius:var(--radius-s);font-size:.95rem;margin-bottom:22px}.whatif-card .slider-group .sg-top,.slider-group .sg-top{color:var(--ink-soft);font-size:.9rem;margin-bottom:10px}.whatif-card .slider-group .sg-top .num,.slider-group .sg-top .num{color:var(--ink);font-weight:700}.slider-group{margin-bottom:20px}.wc-result{background:var(--emerald-tint);border:1px solid var(--emerald-line);border-radius:var(--radius-m);padding:24px;display:flex;flex-direction:column;justify-content:center}.wc-result .wr-headline{font-family:var(--font-display);font-size:1.6rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;color:var(--emerald-dark);margin-bottom:8px}.wc-result .wr-sub{color:var(--ink-soft);font-size:.92rem;margin-bottom:20px}.wc-result.slower{background:var(--gold-tint);border-color:#eedfc2}.wc-result.slower .wr-headline{color:#8a6417}.wc-result.same{background:var(--paper);border-color:var(--line)}.wc-result.same .wr-headline{color:var(--ink)}.wc-compare{display:flex;align-items:center;gap:10px}.wc-cmp{flex:1;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-s);padding:12px 14px}.wc-cmp-l{display:block;font-size:.78rem;color:var(--ink-faint)}.wc-cmp b{display:block;font-size:1.1rem;font-weight:700;letter-spacing:-.02em;margin-top:2px}.wc-cmp.new b{color:var(--emerald-dark)}.wc-result.slower .wc-cmp.new b{color:#8a6417}.wc-cmp-arrow{color:var(--ink-faint)}.wc-cmp-arrow .ic{width:18px;height:18px}.dash-section-title{margin:0 2px 16px}.dash-section-title h2{font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:-.025em}.dash-section-title button.linklike{display:inline-flex;align-items:center;gap:4px;font-size:1rem;font-weight:500;color:var(--coral-dark)}.dash-section-title button.linklike .ic{width:18px;height:18px}.goal-grid{gap:16px}.goal-card{border-radius:var(--radius-l);padding:22px;display:flex;flex-direction:column}.goal-card:hover{transform:none;border-color:var(--line-strong);box-shadow:var(--shadow-card)}.goal-card.completed{border-color:var(--emerald-line)}.goal-card .gc-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;justify-content:flex-start}.goal-card .gc-top .ic-tile{width:52px;height:52px}.gc-title{flex:1;min-width:0}.gc-title h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin-top:3px}.gc-menu-btn{width:34px;height:34px;border-radius:10px;color:var(--ink-faint);font-size:1rem;font-weight:700;letter-spacing:1px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gc-menu-btn:hover{background:var(--paper-sunk);color:var(--ink)}.gc-amounts{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:12px}.gc-cur{display:block;font-size:1.75rem;font-weight:800;letter-spacing:-.035em;line-height:1.05;font-variant-numeric:tabular-nums}.gc-of{display:block;color:var(--ink-soft);font-size:.92rem;margin-top:4px}.gc-pct{font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.goal-card .gc-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;font-size:inherit;color:inherit}.gc-mini{display:flex;gap:10px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-s);padding:11px 12px}.gc-mini .ic{width:18px;height:18px;color:var(--coral);margin-top:2px}.gc-mini span{display:block;font-size:.76rem;color:var(--ink-faint)}.goal-card .gc-mini strong{display:block;font-family:var(--font-display);font-size:.98rem;font-weight:700;color:var(--ink);margin-top:1px}.gc-mini strong.warn{color:var(--gold)}.goal-card .gc-actions{margin-top:auto}@media (max-width:920px){.dash-wrap{padding:24px 20px 120px}.whatif-card{padding:22px;gap:22px}}@media (max-width:640px){.dash-head{flex-direction:column;align-items:stretch}.dash-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash-actions .btn-primary{grid-column:1 / -1;order:-1;padding:12px}.stat-row{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:18px 16px}.stat-card .stat-label{font-size:.66rem;letter-spacing:.05em}.stat-card .stat-value{font-size:1.45rem}}@media (max-width:480px){.stat-row{grid-template-columns:1fr 1fr}}.wc-compare{align-items:stretch}.wc-cmp-arrow{display:flex;align-items:center}.wc-cmp-l,.wc-cmp b{white-space:nowrap}@media (max-width:640px){.wc-result{padding:18px}.wc-result .wr-headline{font-size:1.35rem}.wc-cmp{padding:10px 12px}.wc-cmp b{font-size:1rem}}.detail-wrap{max-width:1120px;padding:28px 32px 130px}.detail-back{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);font-size:.95rem;font-weight:500;margin-bottom:20px}.detail-head{align-items:center;margin-bottom:24px}.detail-head .dh-left{gap:16px}.dh-tile{width:64px;height:64px;border-radius:18px}.dh-tile .ic{width:32px;height:32px}.detail-head h1{font-size:clamp(1.6rem,4.6vw,2.1rem);letter-spacing:-.03em;margin-top:4px}.detail-head .dh-actions{gap:8px}.btn-ghost-danger{color:var(--danger)}.btn-ghost-danger:hover{background:var(--danger-tint);border-color:var(--danger-tint)}.lock-dot{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-dark);background:var(--coral-tint);padding:2px 7px;border-radius:99px;margin-left:2px}.btn-primary .lock-dot{background:#ffffff38;color:#fff}.detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin-bottom:20px}.detail-col{display:flex;flex-direction:column;gap:20px;min-width:0}.dcard{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-xl);padding:28px;min-width:0}.detail-wrap>.dcard{margin-bottom:20px}.dcard h2{font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.025em;margin-bottom:20px}.dcard-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dcard-head h2{margin-bottom:6px}.dcard .an-cap{color:var(--ink-soft);font-size:.92rem;margin-bottom:14px}.dg-prog{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line)}.dg-l{display:block;color:var(--ink-soft);font-size:1rem}.dg-big{font-size:clamp(2.1rem,8vw,2.7rem);font-weight:800;letter-spacing:-.04em;line-height:1.05;margin-top:6px;font-variant-numeric:tabular-nums}.dg-of{color:var(--ink-soft);font-size:1.05rem;margin-top:6px}.dg-ring{position:relative;flex-shrink:0;width:148px;height:148px}.dg-ring svg{display:block}.dg-ring-in{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.dg-ring-in b{font-size:2rem;font-weight:800;letter-spacing:-.035em;line-height:1}.dg-ring-in span{color:var(--ink-soft);font-size:.9rem;margin-top:4px}.dg-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;color:var(--ink-soft);font-size:1rem}.dg-row b{color:var(--ink);font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums}.dg-row-top{padding-top:20px}.dg-row b.dg-rem{font-size:1.5rem;font-weight:800;letter-spacing:-.03em}.dg-row b.warn,.dg-tile b.warn{color:var(--gold)}.dg-row b.pos,.dg-tile b.pos{color:var(--emerald)}.dg-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.dg-tile{background:var(--paper-sunk);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px 18px;min-width:0}.dg-tiles-white .dg-tile{background:var(--paper-raised)}.dg-tile>.ic{width:28px;height:28px;color:var(--ink-soft);margin-bottom:12px}.dg-tile>.ic.ic-coral{color:var(--coral)}.dg-tile span{display:block;color:var(--ink-soft);font-size:.92rem}.dg-tile b{display:block;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;margin-top:4px;font-variant-numeric:tabular-nums}.dg-tile-lg b{font-size:1.6rem}.dg-tile b.dg-date{display:flex;align-items:center;gap:10px;font-size:1.3rem;margin-top:10px}.dg-tile b.dg-date .ic{width:24px;height:24px;color:var(--coral);flex-shrink:0}.dg-foot{color:var(--ink-faint);font-size:.85rem;margin-top:18px}.dg-growth{background:var(--emerald-tint);border:1px solid var(--emerald-line);border-radius:var(--radius-m);padding:20px 22px;margin-top:14px}.dg-growth span{display:block;color:var(--ink-soft);font-size:1rem}.dg-growth b{display:block;color:var(--emerald-dark);font-size:clamp(2.1rem,8vw,2.6rem);font-weight:800;letter-spacing:-.04em;line-height:1.1;margin:8px 0 6px;font-variant-numeric:tabular-nums}.dg-growth p{color:var(--ink-soft);font-size:.92rem}.dg-sc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}.dg-sc-head h3{font-size:1.25rem;font-weight:700;letter-spacing:-.025em}.dg-sc-head .chip{border-radius:99px;color:var(--coral-dark);font-weight:600}.dg-sc-head .chip b{color:var(--coral-dark)}.dg-sc-sub{color:var(--ink-soft);font-size:.95rem;margin-top:4px}.dg-sc-head+.dg-sc-sub+.dg-tiles{margin-top:12px}.dg-tiles+.dg-foot{border-top:1px solid var(--line);padding-top:14px}.dp-big{color:var(--emerald-dark);font-size:clamp(2.2rem,8.5vw,2.9rem);font-weight:800;letter-spacing:-.045em;line-height:1.05}.dp-sub{color:var(--ink-soft);font-size:1.1rem;margin-top:6px}.dp-chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}.detail-proj{width:100%;height:auto;display:block;margin-top:8px;font-family:var(--font-body)}.dp-legend{display:flex;flex-wrap:wrap;gap:18px;color:var(--ink-soft);font-size:.9rem;margin:10px 0 4px;padding-bottom:16px;border-bottom:1px solid var(--line)}.dp-legend span{display:inline-flex;align-items:center;gap:8px}.dp-legend i{display:inline-block}.lg-line{width:12px;height:12px;border-radius:50%;background:var(--emerald)}.lg-band{width:16px;height:12px;border-radius:3px;background:#1f7a4d29}.lg-target{width:16px;height:0;border-top:2px dashed var(--gold)}.dp-split{margin-top:16px}.dp-split .dg-tile b{font-size:1.45rem}.dp-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;color:var(--ink-faint);font-size:.8rem;margin-top:14px}.dp-empty{text-align:center;color:var(--ink-soft);padding:20px 10px 8px}.dp-empty .ic-tile{margin:0 auto 14px}.dp-empty b{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:6px}#detail-whatif h2{margin-bottom:4px}#detail-whatif .dg-sc-sub{margin-bottom:20px}.wi-result{background:var(--emerald-tint);border:1px solid var(--emerald-line);border-radius:var(--radius-m);padding:18px 20px;margin-top:4px}.wi-result.slower{background:var(--gold-tint);border-color:#eedfc2}.wi-result.same{background:var(--paper);border-color:var(--line)}.wi-result .wi-headline{font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:-.025em}.wi-result .wi-sub{font-size:.9rem;margin-top:4px}.wi-reset{font-size:.9rem;color:var(--coral-dark);font-weight:600;margin-top:14px}.milestones{margin-top:0}.milestone{gap:14px;padding:12px 0;border-top:1px solid var(--line);align-items:center}.milestone:first-child{border-top:none;padding-top:0}.milestone .ms-dot{width:28px;height:28px;border:2px solid var(--line-strong);margin-top:0;display:flex;align-items:center;justify-content:center;color:#fff}.milestone .ms-dot .ic{width:16px;height:16px;stroke-width:2.4}.milestone.reached .ms-dot{background:var(--emerald);border-color:var(--emerald)}.milestone .ms-body .ms-title{font-size:1rem;font-weight:700;color:var(--ink)}.milestone.reached .ms-body .ms-title{color:var(--ink)}.milestone .ms-body .ms-sub{font-size:.88rem}.milestone.reached .ms-body .ms-sub{color:var(--emerald)}.hist-item{padding:13px 0;font-size:.95rem}.hist-item .hi-date{font-size:.95rem;color:var(--ink);font-weight:600}.hist-item .hi-who{font-size:.85rem;color:var(--blue);font-weight:600}.hist-item .hi-note{font-size:.85rem}.hist-item .hi-amt{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--emerald)}.hist-empty,.notes-empty{color:var(--ink-faint);font-size:.95rem;font-style:normal}.notes-box{font-size:1rem}.detail-disclaimer{text-align:center;margin-top:8px}@media (max-width:920px){.detail-wrap{padding:20px 20px 130px}.detail-cols{grid-template-columns:1fr;gap:16px;margin-bottom:16px}.detail-col{gap:16px}.detail-wrap>.dcard{margin-bottom:16px}}@media (max-width:640px){.detail-head{flex-direction:column;align-items:stretch;gap:18px}.dh-tile{width:58px;height:58px}.detail-head .dh-actions{display:grid;grid-template-columns:repeat(4,auto);gap:8px}.detail-head .dh-actions #d-contribute{grid-column:1 / -1;padding:12px}.dcard{padding:22px 20px;border-radius:var(--radius-l)}.dcard h2{font-size:1.3rem}.dg-ring,.dg-ring svg{width:118px;height:118px}.dg-ring-in b{font-size:1.6rem}.dg-tiles{gap:10px}.dg-tile{padding:14px}.dg-tile b{font-size:1.15rem}.dg-tile-lg b{font-size:1.35rem}.dg-tile b.dg-date{font-size:1.1rem;gap:8px}.dg-tile b.dg-date .ic{width:20px;height:20px}.dp-split .dg-tile b{font-size:1.2rem}}.dg-sc-head h3,.dg-sc-head .chip,.dp-chips .chip{white-space:nowrap}#detail-whatif .dg-sc-sub{margin:0 0 20px}@media (max-width:640px){.dg-sc-head h3{font-size:1.12rem}.dg-sc-head .chip{font-size:.8rem;padding:6px 11px}.dp-chips{gap:8px}.dp-chips .chip{font-size:.82rem;padding:6px 10px}.dg-tile span{font-size:.85rem}}.wi-controls input[type=range]::-webkit-slider-thumb{background:#fff}.wi-controls input[type=range]::-moz-range-thumb{background:#fff}.wi-controls input[type=range]{background:var(--track)}.form-wrap{max-width:1120px;padding:36px 32px 130px;grid-template-columns:1.35fr .9fr;gap:24px}.form-card{border-radius:var(--radius-xl);padding:32px}.form-card h1{font-size:clamp(1.7rem,4.6vw,2.1rem);letter-spacing:-.03em;margin-bottom:8px}.form-card>p{font-size:1rem;margin-bottom:28px}.field{margin-bottom:20px}.field label{font-size:.9rem;font-weight:600;margin-bottom:8px}.field .hint{font-size:.8rem}.hint-block{display:block;margin:8px 0 0}.field .hint-block{margin-left:0}.field input,.field select,.field textarea{padding:13px 15px;border-radius:12px;border-color:var(--line);background:var(--paper-raised);font-size:.98rem}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6470' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:18px;padding-right:40px}.whatif-card select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6470' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:18px;padding-right:40px}.field .input-affix input{padding-left:30px}.input-affix .affix{left:15px}.input-affix .affix-r{left:auto;right:15px}.field .input-affix.affix-right input{padding-left:15px;padding-right:36px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-tint)}.cat-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.cat-opt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px 11px;border:1.5px solid var(--line);border-radius:14px;background:var(--paper-raised);color:var(--ink-soft);font-size:.76rem;font-weight:500;transition:border-color .15s ease,background .15s ease,color .15s ease}.cat-opt .ic{width:26px;height:26px;color:var(--ink-soft)}.cat-opt:hover{border-color:var(--line-strong)}.cat-opt.selected{border-color:var(--coral);background:var(--coral-tint);color:var(--coral-dark);font-weight:600}.cat-opt.selected .ic{color:var(--coral)}.seg{display:inline-flex;gap:4px;background:var(--paper-sunk);border:1px solid var(--line);border-radius:99px;padding:4px}.seg button{padding:8px 20px;border-radius:99px;font-size:.9rem;font-weight:600;color:var(--ink-soft);transition:background .15s ease,color .15s ease}.seg button.on{background:var(--paper-raised);color:var(--ink);box-shadow:0 1px 3px #15181d1a}.form-footer{gap:12px;margin-top:12px}.form-footer .btn{padding:13px 26px;font-size:.95rem}.form-note{font-size:.82rem}.form-note .req{color:var(--coral-dark)}.forecast-card{border-radius:var(--radius-xl);padding:28px;top:96px}.forecast-card h2{font-family:var(--font-display);font-size:1.3rem;font-weight:700;letter-spacing:-.025em;margin-bottom:16px}.forecast-hero{text-align:left;background:var(--emerald-tint);border:1px solid var(--emerald-line);border-radius:var(--radius-m);padding:20px 22px;margin-bottom:12px}.forecast-hero .fh-label{order:-1;font-size:.95rem;color:var(--ink-soft);margin:0 0 6px}.forecast-hero{display:flex;flex-direction:column}.forecast-hero .fh-date{font-family:var(--font-display);font-size:2.3rem;font-weight:800;letter-spacing:-.04em;color:var(--emerald-dark)}.forecast-hero .fh-date.warn{color:#8a6417;font-size:1.4rem}.forecast-stat{padding:13px 0;font-size:.95rem}.forecast-stat span:last-child{font-family:var(--font-display);font-weight:700;color:var(--ink)}.forecast-note{border-radius:var(--radius-s);font-size:.88rem;padding:14px 16px}@media (max-width:920px){.form-wrap{grid-template-columns:1fr;padding:22px 20px 130px;gap:16px}.forecast-card{position:static}}@media (max-width:640px){.form-card,.forecast-card{padding:22px 20px;border-radius:var(--radius-l)}.cat-picker{grid-template-columns:repeat(4,1fr);gap:8px}.cat-opt{padding:12px 2px 9px;font-size:.72rem}.form-footer .btn{flex:1}}.analytics-wrap{max-width:1120px;padding:28px 32px 130px}.an-head{align-items:center;margin-bottom:24px}.an-head h1{font-size:clamp(1.6rem,4.6vw,2.1rem);letter-spacing:-.03em;margin-top:4px}.an-head .dh-actions{display:flex;gap:8px;flex-wrap:wrap}.an-grid{gap:14px;margin-bottom:20px}.an-kpi{border-radius:var(--radius-l);padding:20px 22px}.an-kpi .l{font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.an-kpi .v{font-family:var(--font-display);font-size:1.7rem;font-weight:800;letter-spacing:-.035em;line-height:1.05}.an-kpi .s{font-size:.85rem;color:var(--ink-faint);margin-top:6px}.an-kpi .s.pos{color:var(--emerald)}.an-panels{gap:20px}.an-panel{border-radius:var(--radius-xl);padding:28px}.an-panel h2{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.025em;margin-bottom:6px}.an-panel .an-cap{font-size:.92rem;color:var(--ink-soft)}.an-chart{font-family:var(--font-body)}.an-legend{font-size:.9rem;gap:16px}.an-legend i{width:12px;height:12px;border-radius:50%}.an-bar-col .bar-v{background:var(--coral);border-radius:8px 8px 3px 3px}.an-bar-col .bar-x{font-size:.72rem}.an-insight{gap:14px;padding:14px 0;font-size:.95rem;align-items:center}.an-insight .ai-ic{width:36px;height:36px;border-radius:11px;background:var(--coral-tint);color:var(--coral)}.an-insight .ai-ic .ic{width:19px;height:19px}.an-insight.good .ai-ic{background:var(--emerald-tint);color:var(--emerald)}.an-insight.warn .ai-ic{background:var(--gold-tint);color:var(--gold)}@media (max-width:920px){.analytics-wrap{padding:20px 20px 130px}}@media (max-width:640px){.an-head{flex-direction:column;align-items:stretch;gap:18px}.an-head .dh-actions{display:grid;grid-template-columns:1fr 1fr}.an-grid{grid-template-columns:1fr 1fr;gap:12px}.an-kpi{padding:18px 16px}.an-kpi .l{font-size:.66rem;letter-spacing:.05em}.an-kpi .v{font-size:1.4rem}.an-panel{padding:22px 20px;border-radius:var(--radius-l)}}.timeline-wrap{max-width:880px;padding:44px 32px 130px}.timeline-head{margin-bottom:48px}.timeline-head h1{font-size:clamp(1.8rem,5vw,2.4rem);letter-spacing:-.035em}.timeline-head p{font-size:1.02rem;margin-bottom:16px}.thread:before{width:2px;background:linear-gradient(180deg,var(--coral) 0%,var(--coral-line) 100%);opacity:.7}.t-node{min-height:120px}.t-node .t-card{border-radius:var(--radius-l);padding:20px 22px;box-shadow:none;width:100%}.t-node .t-card:hover{transform:none;border-color:var(--line-strong);box-shadow:var(--shadow-card)}.t-node .t-dot{width:54px;height:54px;border:none;background:var(--coral-tint);color:var(--coral);box-shadow:0 0 0 6px var(--paper)}.t-node .t-dot .ic{width:26px;height:26px}.t-node.done .t-dot{background:var(--emerald-tint);color:var(--emerald)}.t-card .t-year{font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-dark);margin-bottom:6px}.t-node.done .t-card .t-year{color:var(--emerald)}.t-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.t-card p{font-size:.9rem;color:var(--ink-soft)}.t-bar{display:flex;align-items:center;gap:12px;margin-top:12px}.t-bar .pbar{flex:1}.t-bar b{font-size:.9rem;font-weight:700}@media (max-width:920px){.timeline-wrap{padding:28px 20px 130px}.timeline-head{text-align:left;margin-bottom:32px}.t-node{grid-template-columns:48px 1fr;gap:14px;min-height:0;margin-bottom:14px}.t-node .t-dot{width:48px;height:48px;align-self:start;margin-top:14px}.t-node .t-dot .ic{width:23px;height:23px}.thread:before{left:23px}}@media (max-width:920px){.t-node .t-card,.t-node:nth-child(odd) .t-card,.t-node:nth-child(2n) .t-card{grid-row:1}.t-node .t-dot{grid-row:1}}.pc-wrap{max-width:800px;padding:32px 24px 130px}.pc-head{align-items:flex-end;margin-bottom:22px}.pc-head h1{font-size:clamp(1.7rem,4.6vw,2.2rem);letter-spacing:-.03em}.pc-sub{font-size:1rem;margin-top:6px}.pc-sub-tight{margin:-6px 0 14px}.pc-card{border-radius:var(--radius-xl);padding:26px;box-shadow:none}.pc-freq button{border-radius:12px;padding:12px;font-size:.9rem;background:var(--paper-raised)}.pc-ready{border:1px solid var(--emerald-line);border-radius:var(--radius-m);padding:14px 18px;font-size:.95rem}.pc-remaining-wrap{margin-top:20px;padding-top:18px}.pc-remaining-label{font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint)}.pc-remaining{font-size:2rem;font-weight:800;letter-spacing:-.035em}.pc-remaining.left{color:var(--emerald)}.pc-section{margin-top:32px}.pc-section-head{margin-bottom:14px}.pc-section-head h2{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.025em}.pc-alloc{border-radius:var(--radius-l);padding:16px 18px;margin-bottom:12px;gap:16px}.pc-alloc-info{gap:14px}.pc-tile{width:48px;height:48px;border-radius:13px}.pc-tile .ic{width:24px;height:24px}.pc-tile-exp{background:var(--blue-tint);color:var(--blue)}.pc-tile-acct{background:var(--emerald-tint);color:var(--emerald)}.pc-alloc-name{font-size:1rem;font-weight:700;letter-spacing:-.01em}.pc-alloc-meta{font-size:.85rem;margin-top:3px}.pc-alloc-amt{width:132px}.pc-alloc-input{padding:12px 14px 12px 28px;border-radius:12px;background:var(--paper);font-size:1.05rem;font-weight:700}.pc-alloc-input:focus{box-shadow:0 0 0 4px var(--coral-tint)}.pc-remove{width:34px;height:34px;border-radius:10px}.pc-empty{background:var(--paper-raised);border:1.5px dashed var(--line-strong);border-radius:var(--radius-l);padding:20px;text-align:center;font-size:.95rem}.pc-leftover{border:1px solid #EEDFC2;border-radius:var(--radius-m);padding:18px 20px}.pc-actions{margin-top:28px}.pc-actions .btn{padding:14px 22px;font-size:.98rem}.pc-histlist{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-l);padding:4px 20px}.pc-hist{padding:15px 0}.pc-hist-date{font-size:.98rem}.pc-hist-meta{font-size:.85rem}.pc-hist-amt{font-family:var(--font-display);font-weight:700;font-size:1.05rem}@media (max-width:620px){.pc-wrap{padding:22px 20px 130px}.pc-card{padding:20px;border-radius:var(--radius-l)}.pc-alloc{padding:16px}.pc-alloc-amt{width:100%}}.cal-wrap{max-width:940px;padding:32px 24px 130px}.cal-head{margin-bottom:20px}.cal-title{font-size:clamp(1.6rem,4.6vw,2.1rem);font-weight:700;letter-spacing:-.03em}.cal-navbtn{width:40px;height:40px;border-radius:12px;border-color:var(--line)}.cal-navbtn .ic{width:20px;height:20px}.cal-navbtn:hover{border-color:var(--line-strong)}.cal-navbtn.cal-today{padding:0 16px;font-size:.9rem}.cal-modes{background:var(--paper-sunk);border-radius:99px;padding:4px}.cal-mode{border-radius:99px;padding:8px 18px;font-size:.9rem}.cal-mode.on{box-shadow:0 1px 3px #15181d1a}.cal-card{border-radius:var(--radius-xl);padding:20px;box-shadow:none;margin-bottom:16px}.cal-dow-cell{font-size:.7rem;letter-spacing:.07em}.cal-cell{border-radius:14px;border-color:var(--line);padding:9px}.cal-cell:hover{border-color:var(--line-strong);background:var(--paper-raised)}.cal-cell.today{border-color:var(--coral);background:var(--coral-tint);box-shadow:none}.cal-cell.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.cal-num{font-size:.92rem;font-weight:600}.cal-dot--report{background:var(--blue)}.cal-daypanel-head h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.cal-add{padding:8px 14px;font-size:.86rem}.cal-ev{border-radius:14px;padding:13px 14px;background:var(--paper-raised);border-left-width:1px!important;align-items:center}.cal-ev-dot{margin-top:0}.cal-ev-title{font-size:.98rem;font-weight:600}.cal-ev-sub{font-size:.84rem}.cal-ev-del{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px}.cal-ag-day{font-weight:800;letter-spacing:-.03em}.cal-ag-rel{background:var(--coral-tint);color:var(--coral-dark)}.cal-mini{border-radius:var(--radius-m)}.cal-mini-title{font-size:.9rem;font-weight:700}.cal-mini-day.today{background:var(--coral-tint);outline:none}.cal-mini-day.has{background:var(--paper-sunk)}.cal-leg{font-size:.82rem}.cal-legend{gap:10px 16px}@media (max-width:620px){.cal-wrap{padding:22px 14px 130px}.cal-card{padding:12px;border-radius:var(--radius-l)}.cal-cell{min-height:54px;border-radius:11px;padding:6px 5px}.cal-num{font-size:.82rem}.cal-mode{padding:9px 0}}.rep-wrap{max-width:860px;padding:32px 24px 130px}.rep-head{margin-bottom:22px;align-items:flex-end}.rep-head h1{font-size:clamp(1.7rem,4.6vw,2.2rem);font-weight:700;letter-spacing:-.03em}.rep-sub{font-size:1rem;margin-top:6px}.rep-doc{border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.rep-cover{background:var(--ink);padding:32px 34px;border-bottom:4px solid var(--coral)}.rep-cover-brand{font-family:var(--font-brand);font-weight:500;letter-spacing:.28em}.rep-cover-title{font-weight:700;font-size:1.9rem;letter-spacing:-.03em}.rep-body{padding:28px 34px 32px}.rep-h{font-size:.72rem;letter-spacing:.08em;margin:30px 0 14px}.rep-stat{background:var(--paper-raised);border-radius:var(--radius-m);padding:16px}.rep-stat-l{font-size:.66rem;letter-spacing:.06em;font-weight:600}.rep-stat-v{font-weight:800;font-size:1.45rem;letter-spacing:-.03em}.rep-goal{border-radius:var(--radius-m);padding:16px 18px}.rep-goal-id{display:flex;align-items:center;gap:12px;min-width:0}.rep-tile{width:42px;height:42px;border-radius:12px}.rep-tile .ic{width:22px;height:22px}.rep-goal-name{font-weight:700;font-size:1rem}.rep-goal-cat{font-size:.66rem;letter-spacing:.06em;font-weight:600}.rep-goal-top{align-items:center;margin-bottom:14px}.rep-bar{height:8px;background:var(--track);border-radius:99px}.rep-bar-fill{border-radius:99px}.rep-bar-pct{color:var(--ink);top:-20px}.rep-chart{border-radius:var(--radius-m)}.rep-motiv{border:1px solid var(--coral-line);border-radius:var(--radius-m);font-style:normal;font-weight:500}@media (max-width:620px){.rep-wrap{padding:22px 16px 130px}.rep-head{flex-direction:column;align-items:stretch}.rep-actions{display:grid;grid-template-columns:1fr 1.4fr}.rep-cover{padding:26px 22px}.rep-body{padding:22px 18px 26px}.rep-stats{grid-template-columns:1fr 1fr}}@media (max-width:620px){.rep-goal-top{align-items:flex-start;gap:10px}.rep-goal-amt{padding-left:54px}.rep-goal-top>div:first-child:not(.rep-goal-id)+.rep-goal-amt{padding-left:0}}.modal-overlay{background:#15181d61;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{border-radius:var(--radius-xl);padding:28px;max-width:480px;border:1px solid var(--line)}.modal-head{margin-bottom:10px;align-items:center}.modal-head h2{font-size:1.4rem;font-weight:700;letter-spacing:-.025em}.modal-close{width:38px;height:38px;border-radius:12px;background:var(--paper-sunk);color:var(--ink-soft)}.modal-close .ic{width:18px;height:18px}.modal-close:hover{background:var(--line)}.modal p.modal-sub{font-size:1rem;line-height:1.55}.modal-actions{gap:10px;margin-top:8px}.modal-actions .btn{padding:13px 20px;font-size:.95rem}.modal-badge{font-size:.7rem;letter-spacing:.08em;padding:5px 12px;margin-bottom:10px}.premium-list{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:6px 16px;margin:4px 0 18px}.premium-list li{font-size:.98rem;color:var(--ink);padding:11px 0;border-top:1px solid var(--line);align-items:center;gap:12px}.premium-list li:first-child{border-top:none}.premium-list li:before{content:"";width:20px;height:20px;flex-shrink:0;border-radius:50%;background:var(--coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/13px no-repeat}.am-id{display:flex;gap:14px;align-items:center;min-width:0}.am-avatar{width:48px;height:48px;font-size:1.05rem}.am-id h2{font-size:1.2rem}.am-email{font-size:.88rem;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis}.acct-plan-row{margin:20px 0 14px;padding:16px 18px;border-radius:var(--radius-m);background:var(--paper)}.am-plan{font-weight:700;font-size:1rem}.am-plan-sub{font-size:.86rem;color:var(--ink-soft);margin-top:2px}.acct-plan-row .plan-tag{font-size:.7rem;padding:5px 12px;background:var(--coral);color:#fff}.acct-plan-row .plan-tag.plan-free{background:var(--paper-sunk);color:var(--ink-soft)}.am-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden}.am-item{display:flex;align-items:center;gap:14px;padding:15px 16px;font-size:.98rem;font-weight:500;color:var(--ink);text-align:left;border-top:1px solid var(--line);background:var(--paper-raised);transition:background .12s}.am-item:first-child{border-top:none}.am-item:hover{background:var(--paper)}.am-item>.ic{width:21px;height:21px;color:var(--ink-soft)}.am-item .am-chev{margin-left:auto;width:18px;height:18px;color:var(--ink-faint)}.am-item-coral,.am-item-coral>.ic{color:var(--coral-dark)}.am-item-danger,.am-item-danger>.ic{color:var(--danger)}.tut{padding:6px 4px 2px}.tut-emoji{display:flex;justify-content:center;margin-bottom:18px}.tut-emoji .tut-logo{width:80px;height:80px;border-radius:50%}.tut-tile{width:72px;height:72px;border-radius:20px}.tut-tile .ic{width:36px;height:36px}.tut-title{font-size:1.5rem;font-weight:700;letter-spacing:-.03em}.tut-body{font-size:1rem}.toast{background:var(--ink);border-radius:99px;padding:13px 22px;font-size:.92rem;box-shadow:var(--shadow-pop);bottom:calc(96px + env(safe-area-inset-bottom))}@media (min-width:921px){.toast{bottom:32px}}.auth-wrap{max-width:460px;padding:48px 20px 120px}.auth-card{border-radius:var(--radius-xl);padding:32px 28px;box-shadow:none}.auth-card h1{font-size:1.85rem;letter-spacing:-.03em;margin-bottom:6px}.auth-card>p.auth-sub{font-size:1rem}.auth-tabs{background:var(--paper-sunk);padding:4px;margin-bottom:26px}.auth-tabs button{font-size:.92rem;padding:10px}.auth-tabs button.active{background:var(--paper-raised);color:var(--ink);box-shadow:0 1px 3px #15181d1a}.auth-card .btn-primary{padding:14px;font-size:1rem}.auth-note{border-radius:var(--radius-s);font-size:.82rem;background:var(--paper)}.auth-switch{font-size:.92rem}.btn-hero{font-size:1.05rem;padding:16px 34px;min-width:240px;margin-top:6px}.hero{padding:88px 40px 48px;gap:56px}.hero h1{font-size:clamp(2.6rem,5.2vw,4.4rem);font-weight:800;letter-spacing:-.045em;line-height:1.02}.hero p.sub{font-size:1.2rem;line-height:1.55}.eyebrow{font-size:.72rem;letter-spacing:.08em;padding:6px 12px}.preview-card{border-radius:var(--radius-xl);padding:26px;box-shadow:var(--shadow-card)}.preview-card .ph-head strong{font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.mini-thread{padding-left:0}.mini-thread:before{display:none}.mini-node{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.mini-node:first-child{border-top:none;padding-top:2px}.mini-node:last-child{padding-bottom:0}.mini-node:before{display:none}.mini-node .ic-tile{width:46px;height:46px;border-radius:13px}.mini-node .ic-tile .ic{width:23px;height:23px}.mn-main{flex:1;min-width:0}.mini-node .mn-title{font-size:1rem;font-weight:700}.mini-node .mn-date{font-family:var(--font-body);font-size:.85rem;color:var(--ink-soft)}.mini-node .mn-bar{height:7px;background:var(--track);margin-top:9px}.mini-node .mn-fill{background:var(--coral)}.mn-empty{color:var(--ink-faint);font-size:.9rem}.section-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:800;letter-spacing:-.04em}.section-head p{font-size:1.05rem;line-height:1.6}.feature-grid{gap:16px}.feature-card{border-radius:var(--radius-l);padding:26px}.feature-card:hover{transform:none;border-color:var(--line-strong)}.feature-card .fi{width:52px;height:52px;border-radius:14px;color:var(--coral);margin-bottom:18px}.feature-card .fi .ic{width:26px;height:26px}.feature-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.feature-card p{font-size:.95rem;line-height:1.55}.step-card{border-radius:var(--radius-l);padding:26px}.step-card .step-n{font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:-.04em;color:var(--coral);margin-bottom:12px}.step-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.whatif-strip{background:var(--paper-raised);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-xl)}.whatif-strip h2{color:var(--ink);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800;letter-spacing:-.035em}.whatif-strip p{color:var(--ink-soft);font-size:1.02rem}.whatif-strip p strong{color:var(--ink)}.mock-slider label{color:var(--ink-soft);font-size:.9rem}.mock-slider label strong{color:var(--ink)}.whatif-strip .result-pill{background:var(--emerald-tint);border:1px solid var(--emerald-line);color:var(--ink-soft);font-size:1.1rem;padding:22px 26px;border-radius:var(--radius-l);display:block;text-align:center}.whatif-strip .result-pill .num{display:block;color:var(--emerald-dark);font-family:var(--font-display);font-size:2.6rem;font-weight:800;letter-spacing:-.04em;margin:4px 0}.sc-copy h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.035em}.sc-mock{border-radius:var(--radius-xl);padding:22px}.scd-tile,.scd-goal,.sct-card{background:var(--paper-raised);border-radius:var(--radius-m)}.scd-tile strong,.scr-tiles b{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em}.scd-ring:before{top:6px;right:6px;bottom:6px;left:6px}.scd-ring-e,.scd-ring{background:conic-gradient(var(--coral) 0 var(--p),var(--track) var(--p) 100%)}.sc-sim{background:var(--paper-raised);border-color:var(--line);color:var(--ink)}.scs-label{color:var(--coral-dark);font-weight:600}.scs-h{font-family:var(--font-display);font-weight:700}.scs-track{background:var(--track)}.scs-knob{border:2px solid var(--coral);box-shadow:0 2px 6px #15181d29}.scs-m{font-family:var(--font-display);font-weight:800}.scs-m.orig{color:var(--ink-faint)}.scs-m.new{color:var(--emerald-dark)}.scs-arrow{color:var(--ink-faint)}.scs-pill{background:var(--emerald-tint);color:var(--emerald-dark)}.sct-dot{background:var(--coral-tint);border:none;color:var(--coral)}.sct-dot .ic{width:19px;height:19px}.sct-thread:before{background:var(--coral-line)}.scp-row span{display:inline-flex;align-items:center;gap:7px}.scp-row span i{display:inline-flex;color:var(--coral)}.scp-row span i .ic{width:16px;height:16px}.scp-head span{font-family:var(--font-display);font-weight:800}.scc-nav span .ic{width:14px;height:14px}.scc-head b{font-family:var(--font-display);font-weight:700}.scc-cell.today{background:var(--coral-tint);box-shadow:none}.price-card{border-radius:var(--radius-xl)}.price-card h3{font-size:1.2rem;font-weight:700}.price-card .price{font-family:var(--font-display);font-size:2.6rem;font-weight:800;letter-spacing:-.04em}.price-list li{font-size:.95rem}.price-list li:before{content:"";width:18px;height:18px;flex-shrink:0;margin-top:2px;border-radius:50%;background:var(--emerald-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F7A4D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/11px no-repeat}.price-card.featured .price-list li:before{background-color:var(--coral-tint);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9502F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E")}.price-card .btn{padding:14px}.faq-item summary{font-size:1.05rem}.faq-item p{font-size:.98rem;line-height:1.6}.cta-band-inner{border-radius:var(--radius-xl);padding:64px 40px;background:linear-gradient(135deg,#EE7656 0%,var(--coral-dark) 100%)}.cta-band-inner h2{font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:800;letter-spacing:-.04em}.cta-band-inner .btn-primary{color:var(--coral-dark)}.cta-band-inner .btn-primary:hover{background:#fff}@media (max-width:920px){.hero{padding:44px 22px 28px;gap:36px}.btn-hero{width:100%}.whatif-strip .result-pill .num{font-size:2.1rem}.cta-band-inner{padding:44px 24px}}@media (max-width:640px){.detail-head .dh-left{min-width:0}.detail-head .dh-actions{grid-template-columns:1fr 1fr;width:100%}.detail-head .dh-actions .btn{min-width:0;white-space:nowrap}}@media (max-width:640px){.dash-head,.detail-head,.an-head,.rep-head,.pc-head{flex-wrap:nowrap}.dash-head>*,.detail-head>*,.an-head>*,.rep-head>*,.pc-head>*{min-width:0;width:100%}.dash-actions,.detail-head .dh-actions,.an-head .dh-actions,.rep-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.dash-actions .btn,.detail-head .dh-actions .btn,.an-head .dh-actions .btn,.rep-actions .btn{min-width:0;width:100%;height:auto;flex:none}}.btn .ic,.btn-ic .ic,.btn-ic svg{width:17px;height:17px;max-width:17px;max-height:17px}.btn-ic{display:inline-flex;width:17px;height:17px;flex:none}@media (max-width:640px){.pc-head{flex-direction:column;align-items:flex-start;gap:12px}.pc-head>*{width:auto}.pc-head>div:first-child{width:100%}}
