:root{--np-accent:#b861a8;--np-accent-soft:#f2def0;--np-ink:#292930;--np-text:#2c2c33;--np-text-secondary:#6b6b74;--np-bg:#fff;--np-bg-muted:#faf8fb;--np-border:#ececef;--np-radius-lg:20px;--np-radius-md:14px;--np-max-width:1080px;--np-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;margin:0;padding:0}body{font-family:var(--np-font);color:var(--np-text);background:var(--np-bg);-webkit-font-smoothing:antialiased}a{color:var(--np-accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--np-max-width);margin:0 auto;padding:0 24px}h1,h2,h3{color:var(--np-text);font-weight:700;line-height:1.15}p{color:var(--np-text-secondary);line-height:1.6}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:14px 28px;font-size:15px;font-weight:600;transition:transform .15s,opacity .15s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--np-ink);color:#fff}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--np-accent-soft);color:var(--np-accent)}.navbar{border-bottom:1px solid var(--np-border);z-index:10;background:#fff;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.navbar-brand{color:var(--np-text);font-size:19px;font-weight:800}.navbar-brand:hover{text-decoration:none}.navbar-links{gap:28px;display:flex}.navbar-links a{color:var(--np-text-secondary);font-size:14px;font-weight:600}.navbar-links a:hover{color:var(--np-accent);text-decoration:none}.footer{border-top:1px solid var(--np-border);margin-top:80px;padding:32px 0}.footer-inner{color:var(--np-text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.footer-links{gap:20px;display:flex}.footer-links a{color:var(--np-text-secondary);font-size:13px}.footer-links a:hover{color:var(--np-accent)}.mockup-goals-card{border:1px solid var(--np-border);background:#fff;border-radius:20px;flex-direction:column;gap:16px;max-width:320px;padding:22px;display:flex;box-shadow:0 16px 40px -20px #29293040}.mockup-goals-label{letter-spacing:.04em;color:var(--np-text-secondary);font-size:12px;font-weight:700}.mockup-goals-stats{gap:28px;display:flex}.mockup-goals-stats strong{color:var(--np-text);font-size:24px;display:block}.mockup-goals-stats span{color:var(--np-text-secondary);font-size:12px}.mockup-segmented{background:var(--np-bg-muted);border-radius:12px;gap:4px;padding:4px;display:flex}.mockup-segmented span{text-align:center;color:var(--np-text-secondary);border-radius:9px;flex:1;padding:8px 0;font-size:12px;font-weight:600}.mockup-segmented-active{background:var(--np-ink);color:#fff!important}.mockup-meal-card{border:1px solid var(--np-border);background:#fff;border-radius:18px;align-items:center;gap:14px;max-width:360px;padding:16px;display:flex;box-shadow:0 16px 40px -20px #29293040}.mockup-meal-icon{background:var(--np-accent-soft);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.mockup-meal-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.mockup-meal-type{letter-spacing:.06em;color:var(--np-text-secondary);font-size:10px;font-weight:700}.mockup-meal-name{color:var(--np-text);font-size:15px;font-weight:600}.mockup-meal-stats{color:var(--np-text-secondary);gap:10px;font-size:12px;display:flex}.mockup-swap-btn{color:var(--np-text);background:var(--np-bg-muted);border:1px solid var(--np-border);white-space:nowrap;pointer-events:none;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:600}.mockup-score-card{border:1px solid var(--np-border);background:#fff;border-radius:20px;align-items:center;gap:20px;padding:20px 24px;display:inline-flex;box-shadow:0 16px 40px -20px #29293040}.mockup-score-ring{flex-shrink:0;width:120px;height:120px;position:relative}.mockup-score-value{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mockup-score-value strong{color:var(--np-text);font-size:30px;line-height:1}.mockup-score-value span{color:var(--np-text-secondary);font-size:11px}.mockup-score-caption{flex-direction:column;gap:4px;display:flex}.mockup-score-label{color:var(--np-text-secondary);font-size:13px;font-weight:700}.mockup-score-sub{color:var(--np-text);font-size:13px}.hero{background:linear-gradient(180deg, var(--np-accent-soft) 0%, #fff 100%);padding:clamp(56px,10vw,96px) 0 40px;overflow:hidden}.hero-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;display:flex}.hero-copy{max-width:560px}.hero-copy h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 18px;font-size:clamp(32px,5.2vw,56px)}.hero-copy p{max-width:46ch;margin:0 0 28px;font-size:17px}.hero-actions{gap:14px;display:flex}.hero-art img{width:220px;height:auto;display:block}.hero-entrance{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards hero-rise;transform:translateY(18px)}.hero-entrance-1{animation-delay:60ms}.hero-entrance-2{animation-delay:.18s}.hero-entrance-3{animation-delay:.3s}@keyframes hero-rise{to{opacity:1;transform:translateY(0)}}.mascot-wave{transform-origin:50% 88%;animation:.7s cubic-bezier(.16,1,.3,1) .18s forwards hero-rise,2.6s ease-in-out .9s infinite mascot-idle}@keyframes mascot-idle{0%,to{transform:rotate(0)translateY(0)}25%{transform:rotate(-2.5deg)translateY(-3px)}50%{transform:rotate(0)translateY(0)}75%{transform:rotate(2.5deg)translateY(-2px)}}.stats{padding:56px 0}.stats-grid{text-align:center;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;display:grid}.stat-item{opacity:0;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 90ms);flex-direction:column;gap:8px;display:flex;transform:translateY(16px)}.stat-item.is-visible{opacity:1;transform:translateY(0)}.stat-value{color:var(--np-accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(32px,4.2vw,48px);font-weight:800}.stat-label{color:var(--np-text-secondary);max-width:30ch;margin:0 auto;font-size:14px}.features{padding:72px 0 96px}.features h2{text-align:center;text-wrap:balance;margin:0 0 8px;font-size:clamp(22px,3vw,30px)}.features-hint{text-align:center;margin:0 0 48px;font-size:13px}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:24px;display:grid}.feature-card{background:var(--np-bg-muted);border:1px solid var(--np-border);border-radius:var(--np-radius-lg);opacity:0;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.25,1,.5,1),border-color .22s;transition-delay:calc(var(--i,0) * 70ms);overflow:hidden;transform:translateY(24px)}.feature-card.is-visible{opacity:1;transform:translateY(0)}.feature-card:hover,.feature-card.is-open{border-color:var(--np-accent);box-shadow:0 12px 28px -16px #b861a859}.feature-card-trigger{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;margin:0;padding:28px;display:block;position:relative}.feature-icon{margin-bottom:12px;font-size:28px;transition:transform .26s cubic-bezier(.25,1,.5,1);display:inline-block}.feature-card:hover .feature-icon{transform:scale(1.15)rotate(-6deg)}.feature-card h3{margin:0 24px 8px 0;font-size:17px}.feature-card-trigger p{margin:0;font-size:14px}.feature-chevron{color:var(--np-text-secondary);font-size:18px;line-height:1;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;top:28px;right:24px}.feature-card.is-open .feature-chevron{color:var(--np-accent);transform:rotate(180deg)}.feature-details-wrap{grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.16,1,.3,1);display:grid}.feature-card.is-open .feature-details-wrap{grid-template-rows:1fr}.feature-details-inner{min-height:0;overflow:hidden}.feature-details{border-top:1px solid var(--np-border);margin:0;padding:16px 24px 24px;font-size:13.5px}.how-it-works{background:var(--np-bg-muted);padding:80px 0}.how-it-works h2{text-align:center;text-wrap:balance;margin:0 0 56px;font-size:clamp(24px,3.4vw,32px)}.steps{flex-direction:column;gap:64px;display:flex}.step-row{opacity:0;justify-content:space-between;align-items:center;gap:48px;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(28px)}.step-row.is-visible{opacity:1;transform:translateY(0)}.step-row-reverse{flex-direction:row-reverse}.step-copy{max-width:400px}.step-number{background:var(--np-ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:16px;font-size:14px;font-weight:700;display:inline-flex}.step-copy h3{margin:0 0 10px;font-size:21px}.step-copy p{margin:0;font-size:15px}.step-visual{flex-shrink:0}.pricing{padding:80px 0}.pricing h2{text-align:center;text-wrap:balance;margin:0 0 8px;font-size:clamp(24px,3.4vw,32px)}.pricing-hint{text-align:center;margin:0 0 48px;font-size:14px}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:760px;margin:0 auto;display:grid}.pricing-card{border:1px solid var(--np-border);border-radius:var(--np-radius-lg);padding:32px;transition:transform .26s cubic-bezier(.16,1,.3,1),box-shadow .26s cubic-bezier(.16,1,.3,1);position:relative}.pricing-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px -24px #29293059}.pricing-card-premium{background:var(--np-ink);border-color:var(--np-ink)}.pricing-card-premium:hover{box-shadow:0 20px 44px -20px #b861a873}.pricing-card-premium .pricing-tier,.pricing-card-premium .pricing-price{color:#fff}.pricing-card.pricing-card-premium li{color:#ffffffd1}.pricing-premium-badge{background:var(--np-accent);color:#fff;letter-spacing:.03em;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700;position:absolute;top:-13px;right:24px}.pricing-tier{color:var(--np-accent);margin-bottom:6px;font-size:14px;font-weight:700;display:block}.pricing-price{color:var(--np-text);font-size:26px;font-weight:700;display:block}.pricing-price-sub{color:var(--np-text-secondary);margin-bottom:20px;font-size:12px;display:block}.pricing-card-premium .pricing-price-sub{color:#fff9}.pricing-cancel-note{color:#ffffff8c;margin-top:20px;font-size:11.5px;display:block}.pricing-card ul{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pricing-card li{color:var(--np-text);padding-left:22px;font-size:14px;position:relative}.pricing-card li:before{content:"✓";color:var(--np-accent);font-weight:700;position:absolute;left:0}.pricing-card-premium li:before{color:#fff}.faq{background:var(--np-bg-muted);padding:80px 0}.faq h2{text-align:center;text-wrap:balance;margin:0 0 40px;font-size:clamp(24px,3.4vw,32px)}.faq-list{flex-direction:column;gap:12px;max-width:700px;margin:0 auto;display:flex}.faq-item{border:1px solid var(--np-border);border-radius:var(--np-radius-md);opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 60ms);background:#fff;overflow:hidden;transform:translateY(16px)}.faq-item.is-visible{opacity:1;transform:translateY(0)}.faq-trigger{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:18px 20px;display:flex}.faq-trigger span:first-child{font-size:15px;font-weight:600}.faq-chevron{color:var(--np-text-secondary);flex-shrink:0;font-size:18px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.faq-item.is-open .faq-chevron{color:var(--np-accent);transform:rotate(180deg)}.faq-answer-wrap{grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.16,1,.3,1);display:grid}.faq-item.is-open .faq-answer-wrap{grid-template-rows:1fr}.faq-answer-inner{min-height:0;overflow:hidden}.faq-answer{margin:0;padding:0 20px 20px;font-size:14px}.closing-cta{text-align:center;padding:96px 0}.closing-cta-inner h2{text-wrap:balance;margin:0 0 12px;font-size:clamp(26px,4vw,38px)}.closing-cta-inner p{margin:0;font-size:15px}@media (width<=720px){.hero-inner{text-align:center;flex-direction:column-reverse}.hero-copy p{max-width:none}.hero-actions{justify-content:center}.step-row,.step-row-reverse{text-align:center;flex-direction:column}.step-copy{max-width:none}}@media (prefers-reduced-motion:reduce){.hero-entrance,.mascot-wave,.feature-card,.step-row,.faq-item,.pricing-card,.stat-item{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.feature-details-wrap,.feature-chevron,.feature-icon,.faq-answer-wrap,.faq-chevron{transition:none!important}.feature-card.is-open .feature-chevron,.faq-item.is-open .faq-chevron{transform:rotate(180deg)!important}}.legal-page{padding:48px 0 96px}.legal-disclaimer{border-radius:var(--np-radius-md);color:#6b4b12;background:#fff4e5;border:1px solid #f0d29a;margin-bottom:40px;padding:16px 20px;font-size:13px}.legal-disclaimer strong{color:#6b4b12}.legal-page h1{margin-bottom:4px;font-size:32px}.legal-updated{color:var(--np-text-secondary);margin-bottom:40px;font-size:13px}.legal-page h2{margin:40px 0 12px;font-size:19px}.legal-page h3{margin:24px 0 8px;font-size:16px}.legal-page p,.legal-page li{color:var(--np-text);font-size:14.5px}.legal-page ul{padding-left:22px}.legal-page li{margin-bottom:6px}.legal-page a{word-break:break-word}
