:root{--bg:#f7f8fb;--card:#fff;--text:#12182a;--muted:#7d879c;--line:#e9edf4;--blue:#2f6df6;--blue2:#4a87ff;--danger:#d65b5b;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}body{min-height:var(--tg-viewport-stable-height,100vh)}button{font:inherit}.app{width:100%;max-width:620px;min-height:var(--tg-viewport-stable-height,100vh);margin:0 auto;padding:calc(18px + var(--safe-top)) 20px calc(18px + var(--safe-bottom))}.screen{min-height:calc(var(--tg-viewport-stable-height,100vh) - 36px)}.hidden{display:none!important}.center-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.loader{width:32px;height:32px;border:3px solid #dfe5ef;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:58px}.eyebrow{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em}h1{margin:4px 0 0;font-size:24px;line-height:1.1}.hero{text-align:center;padding:28px 0 22px}.qr-icon{width:62px;height:62px;margin:0 auto 13px;display:grid;place-items:center;color:var(--blue);font-size:46px;font-weight:700}.hero h2{margin:0;font-size:30px;letter-spacing:-.03em}.muted{color:var(--muted)}.hero p{margin:9px 0 0;font-size:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:12px 18px}.card-title{font-size:17px;font-weight:700;padding:8px 0 10px}.row{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);font-size:16px}.row span{color:#3e4657}.row strong{text-align:right;overflow-wrap:anywhere}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.primary-button,.secondary-button{width:100%;min-height:60px;border:0;border-radius:19px;margin-top:24px;font-weight:700;font-size:18px;cursor:pointer}.primary-button{color:white;background:linear-gradient(135deg,var(--blue),var(--blue2))}.primary-button:active{transform:scale(.99)}.play{margin-right:7px;font-size:14px}.secondary-button{max-width:260px;color:var(--text);background:#e9edf4}.hint{margin:18px auto 0;max-width:390px;color:var(--muted);text-align:center;font-size:13px;line-height:1.45}.qr-screen{display:flex;flex-direction:column;min-height:calc(var(--tg-viewport-stable-height,100vh) - 36px)}.qr-meta{height:34px;display:flex;align-items:center;justify-content:space-between;color:#a0a7b5;font-size:13px}.qr-stage{flex:1 1 auto;min-height:0;display:grid;place-items:center;padding:8px 0}#qrCanvas{display:block;width:min(92vw,520px)!important;height:min(92vw,520px)!important;max-width:100%;image-rendering:pixelated;background:#fff;border-radius:14px}.timer-wrap{width:min(86%,420px);margin:8px auto 0;text-align:center}.countdown{color:#8d95a4;font-size:13px;margin-bottom:9px}.progress-track{height:2px;width:100%;overflow:hidden;border-radius:999px;background:#e3e7ee}.progress-bar{height:100%;width:100%;transform-origin:left center;background:#aeb5c1}.ghost-stop{width:100%;min-height:48px;margin-top:18px;border:0;background:transparent;color:rgba(80,88,104,.36);font-size:14px;cursor:pointer}.ghost-stop:active{color:rgba(180,55,55,.65)}.error-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:var(--danger);background:#feecec;font-size:24px;font-weight:800}#errorScreen h2{margin:8px 0 0}#errorText{max-width:420px;line-height:1.45}@media(max-height:650px){.hero{padding:10px 0 12px}.hero h2{font-size:25px}.qr-icon{display:none}.row{min-height:44px}.primary-button{margin-top:14px;min-height:52px}}
