:root{--bg: #f3f6f1;--surface: #ffffff;--surface-2: #e7ede5;--ink: #15211b;--muted: #56665d;--line: #d3ddd4;--accent: #1d5c47;--accent-ink: #ffffff;--tag: #ffd23f;--tag-ink: #2a2200;--good: #1f8a4c;--ok: #5f9a26;--warn: #c97710;--bad: #c8412b;--sugar: #c2417f;--f-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body: "Figtree", "Segoe UI", system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--radius: 14px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1613;--surface: #16201b;--surface-2: #1f2b25;--ink: #e6eee8;--muted: #9aaca2;--line: #2c3b34;--accent: #5fc79c;--accent-ink: #0a1510;--good: #3dbe72;--ok: #a2d25a;--warn: #f2a541;--bad: #f06a55;--sugar: #f07fb5;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--f-body);padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}@media(min-width:760px){body{padding-bottom:0}}h1,h2,h3{font-family:var(--f-display);line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.01em}h1{font-size:clamp(28px,4.4vw,44px);font-weight:800;letter-spacing:-.025em}h2{font-size:21px;font-weight:700}h3{font-size:17px;font-weight:700}p{margin:0}a{color:var(--accent)}img{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 12px;border-radius:8px;z-index:60}.skip:focus{left:8px}.mono{font-family:var(--f-mono)}.muted{color:var(--muted)}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.wrap{max-width:1140px;margin:0 auto;padding-inline:16px}.top{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}.top-inner{display:flex;align-items:center;gap:20px;min-height:58px}.logo{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-family:var(--f-display);font-size:22px;font-weight:600;letter-spacing:-.02em}.logo b{font-weight:800}.nav{display:none;gap:2px;margin-right:auto}.nav a{padding:8px 12px;border-radius:8px;font-weight:600;color:var(--muted);text-decoration:none}.nav a:hover{color:var(--ink)}.nav a[aria-current]{color:var(--ink);background:var(--surface-2)}@media(min-width:760px){.nav{display:flex}}.langs{display:flex;gap:2px;margin-left:auto;font-size:13px;font-weight:700;letter-spacing:.04em}@media(min-width:760px){.langs{margin-left:0}}.langs a,.langs span{padding:6px 8px;border-radius:6px;text-decoration:none;color:var(--muted)}.langs span{color:var(--ink);background:var(--surface-2)}.main{display:grid;gap:28px;padding-block:24px 48px}.foot{border-top:1px solid var(--line);color:var(--muted);font-size:13.5px}.foot-inner{display:grid;gap:6px;padding-block:20px 28px}.foot a{color:var(--muted)}.tabbar{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 11px;background:none;border:0;font-size:11.5px;font-weight:600;color:var(--muted);text-decoration:none}.tabbar svg{width:22px;height:22px}.tabbar [aria-current]{color:var(--accent)}@media(min-width:760px){.tabbar{display:none}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0}.panel>h2{margin-bottom:14px}.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.lead{color:var(--muted);font-size:17px;max-width:62ch;margin-top:12px}.note{color:var(--muted);font-size:13.5px;margin-top:10px}.label{display:block;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.page-head{display:grid;gap:4px}.section{display:grid;gap:14px}.text-link{font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.count{font-family:var(--f-mono);font-size:14px;color:var(--muted);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:11px 16px;font-weight:700;border:1px solid transparent;text-decoration:none;line-height:1.2}.btn svg{width:18px;height:18px;flex:none}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent)}.btn-lg{padding:15px 20px;font-size:17px}.btn-lg svg{width:22px;height:22px}.btn-sm{padding:7px 11px;font-size:14px}.field{display:flex;gap:8px}.field input,textarea,.cmp-form input{flex:1;min-width:0;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 14px}.field input:focus,textarea:focus,.cmp-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.pills,.chips{display:flex;flex-wrap:wrap;gap:6px}.pills{margin-top:8px}.pill{font-size:12.5px;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--surface-2);border:1px solid var(--line)}.pill-upf{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,var(--surface));border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}.chip{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-size:13px;font-weight:600}button.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.badge{font-family:var(--f-mono);font-weight:600;font-size:13.5px;min-width:42px;text-align:center;border-radius:8px;padding:4px 6px;color:#fff}.s-good{background:var(--good)}.s-ok{background:var(--ok)}.s-warn{background:var(--warn)}.s-bad{background:var(--bad)}.s-none{background:var(--muted)}.t-good{color:var(--good)}.t-ok{color:var(--ok)}.t-warn{color:var(--warn)}.t-bad{color:var(--bad)}.t-none{color:var(--muted)}.risk{font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap}.r-none{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good)}.r-low{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.r-moderate{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.r-high{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.hero{display:grid;gap:24px;align-items:center}@media(min-width:900px){.hero{grid-template-columns:1.1fr 1fr;padding-block:12px}}.hero h1{font-size:clamp(36px,6vw,62px);margin-top:10px}.scanner-panel{display:grid;gap:12px}.scanner-inline{max-width:640px}.grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid-tight{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.grid-one{grid-template-columns:1fr}.pcard{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;text-decoration:none;color:var(--ink)}.pcard:hover{border-color:var(--accent)}.pcard-text{display:grid;min-width:0}.pcard-name{font-weight:700;font-size:14.5px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pcard-brand{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gain{font-family:var(--f-mono);font-size:12px;font-weight:600;color:var(--good)}.thumb{width:56px;height:56px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--line)}.thumb-empty{display:grid;place-items:center;font-family:var(--f-display);font-weight:800;color:var(--muted);background:var(--surface-2)}.steps{list-style:none;counter-reset:step;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.steps li{counter-increment:step;padding:16px 0 0;border-top:2px solid var(--ink)}.steps li:before{content:counter(step);font-family:var(--f-mono);font-weight:600;color:var(--accent);display:block;margin-bottom:6px}.steps p{color:var(--muted);font-size:14.5px;margin-top:4px}.checks{margin:0;padding-left:20px;display:grid;gap:4px;columns:2 220px}.faq details{border-top:1px solid var(--line);padding:12px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-weight:700;cursor:pointer}.faq details p{color:var(--muted);margin-top:8px;max-width:70ch}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0;font-size:13.5px;color:var(--muted)}.crumbs li+li:before{content:"\203a";margin-right:6px}.crumbs a{color:var(--muted)}.crumbs li[aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}.prod{display:grid;gap:18px}@media(min-width:920px){.prod{grid-template-columns:370px 1fr;align-items:start}.side{position:sticky;top:76px}}.side{display:grid;gap:16px}.prod-main{display:grid;gap:18px;min-width:0}.sumtop{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start}.sumtop h1{font-size:23px;letter-spacing:-.015em;overflow-wrap:anywhere}.prod-img{width:96px;height:96px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:28px}.meta{color:var(--muted);font-size:14px;margin-top:4px}.scorebox{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.side .scorebox{padding-top:14px;border-top:1px solid var(--line)}.ring{display:block}.ring-num{font-family:var(--f-display);font-weight:800;font-size:30px;fill:var(--ink)}.ring-of{font-size:10px;fill:var(--muted)}.verdict{font-family:var(--f-display);font-weight:800;font-size:27px;line-height:1.1}.acts{display:flex;flex-wrap:wrap;gap:8px}.notice{border-color:color-mix(in srgb,var(--warn) 50%,var(--line));display:grid;gap:10px;justify-items:start}.bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:minmax(110px,150px) 1fr 36px;gap:12px;align-items:center;font-size:14.5px}.bar-row b{text-align:right}.track{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}.track i{display:block;height:100%;border-radius:99px}.caps{margin:12px 0 0;padding:10px 12px 10px 30px;border-radius:10px;background:color-mix(in srgb,var(--warn) 10%,transparent);font-size:14px}.add-list{display:grid;gap:8px}.add-list-full{gap:6px}.add-row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none}a.add-row:hover{border-color:var(--accent)}.add-code{font-family:var(--f-mono);font-weight:600;font-size:13.5px}.add-text{display:grid;min-width:0}.add-name{font-weight:600;font-size:14.5px}.add-fn{color:var(--muted);font-size:12.5px}.terms{display:grid;gap:10px;margin:16px 0 0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.terms div{background:var(--surface-2);border-radius:10px;padding:10px 12px}.terms dt{font-size:13px;font-weight:700;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.terms dt b{font-family:var(--f-mono);color:var(--ink)}.terms dd{margin:6px 0 0;font-size:13.5px}.terms .chip{background:var(--surface)}.ingredients{line-height:1.85;overflow-wrap:anywhere}.mark{color:inherit;border-radius:4px;padding:1px 3px;text-decoration:none}a.mark{text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 30%,transparent);text-underline-offset:3px}.m-add{background:color-mix(in srgb,var(--warn) 22%,transparent)}.m-oil{background:color-mix(in srgb,var(--tag) 45%,transparent)}.m-sugar{background:color-mix(in srgb,var(--sugar) 20%,transparent)}.m-upf{background:color-mix(in srgb,var(--bad) 20%,transparent)}.legend{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--line);vertical-align:middle}thead th{font-size:13px;color:var(--muted)}.nt th{font-weight:500}.nt td.num{text-align:right}.nt td:last-child{width:90px;text-align:right}.light{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700}.light:before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}.l-green{color:var(--good)}.l-amber{color:var(--warn)}.l-red{color:var(--bad)}.source{font-size:13px;color:var(--muted)}.empty-state{display:grid;gap:14px;max-width:720px}.filter-bar{display:grid;gap:10px;margin-bottom:14px}.filter-bar input{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.add-grid{display:grid;gap:18px}@media(min-width:920px){.add-grid{grid-template-columns:1fr 360px;align-items:start}}.status{font-weight:700}.st-approved{color:var(--good)}.st-banned{color:var(--bad)}.st-not-approved{color:var(--warn)}.prose{display:grid;gap:12px;max-width:72ch}.prose h2{margin-top:12px}.prose ul{margin:0;padding-left:20px;display:grid;gap:6px}.formula{font-family:var(--f-mono);font-size:14px;background:var(--surface-2);padding:12px 14px;border-radius:10px}.checker{display:grid;gap:18px}@media(min-width:920px){.checker{grid-template-columns:1fr 1fr;align-items:start}.checker-input{position:sticky;top:76px}}.checker-input,.checker-result{display:grid;gap:14px}textarea{min-height:220px;resize:vertical;line-height:1.6}.checker-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.checker-result h3{margin-top:6px}.ing-count{font-size:13.5px;color:var(--muted)}.cmp-form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.cmp{min-width:640px}.cmp thead th{vertical-align:top}.cmp thead .pcard{border:0;padding:0;grid-template-columns:44px 1fr auto}.cmp thead .thumb{width:44px;height:44px}.cmp td{font-size:15px}.win{font-family:var(--f-body);font-size:11px;font-weight:700;color:var(--tag-ink);background:var(--tag);border-radius:4px;padding:1px 6px;margin-left:4px}.scan-dialog{width:min(560px,calc(100vw - 24px));border:0;border-radius:18px;padding:16px;background:var(--surface);color:var(--ink)}.scan-dialog::backdrop{background:#050a08b3}.scan-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.viewfinder{position:relative;aspect-ratio:4 / 3;border-radius:12px;overflow:hidden;background:#0c1310}.viewfinder video{width:100%;height:100%;object-fit:cover}.corner{position:absolute;width:34px;height:34px;border:3px solid var(--tag)}.c1{top:18%;left:10%;border-right:0;border-bottom:0;border-radius:8px 0 0}.c2{top:18%;right:10%;border-left:0;border-bottom:0;border-radius:0 8px 0 0}.c3{bottom:18%;left:10%;border-right:0;border-top:0;border-radius:0 0 0 8px}.c4{bottom:18%;right:10%;border-left:0;border-top:0;border-radius:0 0 8px}.laser{position:absolute;left:12%;right:12%;height:2px;background:#ff5a4a;box-shadow:0 0 12px #ff5a4a;animation:sweep 2.2s ease-in-out infinite}@keyframes sweep{0%,to{top:26%}50%{top:72%}}@media(prefers-reduced-motion:reduce){.laser{animation:none;top:50%}}.scan-status{margin:12px 0;color:var(--muted);font-size:14.5px}.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;z-index:70;max-width:calc(100vw - 32px);overflow-wrap:anywhere}@media(min-width:760px){.toast{bottom:28px}}.notice-inline{display:grid;gap:8px;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--warn) 10%,transparent)}.notice-inline h2{font-size:18px}.guide-links{list-style:none;padding:0;margin:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.guide-links a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-weight:700;text-decoration:none;color:var(--ink)}.guide-links a:hover{border-color:var(--accent)}.guide table th[scope=row]{font-weight:600}.guide td,.guide th{font-size:14.5px;vertical-align:top}.prod-fig{margin:0;display:grid;gap:4px;justify-items:center}.prod-fig figcaption{font-size:10.5px;line-height:1.2;text-align:center}.prod-fig figcaption a{color:var(--muted)}
