*{margin:0;padding:0;box-sizing:border-box}body{background:#000;overflow:hidden;font-family:Arial}.scanner{position:fixed;inset:0}video{width:100vw;height:100vh;object-fit:cover}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.header{position:absolute;top:40px;left:20px;right:20px;text-align:center;color:#fff}.header h1{font-size:28px;margin-bottom:8px;text-shadow:0 0 12px black}.header span{font-size:15px;opacity:.9;text-shadow:0 0 10px black}.target{width:85%;height:110px;border:3px solid #00ff88;border-radius:15px;box-shadow:0 0 20px #0f8}.overlay p{margin-top:25px;color:#fff;font-size:18px;text-shadow:0 0 10px black}.hint{margin-top:25px;color:#fff;font-size:15px;text-shadow:0 0 10px black}.result-title{color:#0f8;font-size:13px;margin-bottom:8px;text-align:center;text-transform:uppercase;letter-spacing:2px}.footer{position:fixed;bottom:0;left:0;right:0;padding:20px;background:#000000bf;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}#result{color:#fff;margin-bottom:15px;font-size:18px;text-align:center}button{width:100%;padding:16px;font-size:18px;border:none;border-radius:14px;background:#f44;color:#fff}.target{position:relative;width:85%;max-width:420px;height:120px;border:3px solid #00ff88;border-radius:16px;overflow:hidden;box-shadow:0 0 15px #0f86,inset 0 0 15px #00ff8826}.scan-line{position:absolute;left:0;width:100%;height:3px;background:#0f8;box-shadow:0 0 12px #0f8,0 0 24px #0f8;animation:scan 2s linear infinite}@keyframes scan{0%{top:0}50%{top:calc(100% - 3px)}to{top:0}}
