[hidden]{display:none!important}.scan-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px max(18px,env(safe-area-inset-right));padding-top:max(18px,env(safe-area-inset-top));background:var(--green);color:white}.scan-header a,.scan-header button{background:white;color:var(--green);border:0;border-radius:12px;padding:12px;text-decoration:none;min-height:44px}.scan-header strong{letter-spacing:.14em}.scan-main{max-width:560px;margin:auto;padding:24px 18px calc(32px + env(safe-area-inset-bottom))}.scan-main h1{margin:0 0 12px}.scan-main p{line-height:1.5}.scan-view{position:relative;background:#102a23;border-radius:20px;overflow:hidden;aspect-ratio:1}.scan-view video{width:100%;height:100%;object-fit:cover}.scan-guide{position:absolute;inset:15%;border:3px solid white;border-radius:20px;pointer-events:none}.scan-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.scan-actions button,.scan-primary{border:1px solid var(--line);background:white;color:var(--green);border-radius:14px;padding:14px 18px;min-height:48px;font-weight:700;font-size:16px}.scan-primary,.scan-actions .scan-primary{display:inline-block;background:var(--green);color:white;text-decoration:none}.scan-actions button:disabled{opacity:.6}.scan-result{border:1px solid var(--line);border-radius:20px;background:white;padding:20px}.scan-result strong{font-size:22px}.scan-footnote{font-size:14px;color:var(--muted)}#scanStatus{min-height:24px;overflow-wrap:anywhere}

.scan-link{margin:20px 0}.scan-link summary{cursor:pointer;font-weight:650;min-height:44px}.scan-link form{display:flex;gap:8px;flex-wrap:wrap}.scan-link input{min-width:0;flex:1 1 200px;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit}.scan-link button{border:1px solid var(--line);border-radius:12px;background:white;color:var(--green);padding:12px;font:inherit}
