@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800&family=Playfair+Display:wght@700;800;900&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1a1a1a;background:#f5f4f0;font-family:DM Sans,system-ui,-apple-system,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:0;display:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #1d9e7500}50%{box-shadow:0 0 20px 4px #1d9e7526}}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.app{max-width:500px;min-height:100dvh;margin:0 auto;position:relative}.header{color:#fff;background:linear-gradient(155deg,#080808 0%,#0f1724 35%,#111b2e 60%,#0a0f18 100%);padding:32px 24px 24px;position:relative;overflow:hidden}.header:before{content:"";background:radial-gradient(circle,#1d9e7514 0%,#0000 70%);border-radius:50%;width:240px;height:240px;position:absolute;top:-80px;right:-60px}.header:after{content:"";background:radial-gradient(circle,#185fa50d 0%,#0000 70%);border-radius:50%;width:280px;height:280px;position:absolute;bottom:-100px;left:-50px}.header-title{letter-spacing:-.04em;font-family:Playfair Display,serif;font-size:28px;font-weight:900;line-height:1.1;animation:.6s ease-out fadeUp;position:relative}.header-sub{opacity:.3;letter-spacing:.12em;text-transform:uppercase;margin-top:4px;margin-bottom:24px;font-size:10px;animation:.6s ease-out .1s both fadeUp;position:relative}.progress-wrap{animation:.6s ease-out .2s both fadeUp;position:relative}.progress-bar-bg{background:#ffffff12;border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#3dd6a0 0%,#1d9e75 50%,#0f8c65 100%) 0 0/200% 100%;border-radius:4px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1);position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%) 0 0/200% 100%;animation:3s ease-in-out infinite shimmer;position:absolute;inset:0}.progress-count{opacity:.9;font-variant-numeric:tabular-nums;text-align:right;min-width:50px;font-size:15px;font-weight:800}.progress-status{opacity:.3;letter-spacing:.02em;margin-top:6px;font-size:10px;font-weight:500}.tab-bar{background:#fff;border-radius:0 0 16px 16px;margin:-1px 18px 0;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000000a}.tab-btn{cursor:pointer;letter-spacing:.01em;border:none;flex:1;padding:13px 0;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;transition:all .3s;position:relative}.tab-btn.active{color:#fff;background:#0a0a0a;font-weight:700}.tab-btn:not(.active){color:#b0b0b0;background:#fff}.tab-btn:not(.active):hover{color:#666;background:#fafaf8}.filters{scrollbar-width:none;-ms-overflow-style:none;gap:6px;padding:16px 18px 12px;display:flex;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filter-pill{cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:none;border-radius:20px;padding:7px 16px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;transition:all .25s}.filter-pill.active{color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.filter-pill:not(.active){color:#aaa;background:#00000008}.filter-pill:not(.active):hover{color:#777;background:#0000000f}.section{margin-bottom:20px;animation:.4s ease-out both fadeUp}.section-header{border-radius:12px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;display:flex}.section-title{letter-spacing:-.03em;font-size:15px;font-weight:800}.section-sub{opacity:.5;margin-left:auto;font-size:10px;font-weight:500}.section-count{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffa6;border-radius:10px;padding:3px 8px;font-size:10px;font-weight:700}.item{cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:12px;align-items:center;gap:11px;margin-bottom:5px;padding:12px 13px;transition:all .2s;animation:.3s ease-out both slideIn;display:flex}.item:hover{border-color:#0000001a;transform:translate(2px);box-shadow:0 2px 8px #00000008}.item:active{transform:scale(.99)}.item.done{background:#f2fbf7;border-color:#1d9e751f}.item-check{border:2px solid #d4d4d4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.item.done .item-check{border-color:var(--accent,#0f6e56);background:var(--accent,#0f6e56);animation:.35s ease-out checkPop}.item-name{color:#1a1a1a;letter-spacing:-.01em;font-size:13px;font-weight:600;transition:all .2s}.item.done .item-name{color:#085041;-webkit-text-decoration:line-through #5dcaa5;text-decoration:line-through #5dcaa5;text-decoration-thickness:1.5px}.item-desc{color:#999;margin-top:2px;font-size:10.5px;line-height:1.35;transition:color .2s}.item.done .item-desc{color:var(--accent,#1d9e75)}.item-cost{color:#ccc;white-space:nowrap;letter-spacing:.01em;flex-shrink:0;font-size:10px;font-weight:700;transition:color .2s}.item.done .item-cost{color:var(--accent,#0f6e56)}.milestone-divider{align-items:center;gap:12px;margin:20px 0 14px;display:flex}.milestone-divider span{letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700}.milestone-item{cursor:pointer;border:1.5px solid;border-radius:14px;align-items:center;gap:11px;padding:16px 15px;transition:all .25s;display:flex}.milestone-item:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000000f}.personal-divider{align-items:center;gap:14px;margin:24px 0 14px;display:flex}.personal-divider .line{background:#0000000a;flex:1;height:1px}.personal-divider span{color:#d0d0d0;letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:500}.hidden-reveal{text-align:center;padding:20px 0 8px}.hidden-reveal button{color:#d0d0d0;cursor:pointer;letter-spacing:.05em;background:0 0;border:none;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:10px;transition:color .2s}.hidden-reveal button:hover{color:#999}.costs-card{background:#fff;border:1px solid #0000000d;border-radius:14px;margin:24px 0 0;padding:18px;animation:.4s ease-out both scaleIn;box-shadow:0 2px 12px #00000005}.costs-title{letter-spacing:-.02em;margin-bottom:12px;font-size:13px;font-weight:800}.costs-row{color:#888;justify-content:space-between;padding:5px 0;font-size:11.5px;display:flex}.costs-row span:last-child{font-weight:600}.costs-total{border-top:1px solid #0000000f;margin-top:10px;padding-top:10px}.footer{text-align:center;padding:2.5rem 1.5rem 2rem;animation:.6s ease-out .4s both fadeUp}.footer-title{color:#aaa;margin-bottom:6px;font-family:Playfair Display,serif;font-size:16px;font-weight:700}.footer-text{color:#c5c5c5;font-size:12px;font-weight:400;line-height:1.6}
