.scan__stage{place-items:center;display:grid;position:absolute;inset:0;container-type:size}.scan__frame{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--surface-2);width:min(100cqw,100cqh,320px);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--border-strong);place-items:center;display:grid;position:relative;overflow:hidden;container-type:size}.scan__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scan__video[hidden]{display:none}.scan__corner{border:0 solid var(--gold);pointer-events:none;width:34px;height:34px;position:absolute}.scan__corner--tl{border-top-width:4px;border-left-width:4px;border-top-left-radius:12px;top:18px;left:18px}.scan__corner--tr{border-top-width:4px;border-right-width:4px;border-top-right-radius:12px;top:18px;right:18px}.scan__corner--bl{border-bottom-width:4px;border-left-width:4px;border-bottom-left-radius:12px;bottom:18px;left:18px}.scan__corner--br{border-bottom-width:4px;border-right-width:4px;border-bottom-right-radius:12px;bottom:18px;right:18px}.scan__frame--found .scan__corner{border-color:var(--success)}.scan__line{background:linear-gradient(90deg, transparent, var(--gold), transparent);height:3px;box-shadow:0 0 14px var(--gold);border-radius:3px;animation:2.2s ease-in-out infinite alternate scan-sweep;position:absolute;top:18px;left:18px;right:18px}@keyframes scan-sweep{to{transform:translateY(calc(100cqh - 39px))}}.screen__hero .scan__placeholder svg{width:72px;height:72px;position:static}.scan__caption{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);color:#fff;text-align:center;background:#0a1520b8;padding:8px 12px;font-size:.8125rem;font-weight:700;display:flex;position:absolute;inset:auto 12px 14px}.scan .btn--lg{text-decoration:none}@media (prefers-reduced-motion:reduce){.scan__line{animation:none;top:50%}}
