@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-variable.woff2)format("woff2");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;font-optical-sizing:auto;--ink:#1b1030;--purple:#3d1673;--paper:#f4f1fa;--line:#e3dcf1;--lavender:#e6d9fa;--red:#c8321a;--green:#0f6b3f;--amber:#8d5610;color:var(--ink);background:#e8e3ef;font-family:Bricolage Grotesque,Arial,sans-serif;font-weight:500}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline-offset:4px;outline:4px solid #8e69c0}h1:focus{outline:none}button:focus:not(:focus-visible){outline:none}a{color:var(--purple);text-underline-offset:3px}p{line-height:1.3}svg{flex-shrink:0;display:block}button svg{width:26px;height:26px}.app-shell{background:var(--paper);width:100%;max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto}.brand{color:var(--ink);letter-spacing:-.4px;white-space:nowrap;align-items:center;gap:8px;font-size:21px;font-weight:800;line-height:1;display:inline-flex}.brand svg{width:28px;height:31px;color:var(--purple)}.button{text-align:center;border:3px solid var(--ink);width:100%;min-height:62px;color:var(--ink);background:#fff;border-radius:34px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-size:22px;font-weight:700;line-height:1.05;text-decoration:none;display:flex}.button.primary{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 6px 14px -9px #1b10308c}.button.secondary{background:#fff}.text-button{color:var(--ink);text-underline-offset:4px;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:7px 4px;font-size:19px;text-decoration:underline;display:inline-flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.camera-screen{height:100vh;background:#655a73;height:100dvh;min-height:650px;position:relative;overflow:hidden}.camera-background{position:absolute;inset:0}.camera-background>img,.camera-background>video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-background>video{opacity:0}.camera-background>video.live{opacity:1}.camera-background:after{content:"";pointer-events:none;background:linear-gradient(#1b103025,#0000 30%,#1b103040 65%,#1b103060);position:absolute;inset:0}.camera-header{left:20px;right:20px;top:calc(22px + env(safe-area-inset-top));z-index:2;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute}.camera-header .brand{background:#fffffff2;border-radius:99px;padding:9px 14px 9px 10px;box-shadow:0 4px 12px #0003}.icon-button{width:52px;min-width:52px;height:52px;color:var(--ink);background:#fffffff2;border:0;border-radius:50%;place-items:center;display:grid;box-shadow:0 4px 12px #0003}.icon-button.active{background:#e6d9fa}.camera-guidance{pointer-events:none;position:absolute;inset:0}.camera-guidance h1{text-align:center;color:#fff;letter-spacing:-.6px;text-shadow:0 2px 9px #0009;white-space:pre-line;margin:0;font-size:30px;font-weight:800;line-height:1.08;position:absolute;top:23%;left:22px;right:22px}.scan-frame{border-radius:22px;width:62%;height:146px;position:absolute;top:35%;left:19%;box-shadow:0 0 0 999px #1b103035}.camera-screen.is-start .camera-guidance{isolation:isolate}.camera-screen.is-start .camera-guidance h1{z-index:1}.camera-screen.is-start .scan-frame:before{content:"";border-radius:inherit;z-index:-1;position:absolute;inset:0;box-shadow:0 0 0 999px #1b10308c}.scan-frame i{border:6px solid #fff;width:45px;height:45px;position:absolute}.scan-frame i:first-child{border-bottom:0;border-right:0;border-top-left-radius:20px;top:0;left:0}.scan-frame i:nth-child(2){border-bottom:0;border-left:0;border-top-right-radius:20px;top:0;right:0}.scan-frame i:nth-child(3){border-top:0;border-left:0;border-bottom-right-radius:20px;bottom:0;right:0}.scan-frame i:nth-child(4){border-top:0;border-right:0;border-bottom-left-radius:20px;bottom:0;left:0}.scan-line{background:#e8452c;height:4px;animation:2.8s ease-in-out infinite scan;position:absolute;top:48%;left:8%;right:8%;box-shadow:0 0 7px #e8452c}.photo-mode h1{font-size:28px;top:15%}.ingredient-frame{width:86%;height:39%;top:25%;left:7%}.ingredient-frame i{border-color:#ede4ff}.zoom-control{color:#fff;background:#0009;border:0;border-radius:99px;min-height:44px;padding:7px 16px;font-size:20px;font-weight:800;position:absolute;bottom:285px;left:50%;transform:translate(-50%)}.camera-sheet{background:var(--paper);padding:21px 24px calc(15px + env(safe-area-inset-bottom));border-radius:32px 32px 0 0;flex-direction:column;gap:13px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #1b10304d}.watch-chip{background:var(--ink);color:#fff;border-radius:99px;align-self:flex-start;padding:10px 17px;font-size:20px;font-weight:700;line-height:1}.sheet-copy{margin:0;font-size:21px;font-weight:700}.small-actions{justify-content:space-between;align-items:center;gap:10px;margin-bottom:-5px;display:flex}.small-actions .text-button{min-height:40px;font-size:16px}.inline-message{margin:0;font-size:18px;line-height:1.25}.offline-notice{color:#644d7c;margin:0;font-size:16px}.plain-screen{padding:calc(28px + env(safe-area-inset-top)) 28px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex}.plain-screen>header{margin-bottom:12px}.plain-screen h1{letter-spacing:-1px;margin:5px 0 0;font-size:40px;font-weight:800;line-height:1.02}.plain-screen>p{margin:0;font-size:24px}.page-actions{flex-direction:column;gap:12px;margin-top:auto;padding-top:20px;display:flex}.privacy-note{margin:0;font-size:16px;line-height:1.3}.barcode-problem{background:#fff;border-radius:28px;margin:12px 0 4px;padding:25px;position:relative;box-shadow:0 14px 28px -14px #3d167347}.barcode-problem svg{color:#b9b2cc;stroke-width:1.3px;width:100%;height:110px}.barcode-problem span{background:var(--red);border-radius:10px;width:68%;height:8px;position:absolute;top:48%;left:16%;transform:rotate(-20deg)}.photo-review{object-fit:contain;background:#e3dcf1;border-radius:16px;width:100%;min-height:150px;max-height:45dvh}.loading-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.loading-content p{font-size:23px}.reading-symbol{border:5px solid var(--line);border-top-color:var(--purple);border-radius:50%;place-items:center;width:100px;height:100px;animation:1.5s linear infinite loading;display:grid}.reading-symbol svg{width:55px;height:55px;color:var(--purple)}.field-label{margin:10px 0;font-size:20px;font-weight:700;display:block}.plain-screen input[type=text]{border:3px solid var(--ink);letter-spacing:1px;width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:14px;font-size:26px}.plain-screen form>.button{margin-top:18px}.plain-screen form>.inline-message{margin-top:8px}.large-illustration{width:100px;height:100px;color:var(--purple);margin-top:15px}.about-screen h2{margin:16px 0 0;font-size:24px;line-height:1.1}.about-screen>p{font-size:20px;line-height:1.4}.about-screen>.button{margin-top:20px}.result-screen{height:100vh;background:#fff;flex-direction:column;height:100dvh;min-height:620px;display:flex}.verdict-header{padding:calc(28px + env(safe-area-inset-top)) 28px 30px;background:var(--red);color:#fff;flex-shrink:0}.result-screen.clear .verdict-header{background:var(--green)}.result-screen.unclear .verdict-header{background:var(--amber)}.product-title{margin-bottom:16px;font-size:20px;font-weight:600;line-height:1.1}.verdict-icon{width:92px;height:92px;margin-bottom:15px}.verdict-header h1{letter-spacing:-1.5px;max-width:320px;margin:0 0 15px;font-size:56px;font-weight:800;line-height:.99}.verdict-header p{margin:0;font-size:20px;font-weight:600;line-height:1.2}.result-content{overscroll-behavior-y:contain;flex:1;min-height:0;overflow-y:auto}.section-label{text-transform:uppercase;letter-spacing:1px;color:#66547f;margin:20px 28px 5px;font-size:15px;font-weight:800}.ingredients{margin:0;padding:0;list-style:none}.ingredients li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;padding:14px 28px;font-size:24px;font-weight:500;line-height:1.15;display:flex}.ingredients li.garlic{background:var(--lavender);color:var(--purple);font-weight:800}.ingredients li.ambiguous{background:#f8edd8}.tag{letter-spacing:.6px;white-space:nowrap;text-transform:uppercase;color:var(--purple);border:2px solid var(--purple);border-radius:7px;padding:5px 8px;font-size:14px;font-weight:800}.tag.garlic{color:#fff;background:var(--purple);border-color:var(--purple)}.tag.ambiguous{color:#71400a;border-color:#93652c}.explanation{margin:22px 28px;font-size:20px;line-height:1.3}.evidence-source{color:#59466f;flex-direction:column;gap:5px;margin:22px 28px 15px;font-size:16px;line-height:1.3;display:flex}.source-name{font-weight:700}.source-refresh{text-align:left;text-underline-offset:3px;min-height:44px;color:var(--purple);background:0 0;border:0;align-self:flex-start;padding:0;font-size:17px;text-decoration:underline}.result-disclaimer{margin:18px 28px 24px;font-size:17px;line-height:1.3}.result-footer{padding:16px 28px calc(22px + env(safe-area-inset-bottom));background:#fff;flex-shrink:0;gap:12px;display:flex;box-shadow:0 -7px 18px #1b103008}.result-footer>.primary{flex:1}.result-footer>.secondary{flex:1.12;font-size:18px}.example-label{border:1px solid #ffffff90;border-radius:8px;margin-bottom:12px;padding:5px 8px;font-size:14px;font-weight:700;display:inline-block}@media (min-width:600px){.app-shell{box-shadow:0 0 50px #28173418}.camera-screen,.result-screen{max-height:1040px}.camera-header{left:24px;right:24px}}@media (max-height:740px){.camera-guidance h1{font-size:26px;top:21%}.photo-mode h1{top:14%}.ingredient-frame{height:33%;top:25%}.camera-sheet{gap:10px;padding-top:17px}.camera-sheet .button{min-height:55px;font-size:20px}.watch-chip{font-size:18px}.verdict-header{padding-bottom:22px}.verdict-icon{width:70px;height:70px;margin-bottom:12px}.verdict-header h1{font-size:48px}.verdict-header p{font-size:18px}.ingredients li{padding-top:12px;padding-bottom:12px;font-size:22px}}@media (max-width:360px){.brand{font-size:18px}.camera-header{left:15px;right:15px}.camera-header .brand{padding-right:11px}.camera-sheet{padding-left:20px;padding-right:20px}.button{font-size:20px}.plain-screen{padding-left:24px;padding-right:24px}.ingredients li{padding-left:24px;padding-right:24px;font-size:22px}.tag{padding:5px;font-size:12px}.result-footer{padding-left:20px;padding-right:20px}.verdict-header h1{font-size:50px}}@keyframes scan{0%,to{transform:translateY(-25px)}50%{transform:translateY(25px)}}@keyframes loading{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.scan-line,.reading-symbol{animation:none}}.verdict-source{opacity:1;margin:-8px 0 15px;font-size:16px;font-weight:500;line-height:1.25}.crop-wrap{text-align:center;padding:5px;overflow:hidden}.crop-stage{background:#e3dcf1;max-width:100%;line-height:0;display:inline-block;position:relative;overflow:hidden}.crop-stage>img{width:auto;max-width:100%;height:auto;max-height:43dvh;display:block}.crop-box{touch-action:none;-webkit-user-select:none;user-select:none;cursor:move;border:2px solid #fff;position:absolute;box-shadow:0 0 0 999px #1b10307a}.crop-corner{color:#fff;filter:drop-shadow(0 1px 2px #1b1030);place-items:center;width:44px;height:44px;display:grid;position:absolute}.crop-corner svg{width:26px;height:26px}.crop-corner.nw{top:-8px;left:-8px}.crop-corner.ne{top:-8px;right:-8px;transform:rotate(90deg)}.crop-corner.sw{bottom:-8px;left:-8px;transform:rotate(-90deg)}.crop-corner.se{bottom:-8px;right:-8px;transform:rotate(180deg)}.crop-sliders{font-size:18px}.crop-sliders summary{min-height:48px;color:var(--purple);padding:10px 0}.crop-sliders label{margin-top:10px;font-size:18px;display:block}.crop-sliders input{width:100%;min-height:44px;accent-color:var(--purple);display:block}
