:root{color:#fff;background:#161a2a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{width:100%;max-width:100%;background:#161a2a;overflow-x:hidden}body{width:100%;max-width:100%;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;position:relative;background:radial-gradient(circle at 18% -4%,rgba(0,255,255,.12),transparent 28%),radial-gradient(circle at 88% 14%,rgba(255,0,204,.1),transparent 30%),#161a2a}#root{width:100%;max-width:100%;overflow-x:hidden}button{border:0;color:inherit;cursor:pointer;font:inherit}.app-shell{position:relative;width:100%;max-width:100%;min-height:100vh;padding:env(safe-area-inset-top) 0 calc(82px + env(safe-area-inset-bottom));background:#161a2a;isolation:isolate;overflow-x:hidden;overscroll-behavior-x:none}.app-main{position:relative;z-index:1;width:min(100vw,430px);max-width:100%;min-height:calc(100vh - 82px);margin:0 auto;padding:16px 18px 28px;overflow:hidden;background:radial-gradient(circle at 50% 16%,rgba(0,255,255,.09),transparent 28%),radial-gradient(circle at 95% 30%,rgba(255,0,204,.08),transparent 28%),linear-gradient(180deg,#1a1e32,#161a2a 44%,#101423)}.constellation{position:absolute;inset:0 0 auto;height:310px;opacity:.26;pointer-events:none;background-image:linear-gradient(32deg,transparent 0 21%,rgba(136,153,166,.38) 21.2% 21.6%,transparent 21.8% 100%),linear-gradient(148deg,transparent 0 30%,rgba(136,153,166,.28) 30.2% 30.6%,transparent 30.8% 100%),linear-gradient(68deg,transparent 0 52%,rgba(0,255,255,.22) 52.2% 52.5%,transparent 52.7% 100%),radial-gradient(circle at 20% 24%,rgba(0,255,255,.55) 0 1.5px,transparent 2px),radial-gradient(circle at 62% 16%,rgba(255,255,255,.42) 0 1.3px,transparent 1.8px),radial-gradient(circle at 76% 39%,rgba(255,0,204,.46) 0 1.5px,transparent 2px),radial-gradient(circle at 38% 51%,rgba(136,153,166,.55) 0 1.4px,transparent 1.9px)}.top-bar{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-bottom:8px}.status-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:2px 0 8px;padding:0 14px;border:1px solid rgba(143,181,211,.14);border-radius:16px;background:linear-gradient(135deg,#25293beb,#161a2ad1),#25293bcc;box-shadow:inset 0 1px #ffffff0a}.status-card div{display:flex;align-items:center;gap:8px;min-width:0}.status-card p,.status-card strong{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-card p{color:#c8d9e8;font-size:.78rem;font-weight:750}.status-card strong{flex:0 1 auto;max-width:42%;color:#0ff;font-size:.78rem;font-weight:850}.live-dot{width:8px;height:8px;border-radius:50%;background:#0ff;box-shadow:0 0 14px #0ffc}.error-banner{margin-top:10px;padding:11px 13px;border:1px solid rgba(255,0,204,.24);border-radius:14px;background:#ff00cc14;color:#ffd7f7;font-size:.82rem;font-weight:700}.profile-nudge{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:15px;border:1px solid rgba(0,255,255,.18);border-radius:18px;background:linear-gradient(135deg,rgba(0,255,255,.08),transparent 42%),linear-gradient(180deg,#25293bf0,#191d2df0);box-shadow:0 16px 30px #0000002e}.profile-nudge p,.profile-nudge h2{margin:0}.profile-nudge p{color:#0ff;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.profile-nudge h2{margin-top:3px;font-size:1rem;line-height:1.2}.profile-nudge button{min-height:40px;padding:0 16px;border-radius:999px;background:#0ff;color:#111525;font-size:.85rem;font-weight:900}.top-bar h1{margin:0;color:#fff;font-size:1.25rem;font-weight:600;letter-spacing:0}.header-action{width:44px;height:44px;border-radius:50%;background:transparent;display:grid;place-items:center}.calorie-section{display:grid;place-items:center;padding:14px 0 18px}.calorie-ring{position:relative;width:min(78vw,308px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(0,255,255,.09),transparent 62%),#0e122275;box-shadow:0 0 38px #0ff3,0 0 65px #ff00cc1f,0 24px 55px #04061261}.calorie-ring:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:50%;background:radial-gradient(circle at 50% 38%,rgba(0,255,255,.08),transparent 44%),linear-gradient(180deg,#171b2d,#101423);box-shadow:inset 0 0 32px #ffffff09,inset 0 -28px 42px #0000002e}.calorie-ring:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:1px solid rgba(0,255,255,.1);pointer-events:none}.ring-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;filter:drop-shadow(0 0 12px rgba(0,255,255,.18));transform:rotate(90deg)}.ring-track-svg,.ring-progress-svg{fill:none;stroke-width:6.4}.ring-track-svg{stroke:#555d7794}.ring-progress-svg{stroke:url(#calorieGradient);stroke-linecap:round}.ring-progress-svg.is-empty{opacity:0}.ring-center{position:relative;z-index:1;width:78%;text-align:center}.ring-center p{margin:0}.ring-label{color:#a9f7ff;font-size:.67rem;font-weight:700;letter-spacing:.08em}.target-value{margin-top:2px;color:#fff;font-size:1.36rem;font-weight:800}.consumed-label{margin-top:14px}.consumed-value{display:inline-flex;align-items:baseline;justify-content:center;gap:8px;color:#0ff;font-size:clamp(2.35rem,10vw,3.15rem);font-weight:900;line-height:1.05;white-space:nowrap}.consumed-value small{font-size:.44em;font-weight:900;letter-spacing:0}.remaining-value{margin-top:12px;color:#d9f5ff;font-size:.95rem;font-weight:700}.macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}.macro-card{min-width:0;padding:12px 10px;border:1px solid rgba(143,181,211,.12);border-radius:16px;background:#25293b80;box-shadow:inset 0 1px #ffffff09}.macro-card p,.macro-card strong{display:block;margin:0}.macro-card p{color:#8899a6;font-size:.68rem;font-weight:800;letter-spacing:.08em}.macro-card strong{margin-top:1px;color:#fff;font-size:clamp(.72rem,3vw,.86rem);font-weight:800}.macro-track{height:7px;margin-top:8px;overflow:hidden;border-radius:999px;background:#ffffff1f}.macro-track span{display:block;height:100%;border-radius:inherit;background:var(--macro-color);box-shadow:0 0 14px color-mix(in srgb,var(--macro-color),transparent 45%)}.recent-section{position:relative;margin-top:28px;padding-bottom:28px}.recent-section h2{margin:0 0 10px;color:#aeb8c4;font-size:.72rem;font-weight:800;letter-spacing:.1em}.recent-card{overflow:hidden;border-radius:18px;border:1px solid rgba(143,181,211,.13);background:linear-gradient(180deg,#2b3046fa,#1f2335fa),#25293b;box-shadow:0 18px 42px #05071257,inset 0 1px #ffffff0a}.recent-row{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:12px;min-height:67px;padding:11px 13px;border-top:1px solid rgba(255,255,255,.055)}.recent-row:first-child{border-top:0}.food-icon{position:relative;width:42px;height:42px;border-radius:50%;background:#00ffff1a;display:grid;place-items:center}.food-icon span{position:absolute;border-radius:999px}.food-icon.blueberry span{width:11px;height:11px;background:#536dfe;box-shadow:inset 0 0 0 2px #ffffff24}.food-icon.blueberry span:nth-child(1){transform:translate(-6px,-4px)}.food-icon.blueberry span:nth-child(2){transform:translate(5px,-3px)}.food-icon.blueberry span:nth-child(3){transform:translateY(7px)}.food-icon.wrap{background:#3ddc841f}.food-icon.wrap span:nth-child(1){width:22px;height:15px;background:#f5d08a;transform:rotate(-18deg)}.food-icon.wrap span:nth-child(2){width:17px;height:8px;background:#3ddc84;transform:translate(3px,-4px) rotate(-18deg)}.food-icon.wrap span:nth-child(3){width:6px;height:6px;background:#fff;transform:translate(-7px,4px)}.food-icon.yogurt{background:#ffffff1a}.food-icon.yogurt span:nth-child(1){width:21px;height:22px;border-radius:6px 6px 10px 10px;background:#f0f5ff;transform:translateY(4px)}.food-icon.yogurt span:nth-child(2){width:24px;height:6px;background:#8a5cf6;transform:translateY(-8px)}.food-icon.yogurt span:nth-child(3){width:8px;height:8px;background:#536dfe;transform:translateY(3px)}.food-icon.shake{background:#ff00cc1c}.food-icon.shake span:nth-child(1){width:18px;height:25px;border-radius:5px 5px 8px 8px;background:#dff8ff;transform:translateY(3px)}.food-icon.shake span:nth-child(2){width:20px;height:5px;background:#f0c;transform:translateY(-11px)}.food-icon.shake span:nth-child(3){width:3px;height:20px;background:#0ff;transform:translate(8px,-10px) rotate(18deg)}.recent-copy{min-width:0}.recent-copy h3,.recent-copy p{margin:0}.recent-copy h3{overflow:hidden;color:#fff;font-size:.93rem;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.recent-copy p{margin-top:2px;color:#8899a6;font-size:.82rem;font-weight:700}.menu-button{width:34px;height:34px;border-radius:50%;background:transparent;color:#8899a6;display:grid;place-items:center}.quick-add{position:absolute;right:14px;bottom:0;min-height:42px;padding:0 17px;border-radius:999px;background:#161a2a;color:#fff;font-size:.86rem;font-weight:800;box-shadow:0 12px 26px #00000061,0 0 22px #00ffff1a,inset 0 0 0 1px #00ffff24}.recent-state{display:grid;place-items:center;gap:8px;min-height:124px;padding:20px;color:#c6d4df;text-align:center}.recent-state p{max-width:270px;margin:0;font-size:.9rem;font-weight:750}.spin{animation:spin 1s linear infinite}.auth-state{display:grid;place-items:center;min-height:70vh;padding:28px;color:#fff;text-align:center}.auth-state h1,.auth-state p{margin:0}.auth-state h1{margin-top:16px;font-size:1.35rem}.auth-state p{max-width:320px;margin-top:8px;color:#aeb8c4}.loading-pulse{width:58px;height:58px;border-radius:50%;background:conic-gradient(from 180deg,#0ff,#673ab7,#f0c,#0ff);box-shadow:0 0 34px #00ffff38;animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bottom-nav{position:fixed;z-index:2;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:min(100vw,430px);max-width:100%;margin:0 auto;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:#111525;box-shadow:0 -12px 30px #00000040}.bottom-nav a,.bottom-nav button{min-width:0;min-height:52px;overflow:hidden;border-radius:12px;background:transparent;color:#8fb5d3;display:grid;place-items:center;gap:3px;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.bottom-nav a.active,.bottom-nav button.active{color:#0ff}.bottom-nav span{max-width:100%;overflow:hidden;font-size:.56rem;font-weight:750;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.sheet-backdrop{position:fixed;z-index:5;top:0;right:0;bottom:0;left:0;display:grid;align-items:end;justify-items:center;padding:18px;background:#0406109e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.profile-sheet{width:min(100%,430px);max-width:calc(100vw - 24px);max-height:min(86vh,760px);overflow:auto;border:1px solid rgba(143,181,211,.16);border-radius:26px;background:radial-gradient(circle at 12% 0%,rgba(0,255,255,.12),transparent 34%),linear-gradient(180deg,#25293b,#171b2d 56%,#111525);box-shadow:0 28px 80px #00000080,inset 0 1px #ffffff0f}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 8px}.sheet-header>div{flex:1;min-width:0}.sheet-header p,.sheet-header h2{margin:0}.sheet-header p{color:#0ff;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.sheet-header h2{font-size:1.35rem;line-height:1.15}.sheet-close,.sheet-back{width:40px;height:40px;border-radius:50%;background:#ffffff0f;display:grid;place-items:center}.sheet-back{opacity:0;pointer-events:none}.sheet-back.visible{opacity:1;pointer-events:auto}.profile-hub,.profile-section-body{display:grid;gap:14px;padding:12px 18px 18px}.profile-hero{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid rgba(0,255,255,.14);border-radius:20px;background:radial-gradient(circle at 12% 20%,rgba(0,255,255,.14),transparent 36%),#1115257a}.profile-hero p,.profile-hero h3{margin:0}.profile-hero p{color:#aeb8c4;font-size:.78rem;font-weight:800}.profile-hero h3{margin-top:2px;color:#fff;font-size:1.12rem;line-height:1.1}.avatar-ring{width:50px;height:50px;border-radius:50%;background:conic-gradient(from 180deg,#0ff,#673ab7,#f0c,#0ff);color:#111525;display:grid;place-items:center;box-shadow:0 0 28px #00ffff24}.profile-stats,.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-pill{min-width:0;min-height:64px;padding:10px;border:1px solid rgba(143,181,211,.13);border-radius:15px;background:#11152585}.metric-pill svg{color:#0ff;margin-bottom:4px}.metric-pill span,.metric-pill strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-pill span{color:#8899a6;font-size:.62rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.metric-pill strong{margin-top:2px;color:#fff;font-size:.82rem;line-height:1.15}.section-choice-list{display:grid;gap:10px}.section-choice{min-width:0;min-height:70px;padding:12px;border:1px solid rgba(143,181,211,.13);border-radius:18px;background:#11152594;color:#fff;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;text-align:left}.section-choice-icon{width:44px;height:44px;border-radius:15px;background:#00ffff14;color:#0ff;display:grid;place-items:center}.section-choice strong,.section-choice small{display:block;overflow:hidden;text-overflow:ellipsis}.section-choice strong{font-size:.95rem;line-height:1.15}.section-choice small{margin-top:3px;color:#aeb8c4;font-size:.76rem;line-height:1.25}.profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 18px 18px}.weight-entry-form{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:10px;align-items:end}.weight-entry-form .save-profile{grid-column:auto}.profile-field{display:grid;gap:6px;min-width:0}.profile-field span{color:#aeb8c4;font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.profile-field input,.profile-field select{width:100%;min-height:44px;border:1px solid rgba(143,181,211,.18);border-radius:14px;padding:0 12px;background:#111525cc;color:#fff;font:inherit;font-size:.9rem;outline:none}.profile-field input:focus,.profile-field select:focus{border-color:#00ffff94;box-shadow:0 0 0 3px #00ffff1a}.span-2{grid-column:span 2}.calculation-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:2px;padding:10px;border:1px solid rgba(0,255,255,.14);border-radius:16px;background:#00ffff0e}.calculation-preview div{min-width:0}.calculation-preview span,.calculation-preview strong{display:block}.calculation-preview span{color:#8899a6;font-size:.62rem;font-weight:850;text-transform:uppercase;white-space:nowrap}.calculation-preview strong{margin-top:2px;color:#fff;font-size:.78rem;line-height:1.15}.save-profile{grid-column:span 2;min-height:48px;border-radius:16px;background:linear-gradient(135deg,#0ff,#63f7c8);color:#111525;font-weight:950}.identity-card{padding:12px;border:1px solid rgba(143,181,211,.13);border-radius:16px;background:#11152585}.identity-card span,.identity-card strong,.identity-card p{display:block;margin:0}.identity-card span{color:#8899a6;font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.identity-card strong{margin-top:4px;overflow-wrap:anywhere;color:#fff;font-size:.82rem}.identity-card p{margin-top:8px;color:#aeb8c4;font-size:.78rem;line-height:1.35}.weight-timeline{display:grid;overflow:hidden;border:1px solid rgba(143,181,211,.13);border-radius:18px;background:#11152580}.weight-timeline article{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 13px;border-top:1px solid rgba(255,255,255,.055)}.weight-timeline article:first-child{border-top:0}.weight-timeline span{color:#aeb8c4;font-size:.82rem;font-weight:800}.weight-timeline strong{color:#fff;font-size:.9rem}.empty-profile-state{min-height:92px;padding:22px;border:1px solid rgba(143,181,211,.13);border-radius:18px;background:#11152580;color:#aeb8c4;display:grid;place-items:center;text-align:center;font-weight:800}@media(max-width:360px){.app-main{padding-right:14px;padding-left:14px}.calorie-ring{width:min(82vw,284px)}.recent-row{grid-template-columns:38px minmax(0,1fr) 30px;gap:9px;padding-right:10px;padding-left:10px}.food-icon{width:38px;height:38px}.calculation-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-stats,.overview-grid,.weight-entry-form{grid-template-columns:1fr}}@media(max-width:430px)and (max-height:900px){.app-shell{height:100dvh;min-height:100dvh;padding-bottom:0;overflow:hidden}.app-main{width:100%;height:calc(100dvh - 62px - env(safe-area-inset-bottom));min-height:0;padding:10px 14px 12px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.app-main::-webkit-scrollbar,.profile-sheet::-webkit-scrollbar{display:none}.constellation{height:250px}.top-bar{min-height:40px;margin-bottom:4px}.top-bar h1{font-size:1.12rem}.header-action{width:38px;height:38px}.status-card{min-height:36px;margin:0 0 6px;padding:0 11px;border-radius:14px}.status-card p,.status-card strong{font-size:.72rem}.profile-nudge{gap:10px;margin-top:8px;padding:10px 12px;border-radius:15px}.profile-nudge p{font-size:.58rem}.profile-nudge h2{font-size:.88rem}.profile-nudge button{min-height:34px;padding:0 13px;font-size:.78rem}.calorie-section{padding:6px 0 10px}.calorie-ring{width:min(62vw,242px)}.calorie-ring:before{top:12px;right:12px;bottom:12px;left:12px}.calorie-ring:after{top:-4px;right:-4px;bottom:-4px;left:-4px}.ring-track-svg,.ring-progress-svg{stroke-width:5.8}.ring-label{font-size:.58rem}.target-value{font-size:1.08rem}.consumed-label{margin-top:8px}.consumed-value{gap:6px;font-size:clamp(2rem,9vw,2.45rem)}.remaining-value{margin-top:8px;font-size:.78rem}.macro-grid{gap:7px;margin-top:0}.macro-card{padding:8px 7px;border-radius:13px}.macro-card p{font-size:.56rem;letter-spacing:.06em}.macro-card strong{font-size:.7rem}.macro-track{height:5px;margin-top:6px}.recent-section{margin-top:14px;padding-bottom:18px}.recent-section h2{margin-bottom:7px;font-size:.62rem}.recent-card{border-radius:15px}.recent-row{grid-template-columns:34px minmax(0,1fr) 30px;gap:9px;min-height:52px;padding:7px 10px}.food-icon{width:34px;height:34px}.recent-copy h3{font-size:.84rem}.recent-copy p{font-size:.74rem}.menu-button{width:30px;height:30px}.recent-state{min-height:88px;padding:14px}.recent-state p{font-size:.82rem}.quick-add{right:10px;min-height:36px;padding:0 14px;font-size:.78rem}.bottom-nav{width:100%;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.bottom-nav a,.bottom-nav button{min-height:50px;border-radius:10px}.bottom-nav span{font-size:.53rem}.sheet-backdrop{padding:10px}.profile-sheet{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:22px}.sheet-header{gap:9px;padding:12px 12px 6px}.sheet-header p{font-size:.62rem}.sheet-header h2{font-size:1.14rem}.sheet-close,.sheet-back{width:36px;height:36px;flex:0 0 36px}.profile-hub,.profile-section-body,.profile-form{gap:9px;padding:8px 12px 12px}.profile-hero{gap:10px;padding:10px;border-radius:16px}.avatar-ring{width:42px;height:42px}.profile-hero h3{font-size:1rem}.profile-stats,.overview-grid{gap:6px}.metric-pill{min-height:52px;padding:8px;border-radius:13px}.metric-pill span{font-size:.56rem}.metric-pill strong{font-size:.74rem}.section-choice-list{gap:8px}.section-choice{grid-template-columns:38px minmax(0,1fr);gap:10px;min-height:58px;padding:9px;border-radius:15px}.section-choice-icon{width:38px;height:38px;border-radius:13px}.section-choice strong{font-size:.85rem}.section-choice small{font-size:.68rem;line-height:1.18}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-field{gap:5px}.profile-field span{font-size:.62rem}.profile-field input,.profile-field select{min-height:40px;border-radius:12px;font-size:.82rem}.weight-entry-form{grid-template-columns:minmax(0,1fr) 116px;gap:8px}.calculation-preview{gap:6px;padding:8px;border-radius:13px}.calculation-preview span{font-size:.54rem}.calculation-preview strong{font-size:.69rem}.save-profile{min-height:42px;border-radius:13px;font-size:.86rem}.empty-profile-state{min-height:78px;padding:16px;border-radius:15px}}@media(min-width:700px){.app-shell{background:radial-gradient(circle at 50% 10%,rgba(0,255,255,.12),transparent 28%),radial-gradient(circle at 80% 28%,rgba(255,0,204,.1),transparent 32%),#0d1020}.app-main{min-height:calc(100vh - 36px);margin-top:18px;margin-bottom:18px;border-radius:36px;border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 80px #0000006b,0 0 0 1px #00ffff14}.bottom-nav{bottom:18px;border-radius:0 0 36px 36px}}@media(max-width:430px)and (max-height:900px){html,body,#root,.app-shell{width:100%;max-width:100%;overflow-x:hidden}.app-shell{height:100dvh;min-height:100dvh;padding-bottom:0;overflow-y:hidden}.app-main{width:100%;max-width:100vw;height:calc(100dvh - 62px - env(safe-area-inset-bottom));min-height:0;padding:10px 14px 12px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.app-main::-webkit-scrollbar,.profile-sheet::-webkit-scrollbar{display:none}.constellation{height:250px}.top-bar{min-height:40px;margin-bottom:4px}.top-bar h1{font-size:1.12rem}.header-action{width:38px;height:38px}.status-card{min-height:36px;margin:0 0 6px;padding:0 11px;border-radius:14px}.status-card p,.status-card strong{font-size:.72rem}.profile-nudge{gap:10px;margin-top:8px;padding:10px 12px;border-radius:15px}.profile-nudge p{font-size:.58rem}.profile-nudge h2{font-size:.88rem}.profile-nudge button{min-height:34px;padding:0 13px;font-size:.78rem}.calorie-section{padding:6px 0 10px}.calorie-ring{width:min(62vw,242px)}.calorie-ring:before{top:12px;right:12px;bottom:12px;left:12px}.calorie-ring:after{top:-4px;right:-4px;bottom:-4px;left:-4px}.ring-track-svg,.ring-progress-svg{stroke-width:5.8}.ring-label{font-size:.58rem}.target-value{font-size:1.08rem}.consumed-label{margin-top:8px}.consumed-value{gap:6px;font-size:clamp(2rem,9vw,2.45rem)}.remaining-value{margin-top:8px;font-size:.78rem}.macro-grid{gap:7px;margin-top:0}.macro-card{padding:8px 7px;border-radius:13px}.macro-card p{font-size:.56rem;letter-spacing:.06em}.macro-card strong{font-size:.7rem}.macro-track{height:5px;margin-top:6px}.recent-section{margin-top:14px;padding-bottom:18px}.recent-section h2{margin-bottom:7px;font-size:.62rem}.recent-card{border-radius:15px}.recent-row{grid-template-columns:34px minmax(0,1fr) 30px;gap:9px;min-height:52px;padding:7px 10px}.food-icon{width:34px;height:34px}.recent-copy h3{font-size:.84rem}.recent-copy p{font-size:.74rem}.menu-button{width:30px;height:30px}.recent-state{min-height:88px;padding:14px}.recent-state p{font-size:.82rem}.quick-add{right:10px;min-height:36px;padding:0 14px;font-size:.78rem}.bottom-nav{width:100%;max-width:100vw;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.bottom-nav a,.bottom-nav button{min-height:50px;border-radius:10px}.bottom-nav span{font-size:.53rem}.sheet-backdrop{padding:10px;overflow-x:hidden}.profile-sheet{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:22px}}.log-view{display:grid;gap:12px;padding-bottom:18px}.view-heading,.today-log-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.view-heading p,.view-heading h2,.today-log-header p,.today-log-header h3{margin:0}.view-heading p,.today-log-header p{color:#0ff;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.view-heading h2{margin-top:1px;font-size:1.3rem;line-height:1.1}.scan-button{min-height:38px;padding:0 13px;border-radius:999px;background:#00ffff1a;color:#dffbff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.8rem;font-weight:850;box-shadow:inset 0 0 0 1px #00ffff29}.scan-button:disabled,.save-log:disabled,.quick-log-list button:disabled{cursor:wait;opacity:.72}.log-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.log-metric{min-width:0;padding:10px 9px;border:1px solid rgba(143,181,211,.13);border-radius:15px;background:linear-gradient(180deg,#25293bc7,#111525b8),#25293b80}.log-metric span,.log-metric strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-metric>span{color:#8899a6;font-size:.58rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.log-metric strong{margin-top:2px;color:#fff;font-size:.86rem;font-weight:900}.log-metric small{margin-left:2px;color:#aeb8c4;font-size:.62em;font-weight:850}.log-metric div{height:5px;margin-top:8px;overflow:hidden;border-radius:999px;background:#ffffff1a}.log-metric div span{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0ff,#f0c)}.log-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid rgba(143,181,211,.13);border-radius:18px;background:radial-gradient(circle at 8% 0%,rgba(0,255,255,.11),transparent 30%),linear-gradient(180deg,#25293be6,#111525d1)}.log-field{display:grid;gap:6px;min-width:0}.log-field span{overflow:hidden;color:#aeb8c4;font-size:.66rem;font-weight:900;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.log-field input{width:100%;min-height:42px;border:1px solid rgba(143,181,211,.18);border-radius:13px;padding:0 11px;background:#0a0e1cb8;color:#fff;font:inherit;font-size:.88rem;font-weight:750;outline:none}.log-field input:focus{border-color:#00ffff94;box-shadow:0 0 0 3px #00ffff1a}.save-log{grid-column:span 2;min-height:44px;border-radius:14px;background:linear-gradient(135deg,#0ff,#63f7c8);color:#111525;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem;font-weight:950}.log-saved{min-height:34px;padding:0 12px;border:1px solid rgba(61,220,132,.2);border-radius:13px;background:#3ddc841a;color:#d7ffe8;display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:850}.quick-log-list{display:grid;gap:8px}.quick-log-list button{min-width:0;min-height:44px;padding:0 12px;border:1px solid rgba(143,181,211,.12);border-radius:14px;background:#25293b8f;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}.quick-log-list span,.quick-log-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-log-list span{min-width:0;font-size:.86rem;font-weight:850}.quick-log-list strong{flex:0 0 auto;color:#0ff;font-size:.78rem;font-weight:900}.today-log-card{overflow:hidden;border:1px solid rgba(143,181,211,.13);border-radius:18px;background:linear-gradient(180deg,#2b3046fa,#1f2335fa),#25293b;box-shadow:0 18px 42px #0507123d}.today-log-header{min-height:54px;padding:0 13px;color:#8fb5d3}.today-log-header h3{margin-top:1px;color:#fff;font-size:.95rem}.log-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 13px;border-top:1px solid rgba(255,255,255,.055)}.log-entry h4,.log-entry p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-entry h4{color:#fff;font-size:.9rem;font-weight:850}.log-entry p{margin-top:2px;color:#8899a6;font-size:.75rem;font-weight:750}.log-entry strong{color:#dffbff;font-size:.82rem;font-weight:900;white-space:nowrap}.log-empty-state{min-height:88px;padding:18px;color:#c6d4df;display:grid;place-items:center;text-align:center;font-size:.86rem;font-weight:800}@media(max-width:430px)and (max-height:900px){.log-view{gap:9px;padding-bottom:12px}.view-heading h2{font-size:1.12rem}.view-heading p,.today-log-header p{font-size:.58rem}.scan-button{min-height:34px;padding:0 11px;font-size:.74rem}.log-summary-grid{gap:6px}.log-metric{padding:8px 7px;border-radius:13px}.log-metric>span{font-size:.5rem}.log-metric strong{font-size:.75rem}.log-metric div{height:4px;margin-top:6px}.log-form{gap:8px;padding:10px;border-radius:15px}.log-field{gap:5px}.log-field span{font-size:.58rem}.log-field input{min-height:38px;border-radius:12px;font-size:.82rem}.save-log{min-height:40px;border-radius:13px;font-size:.84rem}.log-saved{min-height:31px;font-size:.74rem}.quick-log-list{gap:6px}.quick-log-list button{min-height:39px;border-radius:13px}.quick-log-list span{font-size:.78rem}.quick-log-list strong{font-size:.7rem}.today-log-card{border-radius:15px}.today-log-header{min-height:47px;padding:0 11px}.today-log-header h3{font-size:.86rem}.log-entry{min-height:49px;padding:7px 11px}.log-entry h4{font-size:.82rem}.log-entry p{font-size:.68rem}.log-entry strong{font-size:.74rem}.log-empty-state{min-height:72px;padding:14px;font-size:.78rem}}.library-view{display:grid;gap:12px;padding-bottom:18px}.library-count{min-height:38px;min-width:58px;padding:0 12px;border-radius:999px;background:#00ffff1a;color:#dffbff;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:inset 0 0 0 1px #00ffff29}.library-count strong{color:#0ff;font-size:.86rem;font-weight:950}.library-search{min-height:43px;padding:0 12px;border:1px solid rgba(143,181,211,.14);border-radius:15px;background:#111525b3;color:#8fb5d3;display:flex;align-items:center;gap:9px}.library-search input{width:100%;min-width:0;border:0;background:transparent;color:#fff;font:inherit;font-size:.88rem;font-weight:750;outline:none}.library-search input::placeholder{color:#8899a6}.library-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.library-filters button{min-height:38px;border-radius:13px;background:#25293b9e;color:#aeb8c4;font-size:.82rem;font-weight:900;box-shadow:inset 0 0 0 1px #8fb5d31a}.library-filters button.active{background:#00ffff1f;color:#0ff;box-shadow:inset 0 0 0 1px #00ffff38}.library-roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.roadmap-card{min-width:0;min-height:118px;padding:10px;border:1px solid rgba(143,181,211,.12);border-radius:15px;background:linear-gradient(180deg,#25293bad,#111525b8),#25293b70;color:#fff;display:grid;align-content:start;gap:6px;opacity:.86}.roadmap-card div{width:30px;height:30px;border-radius:11px;background:#00ffff1a;color:#0ff;display:grid;place-items:center}.roadmap-card strong,.roadmap-card p,.roadmap-card span{min-width:0;margin:0}.roadmap-card strong{overflow:hidden;font-size:.84rem;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.roadmap-card p{display:-webkit-box;overflow:hidden;color:#aeb8c4;font-size:.68rem;font-weight:750;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:3}.roadmap-card span{width:fit-content;margin-top:2px;padding:3px 7px;border-radius:999px;background:#8899a624;color:#c8d9e8;font-size:.58rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.library-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid rgba(143,181,211,.13);border-radius:18px;background:radial-gradient(circle at 8% 0%,rgba(255,0,204,.1),transparent 30%),linear-gradient(180deg,#25293be6,#111525d1)}.library-list-card{overflow:hidden;border:1px solid rgba(143,181,211,.13);border-radius:18px;background:linear-gradient(180deg,#2b3046fa,#1f2335fa),#25293b;box-shadow:0 18px 42px #0507123d}.library-item{display:grid;gap:9px;padding:11px 13px;border-top:1px solid rgba(255,255,255,.055)}.library-item:first-of-type{border-top:1px solid rgba(255,255,255,.055)}.library-item-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0}.library-item-main h4,.library-item-main p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-item-main h4{color:#fff;font-size:.92rem;font-weight:900}.library-item-main p{margin-top:2px;color:#8899a6;font-size:.76rem;font-weight:750}.library-item-main strong{color:#dffbff;font-size:.84rem;font-weight:950;white-space:nowrap}.library-macros,.library-actions{display:flex;align-items:center;gap:7px;min-width:0}.library-macros{flex-wrap:wrap}.library-macros span{min-height:24px;padding:0 8px;border-radius:999px;background:#111525c7;color:#aeb8c4;display:inline-flex;align-items:center;font-size:.68rem;font-weight:850;white-space:nowrap}.library-actions{justify-content:flex-end}.library-actions button{min-width:34px;min-height:34px;border-radius:12px;background:#111525ad;color:#8fb5d3;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:950;box-shadow:inset 0 0 0 1px #8fb5d317}.library-actions button.active{color:#ffdd6e}.library-actions .library-log-button{min-width:74px;padding:0 14px;background:#0ff;color:#111525}@media(max-width:430px)and (max-height:900px){.library-view{gap:9px;padding-bottom:12px}.library-count{min-height:34px;min-width:52px;padding:0 10px}.library-search{min-height:39px;border-radius:13px}.library-search input{font-size:.8rem}.library-filters{gap:6px}.library-filters button{min-height:34px;border-radius:12px;font-size:.76rem}.library-roadmap{grid-template-columns:1fr;gap:6px}.roadmap-card{min-height:0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px}.roadmap-card div{width:32px;height:32px}.roadmap-card p{display:none}.roadmap-card span{margin-top:0;font-size:.54rem}.library-form{gap:8px;padding:10px;border-radius:15px}.library-list-card{border-radius:15px}.library-item{gap:7px;padding:9px 11px}.library-item-main h4{font-size:.84rem}.library-item-main p{font-size:.69rem}.library-item-main strong{font-size:.76rem}.library-macros{gap:5px}.library-macros span{min-height:21px;padding:0 7px;font-size:.61rem}.library-actions button{min-width:31px;min-height:31px;border-radius:11px}.library-actions .library-log-button{min-width:62px;padding:0 11px}}@supports (height: 100dvh){html,body,#root{height:100dvh;min-height:100dvh;overflow:hidden}}html,body,#root{overscroll-behavior:none}.app-shell{height:100dvh;min-height:100dvh;padding:0;overflow:hidden}.app-main{display:flex;flex-direction:column;height:calc(100dvh - 70px - env(safe-area-inset-bottom));min-height:0;overflow:hidden}.dashboard-view,.log-view,.library-view{position:relative;z-index:1;min-height:0}.dashboard-view{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.log-view,.library-view{flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.log-view::-webkit-scrollbar,.library-view::-webkit-scrollbar{display:none}.bottom-nav{min-height:calc(70px + env(safe-area-inset-bottom))}@media(max-width:520px){.app-main{width:100%;max-width:100%;margin:0;height:calc(100dvh - 58px - env(safe-area-inset-bottom));padding:8px 12px}.bottom-nav{width:100%;max-width:100%;margin:0;right:0;left:0}.top-bar{min-height:34px;margin-bottom:3px}.top-bar h1{font-size:1.04rem}.header-action{width:34px;height:34px}.status-card{min-height:32px;margin:0 0 5px;padding:0 10px;border-radius:13px}.status-card p,.status-card strong{font-size:.68rem}.error-banner{margin-top:5px;padding:8px 10px;border-radius:12px;font-size:.74rem}.profile-nudge{margin-top:5px;padding:8px 10px}.dashboard-view{gap:0}.calorie-section{flex:0 0 auto;padding:2px 0 6px}.calorie-ring{width:min(55vw,210px)}.calorie-ring:before{top:10px;right:10px;bottom:10px;left:10px}.calorie-ring:after{top:-3px;right:-3px;bottom:-3px;left:-3px}.ring-track-svg,.ring-progress-svg{stroke-width:5.2}.ring-label{font-size:.52rem}.target-value{font-size:.98rem}.consumed-label{margin-top:6px}.consumed-value{gap:5px;font-size:clamp(1.72rem,8vw,2.1rem)}.remaining-value{margin-top:6px;font-size:.72rem}.macro-grid{flex:0 0 auto;gap:6px}.macro-card{padding:7px 6px}.macro-card p{font-size:.5rem}.macro-card strong{font-size:.64rem}.macro-track{height:4px;margin-top:5px}.recent-section{flex:1 1 auto;min-height:0;margin-top:8px;padding-bottom:10px;display:flex;flex-direction:column}.recent-section h2{flex:0 0 auto;margin-bottom:5px;font-size:.56rem}.recent-card{flex:1 1 auto;min-height:0}.recent-row{min-height:45px;padding:6px 9px}.food-icon{width:30px;height:30px}.recent-copy h3{font-size:.78rem}.recent-copy p{font-size:.68rem}.quick-add{min-height:32px;padding:0 12px;font-size:.72rem}.log-view,.library-view{gap:8px;padding-bottom:8px}.view-heading h2{font-size:1.02rem}.log-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.log-metric{padding:7px 6px}.log-form,.library-form{gap:7px;padding:9px}.log-field input{min-height:35px}.save-log{min-height:37px}.quick-log-list button,.library-search,.library-filters button{min-height:36px}.bottom-nav{min-height:calc(58px + env(safe-area-inset-bottom));padding:4px 7px calc(4px + env(safe-area-inset-bottom))}.bottom-nav a,.bottom-nav button{min-height:46px}}@media(max-width:430px)and (max-height:900px){.app-main{height:calc(100dvh - 54px - env(safe-area-inset-bottom));padding:7px 11px}.calorie-ring{width:min(51vw,196px)}.macro-card{padding:6px 5px}.recent-section{margin-top:6px}.recent-row{min-height:42px;padding:5px 8px}.recent-section h2{margin-bottom:4px}.bottom-nav{min-height:calc(54px + env(safe-area-inset-bottom));padding-top:3px;padding-bottom:calc(3px + env(safe-area-inset-bottom))}.bottom-nav a,.bottom-nav button{min-height:44px}}.app-main-log .top-bar,.app-main-library .top-bar,.app-main-log .error-banner,.app-main-library .error-banner{margin-bottom:8px}.app-main-log .log-view{gap:10px;padding-top:2px}.app-main-log .view-heading{min-height:38px}.app-main-log .view-heading p{color:#8899a6;font-size:.62rem;letter-spacing:.06em}.app-main-log .view-heading h2{font-size:1.26rem;font-weight:900}.app-main-log .scan-button{min-height:34px;padding:0 12px;border-radius:12px;background:#25293bb8;color:#d9f5ff;font-size:.78rem;box-shadow:inset 0 0 0 1px #8fb5d31f,0 8px 18px #00000024}.app-main-log .log-summary-grid{gap:0;padding:9px 10px;border:1px solid rgba(143,181,211,.12);border-radius:16px;background:#11152594}.app-main-log .log-metric{padding:0 8px;border:0;border-left:1px solid rgba(255,255,255,.06);border-radius:0;background:transparent}.app-main-log .log-metric:first-child{border-left:0;padding-left:0}.app-main-log .log-metric>span{color:#7f8c9d;font-size:.52rem;letter-spacing:.04em}.app-main-log .log-metric strong{margin-top:3px;color:#fff;font-size:.8rem}.app-main-log .log-metric small{display:inline;color:#9fb0c1;font-size:.65em}.app-main-log .log-metric div{height:3px;margin-top:7px;background:#ffffff17}.app-main-log .log-form{gap:9px;padding:12px;border-color:#8fb5d31f;border-radius:17px;background:linear-gradient(180deg,#202538f0,#121624f0),#171b2d;box-shadow:inset 0 1px #ffffff09}.app-main-log .log-field{gap:5px}.app-main-log .log-field span{color:#8f9dad;font-size:.59rem;letter-spacing:.05em}.app-main-log .log-field input{min-height:40px;border-color:#8fb5d321;border-radius:12px;background:#0a0e1cad;font-size:.86rem;font-weight:800}.app-main-log .log-field input::placeholder{color:#aeb8c48c;font-weight:700}.app-main-log .save-log{min-height:42px;border-radius:13px;background:linear-gradient(135deg,#0ff,#63f7c8);box-shadow:0 12px 24px #00ffff1f}.app-main-log .quick-log-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.app-main-log .quick-log-list button{min-height:58px;padding:9px;border-radius:14px;flex-direction:column;align-items:flex-start;justify-content:center}.app-main-log .quick-log-list span,.app-main-log .quick-log-list strong{max-width:100%;white-space:normal}.app-main-log .quick-log-list span{display:-webkit-box;font-size:.74rem;line-height:1.12;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-main-log .quick-log-list strong{margin-top:3px;font-size:.68rem}.app-main-log .quick-log-list button:nth-child(3){grid-column:span 2;min-height:44px;flex-direction:row;align-items:center;justify-content:space-between}.app-main-log .quick-log-list button:nth-child(3) span{-webkit-line-clamp:1}.app-main-log .today-log-card{border-radius:16px;box-shadow:none}.app-main-log .today-log-header{min-height:45px}.app-main-log .today-log-header p{font-size:.56rem}.app-main-log .today-log-header h3{font-size:.86rem}.app-main-log .log-empty-state{min-height:72px;padding:16px;font-size:.8rem}@media(max-width:430px){.app-main-log .log-view{gap:8px}.app-main-log .view-heading{min-height:34px}.app-main-log .view-heading h2{font-size:1.12rem}.app-main-log .scan-button{min-height:32px;padding:0 10px}.app-main-log .log-summary-grid{padding:8px}.app-main-log .log-metric{padding:0 6px}.app-main-log .log-metric strong{font-size:.72rem}.app-main-log .log-form{gap:7px;padding:10px}.app-main-log .log-field input{min-height:36px}.app-main-log .save-log{min-height:38px}.app-main-log .quick-log-list button{min-height:52px;padding:8px}}:root{color:#161823;background:#eef1f5}html,body,#root,.app-shell{background:radial-gradient(circle at 18% -6%,rgba(255,0,204,.1),transparent 30%),radial-gradient(circle at 92% 10%,rgba(103,58,183,.12),transparent 34%),#eef1f5}.app-main{color:#161823;background:radial-gradient(circle at 84% 3%,rgba(255,0,204,.12),transparent 30%),radial-gradient(circle at 16% 24%,rgba(103,58,183,.1),transparent 34%),linear-gradient(180deg,#f8fafc,#eef1f5 54%,#e5e8ee)}.constellation{opacity:.22;background-image:linear-gradient(32deg,transparent 0 21%,rgba(103,58,183,.24) 21.2% 21.6%,transparent 21.8% 100%),linear-gradient(148deg,transparent 0 30%,rgba(255,0,204,.18) 30.2% 30.6%,transparent 30.8% 100%),linear-gradient(68deg,transparent 0 52%,rgba(103,58,183,.2) 52.2% 52.5%,transparent 52.7% 100%),radial-gradient(circle at 20% 24%,rgba(103,58,183,.48) 0 1.5px,transparent 2px),radial-gradient(circle at 62% 16%,rgba(22,24,35,.18) 0 1.3px,transparent 1.8px),radial-gradient(circle at 76% 39%,rgba(255,0,204,.4) 0 1.5px,transparent 2px),radial-gradient(circle at 38% 51%,rgba(136,153,166,.4) 0 1.4px,transparent 1.9px)}.top-bar h1,.header-action,.target-value,.macro-card strong,.recent-copy h3,.profile-nudge h2,.view-heading h2,.today-log-header h3,.log-entry h4,.library-item-main h4,.metric-pill strong,.section-choice strong,.profile-hero h3,.calculation-preview strong,.identity-card strong,.weight-timeline strong{color:#161823}.ring-label,.profile-nudge p,.view-heading p,.today-log-header p,.section-choice-icon,.metric-pill svg,.sheet-header p,.library-count strong,.bottom-nav a.active,.bottom-nav button.active{color:#7c3aed}.remaining-value,.recent-copy p,.macro-card p,.profile-field span,.log-field span,.metric-pill span,.section-choice small,.identity-card p,.weight-timeline span,.log-entry p,.library-item-main p,.roadmap-card p,.auth-state p,.log-empty-state{color:#657184}.profile-nudge,.macro-card,.recent-card,.profile-sheet,.profile-hero,.metric-pill,.section-choice,.profile-field input,.profile-field select,.calculation-preview,.identity-card,.weight-timeline,.empty-profile-state,.log-summary-grid,.log-form,.log-field input,.quick-log-list button,.today-log-card,.library-search,.library-filters button,.library-form,.library-list-card,.library-item,.roadmap-card,.sheet-close,.sheet-back{border-color:#7c3aed38;background:linear-gradient(180deg,#ffffffdb,#f6f8fbc7),#f8fafc;box-shadow:inset 0 1px #ffffffe6,0 0 0 1px #ff00cc09,0 12px 28px #4f46e514}.calorie-ring{background:radial-gradient(circle at center,rgba(124,58,237,.08),transparent 62%),#ffffffb8;box-shadow:0 0 34px #7c3aed33,0 0 52px #ff00cc24,0 22px 44px #4f46e51f}.calorie-ring:before{background:radial-gradient(circle at 50% 38%,rgba(255,0,204,.08),transparent 44%),linear-gradient(180deg,#fff,#edf0f5);box-shadow:inset 0 0 28px #7c3aed14,inset 0 -22px 36px #4f46e50f}.calorie-ring:after{border-color:#7c3aed47}.ring-track-svg{stroke:#7c3aed2e}.ring-progress-svg{filter:drop-shadow(0 0 7px rgba(255,0,204,.36))}.consumed-value,.quick-log-list strong,.library-item-main strong,.log-entry strong{color:#7c3aed}.macro-track,.log-metric div{background:#7c3aed1f}.recent-card,.today-log-card,.library-list-card,.weight-timeline{overflow:hidden}.recent-row,.log-entry,.library-item,.weight-timeline article{border-top-color:#7c3aed1f}.food-icon,.section-choice-icon,.roadmap-card div,.avatar-ring,.library-count,.scan-button{background:#7c3aed1a;color:#7c3aed;box-shadow:inset 0 0 0 1px #7c3aed29}.avatar-ring,.loading-pulse{background:conic-gradient(from 180deg,#f0c,#7c3aed,#a855f7,#f0c);color:#fff}.save-log,.save-profile,.profile-nudge button,.library-actions .library-log-button{background:linear-gradient(135deg,#f0c,#7c3aed);color:#fff;box-shadow:0 12px 26px #7c3aed3d,0 0 22px #ff00cc2e}.quick-add{background:linear-gradient(135deg,#7c3aed,#f0c);color:#fff;box-shadow:0 12px 26px #7c3aed3d,0 0 22px #ff00cc2e}.log-field input,.profile-field input,.profile-field select,.library-search input{background:#ffffffc2;color:#161823}.log-field input::placeholder,.profile-field input::placeholder,.library-search input::placeholder{color:#657184a3}.log-field input:focus,.profile-field input:focus,.profile-field select:focus,.library-search:focus-within{border-color:#ff00cc7a;box-shadow:0 0 0 3px #ff00cc1a,0 0 24px #7c3aed24}.bottom-nav{background:linear-gradient(180deg,#fffffff0,#eef1f5f5),#f8fafc;border-top:1px solid rgba(124,58,237,.16);box-shadow:0 -14px 30px #4f46e51a,0 -1px #ff00cc14}.bottom-nav a,.bottom-nav button{color:#657184}.bottom-nav a.active,.bottom-nav button.active{background:#7c3aed14}.sheet-backdrop{background:#eef1f5bd}.profile-sheet{background:radial-gradient(circle at 12% 0%,rgba(255,0,204,.1),transparent 34%),linear-gradient(180deg,#fff,#eef1f5 62%,#e4e8ef)}.error-banner{border-color:#ff00cc42;background:#ff00cc14;color:#8f145f}.roadmap-card span,.library-macros span{background:#7c3aed1a;color:#6d28d9}html,body,#root,.app-shell{background:radial-gradient(circle at 96% 0%,rgba(124,58,237,.055),transparent 28%),#edf0f4}.app-main{background:radial-gradient(circle at 88% 4%,rgba(255,0,204,.045),transparent 30%),linear-gradient(180deg,#f9fafc,#eef1f5 58%,#e7ebf1)}.constellation{opacity:.16}.recent-state,.log-empty-state,.empty-profile-state{color:#657184}.app-main-log .scan-button,.app-main-log .log-summary-grid,.app-main-log .log-form,.app-main-log .today-log-card,.app-main-log .quick-log-list button{border-color:#7c3aed38;background:linear-gradient(180deg,#ffffffe0,#f6f8fbcc),#f8fafc;box-shadow:inset 0 1px #ffffffeb,0 0 0 1px #ff00cc09,0 12px 28px #4f46e514}.app-main-log .log-field input{border-color:#7c3aed38;background:#ffffffc7;color:#161823}.app-main-log .log-metric{border-left-color:#7c3aed24}.app-main-log .log-metric strong,.app-main-log .today-log-header h3{color:#161823}.app-main-log .view-heading p,.app-main-log .today-log-header p,.app-main-log .scan-button,.app-main-log .quick-log-list strong{color:#7c3aed}.app-main-log .quick-log-list button,.app-main-log .quick-log-list span{color:#161823}.app-main-log .save-log{background:linear-gradient(135deg,#f0c,#7c3aed);color:#fff;box-shadow:0 12px 26px #7c3aed3d,0 0 22px #ff00cc2e}.app-main-log .log-metric div{background:#7c3aed1f}.app-main-log .log-empty-state{color:#657184}@media(max-width:520px){.library-roadmap{grid-template-columns:1fr}.roadmap-card{min-height:0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px}.roadmap-card p{display:none}.roadmap-card span{max-width:112px;overflow:hidden;text-overflow:ellipsis}}.scan-view{position:relative;z-index:1;display:grid;flex:1 1 auto;min-height:0;gap:12px;overflow-x:hidden;overflow-y:auto;padding-bottom:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scan-view::-webkit-scrollbar{display:none}.app-main-scan .view-heading p,.app-main-scan .scan-result-header p{color:#7c3aed}.app-main-scan .view-heading h2,.scan-result-header h3,.scan-guide-card strong,.scan-macro-grid strong{color:#161823}.scan-dropzone,.scan-result-card,.scan-guide-card,.scan-macro-grid article,.scan-secondary-action,.scan-meal-name input{border:1px solid rgba(124,58,237,.22);background:linear-gradient(180deg,#ffffffe6,#f6f8fbcc),#f8fafc;box-shadow:inset 0 1px #ffffffeb,0 0 0 1px #ff00cc09,0 12px 28px #4f46e514}.scan-meal-name{display:grid;gap:6px}.scan-meal-name span{color:#7c3aed;font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.scan-meal-name input{width:100%;min-height:44px;border-radius:15px;padding:0 13px;color:#161823;font:inherit;font-size:.92rem;font-weight:800;outline:none}.scan-meal-name input::placeholder{color:#657184a3}.scan-meal-name input:focus{border-color:#ff00cc7a;box-shadow:0 0 0 3px #ff00cc1a,0 0 24px #7c3aed24}.scan-dropzone{position:relative;min-height:286px;overflow:hidden;border-radius:24px;color:#657184;display:grid;place-items:center;text-align:center}.scan-dropzone.has-preview{min-height:330px;align-items:end}.scan-dropzone img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.scan-dropzone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#f8fafc14,#11182785),radial-gradient(circle at 50% 50%,transparent 52%,rgba(124,58,237,.16) 53% 54%,transparent 55%);opacity:0;pointer-events:none}.scan-dropzone.has-preview:after{opacity:1}.scan-dropzone>div{position:relative;z-index:1;width:min(100%,300px);padding:18px;display:grid;justify-items:center;gap:8px}.scan-dropzone.has-preview>div{width:calc(100% - 24px);margin:12px;border:1px solid rgba(255,255,255,.42);border-radius:18px;background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.scan-dropzone svg{color:#7c3aed}.scan-dropzone strong{color:#161823;font-size:1.08rem;font-weight:950}.scan-dropzone span{color:#657184;font-size:.82rem;font-weight:800;line-height:1.3}.scan-message{padding:11px 13px;border-radius:15px;font-size:.82rem;font-weight:850}.scan-message.is-error{border:1px solid rgba(255,0,204,.24);background:#ff00cc14;color:#8f145f}.scan-result-card{display:grid;gap:12px;border-radius:20px;padding:14px}.scan-result-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.scan-result-header p,.scan-result-header h3,.scan-notes,.scan-guide-card p{margin:0}.scan-result-header p{font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.scan-result-header h3{margin-top:2px;font-size:1.06rem;line-height:1.15}.scan-result-header svg{color:#7c3aed;flex:0 0 auto}.scan-calorie-pill{min-height:82px;border-radius:18px;background:linear-gradient(135deg,#f0c,#7c3aed);color:#fff;display:flex;align-items:baseline;justify-content:center;gap:8px;box-shadow:0 14px 30px #7c3aed38,0 0 26px #ff00cc29}.scan-calorie-pill strong{font-size:2.1rem;font-weight:950}.scan-calorie-pill span{font-size:.95rem;font-weight:900}.scan-macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.scan-item-list{display:grid;overflow:hidden;border:1px solid rgba(124,58,237,.14);border-radius:16px;background:#ffffff8f}.scan-item-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;border-top:1px solid rgba(124,58,237,.1)}.scan-item-list article:first-child{border-top:0}.scan-item-list div{min-width:0}.scan-item-list strong,.scan-item-list span,.scan-item-list p{margin:0}.scan-item-list div strong{display:block;overflow:hidden;color:#161823;font-size:.84rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.scan-item-list span{display:block;overflow:hidden;color:#657184;font-size:.72rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.scan-item-list p{flex:0 0 auto;color:#7c3aed;font-size:.82rem;font-weight:950}.scan-macro-grid article{min-width:0;min-height:64px;border-radius:15px;padding:10px}.scan-macro-grid span,.scan-macro-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-macro-grid span{color:#657184;font-size:.62rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.scan-macro-grid strong{margin-top:4px;font-size:1rem;font-weight:950}.scan-notes{color:#657184;font-size:.82rem;font-weight:750;line-height:1.4}.scan-secondary-action{min-height:42px;border-radius:14px;color:#7c3aed;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.86rem;font-weight:900}.scan-guide-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;border-radius:18px;padding:13px}.scan-guide-card>svg{width:42px;height:42px;padding:10px;border-radius:14px;background:#7c3aed1a;color:#7c3aed}.scan-guide-card p{margin-top:2px;color:#657184;font-size:.78rem;font-weight:750;line-height:1.3}@media(max-width:430px){.scan-view{gap:9px;padding-bottom:8px}.scan-dropzone{min-height:238px;border-radius:20px}.scan-dropzone.has-preview{min-height:284px}.scan-dropzone>div{padding:14px}.scan-result-card{gap:9px;padding:12px;border-radius:18px}.scan-calorie-pill{min-height:70px}.scan-calorie-pill strong{font-size:1.82rem}.scan-macro-grid{gap:6px}.scan-macro-grid article{min-height:56px;padding:8px}}.log-entry{grid-template-columns:minmax(0,1fr)}.log-entry-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.log-item-breakdown{display:grid;gap:5px;margin-top:8px;padding:8px;border-radius:12px;background:#7c3aed12}.log-item-breakdown div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.log-item-breakdown span,.log-item-breakdown strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.log-item-breakdown span{min-width:0;color:#657184;font-weight:800}.log-item-breakdown strong{flex:0 0 auto;color:#7c3aed;font-weight:950}.status-card{display:none!important}.app-main-log,.app-main-library,.app-main-scan{row-gap:0}.app-main-log .top-bar,.app-main-library .top-bar,.app-main-scan .top-bar{margin-bottom:12px}.log-view,.library-view,.scan-view{align-content:start;gap:14px;padding-top:2px}.app-main-log .log-view,.app-main-library .library-view,.app-main-scan .scan-view{gap:14px}.view-heading{align-items:flex-start;gap:14px;min-height:48px}.view-heading>div{min-width:0;padding-top:2px}.view-heading p{margin-bottom:2px}.view-heading h2{line-height:1.12}.scan-button,.profile-nudge button,.save-log,.save-profile,.library-actions .library-log-button,.scan-secondary-action{flex:0 0 auto;min-width:max-content;min-height:42px;padding:0 16px;line-height:1;white-space:nowrap}.scan-button{margin-top:0;border-radius:14px}.app-main-log .scan-button,.app-main-library .scan-button,.app-main-scan .scan-button{min-height:42px;padding:0 16px;border-radius:14px;font-size:.82rem}.profile-nudge{align-items:center;gap:16px;margin:0 0 16px;padding:14px 16px}.profile-nudge>div{min-width:0}.profile-nudge h2{overflow-wrap:anywhere}.app-main-log .log-summary-grid{gap:8px;padding:0;border:0;background:transparent;box-shadow:none}.app-main-log .log-metric{min-height:70px;padding:11px 9px;border:1px solid rgba(124,58,237,.18);border-radius:15px;background:linear-gradient(180deg,#ffffffe6,#f6f8fbd1),#f8fafc;box-shadow:inset 0 1px #ffffffeb,0 10px 22px #4f46e512}.app-main-log .log-metric:first-child{padding-left:9px}.log-form,.library-form,.scan-result-card,.today-log-card,.library-list-card,.profile-nudge{overflow:visible}.log-field input,.library-search,.profile-field input,.profile-field select,.scan-meal-name input{min-height:46px}.quick-log-list{gap:10px}.app-main-log .quick-log-list button{min-height:62px;padding:11px}.bottom-nav a,.bottom-nav button{padding:4px 2px}@media(max-width:430px){.app-main{padding:12px 14px 8px}.app-main-log .top-bar,.app-main-library .top-bar,.app-main-scan .top-bar{margin-bottom:10px}.log-view,.library-view,.scan-view,.app-main-log .log-view,.app-main-library .library-view,.app-main-scan .scan-view{gap:12px}.view-heading{min-height:50px}.view-heading h2{font-size:1.18rem}.view-heading p{font-size:.64rem}.scan-button,.app-main-log .scan-button,.app-main-library .scan-button,.app-main-scan .scan-button{min-height:40px;padding:0 15px}.profile-nudge{margin-bottom:14px;padding:13px 14px}.profile-nudge button{min-height:40px;padding:0 15px}.app-main-log .log-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-main-log .log-metric{min-height:66px;padding:10px}.app-main-log .log-form,.library-form{gap:10px;padding:12px}}@media(max-width:360px){.scan-button,.profile-nudge button,.app-main-log .scan-button,.app-main-library .scan-button,.app-main-scan .scan-button{min-height:38px;padding:0 12px;font-size:.76rem}.profile-nudge{gap:10px;padding:12px}}:root{color:#111827;background:#f6f8fb}html,body,#root,.app-shell{background:radial-gradient(circle at 14% -8%,rgba(16,185,129,.08),transparent 30%),radial-gradient(circle at 94% 3%,rgba(37,99,235,.08),transparent 34%),#f6f8fb}.app-shell{padding-top:env(safe-area-inset-top)}.app-main{color:#111827;padding-top:max(18px,calc(env(safe-area-inset-top) + 14px));background:linear-gradient(180deg,#ffffffc2,#f6f8fbeb),#f6f8fb}.constellation{opacity:.12;background-image:linear-gradient(32deg,transparent 0 21%,rgba(37,99,235,.16) 21.2% 21.5%,transparent 21.8% 100%),linear-gradient(148deg,transparent 0 30%,rgba(16,185,129,.14) 30.2% 30.5%,transparent 30.8% 100%),radial-gradient(circle at 20% 24%,rgba(16,185,129,.38) 0 1.3px,transparent 2px),radial-gradient(circle at 62% 16%,rgba(17,24,39,.14) 0 1.2px,transparent 1.8px),radial-gradient(circle at 76% 39%,rgba(249,115,22,.22) 0 1.3px,transparent 2px)}.top-bar{min-height:44px;margin-bottom:14px}.top-bar h1{color:#111827;font-size:1.24rem;font-weight:850}.header-action{width:42px;height:42px;border:1px solid rgba(17,24,39,.08);background:#ffffffdb;color:#111827;box-shadow:0 10px 24px #0f172a14,inset 0 1px #fffffff5}.dashboard-view,.log-view,.library-view,.scan-view{gap:14px}.profile-nudge,.macro-card,.recent-card,.log-metric,.log-form,.quick-log-list button,.today-log-card,.library-search,.library-filters button,.library-form,.library-list-card,.roadmap-card,.scan-meal-name input,.scan-dropzone,.scan-result-card,.scan-guide-card,.scan-macro-grid article,.scan-item-list,.scan-secondary-action,.profile-sheet,.profile-hero,.metric-pill,.section-choice,.profile-field input,.profile-field select,.calculation-preview,.identity-card,.weight-timeline,.empty-profile-state{border-color:#0f172a14;background:linear-gradient(180deg,#fffffff5,#ffffffdb),#fff;box-shadow:0 14px 34px #0f172a14,inset 0 1px #fffffff5}.profile-nudge{border-radius:20px;border-color:#10b9812e;background:linear-gradient(135deg,rgba(16,185,129,.11),transparent 52%),#fff}.profile-nudge p,.view-heading p,.today-log-header p,.sheet-header p,.scan-meal-name span,.ring-label{color:#0f766e}.profile-nudge h2,.view-heading h2,.today-log-header h3,.recent-copy h3,.target-value,.macro-card strong,.log-entry h4,.library-item-main h4,.scan-result-header h3,.scan-guide-card strong,.scan-macro-grid strong,.metric-pill strong,.section-choice strong,.profile-hero h3{color:#111827}.profile-nudge button,.save-log,.save-profile,.library-actions .library-log-button{background:linear-gradient(135deg,#10b981,#2563eb);color:#fff;box-shadow:0 12px 26px #2563eb2e}.calorie-section{padding:4px 0 8px}.calorie-ring{width:min(58vw,236px);background:radial-gradient(circle at center,rgba(16,185,129,.08),transparent 64%),#ffffffdb;box-shadow:0 18px 42px #0f172a1a,0 0 0 1px #0f172a0d}.calorie-ring:before{background:radial-gradient(circle at 50% 34%,rgba(37,99,235,.06),transparent 48%),linear-gradient(180deg,#fff,#f3f7fb);box-shadow:inset 0 0 24px #0f172a0e}.calorie-ring:after{border-color:#10b9812e}.ring-track-svg{stroke:#94a3b847}.ring-progress-svg{filter:drop-shadow(0 4px 10px rgba(16,185,129,.22))}.consumed-value{color:#0f766e}.remaining-value,.recent-copy p,.macro-card p,.log-field span,.metric-pill span,.section-choice small,.identity-card p,.weight-timeline span,.log-entry p,.library-item-main p,.roadmap-card p,.auth-state p,.log-empty-state,.scan-notes,.scan-dropzone span,.scan-guide-card p{color:#667085}.macro-grid{gap:9px}.macro-card{min-height:82px;border-radius:18px;padding:12px 11px}.macro-track,.log-metric div{background:#94a3b82e}.recent-section{margin-top:14px}.recent-section h2{color:#667085}.recent-card,.today-log-card,.library-list-card,.weight-timeline{border-radius:20px}.recent-row,.log-entry,.library-item,.weight-timeline article{border-top-color:#0f172a0f}.food-icon,.section-choice-icon,.roadmap-card div,.avatar-ring,.library-count,.scan-button,.scan-guide-card>svg{background:#2563eb14;color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb1a}.scan-button{background:#fff;border:1px solid rgba(37,99,235,.14);color:#2563eb;box-shadow:0 10px 22px #2563eb1a}.quick-add,.scan-calorie-pill{background:linear-gradient(135deg,#10b981,#2563eb);color:#fff;box-shadow:0 16px 34px #2563eb2e}.log-field input,.profile-field input,.profile-field select,.library-search input,.scan-meal-name input{background:#fff;color:#111827}.log-field input::placeholder,.profile-field input::placeholder,.library-search input::placeholder,.scan-meal-name input::placeholder{color:#98a2b3}.log-field input:focus,.profile-field input:focus,.profile-field select:focus,.library-search:focus-within,.scan-meal-name input:focus{border-color:#10b9817a;box-shadow:0 0 0 4px #10b9811f,0 12px 28px #0f172a14}.app-main-log .log-summary-grid{gap:10px}.app-main-log .log-metric{min-height:72px;border-color:#0f172a14;background:#fff}.app-main-log .log-metric>span{color:#667085}.app-main-log .log-metric strong,.app-main-log .today-log-header h3{color:#111827}.app-main-log .view-heading p,.app-main-log .today-log-header p{color:#0f766e}.quick-log-list strong,.library-item-main strong,.log-entry strong,.scan-item-list p,.log-item-breakdown strong,.app-main-log .quick-log-list strong{color:#2563eb}.log-edit-form,.scan-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.log-entry-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.log-action,.scan-save-action{min-height:38px;padding:0 12px;border-radius:12px;background:#2563eb14;color:#2563eb;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.78rem;font-weight:900;box-shadow:inset 0 0 0 1px #2563eb1a}.log-action.primary,.scan-save-action{background:linear-gradient(135deg,#10b981,#2563eb);color:#fff;box-shadow:0 12px 24px #2563eb29}.log-action.danger{background:#dc262614;color:#b91c1c;box-shadow:inset 0 0 0 1px #dc26261f}.scan-save-action{width:100%;min-height:46px}.scan-review-grid{padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#ffffffb8}@media(max-width:360px){.log-edit-form,.scan-review-grid{grid-template-columns:1fr}.log-edit-form .span-2,.scan-review-grid .span-2{grid-column:auto}}.log-item-breakdown{background:#2563eb0f}.library-filters button.active{background:#10b9811a;color:#0f766e;box-shadow:inset 0 0 0 1px #10b9812e}.ai-meal-plan-card{padding:14px;border:1px solid rgba(17,24,39,.06);border-radius:24px;background:linear-gradient(135deg,#00c2a81a,#5b5bff1a),#fff;box-shadow:0 16px 34px #11182712}.meal-plan-form{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:10px;margin-top:12px}.meal-plan-form .save-log{grid-column:1 / -1}.meal-plan-list{display:grid;gap:10px;margin-top:12px}.meal-plan-item{padding:13px;border:1px solid rgba(17,24,39,.06);border-radius:20px;background:#ffffffdb;box-shadow:0 10px 22px #1118270d}.meal-plan-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.meal-plan-main p,.meal-plan-main h4,.meal-plan-why{margin:0}.meal-plan-main p{color:#0f766e;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.meal-plan-main h4{margin-top:3px;color:#111827;font-size:.95rem;font-weight:950;line-height:1.18}.meal-plan-main strong{flex:0 0 auto;color:#2563eb;font-size:.88rem;font-weight:950}.meal-plan-why{margin-top:10px;color:#667085;font-size:.78rem;font-weight:750;line-height:1.35}.meal-plan-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.meal-plan-tags span{padding:6px 8px;border-radius:999px;background:#2563eb14;color:#1d4ed8;font-size:.68rem;font-weight:850}@media(max-width:380px){.meal-plan-form{grid-template-columns:1fr}}.roadmap-card span,.library-macros span{background:#2563eb14;color:#1d4ed8}.bottom-nav{min-height:calc(70px + env(safe-area-inset-bottom));padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#ffffffeb,#fffffffa),#fff;border-top:1px solid rgba(15,23,42,.08);box-shadow:0 -16px 34px #0f172a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav a,.bottom-nav button{color:#667085;border-radius:18px}.bottom-nav a.active,.bottom-nav button.active{background:#10b9811c;color:#0f766e}.bottom-nav span{font-size:.6rem;font-weight:850}.scan-dropzone{border-radius:24px}.scan-dropzone.has-preview>div{background:#ffffffe6;border-color:#ffffffa8}.scan-dropzone svg{color:#2563eb}.scan-message.is-error,.error-banner{border-color:#dc26262e;background:#fff1f2;color:#9f1239}@media(max-width:430px){.app-main{height:calc(100dvh - 70px - env(safe-area-inset-bottom));padding:max(14px,calc(env(safe-area-inset-top) + 12px)) 14px 10px}.top-bar{min-height:42px;margin-bottom:10px}.calorie-ring{width:min(54vw,214px)}.macro-card{min-height:76px;padding:11px 10px}.bottom-nav{min-height:calc(66px + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.bottom-nav a,.bottom-nav button{min-height:50px}}.app-main-log .save-log,.library-form .save-log,.scan-secondary-action,.quick-add{background:linear-gradient(135deg,#10b981,#2563eb);color:#fff;box-shadow:0 16px 34px #2563eb2e}.app-main-log .scan-button,.app-main-library .library-count,.app-main-scan .scan-button{background:#fff;border-color:#2563eb24;color:#2563eb;box-shadow:0 10px 22px #2563eb1a}.app-main-log .view-heading p,.app-main-library .view-heading p,.app-main-scan .view-heading p,.app-main-scan .scan-meal-name span,.app-main-scan .scan-result-header p{color:#0f766e}.app-main-scan .scan-dropzone svg,.app-main-scan .scan-guide-card>svg{color:#2563eb}.app-main-scan .scan-calorie-pill{background:linear-gradient(135deg,#10b981,#2563eb)}.recent-card:has(.recent-state){min-height:168px}.account-screen{min-height:100dvh;padding:max(28px,calc(env(safe-area-inset-top) + 28px)) 18px max(28px,calc(env(safe-area-inset-bottom) + 28px));background:radial-gradient(circle at 18% 0%,rgba(0,194,168,.16),transparent 28%),radial-gradient(circle at 90% 8%,rgba(91,91,255,.15),transparent 30%),#f8f9fc;color:#111827;display:grid;place-items:center}.account-card{width:min(100%,430px);padding:24px;border:1px solid rgba(17,24,39,.05);border-radius:28px;background:#ffffffeb;box-shadow:0 24px 64px #1118271f;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.account-brand span,.account-brand strong,.account-brand p{display:block;margin:0}.account-brand span{color:#00a896;font-size:.78rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.account-brand strong{margin-top:10px;color:#111827;font-size:2rem;font-weight:950;line-height:1.02}.account-brand p{margin-top:10px;color:#667085;font-size:.95rem;font-weight:750;line-height:1.42}.account-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px;padding:5px;border-radius:18px;background:#f2f4f7}.account-mode button{min-height:42px;border-radius:14px;background:transparent;color:#667085;font-size:.86rem;font-weight:950}.account-mode button.active{background:#fff;color:#111827;box-shadow:0 8px 18px #11182714}.account-form{display:grid;gap:14px;margin-top:20px}.account-form label{display:grid;gap:7px}.account-form span{color:#475467;font-size:.76rem;font-weight:900}.account-form input{width:100%;min-height:52px;padding:0 15px;border:1px solid rgba(17,24,39,.08);border-radius:17px;outline:none;background:#fff;color:#111827;font:inherit;font-size:.96rem;font-weight:800;box-shadow:0 10px 22px #1118270a}.account-form input:focus{border-color:#5b5bff6b;box-shadow:0 10px 22px #1118270a,0 0 0 4px #5b5bff1a}.account-error{padding:11px 13px;border:1px solid rgba(220,38,38,.15);border-radius:15px;background:#fff1f2;color:#9f1239;font-size:.82rem;font-weight:850}.account-submit{min-height:52px;border-radius:18px;background:linear-gradient(135deg,#00c2a8,#5b5bff);color:#fff;font-size:.95rem;font-weight:950;box-shadow:0 18px 34px #5b5bff38}.account-submit:disabled{opacity:.7}.account-loader{width:56px;height:56px;border-radius:50%;background:conic-gradient(from 180deg,#00c2a8,#5b5bff,#00c2a8);animation:spin 1s linear infinite}.sign-out-button{min-height:46px;border-radius:16px;background:#fff1f2;color:#be123c;font-size:.9rem;font-weight:950;box-shadow:inset 0 0 0 1px #be123c1a}.goal-choice-group{display:grid;gap:10px}.goal-choice-group>span{color:#475467;font-size:.76rem;font-weight:950}.goal-choice-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.goal-choice-group button{min-height:92px;padding:13px;border:1px solid rgba(17,24,39,.08);border-radius:18px;background:#fff;color:#111827;display:grid;align-content:start;gap:5px;text-align:left;box-shadow:0 10px 22px #1118270d}.goal-choice-group button.active{border-color:#5b5bff6b;background:linear-gradient(135deg,#00c2a81a,#5b5bff1a),#fff;box-shadow:0 14px 28px #5b5bff1f,inset 0 0 0 1px #5b5bff2e}.goal-choice-group strong,.goal-choice-group small{display:block}.goal-choice-group strong{font-size:.9rem;font-weight:950;line-height:1.1}.goal-choice-group small{color:#667085;font-size:.72rem;font-weight:800;line-height:1.25}.calculation-preview .target-preview-wide{grid-column:1 / -1;background:linear-gradient(135deg,#00c2a8,#5b5bff)}.calculation-preview .target-preview-wide span,.calculation-preview .target-preview-wide strong{color:#fff}@media(max-width:380px){.goal-choice-group>div{grid-template-columns:1fr}}:root{color:#111827;background:#f8f9fc}html,body,.app-shell{background:#f8f9fc}.app-main-dashboard{height:calc(100dvh - 78px - env(safe-area-inset-bottom));min-height:0;overflow-y:auto;overflow-x:hidden;padding:max(18px,calc(env(safe-area-inset-top) + 14px)) 18px 22px;background:radial-gradient(circle at 18% 0%,rgba(0,194,168,.12),transparent 28%),radial-gradient(circle at 92% 4%,rgba(91,91,255,.12),transparent 30%),#f8f9fc;color:#111827;scrollbar-width:none}.app-main-dashboard::-webkit-scrollbar{display:none}.app-main-dashboard .top-bar,.app-main-dashboard .constellation{display:none}.premium-dashboard{display:grid;gap:16px;padding-bottom:14px}.premium-hero{display:grid;gap:18px}.premium-greeting{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-top:2px}.premium-greeting p,.premium-greeting h2,.premium-greeting span{margin:0}.premium-greeting p{color:#111827;font-size:1.28rem;font-weight:900;letter-spacing:0;line-height:1.12}.premium-greeting h2{max-width:230px;margin-top:5px;color:#667085;font-size:.9rem;font-weight:700;line-height:1.35}.premium-header-actions{display:grid;justify-items:end;gap:9px;flex:0 0 auto}.streak-pill{min-height:34px;padding:0 10px;border-radius:999px;background:#fff;color:#111827;display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:900;box-shadow:0 12px 26px #11182714}.streak-pill svg{color:#f59e0b;fill:#f59e0b26}.notification-button{width:38px;height:38px;border-radius:50%;background:#fff;color:#111827;display:grid;place-items:center;box-shadow:0 12px 26px #11182714}.calorie-focus{position:relative;display:grid;place-items:center;min-height:320px;margin-top:2px}.premium-calorie-ring{position:relative;z-index:1;width:min(62vw,258px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 24px 60px #1118271f,inset 0 0 0 1px #1118270a}.premium-calorie-ring:before{content:"";position:absolute;top:26px;right:26px;bottom:26px;left:26px;border-radius:inherit;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:inset 0 0 0 1px #1118270d}.premium-ring-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.premium-ring-track,.premium-ring-progress{fill:none;stroke-width:9}.premium-ring-track{stroke:#eef2f7}.premium-ring-progress{stroke:url(#premiumCalorieGradient);stroke-linecap:round;filter:drop-shadow(0 8px 18px rgba(91,91,255,.18))}.premium-ring-center{position:relative;z-index:1;display:grid;justify-items:center;text-align:center}.premium-ring-center span{color:#98a2b3;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.premium-ring-center strong{margin-top:3px;color:#111827;font-size:clamp(2.7rem,12vw,3.6rem);font-weight:950;line-height:.98}.premium-ring-center p,.premium-ring-center em{margin:0;font-style:normal}.premium-ring-center p{margin-top:6px;color:#667085;font-size:.84rem;font-weight:800}.premium-ring-center em{margin-top:10px;color:#00a896;font-size:.82rem;font-weight:900}.ring-stat{position:absolute;z-index:2;width:84px;padding:9px 8px;border-radius:18px;background:#ffffffdb;text-align:center;box-shadow:0 14px 28px #11182714,inset 0 0 0 1px #1118270a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.ring-stat strong,.ring-stat span{display:block}.ring-stat strong{color:#111827;font-size:1rem;font-weight:950;line-height:1.05}.ring-stat span{margin-top:3px;color:#98a2b3;font-size:.62rem;font-weight:850;line-height:1.1}.stat-top-left{top:42px;left:0}.stat-top-right{top:42px;right:0}.stat-bottom-left{bottom:28px;left:10px}.stat-bottom-right{right:10px;bottom:28px}.premium-macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.premium-macro-card,.dashboard-card,.nutrition-insight-card,.water-card,.ai-coach-card{border:1px solid rgba(17,24,39,.05);border-radius:24px;background:#fff;box-shadow:0 16px 34px #11182712}.premium-macro-card{min-width:0;min-height:132px;padding:13px}.premium-macro-card div:first-child{display:flex;align-items:center;gap:7px}.premium-macro-card p,.premium-macro-card strong,.premium-macro-card small{display:block;margin:0}.macro-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f2f4f7;font-size:.88rem}.premium-macro-card p{color:#475467;font-size:.76rem;font-weight:900}.premium-macro-card strong{margin-top:15px;color:#111827;font-size:.96rem;font-weight:950;line-height:1.1}.premium-macro-card small{margin-top:4px;color:#98a2b3;font-size:.72rem;font-weight:850}.premium-progress{height:7px;margin-top:12px;overflow:hidden;border-radius:999px;background:#eef2f7}.premium-progress span{display:block;height:100%;border-radius:inherit;background:var(--macro-color)}.insight-water-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(112px,.72fr);gap:12px}.nutrition-insight-card,.water-card,.dashboard-card,.ai-coach-card{padding:16px}.premium-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.premium-card-heading span{display:inline-flex;align-items:center;gap:7px;color:#111827;font-size:.86rem;font-weight:950}.premium-card-heading svg{color:#00a896}.premium-card-heading small{color:#98a2b3;font-size:.72rem;font-weight:850}.nutrition-insight-card p{margin:14px 0 0;color:#344054;font-size:.9rem;font-weight:800;line-height:1.38}.nutrition-insight-card ul{display:grid;gap:5px;margin:12px 0 0;padding:0 0 0 17px;color:#667085;font-size:.8rem;font-weight:750}.nutrition-insight-card button{margin-top:14px;padding:0;background:transparent;color:#5b5bff;font-size:.8rem;font-weight:950}.water-card{display:grid;align-content:space-between;min-height:172px}.water-card strong{margin-top:18px;color:#111827;font-size:1.18rem;font-weight:950;line-height:1.08}.water-dots{display:flex;gap:5px;margin-top:15px}.water-dots span{width:11px;height:11px;border-radius:50%;background:#e4e7ec}.water-dots span.filled{background:linear-gradient(135deg,#00c2a8,#5b5bff)}.water-card p{margin:12px 0 0;color:#5b5bff;font-size:.88rem;font-weight:950}.meal-timeline{display:grid;gap:8px;margin-top:14px}.meal-timeline article{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:center;gap:10px;min-height:54px;padding:8px 0;border-bottom:1px solid #f2f4f7}.meal-timeline article:last-child{border-bottom:0}.meal-time-icon{width:38px;height:38px;border-radius:14px;background:#f8f9fc;display:grid;place-items:center;font-size:1rem}.meal-timeline h3,.meal-timeline p{margin:0}.meal-timeline h3{color:#111827;font-size:.9rem;font-weight:950}.meal-timeline p{margin-top:2px;color:#667085;font-size:.78rem;font-weight:800}.meal-complete,.meal-missing{width:28px;height:28px;border-radius:50%;display:grid;place-items:center}.meal-complete{background:#10b9811f;color:#10b981}.meal-missing{background:#5b5bff17;color:#5b5bff}.add-food-button{width:100%;min-height:48px;margin-top:12px;border-radius:17px;background:#111827;color:#fff;font-size:.9rem;font-weight:950}.weekly-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.weekly-metrics article{min-width:0;padding:11px;border-radius:18px;background:#f8f9fc}.sparkline{display:flex;align-items:end;gap:3px;height:28px}.sparkline span{width:100%;min-width:3px;border-radius:999px;background:linear-gradient(180deg,#00c2a8,#5b5bff)}.sparkline span:nth-child(1){height:42%}.sparkline span:nth-child(2){height:72%}.sparkline span:nth-child(3){height:55%}.sparkline span:nth-child(4){height:88%}.sparkline span:nth-child(5){height:66%}.weekly-metrics p,.weekly-metrics strong{margin:0}.weekly-metrics p{margin-top:8px;color:#98a2b3;font-size:.68rem;font-weight:850}.weekly-metrics strong{display:block;margin-top:2px;color:#111827;font-size:.78rem;font-weight:950}.average-row{display:grid;gap:2px;margin-top:16px}.average-row span{color:#98a2b3;font-size:.76rem;font-weight:850}.average-row strong{color:#111827;font-size:1.18rem;font-weight:950}.average-row p{margin:0;color:#10b981;font-size:.78rem;font-weight:900}.goal-progress-layout{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:16px;margin-top:16px}.mini-goal-ring{width:96px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#ffffff 0 55%,transparent 56%),conic-gradient(#00c2a8 var(--goal-progress),#eef2f7 0)}.mini-goal-ring strong{color:#111827;font-size:1.08rem;font-weight:950}.goal-progress-layout h3,.goal-progress-layout p{margin:0}.goal-progress-layout h3{color:#111827;font-size:1.1rem;font-weight:950}.goal-progress-layout p{margin-top:5px;color:#667085;font-size:.82rem;font-weight:800}.ai-coach-card{display:grid;gap:8px;margin-bottom:2px;background:linear-gradient(135deg,#00c2a81f,#5b5bff1f),#fff}.ai-coach-card div{display:flex;align-items:center;gap:8px;color:#111827;font-size:.9rem;font-weight:950}.ai-coach-card svg{color:#5b5bff}.ai-coach-card p{margin:0;color:#667085;font-size:.82rem;font-weight:750;line-height:1.35}.ai-coach-card button{justify-self:start;min-height:38px;margin-top:2px;padding:0 14px;border-radius:999px;background:#111827;color:#fff;font-size:.78rem;font-weight:950;box-shadow:0 12px 24px #11182724}.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));width:min(calc(100vw - 24px),430px);right:12px;bottom:max(10px,env(safe-area-inset-bottom));left:12px;min-height:68px;padding:8px 10px;border:1px solid rgba(17,24,39,.06);border-radius:28px;background:#ffffffeb;box-shadow:0 18px 44px #11182724;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bottom-nav a,.bottom-nav button{min-height:52px;border-radius:20px;color:#98a2b3}.bottom-nav a.active,.bottom-nav button.active{background:transparent;color:#111827}.bottom-nav span{font-size:.58rem;font-weight:950}.bottom-nav .nav-fab{position:relative;z-index:2;width:58px;height:58px;min-height:58px;align-self:center;justify-self:center;margin-top:-34px;border-radius:50%;background:linear-gradient(135deg,#00c2a8,#5b5bff);color:#fff;box-shadow:0 18px 34px #5b5bff47}.bottom-nav .nav-fab span{display:none}@media(max-width:390px){.app-main-dashboard{padding-right:14px;padding-left:14px}.premium-greeting p{font-size:1.13rem}.premium-greeting h2{max-width:198px;font-size:.82rem}.streak-pill{padding:0 8px;font-size:.66rem}.calorie-focus{min-height:300px}.premium-calorie-ring{width:min(60vw,226px)}.ring-stat{width:76px;padding:8px 6px}.ring-stat strong{font-size:.9rem}.ring-stat span{font-size:.57rem}.premium-macro-card{min-height:122px;padding:11px 9px}.premium-macro-card strong{font-size:.84rem}.insight-water-grid{grid-template-columns:1fr}.water-card{min-height:132px}.bottom-nav{right:10px;left:10px;width:min(calc(100vw - 20px),430px)}}
