@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-cyrillic-ext-wght-normal-DOFToQv1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-cyrillic-wght-normal-DayYxulF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-math-wght-normal-Bl4ZGkZl.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-symbols-wght-normal-DxQzqQfC.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-vietnamese-wght-normal-BBxOatbv.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-latin-ext-wght-normal-QAhDxQuo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./onest-latin-wght-normal-Dun_Rd-l.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f4ee;--surface:#fff;--surface-2:#f0eee6;--ink:#0f2a20;--muted:#5b6660;--line:#ddd8ce;--accent:#1f5e3f;--accent-ink:#faf9f5;--accent-soft:#e3ebdc;--hero:#0f3d2e;--hero-ink:#faf9f5;--hero-icon:#c9d8c1;--logo-a:#0f3d2e;--logo-b:#4e8a55;--warn-bg:#fff1cc;--warn-line:#d9a21b;--warn-ink:#5e4500;--danger:#a8352a;--danger-soft:#fbe4e0;--err-bg:#f9e1db;--err-ink:#7e2a17;--n-fill:#b4561c;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:Onest Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c1a14;--surface:#14251d;--surface-2:#1a2e25;--ink:#eaf0ea;--muted:#a3b5a9;--line:#2a3d33;--accent:#8fc79a;--accent-ink:#0c1a14;--accent-soft:#1e3a2b;--hero:#8fc79a;--hero-ink:#0c1a14;--hero-icon:#0c1a14;--logo-a:#eaf0ea;--logo-b:#8fc79a;--warn-bg:#3a3115;--warn-line:#b8901f;--warn-ink:#f2d27a;--danger:#f2988c;--danger-soft:#3a1e1a;--err-bg:#3e1f1a;--err-ink:#f2a595;--n-fill:#e08a4a}}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}h1{letter-spacing:-.025em;text-wrap:balance;margin:0 0 .45rem;font-size:1.75rem;font-weight:700;line-height:1.12}h2{letter-spacing:-.01em;margin:2rem 0 .7rem;font-size:1.12rem;font-weight:650;line-height:1.25}h3{margin:1.1rem 0 .3rem;font-size:.97rem;font-weight:650}p{margin:0 0 .7rem}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-user-select:none;user-select:none}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.icon{flex:none;display:block}.shell{max-width:520px;padding:0 20px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.lead{color:var(--muted);text-wrap:pretty;max-width:38ch}.muted{color:var(--muted);font-size:.93rem}.fine{color:var(--muted);font-size:.8rem;line-height:1.45}.num{font-variant-numeric:tabular-nums}.appbar{min-height:60px;padding-top:env(safe-area-inset-top);justify-content:space-between;align-items:center;gap:8px;display:flex}.appbar-back{min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:2px;margin-left:-10px;padding:0 12px 0 6px;font-weight:600;display:inline-flex}.appbar-actions{gap:6px;display:flex}.text-btn{min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.text-btn.quiet{color:var(--muted);font-weight:550}.text-btn:active,.appbar-back:active{background:var(--accent-soft)}.wordmark{letter-spacing:.16em;color:var(--logo-a);align-items:center;gap:8px;font-size:1.02rem;font-weight:650;display:inline-flex}.logo-mark{flex:none}.btn{cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:54px;padding:14px 20px;font-size:1.03rem;font-weight:650;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}.btn.ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn:not(:disabled):active{transform:scale(.985)}.actions{gap:10px;margin-top:22px;display:grid}.actions.two{grid-template-columns:1fr 1fr}.bottombar{z-index:5;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg) 97%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);gap:10px;margin:26px -20px 0;display:grid;position:sticky;bottom:0}.bottombar .row2{grid-template-columns:1fr auto;gap:10px;display:grid}.bottombar .row2 .btn.ghost{width:auto;padding:14px 18px}.bar-reason{color:var(--muted);margin:0;font-size:.86rem}.shell:has(.bottombar){padding-bottom:0}.home-hero{text-align:center;padding:4vh 0 1vh}.home-hero h1{letter-spacing:-.04em;margin:0 auto .8rem;font-size:clamp(2.3rem,11vw,3.1rem);line-height:1.02}.home-hero h1 em{color:var(--accent);font-style:normal;display:block}.home-hero .lead{margin:0 auto 1.6rem}.scan-btn{aspect-ratio:1;background:var(--hero);width:min(56vw,212px);color:var(--hero-ink);cursor:pointer;text-align:center;box-shadow:0 0 0 14px color-mix(in srgb, var(--hero) 9%, transparent), 0 0 0 30px color-mix(in srgb, var(--hero) 5%, transparent);border:0;border-radius:50%;place-content:center;justify-items:center;gap:10px;margin:6px auto 4px;padding:24px;font-size:1.08rem;font-weight:650;line-height:1.2;display:grid}.scan-btn .icon-wrap{color:var(--hero-icon)}.scan-btn:active{transform:scale(.98)}.tiles{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:2.4rem;display:grid}.tile{background:var(--surface);min-height:118px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;border:0;border-radius:16px;align-content:start;gap:6px;padding:14px 12px;display:grid}.tile .icon{color:var(--accent)}.tile b{font-size:.95rem;font-weight:650;line-height:1.2}.tile small{color:var(--muted);font-size:.8rem;line-height:1.3}.tile:disabled{cursor:default}.tile:disabled b,.tile:disabled .icon{color:var(--muted)}.tile:not(:disabled):active{background:var(--surface-2)}.promise{background:var(--accent-soft);border-radius:16px;align-items:center;gap:14px;margin-top:10px;padding:14px 16px;display:flex}.promise .logo-badge{background:var(--surface);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.promise p{margin:0;font-size:.9rem;line-height:1.4}@media (max-width:360px){.tiles{grid-template-columns:1fr}.tile{min-height:0}}.section-head{justify-content:space-between;align-items:center;margin:2.2rem 0 .7rem;display:flex}.section-head h2{margin:0}.history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.history li{background:var(--surface);border-radius:16px;align-items:center;padding-right:4px;display:flex}.history li.picked{box-shadow:inset 0 0 0 2.5px var(--accent)}.history-open{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:16px;flex:1;align-items:center;gap:14px;min-width:0;padding:12px 6px 12px 12px;display:flex}.history-text{gap:1px;min-width:0;display:grid}.history-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.history-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.icon-btn{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;display:grid}.icon-btn:active{background:var(--surface-2)}.empty{border:1.5px dashed var(--line);color:var(--muted);border-radius:16px;padding:22px 18px}.empty p{margin:0}.badge{font-variant-numeric:tabular-nums;letter-spacing:-.02em;flex:none;place-items:center;font-weight:750;display:grid}.badge-md{border-radius:14px;width:48px;height:48px;font-size:1.12rem}.badge-lg{border-radius:18px;width:64px;height:64px;font-size:1.6rem}.badge.none{background:var(--surface-2);color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line)}.ruler{position:relative}.ruler-track{gap:3px;display:flex;position:relative}.ruler-band{opacity:.28;border-radius:3px;flex:1}.ruler-band:first-child{border-radius:8px 3px 3px 8px}.ruler-band:last-child{border-radius:3px 8px 8px 3px}.ruler-band.on{opacity:1}.ruler-lg .ruler-track{height:16px}.ruler-sm .ruler-track{height:8px}.ruler-marker{width:0;position:absolute;top:-7px;bottom:-7px}.ruler-marker:before{content:"";width:7px;box-shadow:0 0 0 2.5px var(--bg);background:currentColor;border-radius:4px;position:absolute;top:0;bottom:0;left:-3.5px}.ruler-label{white-space:nowrap;border-radius:8px;padding:2px 8px;font-size:.78rem;font-weight:700;position:absolute;bottom:calc(100% + 6px);left:0;transform:translate(-50%)}.ruler-ticks{height:22px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:10px;font-size:.76rem;position:relative}.ruler-ticks span{position:absolute;transform:translate(-50%)}.ruler-ticks span:first-child{transform:none}.ruler-ticks span:last-child{transform:translate(-100%)}.group{margin-top:1.6rem}.group>h2{margin:0 0 .7rem}.field,.value{gap:6px;display:grid}.field{margin-top:14px}.group>.field:first-of-type{margin-top:0}.field>span,.value>span{color:var(--muted);font-size:.86rem}.field small{color:var(--muted);font-size:.8rem}.field small.attention{color:var(--warn-ink)}input[type=text],input:not([type]),select,textarea{background:var(--surface);border:1.5px solid var(--line);border-radius:10px;width:100%;min-height:48px;padding:12px 14px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2356665B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:40px}textarea{resize:vertical;line-height:1.45}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 70%, transparent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}input[aria-invalid=true]{border-color:var(--err-ink)}select.attention{border-color:var(--warn-line);background-color:var(--warn-bg)}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.inline{grid-template-columns:1fr auto;gap:8px;display:grid}.inline select{width:auto}.values{background:var(--surface);border-radius:16px;margin-top:14px;padding:4px 0;display:grid}.value{border-left:3px solid #0000;grid-template-columns:1fr 9.5ch;align-items:center;padding:6px 14px}.value+.value{border-top:1px solid var(--surface-2)}.value>span{color:var(--ink);font-size:.96rem}.value.sub>span{color:var(--muted);padding-left:14px}.value input{text-align:right;font-variant-numeric:tabular-nums;background:var(--surface-2);border-color:#0000;min-height:42px;padding:8px 10px}.value input::placeholder{font-size:.72rem}.value.uncertain{background:var(--warn-bg);border-left-color:var(--warn-line)}.value.uncertain>span{color:var(--warn-ink);font-weight:600}.value.uncertain input{background:var(--surface);border-color:var(--warn-line)}.estimate{background:var(--surface);border-radius:16px;gap:6px;margin-top:8px;padding:14px;display:grid}.estimate p{margin:0;font-size:.92rem}.estimate .btn{min-height:44px;padding:10px 14px;font-size:.95rem}.checks{gap:4px;margin-top:10px;display:grid}.checks label,.confirm{align-items:center;gap:12px;min-height:44px;display:flex}.confirm{background:var(--warn-bg);color:var(--warn-ink);border-radius:12px;padding:10px 14px;font-size:.95rem;font-weight:550}input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:0}.notices{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.notices li{border-left:4px solid;border-radius:12px;padding:12px 14px 12px 16px;font-size:.92rem}.notices .warning{background:var(--warn-bg);color:var(--warn-ink);border-color:var(--warn-line)}.notices .error{background:var(--err-bg);color:var(--err-ink);border-color:var(--err-ink)}.read-by{color:var(--muted);margin:2px 0 0;font-size:.82rem;display:block}.reading-screen{align-content:center;gap:18px;min-height:calc(100dvh - 60px);padding-bottom:40px;display:grid}.reading-photo{background:var(--hero);border-radius:24px;height:min(48dvh,420px);position:relative;overflow:hidden}.reading-photo img{object-fit:cover;opacity:.9;width:100%;height:100%;display:block}.reading-photo:after{content:"";mix-blend-mode:screen;background:linear-gradient(#0000,#8fe0a28c 70%,#cff5d9 72%,#0000 74%);height:34%;animation:2.2s cubic-bezier(.5,0,.5,1) infinite sweep;position:absolute;top:0;left:0;right:0}@keyframes sweep{0%{transform:translateY(-100%)}to{transform:translateY(300%)}}.reading-status{gap:8px;display:grid}.reading-status h1{margin:0;font-size:1.35rem}.reading{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.reading-bar{background:var(--accent);height:100%;transition:width .3s}.reading.indeterminate .reading-bar{animation:1.4s ease-in-out infinite slide;width:35%!important}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}.product-name{color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:2px;min-height:44px;margin:0;font-weight:600;display:flex}.product-name .icon-btn{width:40px;height:40px}.score{padding:8px 0 4px}.score-number{align-items:baseline;gap:10px;margin:2px 0;display:flex}.score-number b{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:clamp(5rem,26vw,6.6rem);font-weight:750;line-height:.95}.score-number span{color:var(--muted);font-size:1.02rem}.score h1{margin-bottom:1.4rem}.score .ruler{margin-bottom:4px}.chips{flex-wrap:wrap;gap:8px;margin:14px 0 0;display:flex}.chip{background:var(--surface);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600}.chip.conf-complete{background:var(--accent-soft);color:var(--accent)}.chip.conf-partial{background:var(--warn-bg);color:var(--warn-ink)}.score .fine{margin-top:10px}.bars{gap:14px;margin:0;padding:0;list-style:none;display:grid}.bars li{grid-template-columns:1fr auto;align-items:baseline;gap:6px 10px;display:grid}.bar-name{font-weight:550}.bar-pts{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.bar-track{background:var(--line);border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.bar-fill{border-radius:3px;height:100%;display:block}.bar-fill.N{background:var(--n-fill)}.bar-fill.P{background:var(--accent)}.bars li.off .bar-track{opacity:.45}.bars li.off .bar-name{color:var(--muted)}.bars small{color:var(--muted);grid-column:1/-1;font-size:.8rem}.state{padding-top:3vh}.missing{gap:8px;margin:0 0 1rem;padding:0;list-style:none;display:grid}.missing li{background:var(--surface);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}.missing li:before{content:"";width:10px;height:10px;box-shadow:inset 0 0 0 2px var(--muted);border-radius:50%;flex:none}details{background:var(--surface);border-radius:16px;margin-top:10px;padding:0 16px}details[open]{padding-bottom:14px}summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:56px;font-weight:650;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:9px;height:9px;transition:transform .2s;transform:rotate(45deg)translate(-2px,-2px)}details[open] summary:after{transform:rotate(-135deg)translate(-2px,-2px)}.extras{margin-top:2rem}.additives,.sources,.steps{gap:10px;margin:0 0 .8rem;padding-left:1.2em;font-size:.93rem;display:grid}.additives{padding:0;list-style:none}.additives small{color:var(--muted);font-size:.8rem;display:block}.tag{background:var(--surface-2);color:var(--muted);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.76rem;display:inline-block}.steps p{margin:0 0 2px}.steps code{color:var(--muted);overflow-wrap:anywhere;font-family:inherit;font-size:.8rem}.sources a{color:var(--accent);overflow-wrap:anywhere}.cmp-scale{margin:46px 0 6px}.cmp-heads{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.cmp-head{background:var(--surface);border-radius:16px;align-content:start;justify-items:start;gap:8px;padding:14px;display:grid}.cmp-tag{color:var(--muted);font-size:.78rem;font-weight:700}.cmp-name{overflow-wrap:anywhere;font-weight:600;line-height:1.3}.cmp-head small{color:var(--muted);font-size:.8rem}.cmp-verdict{background:var(--accent-soft);border-radius:16px;margin:16px 0 0;padding:14px 16px;font-weight:600}.cmp-verdict.neutral{background:var(--surface)}.cmp-basis{color:var(--muted);margin:1.8rem 0 .6rem;font-size:.86rem}.cmp-rows{background:var(--surface);font-variant-numeric:tabular-nums;border-radius:16px;margin:0;padding:4px 0;list-style:none}.cmp-rows li{grid-template-columns:1fr 1fr;gap:2px 12px;padding:10px 16px;display:grid}.cmp-rows li+li{border-top:1px solid var(--surface-2)}.cmp-rows .lbl{color:var(--muted);grid-column:1/-1;font-size:.82rem}.cmp-rows .v{font-size:1.05rem;font-weight:600}.toast{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:20;background:var(--ink);width:min(100% - 32px,488px);color:var(--bg);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:.95rem;animation:.22s ease-out rise;display:flex;position:fixed;transform:translate(-50%)}.toast button{min-height:40px;color:var(--bg);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 14px;font-weight:700;text-decoration:underline}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reading.indeterminate .reading-bar{opacity:.5;width:100%!important}}.scanner{color:#fff;background:#0c1a12;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.scanner video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner video.hidden{visibility:hidden}.frame{border-radius:22px;outline:2.5px solid #ffffffe6;position:absolute;inset:17% 6% 34%;box-shadow:0 0 0 100vmax #08140d80}.scanner-top,.scanner-bottom,.scanner-msg{z-index:1;position:relative}.scanner-top{padding:calc(14px + env(safe-area-inset-top)) 16px 0;justify-content:space-between;display:flex}.scanner-msg{text-align:center;align-self:start;padding:10px 22px 0}.scanner-msg p{background:#08140db8;border-radius:14px;margin:0;padding:8px 14px;font-size:.92rem;font-weight:550;display:inline-block}.scanner-msg p.good{background:#1e7a45}.scanner-bottom{padding:8px 16px calc(22px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex}.shoot-row{grid-template-columns:1fr auto 1fr;place-items:center;gap:10px;display:grid}.shoot-row .pill.native{background:#1e7a45;justify-self:end}.cam-controls{align-items:center;gap:12px;display:flex}.zoom{white-space:nowrap;background:#08140d99;border-radius:999px;flex:1;align-items:center;gap:10px;padding:6px 14px;font-size:.85rem;font-weight:600;display:flex}.zoom input{accent-color:#fff;flex:1;min-width:0}.scanner-bottom .tip{text-align:center;opacity:.8;margin:0;font-size:.8rem}.scanner video{transform-origin:50%}.pill{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff29;border:0;border-radius:999px;justify-self:start;padding:11px 16px;font-size:.9rem;font-weight:600}.pill.file{position:relative;overflow:hidden}.pill.file input{opacity:0;cursor:pointer;position:absolute;inset:0}.shutter{cursor:pointer;background:#ffffff47;border:5px solid #fff;border-radius:50%;grid-column:2;width:76px;height:76px}.shutter:active{background:#fff}.cropper{color:#fff;background:#0c1a12;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.crop-top{padding:calc(10px + env(safe-area-inset-top)) 12px 10px;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;display:grid}.crop-help{text-align:center;margin:0;font-size:.92rem;font-weight:550;line-height:1.35}.crop-stage{justify-content:center;align-items:center;min-height:0;padding:0 8px;display:flex;position:relative;overflow:hidden}.crop-box{max-width:100%;max-height:100%;line-height:0;position:relative}.crop-box img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:100%;max-height:calc(100dvh - 210px);display:block}.crop-touch{touch-action:none;cursor:crosshair;position:absolute;inset:0}.crop-region{pointer-events:none;background:#ffffff24;border:2.5px solid #fff;border-radius:6px;position:absolute;box-shadow:0 0 0 1px #00000059}.crop-region.drawing{border-style:dashed}.crop-remove{pointer-events:auto;color:#fff;cursor:pointer;background:#1e7a45;border:0;border-radius:15px;align-items:center;gap:4px;min-width:44px;height:30px;padding:0 8px;font-size:.82rem;font-weight:700;display:inline-flex;position:absolute;top:-16px;left:-14px}.crop-actions{padding:12px 16px calc(18px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;display:flex}.crop-row{justify-content:space-between;gap:8px;display:flex}.crop-row .pill:only-child{margin-left:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reading-photo.stopped:after{display:none}.reading-photo.stopped img{opacity:.45}.cmp-rows .v.small{font-size:.9rem;font-weight:550}@media (prefers-color-scheme:dark){.ruler-band{opacity:.4}.ruler-band.on{opacity:1}}.facts ul{gap:8px;margin:0 0 10px;padding:0;list-style:none;display:grid}.facts li{background:var(--surface);border-left:4px solid var(--line);border-radius:12px;padding:12px 14px 12px 16px;font-weight:550}.facts li.flag{border-left-color:var(--n-fill)}.facts li.muted{border-left-color:var(--line);font-weight:400}.round-btn{color:#fff;-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.cam-action{color:#fff;cursor:pointer;text-align:center;justify-items:center;gap:6px;font-size:.8rem;font-weight:600;display:grid;position:relative}.cam-icon{-webkit-backdrop-filter:blur(8px);background:#ffffff29;border-radius:50%;place-items:center;width:54px;height:54px;display:grid}.cam-action input{opacity:0;cursor:pointer;position:absolute;inset:0}.cam-action:active .cam-icon,.round-btn:active{transform:scale(.94)}.jur{flex-wrap:wrap;gap:6px;margin:6px 0 2px;display:flex}.jur span{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.76rem}.jur span.note{background:var(--warn-bg);color:var(--warn-ink)}.about .group{margin-top:1.8rem}.about .group p{max-width:62ch}.legend{gap:6px;margin:14px 0;padding:0;list-style:none;display:grid}.legend li{grid-template-columns:14px 4.2em 1fr;align-items:center;gap:10px;font-size:.95rem;display:grid}.legend-swatch{border-radius:4px;width:14px;height:14px}.legend-range{color:var(--muted)}.plain{gap:6px;margin:0;padding-left:1.1em;display:grid}.icon-btn.accent{color:var(--accent)}.suggest{text-align:left;border:1.5px dashed var(--line);width:100%;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;margin-top:8px;padding:10px 14px;font-size:.9rem}.suggest b{color:var(--ink);font-weight:600}.portion-input{grid-template-columns:auto 7ch auto;align-items:center;gap:10px;margin-bottom:10px;display:grid}.portion-input>span:first-child{color:var(--muted);font-size:.92rem}.portion-input input{text-align:right;font-variant-numeric:tabular-nums;min-height:44px}.portion-rows{background:var(--surface);border-radius:16px;margin:0 0 8px;padding:4px 0;list-style:none}.portion-rows li{justify-content:space-between;padding:8px 16px;display:flex}.portion-rows li+li{border-top:1px solid var(--surface-2)}.portion-rows li.sub span{color:var(--muted);padding-left:14px}.portion-rows b{font-weight:600}.settings h1{margin:.2rem 0 0}.choice{border:0;min-width:0;margin-inline:0;padding:0}.choice legend{margin-bottom:.7rem;padding:0;font-size:1.12rem;font-weight:700}.choice label{background:var(--surface);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.choice label+label{margin-top:8px}.choice label:has(input:checked){box-shadow:inset 0 0 0 2px var(--accent)}.choice input[type=radio]{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:1px 0 0}.choice label>span{gap:3px;display:grid}.choice small{color:var(--muted);font-size:.86rem;line-height:1.4}.choice .fine{margin:.6rem 2px 0}.settings-actions{gap:10px;margin-top:.8rem;display:grid}.settings-actions .btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.file-btn{position:relative;overflow:hidden}.file-btn input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.file-btn:focus-within{outline:3px solid var(--accent);outline-offset:2px}.btn.ghost.danger{color:var(--danger)}.btn.ghost.danger.armed{background:var(--danger-soft);box-shadow:inset 0 0 0 2px var(--danger)}.tips{background:var(--accent-soft);border-radius:16px;margin-top:1.4rem;padding:14px 8px 16px 18px}.tips-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tips h2{margin:0;font-size:1.05rem}.tips ol{gap:6px;margin:.4rem 0 0;padding-left:1.2rem;padding-right:10px;font-size:.93rem;line-height:1.45;display:grid}.search{background:var(--surface);min-height:46px;color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:14px;align-items:center;gap:8px;margin-bottom:10px;padding:0 12px;display:flex}.search:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:10px 0;font-size:16px}.check-jump{justify-self:start;margin:-4px 0 -6px -12px}.rename{align-items:center;gap:6px;display:flex}.rename input{flex:1;min-width:0}.compare-with{margin-top:.2rem}.score>.text-btn,.compare-with .text-btn{margin-left:-12px}.history.pick{margin-top:6px}.scanner-top-right{align-items:center;gap:8px;display:flex}.round-btn.on{color:#0f3d2e;background:#faf9f5}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin:1.6rem -20px 0;padding:0 20px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{min-height:48px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;margin-bottom:-1px;padding:0 12px;font-size:.95rem;font-weight:600}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.tab-panel:focus-visible{outline-offset:6px}.tab-panel>section:first-child>h2:first-child,.tab-panel>.facts:first-child>h2{margin-top:1.4rem}.panel-block h3{margin:1.2rem 0 .3rem;font-size:1rem}.result .score{background:var(--surface);border-radius:22px;margin-top:8px;padding:18px 18px 8px}.result .score .chip:not([class*=conf-]){background:var(--surface-2)}.result .score h1{margin-bottom:1.1rem;font-size:1.5rem}.result .score .score-number b{font-size:clamp(4.4rem,22vw,5.8rem)}.result .tabs{margin-top:1.2rem}.cmp-rows .v{align-items:center;gap:6px;display:inline-flex}.cmp-rows .v.fav{color:var(--accent)}.barcode-offer{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1.5px var(--line) inset;border-radius:16px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px 10px 14px;display:flex}.barcode-offer.dark{color:#faf9f5;box-shadow:none;-webkit-backdrop-filter:blur(10px);background:#0c1a14d1}.barcode-code{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-weight:600;display:inline-flex}.barcode-offer .barcode-go{background:var(--hero);min-height:40px;color:var(--hero-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;margin-left:auto;padding:0 16px;font-weight:650}.barcode-offer.dark .barcode-go{color:#0f3d2e;background:#faf9f5}.barcode-offer .barcode-go:disabled{opacity:.7}.barcode-close{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin-left:auto;display:grid}.barcode-offer .barcode-close+.barcode-go,.barcode-offer .barcode-error+.barcode-go{margin-left:auto}.barcode-error{flex-basis:100%;font-size:.88rem}.barcode-row{gap:8px;display:flex}.barcode-row input{font-variant-numeric:tabular-nums;flex:1;min-width:0}.barcode-row .btn{width:auto;padding:0 18px}.field>label>span{color:var(--muted);font-size:.86rem}a{color:var(--accent);text-underline-offset:2px}.source-line{color:var(--muted);margin:0 0 4px;font-size:.8rem}.crash{padding-top:18vh}.crash .btn{margin-top:1.4rem}.cropper.has-offer .crop-box img{max-height:calc(100dvh - 330px)}.allergen-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.allergen-list li{background:var(--warn-bg);color:var(--warn-ink);border-radius:12px;gap:1px;padding:8px 12px;display:grid}.allergen-list b{font-size:.92rem;font-weight:650}.allergen-list small{opacity:.85;font-size:.76rem}.traces{margin:10px 0 0;font-size:.92rem}.allergen-pick .fine{margin:-4px 2px 10px}.allergen-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.allergen-grid label{background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:.93rem;display:flex}.allergen-grid label.on{box-shadow:inset 0 0 0 2px var(--accent)}.allergen-grid label+label{margin-top:0}.allergy-alert{border-radius:14px;align-items:flex-start;gap:10px;margin:8px 0 4px;padding:12px 14px;font-weight:600;line-height:1.35;display:flex}.allergy-alert.bad{background:var(--err-bg);color:var(--err-ink)}.allergy-alert.warn{background:var(--warn-bg);color:var(--warn-ink)}.allergy-alert.neutral{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:500}.allergy-alert .icon{flex:none;margin-top:1px}.history-meta .allergy-mark{color:var(--err-ink);font-weight:650}.lights ul{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.light{text-align:center;background:var(--surface);border-radius:14px;gap:2px;min-width:0;padding:10px 8px;display:grid}.light .light-name{color:inherit;opacity:.9;font-size:.78rem}.light b{font-size:.95rem;font-weight:700}.light small{opacity:.85;font-variant-numeric:tabular-nums;font-size:.72rem}.light.low{color:#14532f;background:#dcefe1}.light.medium{color:#5e4500;background:#fff1cc}.light.high{color:#7e2a17;background:#f9ddd8}.light.none{background:var(--surface);color:var(--muted)}@media (prefers-color-scheme:dark){.light.low{color:#a9e2bc;background:#1f3a2a}.light.medium{color:#f2d27a;background:#3a3115}.light.high{color:#f2a595;background:#3e1f1a}}@media (max-width:360px){.lights ul{grid-template-columns:repeat(2,1fr)}}.lights .fine{margin-top:10px}.h2-note{color:var(--muted);margin-left:6px;font-size:.85rem;font-weight:500}.result-disclaimer{margin-top:1.4rem}.calc-log dl{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:.86rem;display:grid}.calc-log dt{color:var(--muted)}.calc-log dd{overflow-wrap:anywhere;margin:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.fields label{gap:6px;margin-top:14px;display:grid}.fields label:first-child{margin-top:0}.fields label>span{color:var(--muted);font-size:.86rem}.pro-privacy{background:var(--accent-soft);color:var(--ink);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.pro-privacy .icon{color:var(--accent);flex:none;margin-top:1px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip-btn{background:var(--surface);min-height:44px;box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;border:0;border-radius:999px;padding:10px 16px;font-weight:600}.chip-btn:active{background:var(--accent-soft)}.choice input[type=checkbox]{margin-top:1px}.limits{background:var(--surface);border:0;border-radius:16px;min-width:0;margin-inline:0;padding:0}.limits legend{float:left;width:100%;margin-bottom:.7rem;padding:0;font-size:1.12rem;font-weight:700}.limits label{clear:both;grid-template-columns:1fr 9ch 4ch;align-items:center;gap:10px;padding:6px 14px;display:grid}.limits label+label{border-top:1px solid var(--surface-2)}.limits input{text-align:right;font-variant-numeric:tabular-nums;background:var(--surface-2);border-color:#0000;min-height:42px;padding:8px 10px}.limits small{color:var(--muted)}.form-error{background:var(--err-bg);color:var(--err-ink);border-radius:14px;margin:14px 0 0;padding:12px 14px;font-weight:600}.rule-list{gap:6px;margin:10px 0;padding:0;list-style:none;display:grid}.rule-list li{background:var(--surface);border-left:4px solid var(--accent);border-radius:12px;padding:10px 14px;font-weight:550}.pro-link .qr{width:min(240px,70vw);height:auto;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;margin:16px auto;display:block}.link-field{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.pro-entry{background:var(--surface);width:100%;color:var(--ink);text-align:left;cursor:pointer;border:0;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:14px 16px;display:flex}.pro-entry span{gap:2px;display:grid}.pro-entry b{font-weight:650}.pro-entry small{color:var(--muted);font-size:.85rem}.pro-entry .icon{color:var(--accent);flex:none}.rules-home{background:var(--accent-soft);border-radius:16px;gap:10px;margin-top:1.4rem;padding:14px 16px;display:grid}.rules-home p{align-items:center;gap:10px;margin:0;display:flex}.rules-home .icon{color:var(--accent);flex:none}.rules-home .btn{min-height:46px}.rules-note{border-left:4px solid var(--accent);background:var(--surface);border-radius:0 12px 12px 0;margin:12px 0;padding:12px 16px}.rules-alert{border-radius:14px;margin:8px 0 4px;padding:12px 14px}.rules-alert.good{background:var(--accent-soft)}.rules-alert.bad{background:var(--err-bg);color:var(--err-ink)}.rules-alert.warn{background:var(--warn-bg);color:var(--warn-ink)}.rules-alert-title{align-items:flex-start;gap:10px;margin:0;font-weight:650;line-height:1.35;display:flex}.rules-alert-title .icon{flex:none;margin-top:1px}.rules-alert ul{gap:4px;margin:8px 0 0;padding-left:30px;display:grid}.rules-alert .muted{margin:6px 0 0 30px}.rules-alert .fine{opacity:.85;margin:8px 0 0}.history-meta.verdict-fail{color:var(--err-ink);font-weight:650}.history-meta.verdict-pass{color:var(--accent);font-weight:600}.history-meta.verdict-warn,.history-meta.verdict-unknown{color:var(--warn-ink);font-weight:600}.report-summary{background:var(--surface);border-radius:14px;margin:14px 0;padding:12px 14px;font-weight:650}.report-items{gap:8px;margin:0;padding:0;list-style:none;display:grid}.report-items>li{background:var(--surface);border-left:4px solid var(--line);border-radius:16px;padding:12px}.report-items>li.verdict-fail{border-left-color:var(--n-fill)}.report-items>li.verdict-pass{border-left-color:var(--accent)}.report-items>li.verdict-warn,.report-items>li.verdict-unknown{border-left-color:var(--warn-line)}.report-row{align-items:center;gap:14px;display:flex}.report-items ul{gap:3px;margin:8px 0 0;padding-left:20px;font-size:.92rem;display:grid}.pro-facts li{border-left-color:var(--accent)}.goals-card{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent-soft);border-radius:20px;margin-top:1.4rem;padding:18px 16px}.goals-card h2{margin:0 0 .3rem}.goals-card .muted{margin:0 0 .9rem}.goals-card .actions{margin-top:14px}.goal-tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.goal-tile{background:var(--surface-2);min-height:76px;color:var(--ink);text-align:left;cursor:pointer;border:0;border-radius:14px;align-content:start;gap:4px;padding:12px;display:grid}.group .goal-tile{background:var(--surface)}.goal-tile b{font-weight:650;line-height:1.2}.goal-tile small{color:var(--muted);font-size:.78rem;line-height:1.3}.goal-tile.on{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}@media (max-width:340px){.goal-tiles{grid-template-columns:1fr}}.spoons{background:var(--surface);border-radius:14px;margin:12px 0 0;padding:12px 14px;font-weight:600}.spoons small{color:var(--muted);font-weight:400}.portion .spoons{background:var(--surface-2)}.diary-btn{min-height:48px;margin-top:12px}.carousel-btn{box-shadow:inset 0 0 0 1.5px var(--accent-soft);margin-top:18px}.print-only{display:none}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f4f4f0;--ink:#0f2a20;--muted:#4a5550;--line:#ccc}body{background:#fff}.appbar,.no-print,.bottombar,.toast{display:none!important}.print-only{display:block}.guide-items>li{break-inside:avoid;border:1px solid #ddd}.shell{max-width:none;padding:0}}.form-warn{background:var(--warn-bg);color:var(--warn-ink);border-radius:14px;margin:14px 0 0;padding:12px 14px;font-weight:550}.paste-rules{grid-template-columns:1fr auto;gap:8px;margin-top:12px;display:grid}.paste-rules .btn{width:auto;min-height:48px;padding:10px 16px}.pro-link-quiet{color:var(--muted);margin:14px auto 0;font-size:.9rem;display:block}.history-meta .goals-mark{color:var(--warn-ink);font-weight:650}.goal-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-tile{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;min-width:0}.tiles{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.saved-note{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin:0;font-size:.85rem;display:flex}.saved-note .icon{color:var(--accent)}.fit-card{background:var(--surface);border-radius:20px;margin-top:14px;padding:16px}.fit-card h2{margin:0 0 8px}.fit-card .rules-alert{margin:8px 0 0}.fit-card>.fine{margin:10px 0 0}.alternatives{margin-top:14px}.alternatives h2{margin:0 0 4px}.alternatives .fine{margin:0 0 8px}.portion-rows li{grid-template-columns:1fr auto 4.5ch;align-items:baseline;gap:10px;display:grid}.portion-rows .pct{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:.8rem}.profile-list{gap:8px;margin:8px 0;padding:0;list-style:none;display:grid}.profile-list li{background:var(--surface);border-radius:14px;align-items:center;gap:4px;padding:10px 6px 10px 14px;display:flex}.profile-list li>span{flex:1;gap:2px;min-width:0;display:grid}.profile-list small{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem}.profile-editor{background:var(--surface-2);border-radius:16px;gap:8px;margin-top:10px;padding:14px;display:grid}.profile-editor .goal-tile{background:var(--surface)}.family-fit{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.family-fit li{border-radius:12px;padding:10px 12px;line-height:1.35}.family-fit li.good{background:var(--accent-soft)}.family-fit li.warn{background:var(--warn-bg);color:var(--warn-ink)}.family-fit li.bad{background:var(--err-bg);color:var(--err-ink);font-weight:600}.supp-banner{background:var(--warn-bg);color:var(--warn-ink);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-weight:600;display:flex}.supp-banner .icon{flex:none;margin-top:1px}.supp-list{gap:8px;margin:10px 0;padding:0;list-style:none;display:grid}.supp-list li{background:var(--surface);border-left:4px solid var(--accent);border-radius:14px;gap:3px;padding:12px 14px;display:grid}.supp-list li.over{border-left-color:var(--warn-line);background:var(--warn-bg)}.supp-list small{color:var(--muted);font-size:.82rem}.supp-list li.over .supp-status{color:var(--warn-ink);font-weight:650}.supp-row{justify-content:space-between;gap:10px;display:flex}.supp-detected{box-shadow:inset 0 0 0 2px var(--warn-line);margin:10px 0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.supplement .sources li,.supplement .fine{overflow-wrap:anywhere}.home-hero.compact{padding:2vh 0 0}.home-hero.compact h1{margin-bottom:1rem;font-size:clamp(1.7rem,8vw,2.1rem)}.home-hero.compact .scan-btn{aspect-ratio:auto;width:100%;min-height:76px;box-shadow:0 8px 22px color-mix(in srgb, var(--hero) 22%, transparent);border-radius:22px;justify-content:center;align-items:center;gap:12px;padding:18px 22px;font-size:1.1rem;display:flex}.home-hero.compact .scan-btn .icon{width:30px;height:30px}.tiles{grid-template-columns:1fr 1fr;margin-top:1.4rem}.home-hero:not(.compact)+.tiles,.goals-card+.tiles{margin-top:2.4rem}.tile{grid-template-columns:auto 1fr;align-items:start;gap:10px;min-height:0;padding:14px}.tile>span{gap:3px;display:grid}@media (max-width:360px){.tiles{grid-template-columns:1fr}}.link-btn{color:var(--accent);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;display:inline}.history-meta{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.score-number b{font-variant-numeric:normal;letter-spacing:-.04em}.portion-input{grid-template-columns:auto minmax(0,13ch) auto}.lang-pick{grid-template-columns:1fr 1fr;gap:10px;display:grid}.lang-pick legend{grid-column:1/-1}.lang-pick label+label{margin-top:0}.shutter{background:#fff;border:4px solid #fff;transition:transform .12s;box-shadow:inset 0 0 0 4px #08140dd9,0 4px 18px #00000059}.shutter:active{background:#e9efe9;transform:scale(.93)}.cam-action.native .cam-icon{background:#ffffff29}.pill.switch{align-items:center;gap:8px;display:inline-flex}.switch-dot{background:#ffffff4d;border-radius:9px;width:30px;height:18px;transition:background .15s;position:relative}.switch-dot:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.pill.switch.on .switch-dot{background:#3fb26f}.pill.switch.on .switch-dot:after{transform:translate(12px)}.barcode-open{color:var(--accent);border-style:solid;border-width:1px;align-items:center;gap:10px;font-weight:600;display:flex}.bottombar{background:var(--bg);-webkit-backdrop-filter:none;box-shadow:0 -6px 16px color-mix(in srgb, var(--ink) 6%, transparent)}.supp-scan{margin:4px 0 18px}.scan-fab{z-index:6;right:max(16px,50vw - 260px);bottom:calc(18px + env(safe-area-inset-bottom));background:var(--hero);color:var(--hero-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:14px 20px;font-weight:650;animation:.18s ease-out fab-in;display:inline-flex;position:fixed;box-shadow:0 8px 24px #00000040}.scan-fab .icon{color:var(--hero-icon)}@keyframes fab-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.scan-fab{animation:none}}.report-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.report-stats .stat{background:var(--surface);border-radius:14px;gap:2px;margin:0;padding:12px;display:grid}.report-stats dt{color:var(--muted);font-size:.82rem}.report-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.7rem;font-weight:750;line-height:1.1}.report-stats .stat-pass dd{color:var(--accent)}.report-stats .stat-fail dd{color:var(--err-ink)}.report-stats .stat-other dd{color:var(--warn-ink)}.home:has(.scan-fab){padding-bottom:96px}.device-note{background:var(--warn-bg);color:var(--warn-ink);border-radius:14px;align-items:flex-start;gap:10px;margin:12px 0;padding:12px 14px;font-size:.92rem;line-height:1.4;display:flex}.device-note .icon{flex:none;margin-top:1px}.shots{background:var(--surface);border-radius:14px;margin:12px 0;padding:12px 14px}.shots summary{cursor:pointer;color:var(--accent);font-weight:650}.shots-row{gap:8px;margin-top:10px;padding-bottom:4px;display:flex;overflow-x:auto}.shots-row img{object-fit:contain;background:#111;border-radius:10px;max-width:86vw;height:220px;display:block}.ocr-text{background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;max-height:260px;margin:6px 0 0;padding:10px;font:.82rem/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.appbar-right{align-items:center;gap:6px;display:inline-flex}.plan-badge{font:inherit;letter-spacing:.06em;cursor:pointer;background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:750}.plan-badge.plan-trial,.plan-badge.plan-pro{background:var(--hero);color:var(--hero-ink);box-shadow:none}.pro-tag{color:var(--muted);white-space:nowrap;font-size:.86em;font-weight:600}.locked{opacity:.78}.locked b,.chip-btn.locked{color:var(--muted)}.limit-note{background:var(--accent-soft);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:14px;align-items:flex-start;gap:10px;margin:10px 0;padding:12px 14px;font-size:.9rem;line-height:1.4;display:flex}.limit-note .icon{color:var(--accent);flex:none;margin-top:1px}.limit-note.static{cursor:default;background:var(--warn-bg);color:var(--warn-ink)}.plan-bar{width:100%;color:var(--muted);font:inherit;text-align:center;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);background:0 0;border:0;border-radius:12px;margin:18px 0 4px;padding:10px 14px;font-size:.86rem;display:block}.trial-notice{background:var(--accent-soft);border-radius:16px;gap:10px;margin:12px 0;padding:14px 16px;display:grid}.trial-notice b{font-size:1.02rem}.trial-notice p{color:var(--muted);margin:4px 0 0;font-size:.9rem}.trial-notice-actions{align-items:center;gap:8px;display:flex}.trial-notice-actions .btn{flex:1}.plan-status{background:var(--surface);border-radius:12px;margin:4px 0 16px;padding:10px 14px;font-weight:600}.plan-status.plan-pro{background:var(--accent-soft);color:var(--accent)}.plan-table{border-collapse:collapse;background:var(--surface);border-radius:14px;width:100%;margin:0 0 18px;font-size:.88rem;overflow:hidden}.plan-table th,.plan-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px}.plan-table thead th{color:var(--muted);font-size:.78rem;font-weight:650}.plan-table tbody th{font-weight:500}.plan-table td:last-child{color:var(--accent);font-weight:650}.plan-table tr:last-child th,.plan-table tr:last-child td{border-bottom:0}.plan-price{margin:0 0 4px;font-size:1.1rem}.plan-price s{color:var(--muted);margin-right:6px}.plan-buy .btn.primary{width:100%;margin:12px 0 8px}.plan-row{grid-template-columns:1fr auto;gap:8px;margin-top:8px;display:grid}.plan-row input{border:1px solid var(--line);background:var(--surface);min-height:46px;color:var(--ink);font:inherit;border-radius:12px;padding:0 12px}.plan-waiting{background:var(--accent-soft);border-radius:12px;margin:12px 0 8px;padding:12px 14px}.plan-waiting p{margin:0 0 6px}.promo-ok{color:var(--accent);margin:8px 0 0;font-weight:650}.promo-err{color:var(--err-ink);margin:8px 0 0}.faq details{border-bottom:1px solid var(--line);padding:10px 0}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--muted);margin:8px 0 0;line-height:1.45}.plan-table{font-size:.84rem}.plan-table th:first-child{width:48%}.plan-buy{margin-bottom:18px}
