.guide-player{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0 12px;font-size:12px;color:#52667b}.guide-player button{font:inherit;color:#003997;border:1px solid #c5d1e0;background:transparent;padding:10px 20px;border-radius:4px;min-height:44px;cursor:pointer}.guide-player button:hover{background:#eaf0f6}.guide-progress{height:2px;background:#dce5ef;margin-bottom:24px;overflow:hidden}.guide-progress i{display:block;width:100%;height:100%;background:#003997;transform-origin:left;animation:guide-time 12s linear both}.guide-motion{aspect-ratio:4/3;background:#edf2f7;border-radius:8px;overflow:hidden}.guide-motion svg{display:block;width:100%;height:100%}.guide-motion .paper{fill:#fff;stroke:#9cafc7;stroke-width:1.3}.guide-motion .ink{stroke:#003997;stroke-width:1.3;fill:none}.guide-motion .faint{opacity:.3}.guide-motion .label{fill:#f6f8fb;stroke:#c5d1e0;stroke-width:1}.guide-motion .code{font:17px monospace;fill:#003997;letter-spacing:1px}.scratch-cover{transform-box:fill-box;transform-origin:right;animation:scratch-away 12s linear both}.coin{animation:scratch-coin 12s linear both}.revealed-code,.reveal-mark{animation:reveal-code 12s ease both}.typing-mask{animation:type-code 12s steps(9,end) both}.click-pulse{animation:click-code 12s ease both}.success{animation:show-result 12s ease both}.check-line{stroke-dasharray:50;animation:draw-check 12s ease both}.verification-guide:not(.motion-running) .guide-motion *,.verification-guide:not(.motion-running) .guide-progress i{animation-play-state:paused}
@keyframes guide-time{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes scratch-away{0%,5%{transform:scaleX(1)}25%,100%{transform:scaleX(0)}}
@keyframes scratch-coin{0%{opacity:0;transform:translate(0,0)}5%{opacity:1;transform:translate(0,0)}9%{transform:translate(28px,36px)}13%{transform:translate(62px,0)}17%{transform:translate(95px,36px)}21%{opacity:1;transform:translate(127px,0)}25%{opacity:0;transform:translate(157px,36px)}100%{opacity:0;transform:translate(157px,36px)}}
@keyframes reveal-code{0%,25%{opacity:.12}32%,100%{opacity:1}}
@keyframes type-code{0%,42%{width:0}65%,100%{width:168px}}
@keyframes click-code{0%,65%{opacity:0;r:10}67%{opacity:.6;r:12}73%,100%{opacity:0;r:25}}
@keyframes show-result{0%,74%{opacity:0}80%,100%{opacity:1}}
@keyframes draw-check{0%,78%{stroke-dashoffset:50}87%,100%{stroke-dashoffset:0}}
@media(max-width:640px){.verification-steps{grid-template-columns:1fr;gap:32px}.guide-motion{aspect-ratio:16/9}.guide-player{font-size:11px}.verification-steps h3{font-size:20px}.verification-steps p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.scratch-cover,.coin,.click-pulse{display:none}.typing-mask{width:168px}.success,.revealed-code,.reveal-mark{opacity:1}.check-line{stroke-dashoffset:0}.guide-progress,.guide-player{display:none}}

/* Smooth connected gestures and overlapping transitions. */
.coin{transform-origin:90px 108px;animation-name:coin-fluid;animation-timing-function:linear}.scratch-cover{animation-name:scratch-fluid;animation-timing-function:linear;transform:none}.success{transform-origin:160px 130px;animation-name:result-fluid;animation-timing-function:cubic-bezier(.22,1,.36,1)}.revealed-code,.reveal-mark{animation-name:reveal-fluid}.check-line{animation-name:check-fluid;animation-timing-function:cubic-bezier(.22,1,.36,1)}.typed-char{animation-duration:12s;animation-fill-mode:both;animation-timing-function:ease-out}
@keyframes coin-fluid{0%{opacity:0;transform:translate(-12px,-14px) rotate(-12deg)}4%{opacity:1;transform:translate(0,0) rotate(-8deg)}4.3750%{opacity:1;transform:translate(0.114px,0.646px) rotate(-5.968deg)}4.7500%{opacity:1;transform:translate(0.450px,2.528px) rotate(-4.111deg)}5.1250%{opacity:1;transform:translate(1.003px,5.484px) rotate(-2.589deg)}5.5000%{opacity:1;transform:translate(1.763px,9.260px) rotate(-1.533deg)}5.8750%{opacity:1;transform:translate(2.725px,13.530px) rotate(-1.034deg)}6.2500%{opacity:1;transform:translate(3.881px,17.926px) rotate(-1.135deg)}6.6250%{opacity:1;transform:translate(5.224px,22.071px) rotate(-1.827deg)}7.0000%{opacity:1;transform:translate(6.746px,25.607px) rotate(-3.050deg)}7.3750%{opacity:1;transform:translate(8.441px,28.229px) rotate(-4.700deg)}7.7500%{opacity:1;transform:translate(10.301px,29.712px) rotate(-6.634deg)}8.1250%{opacity:1;transform:translate(12.320px,29.928px) rotate(-8.686deg)}8.5000%{opacity:1;transform:translate(14.489px,28.858px) rotate(-10.679deg)}8.8750%{opacity:1;transform:translate(16.802px,26.595px) rotate(-12.441deg)}9.2500%{opacity:1;transform:translate(19.251px,23.334px) rotate(-13.820deg)}9.6250%{opacity:1;transform:translate(21.830px,19.354px) rotate(-14.699deg)}10.0000%{opacity:1;transform:translate(24.531px,15.000px) rotate(-15.000deg)}10.3750%{opacity:1;transform:translate(27.347px,10.646px) rotate(-14.699deg)}10.7500%{opacity:1;transform:translate(30.271px,6.666px) rotate(-13.820deg)}11.1250%{opacity:1;transform:translate(33.296px,3.405px) rotate(-12.441deg)}11.5000%{opacity:1;transform:translate(36.414px,1.142px) rotate(-10.679deg)}11.8750%{opacity:1;transform:translate(39.618px,0.072px) rotate(-8.686deg)}12.2500%{opacity:1;transform:translate(42.901px,0.288px) rotate(-6.634deg)}12.6250%{opacity:1;transform:translate(46.256px,1.771px) rotate(-4.700deg)}13.0000%{opacity:1;transform:translate(49.676px,4.393px) rotate(-3.050deg)}13.3750%{opacity:1;transform:translate(53.153px,7.929px) rotate(-1.827deg)}13.7500%{opacity:1;transform:translate(56.681px,12.074px) rotate(-1.135deg)}14.1250%{opacity:1;transform:translate(60.251px,16.470px) rotate(-1.034deg)}14.5000%{opacity:1;transform:translate(63.858px,20.740px) rotate(-1.533deg)}14.8750%{opacity:1;transform:translate(67.493px,24.516px) rotate(-2.589deg)}15.2500%{opacity:1;transform:translate(71.150px,27.472px) rotate(-4.111deg)}15.6250%{opacity:1;transform:translate(74.822px,29.354px) rotate(-5.968deg)}16.0000%{opacity:1;transform:translate(78.500px,30.000px) rotate(-8.000deg)}16.3750%{opacity:1;transform:translate(82.178px,29.354px) rotate(-10.032deg)}16.7500%{opacity:1;transform:translate(85.850px,27.472px) rotate(-11.889deg)}17.1250%{opacity:1;transform:translate(89.507px,24.516px) rotate(-13.411deg)}17.5000%{opacity:1;transform:translate(93.142px,20.740px) rotate(-14.467deg)}17.8750%{opacity:1;transform:translate(96.749px,16.470px) rotate(-14.966deg)}18.2500%{opacity:1;transform:translate(100.319px,12.074px) rotate(-14.865deg)}18.6250%{opacity:1;transform:translate(103.847px,7.929px) rotate(-14.173deg)}19.0000%{opacity:1;transform:translate(107.324px,4.393px) rotate(-12.950deg)}19.3750%{opacity:1;transform:translate(110.744px,1.771px) rotate(-11.300deg)}19.7500%{opacity:1;transform:translate(114.099px,0.288px) rotate(-9.366deg)}20.1250%{opacity:1;transform:translate(117.382px,0.072px) rotate(-7.314deg)}20.5000%{opacity:1;transform:translate(120.586px,1.142px) rotate(-5.321deg)}20.8750%{opacity:1;transform:translate(123.704px,3.405px) rotate(-3.559deg)}21.2500%{opacity:1;transform:translate(126.729px,6.666px) rotate(-2.180deg)}21.6250%{opacity:1;transform:translate(129.653px,10.646px) rotate(-1.301deg)}22.0000%{opacity:1;transform:translate(132.469px,15.000px) rotate(-1.000deg)}22.3750%{opacity:1;transform:translate(135.170px,19.354px) rotate(-1.301deg)}22.7500%{opacity:1;transform:translate(137.749px,23.334px) rotate(-2.180deg)}23.1250%{opacity:1;transform:translate(140.198px,26.595px) rotate(-3.559deg)}23.5000%{opacity:1;transform:translate(142.511px,28.858px) rotate(-5.321deg)}23.8750%{opacity:1;transform:translate(144.680px,29.928px) rotate(-7.314deg)}24.2500%{opacity:1;transform:translate(146.699px,29.712px) rotate(-9.366deg)}24.6250%{opacity:1;transform:translate(148.559px,28.229px) rotate(-11.300deg)}25.0000%{opacity:1;transform:translate(150.254px,25.607px) rotate(-12.950deg)}25.3750%{opacity:1;transform:translate(151.776px,22.071px) rotate(-14.173deg)}25.7500%{opacity:1;transform:translate(153.119px,17.926px) rotate(-14.865deg)}26.1250%{opacity:1;transform:translate(154.275px,13.530px) rotate(-14.966deg)}26.5000%{opacity:1;transform:translate(155.237px,9.260px) rotate(-14.467deg)}26.8750%{opacity:1;transform:translate(155.997px,5.484px) rotate(-13.411deg)}27.2500%{opacity:1;transform:translate(156.550px,2.528px) rotate(-11.889deg)}27.6250%{opacity:1;transform:translate(156.886px,0.646px) rotate(-10.032deg)}28.0000%{opacity:1;transform:translate(157.000px,0.000px) rotate(-8.000deg)}32%,100%{opacity:0;transform:translate(170px,-18px) rotate(0deg)}}
@keyframes scratch-fluid{0%,4%{clip-path:inset(0 0 0 0)}5.000%{clip-path:inset(0 0 0 0.506%)}6.000%{clip-path:inset(0 0 0 1.968%)}7.000%{clip-path:inset(0 0 0 4.297%)}8.000%{clip-path:inset(0 0 0 7.407%)}9.000%{clip-path:inset(0 0 0 11.212%)}10.000%{clip-path:inset(0 0 0 15.625%)}11.000%{clip-path:inset(0 0 0 20.558%)}12.000%{clip-path:inset(0 0 0 25.926%)}13.000%{clip-path:inset(0 0 0 31.641%)}14.000%{clip-path:inset(0 0 0 37.616%)}15.000%{clip-path:inset(0 0 0 43.764%)}16.000%{clip-path:inset(0 0 0 50.000%)}17.000%{clip-path:inset(0 0 0 56.236%)}18.000%{clip-path:inset(0 0 0 62.384%)}19.000%{clip-path:inset(0 0 0 68.359%)}20.000%{clip-path:inset(0 0 0 74.074%)}21.000%{clip-path:inset(0 0 0 79.442%)}22.000%{clip-path:inset(0 0 0 84.375%)}23.000%{clip-path:inset(0 0 0 88.788%)}24.000%{clip-path:inset(0 0 0 92.593%)}25.000%{clip-path:inset(0 0 0 95.703%)}26.000%{clip-path:inset(0 0 0 98.032%)}27.000%{clip-path:inset(0 0 0 99.494%)}28.000%{clip-path:inset(0 0 0 100.000%)}100%{clip-path:inset(0 0 0 100%)}}
@keyframes reveal-fluid{0%,24%{opacity:.12}37%,100%{opacity:1}}
@keyframes result-fluid{0%,70%{opacity:0;transform:translateY(7px) scale(.97)}80%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes check-fluid{0%,75%{stroke-dashoffset:50}86%,100%{stroke-dashoffset:0}}
.char-0{animation-name:letter-0}@keyframes letter-0{0%,40.00%{opacity:0}41.80%,100%{opacity:1}}
.char-1{animation-name:letter-1}@keyframes letter-1{0%,42.65%{opacity:0}44.45%,100%{opacity:1}}
.char-2{animation-name:letter-2}@keyframes letter-2{0%,45.30%{opacity:0}47.10%,100%{opacity:1}}
.char-3{animation-name:letter-3}@keyframes letter-3{0%,47.95%{opacity:0}49.75%,100%{opacity:1}}
.char-4{animation-name:letter-4}@keyframes letter-4{0%,50.60%{opacity:0}52.40%,100%{opacity:1}}
.char-5{animation-name:letter-5}@keyframes letter-5{0%,53.25%{opacity:0}55.05%,100%{opacity:1}}
.char-6{animation-name:letter-6}@keyframes letter-6{0%,55.90%{opacity:0}57.70%,100%{opacity:1}}
.char-7{animation-name:letter-7}@keyframes letter-7{0%,58.55%{opacity:0}60.35%,100%{opacity:1}}
.char-8{animation-name:letter-8}@keyframes letter-8{0%,61.20%{opacity:0}63.00%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.typed-char{opacity:1}.success{transform:none}}
.physical-coin{opacity:0;pointer-events:none}.scratch-track{stroke-dasharray:1000;stroke-dashoffset:1000}.scratch-flake{opacity:0}@media(prefers-reduced-motion:reduce){.physical-coating,.physical-coin,.scratch-dust{display:none}}
