*,:before,:after{box-sizing:border-box}html,body{margin:0;font-family:system-ui,sans-serif;line-height:1.4}main{max-width:720px;margin:0 auto;padding:32px 16px}input,button{font:inherit;padding:10px 12px}.row{flex-wrap:wrap;gap:8px;display:flex}.row input{flex:220px}.spinner{vertical-align:-.15em;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.muted{opacity:.65}table{border-collapse:collapse;width:100%}th,td{text-align:left;word-break:break-all;border-bottom:1px solid #ddd;padding:6px 4px;font-size:14px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0 24px;display:grid}.stat{border:1px solid #ccc;padding:12px}.stat b{font-size:44px;line-height:1.1;display:block}.scan{color:#fff;background:#000;position:fixed;inset:0}.scan video{object-fit:cover;width:100%;height:100%}.scan-overlay{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;font-size:22px;display:flex;position:absolute;inset:0}.scan-overlay strong{font-size:44px}.scan-ok{background:#008c3ceb}.scan-warn{background:#c88200eb}.scan-err{background:#be141eeb}.scan-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#0000008c;justify-content:space-between;align-items:center;font-size:15px;display:flex;position:absolute;bottom:0;left:0;right:0}.socials{gap:16px;margin-top:32px;display:flex}.socials a{color:inherit;padding:6px;display:inline-flex}
