/* FoodScan 11.3.0 — consolidated stylesheet (was 4 files). :root tokens merged; cascade order preserved. */
:root{
 --font-ui:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --font-display:ui-rounded,"SF Pro Rounded","Nunito","Segoe UI Variable Display",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --font-accent:Georgia,"Times New Roman",serif;
 --cream:#f7f8f4;
 --paper:#fff;
 --paper-2:#f2f5ef;
 --ink:#182b24;
 --ink-2:#2d4a3a;
 --bark:#53675d;
 --taupe:#66786b;
 --tan:#bacabc;
 --line:#e0e8dd;
 --terra:#205c42;
 --terra-deep:#173f30;
 --terra-soft:#edf5eb;
 --olive:#24623d;
 --olive-bright:#38844d;
 --olive-soft:#eaf5e7;
 --gold:#775614;
 --gold-soft:#faf0d5;
 --amber:#86520d;
 --amber-soft:#fff1d9;
 --danger:#a82c2c;
 --danger-soft:#fceceb;
 --sage:#e8efdd;
 --sage-ink:#385332;
 --butter:#fbf0d7;
 --butter-ink:#78541a;
 --peach:#f9e9df;
 --peach-ink:#86472e;
 --lilac:#eeebf5;
 --lilac-ink:#5c4b79;
 --shadow-sm:0 8px 26px rgba(27,57,40,.035);
 --shadow-md:0 16px 48px rgba(27,57,40,.065);
 --shadow-lg:0 20px 64px #10291b20;
 --shadow-glow:none;
 --r-sm:12px;
 --r-md:20px;
 --r-lg:28px;
 --r-xl:32px;
 --maxw:1160px;
 --gutter:clamp(16px,3.4vw,40px);
 --ease:cubic-bezier(.2,.7,.2,1);
 --lv-high:#c23a2c;
 --lv-high-bg:#fde8e4;
 --lv-high-fg:#8f2418;
 --lv-med:#d98a00;
 --lv-med-bg:#fff0d2;
 --lv-med-fg:#6f4300;
 --lv-low:#2c9a50;
 --lv-low-bg:#e2f4e2;
 --lv-low-fg:#1b6334;
 --lv-none:#9aa89e;
 --lv-none-bg:var(--paper-2);
 --lv-none-fg:var(--bark);
 --cp-sugars:#e8743b;
 --cp-starch:#e9b949;
 --cp-carbs:#e9b949;
 --cp-fat:#8c6bd1;
 --cp-protein:#2f8f6b;
 --cp-fiber:#7fb552;
 --cp-rest:#c9d5cc;
 --lime:#c6ec82;
 --lime-deep:#9fd04a;
 --mint:#dff1cf;
 --sun:#ffe9bf;
 --shadow-card:0 1px 2px #1c39270d,0 14px 34px -14px #1c392733;
 --shadow-lift:0 2px 4px #1c39270d,0 22px 48px -16px #1c392747;
 --grade:var(--terra);
 --grade-soft:var(--terra-soft);
 --fs12-ink:#153126;
 --fs12-muted:#546d5e;
 --fs12-line:#d7e5d9;
 --fs12-mint:#c8f6b5;
 --fs12-forest:#10372b;
 --fs12-paper:#f7faf5;
 --fs12-red:#a32c39;
 --fs12-amber:#8c5119;
}

/* ===== from app.css ===== */
/* FoodScan 6.3 / Grove. A single, mobile-first layout system.
   No content is hidden to mask document overflow. Intentional comparison
   scrolling stays inside a labelled, keyboard-focusable table region. */

