@font-face{font-family:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(../media/7334b8b05e61def8-s.215jpmv1pn-uj.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.3w4dz-7w_7xvr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7334b8b05e61def8-s.215jpmv1pn-uj.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.3w4dz-7w_7xvr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:500;font-display:swap;src:url(../media/7334b8b05e61def8-s.215jpmv1pn-uj.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:500;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.3w4dz-7w_7xvr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:600;font-display:swap;src:url(../media/7334b8b05e61def8-s.215jpmv1pn-uj.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:600;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.3w4dz-7w_7xvr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_cad190c5-module__kVfO-a__className{font-family:DM Sans,DM Sans Fallback}
:root,[data-theme=dark]{--accent:#e4a10f;--accent-shadow:#ff95004d;--bg:#0f0f10;--border:#ffffff14;--ease:cubic-bezier(.5, 0, 1, .5);--radius:20px;--radius-sm:12px;--shadow:0 8px 32px #0006;--surface:#1c1c1e;--surface2:#2c2c2e;--surface3:#3a3a3c;--text:#fff;--text-muted:#888;--text2:#ffffff8c;--text3:#ffffff40}[data-theme=light]{--accent:#e4a10f;--bg:#f2f2f7;--border:#00000014;--surface:#fff;--surface2:#e5e5ea;--surface3:#d1d1d6;--text:#000;--text2:#0000008c;--text3:#00000047}[data-theme=ocean]{--accent:#b27f10;--bg:#05111f;--border:#64c8ff1a;--surface:#0a2038;--surface2:#103050;--surface3:#1a4060;--text:#e8f4ff;--text2:#b4dcff99;--text3:#78b4dc4d}[data-theme=forest]{--accent:#e4a10f;--bg:#0a140c;--border:#64dc781a;--surface:#132218;--surface2:#1e3326;--surface3:#284535;--text:#e8fbe8;--text2:#a0e6aa99;--text3:#64b46e4d}[data-theme=sunset]{--accent:#ff6b4a;--bg:#120808;--border:#ff78501a;--surface:#221210;--surface2:#351a16;--surface3:#46231e;--text:#fff2ee;--text2:#ffbea099;--text3:#dc82644d}[data-theme=lavender]{--accent:#e8a06d;--bg:#0e0a18;--border:#b482ff1a;--surface:#1a1428;--surface2:#261e3c;--surface3:#332850;--text:#f0eeff;--text2:#c8aaff99;--text3:#9678dc4d}body{background:var(--bg);color:var(--text);flex-direction:column;align-items:center;min-height:100vh;padding-bottom:80px;font-family:DM Sans,DM Sans Fallback;display:flex;overflow-x:hidden}.dashboard-macro-track div{background:var(--macro-color);border-radius:inherit;width:0%;height:100%;transition:width .4s}.nfl circle,.nfl .macro-goal-fill,.nfl .mini-week-chart .week-chart-bar-fill,.nfl .progress-bar,.nfl .dashboard-macro-track>div,.nfl .dashboard-week-bars>div{transition:none!important}.ptr-indicator{z-index:10000;justify-content:center;align-items:center;gap:12px;width:100%;height:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,sans-serif;transition:height .2s cubic-bezier(.2,.9,.4,1.1);display:flex;position:relative;top:0;left:0;overflow:hidden}.ptr-indicator.release-ready .ptr-actions .pulling{display:none}.ptr-indicator.release-ready .ptr-actions .refreshing,.ptr-indicator.refreshing .r-spinner{display:flex}.ptr-indicator.refreshing .ptr-actions{display:none}.r-spinner{width:20px;height:20px;display:flex;position:relative}.r-spinner .r-spinner-blade{will-change:opacity;background-color:#8e8e93;border-radius:1.25px;width:2.5px;height:6.5px;animation:1s linear infinite iSpinnerBlade;position:absolute;top:6.5px;left:8.5px}.r-spinner .r-spinner-blade:first-child{animation-delay:-1.625s;transform:rotate(45deg)translateY(-6.5px)}.r-spinner .r-spinner-blade:nth-child(2){animation-delay:-1.5s;transform:rotate(90deg)translateY(-6.5px)}.r-spinner .r-spinner-blade:nth-child(3){animation-delay:-1.375s;transform:rotate(135deg)translateY(-6.5px)}.r-spinner .r-spinner-blade:nth-child(4){animation-delay:-1.25s;transform:rotate(180deg)translateY(-6.5px)}.r-spinner .r-spinner-blade:nth-child(5){animation-delay:-1.125s;transform:rotate(225deg)translateY(-6.5px)}.r-spinner .r-spinner-blade:nth-child(6){animation-delay:-1s;transform:rotate(270deg)translateY(-6.5px)}.r-spinner .r-spinner-blade:nth-child(7){animation-delay:-.875s;transform:rotate(315deg)translateY(-6.5px)}.r-spinner .r-spinner-blade:nth-child(8){animation-delay:-.75s;transform:rotate(360deg)translateY(-6.5px)}.nav-btn span{font-size:10px}.header-title span{color:var(--accent)}.dashboard-score-inner span{letter-spacing:0;font-size:31px}.dashboard-metric-value span{font-size:31px;line-height:1}.dashboard-section-head span{font-size:16px;font-weight:700}.dashboard-macro-top span{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-week-legend span{align-items:center;gap:5px;display:inline-flex}.dashboard-week-legend span:first-child i{color:var(--accent)}.dashboard-week-legend span:last-child i{color:#36ade4}.macro-card-bottom span{border-radius:20px;font-size:11px}.onboarding-app-name span,.onboarding-slide-title span{color:var(--accent)}.onboarding-feature-text span{color:var(--text2);font-size:13px}.onboarding-legal-link span{flex:1}.calorie-big span:first-child{color:var(--accent);letter-spacing:-2px;font-size:42px;font-weight:700;line-height:1}.supplement-list li span{color:var(--text2);font-weight:500}.ai-status-box span{color:#34c759;font-size:14px;font-weight:500}.ptr-actions{justify-content:center;align-items:center;gap:8px;display:flex}.ptr-actions .pulling,.ptr-actions .refreshing{justify-content:center;align-items:center;transition:opacity .2s;display:flex}.ptr-actions .refreshing{display:none}.button-box button svg{width:32px;height:32px}.button-box button:hover svg{fill:#fff}.btn svg{transition:all .3s}.btn:hover svg{transform:rotate(45deg)}.onboarding-legal-link svg{opacity:.5;flex-shrink:0}.log-delete svg{transition:fill .15s}.log-delete:hover svg{fill:#ff453a}.app-footer{pointer-events:none;z-index:9998;justify-content:center;align-items:center;gap:12px;width:100%;max-width:400px;margin:0 auto;padding:0 16px;display:flex;position:fixed;bottom:22px;left:0;right:0}.app-footer>*{pointer-events:auto}.bottom-nav{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--border);background:#3a3a3c33;border-radius:30px;flex:1;width:auto;max-width:360px;transition:all .3s;display:flex;position:relative;overflow:visible}a:link:visited{color:var(--text2)}.settings-legal a,a:link,a:link:active{color:var(--text2);cursor:pointer;text-decoration:none}.settings-legal a:hover,a:link:hover{text-decoration:underline}.onboarding-legal-text p,.onboarding-legal-text a{color:var(--text2);margin:0;font-size:12.5px;line-height:1.6}.settings-toggle-sub,.license-section-body p,.license-section-body a{color:var(--text2);font-size:12px;font-weight:400}.form-helper a{color:var(--accent);font-weight:500;text-decoration:none}.form-helper a:hover{text-decoration:underline}.ai-disabled-notice a{color:var(--accent);font-weight:500;text-decoration:none}.nav-btn{color:var(--text3);cursor:pointer;z-index:1000;background:0 0;border:none;border-radius:32px;flex-direction:column;flex:1;align-items:center;gap:4px;height:60px;padding:12px 8px;font-family:DM Sans,sans-serif;font-size:20px;transition:color .2s;display:flex;position:relative;text-decoration:none!important}.nav-btn.active{color:var(--text)}.modal-step.active{flex-direction:column;display:block}.modal-step.active.nfl{animation:none}.scan-btn:active,.scan-btn.active,.option-btn.active,.option-btn:active{border-color:var(--accent);color:var(--accent);background:#ff95001a}.search-status.active{display:block}.search-result-fav.active{color:var(--accent)}.unit-btn.active{background:var(--accent);color:#fff}.quick-btn.active{border-color:var(--accent);color:var(--accent);background:#5ac8fa14}.option-btn.active{border-color:var(--accent);color:var(--accent);background:#ff95001a}.theme-option.active{border-color:var(--accent)}.sync-badge.active{color:#4ade80}.week-chart-mode-btn.active{border-color:var(--btn-color,var(--accent));color:var(--btn-color,var(--accent));background:0 0}#dsGoalViewSet.active,#dsGoalViewCalc.active{opacity:1;pointer-events:auto;animation:.3s cubic-bezier(.2,.9,.4,1.1) dsGoalFadeInScale;position:relative;transform:scale(1)}.onboarding-dot.active{background:var(--accent)}.goal-tab-btn.active{border-bottom-color:var(--accent);color:var(--accent)}.goal-tab-content.active,.app-view.active{display:block}.food-preview-fav.active{border-color:var(--accent);color:var(--accent);background:#e4840f1f}.rest-timer-bar.active{border-color:var(--accent);background:#e4840f14}.rest-timer-bar.active .rest-timer-time{color:var(--accent)}.food-preview-emoji i{font-size:28px;display:inline-block}.grid-item i{aspect-ratio:1;background:var(--surface2);color:var(--text);border-radius:50%;justify-content:center;align-items:center;width:auto;padding:.75rem;font-size:24px;display:flex}.calorie-label i{color:var(--accent);font-size:16px}.onboarding-legal-link i{text-align:center;flex-shrink:0;width:20px;font-size:16px}.method-btn i{color:var(--accent);text-align:center;flex-shrink:0;width:22px;font-size:18px}.supp-hint i{color:var(--accent);flex-shrink:0}.ai-info-box i{color:#5ac8fa;flex-shrink:0;font-size:16px}.form-helper i{color:var(--accent);flex-shrink:0;font-size:13px}.ai-status-box i{color:#34c759;font-size:18px}.set-play-btn i,.set-active-btn i,.set-check-btn i{font-size:18px}.set-check-done i{color:#fff}.rest-timer-label i{font-size:13px}.exercise-result-more i{opacity:.7;font-size:11px}.water-header i{color:#5ac8fa;font-size:16px}.saved-foods-empty i{color:var(--text3);margin-bottom:4px;font-size:28px}.ai-disabled-notice i{color:var(--accent);font-size:16px}.nav-slider{z-index:1;background:#3a3a3c80;border-radius:30px;width:calc(33.333% - 4px);transition:all .33s cubic-bezier(.2,.9,.4,1.1);position:absolute;top:2px;bottom:2px;left:2px}.extra-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);border-top:1px solid var(--border);cursor:pointer;z-index:11;background:#3a3a3c33;border-radius:30px;justify-content:center;align-items:center;width:60px;height:60px;transition:all .3s cubic-bezier(.34,1.15,.64,1);display:flex;position:relative;overflow:visible}.extra-btn.open .extra-icon{transform:rotate(45deg)}.extra-btn.open .extra-menu-grid{opacity:1;visibility:visible;transform:scale(1)}.extra-icon{font-size:20px;transition:transform .2s}.extra-menu-grid{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--surface);border:1px solid var(--border);opacity:0;transform-origin:100% 100%;visibility:hidden;z-index:1000;border-radius:28px;grid-template-columns:repeat(3,1fr);gap:12px;width:369px;padding:12px;transition:opacity .2s,transform .2s,visibility .2s;display:grid;position:absolute;bottom:-.5px;right:0;transform:scale(.25)}.grid-item{aspect-ratio:1;color:var(--text);cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;transition:background .15s;display:flex}.grid-item.empty{cursor:default;opacity:0;pointer-events:none;background:0 0}.grid-item.disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.views{width:100%}#dashboard-view,#onboardingOverlay,#workoutHistoryModal,.cookie-banner,.settings-panel,#supplementsModal{--accent:#e8282a;--accent-shadow:#e8282a4d}.app-view{width:100%;max-width:420px;margin:0 auto;padding-bottom:70px;display:none}.header{flex-direction:column;width:100%;max-width:420px;padding:12px 24px 0;display:flex}.header-title-row{justify-content:space-between;align-items:center;display:flex}.header-title{letter-spacing:-.5px;font-size:28px;font-weight:600}.button-box{background:var(--surface2);border:1px solid var(--border);border-radius:25px;justify-content:flex-end;height:50px;transition:width .28s cubic-bezier(.34,1.45,.64,1);display:flex;overflow:hidden}.button-box button{color:var(--text2);cursor:pointer;flex-shrink:0;order:attr(data-order number, 99);background:0 0;border:none;justify-content:center;align-items:center;width:50px;height:50px;transition:color .15s,background .15s,transform .2s cubic-bezier(.34,1.56,.64,1),opacity .15s;display:flex}.button-box button[data-order="1"]{order:1}.button-box button[data-order="2"]{order:2}.button-box button[data-order="3"]{order:3}.button-box button.removing{opacity:0;pointer-events:none}.rest-timer-actions button{background:var(--surface3);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-width:36px;height:30px;padding:0 8px;font-size:12px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.rest-timer-actions button:hover{background:var(--surface)}.mini-workout-actions button{background:var(--surface2);color:var(--text);cursor:pointer;border:none;border-radius:30px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.mini-workout-actions button:active{transform:scale(.94)}.macro-goal-row.hidden{display:none!important}.hidden{transition:opacity .9s ease-out,visibility .9s;opacity:0!important;visibility:hidden!important;display:none!important}.back-btn.hidden,.onboarding-overlay.hidden,.mini-workout-bar.hidden{display:none}.header-greeting{color:var(--text2);letter-spacing:.02em;font-size:13px;font-weight:400}.dashboard-shell{flex-direction:column;gap:14px;padding:18px 18px 24px;display:flex}.dashboard-top-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.activity-status-section{flex-direction:column;flex:1;gap:12px;display:flex}.activity-status-trigger{background:var(--surface);color:var(--text);cursor:pointer;text-align:left;border:1px solid #ffffff0f;border-radius:100rem;align-items:center;gap:12px;width:100%;padding:5px;transition:transform .16s,border-color .16s,background .16s;display:flex}.activity-status-trigger:active{transform:scale(.985)}.activity-status-badge{aspect-ratio:1/2;border-radius:10rem;flex:0 0 42px;justify-content:center;align-items:center;height:33px;font-size:1rem;display:inline-flex}.activity-status-trigger-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.activity-status-trigger-title{color:#fff;font-size:15px;font-weight:600;line-height:1.15}.activity-status-trigger-subtitle{color:var(--text2);font-size:12px;line-height:1.15}.activity-status-trigger-chevron{color:var(--text2);flex:none;margin-right:.5rem}#extraScannerOverlay.app-overlay{z-index:13000;background:#00000085;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.app-overlay,.appoverlay{-webkit-backdrop-filter:blur();backdrop-filter:blur();pointer-events:none;transition:background .3s var(--ease), backdrop-filter .3s var(--ease);z-index:10001;background:0 0;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.app-overlay.visible,.appoverlay.visible{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:all;background:#0009}.modal{background:var(--surface);will-change:transform, height;border-radius:28px 28px 0 0;flex-direction:column;width:100%;max-width:420px;max-height:calc(100vh - 24px);margin:0 auto;transition:transform .42s cubic-bezier(.34,1.15,.64,1);display:flex;overflow:hidden;transform:translateY(100%)}@media (min-width:720px){.extra-modal{border-radius:16px;margin-bottom:28px}}.activity-status-modal{max-width:420px}.extra-modal .modal-handle-zone{padding-top:8px}.modal-handle-zone{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:30px;display:flex}.modal-handle-zone:active{cursor:grabbing}.modal-handle-zone:hover .modal-handle{background:var(--surface2);width:44px}.modal-handle{background:var(--surface3);border-radius:2px;width:36px;height:4px;transition:background .15s,width .15s}.extra-modal .modal-header{justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.modal-header{z-index:1;background:linear-gradient(#1c1c1e 0%,#1c1c1eab 50%,#1c1c1e00 100%);flex-shrink:0;align-items:center;width:100%;height:40px;margin-top:-1px;padding:6px 24px 0;display:flex;position:absolute;top:30px}.modal-btn{z-index:89}.modal-btn .close-btn{background:var(--surface2)}.back-btn{background:var(--surface2);color:var(--accent);cursor:pointer;transition:all .25s var(--ease);border:none;border-radius:50px;align-self:flex-start;align-items:center;gap:4px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;display:flex}.back-btn:active{transform:scale(.9)}.modal-title{letter-spacing:-.3px;text-align:center;z-index:87;width:100%;font-size:19px;font-weight:600;position:absolute;left:50%;transform:translate(-50%,-1px)}.activity-status-modal-body{flex-direction:column;flex:1;gap:12px;padding:12px 20px;display:flex;overflow-y:auto}.activity-status-option-list,.activity-status-duration-list{flex-direction:column;display:flex}.activity-status-option-card,.activity-status-duration-row,.activity-status-keep-row{background:var(--surface2);color:var(--text);cursor:pointer;text-align:left;border:none;align-items:center;gap:12px;width:100%;padding:10px;transition:transform .15s,border-color .15s,background .15s;display:flex}.activity-status-option-card:first-child,.activity-status-duration-row:first-child,.activity-status-keep-row:first-child{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.activity-status-duration-row:nth-last-child(2),.activity-status-option-card:last-child{border-bottom-right-radius:1.25rem;border-bottom-left-radius:1.25rem}.activity-status-option-card.selected,.activity-status-duration-row.selected{background:var(--surface2);border-color:#ffffff1f}.activity-status-option-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.activity-status-option-title,.activity-status-duration-left,.activity-status-keep-left,.activity-status-keep-right{flex-direction:row;align-items:center;gap:5.5px;font-size:12px;font-weight:600;line-height:1.2;display:flex}.activity-status-option-title{font-size:12px!important}.activity-status-option-description{color:var(--text2);font-size:10px;font-weight:400;line-height:1.25}.activity-status-radio{border:1.5px solid #fff6;border-radius:999px;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;margin-left:auto;display:inline-flex}.activity-status-radio.selected .activity-status-radio-inner{opacity:1;transform:scale(1)}.activity-status-radio-inner{background:var(--text);opacity:0;border-radius:999px;width:12.5px;height:12.5px;transition:opacity .15s,transform .15s;transform:scale(.7)}.category-option.selected{border-color:var(--accent);background:#ff950014}.category-option.selected .category-name{color:var(--accent)}.supp-day.selected{background:var(--accent);border-color:var(--accent);color:#fff}.supp-day.selected .supp-day-name,.supp-day.selected .supp-day-progress{color:#ffffffd9}.supp-day.all-done:not(.selected){border-color:#34d399}.drink-option.selected{border-color:var(--accent);background:#5ac8fa14}.drink-option.selected .drink-option-name{color:var(--accent)}.activity-status-keep-row:nth-last-child(2){border-bottom-right-radius:1.25rem;border-bottom-left-radius:1.25rem}.activity-status-keep-row{border-radius:10rem;justify-content:space-between;padding:13px 14px}.activity-status-keep-left,.activity-status-keep-right{align-items:center;gap:8px;display:inline-flex}.activity-status-keep-left{color:#fff;font-weight:600}.activity-status-keep-right{color:var(--text2);margin-left:auto;font-size:13px;font-weight:500}.activity-status-footer{flex-shrink:0;padding:0 16px 16px}.activity-status-primary-btn{background:var(--surface2);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:transform .15s,filter .15s}.activity-status-primary-btn:active{filter:brightness(1.08);transform:scale(.98)}.activity-status-overlay{z-index:13020}.activity-status-overlay--keep{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:13030;background:#0006}.activity-status-modal-body--keep{padding-bottom:12px}.activity-status-duration-row:last-child{border-radius:100rem;margin-top:1rem}.activity-status-overlay--custom{z-index:13040}.app-overlay.activity-status-overlay{transition:opacity .3s;opacity:0!important;pointer-events:none!important}.app-overlay.activity-status-overlay.visible{opacity:1!important;pointer-events:all!important}.activity-status-modal--custom{max-width:420px}.activity-status-modal-body--custom{padding-top:4px}.activity-status-range-grid{flex-direction:column;gap:12px;display:flex}.manual-nutrient-item label{color:var(--text3);margin-bottom:4px;font-size:11px;display:block}.activity-status-range-field{flex-direction:column;gap:8px;display:flex}.activity-status-range-field .activity-status-range-input-row{min-height:48px}.activity-status-range-label{color:var(--text2);padding-left:2px;font-size:12px;font-weight:500}.activity-status-range-input-row{background:var(--surface2);border:1px solid #ffffff0f;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.activity-status-range-input-row input{color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:inherit;background:0 0;border:none;outline:none;flex:1}.activity-status-range-icon{color:var(--text2);width:18px;height:18px}input:-webkit-autofill{-webkit-text-fill-color:var(--text);color:var(--text);-webkit-background-clip:text;transition:background-color 5000s ease-in-out;box-shadow:inset 0 0 20px 20px #23232329}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);color:var(--text);-webkit-background-clip:text;transition:background-color 5000s ease-in-out;box-shadow:inset 0 0 20px 20px #23232329}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);color:var(--text);-webkit-background-clip:text;transition:background-color 5000s ease-in-out;box-shadow:inset 0 0 20px 20px #23232329}input:-webkit-autofill:active{-webkit-text-fill-color:var(--text);color:var(--text);-webkit-background-clip:text;transition:background-color 5000s ease-in-out;box-shadow:inset 0 0 20px 20px #23232329}input::-webkit-outer-spin-button{-moz-appearance:textfield;appearance:none;margin:0}input::-webkit-inner-spin-button{-moz-appearance:textfield;appearance:none;margin:0}.onboarding-feature-icon input[type=checkbox]{cursor:pointer;opacity:0;z-index:2;width:100%;height:100%;position:absolute}.onboarding-feature-icon input[type=checkbox]:checked+.checkbox-custom{background:var(--accent);border-color:var(--accent)}.onboarding-feature-icon input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";line-height:1}.manual-nutrient-item input{width:100%}.set-row input{background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:center;border-radius:8px;width:100%;padding:8px 6px;font-size:14px}.set-row input:focus{border-color:var(--accent);outline:none}.dash-header{flex-direction:row;align-items:center;gap:.75rem;width:100%;min-width:111px;max-width:calc(40% - 5px);display:flex}.weather-widget{background:var(--surface);border:1px solid #ffffff0a;border-radius:100rem;flex-direction:row;flex:1;align-items:center;gap:8px;width:100%;height:44px;padding:5px 8px 5px 5px;display:flex}.weather-widget-icon{background:var(--surface2);border-radius:50%;align-items:center;padding:4px;font-size:18px}.weather-widget-info{flex-direction:column;width:100%;min-width:0;display:flex}.weather-temperature{font-size:12px}.weather-location{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}#AiBox.ai .dashboard-hero{box-shadow:0 26px 23px -22px #6e44ff2e}#AiBox.ai .dashboard-widget.ai-tip-widget{display:block}.dashboard-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:56;justify-content:space-between;align-items:center;min-height:150px;padding:20px;transition:all .3s;display:flex;position:relative;overflow:hidden}.dashboard-hero,.dashboard-action-btn,.dashboard-metric-card,.dashboard-widget,.dashboard-week-card,.dashboard-macro-card,.dashboard-mini-card,.stat-card,.macro-card,.calorie-week-widget{transition:all .3s}.dashboard-hero-dash{flex-direction:column;gap:4px;max-width:58%;display:flex;position:relative}.dashboard-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.dashboard-title{letter-spacing:0;font-size:22px;font-weight:700;line-height:1}.dashboard-status{color:var(--text2);margin-top:6px;font-size:13px;line-height:1.35}.dashboard-score{flex:0 0 112px;width:112px;height:112px;position:relative}.dashboard-score-ring{width:112px;height:112px;transform:rotate(-90deg)}.dashboard-score-track,.dashboard-score-fill{fill:none;stroke-width:10px}.dashboard-score-track{stroke:var(--surface3)}.dashboard-score-fill{stroke:url(#dashboardScoreGrad);stroke-dasharray:301.59;stroke-dashoffset:301.59px;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.34,1.15,.64,1)}.dashboard-score-inner{justify-content:center;align-items:center;gap:2px;font-weight:800;display:flex;position:absolute;inset:0}.dashboard-score-inner small{color:var(--text2);margin-top:10px;font-size:13px}.dashboard-metric-value small{color:var(--text2);font-size:12px}.dashboard-section-head small{color:var(--text2);font-size:12px;font-weight:500}.dashboard-action-btn:hover,.dashboard-metric-card:hover,.dashboard-widget:hover,.dashboard-week-card:hover,.dashboard-macro-card:hover,.dashboard-mini-card:hover,.stat-card:hover,.macro-card:hover,.calorie-week-widget:hover{transform:translateY(-2.5px)}.dashboard-metric-card,.dashboard-widget,.dashboard-week-card,.dashboard-macro-card,.dashboard-mini-card,.dashboard-recent-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.dashboard-widget{align-items:center;gap:14px;padding:15px;display:flex}.ai-tip-widget{background:linear-gradient(135deg, var(--surface2), var(--surface));z-index:54;padding:40px 15px 15px;display:none;position:relative;transform:translateY(-25px)}.ai-tip-widget:hover{transform:translateY(-25px)}.dashboard-widget-rep{width:100%;min-width:0}.dashboard-widget-title{width:100%;margin-top:1px;font-size:16px;font-weight:700;line-height:1.2}.dashboard-widget-title .skeleton-line.name,.dashboard-widget-text .skeleton-line.name{width:55%;height:21px}.dashboard-widget-text .skeleton-line.brand{width:89%;height:14px}.dashboard-widget-text .skeleton-line.brand.last{width:67%;margin-top:3px}.dashboard-widget-text{color:var(--text2);margin-top:3px;font-size:12px;line-height:1.35}.dashboard-actions{gap:10px;display:flex}#calsync-view,#quickAddCal,.dashboard-week-card,.dashboard-recent-list,.dashboard-metric-card{--accent:#e4a10f;--accent-shadow:#ff95004d}.dashboard-action-btn{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #ffffff1f;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 14px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:transform .12s,filter .12s;display:flex}.dashboard-action-btn.secondary{background:#36ade4}.dashboard-action-btn:active{filter:brightness(1.08);transform:scale(.97)}.update-banner-btn.secondary{background:var(--surface2);border-color:var(--border);color:var(--text)}.dashboard-metric-grid,.dashboard-macro-grid,.dashboard-mini-grid{gap:10px;display:grid}.dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric-card{flex-direction:column;min-height:166px;padding:14px;display:flex}.dashboard-metric-top,.dashboard-macro-top{align-items:center;gap:8px;min-width:0;display:flex}.dashboard-metric-icon{color:var(--accent);background:#e4a10f21;border-radius:10px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.water-card .dashboard-metric-icon{color:#36ade4;background:#5cc9fa24}.dashboard-metric-label,.dashboard-mini-label,.dashboard-macro-goal{color:var(--text2);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.dashboard-metric-value{letter-spacing:0;align-items:baseline;gap:5px;margin-top:18px;font-weight:800;display:flex}.dashboard-metric-sub{color:var(--text2);min-height:16px;margin-top:5px;font-size:12px}.dashboard-card-progress{background:var(--surface3);border-radius:999px;width:100%;height:7px;margin-top:auto;overflow:hidden}.progress-bar{background:var(--accent);border-radius:inherit;width:0%;height:100%;transition:width .4s cubic-bezier(.34,1.15,.64,1)}.water-card .progress-bar{background:#36ade4}.dashboard-metric-goal{color:var(--text3);margin-top:8px;font-size:11px}.dashboard-section-head{justify-content:space-between;align-items:center;margin:2px 2px -4px;display:flex}.dashboard-macro-grid,.dashboard-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-macro-card{min-width:0;padding:12px}.dashboard-macro-top{color:var(--macro-color);font-size:12px;font-weight:700}.dashboard-macro-value{letter-spacing:0;margin-top:12px;font-size:20px;font-weight:800}.dashboard-macro-track{background:var(--surface3);border-radius:999px;height:5px;margin-top:9px;overflow:hidden}.dashboard-week-card{padding:14px}.dashboard-week-chart{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-height:126px;display:grid}.dashboard-week-day{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.dashboard-week-day.today .dashboard-week-label{color:var(--text)}.dashboard-week-bars{justify-content:center;align-items:flex-end;gap:3px;width:100%;height:88px;display:flex}.dashboard-week-bar{border-radius:2.5px;width:12px;height:0;transition:height .35s}.dashboard-week-bar.calories{background:var(--accent)}.dashboard-week-bar.water{background:#36ade4}.dashboard-week-label{color:var(--text3);text-align:center;font-size:10px;font-weight:700}.dashboard-week-legend{border-top:1px solid var(--border);color:var(--text2);gap:14px;margin-top:12px;padding-top:10px;font-size:11px;font-weight:600;display:flex}.dashboard-mini-card{text-align:center;min-width:0;padding:12px 8px}.dashboard-mini-icon{color:var(--text2);margin-bottom:8px;font-size:15px}.dashboard-mini-value{letter-spacing:0;overflow-wrap:anywhere;font-size:17px;font-weight:800;line-height:1.1}.dashboard-mini-label{color:var(--text3);margin-top:4px}.dashboard-recent-list{flex-direction:column;display:flex;overflow:hidden}.dashboard-empty-state{color:var(--text2);text-align:center;padding:18px;font-size:13px}.whats-new-overlay{z-index:13040}.recent-searches.visible{display:flex}#historyModalBody,#ds-historyModal .modal-body,#goalModal,#dsGoalModalBody,#aiTextModalBody,#workoutHistoryModalBody,#supplementsModalBody,#historyModal .modal-body{padding:0 16px}.extra-modal .modal-body{padding:12px 16px 20px}.modal-body{-webkit-overflow-scrolling:touch;height:unset;min-height:0;overflow-x:hidden;overflow-y:unset;transition:all .3s var(--ease);flex:1;position:relative;padding-top:55px!important}.modal-body::-webkit-scrollbar{width:0!important;height:0!important}.exercise-category-filters::-webkit-scrollbar{width:0!important;height:0!important}.whats-new-content{flex-direction:column;gap:12px;padding:16px 24px;display:flex;overflow-y:auto}.whats-new-list{flex-direction:column;gap:12px;display:flex}.whats-new-entry{background:var(--surface2);border:1px solid #ffffff0f;border-radius:18px;padding:14px 16px}.whats-new-entry-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.whats-new-entry-category{color:#ffbe66;text-transform:uppercase;background:#e4840f2e;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.whats-new-entry-version{color:var(--text2);font-size:12px;font-weight:600}.whats-new-entry-title{color:#fff;font-size:16px;font-weight:700;line-height:1.25}.onboarding-slide .onboarding-slide-icon,.onboarding-slide .onboarding-slide-title,.onboarding-slide .onboarding-slide-desc,.onboarding-slide .onboarding-feature,.onboarding-slide .onboarding-legal-link,.onboarding-slide .onboarding-legal-text,.onboarding-slide .onboarding-legal-text p,.onboarding-slide .ai-meal-scanning,.onboarding-slide .ai-meal-scanning p{opacity:0;animation:.42s cubic-bezier(.34,1.15,.64,1) forwards onboardingFadeUp}.onboarding-slide .onboarding-legal-text p:first-child{animation-delay:.52s}.onboarding-slide .onboarding-legal-text p:nth-child(2){animation-delay:.62s}.onboarding-slide .onboarding-legal-text p:nth-child(3){animation-delay:.72s}.onboarding-slide .onboarding-legal-text p:nth-child(4){animation-delay:.82s}.onboarding-slide .onboarding-legal-text p:nth-child(5){animation-delay:.95s}.onboarding-slide .onboarding-legal-text p:nth-child(6){animation-delay:1.02s}.onboarding-slide .onboarding-legal-text p:nth-child(7){animation-delay:1.12s}.onboarding-slide .onboarding-legal-text p:nth-child(8){animation-delay:1.22s}.onboarding-slide .onboarding-legal-text p:nth-child(9){animation-delay:1.32s}.onboarding-slide .onboarding-legal-text p:nth-child(10){animation-delay:1.42s}.onboarding-slide .onboarding-legal-text p:nth-child(11){animation-delay:1.52s}.onboarding-slide .onboarding-legal-text p:nth-child(12){animation-delay:1.62s}.onboarding-slide .onboarding-legal-text p:nth-child(13){animation-delay:1.72s}.onboarding-slide .onboarding-legal-text p:nth-child(14){animation-delay:1.82s}.onboarding-slide .onboarding-legal-text p:nth-child(15){animation-delay:1.92s}.onboarding-slide .ai-meal-scanning p:nth-child(2){animation-delay:1s}.onboarding-slide .ai-meal-scanning p:nth-child(3){animation-delay:1.1s}.onboarding-slide .ai-meal-scanning p:nth-child(4){animation-delay:1.2s}.onboarding-slide .ai-meal-scanning p:nth-child(5){animation-delay:1.3s}.onboarding-slide .ai-meal-scanning p:nth-child(6){animation-delay:1.4s}.onboarding-slide .ai-meal-scanning p:nth-child(7){animation-delay:1.5s}.onboarding-slide .ai-meal-scanning p:nth-child(8){animation-delay:1.6s}.onboarding-slide .ai-meal-scanning p:nth-child(9){animation-delay:1.7s}.onboarding-slide .ai-meal-scanning p:nth-child(10){animation-delay:1.8s}.onboarding-slide .ai-meal-scanning p:nth-child(11){animation-delay:1.9s}.onboarding-slide .ai-meal-scanning p:nth-child(12){animation-delay:2s}.onboarding-slide .ai-meal-scanning p:nth-child(13){animation-delay:2.1s}.onboarding-slide .ai-meal-scanning p:nth-child(14){animation-delay:2.2s}.onboarding-slide .ai-meal-scanning p:nth-child(15){animation-delay:2.3s}.onboarding-slide.slide-reset .onboarding-slide-icon,.onboarding-slide.slide-reset .onboarding-slide-title,.onboarding-slide.slide-reset .onboarding-slide-desc,.onboarding-slide.slide-reset .onboarding-feature,.onboarding-slide.slide-reset .onboarding-legal-link,.onboarding-slide.slide-reset .onboarding-legal-text,.onboarding-slide.slide-reset .onboarding-legal-text p,.onboarding-slide.slide-reset .onboarding-legal-text p,.onboarding-slide.slide-reset .ai-meal-scanning,.onboarding-slide.slide-reset .ai-meal-scanning p{opacity:0;animation:none}.onboarding-legal-text p,.ai-meal-scanning p{color:var(--text2);margin:0;font-size:12.5px;line-height:1.6}.ai-info-box p{color:var(--text2);margin:0;font-size:13px;line-height:1.5}.ai-terms-content p,.ai-terms-content li{color:var(--text2);font-size:13px;line-height:1.6}.settings-legal p{color:var(--text2);margin-bottom:6px;font-size:11px;line-height:1.6}.ai-disabled-notice p{color:var(--text2);margin:0;font-size:13px;line-height:1.5}.whats-new-entry-description{color:var(--text2);margin-top:6px;font-size:13px;line-height:1.55}#settingsModal.small,#modal.small{transform:scale(.95)translateY(18px)!important}.modal-step{-webkit-overflow-scrolling:touch;will-change:transform, opacity;padding-bottom:20px;display:none;overflow-y:auto}.modal-step.carousel-enter-right{width:100%;animation:.34s cubic-bezier(.4,0,.2,1) both carouselInRight;display:block;position:absolute;top:0;left:0}.modal-step.carousel-exit-left{pointer-events:none;width:100%;animation:.34s cubic-bezier(.4,0,.2,1) both carouselOutLeft;display:block;position:absolute;top:0;left:0}.modal-step.carousel-enter-left{width:100%;animation:.34s cubic-bezier(.4,0,.2,1) both carouselInLeft;display:block;position:absolute;top:0;left:0}.modal-step.carousel-exit-right{pointer-events:none;width:100%;animation:.34s cubic-bezier(.4,0,.2,1) both carouselOutRight;display:block;position:absolute;top:0;left:0}.settings-section,.license-section{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin:24px;overflow:hidden}.settings-section:first-child,.license-section:first-child{margin-top:0}.settings-section-title,.license-section-title{border-bottom:1px solid var(--border);color:var(--text2);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;padding:14px 16px 10px;font-size:13px;font-weight:600;display:flex}#loggedInSettings{margin:10px}.auth-user-info{background:var(--surface3);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px;font-size:14px;font-weight:500;display:flex}.auth-avatar{object-fit:cover;vertical-align:middle;border-radius:50%;width:28px;height:28px}.onboarding-logo img{object-fit:cover;width:100%;height:100%}.splash-logo img{border-radius:24px;width:128px;height:128px}.sync-badge{color:var(--text3);text-align:center;padding:4px 0;font-size:13px}.mgmnt-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:calc(100% - 20px);margin:10px;padding:12px 18px;font-size:15px;font-weight:600;display:flex}.divider{color:var(--text3);align-items:center;gap:10px;margin:.5rem 0;font-size:.82rem;display:flex}.divider:before,.divider:after{background:var(--border);content:"";flex:1;height:1px}.camera-controls .option-btn{background:var(--surface2);color:var(--text);border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.option-btn{background:var(--surface3);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);cursor:pointer;height:100%;transition:all .15s var(--ease);padding:7px 13px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;line-height:1}.goal-manual-wrap .option-btn{height:100%}.settings-section-body,.license-section-body{padding:14px 16px}.settings-toggle-row{justify-content:space-between;align-items:center;gap:16px;padding:4px 0;display:flex}.settings-toggle-label{color:var(--text);flex-direction:column;gap:3px;font-size:14px;display:flex}.settings-toggle-sub{color:var(--text2);font-size:12px;font-weight:400}.app-toggle-switch{background:var(--surface3);cursor:pointer;border:none;border-radius:14px;outline:none;flex-shrink:0;width:48px;height:28px;transition:background .22s;position:relative}.app-toggle-switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .22s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px}.app-toggle-switch[aria-pressed=true]{background:var(--accent)}.app-toggle-switch[aria-pressed=true]:after{transform:translate(20px)}.ai-info-box{border-radius:var(--radius-sm);background:#5ac8fa14;border:1px solid #5ac8fa33;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;display:flex}.form-row{margin-top:14px}#goalModal .form-row{margin-bottom:20px}.form-label{color:var(--text2);margin-bottom:6px;font-size:13px;font-weight:400;display:block}#goalModal .form-label{align-items:center;gap:6px;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.api-key-input-wrapper .form-input{padding-right:46px}.api-key-input-wrapper{align-items:center;display:flex;position:relative}.form-input{appearance:textfield;background:var(--surface3);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.api-key-toggle{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px;position:absolute;right:8px}.form-helper{color:var(--text3);align-items:center;gap:6px;margin-top:6px;font-size:12px;line-height:1.4;display:flex}.goal-display-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.goal-display-val{color:var(--accent);letter-spacing:-.5px;flex-shrink:0;font-size:22px;font-weight:600}.onboarding-legal-text ul{padding:16px}.ai-terms-content ul{margin:0 0 12px;padding-left:24px}.supplement-list{flex-direction:column;gap:6px;width:100%;margin:0;padding:0;list-style:none;display:flex}.supplement-list li{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.supplement-list li strong{color:var(--text);font-feature-settings:"tnum" 1;font-weight:600}.onboarding-feature-text strong{color:var(--text);font-size:14px;font-weight:600;display:block}.flex-container{display:flex}.gap-10px{gap:10px}.theme-picker{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;padding-top:4px;display:grid}.theme-option{border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:4px;transition:border-color .2s;display:flex}.theme-swatch{aspect-ratio:1.6;border-radius:10px;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:3px;width:100%;padding:6px;display:grid;overflow:hidden}.theme-swatch-bg{border-radius:6px;grid-column:1/-1}.theme-swatch-s1,.theme-swatch-s2{border-radius:4px}.theme-swatch-accent{border-radius:4px;grid-column:1/-1;align-self:end;height:6px}.theme-option-label{color:var(--text2);font-size:12px;font-weight:500}.data-btn,.btn{background:var(--surface3);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:13px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.data-btn.danger,.btn.danger{color:#ff453a}.settings-legal{border-top:1px solid var(--border);margin:20px 24px 0;padding:8px 4px}.settings-legal-footer{text-align:center}.ai-summary-table tr:last-child td{color:var(--accent);border-bottom:none;font-weight:600}.ai-summary-table th,.ai-summary-table td{border-bottom:1px solid var(--border);text-align:left;padding:12px 16px;font-size:14px}.ai-summary-table td{color:var(--text);font-weight:500}.change-settings{cursor:pointer}.change-settings:hover{cursor:pointer;text-decoration:underline}.add-workout{border:2px dashed var(--border);cursor:pointer;border-radius:16px;align-items:center;gap:.75rem;width:100%;margin-top:1rem;padding:12px;display:flex}.add-wo-btn{border:1px solid var(--border);border-radius:10px;padding:7.5px}.add-wo-text{flex:1}.routine-list{flex-direction:column;gap:8px;margin-top:1rem;display:flex}.empty-state{color:var(--text3);text-align:center;padding:32px;font-size:14px}.supp-date-label{color:var(--text);text-align:center;margin:4px 0 12px;font-size:16px;font-weight:600}.supp-week-strip{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px;display:grid}.supp-day{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;transition:background .15s,border-color .15s,transform .15s;display:flex}.supp-day:hover{background:var(--surface3)}.supp-day.today{border-color:var(--accent)}.supp-day.future{opacity:.55}.supp-day-name{color:var(--text2);text-transform:uppercase;font-size:11px;font-weight:500}.supp-day-num{font-feature-settings:"tnum" 1;font-size:18px;font-weight:700;line-height:1}.supp-day-progress{color:var(--text2);font-feature-settings:"tnum" 1;font-size:11px;font-weight:500}.week-chart-day.today{color:var(--accent);font-weight:700}.supp-hint{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;font-size:12px;display:flex}.supp-list{flex-direction:column;gap:8px;display:flex}.modal-btn--right{z-index:89;margin-left:auto}.camera-preview video{object-fit:cover;width:100%;height:100%;display:block}#cameraVideo{aspect-ratio:2/3;border-radius:var(--radius-sm);object-fit:cover;background:#000;width:100%}.camera-frame-overlay{border-radius:var(--radius-sm);pointer-events:none;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.scan-frame{aspect-ratio:1.6;background:0 0;border:2px solid #ffffffe6;border-radius:16px;width:75%;max-width:280px;position:relative;box-shadow:0 0 0 9999px #00000080}.scan-frame:before{color:var(--text);content:"Scan barcode";pointer-events:none;white-space:nowrap;margin-bottom:64px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.scan-frame:after{color:var(--text);content:"Focus on barcode to auto-scan or enter it manually to identify items.";pointer-events:none;text-align:center;width:max-content;max-width:100%;margin-bottom:18px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.search-status{color:var(--text2);text-align:center;margin-top:20px;font-size:13px;display:none}.search-step-inner{flex-direction:column;gap:12px;padding:0 24px;display:flex}.bottom-sheet.camera-sheet{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);box-shadow:var(--shadow);z-index:12000;max-height:85vh;transition:transform .36s cubic-bezier(.4,0,.2,1);position:relative;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(110%)}.camera-body{flex-direction:column;gap:12px;display:flex}.camera-preview{aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;position:relative;overflow:hidden}.camera-overlay-frame{pointer-events:none;border:3px dashed #ffffff1f;border-radius:8px;width:66%;height:60%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-status{color:var(--text2);text-align:center;font-size:14px}.camera-controls{justify-content:center;gap:8px;display:flex}.modal-footer{flex-shrink:0;padding:4px 24px 24px}.confirm-btn{background:var(--accent);box-shadow:0 4px 20px var(--accent-shadow);color:var(--text);cursor:pointer;transition:transform .15s cubic-bezier(.34, 1.56, .64, 1), box-shadow .15s var(--ease), opacity .2s;border:none;border-radius:16px;justify-content:center;width:100%;padding:16px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;display:flex}.confirm-btn.active{box-shadow:0 4px 20px var(--accent-shadow), 0 0 0 4px #ffffff1a}.confirm-btn:active{transform:scale(.97)}.confirm-btn:disabled{cursor:not-allowed;opacity:.4}.toast{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border);box-shadow:var(--shadow);opacity:0;pointer-events:none;white-space:nowrap;z-index:10001;background:#2c2c2e40;border-radius:50px;align-items:center;gap:10px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed;top:30px;left:50%;transform:translate(-50%)translateY(-40px)scale(.9)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.toast.toast-success{color:#52b472;background:#52b47340;border:1px solid #397d4f}.toast.toast-success .toast-undo-btn{background:#34c75933;border-color:#34c75966}.toast.toast-error{background:#ff453a40;border:1px solid #ff453a}.toast.toast-error .toast-undo-btn{background:#ff453a33;border-color:#ff453a66}.toast.toast-warning{background:#e4840f40;border:1px solid #e4840f}.toast.toast-warning .toast-undo-btn{background:#e4840f33;border-color:#e4840f66}#dropsync-view,#ds-addOverlay,#ds-historyOverlay,#ds-notesOverlay{--accent:#36ade4;--accent-shadow:#5cc9fa4d}.modal-open{overflow:hidden!important}::-webkit-scrollbar{-webkit-appearance:none;z-index:1000000;width:7.5px}::-webkit-scrollbar-thumb{background-color:#0000;border-radius:4px;-webkit-box-shadow:0 0 1px #ffffff80}::-webkit-scrollbar-track{background:0 0;border-top-right-radius:5px;border-bottom-right-radius:5px}::-webkit-scrollbar-thumb{background:#707070}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}@keyframes snapFlash{0%{opacity:1;transform:translate(-50%,-50%)scale(.7)}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseInOut{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes waveScroll{0%{transform:translateY(-7px)}to{transform:translate(-70px,-7px)}}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes carouselInRight{0%{opacity:.4;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes carouselOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:.4;transform:translate(-100%)}}@keyframes carouselInLeft{0%{opacity:.4;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes carouselOutRight{0%{opacity:1;transform:translate(0)}to{opacity:.4;transform:translate(100%)}}@keyframes iconPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes onboardingFadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes dsGoalFadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box;margin:0;padding:0}.sheet-handle-zone{align-items:center;gap:12px;padding:12px 16px;display:flex}.sheet-handle{background:var(--surface2);border-radius:4px;width:44px;height:6px;margin:0 auto}.sheet-header{justify-content:space-between;align-items:center;width:100%;padding:8px 16px 12px;display:flex}.sheet-title{color:var(--text);font-size:16px;font-weight:600}.sheet-close-btn{color:var(--text);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.extra-modal{background:var(--surface);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:720px;margin:0 12px 12px;overflow:hidden;transform:translateY(0)}.calorie-big{font-size:26px;font-weight:700}@keyframes iSpinnerBlade{0%{opacity:.85}50%{opacity:.25}to{opacity:.25}}.skeleton-info{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.skeleton-line{background:var(--surface3);border-radius:6px;height:11px;overflow:hidden}.skeleton-line.name{width:62%}.skeleton-line.brand{width:40%}.skeleton-icon:after,.skeleton-line:after,.skeleton-kcal:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff12 40%,#ffffff21 50%,#ffffff12 60%,#0000 100%) 0 0/400px 100%;width:100%;height:100%;animation:2.5s linear infinite shimmer;display:block}.activity-status-header{align-items:center;gap:10px;padding:2px 16px 12px;display:flex;position:relative}.activity-status-header-btn{color:#fff;cursor:pointer;z-index:2;background:#20202a;border:none;border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.activity-status-header-icon{width:16px;height:16px}.activity-status-header-title{color:#fff;text-align:center;z-index:1;width:calc(100% - 112px);font-size:16px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.activity-status-header-spacer{flex:0 0 36px;height:36px;margin-left:auto}.dashboard{width:100%;max-width:420px;margin:0 auto;padding:20px 16px 0}.dashboard-stats-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.calorie-week-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:12px;padding:12px;display:flex}.calorie-label{color:var(--text2);margin-bottom:6px;font-size:14px;font-weight:600}.calorie-left{color:var(--text2);font-size:12px}.mini-week-chart{border-radius:12px;flex:1;width:100%;height:90%;padding:6px 6px 0}.week-chart-mode-btn{background:var(--surface3);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);cursor:pointer;height:100%;transition:all .15s var(--ease);padding:7px 13px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;line-height:1}.week-chart-bars{align-items:flex-end;height:100%;display:flex}.week-chart-col{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.week-chart-bar-fill{background:var(--accent);border-radius:2px;width:100%;min-height:2px;margin:2px;transition:height .3s}.week-chart-goal-line{z-index:2;background:#ffffff4d;border-top:1px dashed #fff;width:calc(100% + 1.6px);height:1px;transition:all .3s;position:absolute;left:0;right:0}.calorie-ring-widget{justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 12px;display:flex;position:relative}.calorie-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.calorie-ring-bg{fill:none;stroke:var(--surface3);stroke-width:4px}.calorie-ring-fill{fill:none;stroke:var(--accent);stroke-dasharray:100.53;stroke-dashoffset:100.53px;stroke-linecap:round;stroke-width:4px;transition:stroke-dashoffset .5s}.calorie-ring-percent{color:var(--accent);font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.macro-widgets{gap:10px;display:flex}.macro-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;flex:1;padding:10px}.macro-card[data-macro=protein] .macro-ring-fill{stroke:#30d158}.macro-card[data-macro=carbs] .macro-ring-fill{stroke:#ffd60a}.macro-card[data-macro=fat] .macro-ring-fill{stroke:#ff6b35}.macro-card-top{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;display:flex}.macro-name{color:var(--text2);letter-spacing:.5px;font-size:12px;font-weight:700}.ring{width:24px;height:24px}.macro-ring{width:100%;height:100%;transform:rotate(-90deg)}.macro-ring-bg{fill:none;stroke:var(--surface3);stroke-width:4px}.macro-ring-fill{fill:none;stroke-dasharray:100.53;stroke-dashoffset:100.53px;stroke-linecap:round;stroke-width:4px;transition:stroke-dashoffset .5s}.macro-card-bottom{color:var(--text2);letter-spacing:.5px;text-align:left;font-size:12px;font-weight:700}.stats-row{gap:10px;width:100%;max-width:420px;margin-top:8px;padding:0 16px;display:flex}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 8px;display:flex}.stat-icon{color:var(--text2);font-size:16px}.stat-value{font-size:20px;font-weight:700;line-height:1.2}.stat-label{color:var(--text2);letter-spacing:.5px;text-transform:uppercase;font-size:10px}.macro-goals-section{box-sizing:border-box;flex-direction:column;gap:8px;width:100%;max-width:416px;margin:10px 0;padding:0 16px;display:flex}.macro-goal-row{flex-direction:column;gap:5px;margin-top:10px;display:flex}.macro-goal-header{justify-content:space-between;align-items:center;display:flex}.macro-goal-name{font-size:13px;font-weight:600}.macro-goal-label-val{color:var(--text2);font-size:12px}.macro-goal-track{background:var(--surface2);border-radius:999px;width:100%;height:7px;overflow:hidden}.macro-goal-fill{border-radius:999px;width:0%;height:100%;transition:width .6s cubic-bezier(.34,1.15,.64,1)}.log-section{width:100%;max-width:420px;padding:24px 24px 0}.section-title{letter-spacing:-.2px;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:17px;font-weight:600;display:flex}.log-list{flex-direction:column;gap:8px;display:flex}.empty-icon{margin-bottom:10px;font-size:36px}.ring-section{flex-direction:column;align-items:center;width:100%;max-width:420px;padding:36px 24px 0;display:flex}.ring-container{width:220px;height:220px;position:relative}.ring-svg{width:220px;height:220px;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface2);stroke-linecap:round;stroke-width:14px}.ring-progress{fill:none;filter:drop-shadow(0 0 8px #5cc9fa66);stroke:url(#ringGrad);stroke-dasharray:597;stroke-dashoffset:597px;stroke-linecap:round;stroke-width:14px;transition:stroke-dashoffset .8s cubic-bezier(.34,1.56,.64,1)}.ring-inner{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-amount{letter-spacing:-1px;font-size:38px;font-weight:600;line-height:1}.ring-unit{color:var(--text2);font-size:13px;font-weight:400}.ring-goal{color:var(--text3);margin-top:2px;font-size:11px}.onboarding-overlay{background:var(--bg);z-index:9999;flex-direction:column;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.onboarding-header,.onboarding-progress,.onboarding-body,.onboarding-footer{width:100%;max-width:420px}.onboarding-header{flex-shrink:0;justify-content:space-between;align-items:center;min-height:64px;padding:20px 24px 0;display:flex}.onboarding-header-left{align-items:center;gap:10px;display:flex}.onboarding-logo{border-radius:10px;width:36px;height:36px;overflow:hidden}.onboarding-app-name{color:var(--text);font-size:18px;font-weight:600}.onboarding-login{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-width:0;height:36px;padding:0 16px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;transition:transform .12s,opacity .12s;display:flex}.onboarding-progress{flex-shrink:0;gap:6px;padding:18px 24px 0;display:flex}.onboarding-body{flex:1;margin-top:8px;position:relative;overflow:hidden}.onboarding-slides{will-change:transform;height:100%;transition:transform .38s cubic-bezier(.4,0,.2,1);display:flex}.onboarding-slide{-webkit-overflow-scrolling:touch;flex-direction:column;gap:16px;min-width:100%;height:100%;padding:28px 28px 16px;display:flex;overflow-y:auto}.onboarding-slide .onboarding-slide-icon{animation-delay:50ms}.onboarding-slide .onboarding-slide-title{animation-delay:.15s}.onboarding-slide .onboarding-slide-desc{animation-delay:.24s}.onboarding-slide .onboarding-feature:first-child{animation-delay:.32s}.onboarding-slide .onboarding-feature:nth-child(2){animation-delay:.42s}.onboarding-slide .onboarding-feature:nth-child(3){animation-delay:.52s}.onboarding-slide .onboarding-feature:nth-child(4){animation-delay:.62s}.onboarding-slide .onboarding-feature:nth-child(5){animation-delay:.72s}.onboarding-slide .onboarding-feature:nth-child(6){animation-delay:.82s}.onboarding-slide .onboarding-feature:nth-child(7){animation-delay:.92s}.onboarding-slide .onboarding-legal-link:first-child{animation-delay:.32s}.onboarding-slide .onboarding-legal-link:nth-child(2){animation-delay:.42s}.onboarding-slide .onboarding-legal-link:nth-child(3){animation-delay:.52s}.onboarding-slide .onboarding-legal-link:nth-child(4){animation-delay:.62s}.onboarding-slide .onboarding-legal-text{animation-delay:.52s}.onboarding-slide .ai-meal-scanning{animation-delay:.8s}.onboarding-slide-icon{color:var(--accent);filter:drop-shadow(0 4px 16px color-mix(in srgb, var(--accent) 40%, transparent));text-align:center;flex-shrink:0;font-size:56px;line-height:1}.onboarding-slide-title{color:var(--text);text-align:center;flex-shrink:0;font-size:26px;font-weight:700;line-height:1.2}.onboarding-slide-desc{color:var(--text2);text-align:center;font-size:15px;line-height:1.65}.onboarding-feature-list{flex-direction:column;gap:12px;width:100%;display:flex}.onboarding-feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:14px;padding:14px 16px;display:flex}.onboarding-feature-icon{background:var(--surface2);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:relative}.onboarding-feature-icon.clickable{cursor:pointer}.onboarding-feature-icon:hover .checkbox-custom{border-color:var(--accent)}.onboarding-feature-text{flex:1}.onboarding-legal-list{flex-direction:column;gap:8px;width:100%;display:flex}.onboarding-legal-links{flex-direction:column;gap:8px;display:flex}.onboarding-legal-link{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:12px;padding:14px 16px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:opacity .15s;display:flex}.onboarding-legal-link:active{opacity:.7}.onboarding-legal-text,.onboarding-legal-text,.ai-meal-scanning{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:14px 16px;display:flex;overflow-y:auto}.onboarding-legal-agree{color:var(--text3);text-align:center;margin-top:6px;font-size:12px;line-height:1.5}.checkbox-custom{border:2px solid var(--text3);color:#fff;pointer-events:none;background:0 0;border-radius:5px;justify-content:center;align-items:center;width:22.5px;height:22.5px;font-size:16px;font-weight:700;transition:all .2s;display:flex}.onboarding-footer{padding:16px 24px max(24px, env(safe-area-inset-bottom));flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.onboarding-back-btn{background:var(--surface);border:1px solid var(--border);color:var(--text2);cursor:pointer;opacity:1;pointer-events:auto;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;min-width:52px;height:52px;transition:width .36s cubic-bezier(.34,1.15,.64,1),min-width .36s cubic-bezier(.34,1.15,.64,1),opacity .28s,margin-right .36s cubic-bezier(.34,1.15,.64,1);display:flex;overflow:hidden}.onboarding-back-btn.btn-hidden{opacity:0;pointer-events:none;width:0;min-width:0;margin-right:-12px}.onboarding-next-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;height:52px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;transition:transform .12s,opacity .12s;display:flex}.onboarding-next-btn:active{opacity:.9;transform:scale(.97)}.category-grid{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;padding-top:30px;display:grid}.category-option{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px 8px 12px;transition:all .18s cubic-bezier(.34,1.56,.64,1);display:flex}.category-option:active{transform:scale(.95)}.add-category-icon{font-size:28px}.category-name{color:var(--text2);font-size:12px;font-weight:500}.method-selection{border-top:1px solid var(--border);margin-top:10px;padding-top:30px}.method-buttons{flex-direction:column;gap:10px;display:flex}.method-btn{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:14px;width:100%;padding:18px 20px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:all .18s cubic-bezier(.34,1.56,.64,1);display:flex}.method-btn:active{border-color:var(--accent);background:#ff950014;transform:scale(.98)}.method-btn:disabled{cursor:not-allowed;opacity:.4}.method-btn:disabled:active{transform:unset}.ai-processing{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;margin-top:20px;margin-bottom:1rem;padding:60px 20px}.processing-spinner{color:var(--accent);margin-bottom:20px;font-size:56px;animation:2s ease-in-out infinite pulse}.processing-text{color:var(--text);font-size:16px;font-weight:500}.search-row{align-items:flex-start;gap:8px;display:flex}.search-elements{flex:1;grid-template-rows:1fr 0fr;gap:0;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.search-elements.barcode-mode{grid-template-rows:0fr 1fr}.search-elements>*{min-height:0;overflow:hidden}.search-input-wrap{flex:1;align-items:center;display:flex;position:relative}.search-icon{color:var(--text3);pointer-events:none;font-size:14px;position:absolute;left:14px}.food-search-input{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:12px 14px 12px 38px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;transition:border-color .15s}.food-search-input:focus{border-color:var(--accent)}.barcode-input-row{align-items:center;gap:8px;padding-bottom:0;display:flex}.barcode-input-wrap{flex:1}.scan-btn{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text2);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;transition:all .15s;display:flex}.recent-searches{flex-direction:column;gap:8px;padding-top:12px;display:none}.search-results{flex-direction:column;gap:8px;max-height:260px;padding-top:8px;display:flex;overflow-y:auto}.search-step-inner .food-confirm-inner{padding:0!important}.food-confirm-inner{flex-direction:column;gap:16px;padding:16px 24px 0;display:flex}.food-preview-card{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;padding:16px;display:flex}.food-preview-emoji{background:var(--surface3);color:var(--accent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;display:flex}.food-preview-info{flex:1;min-width:0}.food-preview-fav{background:var(--surface3);border:1.5px solid var(--border);color:var(--text3);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;width:36px;height:36px;font-size:16px;transition:color .18s,border-color .18s,background .18s,transform .18s;display:flex}.food-preview-fav:hover{border-color:var(--accent);color:var(--accent)}.food-preview-fav:active{transform:scale(.94)}.food-preview-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.food-preview-brand{color:var(--text2);margin-top:2px;font-size:12px}.food-preview-per{color:var(--text3);margin-top:2px;font-size:12px}.amount-section{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:16px;display:flex}.amount-label{color:var(--text2);font-size:13px;font-weight:400}.amount-input-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.amount-big-input{appearance:textfield;background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);letter-spacing:-1px;outline:none;flex:1;width:160px;padding:12px;font-family:DM Sans,sans-serif;font-size:28px;font-weight:600;transition:border-color .15s}.amount-big-input:focus{border-color:var(--accent)}.amount-unit-toggle{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.unit-btn{color:var(--text2);cursor:pointer;background:0 0;border:none;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.quick-amounts{flex-wrap:wrap;grid-template-columns:repeat(4,1fr);justify-content:center;gap:7px;width:100%;display:grid}.quick-btn{background:var(--surface3);border:1.5px solid var(--border);color:var(--text2);cursor:pointer;transition:all .15s var(--ease);border-radius:50px;padding:6px 12px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500}.calorie-preview-row{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.calorie-unit-label{color:var(--text2);font-size:16px;font-weight:400}.macro-pills{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.manual-nutrients{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.manual-nutrients-title{color:var(--text2);margin-bottom:12px;font-size:13px;font-weight:500}.manual-nutrients-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.nutrition-facts-table{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius);padding:16px}.nutrition-facts-header{border-bottom:3px solid #333;margin-bottom:12px;padding-bottom:8px}.nutrition-facts-title{color:var(--text);text-align:left;margin:0;font-size:18px;font-weight:600}.nutrition-facts-subtitle{color:var(--text2);margin-top:4px;font-size:13px;font-weight:500}.nutrition-facts-body{flex-direction:column;gap:1px;display:flex}.nutrition-row{border-bottom:1px solid var(--border);color:var(--text2);justify-content:space-between;padding:8px 4px;font-size:14px;display:flex}.nutrition-row-main{border-bottom:2px solid var(--border);color:var(--text2);background:#ffffff26;padding:10px 4px;font-weight:600}.nutrition-label{font-weight:500}.nutrition-value{text-align:right;font-weight:600}.nutrition-row-sub{border-bottom:1px dashed var(--border);color:var(--text3);padding-left:20px;font-size:13px;font-style:italic}.ai-summary{margin-top:16px}.ai-summary-title{color:var(--text);text-align:center;margin-bottom:12px;font-size:15px;font-weight:600}.ai-summary-table{background:var(--surface2);border:1.5px solid var(--border);border-collapse:collapse;border-radius:var(--radius);width:100%;overflow:hidden}.ai-summary-table th{background:var(--surface3);color:var(--text2);text-transform:uppercase;font-size:12px;font-weight:600}.btn-icon{transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:inline-block}.btn-icon.changed{animation:.25s iconPop}.auth-user-container{align-items:center;gap:.5rem;display:flex}.supp-row{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.supp-row:hover:not(.disabled){background:var(--surface3)}.supp-row.disabled{cursor:not-allowed;opacity:.6}.supp-row-icon{color:var(--accent);background:#e4840f1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex}.supp-row-text{flex-direction:column;flex:1;gap:2px;display:flex}.supp-row-name{color:var(--text);font-size:14px;font-weight:600}.supp-row-goal{color:var(--text2);font-feature-settings:"tnum" 1;font-size:12px}.supp-check{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.supp-check-box{background:var(--surface3);border:1.5px solid var(--border);color:#0000;height:26px;transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s var(--ease);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;font-size:16px;font-weight:700;line-height:1;display:flex}.supp-row:hover:not(.disabled) .supp-check-box{border-color:var(--accent)}.supp-check:checked+.supp-check-box{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.05)}.supp-check:focus-visible+.supp-check-box{box-shadow:0 0 0 3px #e4840f59}.supp-row.disabled .supp-check-box{cursor:not-allowed}.ai-terms-box{background:var(--surface3);border:1.5px solid var(--border);border-radius:var(--radius);margin-top:16px;overflow:hidden}.ai-terms-title{background:var(--surface2);border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:8px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.ai-terms-content{max-height:333px;padding:16px;overflow-y:auto}.ai-terms-warning{background:#ff95001a;border:1px solid #ff95004d;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex;color:var(--accent)!important;font-size:12px!important;font-weight:500!important}.ai-terms-actions{background:var(--surface2);border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.ai-terms-btn{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;display:flex}.ai-terms-btn.accept{background:var(--accent);color:var(--text)}.ai-terms-btn.decline{background:var(--surface3);border:1px solid var(--border);color:var(--text2)}.ai-status-box{border-radius:var(--radius-sm);background:#34c7591a;border:1px solid #34c7594d;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;display:flex}#goalModal .macro-suggest-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin:16px 0;padding:16px}#goalModal .macro-suggest-grid{text-align:center;gap:12px;display:flex}#goalModal .macro-suggest-item{flex:1}#goalModal .macro-suggest-value{font-size:20px;font-weight:700}#goalModal .macro-suggest-label{color:var(--text3);margin-top:4px;font-size:11px}.goal-manual-wrap{align-items:center;gap:8px;display:flex}.option-group{flex-wrap:wrap;gap:6px;display:flex}.result-row{border-top:1px solid var(--border);margin:14px 0;padding-top:14px}.result-label{color:var(--text2);margin-bottom:4px;font-size:12px}.result-value{color:var(--accent);letter-spacing:-1px;font-size:32px;font-weight:600;line-height:1}#applyCalorieGoalBtn,#applyHydrationGoalBtn{background-color:var(--surface2);box-shadow:none;border:none;flex:1}#applyBothGoalsBtn{background:var(--accent);box-shadow:0 4px 12px var(--accent-shadow);flex:2}.ai-method-grid{justify-content:space-around;gap:16px;padding:24px 16px 32px;display:flex}.ai-method-card{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;flex:1;padding:20px 8px;transition:all .2s}.ai-method-card:active{transform:scale(.96)}.ai-method-icon{color:var(--accent);margin-bottom:12px;font-size:32px}.ai-method-label{color:var(--text);font-size:13px;font-weight:500}.ai-text-input{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);resize:vertical;width:100%;margin:.75rem 0;padding:14px;font-family:DM Sans,sans-serif;font-size:14px}.ai-text-input:focus{border-color:var(--accent);outline:none}.drink-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 24px;display:grid}.drink-option{background:var(--surface2);border-radius:var(--radius-sm);cursor:pointer;text-align:center;border:1.5px solid #0000;flex-direction:column;align-items:center;gap:8px;padding:16px 8px 12px;transition:all .18s cubic-bezier(.34,1.56,.64,1);display:flex}.drink-option:active{transform:scale(.95)}.drink-option-icon{font-size:28px}.drink-option-name{color:var(--text2);font-size:12px;font-weight:500}.amount-step-inner{flex-direction:column;align-items:center;gap:14px;padding:14px 24px 0;display:flex}.amount-display{align-items:baseline;gap:4px;display:flex}.amount-display .amount-num{color:var(--accent);letter-spacing:-2px;text-align:right;min-width:3.5ch;font-size:52px;font-weight:600;line-height:1}.amount-display .amount-ml{color:var(--text2);font-size:20px;font-weight:400}.glass-scale-wrap{justify-content:center;align-items:flex-start;gap:10px;width:100%;display:flex}.scale-col{flex-shrink:0;width:52px;height:300px;position:relative}.scale-col.left .scale-label{text-align:right;right:6px}.scale-col.right .scale-label{left:6px}.glass-container{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;width:140px;height:300px;position:relative}.glass-svg{width:140px;height:300px;display:block}#ds-historyList{flex-direction:column;gap:12px;padding:16px 0 0;display:flex}.exercise-search-results{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:calc(100vh - 330px);overflow:hidden auto}.exercise-search-results::-webkit-scrollbar{width:7.5px}.selected-exercises{flex-direction:column;gap:16px;margin-top:16px;display:flex}.exercise-category-filters{gap:8px;padding:12px 0;display:flex;overflow-x:auto}.exercise-category-chip{border:1px solid var(--border);color:inherit;white-space:nowrap;background:0 0;border-radius:999px;flex:none;padding:6px 12px;font-size:13px}.exercise-category-chip.active{background:var(--accent)}.set-play-btn,.set-active-btn,.set-check-btn,.routine-play-btn{background:var(--surface3);color:var(--text2);cursor:pointer;border:none;border-radius:30px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.set-play-btn{background:var(--accent);color:#fff}.set-active-btn{background:var(--surface2);border:1px solid var(--border);color:var(--accent)}.set-check-done{color:#fff;cursor:default;background:#34c759}.set-done .set-number{opacity:.6}.set-pr .set-number{opacity:1}.set-pr-pill{background:var(--accent);color:#fff;letter-spacing:.4px;vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4;display:inline-block}.rest-timer-bar{background:var(--surface2);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;padding:10px 12px;transition:background .2s,border-color .2s}.rest-timer-row{align-items:center;gap:10px;display:flex}.rest-timer-label{color:var(--text2);flex:1;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.rest-timer-time{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;min-width:48px;font-size:16px;font-weight:700}.rest-timer-actions{align-items:center;gap:6px;display:flex}.rest-timer-track{background:var(--surface3);border-radius:4px;height:4px;margin-top:8px;overflow:hidden}.rest-timer-fill{background:var(--accent);border-radius:4px;height:100%;transition:width 1s linear}.splash-screen{background-color:var(--bg);z-index:9999;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .21s ease-out,visibility .21s;display:flex;position:fixed;top:0;left:0}.splash-logo{border-radius:24px;justify-content:center;align-items:center;width:120px;height:120px;animation:1.5s infinite alternate pulseInOut;display:flex}.loading{justify-content:center;padding:25px;display:flex}.spinner{border:3px solid #ffffff1a;border-left-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}.update-banner{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);bottom:calc(86px + env(safe-area-inset-bottom));box-shadow:var(--shadow);z-index:10020;background:#0f0f10e6;border-radius:18px;align-items:center;gap:14px;width:calc(100% - 32px);max-width:560px;margin:0 auto;padding:12px 14px;display:flex;position:fixed;left:16px;right:16px}.update-banner-copy{flex:1;min-width:0}.update-banner-title{color:#fff;font-size:14px;font-weight:700;line-height:1.2}.update-banner-subtitle{color:var(--text2);margin-top:2px;font-size:12px;line-height:1.3}.update-banner-actions{flex-shrink:0;gap:8px;display:flex}.update-banner-btn{padding:8px 12px;font-size:12px}.whats-new-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:0 20px 14px;display:flex}.whats-new-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.whats-new-title{color:#fff;margin-top:2px;font-size:22px;font-weight:700;line-height:1.1}.whats-new-close-btn{flex-shrink:0;padding:8px 12px;font-size:12px}.whats-new-empty{background:var(--surface2);border:1px dashed var(--border);color:var(--text2);text-align:center;border-radius:18px;padding:16px;font-size:13px;line-height:1.5}.whats-new-empty.error{color:#ff9d95;background:#ff453a1f;border-color:#ff453a47}.no-select{-khtml-user-select:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.SplashHidden{transition:opacity .9s ease-out,visibility .9s;opacity:0!important}.routine-item:active{background:var(--surface3)}.routine-delete{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:4px}.exercise-result-item{border-bottom:1px solid var(--border);cursor:pointer;opacity:1;transform-origin:top;will-change:max-height, opacity, transform, padding;align-items:center;gap:12px;min-height:0;max-height:80px;padding:10px 12px;transition:max-height .28s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1),border-bottom-width .28s cubic-bezier(.4,0,.2,1),opacity .18s .12s,transform .22s cubic-bezier(.4,0,.2,1) .1s;display:flex;overflow:hidden;transform:scale(1)}.exercise-result-item.is-hidden{opacity:0;pointer-events:none;border-bottom-width:0;max-height:0;padding-top:0;padding-bottom:0;transition:max-height .28s cubic-bezier(.4,0,.2,1) .1s,padding .28s cubic-bezier(.4,0,.2,1) .1s,border-bottom-width .28s cubic-bezier(.4,0,.2,1) .1s,opacity .15s,transform .2s cubic-bezier(.4,0,.2,1);transform:scale(0)}.exercise-result-item.is-added{cursor:default;opacity:.55}.exercise-result-item.is-added .fa-check{color:var(--color-green)}.exercise-result-item:last-child{border-bottom:none}.exercise-result-more{color:var(--text3);text-align:center;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}.exercise-result-img,.exercise-card-img{background:var(--surface3);object-fit:cover;border-radius:8px;width:45px;height:45px}.exercise-result-info,.exercise-card-info{flex-direction:column;flex:1;gap:4px;display:flex}.exercise-result-name,.exercise-card-name{font-weight:500}.exercise-result-muscles{flex-direction:row;gap:4px;display:flex}.exercise-result-muscle{color:var(--text2);border-radius:6px;flex-direction:row;gap:8px;padding:4px;font-size:9px;display:flex}.exercise-result-muscle.primary,.exercise-result-muscle.secondary{padding:2px 0}.exercise-result-muscles.primary .exercise-result-muscle,.exercise-card-muscle.primary{color:#a4d8ff;background:#a4d8ff26}.exercise-result-muscles.secondary .exercise-result-muscle,.exercise-card-muscle.secondary{color:#4ade80;background:#22c55e26}.exercise-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.exercise-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-weight:600;display:flex}.exercise-card-muscles{gap:4px;display:flex}.exercise-card-muscle.primary{color:#4ade80;margin-top:8px;font-size:14px}.remove-exercise-btn{color:var(--text3);cursor:pointer;background:0 0;border:none}.dashboard-recent-item{align-items:center;gap:11px;min-height:58px;padding:11px 13px;display:flex}.dashboard-recent-item+.dashboard-recent-item{border-top:1px solid var(--border)}.dashboard-recent-icon{background:var(--surface2);border-radius:12px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.dashboard-recent-info{flex:1;min-width:0}.dashboard-recent-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.dashboard-recent-time{color:var(--text2);margin-top:2px;font-size:12px}.dashboard-recent-amount{color:var(--text);text-align:right;font-size:13px;font-weight:800}.water-widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin:12px 0 0;padding:12px}.water-header{color:var(--text2);align-items:center;gap:6px;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.water-stats{align-items:center;gap:16px;display:flex}.water-progress-ring{flex-shrink:0;width:60px;height:60px;position:relative}.water-ring{width:100%;height:100%;transform:rotate(-90deg)}.water-ring-bg{fill:none;stroke:var(--surface3);stroke-width:4px}.water-ring-fill{fill:none;stroke:#5ac8fa;stroke-dasharray:100.53;stroke-dashoffset:100.53px;stroke-linecap:round;stroke-width:4px;transition:stroke-dashoffset .5s}.water-percent{color:#5ac8fa;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.water-numbers{flex-wrap:wrap;flex:1;align-items:baseline;gap:4px;display:flex}.water-consumed{color:#5ac8fa;font-size:28px;font-weight:700;line-height:1}.water-unit{color:var(--text2);font-size:12px;font-weight:500}.water-goal{color:var(--text3);margin-left:4px;font-size:12px}.log-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:14px;margin-top:8px;padding:14px 16px;animation:.35s cubic-bezier(.34,1.56,.64,1) both slideIn;display:flex}.log-item.nfl,.nfl *{animation:none!important}.log-emoji{background:var(--surface2);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:flex}.log-info{flex:1}.log-name{font-size:15px;font-weight:500}.log-time{color:var(--text2);margin-top:2px;font-size:12px}.log-amount,.log-kcal{color:var(--accent);font-size:15px;font-weight:600}.log-delete{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;display:flex}.log-date-header{color:var(--text2);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:18px 4px 6px;font-size:11px;font-weight:600;display:flex}.log-date-header:first-child{padding-top:4px}.log-date-total{color:var(--accent);letter-spacing:.02em;text-transform:none;font-size:11px;font-weight:500}.recent-searches-header{justify-content:space-between;align-items:center;padding:0 2px 4px;display:flex}.recent-searches-label{color:var(--text3);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.recent-searches-clear{color:var(--accent);cursor:pointer;opacity:.8;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px}.recent-item{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:11px 14px;display:flex}.recent-item:active{border-color:var(--accent);background:#ff95000f}.recent-item-icon{background:var(--surface3);color:var(--text2);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;display:flex}.recent-item-info{flex:1;min-width:0}.recent-item-query{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.recent-item-sub{color:var(--text2);margin-top:2px;font-size:12px}.recent-item-arrow{color:var(--text3);flex-shrink:0;font-size:13px}.search-result-item{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.search-result-item:active{border-color:var(--accent);background:#ff95000f}.search-result-icon{background:var(--surface3);color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.search-result-info{flex:1;min-width:0}.search-result-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.search-result-brand{color:var(--text2);margin-top:2px;font-size:12px}.search-result-kcal{color:var(--accent);white-space:nowrap;flex-shrink:0;font-size:14px;font-weight:600}.search-result-fav{color:var(--text3);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:6px 8px;font-size:15px;transition:color .2s,transform .2s}.fav-remove-btn{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-size:13px}.fav-remove-btn:hover{color:#ff453a}.saved-foods-empty{color:var(--text2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 16px;font-size:14px;display:flex}.saved-foods-empty-sub{color:var(--text3);font-size:12px}.skeleton-item{background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--radius-sm);pointer-events:none;align-items:center;gap:12px;padding:12px 14px;display:flex}.skeleton-icon{background:var(--surface3);border-radius:10rem;flex-shrink:0;width:24px;height:24px;overflow:hidden}.skeleton-kcal{background:var(--surface3);border-radius:6px;flex-shrink:0;width:48px;height:11px;overflow:hidden}.macro-pill{background:var(--surface3);color:var(--text2);white-space:nowrap;border-radius:50px;padding:4px 10px;font-size:12px;font-weight:500}.scale-label{color:var(--text3);transition:color .12s var(--ease), font-weight .12s var(--ease), font-size .12s var(--ease);white-space:nowrap;font-size:10px;font-weight:400;line-height:1;position:absolute;transform:translateY(-50%)}.scale-label.highlight{color:var(--accent);font-size:11px;font-weight:600}.legal-title{color:var(--text2);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600}.ai-disabled-notice{border-radius:var(--radius-sm);background:#ff950014;border:1.5px solid #ff950033;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;display:flex}.toast-undo-btn{color:var(--text);cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:13px;font-weight:600;transition:background .2s}.week-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:12px;padding:14px 14px 10px}.week-chart .week-chart-bar-wrap{height:75px}.week-chart-mode-row{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.week-chart-bar-wrap{justify-content:center;align-items:flex-end;width:100%;height:28px;display:flex;position:relative}.week-chart-val{color:var(--text2);text-align:center;font-size:10px}.week-chart-day{color:var(--text3);text-align:center;font-size:8px;font-weight:500}.week-chart-avg-row{border-top:1px solid var(--border);color:var(--text2);flex-wrap:wrap;gap:10px;margin-top:10px;padding-top:10px;font-size:12px;display:flex}.history-macro-bar{border-radius:999px;gap:1px;height:4px;margin:4px 0 8px;display:flex;overflow:hidden}.history-macro-seg{border-radius:999px;height:100%;transition:width .4s}#dsGoalModalBody{min-height:320px;position:relative;overflow-x:hidden}#dsGoalViewSet,#dsGoalViewCalc{opacity:0;pointer-events:none;width:100%;transition:opacity .25s,transform .25s;position:absolute;top:0;left:0;transform:scale(.96)}.onboarding-dot{background:var(--surface3);border-radius:2px;flex:1;height:3px;transition:background .3s}.loggin-in{flex-direction:column;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.modal-tabs{border-bottom:1px solid var(--border);gap:12px;padding:0 24px;display:flex}.goal-tab-btn{color:var(--text2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 0;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.goal-tab-content{display:none}.gif-modal-body{flex-direction:column;align-items:stretch;padding:0 16px 24px;display:flex}.gif-tabs{border-bottom:1px solid var(--border-color,#ffffff1a);gap:8px;margin:12px 0 8px;display:flex}.gif-tab{color:var(--text3,#888);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:6px 12px;font-size:14px;font-weight:500;transition:color .2s,border-bottom .2s}.gif-tab.active{color:var(--text1,#fff);border-bottom-color:var(--accent,#4ade80)}.gif-tab:disabled{opacity:.4;cursor:not-allowed}.gif-tab:not(:disabled):hover{color:var(--text1,#fff)}.gif-instructions-section,.gif-steps-section{margin-top:12px}.gif-modal-video{border-radius:var(--radius-sm,8px);width:100%;display:block}.gif-instructions-section{margin:1rem 0}.gif-section-title{color:var(--text2);font-size:14px;font-weight:500}.gif-instructions-text{color:var(--text2);margin:0;font-size:14px;line-height:1.6}.gif-steps-list{color:var(--text2);margin:0;padding-left:20px;font-size:14px;line-height:1.7}.routine-item{background:var(--surface2);border-radius:var(--radius-sm);cursor:grab;margin-bottom:8px;transition:background .2s}.routine-item.dragging{cursor:grabbing;opacity:.5}.routine-main{justify-content:space-between;align-items:center;width:100%;padding:.75rem;display:flex}.routine-info{flex:1}.routine-name{font-size:16px;font-weight:600}.routine-stats{color:var(--text2);font-size:12px}.routine-actions{gap:6px;display:flex;position:relative}.routine-menu-btn{color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:20px;padding:8px}.routine-menu-btn:hover{background:var(--surface3)}.menu-item{color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:flex}.menu-item:hover{background:var(--surface3)}.menu-item.delete{color:#ff453a}.routine-context-menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:100;border-radius:12px;min-width:160px;position:absolute;top:0;right:0;overflow:hidden}.routine-context-menu .menu-item{color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:flex}.routine-context-menu .menu-item:hover{background:var(--surface3)}.routine-context-menu .menu-item.delete{color:#ff453a}.sort-exercises-list{flex-direction:column;gap:8px;margin:10px 0;display:flex}.sort-exercise-item{background:var(--surface2);cursor:grab;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:background .2s;display:flex}.sort-exercise-item.dragging{cursor:grabbing;opacity:.5}.sort-exercise-item .drag-handle{color:var(--text2);font-size:16px}.sort-exercise-img{object-fit:cover;border-radius:8px;width:36px;height:36px}.sort-exercise-name{flex:1;font-weight:500}.sets-table{width:100%;margin-top:1rem;font-size:14px}.sets-header{background:var(--surface3);color:var(--text2);text-align:center;border-radius:8px;grid-template-columns:50px 1fr 1fr 40px;gap:8px;margin-bottom:6px;padding:6px 8px;font-weight:600;display:grid}.sets-list{flex-direction:column;gap:6px;display:flex}.set-row{background:var(--surface2);border-radius:8px;grid-template-columns:50px 1fr 1fr 40px;align-items:center;gap:8px;padding:6px 8px;display:grid}.set-number{aspect-ratio:1;border:1px solid var(--border);color:var(--text);text-align:center;border-radius:50%;justify-content:center;align-items:center;margin:5.5px;font-weight:600;display:flex}.remove-set-btn{color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:20px;justify-content:center;align-items:center;padding:6px;font-size:18px;display:flex}.remove-set-btn:hover{background:var(--surface3);color:#ff453a}.add-set-btn{border:1px dashed var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:20px;width:100%;margin-top:8px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .2s}.add-set-btn:hover{background:#e4840f1a}#activeWorkoutFooter{gap:0;display:flex}#activeWorkoutFooter .option-btn{margin-right:1rem}.mini-workout-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);z-index:999;background:#3a3a3c33;border-radius:60px;max-width:368px;margin:0 auto;transition:transform .3s,opacity .2s;position:fixed;bottom:90px;left:16px;right:16px;box-shadow:0 4px 12px #0000004d}.mini-workout-content{cursor:pointer;align-items:center;gap:12px;padding:12px;display:flex}.mini-workout-icon{background:var(--accent);color:#fff;border-radius:30px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.mini-workout-info{flex:1}.mini-workout-title{font-size:14px;font-weight:600}.mini-workout-progress{color:var(--text2);font-size:12px}.mini-workout-actions{gap:8px;display:flex}.workout-history-entry{margin-bottom:12px}.workout-history-meta{color:var(--text3);letter-spacing:0;text-transform:none;margin-left:8px;font-size:12px}.workout-history-right{align-items:center;gap:10px;display:flex}.workout-history-chevron{color:var(--text3);font-size:11px}.workout-history-card{margin-top:8px}.auth-avatar--initial{color:#fff;background:linear-gradient(135deg,#e4840f,#ff9f0a);flex-shrink:0;justify-content:center;align-items:center;font-family:DM Sans,sans-serif;font-size:13px;font-weight:700;display:inline-flex}.weather-icon{color:var(--text);justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.weather-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.weather-temp{color:#fff;font-size:16px;font-weight:700}
.cookie-banner{z-index:99999;border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0a0ad9;flex-direction:column;gap:20px;width:calc(100% - 88px);max-width:640px;padding:24px 28px;animation:.45s cubic-bezier(.16,1,.3,1) forwards bannerSlideUp;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(0);box-shadow:0 24px 48px -12px #0009,inset 0 0 0 1px #ffffff0a}@keyframes bannerSlideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cookie-banner.hidden{animation:.3s cubic-bezier(.4,0,1,1) forwards bannerSlideDown}@keyframes bannerSlideDown{to{opacity:0;pointer-events:none;transform:translate(-50%)translateY(24px)}}.cookie-header{flex-direction:column;gap:12px;display:flex}.cookie-header-bottom{flex-direction:row;align-items:center;gap:12px}.cookie-icon{border:1px solid var(--border);background:#ffffff0d;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.cookie-title{font-family:var(--sans);color:#fff;letter-spacing:-.01em;font-size:15px;font-weight:600}.cookie-description{color:var(--text-muted);font-size:13px;line-height:1.65}.cookie-description .linkout{color:var(--text-muted);border-bottom:1px solid var(--border-hover);transition:border-color .2s,color .2s}.cookie-description .linkout:hover{border-color:#fff6}.nodecoration{text-decoration:none!important}.cookie-buttons{align-items:center;gap:10px;display:flex}.cookie-btn{border-radius:var(--radius-sm);font-family:var(--sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.cookie-btn i{font-size:13px}.btn-primary{background:var(--accent);color:#000;border-color:var(--accent)}.btn-primary:hover{background:#fff;border-color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px -8px #e2e8f066}.btn-secondary{color:var(--text-muted);border-color:var(--border);background:#1c1c1e}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-hover);color:#fff;transform:translateY(-1px)}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100000;opacity:0;pointer-events:none;background:#0009;transition:opacity .3s;position:fixed;inset:0}.overlay.active{opacity:1;pointer-events:all}.settings-panel{z-index:100001;border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;pointer-events:none;background:#0a0a0aeb;flex-direction:column;width:calc(100% - 40px);max-width:640px;max-height:calc(100vh - 48px);transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-40%);box-shadow:0 32px 64px -16px #000000b3,inset 0 0 0 1px #ffffff0a}.settings-panel.active{opacity:1;pointer-events:all;transform:translate(-50%,-50%)}.settings-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.settings-title{font-family:var(--sans);color:#fff;letter-spacing:-.01em;font-size:15px;font-weight:600}.close-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:13px;transition:all .2s;display:flex}.close-btn:hover{background:var(--surface-hover);border-color:var(--border-hover);color:#fff}.settings-content{scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent;flex:1;padding:8px 0;overflow-y:auto}.settings-content::-webkit-scrollbar{width:4px}.settings-content::-webkit-scrollbar-track{background:0 0}.settings-content::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:4px}.cookie-category{border-bottom:1px solid var(--border);padding:18px 24px;transition:background .2s}.cookie-category:hover{background:#1c1c1e}.cookie-category-bottom{border-bottom:none}.category-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.category-icon{border:1px solid #ffffff0d;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.category-title{font-family:var(--sans);color:#fff;flex:1;min-width:0;font-size:13px;font-weight:600}.category-description,.app-feature-hint{color:var(--text-muted);font-size:12px;line-height:1.65}.toggle-container{flex-shrink:0;margin-left:auto}.toggle-switch{cursor:pointer;width:40px;height:22px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.slider{border:1px solid var(--border);background:#ffffff14;border-radius:22px;transition:all .25s;position:absolute;inset:0}.slider:before{content:"";background:var(--text-muted);border-radius:50%;width:17px;height:17px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .25s;position:absolute;top:50%;left:2px;transform:translate(0)translateY(-50%)}.toggle-switch input:checked+.slider{border-color:var(--accent);background:#e2e8f026}.toggle-switch input:checked+.slider:before{background:var(--accent);transform:translate(17px)translateY(-50%)}.toggle-switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.settings-footer{border-top:1px solid var(--border);flex-shrink:0;padding:16px 24px}.btn-save{border-radius:var(--radius-sm);background:var(--accent);color:#000;border:1px solid var(--accent);width:100%;font-family:var(--sans);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-save:hover{background:#fff;border-color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px -8px #e2e8f066}.btn-save i{font-size:13px}@media (max-width:640px){.cookie-banner{gap:16px;width:calc(100% - 32px);padding:20px;bottom:16px}.cookie-buttons{flex-direction:column}.cookie-btn{justify-content:center;width:100%}.category-description,.app-feature-hint{padding-left:0}}
