@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300;400;600;700&family=Inter:wght@300;400;500;600;700&display=swap";:root{--surface-void:#060912;--surface-base:#0d1117;--surface-raised:#131a26;--surface-overlay:#1a2438;--surface-glass:#ffffff09;--surface-glass-hover:#fff1;--accent-primary:#00e4a0;--accent-primary-dim:#00e4a01f;--accent-primary-glow:#00e4a038;--accent-secondary:#7c6fff;--accent-secondary-dim:#7c6fff1f;--accent-energy:#ff7a4d;--accent-energy-dim:#ff7a4d1f;--color-kcal:#00e4a0;--color-kcal-glow:#00e4a026;--color-protein:#4c9eff;--color-protein-glow:#4c9eff26;--color-fat:#ff7a4d;--color-fat-glow:#ff7a4d26;--color-carbs:#9d7fea;--color-carbs-glow:#9d7fea26;--text-primary:#eff3ff;--text-secondary:#eff3ff94;--text-muted:#eff3ff52;--text-disabled:#eff3ff2e;--danger-color:#ff5a5a;--danger-dim:#ff5a5a1f;--font-display:"Bricolage Grotesque", -apple-system, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--text-3xl:48px;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-xl:30px;--radius-pill:100px;--shadow-card:0 4px 32px #00000073;--shadow-float:0 8px 60px #0009;--shadow-glow-primary:0 0 36px #00e4a02e, 0 0 80px #00e4a012;--shadow-glow-secondary:0 0 36px #7c6fff2e;--glass-bg:#ffffff09;--glass-border:#ffffff13;--glass-blur:blur(22px) saturate(170%);--bg-color:var(--surface-base);--bg-glass:var(--glass-bg);--bg-glass-hover:var(--surface-glass-hover);--border-glass:var(--glass-border);--border-glass-active:#7c6fff59;--accent-color:var(--accent-secondary);--accent-glow:var(--accent-secondary-dim);--font-main:var(--font-body);--font-title:var(--font-display);--transition-smooth:all .28s cubic-bezier(.4, 0, .2, 1);--shadow-premium:0 20px 48px -12px #000000bf}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--surface-void:#eef2f8;--surface-base:#f5f7fa;--surface-raised:#fff;--surface-overlay:#f0f4fa;--surface-glass:#00000007;--surface-glass-hover:#0000000e;--glass-bg:#00000007;--glass-border:#00000014;--text-primary:#0d1117;--text-secondary:#0d111799;--text-muted:#0d111759;--bg-color:var(--surface-base)}}[data-theme=light]{--surface-void:#eef2f8;--surface-base:#f5f7fa;--surface-raised:#fff;--glass-bg:#00000007;--glass-border:#00000014;--text-primary:#0d1117;--text-secondary:#0d111799;--text-muted:#0d111759;--bg-color:var(--surface-base)}[data-goal=LOSE]{--accent-color:#00e4a0;--accent-glow:#00e4a040;--color-kcal:#00e4a0;--color-kcal-glow:#00e4a026}[data-goal=MAINTAIN]{--accent-color:#7c6fff;--accent-glow:#7c6fff40;--color-kcal:#7c6fff;--color-kcal-glow:#7c6fff26}[data-goal=GAIN]{--accent-color:#ff7a4d;--accent-glow:#ff7a4d40;--color-kcal:#ff7a4d;--color-kcal-glow:#ff7a4d26}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;outline:none}:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px;border-radius:var(--radius-sm)}body{background-color:var(--surface-base);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);background-image:radial-gradient(at 50% -10%,#7c6fff1f 0%,#0000 55%),radial-gradient(at 80% 80%,#00e4a00d 0%,#0000 50%);background-attachment:fixed;min-height:100vh;line-height:1.55;overflow-x:hidden}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card), inset 0 1px 0 #ffffff0e;transition:var(--transition-smooth);position:relative;overflow:hidden}.glass:before{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(at 20% 0,#00e4a009 0%,#0000 60%);position:absolute;inset:0}.glass-hover:hover{background:var(--surface-glass-hover);box-shadow:var(--shadow-float), var(--shadow-glow-primary);border-color:#ffffff1c;transform:translateY(-2px)}.meal-card{transition:var(--transition-smooth)}.meal-card:hover{background:var(--surface-glass-hover);box-shadow:var(--shadow-float);border-color:#ffffff1c;transform:translateY(-1px)}.meal-card:active{transform:scale(.98)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.025em;font-weight:700;line-height:1.2}.gradient-text{background:linear-gradient(135deg, var(--text-primary) 0%, var(--accent-color) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-primary{background:linear-gradient(135deg, var(--accent-color), color-mix(in srgb, var(--accent-color) 70%, #000));color:#000;border-radius:var(--radius-md);font-weight:700;font-family:var(--font-display);font-size:var(--text-base);text-align:center;transition:var(--transition-smooth);box-shadow:0 4px 20px var(--accent-primary-glow);cursor:pointer;letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:15px 28px;display:inline-flex}.btn-primary:hover{box-shadow:0 8px 28px var(--accent-primary-glow);filter:brightness(1.08);transform:translateY(-2px)}.btn-primary:active{filter:brightness(.95);transform:translateY(0)scale(.98)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.ing-input{outline:none;width:100%;min-height:48px;border-radius:var(--radius-md)!important;color:var(--text-primary)!important;font-size:var(--text-base)!important;font-family:var(--font-body)!important;transition:var(--transition-smooth)!important;background:#ffffff0a!important;border:1px solid #ffffff14!important;padding:13px 16px!important}.ing-input:focus{border-color:var(--accent-color)!important;box-shadow:0 0 0 3px var(--accent-primary-dim)!important;background:#ffffff12!important}.ing-input::placeholder{color:var(--text-muted)!important}select.ing-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E")!important;background-position:right 16px center!important;background-repeat:no-repeat!important;background-size:16px!important;padding-right:40px!important}.btn-tag{border-radius:var(--radius-md)!important;font-size:var(--text-sm)!important;cursor:pointer!important;transition:var(--transition-smooth)!important;border:1px solid var(--glass-border)!important;color:var(--text-secondary)!important;background:#ffffff09!important;justify-content:center!important;align-items:center!important;gap:8px!important;min-height:52px!important;padding:13px 18px!important;font-weight:600!important;display:inline-flex!important}.btn-tag:hover{color:var(--text-primary)!important;background:#fff1!important;border-color:#ffffff24!important}.btn-tag.active{background:var(--accent-primary-dim)!important;color:var(--accent-color)!important;box-shadow:0 0 0 1px var(--accent-primary-dim)!important;border-color:#00e4a059!important}.app-container{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;padding:20px 16px 110px;display:flex}.progress-ring-circle{transform-origin:50%;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1);transform:rotate(-90deg)}.bento-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.bento-wide{grid-column:1/-1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes mealCardEnter{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes aiPulse{0%,to{box-shadow:0 0 #7c6fff66}50%{box-shadow:0 0 0 14px #7c6fff00}}@keyframes goalAchieved{0%{transform:scale(1)}35%{transform:scale(1.1)}65%{transform:scale(.97)}to{transform:scale(1)}}@keyframes glowPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes streakBounce{0%{transform:scale(1)rotate(0)}30%{transform:scale(1.2)rotate(-8deg)}60%{transform:scale(.95)rotate(5deg)}to{transform:scale(1)rotate(0)}}.animate-fade-in{animation:.38s cubic-bezier(.34,1.56,.64,1) both fadeInUp}.animate-slide-up{animation:.42s cubic-bezier(.16,1,.3,1) both slideUp}.meal-card-enter{animation:.35s cubic-bezier(.34,1.56,.64,1) forwards mealCardEnter}.ai-processing{animation:1.6s ease-in-out infinite aiPulse}.goal-achieved{animation:.55s cubic-bezier(.68,-.55,.265,1.55) both goalAchieved}.meal-list-item:first-child{animation-delay:0s}.meal-list-item:nth-child(2){animation-delay:60ms}.meal-list-item:nth-child(3){animation-delay:.12s}.meal-list-item:nth-child(4){animation-delay:.18s}.meal-list-item:nth-child(5){animation-delay:.24s}.bottom-nav-btn{transition:var(--transition-smooth);border-radius:var(--radius-md);flex-direction:column;flex-grow:1;justify-content:center;align-items:center;gap:3px;min-height:52px;padding:8px 4px;font-size:10px;display:flex}.bottom-nav-btn:hover{background:#ffffff0b}.nav-active-dot{background:var(--accent-color);width:4px;height:4px;box-shadow:0 0 6px var(--accent-color);border-radius:50%;margin-top:2px}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff12;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#ffffff21}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 50%,#ffffff08 75%) 0 0/800px 100%;animation:1.6s linear infinite shimmer}.macro-bar{border-radius:2px;height:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.streak-fire{animation:2s ease-in-out infinite streakBounce;display:inline-block}.premium-banner{background:linear-gradient(135deg,#7c6fff2e 0%,#00e4a014 100%)}
