:root { --bg: #0b111b; --card: #141e2f; --field: #0f1829; --line: #22304a; --text: #e9eefa; --muted: #8697b6; --blue: #2f7cff; --red: #ff6b7e; }
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { background: radial-gradient(120% 90% at 50% 0%, #14305a 0%, var(--bg) 55%); color: var(--text); font: 15px/1.45 "Segoe UI", system-ui, -apple-system, Roboto, sans-serif; display: grid; place-items: center; padding: 20px; }
svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.box { width: min(400px, 100%); background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: 26px 26px 22px; box-shadow: 0 24px 60px rgba(0,0,0,.5); }
.logo { display: flex; align-items: center; gap: 10px; font-size: 24px; font-weight: 800; margin-bottom: 14px; }
.logo i { width: 40px; height: 40px; border-radius: 12px; background: linear-gradient(135deg, #2f7cff, #22c7f0); display: grid; place-items: center; color: #fff; }
h1 { margin: 0 0 14px; font-size: 20px; }
label { display: block; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); font-weight: 700; margin: 12px 0 6px; }
input { width: 100%; background: var(--field); border: 1px solid var(--line); border-radius: 12px; padding: 13px 14px; color: var(--text); font: inherit; outline: none; }
input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(47,124,255,.22); }
.btn { width: 100%; margin-top: 18px; padding: 13px; border: 0; border-radius: 12px; font: inherit; font-weight: 700; color: #fff; cursor: pointer; background: linear-gradient(135deg, #2f7cff, #1fb4f0); box-shadow: 0 8px 22px rgba(47,124,255,.35); }
.btn:disabled { opacity: .6; cursor: wait; }
.err { margin-top: 12px; color: var(--red); background: rgba(255,107,126,.12); border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.hint { margin: 16px 0 0; color: var(--muted); font-size: 12.5px; text-align: center; }
.hint.left { text-align: left; margin: 0 0 12px; line-height: 1.45; }
.qr { background: #fff; border-radius: 14px; padding: 8px; width: 220px; height: 220px; margin: 6px auto 10px; display: grid; place-items: center; }
.qr svg { width: 100%; height: 100%; }
.secret { font-family: Consolas, monospace; letter-spacing: 1px; color: var(--text); word-break: break-all; }
.link { background: none; border: 0; color: #6aa5ff; cursor: pointer; font: inherit; margin-top: 12px; width: 100%; padding: 6px; }
.codes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 8px 0 4px; }
.codes span { background: var(--field); border: 1px solid var(--line); border-radius: 10px; padding: 10px 8px; text-align: center; font-family: Consolas, monospace; letter-spacing: .5px; user-select: all; }
[hidden] { display: none !important; }
