.scan-page{max-width:760px;animation:rise .5s ease both}
.scan-head h1{margin-bottom:.1em}
.scan-head .muted{margin-top:.4em}
.scan-hero{max-width:640px;margin:28px auto 6px;text-align:center;padding:34px 20px;border-radius:24px;background:#f2f5f2;box-shadow:0 18px 50px rgba(23,33,27,.10);animation:pop .35s ease both}
.scan-icon{width:72px;height:72px;color:#1c7a4c}
.scan-icon rect{fill:none;stroke:currentColor;stroke-width:4}
.scan-prompt{font-size:1.35rem;font-weight:700;margin:.8em 0 .2em}
.scan-hero .muted{margin-top:.2em}
.tokenform{max-width:640px;margin:6px auto 0;text-align:left}
.tokenform label{display:block;font-weight:650;margin-bottom:8px}
.tokenrow{display:flex;gap:10px}
.tokenrow input{flex:1;min-width:0;border:1px solid #cbd3cd;border-radius:12px;padding:15px 16px;font:inherit;font-size:1.1rem}
.bigname{font-size:clamp(2.2rem,6vw,3.4rem);margin:.2em 0;line-height:1.1}
.checkmark{width:96px;height:96px;margin:0 auto 8px}
.checkmark svg{width:100%;height:100%}
.checkmark circle{fill:none;stroke:#1c7a4c;stroke-width:3}
.checkmark path{fill:none;stroke:#1c7a4c;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:draw .6s .2s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes rise{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
.scan-page #confirm-panel,.scan-page #success-panel{max-width:620px;margin:32px auto;animation:pop .35s ease both}
.scan-page .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.scan-page .actions .button.big{font-size:1.35rem;padding:18px 34px}
.linklike{background:none;border:0;color:#455149;text-decoration:underline;cursor:pointer;font:inherit;padding:10px}
.kiosk-foot{margin-top:44px;text-align:center}
.kiosk-foot .linklike{color:#8a938c;text-decoration:none;font-size:.9rem}
.kiosk-foot .linklike:hover{text-decoration:underline}
.closed-page{padding-top:14vh}
.closed-page .button{display:inline-block;margin-top:18px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.qr-card{display:flex;align-items:center;gap:28px}
.qr-print img{display:block;width:220px;height:220px}
.qr-print h3{text-align:center}
.qr-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media print{body *{visibility:hidden}.qr-print-section,.qr-print-section .qr-print,.qr-print-section .qr-print *{visibility:visible}.qr-print-section{position:absolute;inset:0;text-align:center}.qr-print-section>h2,.qr-actions{display:none}.qr-card{border:0;box-shadow:none;display:block}.qr-print img{width:420px;height:420px;margin:1in auto 20px}}
@media(max-width:600px){.qr-card{display:block}.qr-actions{margin-top:20px}.tokenrow{flex-direction:column}}
