:root{--ink:#17201c;--muted:#68736d;--paper:#f6f7f2;--surface:#fff;--line:#dce2da;--green:#244b34;--lime:#c5f47a;--red:#a33d36;--amber:#9a630b;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 75% 2%, #eaf7d8 0, transparent 30rem), var(--paper);margin:0}button,input,select{font:inherit}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2{letter-spacing:-.045em}p{color:var(--muted);line-height:1.65}:focus-visible{outline-offset:3px;outline:3px solid #4f8e34}.shell{width:min(1160px,100% - 40px);margin-inline:auto}.site-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:78px;display:flex}.logo{align-items:center;gap:9px;font-weight:800;text-decoration:none;display:flex}.logo span{background:var(--ink);color:#fff;border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.site-nav nav{color:var(--muted);gap:25px;font-size:13px;font-weight:650;display:flex}.site-nav nav a{text-decoration:none}.hero{text-align:center;padding:100px 0 90px}.privacy-pill{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.05em;background:#ffffffb3;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:800;display:inline-flex}.privacy-pill span{color:#52a23d}.hero h1{max-width:980px;margin:25px auto;font-size:clamp(54px,7.5vw,94px);line-height:.94}.hero h1 em{color:var(--green);font:italic 400 1em Georgia,serif;display:block}.hero>p{max-width:700px;margin:0 auto 24px;font-size:20px}.hero__actions{justify-content:center;gap:12px;margin:28px 0 20px;display:flex}.hero>small{color:var(--muted)}.button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;min-height:44px;padding:10px 17px;font-weight:750;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button--primary{background:var(--ink);color:#fff}.button--secondary{border-color:var(--line);color:var(--ink);background:#fff}.button--ghost{background:0 0}.badge{border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;background:#fff;border-radius:999px;width:fit-content;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.steps>div{border-right:1px solid var(--line);padding:28px}.steps>div:last-child{border:0}.steps span{color:#8b9690;margin-bottom:28px;font:12px ui-monospace,monospace;display:block}.steps strong{margin-bottom:4px;display:block}.steps p{margin:0;font-size:13px}.scanner{background:#ecefe8;border:1px solid #d3dad1;border-radius:28px;margin:110px 0;padding:clamp(24px,5vw,56px)}.scanner__header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.scanner__header h2{margin:0;font-size:clamp(36px,5vw,56px)}.trust-row{background:#ffffff8c;border:1px solid #cbd2ca;border-radius:12px;grid-template-columns:repeat(3,1fr);margin:-8px 0 28px;display:grid}.trust-row span{border-right:1px solid #cbd2ca;padding:11px 14px;font-size:12px;font-weight:700}.trust-row span:last-child{border-right:0}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:850;display:block}.tabs{border-bottom:1px solid #cbd2ca;gap:6px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 16px;font-weight:750}.tabs button[aria-selected=true]{border-color:var(--ink);color:var(--ink)}.tab-panel{padding:18px 0}.mode-copy{align-items:center;gap:18px;display:flex}.mode-copy h3{min-width:max-content;margin:0}.mode-copy p{flex:1;margin:0}.upload-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;display:grid}.upload-grid--single{grid-template-columns:1fr}.upload-grid h3{font-size:14px}.dropzone{cursor:pointer;background:#ffffffb3;border:1.5px dashed #98a59a;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:260px;display:flex}.dropzone:hover,.dropzone--active{border-color:var(--green);background:#fff}.dropzone__icon{background:var(--lime);border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:15px;font-size:25px;display:grid}.dropzone>span:not(.dropzone__icon),.dropzone small{color:var(--muted);margin-top:5px}.dropzone small{margin-top:18px}.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}.card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:22px;box-shadow:0 10px 35px #1e2d240b}.file-card{align-items:center;gap:14px;min-height:90px;display:flex}.file-card__icon{background:var(--lime);border-radius:10px;place-items:center;width:43px;height:43px;font-size:11px;font-weight:850;display:grid}.file-card>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.file-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-card small{color:var(--muted)}.scan-action{flex-direction:column;align-items:center;gap:9px;margin-top:24px;display:flex}.scan-action small{color:var(--muted)}.processing{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:260px;margin-top:20px;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress{width:min(430px,100%);margin-top:14px}.progress__label{justify-content:space-between;margin-bottom:7px;font-size:12px;font-weight:700;display:flex}.progress__track{background:var(--line);border-radius:99px;height:7px;overflow:hidden}.progress__track span{background:var(--green);height:100%;display:block}.alert{border:1px solid var(--line);background:#fff;border-radius:13px;margin-top:14px;padding:15px 17px}.alert>strong{display:block}.alert>div{color:var(--muted);margin-top:5px}.alert--warning{color:var(--amber);background:#fff9ec;border-color:#dcc493}.alert--error{color:var(--red);background:#fff5f4;border-color:#dfb3ae}.alert--success{color:#2f6729;background:#f3fbef;border-color:#b8d6ae}.status{border:1px solid var(--line);background:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;padding:34px;display:flex}.status h2{margin:0 0 8px;font-size:54px}.status p{margin:0}.status--ready{border-left:7px solid #4b9b3e}.status--review{border-left:7px solid #cf8b24}.status--blocked{border-left:7px solid #b54941}.metrics{grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;padding:18px;display:flex}.metric>span,.metric small{color:var(--muted);font-size:11px}.metric strong{margin-top:6px;font-size:26px}.result-actions{justify-content:space-between;align-items:center;padding:18px 0;display:flex}.result-actions div{flex-direction:column;display:flex}.result-actions small{color:var(--muted)}.issue-group{margin-top:35px}.issue-group>h3{align-items:center;gap:10px;display:flex}.severity{letter-spacing:.06em;border-radius:6px;padding:4px 7px;font-size:11px}.severity--blocker{color:var(--red);background:#f6dedb}.severity--warning{color:var(--amber);background:#f8e9c9}.severity--info{color:var(--green);background:#dfe9e2}.issue{margin-top:10px}.issue__meta{color:var(--muted);flex-wrap:wrap;gap:9px 16px;font-size:12px;display:flex}.issue__meta code{color:var(--green);font-weight:800}.issue h4{margin:14px 0 8px;font-size:17px}.issue p{margin-bottom:8px}.issue>small{color:var(--muted)}.clear-card{text-align:center;padding:50px}.clear-card>span{background:var(--lime);border-radius:50%;place-items:center;width:55px;height:55px;margin:0 auto 15px;font-size:26px;display:grid}.boundary{grid-template-columns:1fr 1fr;gap:70px;padding:40px 0 120px;display:grid}.scope{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:35px 70px;padding:10px 0 110px;display:grid}.scope h2{margin-bottom:0;font-size:48px}.scope ul{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.scope li{border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px;font-weight:700}.scope>p{grid-column:2;margin:0;font-size:13px}.boundary h2{font-size:50px}.footer{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:40px;padding:34px 0 45px;display:grid}.footer p{margin:0;font-size:12px}.tool-page{min-height:750px;padding:100px 0}.tool-page>h1{max-width:850px;margin:20px 0;font-size:clamp(50px,7vw,82px)}.tool-page>p{max-width:650px;font-size:19px}.gtin-card{max-width:760px;margin-top:40px;padding:30px}.gtin-card label{margin-bottom:9px;font-weight:750;display:block}.gtin-card>div:first-of-type{gap:10px;display:flex}.input{border:1px solid #c8d0c8;border-radius:10px;flex:1;min-height:46px;padding:10px 13px}.explain{max-width:760px;padding-top:60px}.toast-region{z-index:10;position:fixed;bottom:24px;right:24px}.toast{background:var(--ink);color:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;min-width:280px;padding:14px 16px;display:flex;box-shadow:0 15px 40px #0003}.toast button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:20px}@media (max-width:800px){.site-nav nav{display:none}.steps{grid-template-columns:1fr 1fr}.steps>div:nth-child(2){border-right:0}.steps>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.mode-copy{flex-direction:column;align-items:flex-start}.upload-grid,.boundary,.scope{grid-template-columns:1fr}.scope>p{grid-column:auto}.metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.shell{width:min(100% - 24px,1160px)}.hero{text-align:left;padding:70px 0}.hero h1{font-size:51px}.hero__actions{flex-direction:column;align-items:stretch}.steps{grid-template-columns:1fr}.steps>div{border-right:0;border-bottom:1px solid var(--line)}.scanner{border-radius:20px;margin:70px 0;padding:22px 14px}.scanner__header,.status,.result-actions{flex-direction:column;align-items:flex-start}.trust-row,.scope ul{grid-template-columns:1fr}.trust-row span{border-bottom:1px solid #cbd2ca;border-right:0}.trust-row span:last-child{border-bottom:0}.status h2{font-size:43px}.metrics{grid-template-columns:1fr 1fr}.footer{grid-template-columns:1fr}.gtin-card>div:first-of-type{flex-direction:column}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