:root[data-theme="dark"]{
 --cream:#14221e;--paper:#1d2f27;--paper-2:#263b30;--ink:#edf5e7;--ink-2:#d3e7cf;
 --bark:#b8cbbb;--taupe:#a2b8a7;--tan:#627967;--line:#3b5244;
 --terra:#bbdb9d;--terra-deep:#9ec57b;--terra-soft:#314c35;
 --olive:#b2d997;--olive-bright:#b4e899;--olive-soft:#2a4530;
 --gold:#f0d291;--gold-soft:#43391f;--amber:#f4d08e;--amber-soft:#433722;
 --danger:#ffb5a8;--danger-soft:#472b29;
 --sage:#314531;--sage-ink:#d1e9bd;--butter:#443d27;--butter-ink:#f1dfa7;
 --peach:#45332d;--peach-ink:#f4c7ad;--lilac:#3b3549;--lilac-ink:#ddd0f6;
 --shadow-sm:0 3px 14px #00000012;--shadow-md:0 10px 32px #00000020;
 --shadow-lg:0 20px 64px #00000048;--shadow-glow:0 6px 18px #00000020;color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{margin:0;-webkit-text-size-adjust:100%;scroll-padding-block:20px 108px}
html[data-text-size="large"]{font-size:112.5%}html[data-text-size="extra"]{font-size:125%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-ui);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}
body,main,#header,#footer{min-width:0;width:100%}
main{min-height:55vh;padding-block:clamp(20px,3vw,38px) 36px}
main:focus{outline:none}
.container{width:calc(100% - var(--gutter) * 2);max-width:var(--maxw);margin-inline:auto;min-width:0}
h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.16;letter-spacing:-.045em;font-weight:730;text-wrap:balance}
h1{font-size:clamp(2rem,4.3vw,3.4rem)}h2{font-size:clamp(1.45rem,2.5vw,2.15rem)}h3{font-size:1.12rem;letter-spacing:-.022em}
p{line-height:1.65}p+p{margin-top:.75rem}h3+p,h2+p{margin-top:.6rem}
h1 em,h2 em{font-family:var(--font-accent);font-weight:400;letter-spacing:-.03em;color:var(--terra);font-style:italic}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
img,video,canvas,svg{max-width:100%}img{display:block}img,video{height:auto}button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}button,select,input,textarea,fieldset{min-width:0;max-width:100%}
button,input,select,textarea,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{cursor:not-allowed;opacity:.55}
button,input,select,textarea{scroll-margin-block:24px 108px}a,button{overflow-wrap:anywhere}
[hidden]{display:none!important}
::selection{background:#c9e2b0;color:#143a28}
:focus-visible{outline:3px solid var(--terra);outline-offset:4px}
.icon{display:inline-block;flex-shrink:0;width:20px;height:20px;vertical-align:middle}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:16px;z-index:300;transform:translateY(-150%);background:var(--paper);color:var(--ink);padding:12px 18px;border:2px solid var(--terra);border-radius:12px}
.skip-link:focus{transform:none}
.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.65rem;line-height:1.5;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--bark)}
.dot,.status-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:currentColor}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.section-head>*{min-width:0}.section-head h2,.section-head .page-title{margin-top:6px}
.section-head .page-title{font-size:clamp(1.9rem,3.6vw,2.8rem)}
.section-head .lead{max-width:64ch;margin-top:9px;font-size:.95rem;color:var(--bark)}
.page-section{margin-top:36px}.page-section+.page-section{margin-top:40px}
.button,.icon-button,.link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:8px;border:1px solid transparent;transition:background .15s,border-color .15s,box-shadow .15s}
.button{min-height:46px;border-radius:13px;padding:12px 18px;line-height:1.35;text-align:center;font-weight:650;font-size:.875rem;background:var(--paper);color:var(--ink)}
.button-primary,.button-dark{background:var(--terra);color:#fff;border-color:var(--terra);box-shadow:var(--shadow-glow)}
:root[data-theme="dark"] .button-primary,:root[data-theme="dark"] .button-dark{color:#142b1c}
.button-outline{border-color:var(--line);background:var(--paper);color:var(--ink)}
.button-ghost{border-color:transparent;background:transparent;color:var(--bark)}
.button-danger{background:var(--danger-soft);border-color:var(--danger-soft);color:var(--danger)}
.button-lg{min-height:54px;padding:14px 22px;font-size:.95rem}.button-sm{padding:10px 14px;font-size:.8rem;min-height:44px}
.icon-button{width:44px;height:44px;flex-shrink:0;padding:10px;border-radius:13px;border-color:var(--line);background:var(--paper);color:var(--ink)}
.icon-button.is-saved,.icon-button[aria-pressed="true"]{color:var(--terra);background:var(--terra-soft);border-color:var(--terra)}
.link-button{border:0;background:transparent;color:var(--terra);font-weight:650;font-size:.8rem;padding:10px 0;min-height:44px;line-height:1.4;justify-content:flex-start;text-align:left}
.link-button .icon{width:16px;height:16px}
.button-row,.ph-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}
.button-row>*,.ph-actions>*{min-width:0;max-width:100%}
@media(hover:hover){.button:hover:not(:disabled),.icon-button:hover:not(:disabled){box-shadow:var(--shadow-sm);filter:brightness(.96)}.link-button:hover{text-decoration:underline}}
.button:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px)}
/* Header: regular document flow, never a frozen mobile header. */
.site-header{background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding-block:12px}
.header-inner>*{min-width:0}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:1.35rem;font-weight:760;letter-spacing:-.055em;white-space:nowrap;flex-shrink:0}
.brand-mark{display:grid;place-items:center;background:var(--terra);color:#fff;width:35px;height:35px;border-radius:12px}.brand-mark .icon{width:21px;height:21px}
:root[data-theme="dark"] .brand-mark{color:#143421}.brand b{color:var(--terra)}
.header-actions{display:flex;margin-left:auto;gap:6px;flex-shrink:0}.header-actions .icon-button{background:transparent;border-color:transparent}
.main-nav{display:flex;gap:6px;padding:5px;border-radius:15px;background:var(--paper-2)}
.main-nav a{display:flex;align-items:center;gap:7px;min-height:40px;padding:9px 15px;border-radius:11px;text-decoration:none;font-size:.82rem;font-weight:650;color:var(--bark);position:relative}
.main-nav a[aria-current="page"]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}
.nav-count{font-size:.625rem;font-weight:750;min-width:18px;height:18px;padding:1px 4px;display:inline-grid;place-items:center;border-radius:6px;line-height:1;background:var(--terra);color:#fff}
:root[data-theme="dark"] .nav-count{color:#152f20}
.profile-strip{background:var(--cream);border-bottom:1px solid var(--line)}
.profile-strip .container{display:flex;align-items:center;gap:10px;min-height:52px;padding-block:5px}
.profile-symbol{color:var(--terra);display:grid;place-items:center;flex-shrink:0}.profile-symbol .icon{width:16px;height:16px}
.profile-summary{min-width:0;flex:1;display:flex;align-items:center;gap:12px;font-size:.77rem;line-height:1.45}
.profile-summary strong{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bark);flex-shrink:0}
.profile-summary>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.profile-edit{display:flex;align-items:center;gap:3px;font-size:.76rem;font-weight:650;text-decoration:none;flex-shrink:0;min-height:40px;color:var(--terra)}.profile-edit .icon{width:15px;height:15px}
.offline-banner{background:var(--gold-soft);color:var(--gold);font-size:.82rem;padding:10px 0}
.offline-banner .container{display:flex;align-items:center;gap:10px}
.bottom-nav{display:none}
/* First visit: meaningful primary action before artwork or onboarding. */
.home-lead{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:stretch}
.home-lead>*{min-width:0}
.welcome-card{position:relative;isolation:isolate;overflow:hidden;background:#173f30;color:#f9fcf2;border:1px solid #264e39;border-radius:28px;min-height:416px}
.welcome-photo{position:absolute;inset:0 0 0 23%;z-index:-2;overflow:hidden}
.welcome-photo img{width:100%;height:100%;object-fit:cover;object-position:65% 50%;opacity:.76}
.welcome-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#173f30 2%,#173f30d4 25%,#173f3040 70%),linear-gradient(0deg,#173f30 0%,#173f30bc 26%,transparent 82%)}
.welcome-content{position:relative;z-index:1;padding:32px 34px 28px;display:flex;align-items:flex-start;flex-direction:column;height:100%}
.welcome-kicker{display:inline-flex;align-items:center;gap:8px;color:#e0edcb;font-size:.62rem;font-weight:700;letter-spacing:.1em;line-height:1.5}
.welcome-kicker .status-dot{background:#c4e58e;box-shadow:0 0 0 4px #c4e58e18}
.welcome-content h1{font-size:clamp(2.2rem,3.7vw,3.25rem);margin:23px 0 15px;max-width:14ch;line-height:1.06;letter-spacing:-.052em;font-weight:680;text-wrap:initial}
.welcome-content h1 em{color:#deedb9}
.welcome-content>p{font-size:.91rem;line-height:1.65;color:#e0e9d9;margin-bottom:24px}
.scan-now{display:flex;align-items:center;justify-content:flex-start;gap:13px;min-height:68px;border-radius:16px;border:1px solid #d8eaaa;background:#d5e9ae;color:#193923;padding:11px 15px;width:100%;max-width:350px;font-size:1rem;font-weight:730;line-height:1.35;box-shadow:0 5px 20px #07291b38;transition:background .18s;min-width:0;margin-top:auto;text-align:left}
.scan-now-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:#1e432e;color:#e8f6d8}.scan-now-icon .icon{width:24px;height:24px}
.scan-now>span:nth-child(2){min-width:0;flex:1}.scan-now small{display:block;font-size:.68rem;font-weight:500;margin-top:2px;color:#36563c}.scan-now>.icon{width:21px;height:21px}
.scan-now:hover{background:#e4f2c6}.scan-now:focus-visible{outline-color:#fff}
.scan-shortcuts{display:flex;flex-wrap:wrap;gap:2px 15px;margin-top:10px}
.scan-shortcuts button{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;color:#f0f6e9;min-height:40px;padding:5px 0;font-size:.73rem;font-weight:550;text-align:left}
.scan-shortcuts button .icon{width:16px;height:16px}.scan-shortcuts button:focus-visible{outline-color:#f0f6e9}
.scan-card{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center;gap:0;min-width:0}
.scan-card-head .section-kicker{font-size:.61rem;color:var(--terra)}.scan-card-head h2{margin-top:10px;font-size:1.65rem}.scan-card-head p{color:var(--bark);font-size:.82rem;max-width:36ch;margin:10px 0 22px}
#lookup-form{width:100%;min-width:0}.barcode-entry{display:flex;gap:9px;align-items:center;min-width:0;max-width:100%;padding:6px 6px 6px 13px;border:1.5px solid var(--tan);background:var(--paper);border-radius:13px}
.barcode-entry:focus-within{border-color:var(--terra);box-shadow:0 0 0 2px var(--terra-soft)}
.barcode-entry>span{display:flex;color:var(--bark);flex-shrink:0}.barcode-entry>span .icon{width:18px;height:18px}
.barcode-entry input{flex:1;width:0;min-width:0;border:0;border-radius:0;background:none;padding:5px 0;min-height:38px;box-shadow:none;font-size:16px;letter-spacing:.01em;outline:none}
.lookup-submit{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:0;border-radius:10px;color:#fff;background:var(--terra)}:root[data-theme="dark"] .lookup-submit{color:#173726}
.field-hint{color:var(--bark);font-size:.7rem;line-height:1.5;margin-top:8px}
.name-disclosure{margin-top:20px;border-top:1px solid var(--line);padding-top:5px}
.name-disclosure>summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;font-size:.78rem;font-weight:650}.name-disclosure>summary::-webkit-details-marker{display:none}.name-disclosure>summary>span{flex:1;min-width:0}.name-disclosure>summary>.icon{width:17px;height:17px}.name-disclosure[open]>summary>.icon:last-child{transform:rotate(90deg)}
.name-search{display:flex;flex-wrap:wrap;gap:8px;min-width:0;width:100%;margin-top:8px}
.name-search .field{display:flex;align-items:center;gap:8px;flex:1 1 170px;min-width:0;max-width:100%;padding:5px 6px 5px 10px;background:var(--paper-2);border:1px solid var(--line);border-radius:12px}
.name-search input{flex:1;width:0;min-width:0;max-width:100%;border:0;background:none;border-radius:0;padding:5px 0;font-size:16px;box-shadow:none;outline:0}
.name-search .button{flex:0 0 auto}
.voice-btn{display:grid;place-items:center;width:38px;height:40px;flex-shrink:0;border-radius:9px;border:0;color:var(--ink);background:var(--paper)}.voice-btn .icon{width:17px;height:17px}
.voice-btn.listening{color:var(--danger);background:var(--danger-soft)}
.lookup-note{margin-top:16px;display:flex;gap:8px;font-size:.71rem;line-height:1.55;color:var(--bark)}.lookup-note .icon{width:15px;height:15px;margin-top:3px}.lookup-note span{min-width:0}
.search-results:empty{display:none}.search-results{margin-top:12px;min-width:0}.search-results .food-grid{grid-template-columns:minmax(0,1fr)}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tile{min-width:0;position:relative;text-decoration:none;padding:20px;border-radius:22px;display:flex;flex-direction:column;gap:8px;border:1px solid #10291b08;transition:box-shadow .18s,transform .18s;background:var(--paper);min-height:164px}
.tile-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#ffffff78;flex-shrink:0}.tile-icon .icon{width:20px;height:20px}
.tile-count{font-size:1.5rem;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.06em}
.tile h3{font-size:1.025rem;letter-spacing:-.03em}.tile p{font-size:.74rem;line-height:1.5;margin:0;opacity:.9}.tile-go{display:flex;align-items:center;gap:5px;font-size:.7rem;font-weight:650;margin-top:auto}.tile-go .icon{width:14px;height:14px}
.tile.tone-sage{background:var(--sage);color:var(--sage-ink)}.tile.tone-butter{background:var(--butter);color:var(--butter-ink)}.tile.tone-peach{background:var(--peach);color:var(--peach-ink)}.tile.tone-lilac{background:var(--lilac);color:var(--lilac-ink)}
:root[data-theme="dark"] .tile-icon{background:#ffffff12}
@media(hover:hover){.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}}
.first-scan-card{display:flex;align-items:center;gap:20px;border:1px dashed var(--tan);border-radius:22px;background:var(--paper);padding:28px}
.first-scan-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:20px;background:var(--paper-2);color:var(--terra);flex-shrink:0}.first-scan-icon .icon{width:29px;height:29px}
.first-scan-card>div{flex:1;min-width:0}.first-scan-card h3{font-size:1.075rem}.first-scan-card p{font-size:.83rem;color:var(--bark);margin-top:7px}
.trip-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:36px;padding:32px;border:1px solid var(--line);border-radius:28px;background:var(--paper-2)}
.trip-panel>*{min-width:0}.trip-copy .eyebrow{color:var(--terra)}.trip-copy h2{margin-top:10px}.trip-copy p{font-size:.84rem;color:var(--bark);max-width:42ch;margin:14px 0 22px}
.trip-items{border:1px solid var(--line);background:var(--paper);border-radius:20px;min-width:0;overflow:hidden}.trip-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;font-size:.8rem;font-weight:650;border-bottom:1px solid var(--line)}
.count-label{font-size:.67rem;color:var(--bark);font-weight:550}.trip-item{display:flex;align-items:center;gap:12px;text-decoration:none;padding:15px 18px;border-bottom:1px solid var(--line)}.trip-item:last-child{border-bottom:0}.trip-item-icon{display:grid;place-items:center;width:34px;height:38px;color:var(--terra);flex-shrink:0}.trip-item-text{min-width:0;flex:1;font-size:.85rem}.trip-item-text strong{display:block;line-height:1.35}.trip-item small{display:block;color:var(--bark);font-size:.7rem;margin-top:3px}.trip-item>.icon{width:16px;height:16px}
.trip-empty{padding:24px;text-align:center;color:var(--bark);font-size:.8rem}.trip-empty>.icon{width:30px;height:30px;color:var(--terra);margin-bottom:12px}.trip-empty .link-button{justify-content:center}
/* Product records: scalable images and no unconstrained flex children. */
.food-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,264px),1fr));gap:16px;min-width:0}
.food-card{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.food-card-open{text-decoration:none;display:block;min-width:0;flex:1}.fc-row{display:flex;gap:14px;align-items:flex-start;min-width:0}.fc-main{flex:1;min-width:0}
.fc-thumb{width:76px;height:82px;position:relative;flex-shrink:0;border-radius:15px;border:1px solid var(--line);overflow:hidden;background:#fff}.fc-thumb img{width:100%;height:100%;object-fit:contain;padding:7px;position:relative;background:#fff}.fc-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--bark);background:var(--paper-2)}.fc-fallback .icon{width:30px;height:30px}
.fc-saved{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:8px;background:var(--terra);color:#fff;display:grid;place-items:center}.fc-saved .icon{width:12px;height:12px}
:root[data-theme="dark"] .fc-saved{color:#173525}
.fc-main h3{font-size:1rem;font-weight:700;line-height:1.35;letter-spacing:-.02em;white-space:normal;overflow-wrap:anywhere;margin:3px 0 7px}
.food-brand{display:block;color:var(--bark);font-size:.62rem;font-weight:650;letter-spacing:.055em;text-transform:uppercase;line-height:1.4}.food-pack{font-size:.71rem;color:var(--bark);margin-bottom:8px}
.verdict-line{display:flex;align-items:flex-start;gap:5px;font-size:.69rem;color:var(--terra);line-height:1.5;margin-top:6px}.verdict-line .icon{width:13px;height:13px;margin-top:3px}.verdict-line.tone-attention{color:var(--amber)}.verdict-line.tone-unknown,.verdict-line.tone-neutral{color:var(--bark)}
.food-card-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:15px;padding-top:12px;border-top:1px solid var(--line);min-width:0}.food-card-actions .link-button{flex:1;margin-right:auto;font-size:.73rem;min-width:74px}.food-card-actions .icon-button{width:40px;height:44px;padding:9px}.food-card-actions .icon-button .icon{width:17px;height:17px}
.macro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:16px}.macro-grid>div{background:var(--paper-2);border-radius:9px;padding:9px 4px;text-align:center;min-width:0}.macro-grid span{display:block;font-size:.56rem;color:var(--bark)}.macro-grid strong{display:block;font-size:.76rem;margin-top:3px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.product-image{position:relative;width:100%;height:100%;display:grid;place-items:center;min-width:0}.product-image img{width:100%;height:100%;object-fit:contain;padding:24px;background:#fff;position:relative}.image-fallback{position:absolute;color:var(--bark)}.image-fallback .icon{width:40px;height:40px}.product-image.image-failed img{display:none}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:.78rem;margin-bottom:22px;color:var(--bark)}.breadcrumb a,.breadcrumb button{display:inline-flex;align-items:center;gap:6px;min-height:40px}.breadcrumb a{text-decoration:none}.breadcrumb .icon{width:17px;height:17px}
.product-hero{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:30px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:26px;padding:24px;min-width:0}
.product-hero>*{min-width:0}.ph-visual{height:256px;background:#fff;border-radius:19px;overflow:hidden;border:1px solid var(--line)}.ph-copy h1{font-size:clamp(1.7rem,3vw,2.65rem);line-height:1.18;margin:10px 0 16px;overflow-wrap:anywhere}.ph-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:.7rem;margin-bottom:14px}.meta-pill{border:1px solid var(--line);background:var(--paper-2);padding:4px 9px;border-radius:8px;max-width:100%}
.source-line,.unverified-tag{display:flex;align-items:flex-start;gap:6px;font-size:.7rem;color:var(--bark);line-height:1.6}.source-line .icon,.unverified-tag .icon{width:14px;height:14px;margin-top:4px}.source-line small{display:block;font-size:.66rem}.unverified-tag{color:var(--amber)}
.ph-actions .button{font-size:.8rem;flex:1 1 110px;padding:11px 13px}
.verdict{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:24px;background:var(--olive-soft);border:1px solid var(--line);border-radius:22px;margin:20px 0 24px}
.verdict.tone-attention{background:var(--amber-soft)}.verdict.tone-unknown,.verdict.tone-neutral{background:var(--paper)}
.v-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--paper);color:var(--terra)}.verdict h2{font-size:1.3rem}.verdict p{font-size:.83rem;color:var(--bark);margin-top:7px}.v-why{margin-top:14px}
.why-list{display:grid;gap:8px}.why-flag{background:var(--paper);border:1px solid var(--line);border-radius:12px;min-width:0}.why-flag summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;padding:12px;font-size:.8rem;font-weight:600;line-height:1.4;min-width:0}.why-flag summary::-webkit-details-marker{display:none}.why-flag summary>span:nth-child(2){flex:1;min-width:0}.flag-icon{display:inline-flex;color:var(--terra);flex-shrink:0}.flag-icon .icon{width:16px;height:16px}.flag-status{font-size:.62rem;font-weight:550;color:var(--bark);text-align:right;max-width:100px}.why-flag.attention .flag-icon{color:var(--amber)}.why-flag.unknown .flag-icon{color:var(--bark)}.why-body{padding:0 14px 14px;min-width:0}.why-body p{font-size:.8rem;line-height:1.6}.why-body small{display:block;font-size:.64rem;color:var(--bark);margin-top:8px;overflow-wrap:anywhere}
.tabs{display:flex;flex-wrap:wrap;gap:4px;background:var(--paper-2);padding:5px;border-radius:13px;margin:20px 0;max-width:100%;border:1px solid var(--line)}
.tabs button{flex:1;min-width:0;min-height:44px;padding:9px 12px;border:0;border-radius:9px;background:transparent;font-size:.79rem;font-weight:650;text-align:center;line-height:1.4}.tabs button[aria-selected="true"]{background:var(--paper);color:var(--terra);box-shadow:var(--shadow-sm)}
.nutrient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nutrient-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;min-width:0}.nutrient-card.is-priority{background:var(--terra-soft);border-color:var(--tan)}.nc-name{color:var(--bark);font-size:.76rem;font-weight:600}.nc-value{font-size:1.6rem;font-weight:680;line-height:1.3;letter-spacing:-.05em;margin-top:9px}.nc-value small{font-size:.63rem;color:var(--bark);font-weight:550;letter-spacing:0;display:inline-block}.nc-sub{font-size:.63rem;color:var(--bark);margin-top:8px}.nc-flag{display:flex;align-items:flex-start;gap:5px;line-height:1.5;font-size:.64rem;margin-top:11px}.nc-flag .icon{width:14px;height:14px;margin-top:2px}.nc-flag.ok{color:var(--terra)}.nc-flag.warn{color:var(--amber)}.nc-flag.na{color:var(--bark)}
.nc-bar{height:4px;max-width:100%;border-radius:6px;background:var(--line);margin-top:10px;overflow:hidden}.nc-bar span{height:100%;display:block;max-width:100%;width:var(--w,0);background:var(--terra);border-radius:6px}.nc-bar.over span{background:var(--amber)}
.ingredients-card,.detail-panel{background:var(--paper);padding:24px;border:1px solid var(--line);border-radius:20px}.ingredients-card>p{font-size:.93rem;margin-top:14px}
.allergen-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.allergen-chip,.trace-chip,.dq-badge{display:inline-flex;align-items:center;gap:5px;border-radius:8px;font-size:.68rem;padding:5px 9px;line-height:1.5;max-width:100%;background:var(--amber-soft);color:var(--amber)}.trace-chip{background:var(--paper-2);color:var(--bark)}.dq-badge{margin:3px 0}.dq-badge.verified{background:var(--olive-soft);color:var(--olive)}.dq-badge.conflict{background:var(--danger-soft);color:var(--danger)}.dq-badge .icon{width:13px;height:13px}
.source-strip{display:grid;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;font-size:.84rem;min-width:0}.source-strip>span{display:block;min-width:0;overflow-wrap:anywhere}
/* Form system. Intrinsic minimums are explicitly zero, not min-content. */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea{border:1px solid var(--tan);border-radius:11px;background:var(--paper);min-height:46px;width:100%;max-width:100%;min-width:0;padding:10px 12px;line-height:1.4;font-size:1rem;box-sizing:border-box}
textarea{resize:vertical;min-height:112px;overflow-wrap:anywhere}
input::placeholder,textarea::placeholder{color:var(--taupe);opacity:1}
input[type="checkbox"],input[type="radio"]{accent-color:var(--terra);width:20px;height:20px;flex-shrink:0;margin:0;cursor:pointer}
.field-label{display:flex;flex-direction:column;gap:7px;font-size:.79rem;font-weight:600;line-height:1.4;margin:0 0 14px;min-width:0}.field-label small{font-size:.68rem;color:var(--bark);font-weight:450;line-height:1.5}
#lookup-form>.field-label{margin-bottom:8px;font-size:.75rem}
.barcode-entry input,.name-search input{width:0!important;flex:1;min-width:0!important;border:0!important;background:transparent!important;padding:6px 0!important;border-radius:0!important;outline:0!important;box-shadow:none!important}
.add-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0;margin:22px 0}
.add-form>*{min-width:0}.add-form>input{flex:1 1 220px;width:0}.add-form>.field{min-width:0;flex:1 1 220px!important}.add-form>.field input{width:0;min-width:0;padding:6px 0}.add-form>select{width:auto;flex:0 1 200px}.add-form .field-label{flex:1 1 220px!important;min-width:0}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.grid-2>*{min-width:0}.check-label{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-size:.85rem;min-height:44px;padding:8px 0}.check-label input{margin-top:2px}
.form-card{display:block;width:100%;min-inline-size:0;max-width:100%;margin:24px 0;padding:24px;border:1px solid var(--line);background:var(--paper);border-radius:22px}
.form-card legend{padding:0 8px;margin-left:-8px;max-width:100%;font-size:1.06rem;font-weight:730;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere}.form-card>p{font-size:.85rem;color:var(--bark);margin-bottom:20px;max-width:70ch}
.profile-hero{border:1px solid #294e3b;background:#1d4232;color:#eff7e7;border-radius:24px;padding:28px;max-width:100%;margin-bottom:28px}.profile-hero .eyebrow{color:#e0eccd!important}.profile-hero h1{font-size:clamp(1.9rem,3.8vw,2.8rem);margin-top:10px}.profile-hero h1 em{color:#d0e5ad!important}.profile-hero p{font-size:.87rem;max-width:76ch;color:#d8e6d4;margin-top:13px}
.check-chip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.opt-card{display:flex;align-items:center;gap:11px;position:relative;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);min-width:0;min-height:66px;cursor:pointer;transition:border-color .12s,background .12s}
.opt-card input{position:absolute;width:20px;height:20px;opacity:0;inset-inline-start:16px;top:50%;transform:translateY(-50%);pointer-events:none}
.opt-card:focus-within{outline:3px solid var(--terra);outline-offset:3px}.opt-card:has(input:checked){background:var(--terra-soft);border-color:var(--terra)}
.opt-box{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border:1.5px solid var(--tan);border-radius:8px;color:transparent;background:var(--paper)}.opt-box .icon{width:14px;height:14px}.opt-card:has(input:checked) .opt-box,.opt-card input:checked~.opt-box{background:var(--terra);color:#fff;border-color:var(--terra)}:root[data-theme="dark"] .opt-card:has(input:checked) .opt-box,:root[data-theme="dark"] .opt-card input:checked~.opt-box{color:#173624}
.opt-text{flex:1;min-width:0}.opt-text strong{display:block;font-size:.81rem;line-height:1.45;font-weight:650}.opt-text small{display:block;font-size:.69rem;color:var(--bark);margin-top:5px;line-height:1.5}
.opt-tile{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;flex-shrink:0;background:var(--paper-2);color:var(--terra)}.opt-tile .icon{width:21px;height:21px}.t-amber{background:var(--butter);color:var(--butter-ink)}.t-green,.t-lime{background:var(--sage);color:var(--sage-ink)}.t-sky,.t-grape{background:var(--lilac);color:var(--lilac-ink)}
.priority-rank{display:grid;gap:9px}.priority-row{display:grid;grid-template-columns:28px minmax(0,1fr) 135px 94px;gap:14px;align-items:center;background:var(--paper-2);border:1px solid var(--line);border-radius:15px;padding:14px}
.priority-row>*{min-width:0}.rank-num{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--tan);background:var(--paper);border-radius:9px;color:var(--terra);font-size:.74rem;font-weight:650}
.p-name{font-size:.83rem;font-weight:650}.p-desc{font-size:.69rem;line-height:1.4;color:var(--bark);display:inline-block}.rank-btns{display:flex;gap:5px;justify-content:end}.rank-btns .icon-button{width:42px;height:44px}.rank-btns .icon{width:16px;height:16px}
.threshold-input{margin-top:5px;max-width:100%;font-size:1rem!important}.priority-row label{font-size:.67rem;line-height:1.3;display:block;min-width:0}
.fchip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 13px;border:1px solid var(--line);background:var(--paper);border-radius:12px;font-size:.77rem;font-weight:600;line-height:1.4;max-width:100%;min-width:0;text-align:left}.fchip .icon{width:16px;height:16px}.fchip[aria-pressed="true"]{border-color:var(--terra);background:var(--terra-soft);color:var(--terra)}
/* Shopping and pantry: content and actions wrap independently. */
.list-panel{background:var(--paper);border:1px solid var(--line);border-radius:22px;min-width:0;overflow:hidden}
.list-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:20px;border-bottom:1px solid var(--line);min-width:0}.list-row:last-child{border-bottom:0}.list-row>*{min-width:0}.list-row.checked{background:var(--paper-2)}.list-row.checked .lr-name{text-decoration:line-through;color:var(--bark)}
.lr-check{width:22px!important;height:22px!important;flex-shrink:0}.lr-main{flex:1 1 200px;min-width:0}.lr-name{font-size:.92rem;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.lr-sub{font-size:.69rem;color:var(--bark);margin-top:4px;overflow-wrap:anywhere}
.lr-qty{display:flex;align-items:center;gap:5px;flex-shrink:0;max-width:100%}.lr-qty b{font-size:.8rem;min-width:23px;text-align:center;font-variant-numeric:tabular-nums}.lr-qty .icon-button{width:37px;height:44px;padding:8px;border-radius:11px}.lr-qty .icon{width:14px;height:14px}
.intent-select{width:auto;flex:0 1 132px;font-size:.8rem;max-width:100%;padding:10px 8px;min-height:44px}
.list-row>.icon-button{width:40px;height:44px;padding:9px}
.expiry-tag{display:inline-flex;align-items:center;min-height:28px;font-size:.65rem;padding:4px 8px;border-radius:7px;max-width:100%}.expiry-tag.ok{background:var(--paper-2);color:var(--bark)}.expiry-tag.soon{background:var(--amber-soft);color:var(--amber)}.expiry-tag.over{background:var(--danger-soft);color:var(--danger)}
.expiry-over{border-inline-start:3px solid var(--danger)}.expiry-soon{border-inline-start:3px solid var(--amber)}
/* Comparison intentionally scrolls as a region, never the page. */
.compare-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}
.compare-slot{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px dashed var(--tan);background:var(--paper);border-radius:17px;min-width:0}.compare-slot.filled{border-style:solid;border-color:var(--terra);background:var(--terra-soft)}.compare-slot strong{font-size:.82rem;line-height:1.5}.compare-slot select{margin-top:auto;font-size:.84rem}.compare-slot .button{font-size:.7rem}
.compare-toolbar{display:grid;gap:8px;margin:20px 0}.spotlight-filters{display:flex;flex-wrap:wrap;gap:7px;max-width:100%}
.compare-table-wrap{overflow:auto;width:100%;max-width:100%;border:1px solid var(--line);border-radius:19px;background:var(--paper);overscroll-behavior-inline:contain;scrollbar-width:thin}
.compare-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:660px;font-size:.8rem;line-height:1.5}
.compare-table th,.compare-table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;overflow-wrap:anywhere}.compare-table th:first-child{width:140px}.compare-table tbody th{font-size:.72rem;color:var(--bark);font-weight:600;background:var(--paper-2)}.compare-table tr:last-child>*{border-bottom:0}.compare-table tr.is-priority{background:var(--terra-soft)}
.cmp-product{display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:0}.cmp-product img{height:85px;width:100%;object-fit:contain;background:#fff;border-radius:9px;padding:7px}.cmp-name{font-size:.86rem;font-weight:650}.cmp-value{font-size:1.05rem;font-weight:650}.cmp-value small{font-size:.62rem;color:var(--bark);font-weight:450}.cmp-sub{font-size:.63rem;color:var(--bark)}
.dimmed{opacity:.7}.best-badge{background:var(--terra-soft);color:var(--terra);font-size:.6rem;padding:4px 7px;border-radius:7px;display:inline-flex;align-items:center;gap:4px;line-height:1.4}.best-badge .icon{width:12px;height:12px}
.swap-list{display:grid;gap:14px;margin-top:22px}.swap-card{display:flex;flex-wrap:wrap;gap:18px;align-items:center;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}.swap-card>img{height:90px;width:80px;object-fit:contain;background:#fff;border-radius:10px;padding:7px;flex-shrink:0}.swap-card>div:not(.button-row){flex:1 1 200px;min-width:0;font-size:.92rem}.swap-delta{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.delta-pill{display:inline-flex;background:var(--terra-soft);color:var(--terra);font-size:.67rem;padding:4px 8px;border-radius:7px;line-height:1.4;max-width:100%}
/* Insights, empty, errors, metadata and utilities. */
.recap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.stat-card{border:1px solid var(--line);border-radius:20px;padding:24px;min-width:0;background:var(--paper)}.stat-card:nth-child(3n+1){background:var(--sage);color:var(--sage-ink)}.stat-card:nth-child(3n+2){background:var(--butter);color:var(--butter-ink)}.stat-card:nth-child(3n+3){background:var(--lilac);color:var(--lilac-ink)}.stat-num{font-size:2.5rem;font-weight:650;letter-spacing:-.05em;line-height:1.1}.stat-label{font-size:.76rem;margin-top:10px;line-height:1.5}
.milestone,.next-action{display:flex;align-items:center;gap:14px;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;margin-top:12px;font-size:.86rem}.milestone>div,.next-action>span{min-width:0}.m-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:var(--terra-soft);color:var(--terra)}.next-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.next-action{margin-top:12px}.next-action>.icon{width:24px;height:24px;color:var(--terra)}
.empty{padding:clamp(24px,5vw,48px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--paper);border:1px dashed var(--tan);border-radius:22px;min-width:0}.empty-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:21px;background:var(--paper-2);color:var(--terra);margin-bottom:20px}.empty-icon .icon{width:29px;height:29px}.empty h2{font-size:1.55rem;max-width:23ch}.empty>p{font-size:.86rem;color:var(--bark);max-width:48ch;margin-top:12px}.empty .button-row{justify-content:center}.compact-empty{background:var(--paper);border:1px dashed var(--tan);padding:18px;border-radius:14px;font-size:.8rem;color:var(--bark)}
.notice,.withheld-notice{display:flex;align-items:flex-start;gap:10px;min-width:0;border:1px solid var(--line);background:var(--paper-2);border-radius:14px;padding:14px 16px;margin:14px 0;color:var(--bark);font-size:.8rem;line-height:1.6}.notice>div{min-width:0;overflow-wrap:anywhere}.notice>.icon{width:18px;height:18px;margin-top:3px}.notice.warning{background:var(--amber-soft);border-color:var(--amber-soft);color:var(--amber)}.notice.error{background:var(--danger-soft);border-color:var(--danger-soft);color:var(--danger)}
.lookup-wrap{padding:28px 0;display:flex;justify-content:center}.lookup-card{width:100%;max-width:680px;padding:clamp(22px,4vw,40px);text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:24px;min-width:0}.lookup-card h1{font-size:clamp(1.65rem,3vw,2.5rem)}.lookup-card>p{font-size:.9rem;color:var(--bark);margin:18px 0}.barcode-chip{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;border:1px solid var(--line);background:var(--paper-2);border-radius:11px;padding:10px 14px;font-size:.9rem;letter-spacing:.025em;max-width:100%;margin:22px 0}.barcode-chip .icon{width:19px;height:19px}.missing-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}.lookup-progress{margin-top:20px;font-size:.84rem}
.detecting-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:.75rem;padding:7px 12px;border-radius:10px;background:var(--terra-soft);color:var(--terra);white-space:nowrap}.spinner{display:inline-block;width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--terra);border-radius:50%;animation:spin 1s linear infinite}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.about-card{padding:24px;border:1px solid var(--line);background:var(--paper);border-radius:20px;min-width:0}.about-card h2,.about-card h3{font-size:1.15rem}.about-card p,.about-card li{font-size:.85rem;color:var(--bark);margin-top:12px}.about-card a{color:var(--terra);overflow-wrap:anywhere}.about-card ul{padding-left:18px}.about-card code{overflow-wrap:anywhere}
.diagnostic-copy{font-family:ui-monospace,monospace;font-size:.76rem;min-height:240px;max-width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:.76rem}dl{min-width:0}dd{margin:0;overflow-wrap:anywhere}
.small{font-size:.75rem;line-height:1.55}.muted{color:var(--bark)}.lede{font-size:.95rem;color:var(--bark);line-height:1.65}.mt-1{margin-top:12px}.mt-2{margin-top:20px}.mt-3{margin-top:28px}.mt-4{margin-top:36px}.divider{height:1px;background:var(--line);margin:20px 0}
/* Dialogs: bounded to the visual viewport with one padding owner. */
.app-dialog{width:min(660px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-lg);overflow:auto;overscroll-behavior:contain;min-width:0}
.app-dialog::backdrop{background:#11251ecd;backdrop-filter:blur(3px)}.app-dialog>*{min-width:0}.dialog-pad{padding:0;min-width:0}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px;min-width:0}.modal-head>div{min-width:0;flex:1}.modal-head h2{font-size:1.65rem;margin-top:5px}.modal-head .icon-button{flex-shrink:0}
.app-dialog .profile-strip{border:1px solid var(--line);border-radius:12px;padding-inline:10px;margin:14px 0}.app-dialog .profile-strip .container{width:100%;max-width:100%}.app-dialog .profile-summary{flex-direction:column;align-items:flex-start;gap:1px}.app-dialog .profile-summary>span{width:100%}
.settings-section{margin-top:26px;padding-top:23px;border-top:1px solid var(--line)}.settings-section h3{margin-bottom:16px}.segmented{display:flex;gap:5px;padding:5px;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;max-width:100%}.segmented button{display:flex;align-items:center;justify-content:center;flex:1;gap:6px;border:0;border-radius:8px;padding:9px 6px;min-height:44px;background:transparent;font-size:.77rem;font-weight:600;line-height:1.4}.segmented .icon{width:17px;height:17px}.segmented button[aria-pressed="true"]{background:var(--paper);color:var(--terra);box-shadow:var(--shadow-sm)}
.app-dialog[data-kind="camera"]{background:#13251c;color:#f5f9ef;border-color:#395943}.scanner-dialog{color:#f2f7ea}.scanner-dialog .eyebrow{color:#d2e4b6}.scanner-dialog .check-label{font-size:.78rem;color:#d1dfc7;margin-bottom:12px}.scanner-dialog .modal-head .icon-button{background:#ffffff12;color:#f2f7ea;border-color:#ffffff35}.camera-stage{position:relative;width:100%;height:min(50vh,360px);height:min(50dvh,360px);border-radius:16px;background:#0a120d;overflow:hidden;min-width:0}.camera-stage video{width:100%;height:100%;object-fit:cover}.vf-corner{position:absolute;z-index:2;width:28px;height:28px;border:3px solid #d8eeb7}.vf-corner.tl{left:18px;top:18px;border-right:0;border-bottom:0;border-radius:9px 0 0 0}.vf-corner.tr{right:18px;top:18px;border-left:0;border-bottom:0;border-radius:0 9px 0 0}.vf-corner.bl{left:18px;bottom:18px;border-right:0;border-top:0;border-radius:0 0 0 9px}.vf-corner.br{right:18px;bottom:18px;border-left:0;border-top:0;border-radius:0 0 9px 0}.vf-scanline{position:absolute;left:18px;right:18px;top:50%;height:2px;background:#cbe69e88;z-index:2}.camera-stage .detecting-pill{background:#142a20;color:#e0f2c1;font-size:.68rem;top:12px!important}.camera-status{font-size:.8rem;line-height:1.6;margin-top:15px}.camera-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}.camera-actions .button{font-size:.75rem}.camera-actions .button-ghost{color:#e3efd8;border:1px solid #ffffff35}.camera-actions .button-outline{background:#233c2c;color:#edf4e5;border-color:#45634d}
.label-preview{width:100%;max-height:70vh;object-fit:contain;background:var(--paper-2);border-radius:12px}
.onboard-overlay{position:fixed;inset:0;z-index:180;display:grid;place-items:center;background:#10251bcc;padding:16px;overflow-y:auto}.onboard-card{width:min(100%,620px);max-height:calc(100dvh - 32px);overflow:auto;padding:28px;background:var(--paper);border-radius:24px}.onboard-steps{display:flex;gap:6px;margin-bottom:25px}.onboard-steps span{flex:1;height:4px;background:var(--line);border-radius:3px}.onboard-steps span.done{background:var(--terra)}.onboard-body h2{font-size:1.7rem;margin:12px 0}.onboard-body .lede{margin-bottom:22px}.onboard-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:26px}.onboard-nav>span{flex-wrap:wrap}.onboard-body .check-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.toast{position:fixed;z-index:250;left:50%;bottom:calc(94px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);width:max-content;background:#193b2a;color:#f0f8e9;border:1px solid #537455;border-radius:14px;padding:13px 16px;box-shadow:var(--shadow-lg);font-size:.8rem;line-height:1.5;max-height:40dvh;overflow:auto}
.toast>span{flex:1;min-width:0;overflow-wrap:anywhere}.toast button{background:#d6ebbc;color:#1c4229;border:0;border-radius:8px;padding:10px;font-size:.78rem;min-height:40px;flex-shrink:0;font-weight:650}
#boot-notice{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--cream);padding:20px}.boot-card{width:100%;max-width:520px;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:22px}.boot-card h2{font-size:1.5rem}.boot-card p{margin-top:18px;font-size:.9rem}
.startup{min-height:55vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px}.startup-mark{width:60px;height:60px;background:var(--terra);color:#fff;display:grid;place-items:center;border-radius:20px;font-size:2rem;font-weight:700}.startup h1{font-size:2rem}.startup p{color:var(--bark);font-size:.9rem}
.site-footer{border-top:1px solid var(--line);padding:26px 0 30px;width:100%;background:var(--paper)}.footer-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand .brand{font-size:1rem}.footer-brand .brand-mark{width:27px;height:27px;border-radius:9px}.footer-brand .icon{width:16px;height:16px}.release{font-size:.65rem;color:var(--bark);font-variant-numeric:tabular-nums}.footer-inner>p{max-width:52ch;color:var(--bark);font-size:.64rem;line-height:1.65}.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:.69rem}.footer-links>a,.footer-links>button{min-height:40px;display:inline-flex;align-items:center;font-size:.69rem}.footer-links a{text-decoration:none}
/* No intersection-hidden blocks. All content remains readable without animation. */
.reveal,.rise,.rise-1,.rise-2,.rise-3,.in,[data-reveal]{opacity:1;transform:none}
@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.welcome-card{min-height:446px}.welcome-content{padding:38px 42px}.scan-card{padding:34px}}
@media(max-width:1000px){.header-inner{gap:10px}.main-nav a{padding:9px 11px;font-size:.76rem}.home-lead{grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);gap:16px}.welcome-content{padding:28px 26px}.scan-card{padding:24px}.welcome-content h1{font-size:2.45rem}.footer-inner{grid-template-columns:1fr auto}.footer-inner>p{grid-column:1;grid-row:2}.footer-links{grid-column:2;grid-row:1 / span 2}.check-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
 .main-nav{display:none}.header-inner{min-height:66px;padding-block:9px}.brand{font-size:1.27rem}.header-actions .icon-button{width:40px;height:42px}.brand-mark{width:32px;height:32px}
 body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
 .bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:80;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:calc(100% - 24px);max-width:500px;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 7px 32px #11281924}
 .bottom-nav>a{position:relative;min-width:0;min-height:53px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--bark);border-radius:16px;text-decoration:none;font-size:.64rem;font-weight:600;line-height:1.25;text-align:center;padding:7px 3px}.bottom-nav .icon{width:20px;height:20px}.bottom-nav>a[aria-current="page"]{color:var(--terra);background:var(--terra-soft)}.bottom-nav .nav-count{position:absolute;right:8px;top:3px;min-width:15px;height:15px;font-size:.51rem}
 .home-lead{grid-template-columns:minmax(0,1fr)}.welcome-card{min-height:360px}.welcome-content{padding:28px 30px}.welcome-content h1{font-size:2.7rem;max-width:15ch}.welcome-photo{inset:0 0 0 24%}.welcome-content>p{margin-bottom:20px}.welcome-photo img{object-position:70% 50%}.scan-card{padding:26px}.scan-card-head p{max-width:none;margin-bottom:16px}.lookup-note{margin-top:12px}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{min-height:148px}.product-hero{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:22px;padding:20px}.ph-visual{height:230px}.ph-copy h1{font-size:1.8rem}.ph-actions{gap:8px}.ph-actions .button{font-size:.73rem;padding:10px}
 .nutrient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.trip-panel{gap:24px;padding:26px}.trip-copy h2{font-size:1.7rem}.next-actions{grid-template-columns:minmax(0,1fr)}
 .priority-row{grid-template-columns:26px minmax(0,1fr) 120px 90px;gap:9px;padding:12px}.footer-links{max-width:260px;gap:14px}
}
@media(max-width:600px){
 main{padding-top:18px;padding-bottom:28px}.container{width:calc(100% - var(--gutter) * 2)}
 .profile-summary{flex-direction:column;align-items:flex-start;gap:1px}.profile-summary strong{font-size:.54rem;letter-spacing:.07em}.profile-summary>span{font-size:.68rem;width:100%}.profile-strip .container{min-height:49px}.profile-edit{font-size:.68rem}.profile-symbol .icon{width:17px;height:17px}
 .section-head{gap:8px;margin-bottom:16px}.section-head h2{font-size:1.5rem}.section-head .link-button{font-size:.7rem}.section-head .eyebrow{font-size:.56rem;letter-spacing:.12em}.page-section{margin-top:28px}.page-section+.page-section{margin-top:30px}
 .welcome-card{border-radius:23px;min-height:356px}.welcome-content{padding:24px 24px 20px}.welcome-kicker{font-size:.52rem;letter-spacing:.075em}.welcome-content h1{font-size:2.35rem;margin:20px 0 13px;line-height:1.06}.welcome-content>p{font-size:.82rem;line-height:1.65}.welcome-photo{inset:0 0 0 28%}.welcome-photo img{object-position:71% 50%;opacity:.58}.welcome-photo::after{background:linear-gradient(90deg,#173f30 0%,#173f30b5 37%,#173f3038 100%),linear-gradient(0deg,#173f30 6%,#173f30a1 44%,transparent)}
 .scan-now{max-width:none;min-height:65px;border-radius:14px;padding:11px 12px;font-size:.96rem;gap:11px}.scan-now small{font-size:.64rem}.scan-now-icon{width:37px;height:37px}.scan-now-icon .icon{width:22px;height:22px}.scan-shortcuts{gap:4px 18px;margin-top:9px;width:100%;justify-content:space-between}.scan-shortcuts button{font-size:.69rem}.scan-shortcuts button .icon{width:16px;height:16px}
 .scan-card{padding:23px 21px;border-radius:23px}.scan-card-head h2{font-size:1.5rem}.scan-card-head p{font-size:.76rem;margin-top:8px}.field-label{font-size:.75rem}.barcode-entry{padding-left:10px;gap:8px}.barcode-entry input{font-size:16px!important}.field-hint{font-size:.65rem}.name-search .field{flex-basis:175px}.name-search .button{font-size:.77rem;padding:10px 15px}.lookup-note{font-size:.67rem}
 .tile{padding:16px;border-radius:19px;min-height:154px;gap:7px}.tile-count{font-size:1.35rem}.tile h3{font-size:.92rem}.tile p{font-size:.68rem}.tile-icon{width:32px;height:32px;border-radius:11px}.tile-icon .icon{width:18px;height:18px}.tile-go{font-size:.66rem}
 .first-scan-card{padding:22px;gap:15px;flex-wrap:wrap;border-radius:20px}.first-scan-icon{width:45px;height:48px;border-radius:14px}.first-scan-icon .icon{width:23px;height:23px}.first-scan-card>div{flex:1 1 160px}.first-scan-card h3{font-size:.99rem}.first-scan-card p{font-size:.75rem}.first-scan-card>.button{width:100%;font-size:.79rem}
 .trip-panel{grid-template-columns:minmax(0,1fr);padding:24px;gap:24px;border-radius:22px}.trip-copy h2{font-size:1.7rem}.trip-copy p{font-size:.78rem}.trip-copy .button{font-size:.79rem;width:100%}.trip-items{border-radius:16px}.trip-empty{padding:20px}.trip-item{padding:13px 15px;gap:8px}.trip-heading{padding:14px 15px;font-size:.75rem}.trip-item-text{font-size:.79rem}
 .food-grid{grid-template-columns:minmax(0,1fr);gap:13px}.food-card{padding:17px;border-radius:19px}.fc-main h3{font-size:.99rem}.fc-thumb{width:72px;height:78px}.food-card-actions .link-button{font-size:.74rem}.source-line{font-size:.65rem}
 .breadcrumb{gap:7px 15px;margin-bottom:16px;font-size:.7rem}.breadcrumb .link-button{font-size:.7rem}.product-hero{grid-template-columns:minmax(0,1fr);padding:18px;gap:20px;border-radius:21px}.ph-visual{height:180px;max-width:100%;border-radius:15px}.ph-visual .product-image img{padding:15px}.ph-copy h1{font-size:1.7rem;margin:10px 0 13px}.ph-meta{font-size:.63rem;gap:5px}.ph-actions .button{flex:1 1 calc(50% - 8px);font-size:.76rem}.ph-actions{margin-top:16px}
 .verdict{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:18px 15px;border-radius:18px;margin:16px 0}.v-icon{width:28px;height:28px;border-radius:9px}.v-icon .icon{width:16px;height:16px}.verdict h2{font-size:1.12rem}.verdict p{font-size:.74rem}.why-flag summary{gap:7px;padding:10px;font-size:.72rem;flex-wrap:wrap}.why-flag summary>span:nth-child(2){flex-basis:calc(100% - 30px)}.flag-status{max-width:none;width:100%;text-align:left;padding-left:23px;font-size:.6rem}.why-body{padding:0 10px 12px}.why-body p{font-size:.74rem}.why-body small{font-size:.6rem}
 .tabs{margin:18px 0}.tabs button{font-size:.7rem;padding:9px 6px}.nutrient-grid{gap:10px}.nutrient-card{padding:15px;border-radius:15px}.nc-name{font-size:.7rem}.nc-value{font-size:1.4rem;margin-top:6px}.nc-value small{font-size:.58rem}.nc-sub{font-size:.6rem}.nc-flag{font-size:.6rem}.ingredients-card{padding:18px}.ingredients-card .grid-2{grid-template-columns:minmax(0,1fr)}
 .profile-hero{padding:24px 22px;border-radius:21px;margin-bottom:23px}.profile-hero h1{font-size:2rem}.profile-hero p{font-size:.77rem}.profile-hero .eyebrow{font-size:.57rem}.form-card{padding:18px;margin:22px 0;border-radius:18px}.form-card legend{font-size:.98rem}.form-card>p{font-size:.76rem;margin-bottom:16px}.check-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.opt-card{gap:8px;padding:12px 9px;border-radius:12px;min-height:63px}.opt-box{width:21px;height:21px;border-radius:7px}.opt-text strong{font-size:.72rem}.opt-text small{font-size:.63rem}.opt-tile{width:30px;height:30px;border-radius:9px}.opt-tile .icon{width:18px;height:18px}
 .priority-row{grid-template-columns:24px minmax(0,1fr) 89px;gap:9px;padding:12px}.priority-row>span:nth-child(2){grid-column:2 / -1}.priority-row>label{grid-column:2;grid-row:auto}.rank-btns{grid-column:3}.priority-row:not(:has(label)) .rank-btns{grid-column:2 / -1}.priority-row>label .threshold-input{width:100%;max-width:135px}.p-name{font-size:.79rem}.p-desc{font-size:.65rem}.fchip{font-size:.71rem;padding:9px 10px}.form-card .button-row{margin-top:10px;gap:7px}
 .add-form{gap:8px;margin:19px 0}.add-form>input{flex-basis:180px}.add-form>.button{font-size:.77rem;padding:10px 13px}.add-form>.field{flex-basis:100%!important}.add-form>select{flex:1}.list-panel{border-radius:19px}.list-row{gap:9px;padding:16px}.lr-main{flex:1 1 calc(100% - 34px)}.lr-name{font-size:.86rem}.lr-sub{font-size:.64rem}.lr-qty{gap:3px}.lr-qty .icon-button{width:33px}.lr-qty b{min-width:20px}.intent-select{flex:1 1 118px;font-size:.75rem}.list-row>.icon-button{width:37px}.list-row .expiry-tag{margin-right:auto}
 .compare-slots{gap:10px;margin:22px 0}.compare-slot{padding:13px;border-radius:14px}.compare-slot .eyebrow{font-size:.58rem}.compare-slot select{font-size:.76rem;padding:9px 7px}.compare-slot strong{font-size:.76rem}.compare-slot .button{font-size:.67rem;padding:9px 7px;gap:5px}.compare-slot .button .icon{width:15px;height:15px}.compare-slot .small{font-size:.65rem}.compare-table th,.compare-table td{padding:13px}.compare-table-wrap{border-radius:16px}.compare-toolbar .small{font-size:.67rem}.spotlight-filters .fchip{font-size:.66rem;padding:8px 10px;min-height:42px}
 .recap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat-card{padding:20px;border-radius:17px}.stat-num{font-size:2rem}.stat-label{font-size:.7rem}.next-action,.milestone{padding:17px;font-size:.8rem}.empty{padding:28px 20px;border-radius:20px}.empty h2{font-size:1.4rem}.empty>p{font-size:.79rem}.empty .button{font-size:.8rem}.about-grid{grid-template-columns:minmax(0,1fr)}.about-card{padding:21px}
 .swap-card{gap:13px;padding:18px}.swap-card>div:not(.button-row){flex-basis:160px;font-size:.83rem}.swap-card .button-row{flex-direction:row!important;width:100%}.swap-card .button-row .button{flex:1}
 .app-dialog{padding:20px;border-radius:21px;max-height:calc(100dvh - 24px)}.modal-head{gap:12px;margin-bottom:16px}.modal-head h2{font-size:1.45rem}.modal-head .icon-button{width:40px;height:42px}.settings-section h3{font-size:1.06rem}.settings-section .grid-2{gap:12px}.settings-section .field-label{font-size:.71rem}.segmented button{font-size:.71rem;gap:5px}.grid-2 .field-label{margin-bottom:7px}.lookup-card{padding:26px 20px}.missing-actions{grid-template-columns:minmax(0,1fr)}.onboard-card{padding:22px}.onboard-body .check-chip-grid{grid-template-columns:minmax(0,1fr)}
 .footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-links{max-width:100%;gap:20px}.footer-inner>p{font-size:.65rem;max-width:54ch}.site-footer{padding:23px 0 22px}.footer-brand .brand{font-size:1.06rem}.toast{font-size:.74rem;padding:12px;gap:8px}.toast>.icon{display:none}.toast button{font-size:.71rem;padding:9px}
}
@media(max-width:359px){.welcome-content{padding:22px 20px 18px}.welcome-content h1{font-size:2.15rem}.welcome-kicker{font-size:.49rem}.welcome-card{min-height:350px}.scan-shortcuts{gap:3px 8px}.scan-shortcuts button{font-size:.64rem}.scan-card{padding:21px 18px}.tiles{gap:10px}.tile{padding:14px;min-height:150px}.tile p{font-size:.65rem}.tile h3{font-size:.86rem}.first-scan-card{padding:20px}.trip-panel{padding:21px}.check-chip-grid{grid-template-columns:minmax(0,1fr)}.opt-text strong{font-size:.8rem}.list-row{padding:14px}.list-row .intent-select{flex-basis:111px}.header-actions{gap:2px}.brand{font-size:1.2rem}.macro-grid{gap:5px}.macro-grid strong{font-size:.71rem}.field .voice-btn{width:34px}.app-dialog .grid-2{grid-template-columns:minmax(0,1fr)}.segmented button{font-size:.67rem}.segmented .icon{width:15px;height:15px}}
/* Large text reflows rather than shrinking text or hiding labels. */
@media(max-width:600px){html[data-text-size="extra"] .check-chip-grid,html[data-text-size="extra"] .compare-slots{grid-template-columns:minmax(0,1fr)}html[data-text-size="extra"] .scan-shortcuts{gap:0 10px}html[data-text-size="extra"] .scan-shortcuts button{font-size:.64rem}html[data-text-size="extra"] .name-search .button{width:100%}html[data-text-size="extra"] .grid-2{grid-template-columns:minmax(0,1fr)}html[data-text-size="extra"] .ph-actions .button{flex-basis:100%}html[data-text-size="extra"] .segmented button{flex-direction:column}html[data-text-size="extra"] .welcome-kicker{letter-spacing:0;font-size:.49rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}
@media print{body{padding:0;background:#fff;color:#111}.site-header,.profile-strip,.bottom-nav,.site-footer,.toast,.button,.icon-button,.link-button,.scan-shortcuts{display:none!important}main{padding:0}.container{width:100%;max-width:none}.compare-table-wrap{overflow:visible;border:0}.compare-table{min-width:0;font-size:9pt}.product-hero,.form-card,.nutrient-card,.list-row{break-inside:avoid;box-shadow:none}.app-dialog{display:none}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =====================================================================
   FoodScan 7: the instant-clarity layer.
   Builds on the Grove tokens above. Every colour has a dark-mode twin and
   no meaning is carried by colour alone (words and icons always accompany it).
   ===================================================================== */

:root[data-theme="dark"]{
 --lv-high:#ff7a68;--lv-high-bg:#4a2623;--lv-high-fg:#ffb9ad;
 --lv-med:#f0b040;--lv-med-bg:#473820;--lv-med-fg:#f6d596;
 --lv-low:#5cc27a;--lv-low-bg:#23422b;--lv-low-fg:#b7ebc4;
 --lv-none:#6f857a;--cp-rest:#4a6154;
}
/* ---- Nutri-Score and NOVA ---- */
.ns-A{background:#038141;color:#fff}.ns-B{background:#85bb2f;color:#13280f}.ns-C{background:#fecb02;color:#2d2400}.ns-D{background:#ee8100;color:#2b1500}.ns-E{background:#d6370c;color:#fff}
.nsbar{display:inline-flex;align-items:center;gap:3px;flex-shrink:0}
.ns{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font-weight:800;font-size:.95rem;line-height:1;opacity:.42;transform:scale(.8);transition:transform .25s var(--ease),opacity .25s}
.ns.on{opacity:1;transform:scale(1.28);margin-inline:6px;box-shadow:0 5px 16px #0000002e;position:relative;z-index:1;animation:nsPop .55s var(--ease) both}
.nsbar-sm .ns{width:22px;height:22px;border-radius:7px;font-size:.7rem}.nsbar-sm .ns.on{margin-inline:4px}
.nsbar.none .ns{background:var(--paper-2);color:var(--bark);opacity:.7;transform:none;box-shadow:none;animation:none}
@keyframes nsPop{from{transform:scale(.55);opacity:0}60%{transform:scale(1.4)}to{transform:scale(1.28);opacity:1}}
.ns-dot{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:9px;font-weight:800;font-size:.8rem;line-height:1;flex-shrink:0}
.novabar{display:inline-flex;gap:4px;flex-shrink:0}
.nv{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-weight:800;font-size:.82rem;background:var(--paper-2);color:var(--bark);opacity:.55}
.nv.on{opacity:1;transform:scale(1.12);box-shadow:0 4px 12px #00000026}
.nv-1{--nvb:#1f7a44;--nvf:#fff}.nv-2{--nvb:#e6c23a;--nvf:#2d2400}.nv-3{--nvb:#e88a1a;--nvf:#2b1500}.nv-4{--nvb:#c0392b;--nvf:#fff}
.nv.on,.nova-pill{background:var(--nvb);color:var(--nvf)}
.novabar.none .nv{opacity:.7}
.nova-pill{display:inline-flex;align-items:center;font-size:.64rem;font-weight:750;padding:3px 7px;border-radius:7px;line-height:1.4;letter-spacing:.02em}
.fc-scores{display:flex;align-items:center;gap:6px;margin-top:2px;flex-wrap:wrap}
.score-cards{display:grid;gap:8px}
.score-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px;min-height:56px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2);min-width:0}
.score-txt{display:flex;flex-direction:column;gap:3px;min-width:0}.score-k{font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--bark)}.score-note{font-size:.78rem;color:var(--ink-2);line-height:1.4}
.score-card.is-empty .score-note{color:var(--bark)}
.score-help{margin-top:-4px;font-size:.78rem;color:var(--bark)}.score-help summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:32px;list-style:none;font-weight:650;color:var(--terra)}.score-help summary::-webkit-details-marker{display:none}.score-help summary .icon{width:15px;height:15px}.score-help div{padding:6px 2px 4px}.score-help p+p{margin-top:8px}
/* ---- cards and sections ---- */
.card-sec{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-sm);min-width:0}
.sec-head{margin-bottom:14px}.sec-head h2{font-size:1.18rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sec-head h2 .icon{width:20px;height:20px;color:var(--terra)}.sec-head h2 small{font-size:.7rem;font-weight:600;letter-spacing:0;color:var(--bark)}
.sec-sub{font-size:.8rem;color:var(--bark);margin-top:5px;line-height:1.55}
/* ---- product page ---- */
.pv{padding-bottom:84px}
.pv-hero{display:flex;flex-direction:column;gap:16px;padding:20px;box-shadow:var(--shadow-sm)}
.pvh-top{display:grid;grid-template-columns:108px minmax(0,1fr);gap:16px;align-items:center}
.pv-hero .ph-visual{height:108px;border-radius:16px}.pv-hero .ph-visual .product-image img{padding:8px}
.pv-hero .ph-copy h1{font-size:clamp(1.3rem,5.2vw,2rem);margin:6px 0 10px;line-height:1.18}
.pv-hero .ph-meta{margin-bottom:0}.pv-hero .ph-actions{margin-top:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pv-hero .ph-actions .button{flex:none;width:100%;padding:10px 6px;gap:6px;font-size:.76rem}.pv-hero .ph-actions .button .icon{width:17px;height:17px}.pv-hero .source-line{margin-top:-4px;font-size:.68rem}
.pv-grid{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.pv-col{display:contents}
.pv-col .verdict{margin:0;order:2}
.pv-col .personalize-mini{order:2}
.swaps-sec{order:6}
.pv-personal .pv-col .verdict{order:-1}
.pv-grid .o-lights{order:3}.pv-grid .o-portion{order:4}.pv-grid .o-comp{order:5}.pv-grid .o-qr{order:1}
html[data-text-size="extra"] .pv-hero .ph-actions{grid-template-columns:minmax(0,1fr)}
@media(min-width:980px){
 .pv-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px 32px;padding:26px;align-items:start}
 .pvh-top{grid-template-columns:150px minmax(0,1fr);grid-column:1}.pv-hero .ph-visual{height:150px}
 .pv-hero .score-cards{grid-column:2;grid-row:1;align-self:center}.pv-hero .score-help{grid-column:2;grid-row:2;margin-top:-8px}
 .pv-hero .source-line{grid-column:1}.pv-hero .ph-actions{grid-column:1}
 .pv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
 .pv-col{display:flex;flex-direction:column;gap:18px}
 .pv-col .verdict,.pv-col .personalize-mini,.swaps-sec,.pv-grid .o-lights,.pv-grid .o-portion,.pv-grid .o-comp,.pv-grid .o-qr{order:0}
}
.scan-fab{position:fixed;z-index:70;right:14px;bottom:calc(90px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:8px;padding:0 20px;min-height:52px;border:0;border-radius:18px;background:var(--terra);color:#fff;font-weight:720;font-size:.9rem;box-shadow:0 10px 30px #11281950;transition:transform .15s var(--ease)}
:root[data-theme="dark"] .scan-fab{color:#142b1c}
.scan-fab:active{transform:scale(.96)}.scan-fab .icon{width:22px;height:22px}
@media(min-width:821px){.scan-fab{bottom:28px;right:28px}}
@media(max-width:380px){.scan-fab span{display:none}.scan-fab{padding:0;width:52px;justify-content:center}}
/* ---- quick read ---- */
.qr-list{display:grid;gap:8px}
.qr{border:1px solid var(--line);border-radius:15px;background:var(--paper);overflow:hidden;transition:border-color .15s}
.qr[open]{border-color:var(--tan)}
.qr summary{display:flex;align-items:center;gap:12px;padding:11px 14px 11px 11px;cursor:pointer;list-style:none;min-height:58px}.qr summary::-webkit-details-marker{display:none}
.qr-ico{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:var(--paper-2);color:var(--bark)}.qr-ico .icon{width:19px;height:19px}
.qr-red .qr-ico{background:var(--lv-high-bg);color:var(--lv-high-fg)}.qr-amber .qr-ico{background:var(--lv-med-bg);color:var(--lv-med-fg)}.qr-green .qr-ico{background:var(--lv-low-bg);color:var(--lv-low-fg)}
.qr-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.qr-text strong{font-size:.93rem;line-height:1.3;letter-spacing:-.015em}.qr-text small{font-size:.75rem;color:var(--bark);line-height:1.45}
.qr-why{font-size:.68rem;font-weight:700;color:var(--terra);flex-shrink:0;display:inline-flex;align-items:center;gap:5px}.qr-why::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}.qr[open] .qr-why::after{transform:rotate(-135deg)}
.qr-body{padding:0 16px 14px 59px;font-size:.82rem;line-height:1.65;color:var(--bark)}
/* ---- traffic lights ---- */
.lights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.light{display:flex;flex-direction:column;gap:3px;padding:14px 15px;border-radius:17px;min-width:0;background:var(--lv-none-bg);color:var(--lv-none-fg)}
.light.l-high{background:var(--lv-high-bg);color:var(--lv-high-fg)}.light.l-medium{background:var(--lv-med-bg);color:var(--lv-med-fg)}.light.l-low{background:var(--lv-low-bg);color:var(--lv-low-fg)}
.light-top{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700}.light-dot{width:10px;height:10px;border-radius:50%;background:currentColor;flex-shrink:0}
.light-val{font-size:1.65rem;letter-spacing:-.045em;line-height:1.15;font-weight:760;color:inherit}.light-val small{font-size:.8rem;font-weight:650;letter-spacing:0}
.light-word{display:flex;align-items:center;gap:5px;font-weight:720;font-size:.82rem}.light-word .icon{width:15px;height:15px}
.light-note{font-size:.72rem;opacity:.92;line-height:1.4}
.mini-lights{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.mchip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:8px;font-size:.68rem;font-weight:700;line-height:1.4;background:var(--lv-none-bg);color:var(--lv-none-fg)}
.mchip i{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.mchip small{font-size:.9em;font-weight:600}
.mchip.l-high{background:var(--lv-high-bg);color:var(--lv-high-fg)}.mchip.l-medium{background:var(--lv-med-bg);color:var(--lv-med-fg)}.mchip.l-low{background:var(--lv-low-bg);color:var(--lv-low-fg)}
.verdict-line.tone-red{color:var(--danger)}
/* ---- composition ---- */
.comp-bar{display:flex;gap:2px;height:18px;border-radius:10px;overflow:hidden;background:var(--paper-2)}
.comp-bar span{min-width:3px;flex-basis:0}
.cp-sugars{background:var(--cp-sugars)}.cp-starch{background:var(--cp-starch)}.cp-carbs{background:var(--cp-carbs)}.cp-fat{background:var(--cp-fat)}.cp-protein{background:var(--cp-protein)}.cp-fiber{background:var(--cp-fiber)}.cp-rest{background:var(--cp-rest)}
.comp-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;list-style:none;margin:14px 0 0;padding:0;font-size:.8rem}
.comp-legend li{display:flex;align-items:center;gap:8px;min-width:0}.comp-legend i{width:11px;height:11px;border-radius:4px;flex-shrink:0}.comp-legend span{flex:1;min-width:0;color:var(--bark)}.comp-legend b{font-variant-numeric:tabular-nums}
/* ---- portion ---- */
.portion-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.portion-top label{font-size:.82rem;font-weight:650}.portion-top output{font-size:1.5rem;font-weight:760;letter-spacing:-.04em;color:var(--terra);font-variant-numeric:tabular-nums}
#portion-range{display:block;width:100%;min-height:40px;height:40px;padding:0;border:0;background:transparent;accent-color:var(--terra);margin:6px 0 4px;cursor:pointer}
.portion-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 16px}
.portion-chips .fchip{flex-direction:column;align-items:flex-start;gap:1px;min-height:46px;padding:7px 12px}.portion-chips .fchip small{font-size:.62rem;font-weight:550;color:var(--bark);line-height:1.2}.portion-chips .fchip[aria-pressed="true"] small{color:var(--terra)}
.pf-head{font-size:.84rem;font-weight:650;margin-bottom:10px}
.pf-grid{display:grid;gap:12px}
.pf-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name val" "bar pct";gap:5px 12px;align-items:center}
.pf-name{grid-area:name;font-size:.8rem;color:var(--bark)}.pf-val{grid-area:val;font-size:.95rem;font-variant-numeric:tabular-nums;text-align:right}.pf-val small{font-weight:550;color:var(--bark)}
.pf-ri{grid-area:bar;height:8px;border-radius:6px;background:var(--paper-2);overflow:hidden}.pf-ri span{display:block;height:100%;border-radius:6px;background:var(--terra);opacity:.85;transition:width .25s var(--ease)}
.pf-pct{grid-area:pct;font-size:.72rem;font-weight:700;color:var(--bark);min-width:2.6em;text-align:right;font-variant-numeric:tabular-nums}
.pf-foot{margin-top:12px}
/* ---- better choices ---- */
.swap7-list{display:grid;gap:10px}
.swap7{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:17px;background:var(--paper-2);min-width:0}
.swap7-open{display:flex;gap:13px;align-items:flex-start;text-decoration:none;min-width:0}
.swap7-img{width:66px;height:76px;flex-shrink:0;display:grid;place-items:center;background:#fff;border-radius:13px;overflow:hidden;color:var(--bark)}.swap7-img img{width:100%;height:100%;object-fit:contain;padding:5px}
.swap7-main{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.swap7-main strong{font-size:.95rem;line-height:1.3;letter-spacing:-.015em}
.swap7-grades{display:flex;align-items:center;gap:6px}.swap7-grades .icon{width:15px;height:15px;color:var(--bark)}
.swap7-actions{display:flex;gap:8px;justify-content:flex-end}.swap7-actions .button{flex:0 1 auto}
.swap7.skeleton{flex-direction:row;align-items:center}
.swap-empty{display:flex}
/* ---- Amazon Affiliate CTA & Monetization ---- */
.button-amazon{background:#ff9900;color:#111;border-color:#e68a00;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.12);text-decoration:none}
.button-amazon:hover{background:#f28d00;color:#000;box-shadow:0 4px 12px rgba(255,153,0,.35);filter:brightness(.98)}
:root[data-theme="dark"] .button-amazon{background:#ffa724;color:#111;border-color:#f59b18}
.button-amazon-icon{color:#e68a00;border-color:var(--line);background:var(--paper)}
.button-amazon-icon:hover{background:#fff3d6;color:#c97500;border-color:#e68a00}
:root[data-theme="dark"] .button-amazon-icon{color:#ffa724}
:root[data-theme="dark"] .button-amazon-icon:hover{background:#3a2c14;color:#ffbe59;border-color:#ffa724}
.affiliate-box{display:flex;flex-direction:column;gap:5px;padding:12px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;margin-top:12px}
.affiliate-badge{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;color:var(--ink);width:fit-content}
.affiliate-badge .icon{width:16px;height:16px;color:#e68a00}
.affiliate-note{font-size:.73rem;color:var(--bark);margin:0;line-height:1.45}
.affiliate-note a{color:var(--terra);font-weight:600}

/* ---- The Real Story: 4 Pillars of Truth ---- */
.real-story-box{margin:18px 0;padding:20px;border-radius:22px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.real-story-head{margin-bottom:14px}
.real-story-head h2,.real-story-head h3{font-size:1.2rem;margin-top:4px}
.real-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:680px){.real-story-grid{grid-template-columns:1fr}}
.rs-item{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:16px;background:var(--paper-2);border:1px solid var(--line)}
.rs-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rs-title{font-size:.72rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--bark)}
.rs-val{font-size:1.02rem;font-weight:700;line-height:1.3}
.rs-desc{font-size:.78rem;color:var(--bark);line-height:1.45;margin:0}
.sugar-cube-count{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:8px;background:var(--butter);color:var(--butter-ink);font-weight:750;font-size:.82rem}
.rs-cubes-vis{margin-top:4px}
.rs-status{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:8px}
.rs-status.has-allergens{background:var(--amber-soft);color:var(--amber)}
.rs-status.clean-allergens{background:var(--terra-soft);color:var(--terra)}

/* ---- Home features strip ---- */
.welcome-features-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.wf-item{display:inline-flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:.78rem;color:var(--ink)}
.wf-item b{font-weight:700}
.wf-item small{color:var(--bark);font-size:.7rem}
.wf-item .icon{width:16px;height:16px;color:var(--terra);flex-shrink:0}
/* ---- skeleton ---- */
.sk{display:block;background:linear-gradient(90deg,var(--paper-2) 0,var(--line) 45%,var(--paper-2) 90%);background-size:220% 100%;animation:shimmer 1.4s linear infinite;border-radius:10px}
@keyframes shimmer{from{background-position:120% 0}to{background-position:-120% 0}}
.sk-img{width:66px;height:76px;border-radius:13px;flex-shrink:0}.sk-lines{display:flex;flex-direction:column;gap:9px;flex:1;min-width:0}
.sk-l1{height:15px;width:72%}.sk-l2{height:12px;width:48%}.sk-l3{height:12px;width:60%}
.sk-hero{display:flex;gap:16px;align-items:center;margin:18px 0 14px;text-align:left}.sk-hero .sk-img{width:92px;height:92px}
.sk-chips{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.sk-chips .sk{width:92px;height:30px;border-radius:9px}
/* ---- home extras ---- */
.personalize{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:20px;padding:18px 22px;border-radius:22px;background:var(--terra-soft);border:1px solid var(--tan)}
.pz-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--paper);color:var(--terra)}.pz-ico .icon{width:23px;height:23px}
.personalize h3{font-size:1.05rem}.personalize p{font-size:.82rem;color:var(--bark);margin-top:4px}
.personalize-mini h2{font-size:1.1rem;display:flex;align-items:center;gap:8px}.personalize-mini h2 .icon{color:var(--terra)}.personalize-mini p{font-size:.82rem;color:var(--bark);margin:6px 0 14px}
.tip-card{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:22px;background:var(--butter);color:var(--butter-ink)}
.tip-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#ffffff80;flex-shrink:0}:root[data-theme="dark"] .tip-ico{background:#ffffff14}.tip-ico .icon{width:22px;height:22px}
.tip-card .eyebrow{color:var(--butter-ink)}.tip-card h3{margin-top:4px;font-size:1.05rem}.tip-card p{font-size:.84rem;margin-top:5px;line-height:1.6}
.try-row{margin-top:16px}.try-label{display:block;font-size:.72rem;color:var(--bark);margin-bottom:8px}
.try-chips{display:flex;flex-wrap:wrap;gap:6px}.try-chips .fchip{min-height:40px;font-size:.74rem;padding:7px 12px}
.t-peach{background:var(--peach);color:var(--peach-ink)}
.tip-section{margin-top:20px}
@media(max-width:600px){
 .personalize{grid-template-columns:auto minmax(0,1fr);padding:16px 18px}.personalize .button{grid-column:1 / -1;width:100%}
 .tip-card{padding:16px}
}
/* ---- basket / insights mix ---- */
.basket{margin-top:20px}
.bk-bar{display:flex;gap:3px;height:46px;border-radius:13px;overflow:hidden}
.bk-seg{display:flex;align-items:center;justify-content:center;gap:6px;min-width:40px;font-size:.8rem;font-weight:700}.bk-seg b{font-weight:850;font-size:.95rem}
.bk-notes{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:12px 0}.bk-notes li{padding:5px 10px;border-radius:9px;background:var(--lv-med-bg);color:var(--lv-med-fg);font-size:.76rem;font-weight:650}
/* ---- share ---- */
.share-preview{display:block;width:100%;max-height:50vh;object-fit:contain;border-radius:16px;background:#0e2a1f;margin-bottom:4px}
.share-input{margin-top:14px}
.about-text ul{margin:10px 0 0;padding-left:18px;font-size:.85rem;color:var(--bark)}.about-text li{margin-top:6px}

/* =====================================================================
   FoodScan 7.1: the beauty layer.
   Warm living background, glass header, floating nav with a raised Scan button, an animated scanner hero,
   grade-tinted result pages, sugar cubes, illustrated empty states, and the demo page.
   Every animation is decoration only and switches off under prefers-reduced-motion.
   ===================================================================== */

:root[data-theme="dark"]{--mint:#1f3d2f;--sun:#3d321d;--shadow-card:0 1px 2px #0000002b,0 14px 34px -14px #00000080;--shadow-lift:0 2px 4px #0000002b,0 22px 48px -16px #000000a6}
h1,h2,h3,.brand,.stat-num,.light-val,.portion-top output,.tile-count{font-family:var(--font-display)}
body{background:
 radial-gradient(900px 520px at 6% -6%,var(--mint) 0%,transparent 62%),
 radial-gradient(760px 460px at 100% 2%,var(--sun) 0%,transparent 58%),
 var(--cream);background-repeat:no-repeat;min-height:100vh}
/* ---- header and navigation ---- */
.site-header{background:color-mix(in srgb,var(--paper) 78%,transparent);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid #1c392710}
:root[data-theme="dark"] .site-header{border-bottom-color:#ffffff12}
.brand-mark{background:linear-gradient(145deg,#2f7a54,#174731);box-shadow:0 6px 16px -6px #174731aa,inset 0 1px 0 #ffffff33}
:root[data-theme="dark"] .brand-mark{background:linear-gradient(145deg,#d3f19a,#9fd04a)}
.main-nav{background:color-mix(in srgb,var(--paper-2) 80%,transparent)}
.main-nav a{transition:background .18s,color .18s}
.main-nav a:hover:not([aria-current="page"]){background:color-mix(in srgb,var(--paper) 70%,transparent);color:var(--ink)}
.header-how{display:none;align-items:center;gap:6px;font-size:.8rem;font-weight:650;text-decoration:none;color:var(--terra);padding:9px 13px;border-radius:12px;white-space:nowrap}
.header-how:hover{background:var(--terra-soft)}
@media(min-width:900px){.header-how{display:inline-flex}}
@media(min-width:821px){.site-header{position:sticky;top:0;z-index:60}html{scroll-padding-top:90px}}
.profile-strip{background:transparent}
@media(max-width:820px){
 .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 8px;border-radius:26px;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border:1px solid #1c39271a;box-shadow:0 12px 40px -10px #11281a55;overflow:visible}
 :root[data-theme="dark"] .bottom-nav{border-color:#ffffff1a}
 .bottom-nav>a,.bottom-nav>.nav-scan-slot{min-height:54px}
 .nav-scan-slot{display:grid;place-items:start center;position:relative}
 .nav-scan{position:absolute;top:-26px;width:64px;height:64px;border:0;border-radius:23px;display:grid;place-items:center;color:#fff;cursor:pointer;background:linear-gradient(150deg,#38905f,#174731);box-shadow:0 14px 28px -8px #174731cc,inset 0 1px 0 #ffffff44;transition:transform .18s var(--ease)}
 :root[data-theme="dark"] .nav-scan{background:linear-gradient(150deg,#d9f4a6,#9fd04a);color:#142b1c;box-shadow:0 14px 28px -8px #9fd04a66,inset 0 1px 0 #ffffff88}
 .nav-scan:active{transform:scale(.93)}
 .nav-scan .icon{width:30px;height:30px}
 .nav-scan::after{content:"";position:absolute;inset:-6px;border-radius:28px;border:2px solid #38905f55;animation:ringPulse 2.6s ease-out infinite}
 :root[data-theme="dark"] .nav-scan::after{border-color:#d9f4a655}
 .nav-scan-label{position:absolute;bottom:2px;font-size:.62rem;font-weight:700;color:var(--terra)}
 .scan-fab{display:none}
 .toast{bottom:calc(112px + env(safe-area-inset-bottom,0px))}
 body{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
}
@keyframes ringPulse{0%{transform:scale(.92);opacity:.9}70%,100%{transform:scale(1.22);opacity:0}}
/* ---- buttons and cards ---- */
.button-primary,.button-dark{background:linear-gradient(180deg,#2f7a54 0%,#225b40 100%);border-color:#1b4a34;box-shadow:0 8px 18px -8px #174731cc,inset 0 1px 0 #ffffff30;transition:transform .15s var(--ease),box-shadow .2s,filter .2s}
:root[data-theme="dark"] .button-primary,:root[data-theme="dark"] .button-dark{background:linear-gradient(180deg,#d5f2a0,#a9d85c);border-color:#a9d85c;box-shadow:0 8px 18px -8px #a9d85c66,inset 0 1px 0 #ffffff88}
@media(hover:hover){.button-primary:hover:not(:disabled),.button-dark:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px -8px #174731dd,inset 0 1px 0 #ffffff30;filter:none}}
.button-outline{background:color-mix(in srgb,var(--paper) 92%,transparent)}
.card-sec,.food-card,.list-panel,.form-card,.stat-card,.tile,.about-card,.lookup-card,.trip-items{box-shadow:var(--shadow-card)}
@media(hover:hover){.food-card{transition:transform .22s var(--ease),box-shadow .22s}.food-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}}
.food-card,.card-sec{border-color:#1c39270f}
:root[data-theme="dark"] .food-card,:root[data-theme="dark"] .card-sec{border-color:#ffffff12}
/* ---- hero ---- */
.welcome-card{border:0;background:
 radial-gradient(620px 420px at 82% 8%,#3a9566 0%,transparent 62%),
 radial-gradient(520px 420px at 0% 108%,#1f6a49 0%,transparent 60%),
 linear-gradient(160deg,#164734,#0f2f22);box-shadow:0 34px 70px -28px #0c2b1e;overflow:hidden}
.welcome-photo{inset:0 0 0 38%;opacity:.5}
.welcome-photo::after{background:linear-gradient(90deg,#164734 0%,#164734cc 30%,transparent 80%),linear-gradient(0deg,#0f2f22 0%,transparent 60%)}
.welcome-content h1{font-weight:780;letter-spacing:-.05em}
.welcome-content h1 em{background:linear-gradient(90deg,#e8f7b8,#b9e36a);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:500}
.hero-art{position:absolute;z-index:0;right:34px;top:50%;width:min(300px,34%);height:300px;transform:translateY(-50%);pointer-events:none}
.ha-card{position:absolute;inset:34px 18px 34px 18px;border-radius:26px;background:#ffffffeb;color:#143a2a;display:grid;place-items:center;padding:22px;box-shadow:0 30px 60px -20px #04140c99;transform:rotate(4deg);animation:haFloat 6s ease-in-out infinite}
.ha-card .barcode-art{width:100%;height:100%;max-height:150px;display:block}
.ha-laser{position:absolute;left:12px;right:12px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#e5484d,transparent);box-shadow:0 0 14px 3px #e5484d88;animation:haLaser 2.6s ease-in-out infinite}
.ha-chip{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:99px;font-size:.78rem;font-weight:700;white-space:nowrap;box-shadow:0 14px 28px -10px #04140c88;opacity:0;animation:haChip 9s ease-in-out infinite}
.ha-chip i{width:9px;height:9px;border-radius:50%;background:currentColor}
.ha-chip.c1{left:-26px;top:20px;background:#fde8e4;color:#8f2418;animation-delay:.6s}
.ha-chip.c2{right:-18px;top:92px;background:#e2f4e2;color:#1b6334;animation-delay:2.6s}
.ha-chip.c3{left:-14px;bottom:44px;background:#fff0d2;color:#6f4300;animation-delay:4.6s}
.ha-chip.c4{right:-10px;bottom:6px;background:#fff;color:#143a2a;animation-delay:6.4s}
@keyframes haFloat{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(2.5deg) translateY(-8px)}}
@keyframes haLaser{0%,100%{top:22%}50%{top:74%}}
@keyframes haChip{0%{opacity:0;transform:translateY(10px) scale(.9)}8%,30%{opacity:1;transform:none}38%,100%{opacity:0;transform:translateY(-6px)}}
@media(max-width:1000px){.hero-art{width:min(230px,38%);right:14px;height:240px}.ha-chip{font-size:.7rem;padding:6px 10px}}
@media(max-width:820px){.hero-art{right:10px;top:18px;transform:none;width:140px;height:150px;opacity:.9}.ha-card{inset:10px;padding:12px;border-radius:18px}.ha-chip.c3,.ha-chip.c4{display:none}.ha-chip.c1{left:-30px;top:96px}.ha-chip.c2{right:-4px;top:2px}}
@media(max-width:600px){.hero-art{width:118px;height:128px;right:6px;top:14px;opacity:.85}.welcome-content h1{max-width:12ch}}
.scan-now{position:relative;overflow:visible;background:linear-gradient(180deg,#e0f3b4,#c7e78a);border-color:#e9f7c8;box-shadow:0 14px 30px -10px #0a2217cc}
.scan-now::after{content:"";position:absolute;inset:-5px;border-radius:21px;border:2px solid #d5e9ae88;animation:ringPulse 2.8s ease-out infinite;pointer-events:none}
.hero-demo{display:inline-flex;align-items:center;gap:7px;margin-top:6px;color:#e2f2cc;font-size:.78rem;font-weight:650;text-decoration:none;min-height:40px;padding:5px 0}
.hero-demo:hover{color:#fff;text-decoration:underline}.hero-demo .icon{width:16px;height:16px}
.scan-card{background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px)}
/* ---- result page atmosphere: the whole card is tinted by the source grade ---- */
.pv-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--grade) 13%,var(--paper)) 0%,var(--paper) 52%);border-color:color-mix(in srgb,var(--grade) 22%,var(--line))}
.pv-hero::before{content:"";position:absolute;right:-70px;top:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--grade) 20%,transparent),transparent 68%);pointer-events:none}
.pv-hero>*{position:relative}
[data-grade="A"]{--grade:#038141}[data-grade="B"]{--grade:#85bb2f}[data-grade="C"]{--grade:#e6b800}[data-grade="D"]{--grade:#ee8100}[data-grade="E"]{--grade:#d6370c}
.pack{width:100%;height:100%;display:block;filter:drop-shadow(0 8px 10px #0000001f)}
.product-image .image-fallback{position:absolute;inset:0;display:grid;place-items:center;color:inherit}
.product-image .image-fallback .pack{width:70%;height:84%}
.fc-fallback .pack{width:76%;height:86%}.swap7-img .pack{width:82%;height:90%}.swap7-img{background:linear-gradient(160deg,#fff,#f2f6ee)}
.fc-thumb{background:linear-gradient(160deg,#fff,#f1f5ec)}.fc-fallback{background:transparent}
:root[data-theme="dark"] .fc-thumb,:root[data-theme="dark"] .swap7-img{background:linear-gradient(160deg,#ffffff1f,#ffffff0d)}
/* ---- sugar cubes ---- */
.cubes{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:2px 0 14px}
.cubes i{width:22px;height:22px;border-radius:6px;background:linear-gradient(145deg,#fff,#eef0ea);box-shadow:inset -2px -3px 0 #d7dbd1,0 3px 6px -2px #00000033;position:relative;animation:cubePop .45s var(--ease) both;animation-delay:calc(var(--i)*28ms)}
.cubes i::after{content:"";position:absolute;left:4px;top:4px;width:6px;height:3px;border-radius:2px;background:#fff;opacity:.9}
:root[data-theme="dark"] .cubes i{background:linear-gradient(145deg,#f4f6ef,#d9ddd2);box-shadow:inset -2px -3px 0 #b9bdb0,0 3px 6px -2px #00000066}
.cubes-more{font-size:.8rem;font-weight:800;color:var(--terra);padding-left:4px}
@keyframes cubePop{from{transform:translateY(-14px) scale(.4);opacity:0}to{transform:none;opacity:1}}
.cube-cap{font-size:.78rem;color:var(--bark);margin:-6px 0 14px}
/* ---- empty states ---- */
.empty{background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--paper) 60%,var(--paper-2)));border-style:solid;border-color:var(--line)}
.empty-art{width:min(210px,70%);height:auto;margin:0 auto 14px;display:block;animation:artBob 5s ease-in-out infinite}
@keyframes artBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* ---- motion: pages arrive, they do not just appear ---- */
main.enter>.container>*,main.enter>.pv>*,main.enter .pv-grid>*,main.enter .home-shell>*{animation:riseIn .55s var(--ease) both}
main.enter>.container>*:nth-child(2),main.enter .home-shell>*:nth-child(2){animation-delay:.05s}
main.enter>.container>*:nth-child(3),main.enter .home-shell>*:nth-child(3){animation-delay:.1s}
main.enter>.container>*:nth-child(4),main.enter .home-shell>*:nth-child(4){animation-delay:.15s}
main.enter>.container>*:nth-child(5),main.enter .home-shell>*:nth-child(5){animation-delay:.2s}
main.enter>.container>*:nth-child(n+6),main.enter .home-shell>*:nth-child(n+6){animation-delay:.25s}
main.enter .qr{animation:riseIn .5s var(--ease) both;animation-delay:calc(var(--q,0)*55ms + .25s)}
main.enter .light{animation:riseIn .5s var(--ease) both}
main.enter .light:nth-child(2){animation-delay:.06s}main.enter .light:nth-child(3){animation-delay:.12s}main.enter .light:nth-child(4){animation-delay:.18s}
@keyframes riseIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* ---- loading: a barcode that is being read ---- */
.reading{position:relative;width:min(220px,70%);margin:20px auto 6px;color:var(--ink);overflow:hidden;border-radius:14px;padding:10px 14px;background:var(--paper-2)}
.reading .barcode-art{width:100%;height:56px;display:block;opacity:.85}
.reading::after{content:"";position:absolute;left:8px;right:8px;top:8px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#e5484d,transparent);box-shadow:0 0 12px 2px #e5484d77;animation:readLaser 1.4s ease-in-out infinite alternate}
@keyframes readLaser{from{top:8px}to{top:calc(100% - 11px)}}
/* ---- greeting ---- */
.greeting{margin:2px 2px 16px}.greeting h2{font-size:clamp(1.25rem,3.4vw,1.6rem);letter-spacing:-.035em}.greeting p{color:var(--bark);font-size:.88rem;margin-top:3px}
/* ---- demo page ---- */
.demo{display:grid;gap:clamp(34px,6vw,64px)}
.demo section{min-width:0}
.demo-hero{position:relative;overflow:hidden;border-radius:32px;color:#f4faea;padding:clamp(26px,5vw,56px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;align-items:center;background:
 radial-gradient(640px 420px at 88% 0%,#3a9566 0%,transparent 62%),radial-gradient(520px 420px at 0% 108%,#1f6a49 0%,transparent 60%),linear-gradient(160deg,#164734,#0f2f22);box-shadow:0 40px 80px -34px #0c2b1e}
.demo-hero .eyebrow{color:#d9efb8}
.demo-hero h1{font-size:clamp(2.1rem,5.6vw,3.9rem);letter-spacing:-.055em;line-height:1.02;margin:14px 0 16px;font-weight:790}
.demo-hero h1 em{background:linear-gradient(90deg,#e8f7b8,#b9e36a);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:500}
.demo-hero p.lead{font-size:clamp(.98rem,2vw,1.15rem);color:#d3e6d4;max-width:46ch;line-height:1.6}
.demo-hero .button-row{margin-top:26px}
.demo-hero .button-ghost{color:#e9f5da;border-color:#ffffff30}
.demo-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding:0;list-style:none}
.demo-facts li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:#ffffff14;font-size:.8rem;font-weight:650;color:#e5f2d8}
.demo-facts .icon{width:15px;height:15px;color:#c6ec82}
/* animated phone */
.phone{position:relative;width:min(272px,100%);aspect-ratio:272/560;margin-inline:auto;border-radius:44px;background:#0b1712;padding:11px;box-shadow:0 40px 70px -24px #000000aa,inset 0 0 0 2px #2b4337;transform:rotate(2deg)}
.phone::before{content:"";position:absolute;top:18px;left:50%;width:86px;height:22px;border-radius:14px;background:#0b1712;transform:translateX(-50%);z-index:5}
.screen{position:relative;height:100%;border-radius:34px;overflow:hidden;background:var(--cream);color:var(--ink)}
.scene{position:absolute;inset:0;padding:42px 14px 14px;opacity:0;animation:sceneCycle 18s infinite;display:flex;flex-direction:column;gap:10px;font-size:.78rem}
.scene:nth-child(1){animation-delay:0s}.scene:nth-child(2){animation-delay:4.5s}.scene:nth-child(3){animation-delay:9s}.scene:nth-child(4){animation-delay:13.5s}
@keyframes sceneCycle{0%{opacity:0;transform:translateY(12px)}4%,23%{opacity:1;transform:none}27%,100%{opacity:0;transform:translateY(-10px)}}
.scene h4{font-family:var(--font-display);font-size:1.02rem;letter-spacing:-.03em;line-height:1.2}
.scene .sc-cap{font-size:.68rem;color:var(--bark);margin-top:-4px}
.scene-scan{background:linear-gradient(170deg,#173f30,#0c241a);color:#f1f8e8;align-items:center;justify-content:center;text-align:center}
.scene-scan .sc-frame{position:relative;width:78%;aspect-ratio:1.5;border-radius:16px;display:grid;place-items:center;background:#fff;color:#143a2a;padding:14px;box-shadow:0 20px 40px -14px #000a}
.scene-scan .sc-frame .barcode-art{width:100%;height:100%}
.scene-scan .sc-frame::after{content:"";position:absolute;left:8px;right:8px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#e5484d,transparent);box-shadow:0 0 12px 2px #e5484d88;animation:haLaser 1.6s ease-in-out infinite}
.sc-row{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:12px;font-weight:700;font-size:.74rem;background:var(--paper)}
.sc-row i{width:9px;height:9px;border-radius:50%;background:currentColor;flex-shrink:0}.sc-row span{margin-left:auto;font-weight:550;font-size:.66rem;opacity:.9}
.sc-row.r{background:var(--lv-high-bg);color:var(--lv-high-fg)}.sc-row.a{background:var(--lv-med-bg);color:var(--lv-med-fg)}.sc-row.g{background:var(--lv-low-bg);color:var(--lv-low-fg)}
.sc-head{display:flex;gap:10px;align-items:center}.sc-head .pack{width:50px;height:58px;flex-shrink:0}
.sc-slider{position:relative;height:8px;border-radius:6px;background:var(--line);margin:12px 4px 4px}
.sc-slider::before{content:"";position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--terra);animation:scGrow 4.2s ease-in-out infinite}
.sc-slider::after{content:"";position:absolute;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--terra);border:3px solid #fff;box-shadow:0 4px 10px #0003;animation:scThumb 4.2s ease-in-out infinite}
@keyframes scGrow{0%,12%{width:7%}60%,100%{width:62%}}
@keyframes scThumb{0%,12%{left:7%}60%,100%{left:62%}}
.sc-amount{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;font-size:.8rem}.sc-amount b{font-family:var(--font-display);font-size:1.2rem;color:var(--terra)}
.sc-cubes{display:flex;flex-wrap:wrap;gap:4px}.sc-cubes i{width:15px;height:15px;border-radius:4px;background:linear-gradient(145deg,#fff,#eef0ea);box-shadow:inset -1.5px -2px 0 #d7dbd1,0 2px 4px -1px #0003;animation:cubePop .4s var(--ease) both;animation-delay:calc(var(--i)*70ms + 1.3s)}
.sc-swap{display:flex;gap:9px;align-items:center;padding:9px;border-radius:14px;background:var(--paper-2);border:1px solid var(--line)}.sc-swap .pack{width:34px;height:40px;flex-shrink:0}.sc-swap strong{font-size:.76rem;line-height:1.25;display:block}.sc-swap small{font-size:.62rem;color:var(--lv-low-fg);font-weight:700}
.phone-dots{display:flex;justify-content:center;gap:7px;margin-top:20px}.phone-dots i{width:8px;height:8px;border-radius:50%;background:#ffffff40;animation:dotCycle 18s infinite}
.phone-dots i:nth-child(1){animation-delay:0s}.phone-dots i:nth-child(2){animation-delay:4.5s}.phone-dots i:nth-child(3){animation-delay:9s}.phone-dots i:nth-child(4){animation-delay:13.5s}
@keyframes dotCycle{0%{background:#ffffff40;width:8px}3%,23%{background:#c6ec82;width:22px}27%,100%{background:#ffffff40;width:8px}}
.phone-wrap{min-width:0;display:flex;flex-direction:column;align-items:center}
.sec-title{text-align:center;max-width:62ch;margin:0 auto 26px}.sec-title h2{font-size:clamp(1.65rem,4vw,2.6rem);letter-spacing:-.05em;line-height:1.08}.sec-title h2 em{color:var(--terra)}.sec-title p{color:var(--bark);margin-top:12px;font-size:1rem}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:step}
.step{position:relative;padding:26px 24px 24px;border-radius:26px;background:var(--paper);border:1px solid #1c39270f;box-shadow:var(--shadow-card);overflow:hidden;min-width:0}
.step::before{counter-increment:step;content:counter(step);position:absolute;right:16px;top:-8px;font-family:var(--font-display);font-weight:800;font-size:5.6rem;line-height:1;color:var(--terra);opacity:.1}
.step .step-ico{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--terra-soft);color:var(--terra);margin-bottom:16px}.step .step-ico .icon{width:28px;height:28px}
.step h3{font-size:1.25rem;letter-spacing:-.035em}.step p{color:var(--bark);font-size:.9rem;margin-top:8px;line-height:1.6}
.step .time{display:inline-flex;margin-top:14px;padding:5px 11px;border-radius:99px;background:var(--lilac);color:var(--lilac-ink);font-size:.72rem;font-weight:750}
.live-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin-bottom:22px}
.demo-pick{display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;border-radius:18px;border:1.5px solid var(--line);background:var(--paper);min-height:56px;font-weight:700;font-size:.88rem;transition:transform .16s var(--ease),border-color .16s,box-shadow .16s;text-align:left}
.demo-pick .barcode-art{width:44px;height:26px;color:var(--ink);opacity:.8;flex-shrink:0}
.demo-pick small{display:block;font-weight:550;color:var(--bark);font-size:.7rem}
.demo-pick[aria-pressed="true"]{border-color:var(--terra);background:var(--terra-soft);box-shadow:0 8px 20px -10px #174731aa}
@media(hover:hover){.demo-pick:hover{transform:translateY(-2px);border-color:var(--tan)}}
.live-stage{border-radius:30px;padding:clamp(14px,3vw,26px);background:color-mix(in srgb,var(--paper-2) 70%,transparent);border:1px solid #1c39270f;min-height:300px}
.live-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.live-col{display:grid;gap:16px;min-width:0}
.live-head{display:flex;gap:16px;align-items:center;padding:18px;border-radius:22px;background:var(--paper);border:1px solid #1c39270f;box-shadow:var(--shadow-card);margin-bottom:16px}
.live-head .ph-visual{width:96px;height:106px;flex-shrink:0;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#fff,#f1f5ec);display:grid;place-items:center}.live-head .pack{width:80%;height:90%}
.live-head h3{font-size:1.4rem;letter-spacing:-.04em}.live-head p{color:var(--bark);font-size:.82rem;margin-top:3px}
.live-scanning{display:grid;place-items:center;gap:14px;min-height:260px;text-align:center;color:var(--bark)}
.live-scanning .reading{width:min(260px,80%)}
.live-note{margin-top:14px;text-align:center;font-size:.78rem;color:var(--bark)}
.offer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.offer-card{padding:22px;border-radius:24px;background:var(--paper);border:1px solid #1c39270f;box-shadow:var(--shadow-card);transition:transform .2s var(--ease),box-shadow .2s;min-width:0}
@media(hover:hover){.offer-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}}
.offer-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;margin-bottom:14px}.offer-ico .icon{width:24px;height:24px}
.offer-card:nth-child(4n+1) .offer-ico{background:var(--sage);color:var(--sage-ink)}.offer-card:nth-child(4n+2) .offer-ico{background:var(--butter);color:var(--butter-ink)}.offer-card:nth-child(4n+3) .offer-ico{background:var(--peach);color:var(--peach-ink)}.offer-card:nth-child(4n+4) .offer-ico{background:var(--lilac);color:var(--lilac-ink)}
.offer-card h3{font-size:1.06rem;letter-spacing:-.025em}.offer-card p{font-size:.84rem;color:var(--bark);margin-top:7px;line-height:1.6}
.vs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;align-items:stretch}
.vs-card{padding:24px;border-radius:26px;border:1px solid #1c39270f;box-shadow:var(--shadow-card);min-width:0}
.vs-old{background:var(--paper-2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
.vs-old small,.vs-new small{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--bark)}
.vs-old .num{font-family:var(--font-display);font-size:4.4rem;font-weight:800;letter-spacing:-.06em;line-height:1;color:var(--bark)}.vs-old .num span{font-size:1.4rem}
.vs-old .verdict-word{font-weight:750;color:var(--bark);font-size:1.1rem}.vs-old p{font-size:.84rem;color:var(--bark);max-width:30ch}
.vs-old .q{margin-top:8px;padding:8px 14px;border-radius:99px;border:1.5px dashed var(--tan);font-weight:700;font-size:.82rem;color:var(--bark)}
.vs-new{background:var(--paper)}.vs-new h3{font-size:1.2rem;margin:6px 0 14px}
.vs-new .sc-row{border:1px solid #1c39270f}
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.trust-item{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:20px;background:var(--paper);border:1px solid #1c39270f;box-shadow:var(--shadow-card);font-weight:700;font-size:.88rem;min-width:0}
.trust-item .icon{width:24px;height:24px;color:var(--terra);flex-shrink:0}.trust-item small{display:block;font-weight:550;color:var(--bark);font-size:.72rem;margin-top:2px}
.faq{display:grid;gap:10px;max-width:760px;margin-inline:auto}
.faq details{border-radius:18px;background:var(--paper);border:1px solid #1c39270f;box-shadow:var(--shadow-card);overflow:hidden}
.faq summary{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:17px 20px;cursor:pointer;list-style:none;font-weight:720;font-size:.98rem;min-height:56px}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:9px;height:9px;border-right:2.5px solid var(--terra);border-bottom:2.5px solid var(--terra);transform:rotate(45deg);transition:transform .2s;flex-shrink:0;margin-top:-3px}.faq details[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.faq details>div{padding:0 20px 18px;color:var(--bark);font-size:.9rem;line-height:1.7}
.demo-cta{text-align:center;padding:clamp(30px,6vw,60px) 22px;border-radius:32px;color:#f4faea;background:radial-gradient(520px 340px at 50% 0%,#3a9566 0%,transparent 66%),linear-gradient(160deg,#164734,#0f2f22);box-shadow:0 40px 80px -34px #0c2b1e}
.demo-cta h2{font-size:clamp(1.8rem,5vw,3rem);letter-spacing:-.055em;line-height:1.05;font-weight:790}.demo-cta h2 em{background:linear-gradient(90deg,#e8f7b8,#b9e36a);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:500}
.demo-cta p{color:#cfe3d2;margin:14px auto 0;max-width:44ch}.demo-cta .button-row{justify-content:center;margin-top:26px}.demo-cta .button-ghost{color:#e9f5da;border-color:#ffffff30}
.demo-cta .button-primary{background:linear-gradient(180deg,#e0f3b4,#c7e78a);color:#143a28;border-color:#e9f7c8}
@media(max-width:980px){.demo-hero{grid-template-columns:minmax(0,1fr)}.live-grid{grid-template-columns:minmax(0,1fr)}.offer{grid-template-columns:repeat(2,minmax(0,1fr))}.trust{grid-template-columns:repeat(2,minmax(0,1fr))}.vs{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.steps{grid-template-columns:minmax(0,1fr)}.offer{grid-template-columns:minmax(0,1fr)}.demo-hero{border-radius:26px}.phone{transform:none}.step::before{font-size:4.4rem}}
@media(max-width:420px){.trust{grid-template-columns:minmax(0,1fr)}}
main.enter .pv-col>*{animation:riseIn .55s var(--ease) both}
main.enter .pv-col>*:nth-child(2){animation-delay:.08s}main.enter .pv-col>*:nth-child(3){animation-delay:.16s}
.live-stage.pop{animation:riseIn .5s var(--ease) both}
/* ---- 7.1 polish pass ---- */
.welcome-photo{inset:0 0 0 30%;opacity:.6;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 55%);mask-image:linear-gradient(90deg,transparent 0,#000 55%)}
.welcome-photo::after{background:linear-gradient(0deg,#0f2f22 0%,transparent 55%)}
@media(max-width:820px){.hero-art{right:10px;top:12px;width:124px;height:132px;opacity:.3}.ha-chip{display:none}}
.cubes i,.sc-cubes i{background:linear-gradient(145deg,#fffdf6,#f3edde);box-shadow:inset 0 0 0 1px #e4dcc7,inset -2px -3px 0 #e2dac6,0 3px 6px -2px #00000033}
:root[data-theme="dark"] .cubes i{background:linear-gradient(145deg,#fbf7ea,#ddd5bf);box-shadow:inset 0 0 0 1px #cfc6ad,inset -2px -3px 0 #c3baa0,0 3px 6px -2px #00000066}
@media(max-width:700px){
 .offer{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .offer-card{padding:16px 15px;border-radius:20px}.offer-ico{width:40px;height:40px;border-radius:13px;margin-bottom:10px}.offer-ico .icon{width:21px;height:21px}
 .offer-card h3{font-size:.94rem}.offer-card p{font-size:.76rem;line-height:1.5}
 .trust{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trust-item{padding:13px 14px;font-size:.8rem;gap:10px}.trust-item small{font-size:.66rem}.trust-item .icon{width:20px;height:20px}
}

/* FoodScan 7.4.1 - shopper-first, accurate sponsored search labels */
.commerce-prompt{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;min-width:0;padding:14px 16px;border:1px solid var(--line);background:var(--paper-2);border-radius:16px}
.commerce-prompt>div{min-width:0;flex:1 1 230px}.commerce-prompt strong{font-size:.87rem}.commerce-prompt p{font-size:.75rem;color:var(--bark);margin:4px 0 0;line-height:1.5}
.commerce-prompt .button{min-width:0;flex:0 1 auto;max-width:100%;font-size:.77rem;padding:10px 13px;text-align:center;overflow-wrap:anywhere}
.lr-commerce{display:inline-block;margin-top:8px;font-size:.75rem;font-weight:650;color:var(--terra);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.associate-disclosure{display:inline-block;margin-top:4px;font-size:.69rem}
.swap7-actions{flex-wrap:wrap;align-items:center;justify-content:flex-start}.swap7-actions .button{max-width:100%;min-width:0;white-space:normal;text-align:center}
@media(max-width:600px){.commerce-prompt{padding:12px;gap:9px}.commerce-prompt .button{width:100%;flex:1 1 100%}.swap7-actions .button{flex:1 1 42%}}

.pv-hero .commerce-prompt{grid-column:1 / -1}
.lr-commerce:focus-visible,.commerce-prompt a:focus-visible{outline:3px solid var(--terra);outline-offset:3px}

/* FoodScan v8 - Grocery Trip Mode. Purposeful, touch-first, no sticky obstructions. */
.g8, .g8 *, .g8-next, .g8-next * {box-sizing:border-box;min-width:0}
.g8 {padding-block:1.4rem 4rem;--g8-green:#164c3b;--g8-cream:#f1f5e9;--g8-peach:#ffe8d5;--g8-muted:#637369;--g8-ink:#16392f}
.g8 button,.g8-next button {font:inherit;cursor:pointer}
.g8 button:focus-visible,.g8 input:focus-visible,.g8 select:focus-visible,.g8-next button:focus-visible {outline:3px solid #e17b36;outline-offset:3px}
.g8 .g8-eyebrow,.g8-next .g8-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:800;line-height:1.5;color:#3d8562}
.g8-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.g8-title-row h1{font-size:clamp(2rem,5.5vw,3.3rem);letter-spacing:-.052em;line-height:1.06;margin:.4rem 0 .6rem}
.g8-title-row h1 em{font-family:Georgia,serif;font-weight:400;color:#4e8769}
.g8-lead{max-width:60ch;color:var(--muted,#6b716c);font-size:1rem;line-height:1.5}
.g8-title-mark{display:grid;place-items:center;width:5.5rem;height:5.5rem;border-radius:24px;background:#e4edda;color:#14563e;flex:none;transform:rotate(-7deg)}
.g8-title-mark svg{width:38px;height:38px;transform:rotate(7deg)}
.g8 .g8-primary,.g8-next .g8-primary{display:inline-flex;gap:.65rem;align-items:center;justify-content:center;background:#13533c;color:#fff!important;border:1px solid transparent;border-radius:15px;padding:.88rem 1.25rem;font-size:.92rem;font-weight:800;line-height:1.25;text-decoration:none;min-height:46px;max-width:100%;white-space:normal;text-align:center;box-shadow:0 7px 16px #102d211c;transition:transform .16s ease,background .16s ease}
.g8 .g8-primary:hover,.g8-next .g8-primary:hover{background:#0f402f;transform:translateY(-1px)}
.g8 .g8-primary svg,.g8-next .g8-primary svg{flex:none}
.g8 .g8-quiet,.g8-next .g8-quiet{display:inline-flex;gap:.5rem;align-items:center;justify-content:center;background:rgba(21,81,57,.08);color:var(--ink,#154d3b);border:1px solid #ccd8cc;border-radius:14px;padding:.85rem 1rem;font-size:.88rem;font-weight:750;min-height:46px;text-align:center;text-decoration:none;white-space:normal}
.g8-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,30%);position:relative;overflow:hidden;align-items:center;min-height:225px;margin:1.1rem 0 2.3rem;border-radius:28px;background:linear-gradient(115deg,#e7f3d8 0%,#f5faec 55%,#c9e9ca 100%);border:1px solid rgba(24,72,42,.08);box-shadow:0 16px 36px #16473013}
.g8-next-copy{position:relative;z-index:2;padding:clamp(1.1rem,3vw,2rem)}
.g8-next h2{font-size:clamp(1.4rem,3.1vw,2.25rem);line-height:1.12;letter-spacing:-.044em;color:#183f30;margin:.25rem 0 .6rem;max-width:23ch}
.g8-next p{color:#3d5d4c;margin:.2rem 0 1rem;font-size:.93rem;max-width:50ch;line-height:1.45}
.g8-button-line{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.g8-next-art{height:100%;display:grid;place-items:center;position:relative;isolation:isolate}
.g8-art-basket{display:grid;place-items:center;border-radius:32%;width:min(12vw,165px);height:min(12vw,165px);min-width:95px;min-height:95px;background:linear-gradient(145deg,#2d8961,#0f492f);color:#f1fbdd;transform:rotate(-10deg);box-shadow:20px 22px 25px #186d3e28}
.g8-art-basket svg{width:47%;height:47%;stroke-width:1.3}
.g8-art-orbit{position:absolute;inset:5% -10%;border:1px solid #39845536;border-radius:50%;transform:rotate(-20deg);z-index:-1}
.g8-art-orbit.o2{inset:15% -30%;transform:rotate(27deg)}
.g8-art-spark{color:#c07725;position:absolute;font-size:2rem;top:20%;left:10%}.g8-art-spark.b{color:#2e8161;top:69%;left:81%;font-size:1.4rem}
.g8-trip-overview{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.5rem 1.6rem;border-radius:25px;background:linear-gradient(115deg,#144c38 0%,#1d6a4c 100%);color:#fff;margin-bottom:1rem}
.g8-trip-overview .g8-overline{font-size:.72rem;letter-spacing:.13em;font-weight:800;color:#b5efc4}
.g8-trip-overview strong{display:block;font-size:clamp(1.25rem,3vw,2rem);letter-spacing:-.03em;line-height:1.2;margin:.25rem 0}
.g8-trip-overview small{color:#d6ecdd;font-size:.84rem}
.g8-overview-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.g8-trip-overview .g8-primary{background:#f6d0a7;color:#20442d!important;box-shadow:none}.g8-trip-overview .g8-primary:hover{background:#ffdbaa}
.g8-trip-overview .g8-quiet.light{color:#fff;background:#ffffff18;border-color:#ffffff59}
.g8-utility-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0 0 2rem}
.g8-utility-card{display:flex;align-items:center;gap:.9rem;min-width:0;background:var(--card,#fff);color:var(--ink,#1b2e24)!important;border:1px solid var(--line,#e1e4dc);text-decoration:none;border-radius:19px;padding:1.1rem;text-align:left;box-shadow:0 3px 16px #15422b0b}
.g8-utility-card>svg:first-child{display:block;flex:none;color:#24794a;width:24px;height:24px}
.g8-utility-card>svg:last-child{margin-left:auto;flex:none;color:#547b64}
.g8-utility-card span{display:grid;gap:.2rem;min-width:0}
.g8-utility-card strong{font-size:1rem;overflow-wrap:anywhere}.g8-utility-card small{display:block;color:var(--muted,#627266);font-size:.76rem;line-height:1.35}
.g8-list-header{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}
.g8-list-header h2{font-size:clamp(1.45rem,4vw,2rem);line-height:1.1;letter-spacing:-.04em;margin:.2rem 0 0}
.g8-text-button{display:inline-flex;align-items:center;gap:.3rem;background:none;border:0;padding:.45rem 0;color:#30835b;font-size:.85rem;font-weight:750;text-align:left;text-decoration:underline;text-underline-offset:3px}
.g8-add-form{display:flex;gap:.6rem;width:100%;background:var(--card,#fff);border-radius:17px;padding:.55rem;border:1px solid var(--line,#dbe2d7);margin-bottom:1.5rem}
.g8-add-form input{width:100%;min-width:0;flex:1;font-size:1rem;border:0;border-radius:10px;padding:.55rem .7rem;background:transparent;color:var(--ink,#183c2d);outline:none}
.g8-aisle{margin:1.3rem 0}
.g8-aisle-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:.25rem .2rem}
.g8-aisle-head>span{display:grid;place-items:center;width:32px;height:32px;background:#e4efd9;color:#18533c;border-radius:12px;flex:none}
.g8-aisle-head h3{font-size:1.08rem;font-weight:800;margin:0;line-height:1.3}.g8-aisle-head small{color:var(--muted,#64746d)}
.g8-aisle-head>.g8-text-button{margin-left:auto}
.g8-items{background:var(--card,#fff);border:1px solid var(--line,#e5e8e3);box-shadow:0 4px 20px #21453009;border-radius:19px;overflow:hidden}
.g8-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.9rem 1rem;border-bottom:1px solid var(--line,#e1e8df);min-width:0}
.g8-item:last-child{border-bottom:0}
.g8-checkbox{width:27px;height:27px;position:relative;display:grid;place-items:center;cursor:pointer;flex:none}
.g8-checkbox input{appearance:none;position:absolute;inset:0;width:27px;height:27px;border:2px solid #8eb99b;border-radius:9px;background:#fff;cursor:pointer;margin:0}
.g8-checkbox>span{pointer-events:none;display:none;color:#fff;z-index:1}.g8-checkbox input:checked{background:#238050;border-color:#238050}.g8-checkbox input:checked+span{display:block}.g8-checkbox:focus-within{outline:2px solid #d88b3e;outline-offset:3px;border-radius:8px}
.g8-item-info{overflow-wrap:anywhere}.g8-item-info>strong{font-size:.96rem;line-height:1.3;display:block}.g8-item-meta{font-size:.76rem;line-height:1.4;color:var(--muted,#67736c);margin-top:.2rem}.g8-item-note{font-size:.77rem;margin-top:.25rem;overflow-wrap:anywhere}
.g8-item-end{display:flex;gap:.45rem;align-items:center;flex-direction:column}
.g8-item-price{font-size:.77rem;white-space:normal;text-align:right;color:var(--muted,#68766b);max-width:120px}
.g8-item-actions{display:flex;gap:.1rem}
.g8-mini{background:transparent;border:0;display:grid;place-items:center;padding:.25rem;color:var(--ink,#214f3a);border-radius:9px;min-width:31px;min-height:36px;text-decoration:none}
.g8-mini:hover{background:#ebf4e9}
.g8-commerce{grid-column:2 / -1;margin-top:-.55rem}
.g8-commerce a{display:inline-flex;gap:.25rem;align-items:center;font-size:.76rem;color:#356d50;text-decoration:underline;text-underline-offset:2px}
.g8-item-done .g8-item-info>strong{text-decoration:line-through;text-decoration-color:#94b1a0;color:var(--muted,#69776c)}
.g8-trip-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;padding:1rem 0;font-size:.83rem;color:var(--muted,#627369)}
.g8-trip-foot>span{display:flex;align-items:center;gap:.4rem}
.g8-disclosure{font-size:.74rem;line-height:1.5;color:var(--muted,#627369)}
.g8-empty{display:flex;flex-direction:column;gap:.7rem;align-items:center;justify-content:center;text-align:center;border:1px dashed #9ecca8;background:var(--card,#fff);padding:2rem 1rem;border-radius:23px}
.g8-empty h3{font-size:1.25rem;margin:0}.g8-empty p{font-size:.9rem;max-width:43ch;margin:0;color:var(--muted,#68756e);line-height:1.5}
.g8-empty-icon{display:grid;place-items:center;width:67px;height:67px;border-radius:22px;background:#e5f0df;color:#2b754b}
.g8-suggest-list{max-height:55dvh;overflow-y:auto;border:1px solid var(--line,#dce5dc);border-radius:16px;margin:1rem 0;background:var(--card,#fff)}
.g8-suggest-row{display:flex;gap:.85rem;align-items:center;padding:.85rem 1rem;border-bottom:1px solid var(--line,#ebede9);cursor:pointer}.g8-suggest-row:last-child{border:0}.g8-suggest-row input{width:20px;height:20px;flex:none;accent-color:#1d6748}.g8-suggest-row span{display:grid;min-width:0}.g8-suggest-row strong{line-height:1.3;overflow-wrap:anywhere}.g8-suggest-row small{color:var(--muted,#6e7a70);font-size:.8rem}
.g8-dialog-form{display:grid;gap:.85rem;margin:1rem 0}.g8-dialog-form>label,.g8-form-columns label{display:grid;gap:.35rem;font-size:.84rem;font-weight:750}.g8-dialog-form input,.g8-dialog-form select,.g8-dialog-form textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid var(--line,#cbd6cd);border-radius:12px;background:var(--card,#fff);color:var(--ink,#183d2a);padding:.65rem .75rem;font:inherit}
.g8-form-columns{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.g8-low-pill{display:inline-flex;font-size:.72rem;color:#a8501c;background:#fff1df;border-radius:999px;padding:.25rem .6rem;font-weight:750}
.g8-stock-toggle{border:1px solid #a4c8a9;background:var(--card,#fff);color:var(--ink,#246048);padding:.5rem .6rem;min-height:42px;border-radius:11px;font-weight:700;display:inline-flex;align-items:center;gap:.25rem;font-size:.77rem}
.g8-stock-toggle[aria-pressed=true]{background:#dcefe1}
.g8-pantry-next{display:flex;align-items:center;gap:1rem;justify-content:space-between;flex-wrap:wrap;background:var(--card,#fff);border:1px solid var(--line,#d9e4d7);padding:1.1rem 1.3rem;border-radius:22px;margin:1.25rem 0 1.4rem}
.g8-pantry-next strong{font-size:1.12rem}.g8-pantry-next p{color:var(--muted,#627268);font-size:.85rem;margin:.2rem 0 0}
.g8-pantry-next button{flex:none}
/* Changes must remain readable in both established light and dark themes. */
:root[data-theme='dark'] .g8-next{background:linear-gradient(120deg,#284a34,#1c392b 70%,#33513b);border-color:#47745a}
:root[data-theme='dark'] .g8-next h2,:root[data-theme='dark'] .g8-next p,:root[data-theme='dark'] .g8-next .g8-eyebrow{color:#edf6e7}
:root[data-theme='dark'] .g8 .g8-primary{color:#fff!important}
:root[data-theme='dark'] .g8 .g8-quiet,:root[data-theme='dark'] .g8-next .g8-quiet{color:#d9eddd;background:#1e3e31;border-color:#608068}
:root[data-theme='dark'] .g8-utility-card,:root[data-theme='dark'] .g8-add-form,:root[data-theme='dark'] .g8-items,:root[data-theme='dark'] .g8-suggest-list,:root[data-theme='dark'] .g8-dialog-form input,:root[data-theme='dark'] .g8-dialog-form select,:root[data-theme='dark'] .g8-dialog-form textarea,:root[data-theme='dark'] .g8-stock-toggle{background:#1c2b25;color:#e4f2e7!important;border-color:#45564a}
:root[data-theme='dark'] .g8 .g8-item-meta,:root[data-theme='dark'] .g8 .g8-item-price,:root[data-theme='dark'] .g8 .g8-lead,:root[data-theme='dark'] .g8 .g8-utility-card small,:root[data-theme='dark'] .g8 .g8-trip-foot,:root[data-theme='dark'] .g8 .g8-disclosure{color:#b7cdbd}
:root[data-theme='dark'] .g8-aisle-head>span,:root[data-theme='dark'] .g8-title-mark,:root[data-theme='dark'] .g8-empty-icon{background:#294834;color:#b3e2bc}
@media (max-width:760px){
 .g8-next{grid-template-columns:minmax(0,1fr) 95px;min-height:0;border-radius:20px}.g8-next-copy{padding:1rem}.g8-next-art{overflow:hidden}.g8-art-basket{width:80px;height:80px;min-width:80px;min-height:80px;border-radius:24px;transform:rotate(-15deg) translateX(13px)}
 .g8-next h2{font-size:clamp(1.3rem,4vw,1.7rem)}.g8-next p{font-size:.84rem}.g8-next .g8-button-line{align-items:stretch;flex-direction:column}.g8-next .g8-button-line>*{width:100%}
 .g8-trip-overview{flex-direction:column;align-items:stretch;padding:1.2rem;border-radius:18px}.g8-overview-actions{justify-content:flex-start}
 .g8-title-mark{width:4rem;height:4rem;border-radius:17px}.g8-utility-row{gap:.5rem}.g8-utility-card{gap:.45rem;padding:.7rem}.g8-utility-card strong{font-size:.9rem}.g8-utility-card svg:last-child{display:none}
 .g8-item{padding:.75rem .7rem;gap:.5rem}.g8-item-meta{font-size:.72rem}.g8-item-price{font-size:.72rem}.g8-list-header{align-items:flex-start;flex-direction:column}
}
@media (max-width:430px){
 .g8-next{grid-template-columns:minmax(0,1fr)}.g8-next-art{display:none}.g8-next-copy{padding:1.2rem}.g8-next .g8-button-line{flex-direction:row}.g8-next .g8-button-line>*{flex:1 1 130px}
 .g8-utility-row{grid-template-columns:1fr}.g8-title-mark{display:none}.g8-add-form .g8-primary{padding:.8rem .7rem}.g8-trip-overview .g8-overview-actions>*{flex:1 1 140px}
 .g8-item{grid-template-columns:auto minmax(0,1fr)}.g8-item-end{grid-column:2;flex-direction:row;justify-content:space-between;align-items:center}.g8-commerce{grid-column:2}.g8-item-end .g8-item-price{text-align:left;max-width:none}.g8-pantry-next{align-items:stretch}.g8-pantry-next button{width:100%}
}
@media (prefers-reduced-motion:reduce){.g8 .g8-primary,.g8-next .g8-primary{transition:none;transform:none!important}}

.g8-header-tools{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.g8-staples{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;max-width:420px;margin:.6rem auto 0}.g8-staples>span{width:100%;font-size:.73rem;color:var(--muted,#677668)}.g8-staples button{border-radius:999px;border:1px solid #acc6b2;color:var(--ink,#2a583a);background:var(--card,#fff);padding:.44rem .65rem;font-weight:700;font-size:.76rem}

/* FoodScan 8.1: decision -> list -> next shop. Scoped, no viewport clipping. */
.d8-page{max-width:980px;padding-top:20px;padding-bottom:48px}
.d8-page .breadcrumb{margin:0 0 18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.d8-snapshot{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background:var(--paper-2);border-radius:14px;font-size:.82rem;color:var(--bark);margin-bottom:16px}
.d8-snapshot svg{flex:0 0 18px}
.d8-result{background:var(--paper);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-md)}
.d8-verdict{display:flex;gap:16px;align-items:flex-start;background:var(--paper-2);padding:24px 26px;border-bottom:1px solid var(--line)}
.d8-match .d8-verdict{background:var(--olive-soft)}
.d8-check .d8-verdict,.d8-unconfirmed .d8-verdict{background:var(--amber-soft)}
.d8-emblem{display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);border-radius:16px;flex:0 0 46px;width:46px;height:46px;color:var(--terra)}
.d8-check .d8-emblem,.d8-unconfirmed .d8-emblem{color:var(--amber)}
.d8-verdict .eyebrow{font-size:.67rem;letter-spacing:.12em;line-height:1.6}
.d8-verdict h1{font-family:var(--font-ui);font-size:clamp(1.55rem,4.2vw,2.25rem);font-weight:770;letter-spacing:-.035em;line-height:1.12;margin:6px 0 10px;overflow-wrap:anywhere}
.d8-verdict p{font-size:.93rem;line-height:1.55;margin:0;color:var(--ink-2);max-width:65ch}
.d8-identity{display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;align-items:center;padding:22px 26px 14px}
.d8-pack{background:var(--paper-2);border-radius:18px;display:grid;place-items:center;width:84px;height:92px;overflow:hidden;padding:8px;flex:0 0 84px}
.d8-pack img{object-fit:contain;width:100%;height:100%;display:block;min-width:0;min-height:0}
.d8-pack svg{width:100%;height:100%;max-width:100%}
.d8-identity h2{font-size:1.2rem;line-height:1.3;letter-spacing:-.02em;margin:3px 0 5px;overflow-wrap:anywhere}
.d8-identity p{font-size:.8rem;color:var(--bark);overflow-wrap:anywhere;margin:0}
.d8-source{display:flex;flex-wrap:wrap;gap:6px 15px;color:var(--bark);font-size:.73rem;line-height:1.6;overflow-wrap:anywhere}
.d8-source>span:first-child{display:flex;align-items:center;gap:6px}
.d8-source svg{width:15px;height:15px;flex:0 0 15px}
.d8-source a{text-decoration:underline;text-underline-offset:3px;color:inherit}
.d8-result>.d8-source{padding:0 26px 16px}
.d8-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;padding:0 26px}
.d8-metric{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:13px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.d8-metric>span{font-size:.8rem;font-weight:650;color:var(--bark)}
.d8-metric strong{font-size:1.4rem;letter-spacing:-.035em;line-height:1.25;overflow-wrap:anywhere}
.d8-metric small{font-size:.73rem;line-height:1.5;color:var(--bark)}
.d8-result-actions{display:flex;flex-wrap:wrap;gap:10px;padding:20px 26px;align-items:stretch}
.d8-result-actions>.button{min-height:46px;flex:1 1 120px;font-size:.88rem;padding-inline:13px;white-space:normal;line-height:1.45;justify-content:center}
.d8-result-actions>.button:first-child{flex:2 1 220px}
.d8-facts{padding:0 26px}
.d8-fact{border-top:1px solid var(--line);padding:2px 0}
.d8-fact summary{list-style:none;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;cursor:pointer;min-height:48px;padding-block:6px;font-size:.86rem;font-weight:570}
.d8-fact summary::-webkit-details-marker,.d8-report>details>summary::-webkit-details-marker{display:none}
.d8-fact summary small{font-size:.72rem;color:var(--bark);font-weight:500}
.d8-fact-mark{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--paper-2)}
.d8-fact-mark.match{background:var(--olive-soft);color:var(--olive)}
.d8-fact-mark.attention{background:var(--danger-soft);color:var(--danger)}
.d8-fact-mark svg{width:15px;height:15px}
.d8-fact>p{color:var(--ink-2);line-height:1.65;font-size:.86rem;margin:3px 0 10px 34px}
.d8-fact-source{display:block;color:var(--bark);font-size:.72rem;margin:0 0 12px 34px;overflow-wrap:anywhere}
.d8-more-flags>summary{padding:12px 0;color:var(--bark);cursor:pointer;font-size:.82rem}
.d8-result-tools{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:14px 26px 20px}
.d8-result-tools button,.d8-result-tools a{font-size:.78rem;color:var(--bark);display:flex;gap:6px;align-items:center;background:none;border:0;min-height:36px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.d8-result-tools svg{width:15px;height:15px}
.d8-profile-link{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);color:var(--ink-2);border-radius:16px;padding:14px 18px;width:100%;text-align:left;cursor:pointer;margin:12px 0 22px;font-size:.9rem;font-weight:600}
.d8-profile-link>svg:last-child{margin-left:auto}
.d8-profile{padding:22px 24px;background:var(--paper);border:1px solid var(--line);border-radius:22px;margin-top:16px}
.d8-subhead{display:flex;gap:12px;justify-content:space-between;align-items:center;min-width:0;margin-bottom:15px}
.d8-subhead h2{font-size:1.25rem;letter-spacing:-.025em;line-height:1.3;margin:6px 0 0}
.d8-subhead>a{font-size:.78rem;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.d8-profile fieldset{border:0;min-width:0;margin:18px 0 0;padding:0}
.d8-profile legend{font-size:.84rem;font-weight:700;padding:0 0 9px}
.d8-profile legend small{font-weight:400;display:block;color:var(--bark);line-height:1.5}
.d8-toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.d8-toggle{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper-2);border-radius:12px;padding:11px 12px;cursor:pointer;min-height:46px;line-height:1.3;font-size:.84rem;font-weight:600;min-width:0}
.d8-toggle:has(input:checked){background:var(--olive-soft);border-color:var(--terra);color:var(--ink)}
.d8-toggle input{appearance:auto;width:18px;height:18px;min-height:18px;flex:0 0 18px;accent-color:#225b40;padding:0;margin:0}
.d8-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:start}
.d8-threshold{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.73rem;color:var(--bark);padding:8px 0}
.d8-threshold input{width:64px;min-width:0;min-height:38px;padding:6px;border:1px solid var(--line);background:var(--paper);border-radius:8px;color:var(--ink);font-size:1rem}
.d8-setup-end{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-top:16px}
.d8-setup-end>span{font-size:.72rem;color:var(--bark)}
.d8-swaps{padding:24px;background:var(--paper-2);border:1px solid var(--line);border-radius:24px;margin:20px 0}
.d8-swaps .sec-sub{margin:0 0 14px;font-size:.83rem;line-height:1.6;color:var(--bark)}
.d8-swaps .swap7-list{display:grid;gap:14px;margin:0}
.d8-swap{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:18px;min-width:0}
.d8-swap-top{display:flex;align-items:center;gap:12px;min-width:0}
.d8-swap-top>div:last-child{min-width:0}
.d8-swap-top h3{font-size:1rem;line-height:1.4;margin:2px 0;overflow-wrap:anywhere}
.d8-swap .d8-pack{width:58px;height:68px;flex-basis:58px;border-radius:12px}
.d8-swap-label{font-size:.71rem;color:var(--bark)}
.d8-deltas{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}
.d8-deltas>span{background:var(--olive-soft);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:.83rem;font-weight:650;overflow-wrap:anywhere}
.d8-swap-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;margin-top:14px}
.d8-swap-actions>.button:first-child{flex:1 1 210px;min-height:46px;font-size:.86rem;white-space:normal;text-align:center;line-height:1.4}
.d8-swap-note{font-size:.72rem;line-height:1.6;color:var(--bark);margin:10px 0 0}
.d8-report{display:grid;gap:10px;margin-block:22px}
.d8-report>details{background:var(--paper);border:1px solid var(--line);border-radius:18px;min-width:0}
.d8-report>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:17px 18px;cursor:pointer;font-size:.88rem;font-weight:650;min-height:54px}
.d8-report>details>summary>span{display:flex;align-items:center;gap:10px;min-width:0}
.d8-report>details>summary svg{flex:0 0 18px;width:18px;height:18px}
.d8-report>details[open]>summary>svg{transform:rotate(90deg)}
.d8-panel-body{padding:0 18px 20px;min-width:0}
.d8-panel-body .tabs{margin-top:5px;max-width:100%;flex-wrap:wrap}
.d8-panel-body .nutrient-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
.d8-next-action{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;margin:22px 0}
.d8-next-action>.button{flex:1 1 220px;white-space:normal;text-align:center;min-height:48px}
.d8-gate{border:2px solid var(--danger);background:var(--paper);border-radius:28px;max-width:700px;margin:0 auto;padding:32px}
.d8-gate.unknown{border-color:var(--amber)}
.d8-gate-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--danger-soft);color:var(--danger);margin-bottom:22px}
.d8-gate.unknown .d8-gate-icon{background:var(--amber-soft);color:var(--amber)}
.d8-gate-icon svg{width:32px;height:32px}
.d8-gate h1{font-size:clamp(1.85rem,5vw,2.9rem);letter-spacing:-.04em;line-height:1.12;margin:10px 0 18px}
.d8-gate-lead{font-size:1.06rem;font-weight:650;color:var(--danger)}
.d8-gate.unknown .d8-gate-lead{color:var(--amber)}
.d8-gate>p{line-height:1.6}
.d8-gate .d8-facts,.d8-gate .d8-result-actions,.d8-gate .d8-result-tools{padding-inline:0}
.d8-gate .d8-source{margin:18px 0}
.d8-nudge{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:24px;padding:22px;background:var(--butter);color:var(--ink);margin:18px 0}
.d8-nudge-icon{display:grid;place-items:center;width:48px;height:48px;background:var(--paper);border:1px solid var(--line);border-radius:16px;flex:0 0 48px;color:var(--butter-ink)}
.d8-nudge h2{font-size:1.1rem;line-height:1.35;margin:6px 0;letter-spacing:-.02em}
.d8-nudge p{font-size:.84rem;line-height:1.55;margin:0;color:var(--ink-2)}
.d8-review-head{margin:22px 0}
.d8-review-head h1{font-size:clamp(1.85rem,5vw,3.2rem);letter-spacing:-.05em;line-height:1.14;margin:14px 0 18px}
.d8-review-head>p{max-width:64ch;line-height:1.65;font-size:.92rem;color:var(--bark)}
.d8-profile-caption{padding:12px 16px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;overflow-wrap:anywhere}
.d8-review-list{display:grid;gap:14px}
.d8-review-item{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:20px;min-width:0}
.d8-review-item .d8-pack{width:68px;height:76px}
.d8-review-item h2{font-size:1.05rem;line-height:1.4;margin:0 0 5px;overflow-wrap:anywhere}
.d8-review-item p{font-size:.88rem;line-height:1.6;margin:0 0 10px;color:var(--bark)}
.d8-review-item small{font-size:.75rem;overflow-wrap:anywhere}
.d8-review-symbol{display:grid;place-items:center;width:48px;height:48px;background:var(--amber-soft);color:var(--amber);border-radius:16px}
.d8-review-footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.d8-review-footer .button{white-space:normal}
@media(min-width:850px){.d8-page .d8-swaps .swap7-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.d8-swap-top{align-items:start}.d8-swap .d8-deltas{min-height:85px}.d8-swap{display:flex;flex-direction:column}.d8-swap-actions{margin-top:auto;padding-top:12px}}
@media(max-width:600px){
 .d8-page{padding-top:14px}.d8-verdict{padding:20px 18px;gap:12px}.d8-emblem{width:36px;height:36px;flex-basis:36px;border-radius:12px}.d8-emblem svg{width:20px;height:20px}
 .d8-identity{padding:18px 18px 12px;grid-template-columns:60px minmax(0,1fr);gap:12px}.d8-identity .d8-pack{width:60px;height:74px;border-radius:13px}.d8-identity h2{font-size:1.06rem}
 .d8-result>.d8-source{padding-inline:18px}.d8-metrics{padding-inline:18px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.d8-metric{padding:11px 12px}.d8-metric strong{font-size:1.25rem}.d8-metric:last-child:nth-child(3){grid-column:1/-1}
 .d8-result-actions{padding:16px 18px;gap:8px}.d8-result-actions>.button{flex:1 1 95px;font-size:.82rem}.d8-result-actions>.button:first-child{flex-basis:100%}
 .d8-facts{padding-inline:18px}.d8-result-tools{padding:12px 18px 16px;gap:8px 14px}.d8-profile{padding:18px 16px}.d8-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.d8-goals{grid-template-columns:1fr}.d8-goal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.d8-toggle{padding:10px}.d8-goal:not(:has(.d8-threshold)){grid-template-columns:1fr}
 .d8-swaps{padding:18px 14px}.d8-swap{padding:15px}.d8-swap-actions .button{font-size:.81rem}
 .d8-gate{padding:22px 18px}.d8-nudge{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px}.d8-nudge-icon{width:40px;height:40px;border-radius:12px}.d8-nudge>.button{grid-column:1/-1;justify-self:stretch}
 .d8-review-item{grid-template-columns:52px minmax(0,1fr);padding:16px;gap:12px}.d8-review-item .d8-pack{width:52px;height:66px}.d8-review-item>.button{grid-column:1/-1}.d8-nudge .eyebrow{font-size:.65rem;letter-spacing:.09em}
}
:root[data-text-size="extra"] .d8-goal{grid-template-columns:1fr}
:root[data-text-size="extra"] .d8-toggle-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))}
:root[data-text-size="extra"] .d8-review-item{grid-template-columns:minmax(0,1fr)}
:root[data-text-size="extra"] .d8-review-item>.button{grid-column:auto}
@media(prefers-reduced-motion:reduce){.d8-page *{scroll-behavior:auto}}
@media print{.d8-profile,.d8-profile-link,.d8-result-actions,.d8-next-action,.d8-swap-actions,.d8-result-tools{display:none!important}.d8-page{max-width:100%}.d8-result,.d8-swap{break-inside:avoid}}
.d8-home{padding-top:22px}.d8-first-home .welcome-card{min-height:0}.d8-first-home .welcome-content{padding-block:30px}.d8-first-home .welcome-content h1{font-size:clamp(2.1rem,4.5vw,3.5rem)}.d8-first-home .welcome-content>p{margin-block:15px 24px}
.d8-home-quick{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}
.d8-home-quick h1{font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.14;letter-spacing:-.04em;margin:9px 0 0}
.d8-home-actions{display:flex;flex-direction:column;gap:6px;min-width:205px}.d8-home-actions>.button{min-height:54px}.d8-home-actions>div{display:flex;justify-content:center;gap:4px}.d8-home-actions .button-sm{padding:10px;font-size:.78rem}
.d8-home-manual{border:1px solid var(--line);border-radius:18px;background:var(--paper);margin:20px 0}.d8-home-manual>summary{padding:17px 18px;min-height:52px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px;font-weight:650;font-size:.88rem}.d8-home-manual .scan-card{border:0;box-shadow:none}
@media(max-width:600px){.d8-home{padding-top:15px}.d8-home-quick{padding:20px;display:grid;gap:18px}.d8-home-actions{min-width:0;width:100%}.d8-home-quick h1 br{display:none}.d8-home-quick h1{font-size:1.8rem}.d8-first-home .welcome-content{padding-block:26px}.d8-first-home .welcome-content h1{font-size:2.25rem}.d8-first-home .scan-card{margin-top:4px}}

.d8-cache-note{font-size:.73rem;color:var(--bark);padding:0 26px;margin:-5px 0 0;line-height:1.5}
.d8-result>.d8-metrics{padding-bottom:16px}
@media(max-width:600px){.d8-cache-note{padding-inline:18px}.d8-subhead{flex-wrap:wrap}}

/* ============ v8.2: decision-first polish ============ */
.d8-swap-first{background:linear-gradient(135deg,#1E2418,#2B341F);border-radius:22px;padding:1.3rem 1.4rem;margin:1.1rem 26px 0;color:#F5EEDF;position:relative;overflow:hidden;box-shadow:0 14px 34px rgba(30,36,24,.22)}
.d8-swap-first::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 100% at 100% 0%,rgba(245,158,11,.20),transparent 70%)}
.d8-swap-first .eyebrow{color:#F5B942;position:relative}
.d8-swap-first-main{display:flex;gap:.9rem;align-items:center;margin:.8rem 0 1.1rem;position:relative}
.d8-swap-first-main img{width:56px;height:56px;border-radius:14px;object-fit:cover;flex:none;background:rgba(255,255,255,.12)}
.d8-swap-first-main strong{display:block;font-size:1.05rem;color:#fff;line-height:1.3}
.d8-swap-first-main span{font-size:.85rem;color:#D8C9A8}
.d8-swap-first .button-lg{width:100%;justify-content:center;position:relative;font-size:1.02rem;padding:1rem}
.d8-quiet-add{display:block;text-align:center;margin-top:.7rem;color:#B9B4A6;font-size:.85rem;position:relative}
.d8-quiet-add:hover{color:#F5EEDF}
.d8-result-actions-sub{display:flex;gap:.6rem;padding:.9rem 26px 0;flex-wrap:wrap}
.d8-allergen-alert{display:flex;gap:.7rem;align-items:flex-start;background:#FDECEA;border:1.5px solid #E5484D;border-radius:14px;padding:.8rem .95rem;margin:.7rem 0;color:#B3261E}
.d8-allergen-alert .icon{width:20px;height:20px;flex:none;margin-top:2px}
.d8-allergen-alert strong{display:block;font-size:.92rem;line-height:1.35}
.d8-allergen-alert span{font-size:.82rem;line-height:1.45;color:#8F1D18}
.d8-check .d8-verdict h1{color:#8A4B00}
.d8-match .d8-verdict h1{color:#2E5B2E}
.d8-verdict h1{font-size:clamp(1.8rem,5vw,2.6rem)}
.d8-nudge-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}
@keyframes d8-rise{from{opacity:0;transform:translateY(18px) scale(.995)}to{opacity:1;transform:none}}
.d8-result{animation:d8-rise .5s cubic-bezier(.22,1,.36,1) backwards}
.d8-verdict .d8-emblem{animation:d8-rise .5s .08s cubic-bezier(.22,1,.36,1) backwards}
.d8-swap-first{animation:d8-rise .55s .15s cubic-bezier(.22,1,.36,1) backwards}
.d8-allergen-alert{animation:d8-rise .45s .1s cubic-bezier(.22,1,.36,1) backwards}
.d8-result .button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.d8-result .button:active{transform:scale(.97)}
.d8-result .button-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
@media (prefers-reduced-motion:reduce){.d8-result,.d8-verdict .d8-emblem,.d8-swap-first,.d8-allergen-alert{animation:none}.d8-result .button{transition:none}}
@media (max-width:560px){.d8-swap-first{margin:1rem 16px 0;padding:1.1rem}.d8-result-actions-sub{padding:.8rem 16px 0}}

/* ============ v8.2: gorgeous reporting ============ */
.timeline{display:flex;flex-direction:column;gap:.55rem;margin-top:.8rem}
.timeline-row{display:flex;align-items:center;gap:.85rem;background:var(--paper);border:1.5px solid var(--line);border-radius:16px;padding:.8rem 1rem;text-decoration:none;transition:all .18s ease}
.timeline-row:hover{transform:translateX(4px);box-shadow:var(--shadow-sm);border-color:var(--amber)}
.t-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex:none}
.t-icon .icon{width:18px;height:18px}
.t-match .t-icon{background:#E6F4EA;color:#1B7A3D}
.t-check .t-icon{background:#FFF3E0;color:#B26A00}
.t-neutral .t-icon{background:var(--paper-2);color:var(--bark)}
.t-main{flex:1;min-width:0;display:flex;flex-direction:column}
.t-main strong{font-size:.92rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-main span{font-size:.8rem;color:var(--bark)}
.timeline-row>.icon{width:16px;height:16px;color:var(--taupe);flex:none}
/* Stat cards: gradient pop */
.stat-card{position:relative;overflow:hidden}
.stat-card::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--amber),var(--terra));opacity:0;transition:opacity .2s}
.stat-card:hover::after{opacity:1}
.stat-card:hover{transform:translateY(-3px)}
.stat-num{font-size:2rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--ink),var(--bark));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ============ v8.4: home decisions — impossible to miss ============ */
.home-decisions{background:linear-gradient(135deg,#1E2418 0%,#2B341F 100%);border-radius:24px;padding:1.3rem 1.3rem 1.1rem;margin:1.2rem 0;color:#F5EEDF;box-shadow:0 18px 44px rgba(30,36,24,.28);position:relative;overflow:hidden}
.home-decisions::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 120% at 100% 0%,rgba(245,158,11,.16),transparent 65%)}
.hd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;position:relative}
.hd-head .eyebrow{color:#F5B942}
.hd-head .link-button{color:#F2B183}
.hd-list{display:flex;flex-direction:column;gap:.6rem;position:relative}
.hd-row{display:flex;align-items:center;gap:.8rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:.7rem .8rem;text-decoration:none;transition:all .18s ease}
.hd-row:hover{background:rgba(255,255,255,.12);transform:translateX(4px)}
.hd-row img{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:none;background:rgba(255,255,255,.1)}
.hd-noimg{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#B9B4A6;flex:none}
.hd-noimg .icon{width:20px;height:20px}
.hd-name{flex:1;min-width:0;font-weight:600;font-size:.92rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hd-pill{flex:none;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.32rem .7rem;border-radius:999px}
.hd-ok{background:#1B7A3D;color:#fff}
.hd-warn{background:#F59E0B;color:#1E2418}
.hd-bad{background:#C62828;color:#fff}
.hd-neutral{background:rgba(255,255,255,.15);color:#D8C9A8}
/* gutf-8.4.1 */
#header:empty{min-height:118px}
@media(min-width:601px){#header:empty{min-height:120px}}
@media(min-width:821px){#header:empty{min-height:130px}}
.startup-about{max-width:46ch;text-align:center;line-height:1.55}
.startup-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px}

/* ============ v9.0: first-run demo + share ============ */
.first-demo{background:linear-gradient(135deg,#0F1B12 0%,#1A2B1E 100%);border-radius:24px;padding:1.3rem;margin:1.2rem 0;color:#F5EEDF;box-shadow:0 18px 44px rgba(15,27,18,.3);position:relative;overflow:hidden}
.first-demo::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 120% at 100% 0%,rgba(52,211,153,.14),transparent 65%)}
.fd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;position:relative;flex-wrap:wrap;gap:.5rem}
.fd-head .eyebrow{color:#34D399}
.fd-tag{font-size:.68rem;font-weight:800;letter-spacing:.06em;background:rgba(255,255,255,.12);color:#D8C9A8;padding:.3rem .7rem;border-radius:999px}
.fd-verdict{display:flex;gap:.9rem;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1rem;position:relative}
.fd-emoji{font-size:1.8rem;flex:none}
.fd-verdict strong{font-size:1.25rem;display:block;margin-bottom:.3rem;color:#fff}
.fd-verdict p{margin:0;font-size:.9rem;color:#C9BFA9;line-height:1.5}
.fd-note{font-size:.82rem;color:#8A8272;margin:.9rem 0;position:relative}
.first-demo .button-row{position:relative}
/* Swap delta: make the concrete win unmissable */
.d8-swap-first-main span{display:block;margin-top:.3rem;font-size:.85rem;color:var(--terra);font-weight:600}

/* === FoodScan 9.1: calm, responsive daily-use surface ==================== */
.tdy{margin:24px 0 6px;padding:clamp(18px,3vw,32px);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--shadow-sm);min-width:0}
.tdy-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:21px}
.tdy-top>div{min-width:0}.tdy-top h2{font-size:clamp(1.55rem,2.6vw,2.2rem);margin:5px 0 8px}
.tdy-top p{font-size:.9rem;color:var(--bark);line-height:1.5}
.tdy-eyebrow{display:block;font-size:.67rem;font-weight:750;letter-spacing:.105em;color:var(--bark);line-height:1.5}
.tdy-open-list,.tdy-text-link,.tdy-more{display:inline-flex;gap:7px;align-items:center;color:var(--terra);font-weight:720;text-decoration:none;font-size:.83rem;white-space:normal}
.tdy-open-list{min-height:44px;flex-shrink:0}.tdy-open-list .icon,.tdy-more .icon,.tdy-text-link .icon{width:17px;height:17px}
.tdy-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 17px}
.tdy-total{min-width:0;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-decoration:none;padding:13px 14px;border-radius:15px;background:var(--cream);border:1px solid var(--line);transition:border-color .15s,transform .15s}
.tdy-total:hover{border-color:var(--terra)}.tdy-total-icon{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--terra-soft);color:var(--terra)}
.tdy-total-icon .icon{width:17px;height:17px}.tdy-total strong{font-size:1.45rem;line-height:1.12;letter-spacing:-.04em;font-weight:770;white-space:nowrap}
.tdy-total>span:last-child{font-size:.72rem;color:var(--bark);line-height:1.4;font-weight:570}
.tdy-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(255px,1fr);gap:14px;align-items:start}
.tdy-list{padding:20px;border:1px solid var(--line);border-radius:21px;background:var(--cream);min-width:0}
.tdy-pane-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;font-size:1rem;font-weight:730}
.tdy-pane-title>span,.tdy-share{display:inline-flex;align-items:center;gap:8px}.tdy-pane-title .icon{color:var(--terra);width:19px;height:19px}
.tdy-share{border:0;background:transparent;padding:8px;color:var(--terra);font-size:.78rem;font-weight:650;min-height:42px;flex-shrink:0}
.tdy-share .icon{width:17px;height:17px}
.tdy-add{display:flex;align-items:stretch;gap:9px;margin-bottom:11px}
.tdy-add input{flex:1;min-width:0;min-height:50px;padding:10px 13px;background:var(--paper);border:1px solid var(--line);border-radius:13px;font-size:.91rem}
.tdy-add input::placeholder{color:var(--taupe);opacity:.95}
.tdy-add button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:13px;background:var(--terra);color:#fff;min-width:92px;min-height:50px;padding:9px 14px;font-size:.86rem;font-weight:750}
:root[data-theme="dark"] .tdy-add button{color:#143421}.tdy-add button .icon{width:18px;height:18px}
.tdy-checklist{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tdy-check-row{min-height:55px;padding:7px 12px;display:flex;align-items:center;gap:11px;cursor:pointer;border-bottom:1px solid var(--line);position:relative}
.tdy-check-row:last-child{border-bottom:0}.tdy-check-row:hover{background:var(--paper-2)}
.tdy-check-row input{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:23px;height:23px;opacity:0;cursor:pointer;margin:0}
.tdy-checkbox{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border:2px solid var(--tan);border-radius:8px;color:transparent;background:var(--paper)}
.tdy-checkbox .icon{width:17px;height:17px}
.tdy-check-row input:focus-visible+.tdy-checkbox{outline:3px solid var(--terra);outline-offset:4px}
.tdy-check-row input:checked+.tdy-checkbox{background:var(--terra);border-color:var(--terra);color:#fff}
.tdy-check-name{flex:1;min-width:0;font-size:.91rem;font-weight:620;line-height:1.35}
.tdy-check-row small{font-size:.8rem;color:var(--bark)}.tdy-more{min-height:38px;padding-top:10px}
.tdy-micro{font-size:.72rem;line-height:1.5;color:var(--bark);margin-top:10px}
.tdy-list-empty{display:flex;align-items:flex-start;flex-direction:column;gap:4px;padding:16px 6px 20px}
.tdy-list-empty strong{font-weight:720;font-size:.96rem}
.tdy-list-empty p{font-size:.83rem;color:var(--bark);margin:0;line-height:1.5}
.tdy-empty-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--terra-soft);color:var(--terra);margin-bottom:3px}
.tdy-list-footer{border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:13px;padding-top:11px}
.tdy-list-footer a,.tdy-list-footer button{min-height:40px;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:680;color:var(--terra);text-decoration:none}
.tdy-list-footer button{background:none;border:0;padding:4px}.tdy-list-footer .icon{width:16px;height:16px}
.tdy-side{display:grid;gap:12px;min-width:0}.tdy-focus{border:1px solid var(--line);border-radius:18px;padding:17px 17px 15px;min-width:0;background:var(--cream)}
.tdy-focus-amber{background:var(--gold-soft);border-color:var(--line)}.tdy-focus-mint{background:var(--olive-soft)}
.tdy-focus-label{font-weight:770;font-size:.68rem;letter-spacing:.08em;color:var(--bark);display:flex;align-items:center;gap:7px;margin-bottom:12px}
.tdy-focus-label .icon{width:16px;height:16px;color:var(--terra)}.tdy-focus h3{font-size:1rem;line-height:1.3;margin:0 0 8px}
.tdy-focus>p:not(.tdy-micro){font-size:.8rem;line-height:1.5;color:var(--bark);margin:0 0 12px}
.tdy-date-row{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;padding:9px 0;border-top:1px solid var(--line);min-width:0}
.tdy-date-row>.icon{width:15px;height:15px;margin-left:auto;color:var(--bark)}.tdy-date-row>span:nth-child(2){min-width:0;flex:1}
.tdy-date-row strong,.tdy-date-row small{display:block;font-size:.84rem;line-height:1.35}.tdy-date-row strong{font-weight:710}.tdy-date-row small{font-size:.73rem;color:var(--bark);margin-top:3px}
.tdy-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);flex-shrink:0}
.tdy-restock-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}
.tdy-restock-row>span{display:flex;align-items:center;gap:7px;min-width:0;font-size:.84rem}.tdy-restock-row>span .icon{width:17px;height:17px;color:var(--terra)}
.tdy-restock-row strong{font-weight:690}.tdy-small-action{display:flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--paper);padding:9px 12px;border-radius:10px;color:var(--terra);font-weight:720;font-size:.78rem;min-height:39px;flex-shrink:0}
.tdy-small-action .icon{width:16px;height:16px}.tdy-text-link{margin-top:10px;min-height:34px;border:0;padding:2px 0;background:transparent}
.tdy-fav{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;gap:8px;min-height:43px;padding:10px;text-align:left;font-size:.82rem;color:var(--terra);font-weight:660;margin-top:7px}
.tdy-fav span{flex:1;min-width:0;color:var(--ink)}.tdy-fav .icon{width:17px;height:17px}
.tdy-install{width:100%;padding:13px;display:flex;gap:10px;align-items:center;border:1px dashed var(--tan);border-radius:14px;background:var(--paper);text-align:left}
.tdy-install>span{display:grid;flex:1;min-width:0;gap:1px}.tdy-install>span strong{font-size:.8rem;line-height:1.3}.tdy-install>span small{font-size:.72rem;color:var(--bark)}.tdy-install>.icon:first-child{color:var(--terra)}.tdy-install>.icon:last-child{width:16px;height:16px;color:var(--bark)}
.tdy-merchant{margin-top:13px;padding:14px;border-radius:14px;background:var(--paper);border:1px dashed var(--tan);display:flex;flex-direction:column;gap:6px}
.tdy-merchant>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.79rem;color:var(--bark)}.tdy-merchant strong{color:var(--ink)}.tdy-merchant .icon{width:16px;height:16px}
.tdy-merchant>a{display:inline-flex;gap:5px;align-items:center;color:var(--terra);font-size:.85rem;font-weight:720;width:fit-content;text-underline-offset:3px}
.tdy-merchant>small{font-size:.7rem;color:var(--bark);line-height:1.5}
.tdy-restricted{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--bark);line-height:1.5;margin-bottom:12px}
.tdy-restricted>.icon{color:var(--terra);width:18px;height:18px}.tdy-restricted>button{border:0;background:none;font-size:.8rem;font-weight:720;color:var(--terra);padding:0;display:inline-flex;align-items:center;gap:5px}
.tdy-restricted button .icon{width:14px;height:14px}
.tdy-privacy{display:flex;gap:7px;align-items:center;justify-content:center;text-align:center;font-size:.72rem;line-height:1.4;color:var(--bark);margin:19px 0 0}
.tdy-privacy .icon{width:14px;height:14px}
@media(max-width:950px){.tdy-layout{grid-template-columns:1fr}.tdy-side{grid-template-columns:repeat(2,minmax(0,1fr))}.tdy-side>*{min-width:0}}
@media(max-width:670px){.tdy{margin-top:17px;padding:17px;border-radius:23px}.tdy-top{align-items:start;gap:7px;flex-direction:column;margin-bottom:16px}.tdy-open-list{min-height:34px}.tdy-top h2{font-size:1.65rem}.tdy-top p{font-size:.84rem}.tdy-totals{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.tdy-total{padding:10px 11px;gap:8px;grid-template-columns:32px 1fr}.tdy-total-icon{width:32px;height:32px}.tdy-total strong{font-size:1.3rem}.tdy-list{padding:15px;border-radius:17px}.tdy-side{grid-template-columns:1fr}.tdy-add{gap:7px}.tdy-add button{min-width:78px;padding:7px 10px}.tdy-add input{font-size:.83rem;padding-inline:11px}.tdy-list-footer{align-items:start}.tdy-list-footer>*{min-height:40px}.tdy-focus{padding:15px}.tdy-privacy{align-items:flex-start}}
@media(max-width:360px){.tdy-total{grid-template-columns:1fr;gap:2px}.tdy-total-icon{display:none}.tdy-add button{min-width:70px}.tdy-top h2{font-size:1.47rem}}
@media(prefers-reduced-motion:reduce){.tdy-total{transition:none}}
/* Returning visitors: the list comes first; the scanner remains one tap away. */
.tdy-top h1{font-size:clamp(1.55rem,2.6vw,2.2rem);margin:5px 0 8px}
.tdy-top-cta{display:flex;align-items:center;justify-content:end;gap:12px;flex-wrap:wrap}
.tdy-scan-primary,.tdy-scan-solid{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:0;background:var(--terra);color:#fff;min-height:46px;padding:10px 16px;font-size:.84rem;font-weight:760}
:root[data-theme="dark"] .tdy-scan-primary,:root[data-theme="dark"] .tdy-scan-solid{color:#152d1e}
.tdy-scan-primary .icon,.tdy-scan-solid .icon{width:18px;height:18px}
.tdy-scan-strip{margin:13px 0 0;background:var(--paper);border:1px solid var(--line);border-radius:19px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.tdy-scan-copy{display:grid;gap:3px;min-width:0}.tdy-scan-copy strong{font-weight:730;font-size:.92rem}.tdy-scan-copy small{font-size:.76rem;color:var(--bark)}
.tdy-scan-actions{display:flex;align-items:center;justify-content:end;gap:5px 10px;flex-wrap:wrap}
.tdy-scan-actions>button:not(.tdy-scan-solid){display:inline-flex;align-items:center;gap:7px;min-height:44px;background:transparent;border:0;color:var(--terra);padding:8px 4px;font-size:.81rem;font-weight:660}
.tdy-scan-actions .icon{width:17px;height:17px}
@media(max-width:670px){.tdy-top h1{font-size:1.65rem}.tdy-top-cta{width:100%;justify-content:space-between}.tdy-scan-strip{padding:12px 15px;display:grid;gap:5px}.tdy-scan-actions{justify-content:space-between;gap:2px 5px}.tdy-scan-actions>button{font-size:.75rem!important}.tdy-scan-solid{min-height:43px;padding:9px 12px}}
@media(max-width:360px){.tdy-top h1{font-size:1.47rem}.tdy-scan-actions>button{flex:1 1 42%;justify-content:center}.tdy-scan-copy small{display:none}}

.tdy-withheld{margin:-3px 0 14px;display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--gold-soft);font-size:.79rem;line-height:1.5;color:var(--ink)}
.tdy-withheld>.icon{width:16px;height:16px;color:var(--amber)}.tdy-withheld a{font-weight:720;color:var(--terra)}


/* FoodScan 10.0: frictionless decision report + daily habit */
.d10-trust{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) auto;gap:var(--space-3,.75rem);align-items:stretch;padding:var(--space-4,1rem);background:color-mix(in oklab,var(--surface,#fff) 94%,var(--brand,#16745b));border:1px solid color-mix(in oklab,currentColor 12%,transparent);border-radius:16px;margin:1rem 0}
.d10-confidence,.d10-sugar{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.75rem;background:var(--surface,#fff);border-radius:12px}
.d10-confidence strong,.d10-sugar strong{display:block;font-size:.95rem}.d10-confidence small,.d10-sugar small{display:block;color:var(--muted,#65736d);font-size:.78rem;line-height:1.4}
.d10-confidence-dot{width:.75rem;height:.75rem;flex:0 0 auto;border-radius:50%;background:#b7791f;box-shadow:0 0 0 4px color-mix(in oklab,#b7791f 15%,transparent)}
.d10-strong .d10-confidence-dot{background:#18794e;box-shadow:0 0 0 4px color-mix(in oklab,#18794e 15%,transparent)}.d10-limited .d10-confidence-dot{background:#a33a3a;box-shadow:0 0 0 4px color-mix(in oklab,#a33a3a 15%,transparent)}
.d10-sugar>span{width:36px;height:36px;display:grid;place-items:center;color:#8b5e10}.d10-sugar svg{width:24px}
.d10-method{align-self:center;white-space:nowrap;font-weight:700;font-size:.82rem;min-height:44px;display:flex;align-items:center;gap:.3rem}
.d10-daily-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;margin:.75rem 0;background:color-mix(in oklab,var(--surface,#fff) 88%,#d6f1e4);border-radius:12px}
.d10-daily-line>span{display:flex;align-items:center;gap:.45rem}.d10-daily-line small{color:var(--muted,#65736d)}.d10-daily-line a{font-weight:700;white-space:nowrap}
.scan-now,.tdy-scan-primary,.button-primary{min-height:48px}.scan-shortcuts button,.tdy-scan-actions button{min-height:44px}
@media(max-width:760px){.d10-trust{grid-template-columns:1fr}.d10-method{justify-content:center}.d10-daily-line{align-items:flex-start}.d10-daily-line>span{flex-wrap:wrap}.d10-daily-line small{width:100%;padding-left:1.65rem}}
@media(max-width:420px){.d10-daily-line>a{font-size:.78rem}.d10-confidence,.d10-sugar{padding:.65rem}.scan-shortcuts{display:grid;grid-template-columns:1fr 1fr}.scan-shortcuts button:last-child{grid-column:1/-1}}
@media print{.site-header,.bottom-nav,.site-footer,.breadcrumb,.d8-result-actions,.d8-result-tools,.d8-next-action,.d8-swaps,.d8-profile{display:none!important}.d8-report details{display:block}.d8-report details>div{display:block!important}.d8-result{box-shadow:none;border:1px solid #bbb}.d10-trust{break-inside:avoid}}

/* ============ v10.3: Health Impact Hero — zero-friction power ============ */
.hi-hero{position:relative;overflow:hidden;background:linear-gradient(140deg,#0D1B14 0%,#14261B 55%,#0F1E33 100%);border-radius:28px;padding:1.6rem 1.4rem 1.3rem;margin:0 0 1.3rem;color:#F5EEDF;box-shadow:0 24px 60px rgba(13,27,20,.4);animation:hiRise .7s cubic-bezier(.2,.9,.25,1.2) both}
.hi-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 130% at 50% -20%,rgba(52,211,153,.22),transparent 60%),radial-gradient(50% 100% at 90% 110%,rgba(56,189,248,.14),transparent 60%)}
.hi-head{position:relative;margin-bottom:1.2rem}
.hi-head .eyebrow{color:#34D399;font-size:.72rem;font-weight:800;letter-spacing:.1em}
.hi-head h2{margin:.4rem 0 0;font-size:1.65rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.hi-head h2 em{font-style:normal;background:linear-gradient(90deg,#34D399,#7DD3FC);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hi-stats{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:.7rem;margin-bottom:1rem}
.hi-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:.9rem .6rem;text-align:center;backdrop-filter:blur(8px);transition:transform .18s ease}
.hi-stat:hover{transform:translateY(-3px)}
.hi-num{display:block;font-size:2.1rem;font-weight:900;letter-spacing:-.03em;line-height:1;margin-bottom:.35rem}
.hi-red{color:#FB7185;text-shadow:0 0 24px rgba(251,113,133,.4)}
.hi-amber{color:#FBBF24;text-shadow:0 0 24px rgba(251,191,36,.4)}
.hi-green{color:#34D399;text-shadow:0 0 24px rgba(52,211,153,.4)}
.hi-blue{color:#7DD3FC;text-shadow:0 0 24px rgba(125,211,252,.4)}
.hi-label{font-size:.72rem;color:#B8B2A0;line-height:1.4;display:block}
.hi-foot{position:relative;margin:0;font-size:.85rem;color:#8A8272;text-align:center}
@keyframes hiRise{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hi-hero{animation:none}}

/* ============ v10.4: SOTA result page + homepage ============ */
/* --- The Bottom Line: conclusion in 3 bullets --- */
.d8-conclusion{background:linear-gradient(135deg,var(--paper) 0%,var(--paper-2) 100%);border:2px solid var(--line);border-radius:22px;padding:1.25rem 1.35rem;margin:1.1rem 0;box-shadow:var(--shadow-sm);animation:d8Rise .5s var(--ease) both}
.d8-conclusion-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}
.d8-conclusion-head .icon{width:20px;height:20px;color:var(--amber)}
.d8-conclusion-head h2{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.01em}
.d8-conclusion ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem}
.d8-conclusion li{position:relative;padding-left:1.6rem;font-size:.93rem;line-height:1.55;color:var(--ink)}
.d8-conclusion li::before{content:"";position:absolute;left:0;top:.45em;width:.55rem;height:.55rem;border-radius:50%;background:var(--amber)}
.d8-conclusion li:first-child::before{background:var(--terra)}
.d8-conclusion-action{font-weight:700;color:var(--terra)}
.d8-conclusion-action .icon{width:15px;height:15px;vertical-align:-2px;margin-right:.3rem}
/* --- Collapsible evidence sections --- */
details.fs-report-section{background:var(--paper);border:1.5px solid var(--line);border-radius:18px;margin:0 0 .8rem;overflow:hidden;transition:border-color .2s}
details.fs-report-section[open]{border-color:var(--amber)}
summary.fs-report-section-heading{display:flex;align-items:center;gap:.8rem;padding:1.05rem 1.2rem;cursor:pointer;list-style:none;transition:background .15s}
summary.fs-report-section-heading::-webkit-details-marker{display:none}
summary.fs-report-section-heading:hover{background:var(--paper-2)}
summary.fs-report-section-heading span{font-size:.7rem;font-weight:800;letter-spacing:.08em;color:var(--taupe)}
summary.fs-report-section-heading h3{margin:0;font-size:1rem;font-weight:700;flex:1}
summary.fs-report-section-heading .icon{width:18px;height:18px;color:var(--taupe);transition:transform .25s var(--ease)}
details.fs-report-section[open] summary.fs-report-section-heading .icon{transform:rotate(180deg)}
.fs-report-body{padding:0 1.2rem 1.2rem;animation:d8Rise .3s var(--ease) both}
/* --- Priority swap section --- */
.fs-swaps-priority{background:linear-gradient(135deg,#1E2418 0%,#2B341F 100%);border-radius:24px;padding:1.3rem;margin:1.1rem 0;color:#F5EEDF;box-shadow:0 18px 44px rgba(30,36,24,.28)}
.fs-swaps-priority .d8-subhead h2{color:#fff}
.fs-swaps-priority .fs-mini-kicker{color:#F5B942}
/* --- Verdict hero upgrade --- */
.d8-result{border-radius:26px;overflow:hidden}
.d8-verdict{padding:1.6rem 1.4rem}
#decision-title{font-size:2.4rem;letter-spacing:-.03em}
.d8-emblem{width:64px;height:64px}
/* --- Homepage: command center polish --- */
.fs-command{border-radius:28px}
.hi-hero{margin-top:.4rem}
/* --- Section rhythm: breathing room --- */
.fs-context-section{margin:1.4rem 0}
.d8-page .d8-result{margin-bottom:0}

/* ============ v10.5: SOTA ingredients + portion ============ */
.ing-list{list-style:none;margin:0 0 .8rem;padding:0;display:flex;flex-direction:column;gap:.45rem}
.ing-item{display:flex;align-items:center;gap:.75rem;background:var(--paper-2);border:1.5px solid var(--line);border-radius:14px;padding:.65rem .85rem;transition:all .15s ease}
.ing-item:hover{border-color:var(--amber);transform:translateX(3px)}
.ing-pos{flex:none;width:26px;height:26px;border-radius:9px;background:var(--terra);color:#fff;font-size:.75rem;font-weight:800;display:grid;place-items:center}
.ing-item:nth-child(-n+3) .ing-pos{background:var(--amber);color:#1a1a1a}
.ing-name{flex:1;font-size:.9rem;line-height:1.45;color:var(--ink)}
.ing-pct{flex:none;font-size:.78rem;font-weight:800;color:var(--terra);background:var(--olive-soft);padding:.2rem .55rem;border-radius:999px}
.ing-badge{flex:none;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#B26A00;background:#FFF3E0;padding:.25rem .6rem;border-radius:999px;border:1px solid #F5D6A8}
.ing-badge-palm{color:#8A5A00}
.ing-additive{border-color:#F5D6A8;background:#FFFBF3}
.ing-palm{border-color:#E8D5A8}
.ing-note{font-size:.8rem;color:var(--bark);margin:.4rem 0 0;font-style:italic}
/* --- Portion: amount consumed, hero treatment --- */
.portion-ctrl{background:linear-gradient(135deg,var(--paper) 0%,var(--paper-2) 100%);border:2px solid var(--line);border-radius:22px;padding:1.3rem;margin-bottom:1rem}
.portion-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.9rem;flex-wrap:wrap;gap:.5rem}
.portion-top label{font-size:.95rem;font-weight:700;color:var(--ink)}
.portion-top output{font-size:2.2rem;font-weight:900;letter-spacing:-.03em;color:var(--terra)}
.portion-ctrl input[type=range]{width:100%;height:8px;border-radius:999px;background:transparent;outline:none;-webkit-appearance:none;appearance:none;margin:.4rem 0 1rem;cursor:pointer}
.portion-ctrl input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--terra),var(--amber))}
.portion-ctrl input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--terra),var(--amber))}
.portion-ctrl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid var(--terra);box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:grab}
.portion-ctrl input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--terra);box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:grab}
.portion-chips{display:flex;gap:.5rem;flex-wrap:wrap}
.pf-head{font-size:1.05rem;font-weight:800;margin:1.1rem 0 .8rem;color:var(--ink)}
.pf-grid{display:flex;flex-direction:column;gap:.55rem}
.pf-row{display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;background:var(--paper);border:1.5px solid var(--line);border-radius:14px;padding:.7rem .95rem;align-items:center}
.pf-name{font-size:.88rem;font-weight:600;color:var(--bark)}
.pf-val{font-size:1.05rem;font-weight:800;color:var(--ink);text-align:right}
.pf-val small{font-weight:600;color:var(--taupe);font-size:.78rem}
.pf-ri{grid-column:1/-1;height:6px;border-radius:999px;background:var(--paper-2);overflow:hidden}
.pf-ri span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--olive),var(--amber))}
.pf-pct{grid-column:1/-1;font-size:.75rem;color:var(--taupe);text-align:right}
.cube-cap{font-size:.85rem;color:var(--bark);margin:.5rem 0 1rem;text-align:center}

/* ============ v10.6: SOTA VISUAL ELEVATION — dramatic, premium, courageous ============ */
/* --- Verdict hero: full-bleed drama --- */
.d8-result{border:none;border-radius:30px;overflow:hidden;box-shadow:0 30px 80px rgba(16,41,27,.22)}
.d8-verdict{gap:20px;align-items:center;padding:2rem 1.6rem;border-bottom:none;position:relative;overflow:hidden}
.d8-verdict::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 140% at 50% -30%,rgba(255,255,255,.22),transparent 60%)}
.d8-check .d8-verdict,.d8-unconfirmed .d8-verdict{background:linear-gradient(135deg,#B45309 0%,#92400E 60%,#78350F 100%);color:#FFF7ED}
.d8-match .d8-verdict{background:linear-gradient(135deg,#047857 0%,#065F46 60%,#064E3B 100%);color:#ECFDF5}
.d8-excluded .d8-verdict{background:linear-gradient(135deg,#B91C1C 0%,#991B1B 60%,#7F1D1D 100%);color:#FEF2F2}
.d8-verdict .eyebrow{color:rgba(255,255,255,.85);font-size:.72rem;position:relative}
.d8-verdict h1{position:relative;color:#fff;font-size:clamp(2.2rem,7vw,3.4rem);font-weight:900;letter-spacing:-.04em;line-height:1.02;margin:.35rem 0 .6rem;text-shadow:0 2px 20px rgba(0,0,0,.25)}
.d8-verdict p{position:relative;color:rgba(255,255,255,.92);font-size:1rem;line-height:1.6;max-width:60ch}
.d8-emblem{flex:0 0 72px;width:72px;height:72px;border-radius:22px;background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(8px);position:relative;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.d8-emblem .icon{width:34px;height:34px}
.d8-check .d8-emblem,.d8-unconfirmed .d8-emblem,.d8-match .d8-emblem{color:#fff}
/* --- Verdict body: premium card --- */
.d8-identity{padding:1.4rem 1.6rem}
.d8-identity h2{font-size:1.35rem;font-weight:800;letter-spacing:-.02em}
.d8-result-actions{padding:1.2rem 1.6rem;gap:.7rem}
.d8-result-actions .button{min-height:52px;font-size:.95rem;font-weight:700;border-radius:16px}
/* --- Bottom line: integrate with drama --- */
.d8-conclusion{border:none;background:linear-gradient(135deg,#FFFBEB 0%,#FEF3C7 100%);box-shadow:0 16px 40px rgba(180,83,9,.14);border-radius:24px}
.d8-conclusion-head h2{font-size:1.15rem}
.d8-conclusion li{font-size:.96rem}
/* --- Metric cards: bolder --- */
.d8-metrics{gap:.7rem;padding:0 1.6rem}
.d8-metric{background:var(--paper-2);border:1.5px solid var(--line);border-radius:18px;padding:.95rem 1rem}
.d8-metric strong{font-size:1.25rem;font-weight:800;letter-spacing:-.02em}
/* --- Swap first: more premium --- */
.d8-swap-first{border-radius:22px;padding:1.4rem}
.d8-swap-first .button-lg{min-height:56px;font-size:1rem}
/* --- Homepage hero: even more striking --- */
.hi-hero{padding:2rem 1.6rem 1.5rem;border-radius:32px}
.hi-head h2{font-size:1.9rem}
.hi-num{font-size:2.6rem}
.hi-stat{padding:1.1rem .6rem;border-radius:20px}
/* --- Section headers: stronger --- */
.fs-report-section-heading h3,.fs-report-section-heading span{letter-spacing:-.01em}
.sec-title h2,.fs-section-title{font-size:1.25rem;font-weight:800;letter-spacing:-.02em}
/* --- Buttons: premium --- */
.button-primary,.button-dark{border-radius:16px;font-weight:750;box-shadow:0 8px 20px rgba(34,91,64,.25)}
.button-primary:active,.button-dark:active{transform:scale(.97)}

/* ============ v10.7: WOW LAYER — motion, ceremony, delight ============ */
/* --- Verdict reveal ceremony --- */
.d8-verdict .d8-emblem{animation:wowPop .65s cubic-bezier(.2,1.4,.3,1) both}
.d8-verdict .eyebrow{animation:wowSlide .5s var(--ease) .1s both}
.d8-verdict h1{animation:wowSlide .55s var(--ease) .18s both}
.d8-verdict p{animation:wowSlide .55s var(--ease) .28s both}
@keyframes wowPop{0%{opacity:0;transform:scale(.3) rotate(-12deg)}60%{opacity:1;transform:scale(1.12) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes wowSlide{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
/* --- Glow pulse on the verdict --- */
.d8-verdict::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 60% at 50% 40%,rgba(255,255,255,.28),transparent 70%);animation:wowGlow 2.6s ease-in-out 1s infinite}
@keyframes wowGlow{0%,100%{opacity:.35}50%{opacity:.9}}
/* --- Scan button shimmer --- */
.scan-now,.fs-scan-primary,.tdy-scan-primary{position:relative;overflow:hidden}
.scan-now::after,.fs-scan-primary::after,.tdy-scan-primary::after{content:"";position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:wowShimmer 3.2s ease-in-out infinite}
@keyframes wowShimmer{0%{left:-80%}55%,100%{left:130%}}
/* --- Staggered product page sections --- */
.d8-conclusion{animation:wowSlide .5s var(--ease) .35s both}
.d8-swap-first{animation:wowSlide .5s var(--ease) .45s both}
.fs-swaps-priority{animation:wowSlide .5s var(--ease) .4s both}
/* --- Hero stats pop --- */
.hi-stat{animation:wowPop .5s cubic-bezier(.2,1.3,.3,1) both}
.hi-stats .hi-stat:nth-child(2){animation-delay:.08s}
.hi-stats .hi-stat:nth-child(3){animation-delay:.16s}
.hi-stats .hi-stat:nth-child(4){animation-delay:.24s}

/* ============ v10.8: BUG FIXES + beauty ============ */
/* FIX 1: verdict title must be white on dramatic gradients (beats line 1014) */
.d8-check .d8-verdict h1,.d8-unconfirmed .d8-verdict h1,.d8-match .d8-verdict h1,.d8-excluded .d8-verdict h1{color:#fff!important;text-shadow:0 2px 20px rgba(0,0,0,.3)}
/* FIX 2: diary panel — complete styling (was unstyled) */
.fs-product-log{background:linear-gradient(135deg,#F0FDF4 0%,#ECFDF5 100%);border:2px solid #BBF7D0;border-radius:24px;padding:1.4rem;margin:1.2rem 0;box-shadow:0 12px 32px rgba(4,120,87,.1)}
.fs-product-log-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}
.fs-product-log-intro .fs-mini-kicker{color:#047857;font-size:.7rem;font-weight:800;letter-spacing:.09em}
.fs-product-log-intro h2{margin:.35rem 0 .4rem;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:#064E3B}
.fs-product-log-intro p{margin:0;font-size:.86rem;color:#4D7C6B;line-height:1.5}
.fs-log-today{flex:none;font-size:.75rem;font-weight:800;color:#047857;background:#fff;border:1.5px solid #BBF7D0;padding:.4rem .8rem;border-radius:999px;white-space:nowrap}
#md-product-form label{display:block;font-size:.88rem;font-weight:700;color:#064E3B;margin-bottom:.55rem}
.fs-product-log-actions{display:flex;gap:.7rem;align-items:stretch}
#md-product-amount{flex:1;min-width:0;font-size:1.6rem;font-weight:800;color:#064E3B;background:#fff;border:2px solid #BBF7D0;border-radius:16px;padding:.75rem 1rem;outline:none;transition:border-color .15s,box-shadow .15s}
#md-product-amount:focus{border-color:#047857;box-shadow:0 0 0 4px rgba(4,120,87,.15)}
.fs-product-log-actions button{flex:none;background:linear-gradient(135deg,#047857,#065F46);color:#fff;border:none;border-radius:16px;padding:.75rem 1.3rem;font-size:.95rem;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(4,120,87,.3);transition:transform .15s;white-space:nowrap}
.fs-product-log-actions button:hover{transform:translateY(-2px)}
.fs-product-log-actions button:active{transform:scale(.97)}
#md-product-estimate{margin:.9rem 0 0;font-size:.88rem;color:#4D7C6B}
.fs-product-log-feedback{margin-top:.6rem;font-size:.88rem;font-weight:700;color:#047857}
.fs-product-log-muted{background:var(--paper-2);border-color:var(--line)}

/* FIX 3: meal diary home section + progress bars (were unstyled) */
.fs-diary{background:var(--paper);border:2px solid var(--line);border-radius:24px;padding:1.4rem;margin:1.2rem 0;box-shadow:var(--shadow-sm)}
.md-track{height:10px;border-radius:999px;background:var(--paper-2);overflow:hidden;margin:.5rem 0}
.md-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--olive-bright),var(--amber));transition:width .6s var(--ease)}
.fs-day-metric{background:var(--paper-2);border:1.5px solid var(--line);border-radius:16px;padding:.9rem 1rem;margin-bottom:.7rem}
.fs-day-metric-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.2rem}
.fs-day-metric-head span{font-size:.85rem;font-weight:700;color:var(--bark)}
.fs-day-metric-head strong{font-size:1.1rem;font-weight:800;color:var(--ink)}
.fs-day-metric-head small{font-weight:600;color:var(--taupe);font-size:.8rem}
.fs-day-metric>small{font-size:.75rem;color:var(--taupe)}
.fs-diary-settings{margin-top:1rem;border-top:1px solid var(--line);padding-top:.8rem}
.fs-diary-settings summary{cursor:pointer;font-weight:700;color:var(--terra);font-size:.9rem}
.fs-diary-settings label{display:block;font-size:.85rem;font-weight:600;margin:.7rem 0;color:var(--ink)}
.fs-diary-settings input{width:100%;margin-top:.3rem;padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:12px;font-size:1rem}
.fs-diary-data{display:flex;gap:.6rem;margin-top:.8rem}

/* ============ v10.9: swap section perfection ============ */
.swap-error-card{background:linear-gradient(135deg,#FFFBEB 0%,#FEF3C7 100%);border:2px solid #FDE68A;border-radius:20px;padding:1.3rem 1.4rem;display:flex;gap:1rem;align-items:flex-start;animation:wowSlide .4s var(--ease) both}
.swap-error-icon{flex:none;width:44px;height:44px;border-radius:14px;background:#FEF3C7;display:grid;place-items:center;color:#B45309}
.swap-error-icon .icon{width:22px;height:22px}
.swap-error-body{flex:1}
.swap-error-body strong{display:block;font-size:.98rem;color:#92400E;margin-bottom:.3rem}
.swap-error-body p{margin:0 0 .8rem;font-size:.88rem;color:#92600A;line-height:1.5}
.swap-retry{display:inline-flex;align-items:center;gap:.45rem;background:#B45309;color:#fff;border:none;border-radius:12px;padding:.65rem 1.2rem;font-size:.9rem;font-weight:800;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 16px rgba(180,83,9,.3)}
.swap-retry:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(180,83,9,.4)}
.swap-retry:disabled{opacity:.55;cursor:wait;transform:none}
.swap-retry .icon{width:16px;height:16px}
.swap-empty-card{background:var(--paper-2);border:2px dashed var(--line);border-radius:20px;padding:1.6rem 1.4rem;text-align:center}
.swap-empty-card p{margin:0 0 1rem;font-size:.92rem;color:var(--bark);line-height:1.6}
.swap-empty-card strong{color:var(--ink)}

/* ===== from experience.css ===== */
/* FoodScan 10.2: one-screen launch, visible daily report and complete product label report. */
.fs-home{max-width:1180px;padding-bottom:50px}.fs-home>*+*{margin-top:24px}.fs-mini-kicker{font-size:.67rem;font-weight:800;letter-spacing:.16em;line-height:1.5;text-transform:uppercase;color:var(--terra)}
.fs-command{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:clamp(20px,4vw,58px);border-radius:30px;background:radial-gradient(80% 140% at 0% 0%,#285a43 0%,transparent 75%),linear-gradient(135deg,#183c2c,#102f27 85%);color:#fff;padding:clamp(25px,4vw,50px);overflow:hidden;position:relative;box-shadow:0 20px 65px #193d3229}
.fs-command::after{content:"";position:absolute;pointer-events:none;right:-90px;top:-140px;width:300px;height:300px;border-radius:50%;border:50px solid #c7f8c30d}.fs-command-copy,.fs-command-controls{position:relative;z-index:1;min-width:0}
.fs-command-copy .fs-mini-kicker{color:#bde7b8}.fs-command h1{font-size:clamp(2.45rem,4.8vw,4.15rem);letter-spacing:-.07em;line-height:1.05;margin:17px 0}.fs-command h1 em{color:#bdeaa4}.fs-command-copy>p{max-width:35ch;color:#d9e9de;font-size:1rem;line-height:1.62}
.fs-command-controls{border-radius:22px;padding:clamp(15px,2.2vw,24px);background:#fbfff8;color:#19382b;box-shadow:0 17px 30px #00000019}
.fs-command-actions{display:flex;gap:9px;align-items:stretch}.fs-command-actions button{display:inline-flex;align-items:center;justify-content:center;gap:11px;border-radius:14px;min-height:58px;padding:12px 17px;font-size:.91rem;font-weight:750;text-align:left}
.fs-command-actions .fs-scan-primary{background:#1c5639;color:white;border:1px solid #1c5639;flex:1.45}.fs-command-actions .fs-scan-primary>span{display:grid;gap:1px}.fs-command-actions .fs-scan-primary small{font-size:.66rem;opacity:.8;font-weight:560}.fs-command-actions .fs-scan-primary .icon{width:25px;height:25px}
.fs-scan-alt{background:#eff6ee;color:#224536;border:1px solid #d6e5d8;flex:1}.fs-quick-find{margin-top:20px}.fs-quick-find label{display:block;font-size:.78rem;font-weight:790;color:#355b45;margin:0 0 9px}.fs-quick-find-row{display:flex;align-items:center;gap:8px;padding:6px;border:1.5px solid #d1e1d3;border-radius:15px;background:#fff;min-height:56px}
.fs-quick-find-row>.icon{margin-left:9px;color:#54876b;width:19px;height:19px}.fs-quick-find-row>span{margin-left:8px;color:#54876b;display:flex}
.fs-quick-find-row input{flex:1;border:0;background:transparent;outline:0;font-size:.92rem;width:100%;min-width:0;color:#214332;padding:5px 0}.fs-quick-find-row input::placeholder{color:#789284}.fs-quick-find-row button{border:0;background:#214e36;color:white;border-radius:10px;font-size:.77rem;font-weight:750;min-height:43px;padding:8px 11px;white-space:nowrap}.fs-quick-find-row .fs-voice-search{background:#edf5ef;color:#2b6846;min-width:40px;padding:7px}.fs-quick-find-row .fs-voice-search .icon{width:18px;height:18px}
.fs-command-note{color:#60796a;font-size:.71rem;line-height:1.55;margin-top:11px}.fs-quick-find-results{margin-top:12px;max-height:540px;overflow:auto}.fs-quick-find-results:empty{display:none}.fs-quick-find-results .food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fs-quick-find-results .food-card{background:#fff}.fs-command button:focus-visible,.fs-command a:focus-visible,.fs-command input:focus-visible{outline:3px solid #71d5a3;outline-offset:3px}
.fs-diary{border-radius:27px;border:1px solid var(--line);background:var(--paper);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow-sm);min-width:0}.fs-day-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.fs-day-top h2{font-size:clamp(1.55rem,3.2vw,2.5rem);margin:4px 0 8px}.fs-day-top p{font-size:.84rem;color:var(--bark);line-height:1.4}.fs-private-pill{padding:8px 12px;border:1px solid var(--line);border-radius:999px;white-space:nowrap;font-size:.69rem;font-weight:750;color:var(--bark);background:var(--cream)}
.fs-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:25px 0 8px}.fs-day-metric{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:18px;min-width:0}.fs-day-metric:first-child{background:var(--terra-soft)}.fs-day-metric-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.fs-day-metric-head>span{font-size:.73rem;color:var(--bark);font-weight:730}.fs-day-metric-head strong{font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:-.045em;color:var(--ink);line-height:1.15}.fs-day-metric-head small{font-weight:590;color:var(--bark);font-size:.72rem;letter-spacing:0}.fs-day-metric .md-track{height:8px;border-radius:6px;overflow:hidden;background:var(--line);margin:15px 0 8px}.fs-day-metric .md-track span{height:100%;display:block;border-radius:6px;background:var(--terra);min-width:0}.fs-day-metric>small{color:var(--bark);font-size:.7rem;display:block;line-height:1.5}.fs-day-disclaimer{margin:12px 0 22px;font-size:.71rem;color:var(--bark);line-height:1.6}
.fs-repeats-head,.fs-entry-heading,.fs-week-top{display:flex;align-items:end;justify-content:space-between;gap:12px}.fs-repeats-head h3,.fs-entry-heading h3{font-size:1rem}.fs-repeats-head>span,.fs-entry-heading>span{font-size:.75rem;color:var(--bark)}.fs-repeat-tray{display:flex;gap:10px;overflow:auto;padding:11px 1px 18px;scroll-snap-type:x proximity;scrollbar-width:thin}.fs-repeat-item{background:var(--paper);border:1px solid var(--line);border-radius:15px;flex:0 0 183px;padding:15px;text-align:left;scroll-snap-align:start;transition:background .12s,border-color .12s}.fs-repeat-item:hover{background:var(--terra-soft);border-color:var(--tan)}.fs-repeat-item strong,.fs-repeat-item span,.fs-repeat-item b{display:block}.fs-repeat-item strong{font-size:.87rem;line-height:1.35;min-height:37px}.fs-repeat-item span{font-size:.73rem;color:var(--bark);margin-top:6px}.fs-repeat-item b{color:var(--terra);font-size:.78rem;margin-top:12px}
.fs-meal-quick{padding:16px;background:var(--cream);border:1px solid var(--line);border-radius:19px;margin:15px 0 27px}.fs-meal-quick>label{display:block;font-size:.83rem;font-weight:800;margin-bottom:10px}.fs-meal-row{display:flex;align-items:stretch;gap:8px}.fs-meal-row input{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:12px 14px;min-height:50px;flex:1;width:100%;min-width:0;font-size:.92rem}.fs-meal-row button{border:1px solid var(--line);background:var(--paper);border-radius:12px;min-height:50px;min-width:45px;padding:8px 11px;font-size:1rem}.fs-meal-row .fs-meal-add{background:var(--terra);color:#fff;border-color:var(--terra);font-weight:750;font-size:.84rem;white-space:nowrap;padding-inline:17px}
.fs-meal-extra{margin-top:12px}.fs-meal-extra>summary{cursor:pointer;color:var(--terra);font-weight:720;font-size:.8rem;min-height:32px;display:flex;align-items:center}.fs-meal-extra-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}.fs-meal-extra-fields label{font-size:.75rem;font-weight:700}.fs-meal-extra-fields label span{font-size:.68rem;font-weight:550;color:var(--bark)}.fs-meal-extra-fields input,.fs-meal-extra-fields select{width:100%;background:var(--paper);border:1px solid var(--line);padding:10px;border-radius:9px;color:var(--ink);margin-top:6px}.fs-meal-extra p{font-size:.75rem;color:var(--bark);margin-top:8px}.fs-sr-status{font-size:.73rem;color:var(--bark)}.fs-sr-status:empty{display:none}
.fs-today-entries{margin-top:10px}.fs-entry-heading{margin-bottom:11px}.fs-day-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.fs-day-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 17px;background:var(--paper);border-bottom:1px solid var(--line)}.fs-day-row:last-child{border-bottom:0}.fs-day-row-time>span{font-size:.68rem;color:var(--bark);font-weight:740;display:block;line-height:1.4}.fs-day-row-copy strong{display:block;font-size:.89rem;line-height:1.3}.fs-day-row-copy small{display:block;color:var(--bark);font-size:.73rem;line-height:1.4;margin-top:3px}.fs-day-row-actions{display:flex;gap:5px}.fs-day-row-actions button{min-height:40px;border:1px solid var(--line);border-radius:9px;background:var(--cream);font-weight:690;padding:8px 9px;font-size:.72rem;color:var(--ink)}.fs-day-empty{border:1px dashed var(--line);border-radius:14px;padding:17px;color:var(--bark);font-size:.82rem;line-height:1.5}
.fs-week-inline{border:1px solid var(--line);border-radius:20px;background:var(--cream);padding:clamp(16px,2.5vw,24px);margin-top:23px}.fs-week-top h3{font-size:1.18rem;margin:4px 0 4px}.fs-week-top p{font-size:.77rem;color:var(--bark);line-height:1.5}.fs-share-week{background:var(--paper);border:1px solid var(--line);min-height:42px;padding:9px 13px;border-radius:10px;font-weight:700;font-size:.78rem}.fs-week-bars{height:110px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;padding-top:14px;margin:8px 0 6px}.fs-week-day{display:flex;flex-direction:column;justify-content:end;align-items:center;height:100%;gap:7px;min-width:0}.fs-week-bar{width:min(100%,48px);min-height:8px;border-radius:9px 9px 3px 3px;background:linear-gradient(0deg,#397a56,#99c39f);display:flex;align-items:flex-start;justify-content:center}.fs-week-bar i{font-style:normal;color:#103922;font-size:.73rem;font-weight:850;padding:2px}.fs-week-day>small{font-size:.7rem;color:var(--bark)}.fs-week-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.fs-week-stats span{padding:8px 11px;background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:.72rem;color:var(--bark)}.fs-week-stats strong{font-size:.86rem;color:var(--ink)}
.fs-coach-line{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:21px;background:var(--terra-soft);padding:17px 20px;border-radius:15px}.fs-coach-line strong{font-size:.91rem}.fs-coach-line p{font-size:.75rem;color:var(--bark);line-height:1.5;margin-top:4px}.fs-coach-line a{font-size:.82rem;font-weight:760;color:var(--terra);white-space:normal}
.fs-diary-settings{border-top:1px solid var(--line);padding-top:17px;margin-top:18px}.fs-diary-settings>summary{cursor:pointer;font-size:.78rem;color:var(--bark);font-weight:750;min-height:28px}.fs-diary-settings form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:13px 0}.fs-diary-settings label{font-size:.75rem;font-weight:690}.fs-diary-settings input{display:block;width:100%;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:9px;margin-top:5px}.fs-diary-settings form button,.fs-diary-data button{border-radius:10px;background:var(--paper);border:1px solid var(--line);padding:10px;font-size:.8rem;font-weight:720}.fs-diary-settings form button{grid-column:1/-1;background:var(--terra);color:white}.fs-diary-settings p{font-size:.76rem;color:var(--bark);line-height:1.55}.fs-diary-data{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.fs-shop-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:20px;background:var(--paper-2);border:1px solid var(--line);padding:20px 25px}.fs-shop-summary h2{font-size:1.22rem;margin:4px 0}.fs-shop-summary p{font-size:.78rem;color:var(--bark);line-height:1.5}.fs-shop-open{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:10px 14px;min-height:44px;white-space:nowrap;text-decoration:none;font-size:.81rem;font-weight:800;color:var(--terra)}.fs-demo-link{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:18px;border-radius:17px;background:var(--paper);border:1px solid var(--line)}.fs-demo-link strong{font-size:.83rem}.fs-demo-link button{border:0;background:var(--terra-soft);color:var(--terra);padding:10px;border-radius:9px;font-weight:760;font-size:.81rem}.fs-demo-link span{font-size:.7rem;color:var(--bark)}
.fs-product-page{max-width:1030px}.fs-product-page .d8-result{border-radius:25px}.fs-product-page .d8-result>.d8-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:15px 25px 24px}.fs-product-page .d8-metric{min-width:0}.fs-product-page .d8-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-block:12px}.fs-product-page .fs-open-fact{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0;background:var(--cream)}.fs-open-fact-top{display:flex;align-items:start;gap:8px}.fs-open-fact-top strong{font-size:.83rem;line-height:1.45}.fs-product-page .fs-open-fact>p{margin:8px 0 4px;font-size:.76rem;line-height:1.5}.fs-product-page .fs-open-fact .d8-fact-source{margin:4px 0 0;font-size:.66rem}
.fs-product-log{margin:17px 0;border:1px solid var(--line);border-radius:22px;padding:21px 25px;background:linear-gradient(125deg,var(--terra-soft),var(--paper) 85%);box-shadow:var(--shadow-sm)}.fs-product-log-intro{display:flex;align-items:start;justify-content:space-between;gap:15px}.fs-product-log h2{font-size:1.32rem;margin:6px 0 4px}.fs-product-log p{font-size:.77rem;color:var(--bark);line-height:1.5}.fs-log-today{border:1px solid var(--line);background:var(--paper);border-radius:30px;padding:7px 10px;font-size:.73rem;font-weight:750;white-space:nowrap}.fs-product-log form{margin:14px 0 9px}.fs-product-log form>label{display:block;font-size:.76rem;font-weight:730;margin-bottom:5px}.fs-product-log-actions{display:flex;gap:9px;align-items:stretch}.fs-product-log-actions input{padding:11px 13px;max-width:150px;background:var(--paper);border:1px solid var(--line);border-radius:11px;min-height:48px}.fs-product-log-actions button{flex:1;min-height:49px;background:var(--terra);border:0;color:white;font-weight:770;border-radius:11px;padding:10px 15px}.fs-product-log-feedback{font-size:.8rem;font-weight:760;color:var(--terra)}.fs-product-log-feedback a{color:var(--terra)}.fs-product-log-muted{background:var(--paper-2)}.fs-product-log-muted strong{font-size:.98rem}.fs-product-log-muted a{font-size:.8rem;color:var(--terra);font-weight:800}
.fs-all-report,.fs-context-section{background:var(--paper);border:1px solid var(--line);border-radius:23px;overflow:hidden;margin:18px 0;box-shadow:var(--shadow-sm)}.fs-report-intro{padding:26px 28px 15px}.fs-report-intro h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:7px 0}.fs-report-intro p{font-size:.84rem;color:var(--bark);max-width:70ch}.fs-report-links{display:flex;flex-wrap:wrap;gap:8px;padding:0 26px 23px}.fs-report-links a{font-size:.77rem;font-weight:750;text-decoration:none;padding:9px 11px;border:1px solid var(--line);background:var(--cream);border-radius:9px;color:var(--terra)}.fs-report-section{padding:25px 27px;border-top:1px solid var(--line);scroll-margin-top:20px}.fs-report-section-heading{margin-bottom:16px}.fs-report-section-heading>span{font-size:.65rem;letter-spacing:.14em;font-weight:800;color:var(--terra)}.fs-report-section-heading h3{font-size:1.25rem;margin-top:5px}.fs-report-section .nutrient-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fs-report-section .nutrient-card{padding:14px;border-radius:12px}.fs-report-section .nc-value{font-size:1.28rem}.fs-report-section .source-strip{background:var(--paper-2);border-radius:12px;border:1px solid var(--line);padding:15px;line-height:1.7}.fs-source-summary{margin-bottom:9px}.fs-report-section .ingredients-card{border:0;background:var(--cream);border-radius:13px;padding:20px}.fs-report-section .ingredients-card>p{font-size:.83rem;line-height:1.7}.fs-report-section .button-row{margin-top:14px}
.fs-context-section{padding:24px 27px;overflow:visible}.fs-context-section .d8-subhead h2{font-size:1.4rem}.fs-context-section .d8-swaps{margin:0}.fs-portion-section .portion-card{margin:0}.fs-merchant p{font-size:.83rem;color:var(--bark);line-height:1.6;max-width:70ch}.fs-merchant .button{margin-top:14px}.fs-next-report{margin-block:24px 44px}
@media(max-width:900px){.fs-command{grid-template-columns:1fr;gap:20px;padding:25px}.fs-command h1{font-size:clamp(2.35rem,6vw,3.4rem)}.fs-command-copy>p{max-width:100%}.fs-report-section .nutrient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fs-home{padding-top:0}.fs-home>*+*{margin-top:15px}.fs-command{border-radius:22px;padding:24px 17px 17px;margin-top:0}.fs-command h1{font-size:clamp(2.2rem,8vw,3.05rem);margin:8px 0}.fs-command-copy>p{font-size:.86rem}.fs-command-controls{padding:12px;border-radius:17px}.fs-command-actions button{padding:9px;min-height:54px;font-size:.82rem;gap:7px}.fs-command-actions .fs-scan-primary .icon{width:21px;height:21px}.fs-command-actions .fs-scan-primary small{font-size:.64rem}.fs-quick-find{margin-top:14px}.fs-quick-find-row{gap:4px;min-height:52px}.fs-quick-find-row button{padding:8px}.fs-command-note{font-size:.68rem}.fs-quick-find-results .food-grid{grid-template-columns:1fr}.fs-diary{padding:18px 13px;border-radius:20px}.fs-day-top{align-items:start}.fs-day-top h2{font-size:1.6rem}.fs-day-top p{font-size:.79rem}.fs-private-pill{font-size:.61rem;white-space:normal;text-align:center;max-width:95px;line-height:1.4}.fs-metrics-grid{grid-template-columns:1fr 1fr;gap:8px;margin:17px 0 8px}.fs-day-metric{padding:13px}.fs-day-metric:first-child{grid-column:1/-1}.fs-day-metric-head strong{font-size:1.4rem}.fs-day-disclaimer{font-size:.68rem;margin-bottom:16px}.fs-meal-row{gap:5px}.fs-meal-row input{font-size:.84rem;padding:10px;min-height:46px}.fs-meal-row button{min-height:46px;padding:7px}.fs-meal-row .fs-meal-add{font-size:.75rem;padding:8px}.fs-meal-quick{padding:12px}.fs-meal-extra-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fs-repeat-item{flex-basis:157px}.fs-day-row{grid-template-columns:1fr auto;gap:7px;padding:12px}.fs-day-row-time{grid-column:1/-1}.fs-day-row-actions button{padding:8px;font-size:.7rem}.fs-week-inline{padding:15px 12px}.fs-week-top{align-items:start}.fs-week-top h3{font-size:1.08rem}.fs-share-week{padding:8px;font-size:.7rem}.fs-week-bars{gap:5px}.fs-week-stats span{font-size:.7rem}.fs-coach-line{flex-direction:column;align-items:start;gap:7px}.fs-diary-settings form{grid-template-columns:1fr 1fr}.fs-shop-summary{padding:15px;align-items:start;flex-direction:column;gap:8px}.fs-product-page .d8-result>.d8-metrics{grid-template-columns:1fr 1fr;gap:8px;padding:14px}.fs-product-page .d8-facts{grid-template-columns:1fr;padding:10px 14px}.fs-product-log{padding:17px 14px;border-radius:18px}.fs-product-log h2{font-size:1.15rem}.fs-product-log p{font-size:.74rem}.fs-log-today{font-size:.68rem;white-space:normal}.fs-report-intro,.fs-report-section,.fs-context-section{padding:18px 14px}.fs-report-links{padding:0 13px 18px}.fs-report-section .nutrient-grid{gap:8px}.fs-report-section .nutrient-card{padding:12px}.fs-report-section .nc-value{font-size:1.17rem}.fs-report-section .nc-value small{font-size:.61rem}.fs-report-section .ingredients-card{padding:14px}.fs-all-report,.fs-context-section{border-radius:17px}.fs-quick-find-row .fs-voice-search{min-width:35px}}
@media(max-width:365px){.fs-command-actions .fs-scan-alt{font-size:.74rem}.fs-command-actions .fs-scan-alt .icon{width:15px;height:15px}.fs-quick-find-row input{font-size:.79rem}.fs-quick-find-row>span{margin-left:1px}.fs-quick-find-row button{font-size:.69rem}.fs-meal-row .fs-meal-add{font-size:.68rem;padding:5px}.fs-day-row-actions{flex-direction:column}.fs-product-log-actions input{max-width:110px}.fs-product-log-actions button{font-size:.82rem}}
:root[data-theme="dark"] .fs-command-controls{background:#26372f;color:#f5f8ec}:root[data-theme="dark"] .fs-command-controls input{color:#f5f8ec}:root[data-theme="dark"] .fs-quick-find-row{background:#172920;border-color:#3b6046}:root[data-theme="dark"] .fs-quick-find-row input{color:#eff8e9}:root[data-theme="dark"] .fs-scan-alt,:root[data-theme="dark"] .fs-voice-search{background:#335744;color:#f2f8ee;border-color:#527b5a}:root[data-theme="dark"] .fs-command-note{color:#c4d8cb}
@media(prefers-reduced-motion:reduce){.fs-repeat-item,.fs-command button{transition:none}}@media print{.fs-command,.bottom-nav,.fs-meal-quick,.fs-share-week,.fs-week-inline,.fs-product-log form,.fs-diary-data,.fs-next-report{display:none!important}.fs-product-page .fs-all-report,.fs-diary{box-shadow:none;break-inside:auto}.fs-report-section{break-inside:avoid}}

/* ===== from studio.css ===== */
/* FoodScan 11.0 — studio system. Intentional hierarchy, calm typography, full reports.
   Loaded after the legacy styles so older shopping, scanning and data components remain intact.
   Do not obscure incomplete data, allergy uncertainty or the physical-package disclaimer. */

body{background:#f7f8f4;letter-spacing:-.005em}
main{padding-top:clamp(16px,2.8vw,32px)}
.site-header{background:rgba(255,255,255,.95);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid #e3eae1}
.button-primary,.button-dark{background:#205b43!important;border:1px solid #205b43!important;color:#fff!important;box-shadow:none!important}
.button-outline{background:#fff;border:1px solid #dfe7dd;box-shadow:none}
.button-primary:hover,.button-dark:hover{background:#15432f!important}
.button:focus-visible,button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #6cab7d;outline-offset:3px}
.fs11-tag,.fs11-eyebrow{font-size:.69rem;letter-spacing:.13em;font-weight:850;text-transform:uppercase;line-height:1.45}
.fs11-tag{color:#48745c}
.fs11-live-dot{width:7px;height:7px;border-radius:50%;background:#d1f09f;display:inline-block;box-shadow:0 0 0 4px rgba(209,240,159,.15)}

/* 01 — homepage. One invitation and one unambiguous primary task. */
.fs11-home{max-width:1160px;padding-bottom:45px}
.fs11-home>*+*{margin-top:22px}
.fs11-home .hi-hero{display:none}
.fs11-launch{display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;align-items:center;gap:clamp(24px,4vw,64px)!important;padding:clamp(27px,4vw,54px)!important;
 background:#18392b!important;border:1px solid #355948!important;border-radius:28px!important;color:#fff;box-shadow:0 18px 52px rgba(20,53,37,.12)!important;min-width:0;overflow:hidden}
.fs11-launch::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 2% 100%,rgba(193,228,159,.09),transparent 48%),radial-gradient(ellipse at 65% -30%,rgba(254,255,233,.05),transparent 60%)}
.fs11-launch::after{content:"";position:absolute;pointer-events:none;width:390px;height:390px;right:-190px;top:-230px;border:1px solid rgba(225,246,208,.14);border-radius:50%}
.fs11-launch-copy,.fs11-scan-panel{z-index:1;position:relative;min-width:0}
.fs11-launch .fs11-eyebrow{display:inline-flex;gap:12px;align-items:center;color:#d2e6c6;font-size:.68rem;letter-spacing:.12em}
.fs11-launch h1{font-size:clamp(2.5rem,4.7vw,4.2rem)!important;font-weight:800;letter-spacing:-.065em;line-height:1.08!important;margin:22px 0 20px!important;max-width:11.7em;text-wrap:balance}
.fs11-launch h1 em{font-style:normal;font-family:inherit;color:#d1f1ad;letter-spacing:-.065em;font-weight:800}
.fs11-launch-copy>p{color:#d9e6dc;max-width:39ch;font-size:clamp(.95rem,1.3vw,1.08rem);line-height:1.66}
.fs11-proof-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:27px}
.fs11-proof-row span{display:inline-flex;align-items:center;gap:6px;color:#e4ede2;font-size:.74rem;padding:7px 11px;border:1px solid rgba(231,251,221,.19);background:rgba(255,255,255,.055);border-radius:99px;font-weight:580}
.fs11-proof-row .icon{width:13px;height:13px;color:#c9f2a9}
.fs11-scan-panel{background:#fff!important;color:#1d3629!important;border-radius:24px!important;padding:clamp(17px,2.2vw,27px)!important;box-shadow:0 17px 35px rgba(5,22,14,.17)!important;border:1px solid #eff2e9}
.fs11-scan-panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px}
.fs11-scan-panel-top>div{display:grid;gap:4px;min-width:0}
.fs11-scan-panel-top .fs11-step{font-size:.65rem;font-weight:820;letter-spacing:.13em;color:#63816d}
.fs11-scan-panel-top strong{font-size:1.32rem;letter-spacing:-.04em;line-height:1.2;font-weight:800;color:#18392b}
.fs11-ready{font-size:.65rem;font-weight:750;color:#386951;padding:7px 10px;white-space:nowrap;border:1px solid #dcebdd;background:#f1f8ed;border-radius:99px}
.fs11-scan-buttons{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:9px!important}
.fs11-scan-buttons button{min-width:0;display:flex;gap:10px;min-height:77px!important;border-radius:16px!important;padding:13px!important;border:1px solid transparent!important;white-space:normal;cursor:pointer}
.fs11-scan-buttons .fs-scan-primary{background:#235e44!important;color:#fff!important;box-shadow:none!important;justify-content:flex-start!important;text-align:left}
.fs11-scan-buttons .fs-scan-primary span{flex:1}
.fs11-scan-buttons .fs-scan-primary .icon:last-child{width:17px!important;height:17px!important;margin-left:auto}
.fs11-scan-buttons .fs-scan-primary .icon:first-child{width:27px!important;height:27px!important}
.fs11-scan-buttons .fs-scan-primary small{display:block;color:#d2e8d7;opacity:1;font-weight:500;font-size:.71rem;margin-top:3px}
.fs11-scan-buttons .fs-scan-alt{background:#eff5ed!important;border-color:#e0e9df!important;color:#224732!important;display:flex;flex-direction:column;justify-content:center!important;text-align:center;font-weight:800;min-width:0}
.fs11-scan-buttons .fs-scan-alt .icon{width:21px;height:21px}
.fs11-separator{display:flex;align-items:center;gap:13px;font-size:.73rem;color:#708176;margin:22px 0 14px;white-space:nowrap}
.fs11-separator::before,.fs11-separator::after{content:"";height:1px;background:#e2e9df;flex:1}
.fs11-scan-panel .fs-quick-find{margin:0}
.fs11-scan-panel .fs-quick-find-row{border:1.5px solid #d5e2d4;background:#fafcf9;min-height:58px!important;border-radius:15px;padding:5px 6px;gap:7px}
.fs11-scan-panel .fs-quick-find-row input{font-size:.87rem;color:#18392b}
.fs11-scan-panel .fs-quick-find-row input::placeholder{color:#788b7c;opacity:1}
.fs11-scan-panel .fs-quick-find-row button[type=submit]{background:#e0efdb;color:#18462e;border:0;min-height:44px;padding:8px 11px;font-size:.79rem;display:inline-flex;align-items:center;gap:4px}
.fs11-scan-panel .fs-quick-find-row button[type=submit] .icon{width:14px;height:14px}
.fs11-scan-panel .fs-quick-find-row .fs-voice-search{background:transparent;color:#38684d;min-width:34px;padding:8px}
.fs11-scan-panel .fs-command-note{color:#6a7e6f;font-size:.72rem;line-height:1.55;margin:14px 1px 0}
.fs11-journey-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:13px;padding:5px 10px 0;color:#577065;font-size:.77rem;font-weight:630}
.fs11-journey-line>span{display:inline-flex;align-items:center;gap:9px}
.fs11-journey-line b{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #dbe6d8;color:#32664a;font-size:.66rem;background:#fff}
.fs11-journey-line .fs11-journey-sep .icon{width:15px;height:15px;color:#99ab9b}
.fs11-home .fs-diary{border-radius:25px!important;border:1px solid #e0e8dd!important;padding:clamp(20px,3vw,35px)!important;box-shadow:0 12px 45px rgba(32,67,46,.045)!important;margin:0;background:#fff}
.fs11-home .fs-day-top h2{font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.05em;margin:5px 0 6px}
.fs11-home .fs-day-top p{color:#67796d;max-width:55ch}
.fs11-home .fs-day-metric{background:#f7faf5!important;border:1px solid #e2eae0!important;border-radius:18px!important;padding:18px!important;margin-bottom:0!important;min-width:0}
.fs11-home .fs-day-metric:first-child{background:#eef6ea!important}
.fs11-home .fs-day-metric-head span{font-size:.78rem;color:#5a705e}
.fs11-home .fs-day-metric-head strong{font-size:clamp(1.25rem,2vw,1.8rem);color:#1d3b2b;letter-spacing:-.05em}
.fs11-home .fs-day-metric-head small{font-size:.72rem;color:#6f8073;letter-spacing:-.01em}
.fs11-home .md-track{background:#e4ece2;box-shadow:none}
.fs11-home .md-track span{background:#386e4b;transition:none}
.fs11-home .fs-meal-quick{background:#f5f8f3;border:1px solid #e4ebe0;border-radius:18px;padding:clamp(14px,2.5vw,21px)}
.fs11-home .fs-meal-row input{background:#fff;border:1.5px solid #dfe9df;border-radius:12px;color:#18382a;font-size:.9rem}
.fs11-home .fs-meal-row .fs-meal-add{background:#235c42;color:#fff;border-radius:11px}
.fs11-home .fs-today-entries{border-color:#e1e9de}
.fs11-home .fs-repeat-item{border:1px solid #dfe8da;background:#fafcf9;border-radius:14px}
.fs11-home .fs-recent-products,.fs11-home .tools-section{margin-top:34px}
.fs11-home .fs-demo-link{border:1px solid #dce7d7;background:#eef5e8;display:flex;gap:12px;align-items:center;border-radius:18px;padding:19px 23px}
.fs11-home .fs-demo-link>div{flex:1;min-width:0}.fs11-home .fs-demo-link p{font-size:.76rem;margin-top:5px;color:#647765}
.fs11-home .fs-demo-link button{background:#fff;border:1px solid #d9e5d6;color:#1f573b;padding:12px 15px;border-radius:12px;display:inline-flex;gap:5px;align-items:center;font-weight:770;min-height:44px}
.fs11-home .fs-demo-link .icon{width:14px;height:14px}

/* 02 — evidence-led result. Visual hierarchy follows decision -> why -> data -> actions. */
.fs11-result{overflow:hidden!important;border:1px solid #dfe9de!important;border-radius:28px!important;background:#fff!important;box-shadow:0 14px 50px rgba(25,61,38,.075)!important;margin:0!important;animation:none!important}
.fs11-verdict-top{background:#173b2b;color:#fff;padding:clamp(23px,3.5vw,38px);position:relative;overflow:hidden}
.fs11-verdict-top::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 98% 10%,rgba(200,235,167,.12),transparent 40%)}
.fs11-result.d8-check .fs11-verdict-top,.fs11-result.d8-unconfirmed .fs11-verdict-top{background:#433624}
.fs11-result.d8-match .fs11-verdict-top{background:#17442f}
.fs11-decision-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;position:relative;z-index:1}
.fs11-decision-tags span{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.065);color:#e2efe2;border-radius:99px;padding:8px 11px;font-size:.65rem;font-weight:730;letter-spacing:.06em;line-height:1.2}
.fs11-decision-tags span:first-child{color:#f0f7e7;background:rgba(198,237,171,.11)}
.fs11-decision-tags .icon{width:14px;height:14px}
.fs11-result-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(200px,.65fr);align-items:center;gap:clamp(22px,4vw,52px);position:relative;z-index:1}
.fs11-result-main{min-width:0}
.fs11-verdict-symbol{width:54px;height:54px;display:grid;place-items:center;background:#d7f1b1;color:#234534;border-radius:18px;margin-bottom:24px}
.fs11-verdict-symbol .icon{width:28px;height:28px}
.fs11-result.d8-check .fs11-verdict-symbol,.fs11-result.d8-unconfirmed .fs11-verdict-symbol{background:#ffdeaa;color:#6a4514}
.fs11-result-kicker{font-size:.67rem;letter-spacing:.15em;font-weight:820;color:#cee5c4;display:block;margin-bottom:9px}
.fs11-result h1#decision-title{font-size:clamp(2.1rem,4vw,3.55rem)!important;line-height:1.08!important;letter-spacing:-.056em!important;font-weight:780!important;color:#fff!important;margin:0!important;text-shadow:none!important;max-width:17ch}
.fs11-result-summary{color:#deeadf!important;max-width:45ch;line-height:1.6;font-size:clamp(.94rem,1.5vw,1.08rem);margin-top:15px}
.fs11-result.d8-check .fs11-result-summary,.fs11-result.d8-unconfirmed .fs11-result-summary{color:#f5e8d4!important}
.fs11-result-product{background:#fff;color:#19372b;border-radius:23px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;box-shadow:0 12px 40px rgba(0,0,0,.12)}
.fs11-result-product .d8-pack{width:100%;height:clamp(105px,14vw,158px);border:1px solid #edf0e9;background:#f5f7f0;border-radius:15px;display:grid;place-items:center;margin-bottom:12px;flex:none;overflow:hidden}
.fs11-result-product .d8-pack img{width:100%;height:100%;object-fit:contain;padding:9px}
.fs11-result-product .d8-pack svg{width:75px;height:110px}
.fs11-product-eyebrow{font-size:.62rem;letter-spacing:.13em;font-weight:820;color:#7a897b;margin-bottom:2px}
.fs11-result-product .food-brand{font-size:.71rem;letter-spacing:.06em;color:#55705d;font-weight:700}
.fs11-result-product h2{font-size:clamp(1.05rem,1.8vw,1.36rem);line-height:1.27;font-weight:770;letter-spacing:-.04em;color:#19392b;margin:0;overflow-wrap:anywhere}
.fs11-result-product small{font-size:.72rem;color:#65766a;margin-top:4px}
.fs11-result .d8-allergen-alert{margin-top:17px;max-width:470px;background:#fff5e8;border:1px solid #efd0a6;color:#724922;border-radius:12px}
.fs11-result .d8-allergen-alert span,.fs11-result .d8-allergen-alert strong{color:#724922}
.fs11-evidence-row{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:26px;padding:clamp(22px,3.3vw,34px);background:#f7f9f5;border-bottom:1px solid #e3eae0}
.fs11-evidence-heading h2{font-size:clamp(1.4rem,2.5vw,1.88rem);margin:6px 0 7px;color:#223d2b;letter-spacing:-.046em}
.fs11-evidence-heading p{color:#526b59;line-height:1.55;font-size:.86rem;max-width:43ch}
.fs11-evidence-list{background:#fff;border:1px solid #e1e9de;border-radius:18px;padding:16px 18px;min-width:0}
.fs11-evidence-list ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fs11-evidence-list li{display:flex;align-items:flex-start;gap:10px}
.fs11-evidence-list li+li{border-top:1px solid #edf1ec;padding-top:12px}
.fs11-evidence-dot{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:#e5f0e0;color:#205d3c;flex:none;margin-top:2px}
.fs11-evidence-dot.fs11-attention,.fs11-evidence-dot.fs11-fact{background:#fff2df;color:#86580b}
.fs11-evidence-dot .icon{width:16px;height:16px}
.fs11-evidence-list strong{display:block;font-size:.85rem;line-height:1.4;color:#253d2e}
.fs11-evidence-list p{font-size:.76rem;color:#597062;line-height:1.5;margin:3px 0 0}
.fs11-no-rules{color:#53695c;font-size:.88rem;line-height:1.65;margin:0}
.fs11-metrics-head{padding:clamp(20px,2.8vw,29px) clamp(20px,3.3vw,34px) 13px;display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fs11-metrics-head h2{font-size:1.43rem;letter-spacing:-.045em;color:#1f3c2c;margin-top:3px}
.fs11-metrics-head>span{font-size:.73rem;line-height:1.5;color:#677a6a}
.fs11-result .d8-metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;padding:0 clamp(20px,3.3vw,34px) clamp(20px,2.8vw,29px)!important;margin:0!important}
.fs11-result .d8-metric{background:#f3f7f1!important;border:1px solid #e0eade!important;border-radius:16px!important;padding:16px 14px!important;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:108px}
.fs11-result .d8-metric span{font-size:.72rem;color:#53715b;font-weight:700}
.fs11-result .d8-metric strong{font-size:clamp(1.16rem,2.1vw,1.48rem);color:#1c3c2a;line-height:1.25;letter-spacing:-.035em;overflow-wrap:anywhere}
.fs11-result .d8-metric small{color:#5c7162;line-height:1.4;font-size:.69rem}
.fs11-result-source{border-top:1px solid #e8eee5;background:#fff;padding:17px clamp(20px,3.3vw,34px);display:grid;gap:12px}
.fs11-result .d10-trust{padding:0;margin:0!important;border:0;box-shadow:none;background:transparent;min-width:0;gap:12px;flex-wrap:wrap}
.fs11-result .d10-confidence,.fs11-result .d10-sugar{background:#f6f9f4;border:1px solid #e3eae0;border-radius:12px;padding:11px 13px}
.fs11-result .d10-method{margin-left:auto;font-size:.74rem}
.fs11-result .d8-source{padding:0!important;display:flex;gap:9px 21px;flex-wrap:wrap;font-size:.71rem;color:#53675b}
.fs11-result .d8-source a{color:#235f43;font-weight:700}
.fs11-result .d8-result-actions{padding:16px clamp(20px,3.3vw,34px) 18px!important;display:flex;gap:9px;align-items:stretch;border-top:1px solid #e8eee5;background:#fafbf9}
.fs11-result .d8-result-actions .button{min-height:49px;border-radius:12px!important;padding:10px 15px;font-size:.78rem;font-weight:740;flex:0 1 auto;box-shadow:none!important}
.fs11-result .d8-result-actions .button:first-child{margin-right:auto}
.fs11-result .d8-result-actions .icon{width:17px;height:17px}
.fs11-personal-checks{padding:22px clamp(20px,3.3vw,34px);border-top:1px solid #e8eee5}
.fs11-personal-checks h3{font-size:1.18rem;margin:6px 0 13px;color:#263c2d}
.fs11-personal-checks .d8-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0!important}
.fs11-personal-checks .fs-open-fact{border:1px solid #e3eae0;background:#f9faf8;padding:14px;border-radius:14px}
.fs11-personal-checks .fs-open-fact strong{color:#263e2f;font-size:.82rem}
.fs11-personal-checks .fs-open-fact p{font-size:.76rem;color:#5a6c60}
.fs11-result .d8-result-tools{border-top:1px solid #e9eee8;background:#fff;padding:13px clamp(20px,3.3vw,34px) 18px!important;gap:9px 20px;display:flex;flex-wrap:wrap}
.fs11-result .d8-result-tools button{color:#5e7866;font-size:.73rem;box-shadow:none}
.fs11-result .d8-result-tools .icon{width:15px;height:15px}

/* 03 — report. One natural scroll, not three collapsed accordions. */
.fs11-report{border:1px solid #dce8dc!important;background:#fff!important;border-radius:26px!important;box-shadow:0 12px 44px rgba(22,62,37,.055)!important;overflow:hidden;margin:18px 0!important}
.fs11-report .fs-report-intro{padding:clamp(22px,3.3vw,36px)!important;display:flex;gap:18px;align-items:end;justify-content:space-between;flex-wrap:wrap;background:#f6f8f4;border-bottom:1px solid #e3ebe0}
.fs11-report .fs-report-intro h2{font-size:clamp(1.7rem,2.8vw,2.45rem);color:#1c3929;margin:7px 0 9px;line-height:1.14;letter-spacing:-.05em}
.fs11-report .fs-report-intro p{font-size:.84rem;color:#58705e;max-width:56ch;line-height:1.6;margin:0}
.fs11-report .fs-report-links{padding:0!important;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.fs11-report .fs-report-links a{color:#276044;text-decoration:none;border:1px solid #d7e4d4;background:#fff;padding:10px 12px;border-radius:11px;font-size:.75rem;font-weight:750;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.fs11-report .fs-report-links .icon{width:13px;height:13px;transform:rotate(90deg)}
.fs11-report .fs-report-section{padding:clamp(21px,3vw,36px)!important;scroll-margin-top:18px;border-top:0!important;margin:0!important;display:block;background:#fff!important}
.fs11-report .fs-report-section+.fs-report-section{border-top:1px solid #e5ebe3!important}
.fs11-report .fs-report-section-heading{display:flex;gap:13px;align-items:center;margin:0 0 21px;padding:0;min-width:0}
.fs11-report .fs-report-section-heading>div{flex:1;min-width:0}
.fs11-section-number{width:44px;height:44px;flex:none;border-radius:14px;border:1px solid #dce8da;background:#eff6eb;color:#2d6143;display:grid;place-items:center;font-size:.94rem!important;font-weight:800!important;letter-spacing:-.03em!important}
.fs11-report .fs-report-section-heading div>span{display:block;color:#719075;font-size:.64rem;font-weight:850;letter-spacing:.12em}
.fs11-report .fs-report-section-heading h3{font-size:clamp(1.3rem,2.4vw,1.7rem);color:#1c3828;margin:3px 0 0;letter-spacing:-.04em}
.fs11-section-context{color:#6c7d6f;font-size:.74rem;white-space:nowrap;margin-left:auto}
.fs11-report .fs-report-body{display:block!important;padding:0!important;animation:none!important}
.fs11-report .nutrient-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}
.fs11-report .nutrient-card{background:#f8faf6!important;border:1px solid #e2eade!important;border-radius:16px!important;padding:16px!important;min-width:0;display:flex;flex-direction:column;gap:8px;box-shadow:none;overflow:hidden}
.fs11-report .nutrient-card.is-priority{border-color:#b7d6bd!important;background:#f0f7ef!important}
.fs11-report .nc-name{font-size:.76rem;font-weight:730;color:#4d6b55;letter-spacing:0}
.fs11-report .nc-value{font-size:clamp(1.28rem,2.2vw,1.7rem)!important;letter-spacing:-.045em;color:#223f2b;line-height:1.15;display:flex;flex-wrap:wrap;gap:4px 7px;align-items:baseline}
.fs11-report .nc-value small{font-weight:580;color:#5f7565;font-size:.68rem;letter-spacing:0;white-space:normal}
.fs11-report .nc-sub{font-size:.72rem;color:#5c7360;line-height:1.5;margin:0}
.fs11-report .nc-flag{font-size:.66rem;line-height:1.4;border-radius:9px;padding:6px 7px}
.fs11-report .nc-bar{margin-top:auto}
.fs11-basis-line{font-size:.75rem;color:#627669;line-height:1.65;margin-top:16px;display:flex;gap:7px;align-items:start}
.fs11-basis-line .icon{flex:none;width:16px;height:16px;margin-top:2px}
.fs11-composition-panel{background:#fafbf8;border:1px solid #e2eade;border-radius:17px;padding:20px;margin-top:20px}
.fs11-composition-panel h4{margin:0 0 14px;font-size:.94rem;font-weight:760;letter-spacing:-.025em}
.fs11-composition-panel .comp{margin:0}

/* 04 — readable, source-faithful ingredients. Long labels remain visible. */
.fs11-ingredients-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:clamp(18px,2.6vw,30px);align-items:start}
.fs11-ing-main,.fs11-allergen-side{min-width:0}
.fs11-subheading{margin:0 0 16px}
.fs11-subheading h4{font-size:1.25rem;margin:6px 0 7px;line-height:1.27;color:#223e2e;letter-spacing:-.038em}
.fs11-subheading p{font-size:.78rem;color:#5d7563;line-height:1.6;max-width:57ch}
.fs11-ingredient-count{display:flex;align-items:center;justify-content:space-between;gap:8px 15px;margin-bottom:12px;padding:0 2px;flex-wrap:wrap}
.fs11-ingredient-count span{font-size:.72rem;color:#617365;line-height:1.45}
.fs11-ingredient-count span:first-child{font-weight:740;color:#355d41}
.fs11-report .ing-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0 0 16px;padding:0}
.fs11-report .ing-item{position:relative;display:grid!important;grid-template-columns:35px minmax(0,1fr) auto;grid-auto-rows:auto;align-items:center;gap:5px 11px;margin:0!important;padding:12px 13px!important;background:#f8faf6!important;border:1px solid #e2eade!important;border-radius:13px!important;min-width:0;transform:none!important;transition:border-color .16s}
.fs11-report .ing-item.ing-additive{background:#fffaf1!important;border-color:#efdfbe!important}
.fs11-report .ing-item.ing-palm{background:#fffaf2!important;border-color:#e9dec6!important}
.fs11-report .ing-item:hover{border-color:#b5cfb3!important}
.fs11-report .ing-pos{width:33px;height:33px;display:grid;place-items:center;background:#e6eee4!important;color:#326449!important;font-size:.73rem;font-weight:850;border:1px solid #dbe7d9;border-radius:10px;grid-row:1/span 2}
.fs11-report .ing-item:first-child .ing-pos{background:#d4f0bf!important;border-color:#c4e3ae!important}
.fs11-report .ing-name{font-size:.9rem;line-height:1.5;color:#25392c;font-weight:610;overflow-wrap:anywhere;grid-column:2;grid-row:1}
.fs11-report .ing-name small{display:inline-block;font-size:.64rem;font-weight:720;color:#43744d;background:#eaf3e4;border:1px solid #d7e5cf;padding:2px 6px;border-radius:6px;margin-left:7px;white-space:nowrap;vertical-align:middle}
.fs11-report .ing-pct{font-size:.73rem;color:#2b6742;background:#e8f4e4;border:1px solid #d5e9d0;border-radius:8px;padding:6px 8px;font-weight:790;grid-column:3;grid-row:1;white-space:nowrap}
.fs11-report .ing-badge{font-size:.61rem;letter-spacing:.015em;text-transform:none;color:#76501d;border:1px solid #f0dfc1;background:#fff2d8;border-radius:7px;grid-column:2/-1;grid-row:2;justify-self:start;white-space:normal;line-height:1.3;padding:4px 7px}
.fs11-report .ing-badge-palm{background:#fdf2e1}
.fs11-report .ing-note{color:#637668;font-style:normal;font-size:.73rem;line-height:1.55;margin:13px 0 0}
.fs11-label-original{background:#fff;border:1px solid #dce7da;border-radius:14px;overflow:hidden;margin-top:17px}
.fs11-label-original-head{padding:12px 15px;border-bottom:1px solid #e1ebe0;background:#f2f7f0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fs11-label-original-head .icon{width:17px;height:17px;color:#417655}
.fs11-label-original-head strong{font-size:.79rem;color:#315740}
.fs11-label-original-head>span{color:#667a68;font-size:.68rem;margin-left:auto}
.fs11-label-original p{padding:15px;color:#364b3b;font-size:.85rem;line-height:1.78;margin:0!important;overflow-wrap:anywhere}
.fs11-ingredients-unknown{display:flex;gap:11px;align-items:start;border:1px solid #eac98f;background:#fff8e8;border-radius:13px;padding:15px}
.fs11-ingredients-unknown .icon{flex:none;color:#7d5319}
.fs11-ingredients-unknown strong{font-size:.91rem;color:#674516}
.fs11-ingredients-unknown p{font-size:.8rem;color:#755d3c;margin:4px 0 0}
.fs11-allergen-card{background:#fff9ee;border:1px solid #eddec2;border-radius:18px;padding:clamp(17px,2.1vw,23px);color:#3c3d30}
.fs11-aside-icon{width:39px;height:39px;background:#f9e8c8;display:grid;place-items:center;color:#876128;border-radius:13px;margin-bottom:14px}
.fs11-aside-icon .icon{width:21px;height:21px}
.fs11-allergen-card .fs11-tag{color:#866023}
.fs11-allergen-card h4{font-size:1.1rem;line-height:1.3;margin:6px 0 13px;color:#4e3d27;letter-spacing:-.027em}
.fs11-allergen-card p{font-size:.8rem;line-height:1.6;color:#6c5738;margin:0}
.fs11-allergen-card .allergen-chips{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 0}
.fs11-allergen-card .allergen-chip,.fs11-allergen-card .trace-chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #e9d4b6;color:#704b1a;font-weight:750;font-size:.77rem;line-height:1.35}
.fs11-allergen-card .trace-chip{background:#fef9f0}
.fs11-traces{border-top:1px solid #ecdfc8;padding-top:17px;margin-top:20px}
.fs11-traces>strong{font-size:.79rem;color:#594627;display:block;margin-bottom:7px}
.fs11-additives-fact{display:flex;gap:7px;align-items:start;margin:16px 0 0;font-size:.75rem!important;line-height:1.55!important;color:#745c3b!important}
.fs11-additives-fact .icon{width:17px;height:17px;flex:none}
.fs11-package-reminder{border-top:1px solid #e8d9bb;margin:17px 0 0!important;padding-top:15px;color:#5c4c35;font-size:.76rem!important;line-height:1.6!important}
.fs11-report .fs-source-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0!important;border:0!important;background:transparent!important;margin:0 0 19px}
.fs11-report .fs-source-summary>span{padding:13px 16px;background:#f6f9f3;border:1px solid #e0eade;border-radius:12px;display:grid;gap:6px;align-content:start;overflow-wrap:anywhere;font-size:.8rem;line-height:1.55}
.fs11-report .fs-source-summary strong{font-size:.67rem;letter-spacing:.05em;text-transform:uppercase;color:#64816a}
.fs11-report .fs-source-summary a{color:#276247;font-weight:750}
.fs11-report .fs-source-summary .dq-badge{display:inline-flex;margin:2px 4px 2px 0;width:fit-content}
.fs11-report .button-row{gap:8px;margin:8px 0 0}
.fs11-report .button-row .button{border-radius:11px;font-size:.78rem}

/* 05 — one amount calculator, legible units and immediate values. */
.fs11-portion-log{margin:20px 0!important;background:#fff!important;border:1px solid #dce6d9!important;border-radius:26px!important;padding:clamp(22px,3.2vw,34px)!important;box-shadow:0 12px 40px rgba(21,68,37,.05)!important}
.fs11-portion-intro{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:22px}
.fs11-portion-intro h2{font-size:clamp(1.5rem,2.7vw,2.06rem);font-weight:780;color:#1e3b2a;letter-spacing:-.047em;line-height:1.18;margin:5px 0 9px}
.fs11-portion-intro p{color:#5b7562;font-size:.85rem;line-height:1.63;margin:0;max-width:60ch}
.fs11-portion-intro p em{font-weight:720;font-style:normal;color:#255842}
.fs11-diary-pill{border:1px solid #dce9d9;color:#437052;background:#f4f8f0;border-radius:99px;padding:9px 12px;white-space:nowrap;display:flex;gap:6px;align-items:center;font-size:.72rem;font-weight:760;flex:none}
.fs11-diary-pill .icon{width:15px;height:15px}
.fs11-portion-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:14px}
.fs11-amount-card,.fs11-portioned-nutrients{border:1px solid #dde9d9;background:#f7faf5;border-radius:18px;padding:clamp(16px,2.2vw,23px);min-width:0}
.fs11-amount-card label{display:block;color:#365743;font-size:.79rem;font-weight:780;margin-bottom:12px}
.fs11-amount-card label span{color:#627b68;font-weight:600}
.fs11-amount-input-row{display:grid;grid-template-columns:45px minmax(0,1fr) 45px;gap:8px;align-items:stretch;min-height:69px}
.fs11-amount-input-row>button{display:grid;place-items:center;font-size:1.55rem;font-weight:600;border:1px solid #d8e6d4;border-radius:13px;background:#fff;color:#245f43;padding:0;min-width:0;min-height:57px}
.fs11-amount-input-row>button:active{background:#e9f2e5}
.fs11-amount-field{display:flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid #b9d8b9;border-radius:13px;padding:7px 12px;gap:7px;min-width:0}
.fs11-amount-field input{background:transparent!important;border:0!important;box-shadow:none!important;min-width:0;width:100%;max-width:150px;text-align:right;font-size:clamp(1.75rem,3vw,2.38rem)!important;line-height:1.15;letter-spacing:-.06em;font-weight:820;color:#1e4c34!important;padding:0!important;appearance:textfield}
.fs11-amount-field input:focus{outline:none;box-shadow:none}
.fs11-amount-field input::-webkit-outer-spin-button,.fs11-amount-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fs11-amount-field:focus-within{outline:3px solid #96c5a0;outline-offset:2px}
.fs11-amount-field strong{font-size:1.02rem;font-weight:700;color:#577962;flex:none}
.fs11-amount-card>p{color:#657866;font-size:.73rem;line-height:1.55;margin:11px 0 16px}
.fs11-portion-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fs11-portion-presets button{display:flex;flex-direction:column;gap:1px;align-items:center;justify-content:center;text-align:center;min-height:45px;border-radius:11px;border:1px solid #d9e7d8;background:#fff;padding:7px;color:#376149;line-height:1.3}
.fs11-portion-presets button[aria-pressed="true"]{background:#dff0d9;border-color:#95c39c;color:#1f5235}
.fs11-portion-presets strong{font-size:.74rem;font-weight:740}
.fs11-portion-presets small{font-size:.65rem;opacity:.85}
.fs11-portioned-nutrients{background:#1d4734;border-color:#1d4734;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.fs11-portion-results-head span{display:block;font-size:.66rem;font-weight:760;letter-spacing:.13em;color:#cee4cb;margin-bottom:5px}
.fs11-portion-results-head strong{font-size:1.19rem;letter-spacing:-.038em;color:#fff;font-weight:770}
.fs11-portion-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.fs11-portion-stat-grid>div{background:rgba(255,255,255,.085);border:1px solid rgba(230,255,221,.15);border-radius:11px;padding:13px 10px;min-width:0}
.fs11-portion-stat-grid span{display:block;font-size:.69rem;color:#c8e3cb;margin-bottom:7px}
.fs11-portion-stat-grid strong{font-size:clamp(.86rem,1.8vw,1.28rem);line-height:1.32;font-weight:820;color:#fff;letter-spacing:-.025em;overflow-wrap:anywhere}
#md-est-foot{font-size:.72rem;line-height:1.5;color:#d2e3d0;margin:0}
.fs11-portion-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px}
.fs11-portion-submit p{max-width:57ch;color:#687c6b;font-size:.72rem;line-height:1.6;margin:0}
.fs11-portion-submit button{border:0!important;border-radius:12px!important;background:#225e43!important;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 17px;min-height:52px;font-size:.86rem;font-weight:780;flex:none;box-shadow:none!important;cursor:pointer}
.fs11-portion-submit button .icon{width:17px;height:17px}
.fs11-portion-submit button:disabled{opacity:.45}
.fs11-portion-log .fs-product-log-feedback{font-size:.83rem;color:#205c41;margin-top:12px}
.fs11-portion-log .fs-product-log-feedback:empty{display:none}

/* Secondary report sections are distinct, not visually competitive. */
.fs-product-page{max-width:1110px}
.fs-product-page .breadcrumb{margin-bottom:16px}
.fs-product-page .fs-context-section{background:#fff;border:1px solid #e0e8df;border-radius:22px;box-shadow:none;margin:19px 0;padding:clamp(21px,2.6vw,30px)}
.fs-product-page .fs-context-section .fs-report-section-heading{margin-bottom:18px}
.fs-product-page .fs-context-section .fs-report-section-heading h3{font-size:1.28rem;color:#26412e}
.fs-product-page .fs-swaps-priority{background:#eff6ea;color:#1c3f2e;box-shadow:none;border-color:#d8e7d2}
.fs-product-page .fs-swaps-priority .d8-subhead h2{color:#20442f}
.fs-product-page .fs-swaps-priority .fs-mini-kicker{color:#316647}
.fs-product-page .fs-next-report{margin:26px 0 35px}
.fs11-result *,.fs11-home .fs-command *,.fs11-portion-log *,.fs11-report *{animation:none!important}
.fs11-home .fs-command .fs-scan-primary::after{display:none!important}

@media(max-width:980px){
 .fs11-launch{grid-template-columns:1fr!important;gap:20px!important}
 .fs11-launch h1{max-width:22ch;margin:15px 0!important}
 .fs11-launch-copy>p{max-width:65ch}
 .fs11-proof-row{margin-top:16px}
 .fs11-result-hero{grid-template-columns:minmax(0,1.2fr) minmax(170px,.8fr)}
 .fs11-report .nutrient-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .fs11-report .fs-report-intro{align-items:start}
 .fs11-ingredients-layout{grid-template-columns:minmax(0,1fr) minmax(220px,.85fr)}
}
@media(max-width:740px){
 .fs11-home>*+*{margin-top:17px}
 .fs11-launch{border-radius:23px!important;padding:23px 17px 17px!important;gap:21px!important}
 .fs11-launch h1{font-size:clamp(2.15rem,7vw,2.75rem)!important;letter-spacing:-.063em;margin:12px 0 12px!important;line-height:1.1!important}
 .fs11-launch-copy>p{font-size:.85rem;line-height:1.56}
 .fs11-proof-row{margin-top:14px;gap:6px}
 .fs11-proof-row span{font-size:.65rem;padding:6px 9px}
 .fs11-scan-panel{border-radius:18px!important;padding:16px!important}
 .fs11-scan-panel-top{margin-bottom:13px}
 .fs11-scan-panel-top strong{font-size:1.21rem}
 .fs11-ready{font-size:.62rem;padding:6px 8px}
 .fs11-scan-buttons button{min-height:63px!important;padding:10px 11px!important;gap:7px}
 .fs11-scan-buttons .fs-scan-primary{font-size:.78rem}
 .fs11-scan-buttons .fs-scan-primary .icon:first-child{width:22px!important;height:22px!important}
 .fs11-scan-buttons .fs-scan-primary small{font-size:.64rem}
 .fs11-scan-buttons .fs-scan-alt{font-size:.77rem}
 .fs11-separator{margin:14px 0 12px;font-size:.68rem}
 .fs11-scan-panel .fs-quick-find-row{min-height:54px}
 .fs11-scan-panel .fs-quick-find-row input{font-size:.76rem}
 .fs11-scan-panel .fs-quick-find-row button[type=submit]{font-size:.72rem;padding:8px}
 .fs11-scan-panel .fs-quick-find-row button[type=submit] .icon{display:none}
 .fs11-journey-line{gap:5px 7px;font-size:.66rem;justify-content:space-between;padding-inline:2px}
 .fs11-journey-line>span{gap:4px}
 .fs11-journey-line b{width:22px;height:22px;font-size:.59rem}
 .fs11-journey-line .fs11-journey-sep .icon{width:12px;height:12px}
 .fs11-home .fs-diary{padding:18px 15px!important;border-radius:19px!important}
 .fs11-home .fs-day-top h2{font-size:1.48rem}
 .fs11-home .fs-day-metric{padding:13px!important}
 .fs11-home .fs-day-metric-head strong{font-size:1.25rem}
 .fs11-home .fs-demo-link{align-items:stretch;flex-direction:column;padding:17px;gap:8px}
 .fs11-home .fs-demo-link button{justify-content:center}
 .fs11-result{border-radius:21px!important}
 .fs11-verdict-top{padding:22px 18px}
 .fs11-decision-tags{margin-bottom:18px;gap:6px}
 .fs11-decision-tags span{font-size:.61rem;padding:7px 9px}
 .fs11-result-hero{grid-template-columns:1fr;gap:20px}
 .fs11-verdict-symbol{width:44px;height:44px;border-radius:13px;margin-bottom:15px}
 .fs11-verdict-symbol .icon{width:24px;height:24px}
 .fs11-result h1#decision-title{font-size:clamp(1.95rem,7vw,2.45rem)!important;line-height:1.08!important}
 .fs11-result-summary{font-size:.9rem;margin-top:10px}
 .fs11-result-product{display:grid;grid-template-columns:80px minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:1px 14px;padding:12px;border-radius:16px}
 .fs11-result-product .d8-pack{grid-row:1/5;grid-column:1;width:80px;height:96px;margin:0;border-radius:11px}
 .fs11-result-product .d8-pack img{padding:4px}
 .fs11-product-eyebrow,.fs11-result-product .food-brand,.fs11-result-product h2,.fs11-result-product small{grid-column:2}
 .fs11-result-product h2{font-size:1rem}
 .fs11-evidence-row{grid-template-columns:1fr;gap:12px;padding:19px 18px}
 .fs11-evidence-heading h2{font-size:1.4rem}
 .fs11-evidence-heading p{font-size:.82rem}
 .fs11-evidence-list{padding:14px}
 .fs11-metrics-head{padding:22px 18px 12px;gap:6px}
 .fs11-metrics-head h2{font-size:1.27rem}
 .fs11-result .d8-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:0 18px 21px!important}
 .fs11-result .d8-metric{min-height:95px;padding:13px!important}
 .fs11-result .d8-metric strong{font-size:1.22rem}
 .fs11-result-source{padding:15px 18px}
 .fs11-result .d10-trust{display:flex;gap:7px}
 .fs11-result .d10-confidence,.fs11-result .d10-sugar{flex:1 1 180px;padding:9px}
 .fs11-result .d8-result-actions{padding:13px 18px 15px!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .fs11-result .d8-result-actions .button{min-width:0;font-size:.72rem;padding:8px 9px;min-height:44px;justify-content:center}
 .fs11-result .d8-result-actions .button:first-child{grid-column:1/-1;margin:0}
 .fs11-personal-checks{padding:17px 18px}
 .fs11-personal-checks .d8-facts{grid-template-columns:1fr}
 .fs11-result .d8-result-tools{padding:11px 18px 14px!important}
 .fs11-report{border-radius:20px!important}
 .fs11-report .fs-report-intro{padding:22px 17px!important}
 .fs11-report .fs-report-intro h2{font-size:1.67rem}
 .fs11-report .fs-report-links{gap:7px}
 .fs11-report .fs-report-links a{font-size:.68rem;padding:8px 10px}
 .fs11-report .fs-report-section{padding:23px 17px!important}
 .fs11-report .fs-report-section-heading{gap:10px;margin-bottom:16px;flex-wrap:wrap}
 .fs11-section-number{width:38px;height:38px;border-radius:11px}
 .fs11-report .fs-report-section-heading h3{font-size:1.3rem}
 .fs11-section-context{flex-basis:100%;margin-left:48px;white-space:normal;font-size:.7rem}
 .fs11-report .nutrient-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .fs11-report .nutrient-card{padding:13px!important;gap:7px}
 .fs11-report .nc-value{font-size:1.26rem!important}
 .fs11-ingredients-layout{display:flex;flex-direction:column;gap:16px}
 .fs11-allergen-side{width:100%;order:-1}
 .fs11-allergen-card{padding:16px;border-radius:14px}
 .fs11-ing-main{width:100%}
 .fs11-report .fs-source-summary{grid-template-columns:1fr}
 .fs11-portion-log{border-radius:20px!important;padding:21px 17px!important}
 .fs11-portion-intro{margin-bottom:15px;flex-wrap:wrap;gap:9px}
 .fs11-portion-intro h2{font-size:1.6rem}
 .fs11-portion-intro p{font-size:.81rem}
 .fs11-diary-pill{font-size:.68rem;padding:6px 10px}
 .fs11-portion-grid{grid-template-columns:1fr;gap:10px}
 .fs11-amount-card,.fs11-portioned-nutrients{padding:17px;border-radius:15px}
 .fs11-amount-input-row{min-height:62px}
 .fs11-portion-stat-grid strong{font-size:1.02rem}
 .fs11-portion-submit{align-items:stretch;flex-direction:column;gap:10px;margin-top:12px}
 .fs11-portion-submit button{width:100%}
 .fs-product-page .fs-context-section{padding:20px 17px;border-radius:18px}
}
@media(max-width:370px){
 .fs11-home .fs-command{padding-inline:13px!important}
 .fs11-scan-panel{padding:12px!important}
 .fs11-launch h1{font-size:2.1rem!important}
 .fs11-scan-buttons{grid-template-columns:1.2fr .8fr}
 .fs11-scan-buttons button{gap:6px;padding:9px!important}
 .fs11-scan-buttons .fs-scan-alt span{font-size:.71rem}
 .fs11-journey-line{font-size:.59rem;gap:4px}
 .fs11-journey-line b{width:19px;height:19px}
 .fs11-result .d8-result-actions .button{font-size:.65rem}
 .fs11-decision-tags span{font-size:.57rem}
 .fs11-report .nc-value{font-size:1.09rem!important}
 .fs11-report .ing-item{grid-template-columns:30px minmax(0,1fr) auto;padding:10px!important;gap:5px 8px}
 .fs11-report .ing-pos{width:28px;height:28px;font-size:.66rem}
 .fs11-report .ing-name{font-size:.83rem}
 .fs11-amount-input-row{grid-template-columns:38px minmax(0,1fr) 38px;gap:5px}
 .fs11-amount-field{padding:6px}
 .fs11-amount-field input{font-size:1.7rem!important}
}

/* Dark scheme: preserve contrast; do not run light cards against dark global ink. */
:root[data-theme="dark"]{--cream:#111e18;--paper:#182c21;--paper-2:#223a2b;--ink:#ecf5e9;--ink-2:#d6eddd;--bark:#b8cdbd;--line:#37503c;--terra:#badc9d;--terra-deep:#b7dba1;--terra-soft:#2b4832}
:root[data-theme="dark"] body{background:#111e18}
:root[data-theme="dark"] .site-header{background:#17291f;border-color:#34523b}
:root[data-theme="dark"] .fs11-scan-panel,:root[data-theme="dark"] .fs11-report,:root[data-theme="dark"] .fs11-result,:root[data-theme="dark"] .fs11-portion-log,:root[data-theme="dark"] .fs11-home .fs-diary,:root[data-theme="dark"] .fs-product-page .fs-context-section{background:#1c3025!important;color:#e8f3e8!important;border-color:#3b5540!important}
:root[data-theme="dark"] .fs11-scan-panel-top strong,:root[data-theme="dark"] .fs11-home .fs-day-top h2,:root[data-theme="dark"] .fs11-report .fs-report-intro h2,:root[data-theme="dark"] .fs11-report .fs-report-section-heading h3,:root[data-theme="dark"] .fs11-portion-intro h2,:root[data-theme="dark"] .fs11-metrics-head h2,:root[data-theme="dark"] .fs11-evidence-heading h2,:root[data-theme="dark"] .fs11-subheading h4{color:#edf6e9}
:root[data-theme="dark"] .fs11-home .fs-day-metric,:root[data-theme="dark"] .fs11-scan-panel .fs-quick-find-row,:root[data-theme="dark"] .fs11-home .fs-meal-quick,:root[data-theme="dark"] .fs11-report .fs-report-intro,:root[data-theme="dark"] .fs11-report .nutrient-card,:root[data-theme="dark"] .fs11-report .fs-source-summary>span,:root[data-theme="dark"] .fs11-evidence-row,:root[data-theme="dark"] .fs11-result .d8-metric,:root[data-theme="dark"] .fs11-composition-panel,:root[data-theme="dark"] .fs11-report .ing-item,:root[data-theme="dark"] .fs11-amount-card,:root[data-theme="dark"] .fs11-personal-checks .fs-open-fact{background:#233a2a!important;border-color:#405842!important}
:root[data-theme="dark"] .fs11-result .d8-metric strong,:root[data-theme="dark"] .fs11-home .fs-day-metric strong,:root[data-theme="dark"] .fs11-report .nc-value,:root[data-theme="dark"] .fs11-report .ing-name,:root[data-theme="dark"] .fs11-report .nc-name,:root[data-theme="dark"] .fs11-result .fs11-evidence-list strong,:root[data-theme="dark"] .fs11-personal-checks h3{color:#e9f6e9}
:root[data-theme="dark"] .fs11-evidence-list,:root[data-theme="dark"] .fs11-result-source,:root[data-theme="dark"] .fs11-result .d8-result-actions,:root[data-theme="dark"] .fs11-result .d8-result-tools,:root[data-theme="dark"] .fs11-result-product,:root[data-theme="dark"] .fs11-label-original,:root[data-theme="dark"] .fs11-amount-field,:root[data-theme="dark"] .fs11-amount-input-row>button,:root[data-theme="dark"] .fs11-portion-presets button{background:#1d3325;border-color:#466248;color:#e9f4e7}
:root[data-theme="dark"] .fs11-evidence-heading p,:root[data-theme="dark"] .fs11-evidence-list p,:root[data-theme="dark"] .fs11-portion-intro p,:root[data-theme="dark"] .fs11-subheading p,:root[data-theme="dark"] .fs11-report .nc-sub,:root[data-theme="dark"] .fs11-report .nc-value small,:root[data-theme="dark"] .fs11-report .fs-report-intro p,:root[data-theme="dark"] .fs11-result .d8-metric small,:root[data-theme="dark"] .fs11-result .d8-source{color:#c0d2bf}
:root[data-theme="dark"] .fs11-result-product h2,:root[data-theme="dark"] .fs11-scan-panel .fs-quick-find-row input,:root[data-theme="dark"] .fs11-scan-panel .fs-quick-find-row input::placeholder,:root[data-theme="dark"] .fs11-report .ing-note,:root[data-theme="dark"] .fs11-report .fs-source-summary>span{color:#cfe4cf}
:root[data-theme="dark"] .fs11-report .fs-report-links a,:root[data-theme="dark"] .fs11-home .fs-demo-link button{background:#28492f;color:#e6f6e1;border-color:#4c6c50}
:root[data-theme="dark"] .fs11-allergen-card{background:#493c27;border-color:#786038;color:#ffecc8}
:root[data-theme="dark"] .fs11-allergen-card h4,:root[data-theme="dark"] .fs11-allergen-card p,:root[data-theme="dark"] .fs11-traces>strong,:root[data-theme="dark"] .fs11-package-reminder,:root[data-theme="dark"] .fs11-additives-fact{color:#ffe5b5!important}
:root[data-theme="dark"] .fs11-report .ing-item.ing-additive,:root[data-theme="dark"] .fs11-report .ing-item.ing-palm{background:#3d3526!important;border-color:#655a3b!important}
:root[data-theme="dark"] .fs11-report .fs11-label-original-head{background:#2b4730;border-color:#426046}
:root[data-theme="dark"] .fs11-report .fs11-label-original p{color:#ebf3e9}
:root[data-theme="dark"] .fs11-amount-field input{color:#e5f4e3!important}
:root[data-theme="dark"] .fs11-portion-presets button[aria-pressed="true"]{background:#315a34;color:#e9ffe4;border-color:#81ab7a}
:root[data-theme="dark"] .fs11-result .d10-confidence,:root[data-theme="dark"] .fs11-result .d10-sugar{background:#2a422e;border-color:#49624c}
:root[data-theme="dark"] .fs11-home .fs-demo-link{background:#233d2b;border-color:#48654a}

@media(prefers-reduced-motion:reduce){.fs11-home *, .fs11-result *, .fs11-report *, .fs11-portion-log *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.fs11-home .fs11-launch,.fs11-journey-line,.fs11-result .d8-result-actions,.fs11-result .d8-result-tools,.fs11-portion-submit button,.fs11-report .button-row{display:none!important}.fs11-report .fs-report-body{display:block!important}.fs11-result,.fs11-report{box-shadow:none!important;border:1px solid #ccc!important;break-inside:auto}}

/* Fast facts are in the result's first visual viewport, with explicit quantity basis. */
.fs11-immediate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:19px;max-width:620px}
.fs11-immediate>div{border:1px solid rgba(221,240,213,.25);border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.065);min-width:0}
.fs11-immediate span{display:block;color:#bfd9c5;font-size:.67rem;font-weight:700;letter-spacing:.035em;line-height:1.4}
.fs11-immediate strong{display:block;color:#fff;font-size:clamp(.83rem,1.5vw,.97rem);line-height:1.36;margin-top:5px;overflow-wrap:anywhere}
.fs11-result .fs-report-section,.fs-product-page .fs-swaps-priority{scroll-margin-top:100px}
@media(max-width:360px){.fs11-immediate{grid-template-columns:1fr}}

/* One-tap navigation to the precise information a shopper needs. */
.fs-product-page .fs11-shortcuts{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:13px 0;padding:12px 15px;background:#edf4ea;border:1px solid #dbe8d6;border-radius:15px}
.fs11-shortcuts>span{font-size:.65rem;letter-spacing:.095em;font-weight:810;color:#64836b;margin-right:5px}
.fs11-shortcuts a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 11px;background:#fff;border:1px solid #d7e5d4;border-radius:10px;color:#275d40;font-size:.76rem;font-weight:730;text-decoration:none}
.fs11-shortcuts a:hover,.fs11-shortcuts a:focus-visible{border-color:#8fbb94;background:#f8fcf6;color:#18462e}
.fs11-shortcuts a .icon{width:15px;height:15px}
.fs11-shortcuts a .icon:last-child{transform:rotate(90deg);width:12px;height:12px}
.fs11-report .fs-report-section,.fs11-portion-log,.fs-product-page .fs-swaps-priority{scroll-margin-top:100px}
@media(max-width:580px){.fs-product-page .fs11-shortcuts{padding:12px;gap:7px}.fs11-shortcuts>span{width:100%;padding:1px 3px 4px}.fs11-shortcuts a{flex:1 1 43%;justify-content:center;font-size:.71rem;padding:8px;gap:6px}.fs11-shortcuts a .icon:last-child{display:none}}
:root[data-theme="dark"] .fs-product-page .fs11-shortcuts{background:#1b3727;border-color:#41634a}
:root[data-theme="dark"] .fs11-shortcuts a{background:#244332;border-color:#3c6545;color:#e3f3e1}
/* Deliberately light product identification card on a dark report hero: scannable and WCAG-readable. */
:root[data-theme="dark"] .fs11-result-product{background:#f7faf5!important;color:#1b3e2a!important;border:1px solid #d7e7d0!important}
:root[data-theme="dark"] .fs11-result-product h2{color:#183b2a!important}
:root[data-theme="dark"] .fs11-result-product .food-brand{color:#44694e!important}
:root[data-theme="dark"] .fs11-result-product .fs11-product-eyebrow{color:#678069!important}
:root[data-theme="dark"] .fs11-result-product small{color:#637467!important}

/* ===== from insight.css ===== */
/* FoodScan 11.1 Insight — evidence-first high-contrast result, ingredient and portion components.
   Additive stylesheet: legacy scanner, policy, PWA and grocery workflows are retained. */

/* Home: single clear action, real one-click lookups, concise daily summary. */
.fs11-home .fs11-launch{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;gap:clamp(18px,3.5vw,44px)!important;padding:clamp(20px,3.8vw,43px)!important}
.fs11-home .fs11-launch h1{font-size:clamp(2.3rem,4.3vw,3.8rem)!important;max-width:12ch;margin:14px 0!important;line-height:1.05!important}
.fs11-home .fs11-launch-copy>p{max-width:40ch;line-height:1.55}
.fs11-home .fs11-proof-row{margin-top:17px}
.fs11-home .fs11-scan-panel{padding:clamp(15px,2vw,23px)!important}
.fs11-home .fs11-scan-panel .fs-quick-find-row button[type=submit]{background:#195b3b!important;color:#fff!important;border-radius:11px;font-weight:770}
.fs11-home .fs11-scan-panel .fs-quick-find-row button[type=submit]:hover{background:#12402a!important}
.fs12-instant-try{border-top:1px solid #e1e9e0;margin-top:17px;padding-top:15px;display:grid;gap:9px;color:#224536}
.fs12-instant-try>span{font-weight:850;font-size:.79rem;letter-spacing:-.01em}
.fs12-try-chips{display:flex;gap:8px;flex-wrap:wrap}
.fs12-try-chips button{background:#eef5e9;color:#194c33;border:1px solid #cddfc9;border-radius:10px;display:inline-flex;align-items:center;gap:4px;min-height:42px;padding:8px 11px;font-size:.74rem;font-weight:750;line-height:1.25;text-align:left;cursor:pointer}
.fs12-try-chips button:hover{background:#dcefd5;border-color:#8ab58e}
.fs12-try-chips .icon{width:12px;height:12px}
.fs12-instant-try small{color:#5c7464;font-size:.69rem;line-height:1.45}
.fs12-today-peek{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr)) auto;gap:12px;align-items:center;background:#fff;border:1px solid #dce9dd;border-radius:19px;padding:16px 18px;box-shadow:0 8px 30px rgba(13,43,26,.04)}
.fs12-today-peek>div{display:grid;gap:4px;min-width:0}.fs12-today-peek>div+div{border-left:1px solid #dfe9df;padding-left:14px}
.fs12-today-peek span{font-size:.72rem;color:#526e5b}.fs12-today-peek strong{font-size:clamp(.95rem,1.6vw,1.3rem);color:#1c4230;line-height:1.2;overflow-wrap:anywhere}
.fs12-today-peek small{font-size:.66rem;color:#816139}.fs12-today-peek>a{color:#17603e;font-weight:800;font-size:.8rem;display:flex;align-items:center;gap:5px;white-space:nowrap;text-decoration:none}
.fs12-today-peek>a .icon{width:15px;height:15px}
.fs12-diary-sugar-note{color:#506956;font-size:.75rem;margin:6px 0 18px;line-height:1.55}
/* Result: 12-column bento with compact product identity and complete actionable evidence. */
.fs12-result{border-radius:25px!important;overflow:hidden!important}
.fs12-result .fs12-hero{background:linear-gradient(125deg,#103529,#0c2822 75%);padding:clamp(16px,2.75vw,30px);color:#f2faf3}
.fs12-hero *{box-sizing:border-box}
.fs12-hero-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 15px;padding-bottom:15px;border-bottom:1px solid rgba(200,241,212,.17);margin-bottom:16px}
.fs12-source-status{display:inline-flex;align-items:center;gap:7px;color:#d8f1df;font-size:.74rem;font-weight:730;line-height:1.3}
.fs12-source-status .icon{width:16px;height:16px;color:#c8f6b5}
.fs12-hero-code{font:600 .73rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#bed9cb;overflow-wrap:anywhere}
.fs12-hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(11px,1.5vw,19px);align-items:start}
.fs12-identity{grid-column:span 3;min-width:0;background:#f5f8f0;border-radius:19px;border:1px solid #e0ebdf;padding:14px;color:#123828;display:grid;gap:12px;align-content:start}
.fs12-identity .d8-pack{width:100%;aspect-ratio:1.18;height:auto;min-height:124px;max-height:215px;background:#fff;border:1px solid #e4ebe3;border-radius:14px;display:grid;place-items:center;overflow:hidden}
.fs12-identity .d8-pack img{width:100%;height:100%;padding:7px;object-fit:contain}
.fs12-identity .d8-pack svg{max-height:140px;max-width:90%}
.fs12-identity h2{font-size:clamp(1.02rem,2vw,1.42rem)!important;line-height:1.24;letter-spacing:-.035em;margin:5px 0;color:#14382a!important;overflow-wrap:anywhere}
.fs12-identity p{font-size:.78rem;line-height:1.3;color:#527362;margin:4px 0 0}
.fs12-product-kicker{color:#356c4a;font-size:.71rem;line-height:1.3;font-weight:800;letter-spacing:.07em;text-transform:uppercase;overflow-wrap:anywhere}
.fs12-executive{grid-column:span 9;min-width:0;padding:clamp(13px,1.9vw,23px);border-radius:20px;background:rgba(255,255,255,.055);border:1px solid rgba(206,238,211,.19)}
.fs12-executive-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.fs12-verdict-label{color:#c8f6b5;font-size:.69rem;font-weight:850;letter-spacing:.125em}
.fs12-score-row{display:flex;gap:7px;flex-wrap:wrap}
.fs12-score{display:flex;align-items:center;gap:8px;min-height:43px;padding:6px 10px;border:1px solid rgba(238,255,234,.18);border-radius:11px;background:rgba(255,255,255,.08);color:#f7fff4;font-size:.73rem}
.fs12-score small{font-size:.67rem;font-weight:730;color:#ecf9e9}
.fs12-score strong{display:inline-grid;place-items:center;font-size:1.05rem;min-width:27px;height:27px;border-radius:7px;color:#fff;background:#345f49}
.fs12-score>span{color:#e0efdf;font-size:.67rem}
.fs12-grade-a strong{background:#006b3e}.fs12-grade-b strong{background:#538d28}.fs12-grade-c strong{background:#e0ae18;color:#1f2a14}.fs12-grade-d strong{background:#d87519}.fs12-grade-e strong{background:#bd3c24}.fs12-nova-4 strong{background:#be4c37}
.fs12-score-missing strong{background:#50695a}
.fs12-result h1#decision-title{font-size:clamp(1.65rem,3vw,2.65rem)!important;max-width:100%!important;line-height:1.12!important;letter-spacing:-.044em!important;color:#fff!important;font-weight:850!important;text-wrap:balance;margin:17px 0 10px!important}
.fs12-verdict-lead{color:#d9eddd!important;font-size:clamp(.87rem,1.3vw,.98rem);line-height:1.58;max-width:80ch;margin:0 0 17px}
.fs12-preferences{padding:10px 13px;background:rgba(217,243,217,.09);border-left:3px solid #c8f6b5;border-radius:9px;margin-bottom:14px;display:grid;gap:4px;color:#e8f5e6;font-size:.77rem;line-height:1.5}
.fs12-preferences strong{font-size:.65rem;letter-spacing:.1em;color:#d2f3bc}.fs12-pref-check,.fs12-pref-unconfirmed{border-left-color:#facb88}
.fs12-result .d8-allergen-alert{max-width:100%;margin:8px 0 16px}
.fs12-traffic{padding:13px;border-radius:15px;border:1px solid rgba(221,247,227,.17);background:rgba(5,23,16,.3)}
.fs12-traffic-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:11px}
.fs12-traffic-head strong{color:#f1f9ee;font-size:.93rem;font-weight:800}.fs12-traffic-head span{font-size:.72rem;color:#cfebd4}
.fs12-traffic .lights{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0!important}
.fs12-traffic .light{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0;min-height:106px;padding:12px!important;border:1px solid rgba(225,245,220,.22)!important;border-radius:12px!important;background:#233d32!important;box-shadow:none!important;color:#edf8ee!important}
.fs12-traffic .light.l-high{background:#533034!important;border-color:#915962!important}
.fs12-traffic .light.l-medium{background:#58472a!important;border-color:#8e733e!important}
.fs12-traffic .light.l-low{background:#234d38!important;border-color:#437c5a!important}
.fs12-traffic .light-name{font-size:.77rem!important;font-weight:720!important;color:#f0f8ed!important}
.fs12-traffic .light-top{gap:6px!important;display:flex;align-items:center}
.fs12-traffic .light-val{color:#fff!important;font-weight:850!important;font-size:clamp(1rem,1.6vw,1.34rem)!important;line-height:1.1!important;white-space:normal}
.fs12-traffic .light-val small{font-size:.66rem!important;color:#e9f5e6!important}
.fs12-traffic .light-word{font-size:.68rem!important;font-weight:750!important;color:#f9f5eb!important;display:inline-flex;align-items:center;gap:4px}
.fs12-traffic .light-note{font-size:.65rem!important;color:#e5ebdc!important;line-height:1.3;margin-top:auto}
.fs12-hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.fs12-hero-actions>a,.fs12-hero-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;border-radius:11px;min-height:46px;padding:10px 14px;font-weight:800;font-size:.82rem;line-height:1.2;cursor:pointer;border:1px solid rgba(224,249,216,.27)}
.fs12-hero-actions .icon{width:16px;height:16px}
.fs12-hero-actions .fs12-hero-primary{background:#c8f6b5!important;color:#123e28!important;border-color:#c8f6b5!important}
.fs12-hero-actions .fs12-hero-primary:hover{background:#e2ffce!important}
.fs12-hero-actions .fs12-hero-secondary{background:#254739!important;color:#f8fff9!important;border-color:#638473!important}
.fs12-hero-actions .fs12-hero-secondary:hover{background:#34634d!important}
.fs12-hero-disclaimer{font-size:.7rem;color:#c9e0d0;line-height:1.45;margin:11px 0 0}
.fs12-result .fs11-evidence-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.fs12-result .d8-result-actions .button-outline{color:#17412d!important;background:#fff!important;border:1px solid #afcdb6!important;font-weight:800!important}
.fs12-result .d8-result-actions .button-outline:hover{background:#ecf6e7!important}
/* Report headers no longer have invisible light text on a white surface. */
.fs11-report .fs-report-section-heading{background:#204c38!important;border:1px solid #265641!important;color:#fff!important;border-radius:13px!important;padding:14px 16px!important}
.fs11-report .fs-report-section-heading h3{color:#fff!important;font-weight:850!important}
.fs11-report .fs-report-section-heading>div>span,.fs11-report .fs-report-section-heading .fs11-section-context,.fs11-report .fs11-section-number{color:#e2f3e5!important}
.fs11-report .fs-report-section-heading .fs11-section-number{background:#3a7050!important;border-color:#4c8461!important}
.fs11-report .button-outline,.fs-product-page .fs-context-section .button-outline{color:#154631!important;background:#fff!important;border:1px solid #a6c2aa!important;font-weight:750!important}
.fs11-report .button-outline:hover,.fs-product-page .fs-context-section .button-outline:hover{background:#ecf7e9!important}
/* Ingredients: clear allergen banner, faithful quantities, excellent long-label wrapping. */
.fs12-ingredient-header{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:8px 15px;margin-bottom:16px}
.fs12-ingredient-header h4{color:#1a3929;font-size:clamp(1.18rem,2vw,1.48rem);letter-spacing:-.03em;margin:5px 0}
.fs12-ingredient-header p{color:#53705c;font-size:.83rem;line-height:1.5;margin:3px 0}
.fs12-transparency{border:1px solid #d1e0d0;border-radius:20px;background:#eef5ea;padding:7px 12px;font-weight:680;font-size:.69rem;color:#325e3c}
.fs12-allergen-notice{display:flex;align-items:start;gap:13px;border:1px solid #e3c88b;background:#fff8e9;border-radius:16px;padding:16px;margin-bottom:20px;color:#6b471c}
.fs12-allergen-icon{width:34px;height:34px;background:#f4d8a0;border-radius:10px;display:grid;place-items:center;flex:none;color:#75431b}
.fs12-allergen-notice strong{display:block;color:#6c4514;font-size:.91rem;margin-bottom:8px}
.fs12-allergen-notice .allergen-chips{margin:7px 0}.fs12-allergen-notice p{font-size:.79rem;color:#785936;margin:6px 0}
.fs12-allergen-notice small{display:block;color:#755530;font-size:.71rem;line-height:1.5;margin-top:8px}
.fs12-ingredient-intro{display:flex;align-items:center;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;border-bottom:1px solid #e0e8df;padding-bottom:13px;margin-bottom:12px}
.fs12-ingredient-intro strong{color:#1a3b29;font-size:.97rem}.fs12-ingredient-intro span{color:#5f7362;font-size:.74rem}
.fs12-ingredient-list{padding:0;margin:0;list-style:none;display:grid;gap:9px}
.fs12-ing-row{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(74px,98px);gap:12px;align-items:center;background:#fafcf8;border:1px solid #e0e9df;border-left:4px solid #b7ceb9;border-radius:13px;padding:13px;min-width:0}
.fs12-ing-row.fs12-ing-sugar{border-left-color:#b84148;background:#fffafa}.fs12-ing-row.fs12-ing-oil{border-left-color:#aa712d;background:#fffdf8}.fs12-ing-row.fs12-ing-allergen{border-left-color:#277ea0;background:#f8fbfd}.fs12-ing-row.fs12-ing-additive{border-left-color:#8a73b1;background:#fbfafe}
.fs12-ing-index{display:grid;place-items:center;border-radius:9px;height:38px;background:#e8f0e7;color:#325b44;font-weight:850;font-variant-numeric:tabular-nums;font-size:.75rem}
.fs12-ing-content{display:flex;flex-direction:column;gap:5px;min-width:0}
.fs12-ing-content>strong{font-size:clamp(.86rem,1.4vw,.99rem);font-weight:780;color:#173828;line-height:1.42;overflow-wrap:anywhere}
.fs12-ing-translation{font-size:.74rem;color:#536e5d;line-height:1.36;overflow-wrap:anywhere}
.fs12-ing-label{font-size:.67rem;color:#586e60;font-weight:740;line-height:1.38}
.fs12-ing-bar{height:5px;border-radius:5px;background:#dfeade;overflow:hidden;max-width:190px;margin-top:5px}
.fs12-ing-bar span{display:block;height:100%;border-radius:inherit;background:#256345}
.fs12-ing-sugar .fs12-ing-bar span{background:#be5356}.fs12-ing-allergen .fs12-ing-bar span{background:#2a81a1}.fs12-ing-oil .fs12-ing-bar span{background:#ae7236}
.fs12-ing-right{min-width:0;display:grid;justify-items:end;gap:4px;text-align:right}
.fs12-ing-percent{font-size:1.07rem;font-weight:850;color:#165437;font-variant-numeric:tabular-nums;white-space:nowrap}
.fs12-ing-unknown{color:#647b6d;font-size:.72rem;font-weight:730;white-space:nowrap}
.fs12-ing-right small{font-size:.64rem;color:#6c7b6b}
.fs12-label-footnote{margin-top:15px;border-left:3px solid #8faf8c;background:#f1f7ed;padding:12px 15px;display:grid;gap:5px;color:#315742;font-size:.79rem}
.fs12-label-footnote strong{font-size:.76rem}.fs12-label-footnote small{font-size:.67rem;color:#627766}
.fs12-raw-label{margin-top:18px;border:1px solid #d9e4d5;border-radius:15px;background:#f6f9f3;overflow:hidden}
.fs12-raw-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#e8f1e5;color:#244a33;padding:12px 15px}
.fs12-raw-head strong{font-size:.82rem}.fs12-raw-head span{font-size:.65rem;margin-left:auto;color:#486b4b;font-weight:800}
.fs12-raw-head .icon{width:17px;height:17px}.fs12-raw-label p{font-size:.83rem;line-height:1.75;color:#2e4b39;padding:14px 16px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.fs12-ing-disclaimer{font-size:.73rem;color:#556e59;margin:12px 0 0;line-height:1.65}
/* Portion studio: unified calculation, 8 nutrients, sugar equivalence is explained. */
.fs12-portion .fs12-portion-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;align-items:stretch}
.fs12-portion .fs12-portion-control{background:#f5f9f1!important;display:flex;flex-direction:column;justify-content:flex-start;min-width:0}
.fs12-portion .fs12-portion-control label{font-weight:820;color:#294c35}
.fs12-portion .fs12-amount-stepper{margin:0 0 13px}
.fs12-portion input[type=range]{width:100%;accent-color:#246b46;cursor:pointer;margin:8px 0 14px;min-height:18px}
.fs12-portion .fs12-presets button{min-height:58px;background:#fff!important;color:#25523b!important;border:1px solid #d1e3d0!important;align-items:start;text-align:left;padding:10px 12px}
.fs12-portion .fs12-presets button[aria-pressed=true]{border-color:#1d6b46!important;background:#e2f4dc!important;box-shadow:inset 0 0 0 1px #4a945e!important}
.fs12-portion .fs12-presets button small{font-size:.67rem;color:#637a67;line-height:1.35}
.fs12-portion .fs12-portion-output{justify-content:flex-start;background:#183d2f!important;color:#f6fff1!important;border-color:#183d2f!important}
.fs12-portion .fs12-sugar-focus{padding:13px 15px;background:#35513c;border:1px solid #55765a;border-radius:13px;display:grid;gap:5px;color:#f2fff2}
.fs12-portion .fs12-sugar-focus[hidden]{display:none!important}
.fs12-sugar-focus>span{font-size:.73rem;font-weight:750;color:#e1f5dc}
.fs12-sugar-focus strong{font-size:clamp(1.13rem,2vw,1.6rem);letter-spacing:-.03em;color:#fff;font-weight:850}
.fs12-sugar-focus small{font-size:.67rem;color:#e2f0dd;line-height:1.5}
.fs12-portion .fs12-macro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fs12-portion .fs12-macro-grid>div{background:#294f3d;border:1px solid #52745d;border-radius:11px;padding:11px;display:grid;gap:7px;align-content:start;min-width:0}
.fs12-portion .fs12-macro-grid .fs12-macro-s{background:#62413a;border-color:#96716b}
.fs12-portion .fs12-macro-grid .fs12-macro-sat{background:#5b482e;border-color:#8a6b3f}
.fs12-portion .fs12-macro span{font-size:.66rem;color:#e4eee3;line-height:1.3}
.fs12-portion .fs12-macro strong{font-size:clamp(.85rem,1.25vw,1.04rem);color:#fff;overflow-wrap:anywhere;line-height:1.24;font-variant-numeric:tabular-nums}
.fs12-portion .fs12-portion-submit button{background:#205f42!important;color:#fff!important;font-size:.86rem}
.fs12-portion .fs12-portion-submit button:hover{background:#114b30!important}
.fs12-portion .fs12-portion-submit p{max-width:65ch}
/* Readability on dark theme: explicit color pairing, not generic !important color inheritance. */
:root[data-theme=dark] .fs12-result .fs12-hero{background:#102c24!important}
:root[data-theme=dark] .fs12-identity{background:#f5f8f0!important;color:#173b2c!important}
:root[data-theme=dark] .fs12-identity h2{color:#143828!important}
:root[data-theme=dark] .fs11-report .fs-report-section-heading{background:#28543f!important;border-color:#487659!important}
:root[data-theme=dark] .fs11-report .fs-report-section-heading h3{color:#fff!important}
:root[data-theme=dark] .fs12-ingredient-header h4,:root[data-theme=dark] .fs12-ingredient-intro strong{color:#e9f6e9}
:root[data-theme=dark] .fs12-ingredient-header p,:root[data-theme=dark] .fs12-ingredient-intro span,:root[data-theme=dark] .fs12-ing-disclaimer{color:#c5ddc9}
:root[data-theme=dark] .fs12-ing-row{background:#233e30;border-color:#42654c}
:root[data-theme=dark] .fs12-ing-row.fs12-ing-sugar{background:#472f30;border-left-color:#e47680}
:root[data-theme=dark] .fs12-ing-row.fs12-ing-oil{background:#413926;border-left-color:#eab36c}
:root[data-theme=dark] .fs12-ing-row.fs12-ing-allergen{background:#203b47;border-left-color:#86cce5}
:root[data-theme=dark] .fs12-ing-row.fs12-ing-additive{background:#393246;border-left-color:#c3a7ef}
:root[data-theme=dark] .fs12-ing-index{background:#395341;color:#ecf8e8}
:root[data-theme=dark] .fs12-ing-content>strong,:root[data-theme=dark] .fs12-ing-percent{color:#f3fcf2}
:root[data-theme=dark] .fs12-ing-translation,:root[data-theme=dark] .fs12-ing-label,:root[data-theme=dark] .fs12-ing-unknown,:root[data-theme=dark] .fs12-ing-right small{color:#cde4d1}
:root[data-theme=dark] .fs12-ing-bar{background:#1a3026}
:root[data-theme=dark] .fs12-raw-label{background:#233f2e;border-color:#45654a}
:root[data-theme=dark] .fs12-raw-head{background:#365940;color:#f0f7ee}
:root[data-theme=dark] .fs12-raw-head span{color:#d6e9d3}
:root[data-theme=dark] .fs12-raw-label p{color:#e2f0df}
:root[data-theme=dark] .fs12-portion .fs12-portion-control{background:#253c2c!important}
:root[data-theme=dark] .fs12-portion .fs12-portion-control label,:root[data-theme=dark] .fs12-portion-intro h2{color:#e9f9e8}
:root[data-theme=dark] .fs12-portion .fs12-presets button{background:#2c4a35!important;border-color:#54775a!important;color:#e8f7ea!important}
:root[data-theme=dark] .fs12-portion .fs12-presets button small{color:#c7dac9}
:root[data-theme=dark] .fs12-portion .fs12-presets button[aria-pressed=true]{background:#335f3d!important;border-color:#86ba89!important}
:root[data-theme=dark] .fs12-today-peek{background:#25402d;border-color:#426045}
:root[data-theme=dark] .fs12-today-peek strong,:root[data-theme=dark] .fs12-today-peek>a{color:#e3f6e0}
:root[data-theme=dark] .fs12-today-peek span,:root[data-theme=dark] .fs12-diary-sugar-note{color:#c4ddc4}
:root[data-theme=dark] .fs12-transparency{background:#31513b;color:#e2f2df;border-color:#52715a}
:root[data-theme=dark] .fs12-label-footnote{background:#2e4732;color:#edf5ea}
/* Responsive: no overflow; keep a tight first-screen conclusion. */
@media(max-width:920px){
 .fs11-home .fs11-launch{grid-template-columns:1fr!important;gap:20px!important}
 .fs11-home .fs11-launch h1{font-size:clamp(2.25rem,5.6vw,3.2rem)!important}
 .fs12-hero-grid{grid-template-columns:1fr;gap:12px}
 .fs12-identity,.fs12-executive{grid-column:1!important}
 .fs12-identity{grid-template-columns:minmax(0,115px) minmax(0,1fr);gap:15px;align-items:center;padding:10px}
 .fs12-identity .d8-pack{height:102px;min-height:0;aspect-ratio:1}
 .fs12-identity .d8-pack svg{max-height:84px}
 .fs12-executive{padding:17px}
 .fs12-result .fs11-evidence-row{grid-template-columns:1fr}
}
@media(max-width:720px){
 .fs12-portion .fs12-portion-grid{grid-template-columns:1fr}
 .fs12-portion .fs12-macro-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .fs12-today-peek{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fs12-today-peek>a{white-space:normal}
 .fs12-today-peek>div:nth-child(3){border-left:0;padding-left:0}
}
@media(max-width:580px){
 .fs11-home .fs11-launch{padding:15px!important;border-radius:19px!important}
 .fs11-home .fs11-launch h1{font-size:clamp(2.04rem,8.3vw,3rem)!important;margin:10px 0!important}
 .fs11-home .fs11-proof-row{gap:5px;margin-top:14px}
 .fs11-home .fs11-proof-row span{font-size:.65rem;padding:6px 8px}
 .fs11-home .fs11-scan-panel{padding:14px!important;border-radius:16px!important}
 .fs11-home .fs11-scan-panel-top{margin-bottom:12px}
 .fs12-try-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .fs12-try-chips button{justify-content:space-between}
 .fs12-today-peek{padding:13px;gap:13px}
 .fs12-hero-bar{margin-bottom:11px;padding-bottom:12px}
 .fs12-result .fs12-hero{padding:12px}
 .fs12-identity{grid-template-columns:86px minmax(0,1fr);gap:12px;border-radius:14px}
 .fs12-identity .d8-pack{height:86px}
 .fs12-identity h2{font-size:1rem!important}
 .fs12-executive{padding:13px;border-radius:14px}
 .fs12-executive-top{align-items:flex-start;gap:9px}
 .fs12-score{padding:6px 7px;gap:6px;font-size:.67rem}
 .fs12-score>span{display:none}
 .fs12-result h1#decision-title{font-size:clamp(1.45rem,6.6vw,2rem)!important;margin:12px 0 7px!important}
 .fs12-verdict-lead{font-size:.83rem;line-height:1.49;margin-bottom:12px}
 .fs12-traffic{padding:10px;border-radius:12px}
 .fs12-traffic .lights{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fs12-traffic .light{min-height:96px;padding:10px!important}
 .fs12-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .fs12-hero-actions .fs12-hero-primary{grid-column:1/-1}
 .fs12-hero-actions>a,.fs12-hero-actions>button{font-size:.74rem;padding:9px;min-height:44px}
 .fs12-ing-row{grid-template-columns:30px minmax(0,1fr) 67px;gap:9px;padding:11px 8px 11px 9px}
 .fs12-ing-index{width:30px;height:31px;font-size:.7rem}
 .fs12-ing-percent{font-size:.91rem}
 .fs12-ingredient-header p{font-size:.79rem}
 .fs12-allergen-notice{padding:12px;gap:8px}
 .fs12-portion .fs12-macro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .fs12-portion .fs12-macro-grid>div{padding:10px}
 .fs12-portion .fs12-portion-output{padding:14px}
 .fs12-portion .fs12-portion-submit{flex-direction:column;align-items:stretch}
 .fs12-portion .fs12-portion-submit button{width:100%}
}
@media(max-width:340px){.fs12-score-row{gap:4px}.fs12-score{padding:5px}.fs12-hero-actions{grid-template-columns:1fr}.fs12-hero-actions .fs12-hero-primary{grid-column:auto}.fs12-try-chips{grid-template-columns:1fr}.fs12-traffic-head{align-items:start}}
@media(prefers-reduced-motion:reduce){.fs12-result *,.fs12-portion *,.fs12-ingredient-list *{animation:none!important;transition:none!important}}

/* Compact mobile search: readable query, reachable microphone and submit action. */
@media(max-width:580px){
 .fs11-home .fs11-scan-panel .fs-quick-find-row{display:grid!important;grid-template-columns:minmax(0,1fr) 34px 69px;gap:4px!important;padding:5px!important;align-items:center}
 .fs11-home .fs11-scan-panel .fs-quick-find-row>span:first-child{display:none}
 .fs11-home .fs11-scan-panel .fs-quick-find-row input{min-width:0;width:100%;padding-left:9px;font-size:clamp(.74rem,3.1vw,.91rem)!important}
 .fs11-home .fs11-scan-panel .fs-quick-find-row .fs-voice-search{min-width:32px;padding:8px 5px}
 .fs11-home .fs11-scan-panel .fs-quick-find-row button[type=submit]{min-width:0;justify-content:center;padding:8px 5px!important;font-size:.71rem!important}
}

/* On phones, let shoppers reach Scan and Search before the editorial hero. */
@media(max-width:580px){
 .fs11-home .fs11-launch>.fs11-scan-panel{order:-1}
 .fs11-home .fs11-launch>.fs11-launch-copy{order:1;padding:0 5px 3px}
}

/* Daily nutrition ring: values are partial logged evidence, not an invented wellness score. */
.fs12-today-peek .fs12-gauge-cell{display:flex;flex-direction:row;align-items:center;gap:12px}
.fs12-today-peek .fs12-gauge-cell>div:last-child{display:grid;gap:3px;min-width:0}
.fs12-today-peek .fs12-donut{flex:none;width:64px;height:64px;border-radius:50%;position:relative;display:grid;place-items:center;background:conic-gradient(#2b9461 var(--fs12-fill,0%),#e6eee6 0);isolation:isolate}
.fs12-today-peek .fs12-donut:before{content:"";inset:7px;position:absolute;border-radius:50%;background:#fff;z-index:-1}
.fs12-today-peek .fs12-donut strong{font-size:.85rem;letter-spacing:-.03em;color:#144a2e}
.fs12-today-peek .fs12-donut-sugar{background:conic-gradient(#c07540 var(--fs12-fill,0%),#e6eee6 0)}
.fs12-today-peek .fs12-donut-empty{background:#e6eee6}
.fs12-day-clarity{grid-column:1/-1;color:#596e5c;font-size:.71rem;line-height:1.55;margin:0;border-top:1px solid #e2eadf;padding-top:10px}
.fs12-day-clarity strong{font-size:inherit;color:inherit}
:root[data-theme=dark] .fs12-today-peek .fs12-donut:before{background:#25402d}
:root[data-theme=dark] .fs12-today-peek .fs12-donut strong{color:#ecf8ea}
:root[data-theme=dark] .fs12-day-clarity{border-color:#3d6144;color:#c6dec8}
@media(max-width:850px){.fs12-today-peek{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.fs12-today-peek>a{justify-content:flex-start}}
@media(max-width:580px){.fs12-today-peek{grid-template-columns:1fr;gap:13px}.fs12-today-peek>div+div{border:0!important;padding-left:0!important}.fs12-today-peek .fs12-gauge-cell{border-top:1px solid #e2eadf!important;padding-top:11px}.fs12-today-peek .fs12-donut{width:56px;height:56px}.fs12-today-peek>a{min-height:34px}.fs12-day-clarity{grid-column:auto}}

/* ============ v11.2: comprehension + contrast + affordance ============ */
/* --- 1. Ingredients preview strip (first-screen) --- */
.d8-ing-preview{background:var(--paper);border:2px solid var(--line);border-radius:22px;padding:1.15rem 1.25rem;margin:1rem 0;box-shadow:var(--shadow-sm);animation:wowSlide .5s var(--ease) .3s both}
.d8-ing-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}
.d8-ing-preview-head .fs-mini-kicker{font-size:.7rem;font-weight:800;letter-spacing:.09em;color:var(--terra)}
.d8-ing-preview-head a{font-size:.85rem;font-weight:700;color:var(--terra);text-decoration:none}
.d8-ing-preview ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.d8-ing-preview li{display:flex;align-items:center;gap:.7rem;background:var(--paper-2);border:1.5px solid var(--line);border-radius:12px;padding:.55rem .8rem}
.d8-ing-preview .ing-pos{flex:none;width:24px;height:24px;border-radius:8px;background:var(--terra);color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center}
.d8-ing-preview li:nth-child(-n+3) .ing-pos{background:var(--amber);color:#1a1a1a}
.d8-ing-preview .ing-name{flex:1;font-size:.88rem;line-height:1.4}
.d8-ing-preview .ing-allergen{border-color:#F5C6C6;background:#FFF8F8}
.ing-badge-allergen{color:#991B1B;background:#FEE2E2;border:1px solid #F5C6C6}
.d8-ing-preview .ing-sugar .ing-name{font-weight:600}
.d8-ing-more{margin:.6rem 0 0;font-size:.82rem;color:var(--taupe);text-align:center}
/* --- 2. Score captions --- */
.score-caption{margin:.5rem 0 0;font-size:.8rem;line-height:1.45;color:var(--bark);font-weight:600}
/* --- 3. Contrast fixes: severity captions + NOVA inactive --- */
.light-tile .tile-cap,.pf-cap{color:#6B5B4F;font-weight:600}
.nova-bar .nv-step:not(.on){color:#8A8A8A;background:#EDEDED}
:root[data-theme="dark"] .light-tile .tile-cap{color:#C9BBAE}
:root[data-theme="dark"] .nova-bar .nv-step:not(.on){color:#9AA39A;background:#2A332C}
/* --- 4. Slider affordance: grip cue --- */
.portion-ctrl input[type=range]::-webkit-slider-thumb{background:#fff repeating-linear-gradient(90deg,#fff 0 2px,var(--terra) 2px 4px);width:32px;height:32px}
.portion-ctrl input[type=range]::-moz-range-thumb{background:#fff repeating-linear-gradient(90deg,#fff 0 2px,var(--terra) 2px 4px);width:28px;height:28px}
.portion-ctrl input[type=range]{cursor:grab}
.portion-ctrl input[type=range]:active{cursor:grabbing}
