:root{font-family:Nunito,ui-rounded,SF Pro Rounded,Hiragino Maru Gothic ProN,Segoe UI,sans-serif;color:#1d2021;background:#f4efe3;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1d2021;--muted: #6e6858;--line: #efe4c8;--surface: #ffffff;--soft: #fff8e8;--green: #f9bd1e;--green-dark: #1d2021;--green-light: #fff6d6;--gold-ink: #c4920a;--lime: #ffd56a;--coral: #ee7a65;--yellow: #f9bd1e;--purple: #8a78bf;--blue: #6d9dc5;--shadow: 0 12px 34px rgba(80, 58, 10, .09)}*{box-sizing:border-box}html{background:#f4efe3}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}.phone-shell{position:relative;width:100%;max-width:100%;min-height:100dvh;margin:0 auto;overflow-x:hidden;background:#fffdf8}.page-content{padding:max(14px,env(safe-area-inset-top)) 20px 104px}.phone-shell:not(:has(.bottom-nav)) .page-content{padding-bottom:30px}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:100%;height:calc(73px + env(safe-area-inset-bottom));padding:9px 13px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#fffdf8f0;border-top:1px solid #efe6d0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:13px;color:#9a9280;font-size:10px;font-weight:650;text-decoration:none}.bottom-nav a.active{color:var(--green-dark);background:var(--green-light)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:29px;line-height:1.15;letter-spacing:-.85px}h2{letter-spacing:-.4px}.page-header{margin:2px 0 22px}.page-header .title-row{min-height:35px;display:flex;align-items:center;gap:8px}.page-header h1{flex:1}.page-header p{margin:5px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.header-action{margin-left:auto}.icon-button{width:41px;height:41px;padding:0;border:1px solid var(--line);border-radius:13px;display:inline-grid;place-items:center;background:#fff;cursor:pointer}.icon-button.accent{color:var(--green-dark);background:var(--green-light);border-color:transparent}.back-button{width:36px;height:36px;margin-left:-6px;border:0;background:transparent}.button{min-height:52px;padding:0 18px;border:1px solid transparent;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;cursor:pointer;transition:transform .13s ease,box-shadow .13s ease,background .13s ease}.button:active{transform:translateY(1px) scale(.995)}.button:disabled{cursor:not-allowed;opacity:.5}.button.wide{width:100%}.button.primary{color:#1d2021;background:var(--green);box-shadow:0 7px 18px #f9bd1e47}.button.primary:hover{background:#e5ab12}.button.secondary{border-color:#ead9a8;color:var(--ink);background:#fff;box-shadow:none}.button.ghost{color:var(--green-dark);background:transparent;box-shadow:none}.button.danger{color:#9c3c36;background:#fae8e5;box-shadow:none}.top-gap{margin-top:12px}.field{display:flex;flex-direction:column;gap:7px;color:#6e6858;font-size:13px;font-weight:650}.field input,.field select,.field textarea{width:100%;min-height:50px;padding:0 13px;border:1px solid #ead9a8;border-radius:12px;outline:none;color:var(--ink);background:#fff;font-size:15px;font-weight:500;transition:border-color .12s ease,box-shadow .12s ease}.field textarea{min-height:94px;padding-top:13px;resize:vertical}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8a7d5c 50%),linear-gradient(135deg,#8a7d5c 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px;background-repeat:no-repeat}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #f9bd1e38}.field small{color:#8a8474;font-size:11px}.split-fields,.two-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.eyebrow{margin-bottom:8px;color:var(--gold-ink);font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.auth-shell{background:radial-gradient(circle at 90% 2%,#fff1c4 0,transparent 34%),#fffdf8}.auth-shell .page-content{min-height:100dvh;display:flex;flex-direction:column;padding-top:10px}.brand-lockup{display:inline-flex;align-self:flex-start;align-items:center;gap:9px;color:var(--ink);font-size:21px;font-weight:850;letter-spacing:-.5px;text-decoration:none}.brand-logo-mini{width:42px;height:45px}.auth-intro{margin-top:clamp(48px,10vh,82px)}.auth-intro h1{margin-bottom:13px;font-size:clamp(36px,10vw,45px);line-height:1.05;letter-spacing:-1.8px}.auth-intro>p:last-child{max-width:360px;margin-bottom:0;color:var(--muted);font-size:15px;line-height:1.52}.prelanding-intro{margin-top:14px}.login-hero{margin:18px 0 0;display:flex;flex-direction:column;align-items:center;text-align:center}.login-hero h1{margin:10px 0 8px;font-size:clamp(34px,9vw,44px);letter-spacing:-1.6px;opacity:0;transform:translateY(8px);animation:login-copy-in .28s .98s ease forwards}.login-hero p{max-width:320px;margin:0;color:var(--muted);font-size:15px;line-height:1.5;opacity:0;transform:translateY(8px);animation:login-copy-in .28s 1.08s ease forwards}.auth-shell .auth-form{opacity:0;transform:translateY(14px);animation:login-copy-in .28s 1.13s ease forwards}.calojoy-logo{width:min(168px,46vw)}.calojoy-logo svg{display:block;width:100%;height:auto;overflow:visible}.logo-c{stroke-dasharray:var(--draw-length, 1200);stroke-dashoffset:var(--draw-length, 1200)}.calojoy-logo.is-static .logo-c{stroke-dashoffset:0}.calojoy-logo.is-animated{animation:logo-settle .35s 1.08s both}.calojoy-logo.is-animated .logo-c{animation:logo-draw .52s .06s ease-out forwards}.calojoy-logo.is-animated .logo-eye,.calojoy-logo.is-animated .logo-mouth{transform-box:fill-box;transform-origin:70% 0%;transform:scale(0)}.calojoy-logo.is-animated .logo-eye{transform-origin:center}.calojoy-logo.is-animated .logo-eye-left{animation:logo-eye-pop .19s .56s cubic-bezier(.2,1.4,.4,1) forwards}.calojoy-logo.is-animated .logo-eye-right{animation:logo-eye-pop .19s .64s cubic-bezier(.2,1.4,.4,1) forwards}.calojoy-logo.is-animated .logo-mouth{animation:logo-mouth-draw .28s .75s cubic-bezier(.2,1.15,.35,1) forwards}@keyframes logo-mouth-draw{0%{transform:scale(.15,0)}55%{transform:scale(.55,.75)}to{transform:scale(1)}}.logo-pen-c{fill:#f9bd1e;animation:logo-pen-fade .52s .06s ease-out both}@keyframes logo-draw{to{stroke-dashoffset:0}}@keyframes logo-eye-pop{to{transform:scale(1)}}@keyframes logo-settle{0%{transform:scale(.96)}55%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes logo-pen-fade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes login-copy-in{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.calojoy-logo.is-animated,.calojoy-logo.is-animated .logo-c,.calojoy-logo.is-animated .logo-eye,.calojoy-logo.is-animated .logo-mouth,.logo-pen,.login-hero h1,.login-hero p,.auth-shell .auth-form{animation:none;opacity:1;transform:none;stroke-dashoffset:0}}.auth-form{margin-top:32px;display:flex;flex-direction:column;gap:16px}.checkbox-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.checkbox-row input{width:17px;height:17px;accent-color:var(--green)}.checkbox-row button{margin-left:auto;padding:0;border:0;color:var(--green-dark);background:transparent;font-size:12px;font-weight:700;cursor:pointer}.form-error{margin:-6px 0 0;padding:10px 12px;border-radius:9px;color:#963e38;background:#fae9e6;font-size:12px;line-height:1.4}.review-error{margin:14px 0 0}.divider{height:16px;display:flex;align-items:center;gap:10px;color:#9a9280;font-size:11px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.social-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.social-row .button{min-height:49px}.social-stack{display:flex;flex-direction:column;gap:11px}.google-g{color:#4285f4;font-size:19px}.auth-switch,.terms{text-align:center;color:var(--muted);font-size:12px}.auth-switch{margin:2px 0 0}.auth-switch a{color:var(--green-dark);font-weight:800;text-decoration:none}.terms{margin:-4px 12px 0;line-height:1.45}.compact-auth .auth-intro{margin-top:40px}.compact-auth .auth-intro h1{font-size:36px}.compact-auth .auth-form{margin-top:26px}.onboarding-shell{background:linear-gradient(180deg,#fff6d6,#fffdf8 42%)}.onboarding-shell .page-content{min-height:calc(100dvh - 31px);display:flex;flex-direction:column;justify-content:center}.plan-hero{text-align:center}.celebration{height:61px;display:flex;align-items:center;justify-content:center;gap:15px;font-size:25px}.celebration span:nth-child(2){font-size:40px;transform:rotate(-8deg)}.plan-hero h1{margin-bottom:8px;font-size:37px}.plan-hero>p:last-child{max-width:340px;margin:0 auto 24px;color:var(--muted);font-size:14px;line-height:1.5}.plan-card{padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.plan-card-head{display:flex;align-items:center;justify-content:space-between}.plan-card-head div{display:flex;flex-direction:column}.plan-card-head small{color:var(--muted);font-size:11px}.plan-card-head strong{font-size:28px;letter-spacing:-.7px}.xp-badge{padding:7px 10px;border-radius:20px;color:var(--green-dark);background:var(--green-light);font-size:11px;font-weight:800}.plan-progress{height:7px;margin:13px 0 17px;overflow:hidden;border-radius:10px;background:#fff3d4}.plan-progress i{display:block;width:62%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--lime))}.goal-range{margin:12px 0 17px;display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:10px;font-weight:700}.goal-range input{width:100%;height:42px;padding:0 11px;border:1px solid #ead9a8;border-radius:10px;color:var(--ink);background:#fff8e8;font-weight:750}.plan-list{display:flex;flex-direction:column;gap:8px}.plan-row{display:grid;grid-template-columns:37px 1fr auto;align-items:center;gap:9px;color:#6e6858;font-size:13px}.plan-row b{color:var(--ink)}.goal-value{min-width:94px;display:flex;align-items:center;justify-content:flex-end;gap:4px}.goal-value input{width:72px;height:34px;padding:0 7px;border:1px solid #ead9a8;border-radius:9px;color:var(--ink);background:#fff8e8;text-align:right;font-weight:750}.goal-value span{min-width:23px;color:var(--muted);font-size:10px}.metric-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px}.metric-icon.yellow{color:#886512;background:#f9edc9}.metric-icon.purple{color:#69569d;background:#ebe6f8}.metric-icon.green{color:var(--green-dark);background:var(--green-light)}.metric-icon.blue{color:#426f94;background:#e2eff8}.plan-note,.estimate-note,.review-reward{display:flex;gap:10px;margin:17px 2px;color:#6e6858;font-size:12px;line-height:1.4}.plan-note svg,.estimate-note svg,.review-reward svg{flex:0 0 auto;color:var(--gold-ink)}.home-shell{background:#fff8e8}.home-shell .page-content{padding-left:16px;padding-right:16px}.home-header{margin:2px 2px 19px;display:flex;align-items:center;justify-content:space-between}.home-header p{margin-bottom:2px;color:var(--muted);font-size:13px}.home-header h1{font-size:27px}.home-header h1 span{font-size:23px}.streak-pill{padding:8px 13px;border:0;border-radius:18px;display:flex;align-items:center;gap:5px;color:#b15437;background:#fbe9dc;font-weight:800}.daily-card{padding:17px;border-radius:21px;color:#1d2021;background:linear-gradient(135deg,#f9bd1e,#e8a410);box-shadow:0 12px 26px #c9921047}.daily-card-top{display:flex;align-items:center;justify-content:space-between}.daily-card-top p{margin-bottom:3px;color:#1d20219e;font-size:11px;font-weight:650}.daily-card-top h2{margin:0;font-size:21px}.progress-ring{position:relative;width:78px;height:78px}.progress-ring svg{width:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:9}.ring-track{stroke:#1d202124}.ring-value{stroke:#1d2021;stroke-linecap:round;transition:stroke-dashoffset .3s ease}.progress-ring>div{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring strong{font-size:17px}.progress-ring span{color:#1d20218c;font-size:9px}.xp-progress{height:7px;margin-top:13px;overflow:hidden;border-radius:10px;background:#1d20211f}.xp-progress i{display:block;height:100%;border-radius:inherit;background:#fff8e8}.xp-caption{margin-top:6px;display:flex;justify-content:space-between;color:#1d20218c;font-size:10px}.metric-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff}.metric-title{display:flex;align-items:center;gap:7px}.metric-title span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px}.food-metric .metric-title span{color:#ad5c4e;background:#f9e7e0}.activity-metric .metric-title span{color:#4b6799;background:#e8eef9}.metric-title p{margin:0;color:#6e6858;font-size:11px;font-weight:750}.metric-card>strong{display:inline-block;margin-top:11px;font-size:23px;letter-spacing:-.7px}.metric-card>small{margin-left:4px;color:#8a8474;font-size:9px}.thin-progress{height:6px;margin:11px 0 10px;overflow:hidden;border-radius:5px;background:#fff3d4}.thin-progress i{display:block;height:100%;border-radius:inherit;background:var(--coral)}.metric-card>button{width:100%;min-height:34px;border:0;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:4px;color:#1d2021;background:var(--green);font-size:11px;font-weight:750;cursor:pointer}.mini-bars{height:27px;margin:2px 0 9px;display:flex;align-items:flex-end;gap:3px}.mini-bars i{flex:1;min-height:4px;border-radius:2px 2px 0 0;background:#9db2cd}.section-block{margin-top:20px}.section-heading{margin-bottom:9px;display:flex;align-items:center;justify-content:space-between}.section-heading>div{display:flex;align-items:center;gap:6px}.section-heading svg{color:var(--gold-ink)}.section-heading h2{margin:0;font-size:16px}.section-heading button{border:0;color:var(--gold-ink);background:transparent;font-size:11px;font-weight:750}.section-heading>b{color:var(--green-dark);font-size:11px}.suggestions{display:flex;flex-direction:column;gap:8px}.suggestions .section-heading{margin-bottom:1px}.suggestion-card{padding:11px;border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;background:#fff}.suggestion-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.suggestion-card.protein .suggestion-icon{color:#a94f43;background:#fae7e2}.suggestion-card.walk .suggestion-icon{color:#9a7208;background:#fff3c8}.suggestion-card>div{min-width:0;display:flex;flex-direction:column;gap:2px}.suggestion-card strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.suggestion-card small{overflow:hidden;color:#8a8474;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.suggestion-card>button{min-height:32px;padding:0 9px;border:0;border-radius:9px;display:flex;align-items:center;color:var(--green-dark);background:var(--green-light);font-size:10px;font-weight:800}.suggestion-card.protein{grid-template-columns:38px 1fr auto auto}.suggestion-card>button.camera-action{width:32px;padding:0;justify-content:center;color:#6e6858;background:#fff8e8}.timeline{padding:0 4px}.timeline-item{min-height:54px;display:grid;grid-template-columns:38px 15px 1fr auto;align-items:center;column-gap:6px;border-bottom:1px solid var(--line)}.timeline-item time{color:#9a9280;font-size:10px}.timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px #fae9e4}.timeline-dot.activity{background:var(--blue);box-shadow:0 0 0 4px #e9eff7}.timeline-item div{min-width:0;display:flex;flex-direction:column;gap:2px}.timeline-item div strong{font-size:11px}.timeline-item div small{overflow:hidden;color:#8a8474;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.timeline-item>b{color:var(--green-dark);font-size:10px}.empty-state{padding:25px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#8a8474;text-align:center}.empty-state p{margin:0;font-size:12px}.food-form,.activity-form,.details-form{display:flex;flex-direction:column;gap:16px}.food-column-head{padding-right:0;display:grid;grid-template-columns:1fr .85fr 64px;gap:8px;color:#8a8474;font-size:10px;font-weight:750;text-transform:uppercase}.food-input-row{position:relative;display:grid;grid-template-columns:1fr .85fr 64px;gap:8px}.food-input-row input,.food-input-row output{min-width:0;height:48px;padding:0 10px;border:1px solid #ead9a8;border-radius:11px;color:var(--ink);background:#fff;font-size:13px;outline:none}.food-input-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #f9bd1e38}.food-input-row output{display:flex;align-items:center;justify-content:center;color:#9a9280;background:#fff8e8}.food-input-row output.calculated{color:var(--green-dark);background:#fff3c8;font-weight:800}.remove-row{position:absolute;right:-15px;top:-11px;width:25px;height:25px;padding:0;border:1px solid #eee2df;border-radius:50%;display:grid;place-items:center;color:#9c4d43;background:#fff;cursor:pointer}.add-row{align-self:flex-start;padding:3px 0;border:0;display:flex;align-items:center;gap:5px;color:var(--green-dark);background:transparent;font-size:12px;font-weight:800;cursor:pointer}.estimate-note{margin:2px 0;padding:12px;border-radius:13px;background:#fff6d6}.estimate-note p,.review-reward p{margin:0;display:flex;flex-direction:column;gap:2px}.estimate-note strong,.review-reward strong{color:var(--ink)}.estimate-note span,.review-reward span{color:#6e6858}.capture-frame{aspect-ratio:1.16;border:2px dashed #e8c96a;border-radius:23px;display:grid;place-items:center;overflow:hidden;background:#fff8e8;cursor:pointer}.capture-frame>div{max-width:240px;padding:30px;display:flex;flex-direction:column;align-items:center;color:var(--muted);text-align:center}.capture-frame>div span{width:66px;height:66px;margin-bottom:14px;display:grid;place-items:center;border-radius:20px;color:var(--green);background:#fff;box-shadow:var(--shadow)}.capture-frame strong{color:var(--ink);font-size:16px}.capture-frame p{margin:6px 0 0;font-size:12px;line-height:1.45}.capture-frame.has-image{border-style:solid}.capture-frame img{width:100%;height:100%;object-fit:cover}.capture-tips{margin:14px 0 24px;display:flex;align-items:center;justify-content:center;gap:8px;color:#8a8474;font-size:10px}.capture-tips i{width:3px;height:3px;border-radius:50%;background:#c9b27a}.capture-actions{display:flex;flex-direction:column;gap:10px}.review-hero{margin-bottom:13px;padding:15px;border-radius:18px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;background:#fff6d6}.review-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--green-dark);background:#ffe08a}.review-hero>div:nth-child(2){display:flex;flex-direction:column}.review-hero small{color:var(--muted);font-size:10px}.review-hero strong{font-size:20px}.review-hero>span{padding:5px 8px;border-radius:20px;color:var(--green-dark);background:#fff;font-size:10px;font-weight:800}.review-list{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.review-list article{min-height:65px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f3e8c8}.review-list article>div{display:flex;flex-direction:column;gap:3px}.review-list article strong{font-size:13px}.review-list article small{color:#8a8474;font-size:11px}.review-list article>b{font-size:12px}.review-total{padding:14px;display:flex;justify-content:space-between;background:#fff8e8;font-size:13px}.sticky-actions{margin-top:18px}.edit-food-list{display:flex;flex-direction:column;gap:12px;margin-bottom:13px}.edit-food-card{padding:14px;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;gap:12px;background:#fff}.edit-food-head{display:flex;align-items:center;justify-content:space-between}.edit-food-head span{color:var(--green-dark);font-size:11px;font-weight:850;text-transform:uppercase}.edit-food-head button{border:0;display:flex;gap:4px;color:#9c4d43;background:transparent;font-size:11px;cursor:pointer}.success-shell{background:radial-gradient(circle at 50% 18%,#fff1c4 0,transparent 37%),#fffdf8}.success-content{min-height:calc(100dvh - 130px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.success-burst{width:78px;height:78px;margin-bottom:21px;border:8px solid #ffe08a;border-radius:50%;display:grid;place-items:center;color:#1d2021;background:var(--green);box-shadow:0 10px 24px #f9bd1e47}.success-content h1{margin-bottom:8px;font-size:35px}.success-content>p:not(.eyebrow){max-width:310px;margin-bottom:23px;color:var(--muted);font-size:14px;line-height:1.5}.logged-card{width:100%;margin-bottom:18px;padding:17px;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;align-items:flex-start;background:#fff;text-align:left;box-shadow:var(--shadow)}.logged-card div{width:100%;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.logged-card div b{color:var(--gold-ink)}.logged-card>strong{margin:9px 0 3px;font-size:24px}.logged-card>small{color:#8a8474}.activity-prompt{margin-bottom:18px;padding:14px;border-radius:16px;display:flex;gap:11px;background:#edf3f8}.activity-prompt>span{width:40px;height:40px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;color:#496e92;background:#dce9f4}.activity-prompt strong{font-size:13px}.activity-prompt p{margin:3px 0 0;color:#6e6858;font-size:11px;line-height:1.4}.quick-picks{margin-top:27px}.quick-picks h2{margin-bottom:11px;font-size:15px}.quick-picks>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-picks button{min-height:78px;border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--green-dark);background:#fff;font-size:11px;font-weight:750;cursor:pointer}.timer-shell{background:radial-gradient(circle at 50% 40%,#fff1c4 0,transparent 38%),#fffdf8}.timer-display{min-height:333px;display:flex;flex-direction:column;align-items:center;justify-content:center}.timer-orbit{width:112px;height:112px;margin-bottom:22px;border:2px dashed #e8c96a;border-radius:50%;display:grid;place-items:center;animation:orbit 15s linear infinite}.timer-orbit span{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;color:#1d2021;background:var(--green);box-shadow:0 8px 23px #f9bd1e59;animation:orbitReverse 15s linear infinite}.timer-display.paused .timer-orbit{animation-play-state:paused;opacity:.65}.timer-display time{font-variant-numeric:tabular-nums;font-size:58px;line-height:1;font-weight:850;letter-spacing:-2px}.timer-display p{margin:10px 0 0;color:var(--muted);font-size:13px}.timer-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.timer-actions .button{min-height:75px;flex-direction:column}.timer-note{margin:18px 8px 0;color:#8a8474;text-align:center;font-size:10px;line-height:1.45}.timer-mode-link{padding:0;border:0;background:none;color:var(--green-dark);font-size:16px;font-weight:750;text-decoration:underline;text-underline-offset:3px}.countdown-card{padding:16px 14px 18px;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:14px;background:#fff}.timer-phase-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.timer-phase-tabs button{min-height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:13px;font-weight:750;cursor:pointer}.timer-phase-tabs button.active{color:var(--green-dark);background:var(--green-light);border-color:#f0d06a}.countdown-card time,.countdown-clock{width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--ink);font-variant-numeric:tabular-nums;font-size:52px;line-height:1;font-weight:850;letter-spacing:-2px;text-align:center;outline:none}.countdown-clock{cursor:text;border-radius:12px}.countdown-clock:focus{box-shadow:0 0 0 3px #f9bd1e38}.countdown-card .button{width:100%;min-height:52px}.countdown-setup{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.countdown-setup .field span{font-size:11px}.countdown-setup .field input{text-align:center;padding:0 8px}.round-setup-label{margin:16px 0 8px;font-size:16px}.round-list{margin:0;padding:0;list-style:none}.round-list li{min-height:44px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px}.round-list b{font-variant-numeric:tabular-nums;font-weight:650}.round-status.completed{color:var(--gold-ink)}.round-status.ongoing{color:var(--coral)}.round-status.not-start{color:var(--muted);font-weight:550}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes orbitReverse{to{transform:rotate(-360deg)}}.activity-review-card{padding:18px;border:1px solid var(--line);border-radius:20px;display:grid;grid-template-columns:51px 1fr auto;align-items:center;gap:12px;background:#fff;box-shadow:var(--shadow)}.activity-review-icon{width:51px;height:51px;border-radius:15px;display:grid;place-items:center;color:#52689d;background:#e7ebf7}.activity-review-title small{color:var(--muted);font-size:10px}.activity-review-title h2{margin:2px 0 0;font-size:18px}.review-summaries{grid-column:1 / -1;margin-top:5px;padding-top:8px;border-top:1px solid var(--line)}.summary-row{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:12px}.summary-row b{max-width:65%;color:var(--ink);text-align:right}.summary-row.strong{font-size:14px}.review-reward{margin:16px 0;padding:13px;border-radius:14px;background:#fff6d6}.profile-identity{display:grid;grid-template-columns:62px 1fr 41px;align-items:center;gap:13px}.avatar{width:62px;height:62px;border-radius:21px;display:grid;place-items:center;color:var(--green-dark);background:#ffe08a}.profile-identity h2{margin:0 0 3px;font-size:19px}.profile-identity p{margin:0;color:var(--muted);font-size:11px}.profile-stats{margin:18px 0;padding:15px 5px;border-radius:18px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--green-dark)}.profile-stats>div{display:flex;flex-direction:column;align-items:center;color:#fff;border-right:1px solid rgba(255,255,255,.15)}.profile-stats>div:last-child{border:0}.profile-stats span{color:#f9bd1e}.profile-stats strong{margin:4px 0 1px;font-size:14px}.profile-stats small{color:#fff9;font-size:9px}.profile-card{margin-bottom:12px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff}.profile-card h3{margin:0 0 8px;font-size:13px}.profile-card .summary-row{border-bottom:1px solid #f3e8c8}.profile-card .summary-row:last-child{border:0}.settings-card{padding-bottom:7px}.settings-card>button{width:100%;min-height:59px;padding:7px 0;border:0;border-top:1px solid #f3e8c8;display:grid;grid-template-columns:39px 1fr 20px;align-items:center;gap:10px;background:transparent;text-align:left;cursor:pointer}.setting-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.setting-icon.apple{color:#fff;background:#1d2021}.setting-icon.shield{color:var(--green-dark);background:var(--green-light)}.settings-card button div{display:flex;flex-direction:column;gap:2px}.settings-card button strong{font-size:12px}.settings-card button small{color:#8a8474;font-size:10px}.settings-card button>svg{color:#9a9280}.logout-button{margin-top:5px;color:#97483f!important}.modal-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;background:#1d20217a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-backdrop.centered{align-items:center;padding:24px}.notice-dialog{width:min(100%,320px);padding:22px 20px 18px;border-radius:18px;background:#fffdf8;box-shadow:0 18px 50px #503a0a2e;text-align:center}.notice-dialog h2{margin:0 0 8px;font-size:22px}.notice-dialog p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.45}.notice-dialog .button{min-width:120px}.edit-profile-sheet{width:min(100%,440px);max-height:91dvh;padding:9px 20px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;display:flex;flex-direction:column;gap:14px;overflow-y:auto;background:#fffdf8;box-shadow:0 -15px 50px #503a0a29}.sheet-handle{width:43px;height:5px;margin:0 auto 2px;border-radius:5px;background:#e8d49a}.sheet-title{display:flex;align-items:center;justify-content:space-between}.sheet-title h2{margin:0;font-size:22px}.sheet-title p{margin:3px 0 0;color:var(--muted);font-size:11px}.sheet-section-title{margin:5px 0 -3px;font-size:13px}@media(min-width:700px){body{padding:25px 0}.phone-shell{max-width:960px;min-height:calc(100dvh - 50px);border-radius:30px;box-shadow:0 24px 70px #503a0a24}.page-content{width:100%;max-width:720px;margin:0 auto;padding-left:28px;padding-right:28px}.home-shell .page-content{max-width:850px}.bottom-nav{bottom:25px;max-width:960px;border-radius:0 0 30px 30px}.edit-profile-sheet{max-width:720px;padding-left:28px;padding-right:28px}.auth-shell .page-content,.onboarding-shell .page-content{min-height:calc(100dvh - 81px)}.auth-shell .page-content,.onboarding-shell .page-content{max-width:620px}.suggestions{display:grid;grid-template-columns:1fr 1fr}.suggestions .section-heading{grid-column:1 / -1}}@media(min-width:900px){.home-shell .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-shell .daily-card{padding:22px 24px}.profile-card,.activity-review-card,.review-list,.edit-food-card{padding-left:20px;padding-right:20px}}@media(max-width:350px){.page-content{padding-left:14px;padding-right:14px}.food-input-row,.food-column-head{grid-template-columns:1fr .8fr 55px;gap:5px}.metric-grid{grid-template-columns:1fr}.suggestion-card.protein{grid-template-columns:35px 1fr auto}.suggestion-card .camera-action{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
