:root{--bg:#F2F2F7;--card:#FFFFFF;--card2:#F2F2F7;--ink:#1C1C1E;--ink2:#3C3C43;--secondary:#6D6D72;--sep:rgba(60,60,67,.18);--green:#1B5E3B;--lime:#B9DC65;--tint:#34C759}*,:after,:before{box-sizing:border-box}body,html{background:var(--bg);overflow-x:clip;max-width:100%}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}input,select,textarea{max-width:100%;min-width:0;font-size:16px!important}.card,.histDay,.loginCard,.loginForm,.loginSent,.macroCard{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}main{max-width:min(1080px,100vw);width:100%;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) 16px calc(82px + env(safe-area-inset-bottom));overflow-x:clip}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:4px 0 18px;background:transparent;color:var(--ink);border-radius:0;box-shadow:none}.eyebrow{display:block;font-size:12px;font-weight:600;color:var(--secondary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}h1{font-size:34px;font-weight:700;letter-spacing:-.6px;margin:0;line-height:1.06;color:var(--ink)}.hero p{font-size:15px;color:var(--secondary);margin:6px 0 0;line-height:1.4}.target{flex-shrink:0;background:var(--card);border-radius:12px;padding:10px 14px;text-align:center;min-width:80px;box-shadow:0 1px 4px rgba(0,0,0,.08)}.target strong{display:block;font-size:20px;font-weight:700;color:var(--green)}.target span{font-size:11px;color:var(--secondary)}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.card{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.07)}.sectionTitle{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.sectionTitle h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.2px}.sectionBadge,.sectionTitle span{font-size:12px;color:var(--secondary);background:var(--bg);padding:4px 10px;border-radius:99px}.macroCard{background:var(--card);border-radius:12px;padding:16px;margin-top:12px;box-shadow:0 1px 3px rgba(0,0,0,.07)}.macroCardHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.macroCardTitle{font-size:17px;font-weight:600;letter-spacing:-.2px}.macroRow{margin:8px 0}.macroBarWithBonus{display:flex;align-items:center;gap:2px;height:6px;margin-top:5px;margin-bottom:2px}.macroBarBonusBlock{height:6px;border-radius:0 99px 99px 0;background:repeating-linear-gradient(90deg,var(--green) 0,var(--green) 3px,transparent 3px,transparent 6px);opacity:.3;flex-shrink:0}.macroBonusLabel{font-size:11px;color:var(--green);font-weight:600;margin-top:2px}.macroLabel{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px}.macroLabel span{color:var(--secondary)}.macroLabel strong{color:var(--ink);font-weight:600}.macroBar{height:6px;background:var(--bg);border-radius:99px;overflow:hidden}.macroFill{height:100%;border-radius:99px;transition:width .5s ease}.macroFillProtein{background:var(--tint)}.macroFillKcal{background:var(--green)}.macroRowSmall{display:flex;gap:16px;margin-top:10px;padding-top:10px;border-top:.5px solid var(--sep);font-size:13px;color:var(--secondary)}.macroRowSmall strong{color:var(--ink)}.mealForm textarea{width:100%;min-height:80px;resize:none;border:none;border-radius:10px;padding:12px 14px;outline:none;font-size:16px;background:var(--bg);color:var(--ink)}.mealForm button[type=submit]{width:100%;margin-top:10px;border:0;background:var(--green);color:white;border-radius:12px;padding:14px 16px;font-size:17px;font-weight:600}.mealForm button[type=submit]:disabled{opacity:.45}.mealFormActions{display:flex;gap:8px;margin:8px 0}.actionBtn{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 6px;border-radius:10px;background:var(--bg);border:none;font-size:11px;font-weight:600;color:var(--secondary);min-height:54px}.actionBtn:active{opacity:.6}.actionBtnIcon{font-size:22px;line-height:1}.actionBtnActive{background:rgba(27,94,59,.08);color:var(--green)}.voiceWrap{flex:1 1;display:flex;flex-direction:column;gap:4px}.voiceListening{background:rgba(52,199,89,.12);color:#248A3D;animation:voicePulse 1s infinite}@keyframes voicePulse{0%,to{opacity:1}50%{opacity:.6}}.voiceInterim{color:var(--secondary);font-style:italic}.voiceError,.voiceInterim{font-size:12px;text-align:center}.voiceError{color:#FF3B30}.photoThumb{width:32px;height:32px;object-fit:cover;border-radius:8px}.meals{display:flex;flex-direction:column;gap:1px;background:var(--sep);border-radius:10px;overflow:hidden;margin-top:4px}.meal{display:flex;justify-content:space-between;gap:10px;background:var(--card);padding:12px 14px;align-items:flex-start}.mealHeader{display:flex;align-items:center;gap:6px;margin-bottom:2px}.meal time{color:var(--secondary);font-size:12px;font-weight:600}.meal p{margin:2px 0 0;font-size:15px;line-height:1.35}.mealActions{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex-shrink:0;padding-top:2px}.mealActionBtn{border:none;background:transparent;font-size:18px;cursor:pointer;padding:4px;line-height:1;opacity:.65}.mealActionBtn:active{opacity:1}.mealDeleteConfirm{display:flex;flex-direction:column;align-items:center;gap:4px}.mealDeleteQuestion{font-size:11px;font-weight:700;color:var(--secondary);white-space:nowrap}.mealDeleteYes{background:#FF3B30;color:white;font-weight:700}.mealDeleteNo,.mealDeleteYes{border:none;border-radius:8px;padding:4px 10px;font-size:12px;cursor:pointer;width:100%}.mealDeleteNo{background:var(--bg);color:var(--secondary);font-weight:600}.mealEditWrap{margin-top:4px;display:flex;flex-direction:column;gap:6px}.mealEditTextarea{width:100%;border:1.5px solid var(--green);border-radius:10px;padding:10px 12px;font-size:15px;line-height:1.4;resize:none;outline:none;background:var(--card);min-height:64px}.mealEditMacros{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.mealEditMacroField{display:flex;flex-direction:column;align-items:center;gap:2px}.mealEditMacroLabel{font-size:10px;font-weight:700;color:var(--secondary);text-transform:uppercase}.mealEditMacroInput{width:64px;border:1px solid var(--sep);border-radius:8px;padding:6px 4px;text-align:center;font-size:14px;font-weight:600;background:var(--bg);outline:none}.mealEditMacroInput:focus{border-color:var(--green)}.mealEditActions{display:flex;gap:8px}.mealEditCancel{flex:1 1;background:var(--bg);color:var(--secondary);font-weight:600}.mealEditCancel,.mealEditSave{border:none;border-radius:10px;padding:9px;font-size:14px;cursor:pointer}.mealEditSave{flex:2 1;background:var(--green);color:white;font-weight:700}.empty,.welcome{color:var(--secondary);line-height:1.55;font-size:15px}.mealTag{display:inline-block;font-size:10px;font-weight:700;background:rgba(27,94,59,.1);color:var(--green);border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:middle}.mealKcal{display:block;font-size:11px;color:var(--secondary);margin-top:2px}.mealPhoto{display:block;width:64px;height:64px;object-fit:cover;border-radius:8px;margin-top:6px}.mealChips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px}.chipKcal{background:rgba(27,94,59,.08);color:var(--green)}.chipProtein{background:rgba(52,199,89,.1);color:#248A3D}.chipCarb{background:rgba(255,159,10,.1);color:#C87A00}.chipFat{background:rgba(255,69,58,.1);color:#D70015}.secondary{width:100%;border:none;background:var(--bg);color:var(--green);border-radius:12px;padding:13px 16px;font-size:15px;font-weight:600}.metricForm{display:flex;align-items:center;gap:8px;margin-bottom:14px}.metricForm input{flex:1 1;min-width:0;border:none;border-radius:10px;padding:12px 14px;outline:none;font-size:20px;font-weight:700;background:var(--bg)}.metricForm button{border:0;background:var(--green);color:white;border-radius:12px;padding:12px 18px;font-weight:600;font-size:15px;white-space:nowrap}.unit{color:var(--secondary);font-size:13px}.statRow{display:flex;gap:10px;margin-top:14px}.stat{background:var(--bg);border-radius:10px;padding:12px 14px;flex:1 1}.statLabel{font-size:11px;color:var(--secondary);display:block;margin-bottom:3px}.stat strong{font-size:18px;font-weight:700}.statDown{color:#30A24C}.statUp{color:#FF3B30}.workoutForm{display:flex;flex-direction:column;gap:12px}.workoutForm>button[type=submit]{border:0;background:var(--green);color:white;border-radius:12px;padding:14px;font-size:17px;font-weight:600}.formRow{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.formRow label{font-size:13px;font-weight:600;color:var(--secondary);min-width:62px;flex-shrink:0}.formRow select{flex:1 1;padding:11px 14px;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.formRow input[type=number],.formRow select{min-width:0;border:none;border-radius:10px;outline:none;background:var(--bg);font-size:15px}.formRow input[type=number]{width:72px;padding:11px;text-align:center}.exerciseList{display:flex;flex-direction:column;gap:10px;overflow:hidden}.exerciseItem{background:var(--bg);border-radius:10px;padding:12px;overflow:hidden}.exerciseHeader{display:flex;gap:8px;align-items:center;margin-bottom:8px;min-width:0}.exerciseName{flex:1 1;min-width:0;border:none;border-radius:8px;padding:9px 12px;outline:none;font-weight:600;background:var(--card);font-size:15px}.setRow{display:flex;align-items:center;gap:6px;margin:4px 0;flex-wrap:wrap;min-width:0}.setInput{width:58px;min-width:0;border:none;border-radius:8px;padding:8px;outline:none;text-align:center;background:var(--card);font-size:15px}.iconBtn{font-size:20px;color:#C7C7CC;padding:2px 6px}.addSetBtn,.iconBtn{border:0;background:transparent}.addSetBtn{color:var(--green);font-size:13px;font-weight:600;padding:4px 0;margin-top:6px}.addExBtn{margin-top:4px}.notesArea{width:100%;min-height:68px;resize:none;border:none;border-radius:10px;padding:12px 14px;outline:none;background:var(--bg);font-size:15px}.workoutHistory{display:flex;flex-direction:column;gap:14px;max-height:560px;overflow:auto}.workoutDate{font-size:12px;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.workoutEntry{background:var(--bg);border-radius:10px;padding:12px;margin-bottom:6px}.workoutEntryTop{display:flex;align-items:center;gap:8px}.workoutType{font-weight:600;font-size:15px;flex:1 1}.workoutDuration{font-size:13px;color:var(--secondary)}.workoutExercises,.workoutNotes{font-size:13px;color:var(--secondary);margin-top:4px}.workoutNotes{font-style:italic}.scannerOverlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.scannerBox{background:var(--card);border-radius:16px;width:100%;max-width:420px;overflow:hidden}.scannerHeader{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:.5px solid var(--sep)}.scannerHeader h3{margin:0;font-size:17px;font-weight:600}.scannerViewport{position:relative;width:100%;aspect-ratio:4/3;background:#000;overflow:hidden}.scannerVideo{width:100%;height:100%;object-fit:cover;display:block}.scannerReticle{position:absolute;inset:22%;border:2px solid var(--lime);border-radius:12px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}.scannerHint{text-align:center;padding:14px 20px;margin:0;color:var(--secondary);font-size:14px}.scannerActions{padding:14px 20px}.histDays,.scannerActions{display:flex;flex-direction:column;gap:10px}.histDays{margin-top:12px}.histDay{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.07);border-left:4px solid transparent}.histDayGood{border-left-color:var(--tint)}.histDayOk{border-left-color:#FF9F0A}.histDayLow{border-left-color:#C7C7CC}.histDayHeader{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:transparent;border:0;cursor:pointer;text-align:left;gap:12px}.histDayDate{display:block;font-weight:600;font-size:15px;text-transform:capitalize;letter-spacing:-.1px}.histDayMeta{display:flex;gap:8px;align-items:center;margin-top:3px;flex-wrap:wrap}.histDayMeta span{font-size:12px;color:var(--secondary)}.histWorkoutTag{background:var(--bg);border-radius:6px;padding:1px 6px}.histDayChevron{font-size:11px;color:#C7C7CC;flex-shrink:0}.histDayBars{padding:0 16px 14px}.histMealList{border-top:.5px solid var(--sep);padding:12px 16px;display:flex;flex-direction:column;gap:12px}.histMeal time{font-size:12px;color:var(--secondary);font-weight:600}.histMealTop{display:flex;align-items:center;gap:6px;margin-bottom:2px}.histMeal p{margin:0 0 5px;font-size:15px;line-height:1.35}.loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.loginCard{width:100%;max-width:420px}.loginHero{padding:10px 0 24px}.loginHero h1{font-size:34px;font-weight:700;letter-spacing:-.6px;margin:0 0 6px;color:var(--ink)}.loginHero p{color:var(--secondary);margin:0;font-size:15px;line-height:1.4}.loginForm{background:var(--card);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 4px rgba(0,0,0,.08)}.loginInput{border:none;border-radius:10px;padding:14px;outline:none;font-size:16px;background:var(--bg)}.loginBtn{border:0;background:var(--green);color:white;border-radius:12px;padding:14px;font-size:17px;font-weight:600}.loginBtn:disabled{opacity:.5}.loginError{color:#FF3B30;font-size:13px;margin:0}.loginSent{background:var(--card);border-radius:16px;padding:28px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.08)}.loginSentIcon{font-size:48px;margin-bottom:12px}.loginSent h2{margin:0 0 8px;font-size:20px;font-weight:600}.loginSent p{line-height:1.55;margin:0 0 16px}.loginSecondary,.loginSent p{color:var(--secondary);font-size:15px}.loginSecondary{border:none;background:var(--bg);border-radius:12px;padding:12px 20px;font-weight:600}.perfilField{display:flex;flex-direction:column;gap:6px}.perfilLabel{font-size:13px;font-weight:600;color:var(--secondary)}.perfilInputRow{display:flex;align-items:center;gap:8px;min-width:0}.perfilInput{flex:1 1;min-width:0;max-width:100%;border:none;border-radius:10px;padding:11px 14px;outline:none;background:var(--bg);font-size:15px}.paywallPage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));background:var(--green)}.paywallContent{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px}.paywallIcon{font-size:64px;text-align:center}.paywallTitle{font-size:32px;font-weight:700;letter-spacing:-.6px;color:white;margin:0;text-align:center}.paywallSubtitle{font-size:16px;color:rgba(255,255,255,.7);margin:0;text-align:center;line-height:1.4}.paywallFeatures{background:rgba(255,255,255,.1);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}.paywallFeature{display:flex;align-items:flex-start;gap:10px;color:white;font-size:14px;line-height:1.4}.paywallCheck{color:var(--lime);font-weight:800;flex-shrink:0;font-size:16px}.paywallPricing{text-align:center;display:flex;flex-direction:column;gap:4px}.paywallTrial{font-size:28px;font-weight:800;color:var(--lime);letter-spacing:-.4px}.paywallPrice{font-size:15px;color:rgba(255,255,255,.7)}.paywallError{font-size:13px;color:#FF9F9F;text-align:center;margin:0}.paywallBtn{border:none;background:var(--lime);color:var(--green);border-radius:16px;padding:18px;font-size:18px;font-weight:800;cursor:pointer;letter-spacing:-.2px}.paywallBtn:disabled{opacity:.6}.paywallDisclaimer{font-size:11px;color:rgba(255,255,255,.5);text-align:center;margin:0;line-height:1.5}.paywallRestoreBtn{border:none;background:transparent;color:rgba(255,255,255,.6);font-size:14px;font-weight:500;cursor:pointer;padding:4px}.paywallLinks{display:flex;justify-content:center;gap:8px;font-size:12px}.paywallLinks a{color:rgba(255,255,255,.5);text-decoration:none}.paywallLinks span{color:rgba(255,255,255,.3)}.onboardingPage{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));max-width:480px;margin:0 auto}.onboardingProgress{display:flex;gap:8px;justify-content:center;margin-bottom:32px}.onboardingDot{width:8px;height:8px;border-radius:99px;background:var(--sep);transition:all .25s}.onboardingDotActive{background:var(--green);width:24px}.onboardingStep{display:flex;flex-direction:column;gap:18px}.onboardingEmoji{font-size:48px;line-height:1}.onboardingTitle{font-size:34px;font-weight:700;letter-spacing:-.6px;margin:0;color:var(--ink)}.onboardingDesc{font-size:16px;color:var(--secondary);margin:0;line-height:1.4}.onboardingField{display:flex;flex-direction:column;gap:8px}.onboardingLabel{font-size:13px;font-weight:600;color:var(--secondary)}.onboardingInput{border:none;border-radius:12px;padding:14px;background:var(--bg);font-size:16px;width:100%}.onboardingInputRow{display:flex;align-items:center;gap:8px;min-width:0}.onboardingInputRow .onboardingInput{flex:1 1;min-width:0}.onboardingRow{display:flex;gap:12px}.onboardingSegment{display:flex;background:var(--bg);border-radius:12px;padding:3px;gap:3px}.onboardingSegBtn{flex:1 1;border:none;border-radius:10px;padding:10px;font-size:15px;font-weight:500;color:var(--secondary);background:transparent;cursor:pointer;transition:all .15s}.onboardingSegBtnActive{background:var(--card);color:var(--green);font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.1)}.onboardingOptions{display:flex;flex-direction:column;gap:10px}.onboardingOption{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--sep);background:var(--card);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.onboardingOptionActive{border-color:var(--green);background:rgba(27,94,59,.04)}.onboardingOptionIcon{font-size:28px;flex-shrink:0}.onboardingOptionLabel{font-size:16px;font-weight:600;color:var(--ink)}.onboardingOptionDesc{font-size:13px;color:var(--secondary);margin-top:2px}.onboardingSummary{background:var(--bg);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.onboardingSummaryTitle{font-size:13px;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.onboardingSummaryRow{display:flex;justify-content:space-between;font-size:15px;color:var(--secondary)}.onboardingSummaryRow strong{color:var(--ink)}.onboardingBtn{border:none;background:var(--green);color:white;border-radius:14px;padding:16px;font-size:17px;font-weight:600;cursor:pointer}.onboardingBtn:disabled{opacity:.5;cursor:default}.onboardingBtnSecondary{border:none;background:var(--bg);color:var(--secondary);border-radius:14px;padding:16px;font-size:16px;font-weight:500;cursor:pointer}.onboardingButtons{display:flex;gap:10px}.onboardingButtons .onboardingBtn{flex:2 1}.onboardingButtons .onboardingBtnSecondary{flex:1 1}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeletonPulse{background:linear-gradient(90deg,#E5E5EA 25%,#F0F0F5 50%,#E5E5EA 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.skeletonHero{height:100px;border-radius:16px}.skeletonCard{border-radius:12px;margin-top:12px;height:90px}.skeletonCardMed{height:110px}.skeletonCardTall{height:320px}.bottomNav{position:fixed;bottom:0;left:0;right:0;background:rgba(249,249,249,.85);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid rgba(60,60,67,.18);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:100}.navTab{flex:1 1;display:flex;flex-direction:column;align-items:center;padding:8px 0 4px;gap:3px;font-size:10px;font-weight:500;color:#8E8E93;background:transparent;border:0;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color .12s}.navTab:active{opacity:.5}.navTab.active{color:var(--green);font-weight:600}.navTabIcon{font-size:24px;line-height:1}footer{text-align:center;color:var(--secondary);font-size:12px;padding:20px 0 0}@media(max-width:760px){main{padding-left:12px;padding-right:12px}h1{font-size:28px}.grid{grid-template-columns:1fr}.card{min-height:0}}