:root{--ink:#17221e;--muted:#6c7772;--green:#1f6f55;--green-dark:#155641;--mint:#e8f3ee;--paper:#fbfbf8;--line:#dfe3df;--orange:#d96f35;--amber:#f1bd5a}*{box-sizing:border-box}html{background:#dfe6e1}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;max-width:520px;margin:0 auto;background:var(--paper);padding:22px 20px 105px;box-shadow:0 0 50px rgba(26,51,42,.13)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.eyebrow{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;margin-bottom:4px}h1{font-size:27px;letter-spacing:-.04em;line-height:1.1;margin:0}.source-pill{flex:none;display:flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;background:#edf0ed;color:#52605a;border:1px solid #d9dfdc;font-size:10px;font-weight:850}.source-pill i{width:7px;height:7px;border-radius:50%;background:#89938e}.source-pill.live{background:var(--mint);color:var(--green-dark);border-color:#cee2d9}.source-pill.live i{background:#26a76d;box-shadow:0 0 0 3px rgba(38,167,109,.14)}.source-pill.demo{background:#fff6df;color:#735725;border-color:#efd7a6}.source-pill.demo i{background:var(--amber)}.demo-banner{display:flex;align-items:center;gap:8px;margin:-5px 0 14px;padding:9px 11px;border:1px solid #efd7a6;border-radius:12px;background:#fff6df;color:#735725;font-size:10px}.demo-banner strong{flex:none;border-radius:999px;background:var(--amber);color:#4f3b12;padding:4px 7px;text-transform:uppercase;letter-spacing:.05em;font-size:8px}.view{display:none}.view.active{display:block}.scanner{height:330px;border-radius:27px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 30%,#405449 0,#23352d 52%,#14251e 100%);box-shadow:0 16px 32px rgba(24,54,42,.16)}.scanner:before{content:"";position:absolute;inset:0;opacity:.2;background-image:linear-gradient(135deg,transparent 48%,rgba(255,255,255,.08) 49%,transparent 51%),linear-gradient(45deg,transparent 48%,rgba(255,255,255,.05) 49%,transparent 51%);background-size:42px 42px}.scanner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.scanner.live video{opacity:1}.camera-backdrop{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,13,.15),rgba(7,18,13,.6))}.scan-frame{position:absolute;width:240px;height:122px;top:46px;left:50%;transform:translateX(-50%)}.scan-frame i{position:absolute;width:25px;height:25px;border-color:#f6d06f;border-style:solid}.scan-frame i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px;border-radius:7px 0 0}.scan-frame i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0;border-radius:0 7px 0 0}.scan-frame i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px;border-radius:0 0 0 7px}.scan-frame i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0;border-radius:0 0 7px}.scan-frame b{position:absolute;left:12px;right:12px;height:2px;top:50%;background:#f6d06f;box-shadow:0 0 12px #f6d06f;animation:scan 2.2s ease-in-out infinite}@keyframes scan{0%,100%{transform:translateY(-42px);opacity:.55}50%{transform:translateY(42px);opacity:1}}.scanner-copy{position:absolute;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;align-items:center;color:#fff;text-align:center}.scanner-copy strong{font-size:16px;margin-bottom:4px}.scanner-copy small{font-size:10px;color:#c7d2cc;letter-spacing:.04em}.camera-button{margin-top:13px;border:1px solid rgba(255,255,255,.42);color:#fff;background:rgba(255,255,255,.13);backdrop-filter:blur(8px);border-radius:999px;padding:9px 16px;font-size:11px;font-weight:850}.manual{margin-top:20px}.manual label,.tag-check label{display:block;color:#525e58;font-size:11px;font-weight:850;margin:0 0 7px 2px}.manual>div{display:flex;gap:8px}.manual input{min-width:0;flex:1;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff;outline:none}.manual input:focus,.tag-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,111,85,.1)}.manual button{width:48px;border:0;border-radius:14px;background:var(--green);color:#fff;font-size:23px}.demo-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 2px 21px;font-size:10px;color:#7b837f}.demo-row button{border:0;background:#edf0ed;color:#53615b;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:750}.notice-card{display:flex;gap:12px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:16px}.notice-card.error{background:#fff8f4;border-color:#efd3c5}.notice-icon{flex:none;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#fae7df;color:#a64a22;font-weight:900}.notice-card.loading .notice-icon{background:var(--mint);color:var(--green);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.notice-card strong{font-size:13px}.notice-card p{margin:3px 0 0;color:var(--muted);font-size:11px}.result-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 13px 35px rgba(31,55,45,.08);margin-top:16px;animation:rise .35s ease-out}@keyframes rise{from{transform:translateY(12px);opacity:0}}.result-head{display:flex;gap:13px;align-items:center}.product-thumb{flex:none;width:61px;height:61px;border-radius:17px;display:grid;place-items:center;background:var(--amber);color:rgba(23,34,30,.56);font-size:30px}.found-label{font-size:9px;color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.result-head h2{font-size:17px;line-height:1.18;margin:3px 0}.result-head p{font-size:10px;color:var(--muted);margin:0}.price-panel{margin:17px 0;padding:17px 18px;background:var(--mint);border-radius:18px;display:grid;grid-template-columns:1fr auto;align-items:end}.price-panel span{font-size:11px;color:#456357;font-weight:850}.price-panel strong{grid-row:1/3;grid-column:2;font-size:30px;letter-spacing:-.04em;color:var(--green-dark)}.price-panel small{font-size:9px;color:#72857c;margin-top:4px}.tag-check{display:flex;align-items:center;justify-content:space-between;gap:12px}.tag-check label{margin:0}.tag-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;overflow:hidden;width:132px}.tag-input input{width:100%;min-width:0;border:0;outline:0;padding:10px 7px 10px 12px;text-align:right;font-weight:850}.tag-input span{padding-right:12px;color:var(--muted)}.comparison{margin-top:14px;border-radius:16px;padding:13px}.comparison>div,.comparison.match{display:flex;gap:10px;align-items:center}.comparison>div>span,.comparison.match>span{flex:none;width:29px;height:29px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:900}.comparison p{display:flex;flex-direction:column;margin:0}.comparison strong{font-size:11px}.comparison small{font-size:9px;margin-top:2px}.comparison.mismatch{background:#fff1e8;border:1px solid #f3d2bf}.comparison.mismatch>div>span{background:var(--orange)}.comparison.mismatch small{color:#846251}.comparison.mismatch button{width:100%;margin-top:11px;border:0;background:var(--orange);color:#fff;border-radius:11px;padding:10px;font-size:10px;font-weight:900}.comparison.mismatch button:disabled{background:#91a198}.comparison.match{background:#edf7f1;border:1px solid #d3e9dc}.comparison.match>span{background:#2c9568}.comparison.match small{color:#5e7d6e}.code-line{display:flex;justify-content:center;align-items:center;gap:8px;color:#7b8580;font:10px ui-monospace,SFMono-Regular,Consolas,monospace;margin:16px 0}.mini-barcode{width:32px;height:16px;background:repeating-linear-gradient(90deg,#2b3531 0 2px,transparent 2px 4px,#2b3531 4px 5px,transparent 5px 8px)}.new-scan{width:100%;border:1px solid #cbd3cf;border-radius:13px;background:#fff;padding:11px;color:var(--green-dark);font-size:11px;font-weight:900}.history-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 16px}.history-summary div{display:flex;flex-direction:column;background:var(--mint);border-radius:18px;padding:16px}.history-summary strong{font-size:28px;color:var(--green)}.history-summary strong.warn{color:var(--orange)}.history-summary span{font-size:9px;color:var(--muted)}.history-list{display:flex;flex-direction:column;gap:9px}.history-item{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px}.history-status{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;background:#2c9568}.history-status.bad{background:var(--orange)}.history-copy{min-width:0;display:flex;flex:1;flex-direction:column}.history-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-copy small{font-size:9px;color:var(--muted);margin-top:3px}.history-item>b{font-size:11px;white-space:nowrap}.empty-state{text-align:center;padding:45px 20px;color:var(--muted);font-size:12px}.clear-history{display:block;margin:20px auto;border:0;background:transparent;color:#8a6251;text-decoration:underline;font-size:10px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;margin-bottom:10px}.settings-card.caution{background:#fffaf0;border-color:#eddfbd}.settings-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.settings-card h2{font-size:16px;margin:5px 0}.settings-card p{font-size:11px;line-height:1.5;color:var(--muted);margin:0}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);display:grid;grid-template-columns:repeat(3,1fr);background:rgba(251,251,248,.95);border-top:1px solid var(--line);backdrop-filter:blur(18px);padding:8px 14px max(9px,env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:transparent;color:#8a928e;font-size:9px;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px}.bottom-nav button span{font-size:22px;line-height:1.1}.bottom-nav button.active{color:var(--green)}[hidden]{display:none!important}@media(max-width:370px){.app-shell{padding-left:14px;padding-right:14px}.scanner{height:305px}.source-pill{font-size:9px}.price-panel strong{font-size:27px}}@media(min-width:700px){.app-shell{margin-top:24px;margin-bottom:24px;min-height:calc(100vh - 48px);border-radius:30px;overflow:hidden}.bottom-nav{bottom:24px;border-radius:0 0 30px 30px}}@media(prefers-reduced-motion:reduce){.scan-frame b,.result-card,.notice-card.loading .notice-icon{animation:none}}

