/* 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{
 --font-ui:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --font-display:var(--font-ui);--font-accent:Georgia,"Times New Roman",serif;
 --cream:#f6f7f2;--paper:#fff;--paper-2:#eef2eb;--ink:#19372b;--ink-2:#284538;
 --bark:#53665a;--taupe:#657568;--tan:#bacabc;--line:#dce5da;
 --terra:#225b40;--terra-deep:#174731;--terra-soft:#e5f1df;
 --olive:#24623d;--olive-bright:#38844d;--olive-soft:#eaf3e4;
 --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 3px 14px #1c392709;--shadow-md:0 10px 32px #1c392711;
 --shadow-lg:0 20px 64px #10291b20;--shadow-glow:0 6px 18px #1c392714;
 --r-sm:12px;--r-md:20px;--r-lg:28px;--r-xl:32px;--maxw:1180px;
 --gutter:clamp(16px,3.4vw,40px);--ease:cubic-bezier(.2,.7,.2,1);color-scheme:light;
}
: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){:root{--maxw:1240px}.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){
 :root{--gutter:18px}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){:root{--gutter:14px}.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{
 --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;
}
: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{
 --font-display:ui-rounded,"SF Pro Rounded","Nunito","Segoe UI Variable Display",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --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);
}
: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}
