*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#2a0d0d,#0b0b0b 70%);font-family:"Segoe UI",Tahoma,sans-serif;color:#fff;padding:20px 0}
.card{background:#141414;border:1px solid #c42a2a;border-radius:14px;padding:28px 26px;width:360px;max-width:94vw;box-shadow:0 10px 40px rgba(196,42,42,.25);text-align:center}
.card img{width:130px;margin-bottom:6px}h1{margin:4px 0 2px;font-size:22px}p.sub{margin:0 0 16px;color:#aaa;font-size:13px}
label{display:block;text-align:right;font-size:13px;color:#ccc;margin:10px 0 4px}label small{color:#777}
input{width:100%;padding:11px;border-radius:8px;border:1px solid #333;background:#0b0b0b;color:#fff;font-size:15px}
input:focus{outline:none;border-color:#c42a2a}button{width:100%;margin-top:18px;padding:12px;border:0;border-radius:8px;background:#c42a2a;color:#fff;font-size:16px;font-weight:bold;cursor:pointer}
button:hover{background:#a51f1f}button:disabled{opacity:.6;cursor:wait}
.err{margin-top:12px;color:#ff8a8a;font-size:14px;min-height:20px}.ok{margin-top:12px;color:#7be3a6;font-size:15px;line-height:1.7;background:#0a3d22;border-radius:8px;padding:12px}
.links{display:flex;justify-content:space-between;margin-top:14px;font-size:13px}.links a,a.lnk{color:#ff8a8a;text-decoration:none}.links a:hover{text-decoration:underline}
.btn{display:block;margin-top:12px;padding:12px;border-radius:8px;color:#fff;font-weight:bold;text-decoration:none;font-size:15px}
.btn.dl{background:#1a56a8}.btn.dl:hover{background:#15468a}.btn.wa{background:#25D366}.btn.out{background:transparent;border:1px solid #c42a2a}
.note{font-size:12px;color:#999;margin-top:6px;line-height:1.6}.sep{border-top:1px solid #2a2a2a;margin:18px 0 6px}.foot{margin-top:16px;font-size:11px;color:#666}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.btn.pwa{background:#0a8446;text-align:center}.btn.pwa:hover{background:#085c32}
html.pwa-standalone .btn.dl{display:none}
