@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#07111f;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:#07111f;min-width:320px;margin:0}button,input,textarea,select{font:inherit}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}:root{--bg:#f1f1f1;--panel:#fff;--panel-border:#ececec;--text:#2c2c2c;--text-muted:#747474;--heading:#111;--accent:#4fb62d;--accent-strong:#4fb62d;--danger:#c53e3e;--shadow:0 8px 24px #00000014;--camera-overlay:#fffffff0;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--sans:"IBM Plex Sans", "Segoe UI", sans-serif}#root{min-height:100vh}.app-shell{min-height:100vh;color:var(--text);background:var(--bg);box-sizing:border-box;padding:38px 20px 44px}.app-shell:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff7a,#0000 60%);position:fixed;inset:0}.app-header,.scanner-section,.debug-panel{width:min(920px,100%);margin:0 auto}.app-header{text-align:center;margin-bottom:34px}.brand-mark{object-fit:cover;background:#fff;border-radius:50%;width:68px;height:68px;margin:0 auto 14px;display:block;box-shadow:0 0 0 1px #0000000a}.app-header h1{color:var(--heading);margin:0;font-size:clamp(1.8rem,4vw,2.9rem);font-weight:600;line-height:1.1}.subtitle{max-width:58rem;color:var(--text-muted);margin:8px auto 0;font-size:1.02rem;line-height:1.5}.scanner-section{border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow);border-radius:6px;padding:18px 18px 20px;position:relative}.status-chip{color:#6b6b6b;letter-spacing:0;background:0 0;border-radius:0;align-items:center;margin-bottom:12px;padding:0;font-size:.92rem;display:inline-flex}.scanner-notice{color:#214e9a;background:#1f6feb14;border-radius:4px;gap:4px;margin:-4px 0 12px;padding:10px 12px;font-size:.95rem;line-height:1.45;display:grid}.scanner-notice strong{color:#163d86;font-size:.98rem}.scanner-notice span{color:#214e9a}.scanner-frame{background:#f7f7f7;border:1px solid #efefef;border-radius:2px;min-height:480px;position:relative;overflow:hidden}.scanner-block{flex-direction:column;gap:14px;display:flex}.scanner-video{object-fit:cover;background:#000;width:100%;height:100%;min-height:480px;display:block}.scanner-video video{border-radius:2px}.scanner-overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.scanner-overlay__frame{aspect-ratio:1;border:2px solid #2222222e;border-radius:2px;width:min(72vw,320px);position:relative;box-shadow:0 0 0 9999px #00000014}.scanner-overlay__frame:before,.scanner-overlay__frame:after{content:"";border:2px solid #1f6febd9;position:absolute;inset:14px}.scanner-overlay__frame:after{border-color:#00000029;inset:20%}.scanner-overlay__label{color:#666;text-align:center;background:#ffffffeb;border-radius:2px;padding:8px 12px;font-size:.9rem;font-weight:500;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.scanner-actions{flex-wrap:wrap;justify-content:flex-start;gap:12px;display:flex}.scanner-link-button{appearance:none;color:#2d2d2d;font:500 .95rem/1 var(--sans);cursor:pointer;background:#fff;border:1px solid #d7d7d7;border-radius:4px;padding:10px 14px;transition:transform .16s,box-shadow .16s,border-color .16s}.scanner-link-button:hover{border-color:#b9b9b9;transform:translateY(-1px);box-shadow:0 6px 16px #00000014}.scanner-link-button--secondary{background:#f7f7f7}.scanner-link-button:focus-visible{outline-offset:2px;outline:3px solid #1f6feb33}.scanner-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.debug-panel{margin-top:20px}.debug-panel details{border:1px solid var(--panel-border);box-shadow:var(--shadow);background:#fff;border-radius:6px;overflow:hidden}.debug-panel summary{cursor:pointer;color:#222;padding:18px 20px;font-weight:600;list-style:none}.debug-panel summary::-webkit-details-marker{display:none}.debug-body{padding:0 20px 20px}.debug-note{color:#777;margin:0 0 12px}.debug-body pre{color:#2a2a2a;font-family:var(--mono);background:#f8f8f8;border-radius:4px;margin:0;padding:16px;font-size:.86rem;line-height:1.5;overflow:auto}.error-view{box-sizing:border-box;background:radial-gradient(circle at top,#1f6feb1f,#0000 32%),#f1f1f1;place-items:center;min-height:100vh;padding:32px 20px;display:grid}.error-card{border:1px solid var(--panel-border);width:min(640px,100%);box-shadow:var(--shadow);background:#fff;border-radius:6px;flex-direction:column;gap:16px;padding:28px;display:flex}.error-card h1{color:#111;margin:0 0 12px;font-size:clamp(1.7rem,4vw,2.6rem)}.error-card p{color:#6b6b6b;margin:0 0 18px;line-height:1.6}.error-message{color:#7a2f2f;white-space:pre-wrap;background:#f7f7f7;border-radius:4px;margin-bottom:20px;padding:14px 16px}.error-details{margin:0}.error-details summary{cursor:pointer;color:#666;padding:0 0 10px;font-size:.95rem;display:block}.action-button{appearance:none;background:var(--accent);color:#fff;font:600 1rem/1 var(--sans);cursor:pointer;border:0;border-radius:4px;align-self:flex-start;padding:14px 18px;transition:transform .16s,box-shadow .16s}.action-button--secondary{color:#2d2d2d;background:#f1f1f1}.action-button:hover{transform:translateY(-1px);box-shadow:0 12px 30px #1f6feb3d}.action-button:focus-visible{outline-offset:3px;outline:3px solid #1f6feb3d}@media (width<=720px){.app-shell{padding:20px 14px 28px}.scanner-section{border-radius:6px;padding:14px}.scanner-frame,.scanner-video{min-height:340px}.scanner-actions{justify-content:stretch}.scanner-link-button{flex:100%}.scanner-overlay__label{width:min(86%,280px)}.error-card{padding:22px}}
