/* Mobile first: clear actions, recognisable controls and local, lightweight photos. */
.welcome-screen[hidden],#headerSignIn[hidden]{display:none!important}
.welcome-active #today,.welcome-active #syncStatus,.welcome-active #planChip,.welcome-active header .quiet:not(#headerSignIn){display:none!important}
.welcome-active .shell{padding-bottom:28px}
.welcome-active header{height:72px;border-bottom:0}
.welcome-active .head-actions{gap:8px}
.welcome-active #headerSignIn{display:block;border:0;padding:10px 6px;min-height:44px;font-size:13px}
.welcome-screen{padding:18px 0 12px}
.welcome-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center}
.welcome-copy .kicker{color:#8b4b3e;font-size:11px;letter-spacing:.12em;margin-bottom:18px}
.welcome-copy h1{font-size:clamp(35px,4.8vw,56px);line-height:1.08;letter-spacing:-1.5px;margin:0 0 20px}
.welcome-copy p{font-size:16px;line-height:1.65;color:var(--muted);max-width:430px;margin-bottom:24px}
.welcome-actions{display:flex;gap:10px;flex-wrap:wrap}
.welcome-actions button{min-height:50px;font-size:14px;padding:13px 19px}
.welcome-actions .primary{display:flex;justify-content:space-between;gap:28px;align-items:center}
.welcome-actions .primary span{font-size:22px;font-weight:400;line-height:1}
.welcome-copy>small{display:block;margin-top:14px;font-size:12px;color:var(--muted)}
.welcome-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;list-style:none;padding:0;margin:0 0 24px}
.welcome-capabilities li{display:flex;align-items:center;gap:9px;min-width:0;font-size:13px;font-weight:600;line-height:1.4}
.welcome-capabilities svg{width:20px;height:20px;flex-shrink:0;color:var(--action)}
.welcome-image{position:relative;min-width:0}
.welcome-image>img{display:block;width:100%;height:440px;object-fit:cover;border-radius:28px}
.welcome-photo-note{position:absolute;bottom:18px;left:18px;display:flex;align-items:center;gap:12px;background:#fff;padding:12px 16px;border-radius:14px;color:var(--ink);font-size:12px;line-height:1.5}
.welcome-photo-note svg{color:#9b5846}
.welcome-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px;border-top:1px solid var(--line);padding-top:26px}
.welcome-features article{display:flex;align-items:flex-start;gap:12px}
.welcome-features article>svg{flex-shrink:0;margin-top:3px;color:#985846}
.welcome-features h2{font:600 14px var(--font-ui);letter-spacing:0;margin:0 0 6px}
.welcome-features p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}
.welcome-explore{display:block;margin:26px auto 0;border:0;background:transparent;color:var(--ink);padding:12px;font-size:13px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.welcome-stories{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.welcome-stories article{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.welcome-stories img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.welcome-stories article>div{padding:15px}
.welcome-stories h2{font:600 15px var(--font-ui);letter-spacing:0;margin:0 0 7px;line-height:1.4}
.welcome-stories p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}
.progress-photo{position:relative;margin:20px 0 16px;border-radius:18px;overflow:hidden;max-width:560px;background:#ebe7dc}
.progress-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.progress-photo figcaption{position:absolute;left:14px;bottom:14px;right:14px;width:fit-content;max-width:calc(100% - 28px);background:var(--surface);border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600}
.fast-context-photo{display:block;width:100%;height:150px;object-fit:cover;object-position:center 56%;border-radius:12px;grid-column:1/-1}
.fast-intro-photo{display:block;clear:both;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center 57%;border-radius:14px;margin:6px 0 20px}
.modal .dialog:has(.access-screen){width:min(460px,100%);padding:24px}
.access-photo{height:92px;border-radius:14px;position:relative;overflow:hidden;background:#eee5d8;margin-bottom:20px}
.access-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 55%;display:block}
.access-photo>span{position:absolute;left:12px;bottom:10px;padding:3px 10px;background:#fff;border-radius:8px;font:500 19px var(--font-display);letter-spacing:-.5px}
.modal .dialog:has(.access-screen) .modal-x{position:absolute;top:32px;right:32px;background:white;box-shadow:0 1px 6px #14263015}
.access-screen .kicker{font-size:10px;margin-bottom:5px}
.modal .access-screen h1{font-size:30px;padding-right:0;line-height:1.15;margin:6px 0 10px}
.modal .access-screen .lede{font-size:13px;margin-bottom:18px;line-height:1.6}
.google-signin{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;width:100%;min-height:48px;border:1px solid #747775;border-radius:12px;background:#fff;color:#1f1f1f;font:500 14px var(--font-ui);padding:11px 12px}
.google-signin img{width:20px;height:20px;object-fit:contain;flex-shrink:0}
.google-signin:hover{background:#f8fafc}
.access-screen .or{margin:16px 0;font-size:11px}
.access-screen .field{margin:12px 0;gap:6px}
.access-screen .field label{font-size:12px}
.input-icon,.password-control{position:relative}
.input-icon>svg{position:absolute;left:13px;top:15px;color:var(--muted);width:19px;height:19px;pointer-events:none}
.input-icon input{padding-left:42px}
.password-control input{padding-right:52px}
.password-toggle{position:absolute;right:3px;top:3px;min-height:44px;min-width:44px;border:0;border-radius:9px;background:transparent;color:var(--muted);display:grid;place-items:center}
.optional-contact{font-size:12px;color:var(--muted);margin:4px 0 8px}
.optional-contact summary{cursor:pointer;min-height:36px;display:list-item;padding:8px 0}
.consent-choice{font-size:12px;line-height:1.5;padding:10px 12px;min-height:58px;border-radius:12px;margin-top:10px}
.access-screen .error{margin:8px 0;font-size:12px}
.access-screen .error:empty{display:none}
.access-screen form>.primary{margin-top:10px}
.access-recovery{display:block;margin:4px 0 4px auto;background:transparent;color:var(--ink);border:0;min-height:36px;padding:4px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.access-switch{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin-top:14px;font-size:12px;color:var(--muted)}
.access-switch button{background:transparent;border:0;color:var(--ink);padding:8px 4px;min-height:40px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.access-footnote{text-align:center;font-size:10px;color:var(--muted);margin:8px 0 0}
.nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.nav button svg{width:20px;height:20px}
.home-actions i svg{width:23px;height:23px}
.food-chips button[aria-pressed=false]{background:#fff!important;color:var(--ink)!important;border-color:var(--line)!important}
.food-chips button[aria-pressed=true]{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.portion-row button[aria-pressed=false]{background:#fff!important;border-color:var(--line)!important}
.portion-row button[aria-pressed=true]{background:#fcf4f1!important;border-color:var(--accent)!important}
.app-v2 .inspire-card img{object-fit:cover}
button:disabled{cursor:wait;opacity:.6}
@media(max-width:700px){
 .welcome-active .shell{padding-left:18px;padding-right:18px}.welcome-screen{padding-top:8px}
 .welcome-hero{display:flex;flex-direction:column;gap:23px}.welcome-image{order:-1;width:100%}.welcome-image>img{height:205px;border-radius:22px;object-position:50% 53%}
 .welcome-photo-note{left:12px;bottom:12px;padding:8px 12px;font-size:10px;gap:8px;border-radius:11px}.welcome-photo-note svg{width:20px;height:20px}
 .welcome-copy{width:100%}.welcome-copy .kicker{font-size:10px;margin-bottom:11px}.welcome-copy h1{font-size:36px;margin-bottom:13px;letter-spacing:-1px}.welcome-copy p{font-size:14px;line-height:1.55;margin-bottom:18px}
 .welcome-actions{display:grid;grid-template-columns:1.15fr 1fr;gap:8px}.welcome-actions button{padding:12px 10px;font-size:12px}.welcome-actions .primary{gap:8px}
 .welcome-copy>small{margin-top:11px;font-size:11px}.welcome-features{grid-template-columns:1fr;gap:20px;margin-top:25px;padding-top:22px}.welcome-features h2{font-size:13px}.welcome-features p{font-size:12px}
 .welcome-active #headerSignIn{font-size:13px}.welcome-active .language-control{margin-left:5px}
 .modal:has(.access-screen){padding:10px;align-items:start}.modal .dialog:has(.access-screen){padding:18px;max-height:calc(100dvh - 20px);margin:auto;scroll-padding-bottom:20px}.modal .dialog:has(.access-screen) .modal-x{top:26px;right:26px;width:34px;height:34px}
 .access-photo{height:78px;margin-bottom:16px}.modal .access-screen h1{font-size:28px}.modal .access-screen .lede{margin-bottom:14px}.access-screen .field input{min-height:48px}
 .app-v2 .nav{padding:7px 7px calc(7px + env(safe-area-inset-bottom))}.app-v2 .nav button{font-size:10px;padding:6px 2px;min-width:0;min-height:49px}.app-v2 .shell{padding-bottom:100px}
}
@media(max-width:350px){.welcome-copy h1{font-size:31px}.welcome-image>img{height:175px}.welcome-actions{grid-template-columns:1fr}.welcome-actions .primary{justify-content:center}.welcome-actions button{min-height:46px}}
@media(max-width:600px){.welcome-stories{gap:10px;margin-top:24px}.welcome-stories article{border-radius:14px}.welcome-stories article>div{padding:12px}.welcome-stories h2{font-size:13px}.welcome-stories p{font-size:11px}.progress-photo{margin-top:18px}.fast-context-photo{height:140px}}
@media(max-width:350px){.welcome-stories{grid-template-columns:1fr}.welcome-stories img{max-height:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation:none!important;transition:none!important}}
