:root{--bg:#fbfcfd;--surface:#fff;--surface-2:#f4f6f9;--rule:#e6eaef;--rule-soft:#eef1f5;--ink:#0b0f14;--ink-soft:#4a535e;--ink-muted:#8590a0;--mint:#1b9a78;--amber:#c97a1a;--coral:#c13f2d;--azure:#2b6cdf;--halo-mint:#1b9a7833;--halo-amber:#c97a1a38;--halo-coral:#c13f2d38;--halo-azure:#2b6cdf33;--hz-carcin:#c13f2d;--hz-carcin-halo:#c13f2d4d;--hz-endocrine:#7e4fb8;--hz-endocrine-halo:#7e4fb847;--hz-neuro:#c97a1a;--hz-neuro-halo:#c97a1a47;--hz-microbiome:#1f8e8b;--hz-microbiome-halo:#1f8e8b47;--hz-cardio:#c4395b;--hz-cardio-halo:#c4395b47;--hz-asthma:#2b8ddf;--hz-asthma-halo:#2b8ddf47;--hz-bone:#6e7c8a;--hz-bone-halo:#6e7c8a47;--hz-bisphenol:#8b4a9c;--hz-bisphenol-halo:#8b4a9c47;--hz-phthalate:#b85c8a;--hz-phthalate-halo:#b85c8a47;--hz-pfas:#2a6f86;--hz-pfas-halo:#2a6f8647;--hz-styrene:#a03f2d;--hz-styrene-halo:#a03f2d47;--hz-microplastic:#4a6e5c;--hz-microplastic-halo:#4a6e5c47;--hz-heavy-metal:#525968;--hz-heavy-metal-halo:#5259684d;--hz-process:#b36a2e;--hz-process-halo:#b36a2e47;--hz-mycotoxin:#6e5840;--hz-mycotoxin-halo:#6e584047;--hz-pesticide:#5a7e3f;--hz-pesticide-halo:#5a7e3f47;--hz-phyto:#7e6ba8;--hz-phyto-halo:#7e6ba847;--hz-animal-horm:#b05a6f;--hz-animal-horm-halo:#b05a6f47;--hz-oxidation:#8a8470;--hz-oxidation-halo:#8a847047;--shadow-card:0 1px 0 #0b0f1405, 0 24px 60px -32px #0b0f142e;--shadow-glow:0 0 0 1px var(--rule), 0 30px 90px -50px #0b0f1440;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01", "ss02", "cv11";width:100%;max-width:100vw;margin:0;font-size:15px;line-height:1.55;overflow-x:clip}body{background-image:radial-gradient(900px 600px at 12% -10%,#2b6cdf0f,#0000 60%),radial-gradient(700px 500px at 105% 110%,#1b9a780d,#0000 60%);background-attachment:fixed;min-height:100vh}a{color:inherit;text-decoration:none}a:hover{color:var(--azure)}button{cursor:pointer;font-family:inherit}::selection{background:#2b6cdf26}.app{max-width:1320px;margin:0 auto;padding:1.75rem 2rem 4rem;overflow-x:clip}@media (width<=720px){.app{padding:1.25rem 1.1rem 3rem}}.masthead{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1.5rem;min-width:0;max-width:100%;margin-bottom:2.5rem;padding-bottom:1.1rem;display:flex}.wordmark{font-family:var(--sans);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:.55rem;margin:0;font-size:1.15rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark:hover{color:var(--ink)}.wordmark:before{content:"";background:radial-gradient(circle at 30% 30%, #fff, var(--mint));width:.65rem;height:.65rem;box-shadow:0 0 18px var(--halo-mint);border-radius:50%}@media (width<=720px){.masthead{flex-wrap:wrap;gap:.6rem 1rem}}.main-nav{min-width:0;display:flex;position:relative}.main-nav-toggle{border:1px solid var(--rule);cursor:pointer;color:var(--ink);background:0 0;border-radius:8px;padding:.4rem .55rem;transition:border-color .12s,background .12s;display:none}.main-nav-toggle:hover{border-color:var(--ink-muted);background:var(--surface-2)}.main-nav-toggle:focus-visible{border-color:var(--azure);box-shadow:0 0 0 2px color-mix(in srgb, var(--azure) 22%, transparent);outline:none}.main-nav-toggle-glyph{pointer-events:none;align-content:space-between;width:22px;height:16px;display:inline-grid}.main-nav-toggle-glyph span{transform-origin:50%;background:currentColor;border-radius:2px;width:100%;height:2px;transition:transform .18s,opacity .12s;display:block}.main-nav-toggle[aria-expanded=true] .main-nav-toggle-glyph span:first-child{transform:translateY(7px)rotate(45deg)}.main-nav-toggle[aria-expanded=true] .main-nav-toggle-glyph span:nth-child(2){opacity:0}.main-nav-toggle[aria-expanded=true] .main-nav-toggle-glyph span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.main-nav-list{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.main-nav-link{font-family:var(--sans);letter-spacing:-.005em;color:var(--ink-muted);white-space:nowrap;border:1px solid #0000;border-radius:8px;padding:.45rem .85rem;font-size:.88rem;font-weight:500;transition:color .12s,background .12s,border-color .12s;display:inline-block}.main-nav-link:hover{color:var(--ink);background:var(--surface-2)}.main-nav-link.is-active{color:var(--ink);background:var(--surface);border-color:var(--rule);box-shadow:var(--shadow-card)}@media (width<=720px){.main-nav{flex-basis:auto}.main-nav-toggle{justify-content:center;align-items:center;display:inline-flex}.main-nav-list{background:var(--surface);border:1px solid var(--rule);width:min(20rem,100vw - 2.2rem);box-shadow:var(--shadow-glow);z-index:50;border-radius:12px;flex-direction:column;gap:.15rem;padding:.55rem;animation:.16s nav-drawer-in;display:none;position:absolute;top:calc(100% + .45rem);right:0}.main-nav[data-open=true] .main-nav-list{display:flex}.main-nav-list li{display:block}.main-nav-link{border-radius:8px;padding:.65rem .8rem;font-size:.95rem;display:block}.main-nav-link.is-active{background:var(--surface-2);border-color:var(--rule);box-shadow:none}.main-nav-lang{border-top:1px solid var(--rule);border-left:none;margin-top:.45rem;padding:.55rem .5rem .2rem}.main-nav-lang select{width:100%}}@keyframes nav-drawer-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.main-nav-lang{border-left:1px solid var(--rule);align-items:center;margin-left:.4rem;padding-left:.6rem;display:inline-flex}.main-nav-lang select{appearance:none;color:var(--ink-muted);cursor:pointer;font-family:"Twemoji Country Flags", var(--sans);letter-spacing:-.005em;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%237a7d83' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,5 6,8 9,5'/></svg>") right .55rem center/12px 12px no-repeat,0 0;border:1px solid #0000;border-radius:8px;padding:.45rem 1.6rem .45rem .7rem;font-size:.88rem;font-weight:500;transition:color .12s,background-color .12s,border-color .12s}.main-nav-lang select:hover{color:var(--ink);border-color:var(--rule);background-color:var(--surface-2)}.main-nav-lang select:focus-visible{color:var(--ink);border-color:var(--accent,var(--rule));background-color:var(--surface-2);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent,#173a5e) 20%, transparent);outline:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pwa-install{display:none}@media (width<=720px){.pwa-install{background:linear-gradient(135deg, color-mix(in srgb, var(--azure) 6%, var(--surface)), var(--surface));border:1px solid color-mix(in srgb, var(--azure) 35%, var(--rule));box-shadow:var(--shadow-card);border-radius:12px;align-items:center;gap:.85rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}}.pwa-install-text{flex-direction:column;flex:auto;gap:.15rem;min-width:0;display:flex}.pwa-install-title{letter-spacing:-.01em;color:var(--ink);font-size:.95rem;font-weight:600}.pwa-install-hint{color:var(--ink-muted);font-size:.85rem;line-height:1.4}.pwa-install-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.pwa-install-cta{padding:.5rem 1rem;font-size:.88rem}.pwa-install-dismiss{appearance:none;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.2rem .45rem;font-size:1.4rem;line-height:1;transition:color .12s,background .12s}.pwa-install-dismiss:hover{color:var(--ink);background:var(--surface-2)}.pwa-install-ios .pwa-install-text{flex:auto}@media (width<=480px){.pwa-install{flex-wrap:wrap;align-items:flex-start;padding-right:2.5rem;position:relative}.pwa-install-actions{justify-content:flex-end;width:100%}.pwa-install-ios .pwa-install-actions{display:none}.pwa-install>.pwa-install-dismiss{position:absolute;top:.45rem;right:.55rem}.pwa-install-actions .pwa-install-dismiss{display:none}}.learn-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.learn-card{background:var(--surface);border:1px solid var(--rule);color:inherit;border-radius:12px;padding:1.1rem 1.2rem;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:block}.learn-card:hover{border-color:var(--ink-muted);box-shadow:var(--shadow-card);transform:translateY(-1px)}.learn-card-title{letter-spacing:-.01em;color:var(--ink);margin:0 0 .35rem;font-size:1.05rem;font-weight:600}.learn-card-preview{color:var(--ink-muted);margin:0;font-size:.92rem;line-height:1.55}.learn-article{max-width:70ch;margin:0 auto}.learn-article .eyebrow a{color:var(--ink-muted);border-bottom:1px solid var(--rule);text-decoration:none}.learn-article .eyebrow a:hover{color:var(--ink);border-color:var(--ink-muted)}.learn-section{margin:1.5rem 0}.learn-section h2{letter-spacing:-.01em;margin:0 0 .6rem;font-size:1.15rem;font-weight:600}.learn-section p{margin:0 0 .85rem;line-height:1.65}.learn-section p:last-child{margin-bottom:0}.learn-list-inline{margin:.6rem 0;padding-left:1.4rem;list-style:outside}.learn-list-inline li{margin-bottom:.25rem;line-height:1.55}.learn-sources ul{color:var(--ink-muted);gap:.6rem;margin:0;padding:0;font-size:.9rem;line-height:1.55;list-style:none;display:grid}.learn-sources li{border-left:2px solid var(--rule);padding-left:.9rem}.learn-sources a{color:var(--ink);border-bottom:1px dashed var(--rule);text-decoration:none}.learn-sources a:hover{border-bottom-style:solid}.page{gap:1.5rem;animation:.5s both fadeUp;display:grid}.page-head{border-bottom:1px solid var(--rule);padding-bottom:1.2rem}.page-head h2{letter-spacing:-.03em;color:var(--ink);margin:0 0 .5rem;font-size:clamp(1.8rem,3vw + .6rem,2.6rem);font-weight:600;line-height:1.05}.page-deck{color:var(--ink-soft);max-width:56ch;margin:0;font-size:1rem;line-height:1.55}.scan-cta{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.btn-scan{border-radius:12px;justify-content:center;align-items:center;gap:.55rem;width:100%;padding:1rem 1.4rem;font-size:1rem;display:inline-flex}.btn-scan span{font-size:1.2rem;line-height:1}.scan-cta-hint{font-family:var(--mono);color:var(--ink-muted);text-align:center;margin:0;font-size:.7rem}.error-line{color:var(--coral)}.error-line:before{content:"✕";color:var(--coral);animation:none}.scanner-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1100;background:#0b0f14eb;place-items:center;animation:.2s charm-fade-in;display:grid;position:fixed;inset:0}.scanner-modal{background:var(--surface);border-radius:16px;flex-direction:column;width:min(560px,100%);max-height:100vh;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px -20px #00000080}@media (width<=640px){.scanner-modal{border-radius:0;width:100%;height:100dvh;max-height:none}}.scanner-close{color:#fff;cursor:pointer;z-index:2;background:#0b0f14a6;border:1px solid #ffffff26;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.6rem;line-height:1;transition:background .12s;display:grid;position:absolute;top:.7rem;right:.75rem}.scanner-close:hover,.scanner-close:focus-visible{background:#0b0f14d9;outline:none}.scanner-stage{background:#000;flex:1;min-height:320px;position:relative;overflow:hidden}.scanner-stage[data-fatal=true]{background:var(--surface-2);min-height:200px}.scanner-video{object-fit:cover;width:100%;height:100%;display:block}.scanner-stage[data-fatal=true] .scanner-video{display:none}.scanner-viewfinder{pointer-events:none;border:2px solid #ffffffd9;border-radius:14px;width:78%;height:32%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0b0f1480}.scanner-torch{color:#fff;font-family:var(--sans);cursor:pointer;z-index:2;background:#0b0f14b3;border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .95rem;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:absolute;bottom:.9rem;right:.9rem}.scanner-torch:hover,.scanner-torch:focus-visible{background:#0b0f14e6;outline:none}.scanner-torch.is-on{background:var(--amber);color:#fff;border-color:var(--amber)}.scanner-status{font-family:var(--mono);letter-spacing:.01em;color:var(--ink-soft);text-align:center;background:var(--surface);border-top:1px solid var(--rule);min-height:2.5rem;padding:.95rem 1.2rem;font-size:.84rem}.scanner-status[data-state=decoded]{color:var(--mint)}.scanner-status[data-state=invalid]{color:var(--amber)}.scanner-status[data-state=permission-denied],.scanner-status[data-state=no-camera],.scanner-status[data-state=unsupported],.scanner-status[data-state=error]{color:var(--coral)}.scanner-actions{background:var(--surface);border-top:1px solid var(--rule-soft);justify-content:center;padding:.5rem 1rem 1rem;display:flex}.recent-feed{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.recent-feed-row{border:1px solid var(--rule);background:var(--surface);border-radius:10px;transition:border-color .15s,transform 80ms,box-shadow .15s}.recent-feed-link{color:inherit;border-radius:inherit;grid-template-columns:14ch 1fr auto auto;align-items:center;gap:1rem;padding:.85rem 1.1rem;text-decoration:none;display:grid}:is(.recent-feed-row:has(.recent-feed-link:hover),.recent-feed-row:has(.recent-feed-link:focus-visible)){border-color:var(--ink);transform:translateY(-1px);box-shadow:0 8px 24px -16px #0b0f1440}.recent-feed-link:focus-visible{outline:none}.recent-feed-barcode{font-family:var(--mono);color:var(--ink-muted);font-size:.82rem}.recent-feed-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;font-weight:500;overflow:hidden}.recent-feed-brand{color:var(--ink-muted);font-weight:400}.recent-feed-time{font-family:var(--mono);color:var(--ink-muted);white-space:nowrap;font-size:.72rem}.recent-feed-pending{color:var(--ink-muted);grid-template-columns:14ch 1fr auto;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:grid}.recent-feed-pending .recent-feed-name{color:var(--ink-muted);font-style:italic}.recent-feed-skel{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:200% 100%;height:3.4rem;animation:1.4s ease-in-out infinite recent-feed-shimmer}@keyframes recent-feed-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.recent-feed-grade{font-family:var(--mono);color:#fff;letter-spacing:0;border-radius:7px;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:inline-grid}.recent-feed-grade.grade-A{background:var(--mint)}.recent-feed-grade.grade-B{background:#6aab3e}.recent-feed-grade.grade-C{background:#d9a416}.recent-feed-grade.grade-D{background:#dc7f1a}.recent-feed-grade.grade-E{background:var(--coral)}@media (width<=560px){.recent-feed-link,.recent-feed-pending{grid-template-columns:1fr auto;grid-template-areas:"name grade""barcode time";gap:.2rem .75rem}.recent-feed-link .recent-feed-name,.recent-feed-pending .recent-feed-name{grid-area:name}.recent-feed-link .recent-feed-barcode,.recent-feed-pending .recent-feed-barcode{grid-area:barcode}.recent-feed-link .recent-feed-grade{grid-area:grade}.recent-feed-link .recent-feed-time,.recent-feed-pending .recent-feed-time{grid-area:time;justify-self:end}}@media (prefers-reduced-motion:reduce){.recent-feed-skel{background:var(--surface-2);animation:none}}.recent-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.recent-header .section-title{margin-bottom:0}.no-track-toggle{color:var(--ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;font-size:.78rem;display:inline-flex}.no-track-toggle input{cursor:pointer}.no-track-toggle:hover{color:var(--ink-soft)}.category-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;margin-top:.5rem;display:grid}.category-card{background:var(--surface);border:1px solid var(--rule);cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:10px;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;transition:border-color .15s,transform 80ms,box-shadow .15s,background .15s;display:flex}.category-card:hover:not(:disabled){border-color:var(--ink);transform:translateY(-1px);box-shadow:0 8px 24px -16px #0b0f1440}.category-card:disabled{opacity:.5;cursor:progress}.category-card[aria-busy=true]{border-color:var(--mint)}.category-label{color:var(--ink);font-size:1rem;font-weight:500}.category-blurb{font-family:var(--mono);color:var(--ink-muted);letter-spacing:.01em;font-size:.72rem}.signals-page{gap:2rem}.signal-block{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow-card);border-radius:14px;padding:1.4rem 1.5rem}.signal-block h3{letter-spacing:-.015em;color:var(--ink);margin:0 0 .7rem;font-size:1.05rem;font-weight:600}.signal-block p{color:var(--ink-soft);margin:0 0 .7rem;line-height:1.55}.signal-block p:last-child{margin-bottom:0}.signal-block code{font-family:var(--mono);background:var(--surface-2);color:var(--ink);border-radius:4px;padding:.05rem .35rem;font-size:.85em}.signal-list{gap:.35rem;margin:0 0 .9rem;padding:0;list-style:none;display:grid}.signal-list li{font-family:var(--mono);color:var(--ink-soft);background:var(--surface-2);border-radius:6px;padding:.4rem .7rem;font-size:.82rem}.signal-list li strong{color:var(--ink);font-weight:600}.signal-list-inline{font-family:var(--mono);color:var(--ink-soft);background:var(--surface-2);border-radius:6px;padding:.7rem .9rem;font-size:.82rem}.signal-cta{margin-top:.8rem;font-size:.92rem}.signal-cta a{color:var(--azure);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .12s}.signal-cta a:hover{border-bottom-color:var(--azure)}.signal-footnote{background:var(--surface-2);box-shadow:none}.inline-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:4px;margin:0 .05rem;padding:.05rem .45rem;font-size:.72rem;font-weight:500;display:inline-block}.inline-tag.low,.inline-tag.mint{color:var(--mint)}.inline-tag.mod,.inline-tag.amber{color:var(--amber)}.inline-tag.high,.inline-tag.coral{color:var(--coral)}.home{gap:2.5rem;display:grid}.home-hero{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:2.5rem;padding-bottom:2rem;display:grid}@media (width<=880px){.home-hero{grid-template-columns:1fr;gap:1.25rem}}.home-hero h2{letter-spacing:-.035em;color:var(--ink);margin:0;font-size:clamp(2.2rem,4vw + .5rem,3.6rem);font-weight:500;line-height:1.04}.home-hero h2 span.accent{color:var(--mint);font-weight:500}.home-hero p{color:var(--ink-soft);max-width:38ch;margin:0;font-size:1rem;line-height:1.6}.input-row{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow-glow);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-top:1.25rem;padding:.45rem .45rem .45rem 1.1rem;display:grid}.input-row input{font-family:var(--mono);letter-spacing:.02em;color:var(--ink);background:0 0;border:0;outline:none;width:100%;min-width:0;padding:.7rem 0;font-size:1.1rem}.input-row input::placeholder{color:var(--ink-muted)}.btn{font-family:var(--sans);letter-spacing:-.005em;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:10px;padding:.65rem 1.1rem;font-size:.9rem;font-weight:500;transition:background .15s,color .15s,transform 80ms,box-shadow .15s}.btn:hover:not(:disabled){background:#1a2230;box-shadow:0 6px 20px -10px #0b0f1480}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{color:var(--ink);border-color:var(--rule);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink);color:var(--ink);box-shadow:none}.input-help{font-family:var(--mono);color:var(--ink-muted);margin:.7rem 0 0;font-size:.72rem}.directory h3,.section-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 1rem;font-size:.72rem;font-weight:500}.sample-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.5rem;display:grid}.sample-card{background:var(--surface);border:1px solid var(--rule);cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:.85rem;padding:.85rem 1rem;transition:border-color .15s,transform 80ms,box-shadow .15s,background .15s;display:grid}.sample-card:hover:not(:disabled){border-color:var(--ink);transform:translateY(-1px);box-shadow:0 8px 24px -16px #0b0f1440}.sample-card:disabled{opacity:.5;cursor:not-allowed}.sample-card .code{font-family:var(--mono);letter-spacing:.02em;color:var(--ink-muted);background:var(--surface-2);border-radius:6px;padding:.25rem .5rem;font-size:.78rem}.sample-card .name{color:var(--ink);font-size:.92rem}.directory-actions{justify-content:flex-end;margin-top:1rem;display:flex}.recent{margin-top:2rem}.recent-row{border:1px solid var(--rule);background:var(--surface);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;border-radius:10px;grid-template-columns:14ch 1fr auto;align-items:center;gap:1rem;margin-bottom:.5rem;padding:.9rem 1.1rem;transition:border-color .15s,transform 80ms,box-shadow .15s;display:grid}.recent-row:hover:not(.miss):not(.error){border-color:var(--ink);transform:translateY(-1px);box-shadow:0 8px 24px -16px #0b0f1440}.recent-row .barcode{font-family:var(--mono);color:var(--ink-muted);font-size:.82rem}.recent-row .name{color:var(--ink);font-size:1rem;font-weight:500}.recent-row .meta{font-family:var(--mono);color:var(--ink-muted);font-size:.72rem}.recent-row.miss{color:var(--ink-muted)}.recent-row.error .name{color:var(--coral)}.status{font-family:var(--mono);color:var(--ink-muted);margin:1rem 0 0;font-size:.78rem}.status:before{content:"◌";color:var(--mint);margin-right:.45rem;animation:1.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.report{gap:1.75rem;animation:.5s both fadeUp;display:grid}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.report-back{font-family:var(--sans);color:var(--ink-muted);background:var(--surface);border:1px solid var(--rule);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;width:max-content;padding:.45rem .85rem;font-size:.85rem;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.report-back:hover{color:var(--ink);border-color:var(--ink);background:var(--surface-2)}.report-head{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);align-items:end;gap:2rem;padding-bottom:1.5rem;display:grid}.report-head .eyebrow{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-muted);align-items:center;gap:.5rem;margin:0 0 .55rem;font-size:.74rem;display:inline-flex}.report-head .eyebrow:before{content:"";background:var(--mint);width:6px;height:6px;box-shadow:0 0 12px var(--halo-mint);border-radius:50%}.report-head h1{letter-spacing:-.04em;color:var(--ink);margin:0;font-size:clamp(2.4rem,5vw,4rem);font-weight:600;line-height:1.02}.report-deck{color:var(--ink-soft);max-width:56ch;margin:.75rem 0 0;font-size:1.05rem;font-weight:400;line-height:1.5}.report-photo{flex-direction:column;align-items:flex-end;gap:.55rem;display:flex}.report-photo img{object-fit:contain;background:var(--surface);border:1px solid var(--rule);width:160px;height:160px;box-shadow:var(--shadow-card);border-radius:16px;padding:12px}.report-photo .caption{font-family:var(--mono);color:var(--ink-muted);margin:0;font-size:.7rem}@media (width<=880px){.report-head{grid-template-columns:1fr;gap:1rem}.report-photo{align-items:flex-start}}.charm-row{flex-wrap:wrap;gap:.5rem;margin:.4rem 0 1rem;display:flex}.charm{background:var(--surface);border:1px solid var(--charm-color,var(--rule));color:var(--charm-color,var(--ink));font-family:var(--sans);cursor:pointer;box-shadow:0 0 0 0 var(--charm-halo,transparent);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .75rem .35rem .55rem;font-size:.85rem;font-weight:500;transition:transform .12s,box-shadow .18s,background .18s;display:inline-flex}.charm:hover,.charm:focus-visible{background:var(--surface);box-shadow:0 0 0 3px var(--charm-halo,transparent), 0 0 18px var(--charm-halo,transparent);outline:none;transform:translateY(-1px)}.charm-glyph{background:var(--charm-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.charm-neutral .charm-glyph{background:var(--charm-color)}.charm-concern{border-color:var(--charm-color);background:linear-gradient(#c13f2d0f,#fff0)}.charm-concern .charm-glyph{color:var(--charm-color)}.charm-concern .charm-label{color:var(--charm-color);font-weight:500}.charm-label{letter-spacing:-.005em}.charm-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0b0f148c;place-items:center;padding:1.25rem;animation:.18s charm-fade-in;display:grid;position:fixed;inset:0}@keyframes charm-fade-in{0%{opacity:0}to{opacity:1}}.charm-modal{background:var(--surface);border:1px solid var(--rule);width:min(520px,100%);max-height:86vh;box-shadow:0 0 0 4px var(--charm-halo,transparent), 0 30px 80px -20px #0b0f1466;border-radius:18px;padding:1.6rem 1.7rem 1.4rem;animation:.22s cubic-bezier(.2,.9,.3,1.2) charm-pop-in;position:relative;overflow-y:auto}@keyframes charm-pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.charm-modal-close{background:var(--surface-2);border:1px solid var(--rule);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border-radius:50%;place-items:center;font-size:1.4rem;line-height:1;transition:background .12s,color .12s;display:grid;position:absolute;top:.7rem;right:.85rem}@media (pointer:coarse){.charm-modal-close{width:44px;height:44px;font-size:1.5rem}.btn{min-height:44px;padding:.85rem 1.25rem}.report-back{min-height:44px;padding:.7rem 1rem}.verdict-line{min-height:44px;padding:.4rem .3rem}.sample-card,.recent-row{min-height:56px}}.charm-modal-close:hover,.charm-modal-close:focus-visible{background:var(--rule);color:var(--ink);outline:none}.charm-modal-head{align-items:center;gap:.7rem;margin-bottom:.85rem;padding-right:2.5rem;display:flex}.charm-modal-glyph{background:var(--charm-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.charm-modal-head h2{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.4rem;font-weight:600;line-height:1.15}.charm-modal-scheme{color:var(--ink-soft);margin:0 0 1.15rem;font-size:.95rem;line-height:1.5}.charm-modal-section-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:1.05rem 0 .45rem;font-size:.68rem}.charm-modal-section-title em{color:var(--coral);text-transform:none;letter-spacing:0;font-size:.75rem;font-style:italic}.charm-modal-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.charm-modal-list li{color:var(--ink);padding-left:1rem;font-size:.92rem;line-height:1.5;position:relative}.charm-modal-list li:before{content:"";background:var(--charm-color);border-radius:50%;width:5px;height:5px;position:absolute;top:.7em;left:0}.charm-modal-list-muted li{color:var(--ink-soft)}.charm-modal-list-muted li:before{background:var(--ink-muted)}.charm-modal-impact{background:var(--surface-2);border:1px solid var(--rule);color:var(--ink-soft);border-radius:10px;margin:1.2rem 0 0;padding:.7rem .85rem;font-size:.85rem;line-height:1.45}@media (width<=480px){.charm-modal{padding:1.3rem 1.2rem 1.1rem}.charm-modal-head h2{font-size:1.2rem}}.hazard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:stretch;gap:1.25rem;display:grid}@media (width<=880px){.hazard-grid{grid-template-columns:1fr}}.summary-col{flex-direction:column;gap:.75rem;min-width:0;display:flex}.hazard-meter{background:var(--surface);border:1px solid var(--rule);box-shadow:0 0 24px var(--dial-halo,transparent), var(--shadow-card);border-radius:16px;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem 1.6rem;display:flex;position:relative}.grade-strip{background:var(--surface-2);border:1px solid var(--rule);border-radius:12px;align-items:center;gap:4px;padding:4px;display:inline-flex}.grade-cell{--cell-w:32px;--cell-h:36px;width:var(--cell-w);height:var(--cell-h);font-family:var(--mono);color:#fff;background:var(--cell-color);opacity:.45;border-radius:8px;place-items:center;font-size:.95rem;font-weight:700;transition:width .18s,height .18s,opacity .18s,font-size .18s;display:grid}.grade-cell.active{--cell-w:50px;--cell-h:52px;opacity:1;font-size:1.5rem;box-shadow:0 6px 14px #0000001a,inset 0 0 0 2px #ffffff8c}.dial-meta{flex-direction:column;gap:.25rem;display:flex;position:relative}.dial-trust{border-top:1px solid var(--rule-soft);flex-direction:column;gap:.3rem;width:100%;margin-top:auto;padding-top:.9rem;display:flex}.dial-trust-row{font-family:var(--mono);letter-spacing:.02em;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.72rem;display:flex}.dial-trust-key{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em}.dial-trust-val{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right}.dial-meta .label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:.7rem}.dial-meta .value{letter-spacing:-.02em;color:var(--ink);align-items:baseline;gap:.45rem;font-size:1.5rem;font-weight:600;line-height:1.05;display:inline-flex}.dial-meta .value-grade{color:var(--dial-color);font-family:var(--mono);font-weight:700}.dial-meta .value-sep{color:var(--ink-muted);font-weight:400}.dial-meta .value-word{color:var(--ink)}.signal-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}@media (width<=480px){.signal-row{grid-template-columns:1fr}}.signal{background:var(--surface);border:1px solid var(--rule);border-radius:12px;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;display:flex;position:relative;overflow:hidden}.signal:before{content:"";background:var(--signal-color,transparent);opacity:.9;height:2px;position:absolute;inset:auto 0 0}.signal .label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:.7rem}.signal .value{letter-spacing:-.02em;font-size:1.4rem;font-weight:600;line-height:1.05}.signal .note{color:var(--ink-soft);font-size:.82rem;line-height:1.35}.signal[data-severity=clear]{--signal-color:var(--mint)}.signal[data-severity=clear] .value{color:var(--mint)}.signal[data-severity=note]{--signal-color:var(--azure)}.signal[data-severity=note] .value{color:var(--azure)}.signal[data-severity=caution]{--signal-color:var(--amber)}.signal[data-severity=caution] .value{color:var(--amber)}.signal[data-severity=avoid]{--signal-color:var(--coral)}.signal[data-severity=avoid] .value{color:var(--coral)}.verdict{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow-card);border-radius:16px;padding:1.5rem 1.6rem}.verdict h3{margin:0 0 1rem}.verdict-group+.verdict-group{margin-top:1.1rem}.verdict-group-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 .55rem;font-size:.68rem}.verdict-group[data-severity=concern] .verdict-group-title{color:var(--coral)}.verdict-group[data-severity=note] .verdict-group-title{color:var(--azure)}.verdict-group ul{margin:0;padding:0;list-style:none;display:grid}.verdict-group li{color:var(--ink);padding:.75rem 0 .75rem 1.4rem;font-size:1rem;line-height:1.5;position:relative}.verdict-group li+li{border-top:1px solid var(--rule-soft)}.verdict-group li:before{content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:1.05em;left:0}.verdict-group[data-severity=concern] li:before{background:var(--coral);box-shadow:0 0 8px var(--halo-coral)}.verdict-group[data-severity=note] li:before{background:var(--azure);box-shadow:0 0 8px var(--halo-azure)}.report-section{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow-card);border-radius:16px;padding:1.5rem 1.6rem}.section-title{margin-bottom:1.2rem}.nutrition{grid-template-columns:1fr;gap:0;display:grid}.nutrition-row{border-bottom:1px solid var(--rule-soft);grid-template-columns:200px minmax(0,1fr) 7ch 6ch 5rem;align-items:center;gap:1.25rem;padding:.7rem 0;display:grid}.nutrition-row:last-of-type{border-bottom:0}.nutrition-row.indent .name{color:var(--ink-soft);padding-left:1.25rem;font-size:.92rem}.nutrition-row .name{color:var(--ink);font-size:.98rem;font-weight:500}.nutrition-row .value{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);font-size:.95rem}.nutrition-row .ri{font-family:var(--mono);color:var(--ink-muted);text-align:right;font-variant-numeric:tabular-nums;font-size:.74rem}.nutrition-row .tag-cell{justify-content:flex-start;display:flex}.nutrition-row .gauge{background:var(--rule-soft);border-radius:999px;width:100%;height:6px;position:relative;overflow:hidden}.nutrition-row .gauge:after{content:"";width:var(--fill,0%);background:var(--gauge-color,var(--ink));border-radius:999px;transition:width .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.nutrition-row[data-level=low]{--gauge-color:var(--mint)}.nutrition-row[data-level=moderate]{--gauge-color:var(--amber)}.nutrition-row[data-level=high]{--gauge-color:var(--coral)}.nutrition-row .tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;border:1px solid;border-radius:999px;padding:.2rem .55rem;font-size:.62rem;font-weight:500}@media (width<=720px){.nutrition-row{grid-template-columns:1fr 6ch 4rem;gap:.75rem}.nutrition-row .gauge,.nutrition-row .ri{display:none}}.nutrition-row[data-level=low] .tag{color:var(--mint)}.nutrition-row[data-level=moderate] .tag{color:var(--amber)}.nutrition-row[data-level=high] .tag{color:var(--coral)}.nutrition-energy{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:1.5rem;margin-bottom:.5rem;padding-bottom:1.25rem;display:flex}.nutrition-energy .figure{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:600;line-height:.95}.nutrition-energy .figure small{color:var(--ink-muted);font-size:.85rem;font-family:var(--mono);letter-spacing:0;margin-left:.5rem;font-weight:400}.nutrition-energy .side{text-align:right;font-family:var(--mono);color:var(--ink-muted);font-size:.85rem}.nutrition-energy .side strong{color:var(--ink);font-weight:500}.note-line{font-family:var(--mono);color:var(--ink-muted);margin:.85rem 0 0;font-size:.7rem}.additive-row{border:1px solid var(--rule);background:var(--surface);border-radius:12px;grid-template-columns:minmax(5ch,max-content) 1fr 1.4fr auto;align-items:baseline;gap:1rem;margin-bottom:.55rem;padding:.95rem 1rem;transition:box-shadow .18s,border-color .18s,transform 80ms;display:grid}.additive-row .code{white-space:nowrap;padding-right:.4rem}.additive-row:last-of-type{margin-bottom:0}.additive-row[data-hazard]{border-color:var(--row-color,var(--rule));box-shadow:0 0 0 1px var(--row-color,transparent), 0 0 24px var(--row-aura,transparent), 0 0 60px -10px var(--row-aura,transparent)}.additive-row[data-hazard=carcinogenic]{--row-color:var(--hz-carcin);--row-aura:var(--hz-carcin-halo)}.additive-row[data-hazard=endocrine]{--row-color:var(--hz-endocrine);--row-aura:var(--hz-endocrine-halo)}.additive-row[data-hazard=neuroactive]{--row-color:var(--hz-neuro);--row-aura:var(--hz-neuro-halo)}.additive-row[data-hazard=gut-microbiome]{--row-color:var(--hz-microbiome);--row-aura:var(--hz-microbiome-halo)}.additive-row[data-hazard=cardiovascular]{--row-color:var(--hz-cardio);--row-aura:var(--hz-cardio-halo)}.additive-row[data-hazard=asthma-trigger]{--row-color:var(--hz-asthma);--row-aura:var(--hz-asthma-halo)}.additive-row[data-hazard=bone-mineral]{--row-color:var(--hz-bone);--row-aura:var(--hz-bone-halo)}.additive-row[data-hazard=bisphenol]{--row-color:var(--hz-bisphenol);--row-aura:var(--hz-bisphenol-halo)}.additive-row[data-hazard=phthalate]{--row-color:var(--hz-phthalate);--row-aura:var(--hz-phthalate-halo)}.additive-row[data-hazard=pfas]{--row-color:var(--hz-pfas);--row-aura:var(--hz-pfas-halo)}.additive-row[data-hazard=styrene]{--row-color:var(--hz-styrene);--row-aura:var(--hz-styrene-halo)}.additive-row[data-hazard=microplastic-shedding]{--row-color:var(--hz-microplastic);--row-aura:var(--hz-microplastic-halo)}.additive-row[data-hazard=heavy-metal]{--row-color:var(--hz-heavy-metal);--row-aura:var(--hz-heavy-metal-halo)}.additive-row[data-hazard=process-contaminant]{--row-color:var(--hz-process);--row-aura:var(--hz-process-halo)}.additive-row[data-hazard=mycotoxin]{--row-color:var(--hz-mycotoxin);--row-aura:var(--hz-mycotoxin-halo)}.additive-row[data-hazard=pesticide]{--row-color:var(--hz-pesticide);--row-aura:var(--hz-pesticide-halo)}.additive-row[data-hazard=phytoestrogen]{--row-color:var(--hz-phyto);--row-aura:var(--hz-phyto-halo)}.additive-row[data-hazard=animal-hormone]{--row-color:var(--hz-animal-horm);--row-aura:var(--hz-animal-horm-halo)}.additive-row[data-hazard=oxidation-product]{--row-color:var(--hz-oxidation);--row-aura:var(--hz-oxidation-halo)}.additive-row .code{font-family:var(--mono);color:var(--ink);font-size:.92rem}.additive-row .name{font-size:.98rem;font-weight:500}.additive-row .role{color:var(--ink-soft);font-size:.85rem}.additive-row .risk{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:.2rem .55rem;font-size:.68rem;font-weight:500}.additive-row[data-risk=safe] .risk{color:var(--mint)}.additive-row[data-risk=caution] .risk{color:var(--amber)}.additive-row[data-risk=avoid] .risk{color:var(--coral)}.additive-row .additive-foot{flex-wrap:wrap;grid-column:2/-1;align-items:center;gap:.5rem .7rem;margin-top:.55rem;display:flex}.additive-row .additive-foot .note{color:var(--ink-soft);flex:320px;font-size:.85rem;line-height:1.45}@media (width<=560px){.additive-row{grid-template-columns:minmax(5ch,max-content) 1fr auto;gap:.5rem .85rem;padding:.85rem .95rem}.additive-row .name{grid-column:2/3}.additive-row .role{grid-column:2/-1;font-size:.82rem}.additive-row .risk{grid-column:3/4;justify-self:end}.additive-row-button{padding-right:1.6rem}.additive-row-button:after{top:.6rem;right:.5rem}}.hazard-chip{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--chip-fg,var(--ink));background:var(--surface);border:1px solid var(--chip-bd,var(--rule));box-shadow:0 0 0 4px var(--chip-aura,transparent), 0 0 14px var(--chip-aura,transparent);cursor:help;border-radius:999px;align-items:center;gap:.45rem;padding:.25rem .7rem .25rem .55rem;font-size:.68rem;font-weight:500;transition:transform .12s,box-shadow .12s;display:inline-flex}.hazard-chip:hover{transform:translateY(-1px)}.hazard-dot{background:var(--chip-fg,var(--ink));width:8px;height:8px;box-shadow:0 0 8px var(--chip-fg,transparent);border-radius:50%}.hazard-carcinogenic{--chip-fg:var(--hz-carcin);--chip-bd:var(--hz-carcin);--chip-aura:var(--hz-carcin-halo)}.hazard-endocrine{--chip-fg:var(--hz-endocrine);--chip-bd:var(--hz-endocrine);--chip-aura:var(--hz-endocrine-halo)}.hazard-neuroactive{--chip-fg:var(--hz-neuro);--chip-bd:var(--hz-neuro);--chip-aura:var(--hz-neuro-halo)}.hazard-gut-microbiome{--chip-fg:var(--hz-microbiome);--chip-bd:var(--hz-microbiome);--chip-aura:var(--hz-microbiome-halo)}.hazard-cardiovascular{--chip-fg:var(--hz-cardio);--chip-bd:var(--hz-cardio);--chip-aura:var(--hz-cardio-halo)}.hazard-asthma-trigger{--chip-fg:var(--hz-asthma);--chip-bd:var(--hz-asthma);--chip-aura:var(--hz-asthma-halo)}.hazard-bone-mineral{--chip-fg:var(--hz-bone);--chip-bd:var(--hz-bone);--chip-aura:var(--hz-bone-halo)}.hazard-bisphenol{--chip-fg:var(--hz-bisphenol);--chip-bd:var(--hz-bisphenol);--chip-aura:var(--hz-bisphenol-halo)}.hazard-phthalate{--chip-fg:var(--hz-phthalate);--chip-bd:var(--hz-phthalate);--chip-aura:var(--hz-phthalate-halo)}.hazard-pfas{--chip-fg:var(--hz-pfas);--chip-bd:var(--hz-pfas);--chip-aura:var(--hz-pfas-halo)}.hazard-styrene{--chip-fg:var(--hz-styrene);--chip-bd:var(--hz-styrene);--chip-aura:var(--hz-styrene-halo)}.hazard-microplastic-shedding{--chip-fg:var(--hz-microplastic);--chip-bd:var(--hz-microplastic);--chip-aura:var(--hz-microplastic-halo)}.hazard-heavy-metal{--chip-fg:var(--hz-heavy-metal);--chip-bd:var(--hz-heavy-metal);--chip-aura:var(--hz-heavy-metal-halo)}.hazard-process-contaminant{--chip-fg:var(--hz-process);--chip-bd:var(--hz-process);--chip-aura:var(--hz-process-halo)}.hazard-mycotoxin{--chip-fg:var(--hz-mycotoxin);--chip-bd:var(--hz-mycotoxin);--chip-aura:var(--hz-mycotoxin-halo)}.hazard-pesticide{--chip-fg:var(--hz-pesticide);--chip-bd:var(--hz-pesticide);--chip-aura:var(--hz-pesticide-halo)}.hazard-phytoestrogen{--chip-fg:var(--hz-phyto);--chip-bd:var(--hz-phyto);--chip-aura:var(--hz-phyto-halo)}.hazard-animal-hormone{--chip-fg:var(--hz-animal-horm);--chip-bd:var(--hz-animal-horm);--chip-aura:var(--hz-animal-horm-halo)}.hazard-oxidation-product{--chip-fg:var(--hz-oxidation);--chip-bd:var(--hz-oxidation);--chip-aura:var(--hz-oxidation-halo)}.allergen-chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.allergen-chip{background:var(--surface);border:1px solid var(--chip-fg,var(--rule));color:var(--chip-fg,var(--ink));box-shadow:0 0 0 3px var(--chip-halo,transparent), 0 0 16px var(--chip-halo,transparent);border-radius:999px;align-items:center;gap:.55rem;padding:.4rem .85rem .4rem .4rem;font-size:.85rem;font-weight:500;transition:transform .12s,box-shadow .12s;display:inline-flex}.allergen-chip:hover{box-shadow:0 0 0 3px var(--chip-halo,transparent), 0 0 24px var(--chip-halo,transparent);transform:translateY(-1px)}.allergen-chip .icon{background:var(--chip-fg,var(--ink-muted));color:#fff;width:1.5rem;height:1.5rem;font-family:var(--sans);box-shadow:0 0 14px var(--chip-halo,transparent);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.allergen-chip.trace{color:var(--ink-muted);box-shadow:none;border-style:dashed;border-color:var(--ink-muted);background:0 0}.allergen-chip.trace .icon{background:var(--ink-muted);box-shadow:none}.allergen-chip .trace-tag{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-left:.2rem;font-size:.62rem}.ingredients-grid{grid-template-columns:1fr;gap:0;display:grid}@media (width>=720px){.ingredients-grid{grid-template-columns:1fr 1fr;column-gap:2.5rem}}.ingredient-row{border:1px solid #0000;border-radius:10px;grid-template-columns:1fr auto;align-items:baseline;gap:.75rem;margin-bottom:.3rem;padding:.65rem .8rem;transition:box-shadow .18s,border-color .18s,background .18s;display:grid}.ingredient-row[data-allergen]{border-color:var(--row-color,var(--amber));background:var(--surface);box-shadow:0 0 0 1px var(--row-color,var(--amber)), 0 0 18px var(--row-halo,var(--halo-amber)), 0 0 50px -10px var(--row-halo,var(--halo-amber))}.ingredient-row .name-cell{flex-direction:column;gap:.15rem;min-width:0;display:flex}.ingredient-row .name{color:var(--ink);font-size:.96rem;line-height:1.35}.ingredient-row .hidden-note{font-family:var(--mono);color:var(--ink-muted);font-size:.72rem;font-style:italic}.ingredient-row .allergen-tags{flex-wrap:wrap;gap:.25rem;display:inline-flex}.allergen-tag{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--chip-halo,#c97a1a1a);color:var(--chip-fg,var(--amber));border:1px solid var(--chip-fg,#c97a1a59);white-space:nowrap;border-radius:999px;padding:.15rem .5rem;font-size:.62rem;font-weight:500}.report-footer{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-top:.5rem;padding-top:1.2rem;font-size:.7rem;display:flex}.empty{color:var(--ink-muted);margin:0;font-size:.95rem}.verdict-hint{color:var(--ink-muted);text-transform:none;letter-spacing:0;margin-left:.6rem;font-size:.7rem;font-weight:400}.verdict-line{all:unset;cursor:pointer;border-radius:6px;align-items:center;gap:.6rem;width:100%;margin:-.05rem -.3rem;padding:.05rem .3rem;transition:background .12s;display:flex}.verdict-line:hover,.verdict-line:focus-visible{background:var(--surface-2)}.verdict-line:focus-visible{outline:2px solid var(--ink-soft);outline-offset:2px}.verdict-line>span:first-child{text-align:left;flex:1}.verdict-line-arrow{color:var(--ink-muted);opacity:.6;flex-shrink:0;font-size:1.1rem;font-weight:600;line-height:1}.verdict-line:hover .verdict-line-arrow,.verdict-line:focus-visible .verdict-line-arrow{opacity:1;color:var(--ink);transform:translate(2px)}.signal-card{border:1px solid var(--rule);background:var(--surface);border-radius:12px;grid-template-columns:1fr auto;grid-template-areas:"head risk""foot foot";gap:.55rem 1rem;margin-bottom:.55rem;padding:.95rem 1.1rem;transition:box-shadow .18s,border-color .18s,background .12s;display:grid;position:relative}.signal-card:last-of-type{margin-bottom:0}.signal-card[data-hazard]{border-color:var(--row-color,var(--rule));box-shadow:0 0 0 1px var(--row-color,transparent), 0 0 24px var(--row-aura,transparent), 0 0 60px -10px var(--row-aura,transparent)}.signal-card[data-hazard=carcinogenic]{--row-color:var(--hz-carcin);--row-aura:var(--hz-carcin-halo)}.signal-card[data-hazard=endocrine]{--row-color:var(--hz-endocrine);--row-aura:var(--hz-endocrine-halo)}.signal-card[data-hazard=neuroactive]{--row-color:var(--hz-neuro);--row-aura:var(--hz-neuro-halo)}.signal-card[data-hazard=gut-microbiome]{--row-color:var(--hz-microbiome);--row-aura:var(--hz-microbiome-halo)}.signal-card[data-hazard=cardiovascular]{--row-color:var(--hz-cardio);--row-aura:var(--hz-cardio-halo)}.signal-card[data-hazard=asthma-trigger]{--row-color:var(--hz-asthma);--row-aura:var(--hz-asthma-halo)}.signal-card[data-hazard=bone-mineral]{--row-color:var(--hz-bone);--row-aura:var(--hz-bone-halo)}.signal-card[data-hazard=bisphenol]{--row-color:var(--hz-bisphenol);--row-aura:var(--hz-bisphenol-halo)}.signal-card[data-hazard=phthalate]{--row-color:var(--hz-phthalate);--row-aura:var(--hz-phthalate-halo)}.signal-card[data-hazard=pfas]{--row-color:var(--hz-pfas);--row-aura:var(--hz-pfas-halo)}.signal-card[data-hazard=styrene]{--row-color:var(--hz-styrene);--row-aura:var(--hz-styrene-halo)}.signal-card[data-hazard=microplastic-shedding]{--row-color:var(--hz-microplastic);--row-aura:var(--hz-microplastic-halo)}.signal-card[data-hazard=heavy-metal]{--row-color:var(--hz-heavy-metal);--row-aura:var(--hz-heavy-metal-halo)}.signal-card[data-hazard=process-contaminant]{--row-color:var(--hz-process);--row-aura:var(--hz-process-halo)}.signal-card[data-hazard=mycotoxin]{--row-color:var(--hz-mycotoxin);--row-aura:var(--hz-mycotoxin-halo)}.signal-card[data-hazard=pesticide]{--row-color:var(--hz-pesticide);--row-aura:var(--hz-pesticide-halo)}.signal-card[data-hazard=phytoestrogen]{--row-color:var(--hz-phyto);--row-aura:var(--hz-phyto-halo)}.signal-card[data-hazard=animal-hormone]{--row-color:var(--hz-animal-horm);--row-aura:var(--hz-animal-horm-halo)}.signal-card[data-hazard=oxidation-product]{--row-color:var(--hz-oxidation);--row-aura:var(--hz-oxidation-halo)}.signal-head{flex-direction:column;grid-area:head;align-items:flex-start;gap:.4rem;min-width:0;display:flex}.signal-kicker{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--rule);white-space:nowrap;border-radius:999px;padding:.16rem .6rem;font-size:.66rem}.signal-title{color:var(--ink);text-align:left;font-size:1.02rem;font-weight:500;line-height:1.35}.signal-card .risk{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;grid-area:risk;align-self:start;padding:.2rem .55rem;font-size:.68rem;font-weight:500}.signal-card[data-risk=safe] .risk{color:var(--mint)}.signal-card[data-risk=caution] .risk{color:var(--amber)}.signal-card[data-risk=avoid] .risk{color:var(--coral)}.signal-foot{flex-wrap:wrap;grid-area:foot;align-items:center;gap:.5rem .7rem;display:flex}.signal-card-button{font:inherit;color:inherit;text-align:inherit;cursor:pointer;appearance:none;width:100%;padding-right:2.4rem}.signal-card-button:hover{background:var(--surface-2)}.signal-card-button:focus-visible{outline:2px solid var(--ink-soft);outline-offset:2px}.signal-card-button:after{content:"›";color:var(--ink-muted);opacity:.5;pointer-events:none;font-size:1.2rem;font-weight:600;line-height:1;transition:opacity .12s,transform .12s;position:absolute;bottom:.85rem;right:.85rem}.signal-card-button:hover:after,.signal-card-button:focus-visible:after{opacity:1;color:var(--ink);transform:translate(2px)}.additive-row-button{font:inherit;color:inherit;text-align:inherit;cursor:pointer;appearance:none;width:100%;position:relative}.additive-row-button:hover{background:var(--surface-2)}.additive-row-button:focus-visible{outline:2px solid var(--ink-soft);outline-offset:2px}.additive-row-button:after{content:"›";color:var(--ink-muted);opacity:.5;pointer-events:none;font-size:1.1rem;font-weight:600;transition:opacity .12s,transform .12s;position:absolute;top:.7rem;right:.6rem}.additive-row-button:hover:after,.additive-row-button:focus-visible:after{opacity:1;color:var(--ink);transform:translate(2px)}.tech-modal{--tech-accent:var(--rule);--tech-halo:#0b0f1414;box-shadow:0 0 0 4px var(--tech-halo), 0 30px 80px -20px #0b0f1466}.tech-modal-concern{--tech-accent:var(--coral);--tech-halo:#c13f2d38}.tech-modal-note{--tech-accent:var(--ink-soft);--tech-halo:#0b0f141a}.tech-modal .charm-modal-head{border-bottom:1px solid var(--rule);margin-bottom:.9rem;padding-bottom:.8rem}.tech-modal .charm-modal-head h2{color:var(--ink);margin:0;font-size:1.15rem;font-weight:600;line-height:1.35}.tech-modal-summary{color:var(--ink);border-left:3px solid var(--tech-accent);margin:0 0 1.1rem;padding-left:.75rem;font-size:1rem;font-weight:500;line-height:1.45}.tech-modal-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;display:flex}.tech-modal-detail{color:var(--ink-soft);margin:0 0 1.1rem;font-size:.92rem;line-height:1.55}.tech-modal-detail p{margin:0 0 .7rem}.tech-modal-detail p:last-child{margin-bottom:0}.tech-modal-sources{margin:0 0 .4rem;padding:0;list-style:none}.tech-modal-sources li{color:var(--ink-soft);margin-bottom:.35rem;font-size:.88rem}.tech-modal-sources li:before{content:"↗";color:var(--ink-muted);margin-right:.4rem}.tech-modal-sources a{color:var(--ink);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);transition:text-decoration-color .15s}.tech-modal-sources a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.status:before{opacity:1;animation:none}.sample-card:hover:not(:disabled),.recent-row:hover:not(.miss):not(.error),.charm:hover,.charm:focus-visible,.hazard-chip:hover,.allergen-chip:hover,.btn:active:not(:disabled),.verdict-line:hover .verdict-line-arrow,.verdict-line:focus-visible .verdict-line-arrow,.additive-row-button:hover:after,.additive-row-button:focus-visible:after,.signal-card-button:hover:after,.signal-card-button:focus-visible:after{transform:none}}
