.hero{padding:64px 0 72px;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;width:640px;height:640px;right:-180px;top:-160px;border-radius:50%;background:radial-gradient(circle,var(--primary-soft) 0%,transparent 70%);z-index:-1}.hero::after{content:'';position:absolute;width:480px;height:480px;left:-200px;top:35%;border-radius:50%;background:radial-gradient(circle,var(--success-soft) 0%,transparent 70%);z-index:-1}.hero .container{display:grid;grid-template-columns:1.1fr 0.9fr;align-items:center;gap:56px}.eyebrow{display:inline-block;background:var(--success-soft);color:var(--success-active);font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:6px 14px;border-radius:9999px;margin-bottom:20px}@media (prefers-color-scheme:dark){.eyebrow{color:#ACCFB6}}.hero h1{font-size:clamp(38px,6vw,62px);line-height:1.08;margin-bottom:20px}.hero .lead{font-size:18px;color:var(--muted-foreground);max-width:34em;margin:0 0 32px}.phone{justify-self:center;width:316px;background:#2C2B29;border-radius:46px;padding:10px;box-shadow:var(--shadow-2)}@media (prefers-color-scheme:dark){.phone{background:#0E0E0D;box-shadow:0 0 0 1px var(--linen),var(--shadow-2)}}.phone-float{justify-self:center;animation:phone-in .9s cubic-bezier(.2,.7,.2,1) .25s both,float 7s ease-in-out 1.2s infinite}.phone-screen{position:relative;height:640px;overflow:hidden;background:var(--background);border-radius:38px;padding:34px 14px 0;display:flex;flex-direction:column;gap:12px;font-size:11px;line-height:1.35}.phone svg{flex:none}.ic{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.app-head strong{display:block;font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.15}.app-head small{display:block;font-size:11.5px;color:var(--muted-foreground);margin-top:2px}.sprout{width:40px;height:40px;border-radius:50%;background:var(--success-soft);color:var(--success-active);display:grid;place-items:center;font-size:19px;flex:none}.muted-label{font-size:9.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted-foreground)}.goal{background:var(--card);border-radius:22px;padding:16px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:11px}.goal-top,.goal-nums,.goal-foot{display:flex;align-items:center;justify-content:space-between;gap:6px}.goal-top > span:first-child{display:flex;align-items:center;gap:6px}.goal-top .ic{color:var(--primary);font-size:13px}.pill{border-radius:9999px;padding:3px 9px;font-size:9.5px;font-weight:600;white-space:nowrap}.pill-primary{background:var(--primary-soft);color:var(--primary-soft-foreground)}.pill-success{background:var(--success-soft);color:var(--success-active)}.pill-muted{background:var(--muted);color:var(--muted-foreground)}.goal-nums{align-items:flex-end}.goal-nums b{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1;margin-right:6px}.goal-nums em{font-family:var(--serif);font-style:normal;font-size:16px;color:var(--muted-foreground)}.goal-nums > span{white-space:nowrap}.goal-nums > span:last-child{font-size:11px;font-weight:600;color:var(--success-active);padding-bottom:4px}.bar{height:8px;border-radius:9999px;background:var(--linen);overflow:hidden}.bar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--success-active);transition:width 1.2s cubic-bezier(.2,.7,.2,1)}.goal-foot{flex-wrap:wrap}.goal-foot .pill{display:inline-flex;align-items:center;gap:5px;font-weight:500;font-size:10px}.goal-foot .pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--success)}.goal-foot > span:last-child{white-space:nowrap;font-size:9.5px;color:var(--muted-foreground)}.spendable{border-top:1px solid var(--border);padding-top:11px;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600}.spendable .ic{color:var(--muted-foreground);font-size:12px}.segments{display:flex;background:var(--linen);border-radius:9999px;padding:3px}.segments span{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 0;border-radius:9999px;font-size:11.5px;font-weight:600;color:var(--muted-foreground)}.segments span.active{background:var(--card);color:var(--foreground);box-shadow:0 2px 8px rgba(44,43,41,0.06)}.segments i{font-style:normal;font-size:9px;min-width:16px;text-align:center;padding:0 5px;border-radius:9999px;background:var(--muted)}.segments span:last-child i{background:var(--success-soft);color:var(--success-active)}.list-head{display:flex;justify-content:space-between;padding:0 4px}.list-head span:last-child{font-size:9.5px;font-weight:500;color:var(--success-active)}.task{position:relative;display:flex;align-items:center;gap:10px;background:var(--card);border-radius:20px;padding:12px;box-shadow:var(--shadow-1);transition:background .4s,box-shadow .4s}.task-body{flex:1;display:flex;gap:10px;min-width:0;transition:opacity .4s}.cat{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:16px;flex:none}.cat .ic{stroke-width:1.75}.task-text{display:flex;flex-direction:column;gap:2px;min-width:0}.task-text .muted-label{color:var(--primary)}.task-text b{font-family:var(--serif);font-weight:400;font-size:16px;line-height:1.2;transition:color .4s}.task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;margin-top:3px;color:var(--muted-foreground);font-size:10px}.task-meta > span{display:inline-flex;align-items:center;gap:4px}.task-meta .due{color:var(--primary)}.task-meta .pill{padding:2px 7px;font-size:9.5px}.task-link{display:inline-flex;align-items:center;gap:4px;margin-top:3px;font-size:9.5px;font-weight:600;color:var(--primary);transition:opacity .3s}.check-btn{position:relative;width:36px;height:36px;border-radius:50%;background:var(--muted);color:var(--muted-foreground);display:grid;place-items:center;font-size:17px;flex:none;transition:background .35s,color .35s,transform .35s}.check-btn .ic{stroke-width:2.25}.check-btn .ic-done{display:none}.check-btn::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid var(--success);opacity:0}.task.is-done{background:var(--muted);box-shadow:none}.task.is-done .task-body{opacity:.6}.task.is-done .task-text b{text-decoration:line-through;color:var(--muted-foreground)}.task.is-done .task-link{opacity:0}.task.is-done .check-btn{background:var(--success);color:#fff;animation:pop .45s ease}.task.is-done .check-btn::after{animation:ripple .7s ease-out}.task.is-done .ic-open{display:none}.task.is-done .ic-done{display:block}.toast{position:absolute;right:8px;top:-6px;background:var(--success-active);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:9999px;opacity:0;pointer-events:none}.task.is-done .toast{animation:toast 1.6s ease-out forwards}.tabbar{position:absolute;left:10px;right:10px;bottom:12px;display:flex;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:9999px;padding:6px 4px;box-shadow:var(--shadow-2)}.tabbar > span{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:8.5px;font-weight:500;color:var(--muted-foreground)}.tabbar > span .ic{font-size:17px;stroke-width:1.75}.tabbar > span.active{color:var(--primary);font-weight:600}.tabbar > span.active .ic{stroke-width:2.25}.tabbar .add{flex:0 0 56px}.tabbar .add b{width:44px;height:44px;margin-top:-26px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 10px 24px -6px rgba(198,106,77,0.55)}.tabbar .add .ic{stroke-width:2.5}.screen-fade{position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(to top,var(--background) 45%,transparent);pointer-events:none}section.block{padding:88px 0 0}.section-head{max-width:620px;margin-bottom:40px}.section-head h2{font-size:clamp(30px,4vw,40px);line-height:1.2;margin-bottom:12px}.section-head p{color:var(--muted-foreground);font-size:17px;margin:0}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow-1);transition:transform .3s,box-shadow .3s}.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}.feature .icon{transition:transform .3s}.feature:hover .icon{transform:rotate(-8deg) scale(1.08)}.feature .icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;background:var(--primary-soft);color:var(--primary)}.feature:nth-child(even) .icon{background:var(--success-soft);color:var(--success-active)}.feature h3{font-size:21px;font-weight:500;margin-bottom:6px}.feature p{margin:0;color:var(--muted-foreground);font-size:15px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step}.step{background:var(--muted);border-radius:20px;padding:24px;transition:transform .3s,box-shadow .3s,background .3s}.step:hover{transform:translateY(-4px);background:var(--card);box-shadow:var(--shadow-1)}.step::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;margin-bottom:16px}.step.is-visible::before{animation:pop .5s ease both;animation-delay:calc(var(--i,0) * 90ms + 250ms)}.step h3{font-size:20px;font-weight:500;margin-bottom:6px}.step p{margin:0;color:var(--muted-foreground);font-size:15px}.faq{display:grid;gap:12px}.faq details{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-1);transition:box-shadow .3s}.faq details[open]{box-shadow:var(--shadow-2)}.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-family:var(--serif);font-size:19px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'';flex:none;width:30px;height:30px;border-radius:50%;background-color:var(--primary-soft);background-image:linear-gradient(var(--primary-soft-foreground),var(--primary-soft-foreground)),linear-gradient(var(--primary-soft-foreground),var(--primary-soft-foreground));background-size:12px 2px,2px 12px;background-position:center;background-repeat:no-repeat;transition:transform .3s}.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{margin:0;padding:0 22px 20px;color:var(--muted-foreground);font-size:15px}.cta{margin-top:88px;background:var(--card);border:1px solid var(--border);border-radius:28px;padding:56px 40px;text-align:center;box-shadow:var(--shadow-2);position:relative;overflow:hidden}.cta::before{content:'';position:absolute;inset:auto -80px -160px auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,var(--primary-soft),transparent 70%)}.cta > *{position:relative}.cta .emblem-lg svg{margin:0 auto 20px}.cta h2{font-size:clamp(28px,4vw,38px);line-height:1.2;margin-bottom:10px}.cta p{color:var(--muted-foreground);margin:0 0 28px}.cta .store-buttons{justify-content:center}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms)}.reveal.is-visible{opacity:1;transform:none}.hero-copy > *{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}.hero-copy >:nth-child(2){animation-delay:.1s}.hero-copy >:nth-child(3){animation-delay:.2s}.hero-copy >:nth-child(4){animation-delay:.3s}.hero::before,.hero::after{animation:drift 16s ease-in-out infinite alternate}.hero::after{animation-duration:20s;animation-direction:alternate-reverse}.cta .emblem-lg svg{animation:bob 6s ease-in-out infinite}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes phone-in{from{opacity:0;transform:translateY(40px) rotate(6deg)}to{opacity:1;transform:rotate(2deg)}}@keyframes float{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-40px,30px) scale(1.12)}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}100%{transform:scale(1)}}@keyframes ripple{from{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes toast{0%{opacity:0;transform:translateY(8px)}15%,70%{opacity:1;transform:translateY(-14px)}100%{opacity:0;transform:translateY(-26px)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}.reveal{opacity:1;transform:none}.phone-float{transform:rotate(2deg)}}@media (max-width:900px){.hero .container{grid-template-columns:1fr;gap:48px}.features,.steps{grid-template-columns:1fr 1fr}}@media (max-width:600px){.hero{padding-top:40px}.features,.steps{grid-template-columns:1fr}.phone{width:300px}.cta{padding:40px 20px}.store-btn{flex:1 1 100%;justify-content:center}}