.qr-login-button{width:100%;min-height:46px;border:1px solid var(--line,#36373d);border-radius:12px;background:transparent;color:var(--text,#eee);font:inherit;font-weight:600;cursor:pointer;margin-top:10px;padding:11px 16px}@media (hover:hover) and (pointer:fine){.qr-login-button:hover{background:var(--card-soft,#ffffff08)}}.qr-login-button:focus-visible{outline:2px solid #91b9ff;outline-offset:3px}.qr-manual{font-size:13px;color:var(--muted,#aaaeb6)}.qr-manual summary{cursor:pointer;padding:8px 0;color:var(--text,#eee)}.qr-manual p{margin:8px 0}.qr-account{font-size:22px;font-weight:650;margin:0;overflow-wrap:anywhere}.qr-dialog .ca-qr{width:auto;max-width:100%;height:auto;aspect-ratio:1}
.qr-camera{position:relative;aspect-ratio:1;background:#070809;border:1px solid #ffffff20;border-radius:16px;overflow:hidden}.qr-camera video{width:100%;height:100%;object-fit:cover}.qr-camera:after{content:"";position:absolute;inset:17%;border:2px solid #ffffffb0;border-radius:14px;box-shadow:0 0 0 100px #0003;pointer-events:none}

@media(prefers-reduced-motion:no-preference){
.ca-backdrop:has(.qr-dialog){animation:qr-backdrop-in .24s ease-out}
.qr-dialog{animation:qr-dialog-in .28s cubic-bezier(.2,.7,.2,1)}
@keyframes qr-backdrop-in{from{background:#0000;backdrop-filter:blur(0)}to{background:#0009;backdrop-filter:blur(6px)}}
@keyframes qr-dialog-in{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
}
