:root{--bg:#0f172a;--panel:#1e293b;--border:#334155;--text:#e2e8f0;--muted:#94a3b8;--accent:#60a5fa;--accent-hover:#3b82f6;--ok:#34d399;--warn:#fbbf24;--error:#f87171;--checking:#fbbf24;--danger:#ef4444;--danger-hover:#dc2626}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-size:.85em;background:rgba(255,255,255,.05);padding:1px 6px;border-radius:4px}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}pre{background:var(--bg);border:1px solid var(--border);border-radius:.375rem;padding:.75rem 1rem;overflow-x:auto;font-size:.9rem;line-height:1.6;margin:.5rem 0}.container{max-width:720px;margin:0 auto;padding:2rem 1.25rem 4rem}.container.narrow{max-width:420px}header h1{margin:0;font-size:1.75rem;letter-spacing:-.01em}header .subtitle{margin:.25rem 0 0;color:var(--muted);font-size:.875rem}.row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.row-end{display:flex;align-items:center;gap:.75rem;margin-top:1rem;justify-content:flex-end}.muted{color:var(--muted)}.small{font-size:.85rem}.mt{margin-top:1rem}.ok{color:var(--ok)}.error{color:var(--error)}.checking{color:var(--checking)}.card{margin-top:1.5rem;padding:1rem 1.25rem;background:var(--panel);border:1px solid var(--border);border-radius:.5rem}.card h2{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.banner{margin-top:1.5rem;padding:.85rem 1rem;border-radius:.5rem;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.4);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.banner.warn{color:var(--text)}.badge{display:inline-block;padding:.1rem .5rem;border-radius:9999px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge.ok{background:rgba(52,211,153,.18);color:var(--ok)}.badge.warn{background:rgba(251,191,36,.18);color:var(--warn)}.field{display:block;margin-bottom:1rem}.field span{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.field input{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:.375rem;padding:.55rem .75rem;font-size:1rem;font-family:inherit}.field input:focus{outline:2px solid var(--accent);outline-offset:-1px}.button-link,button{font-family:inherit;font-size:.95rem;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:.375rem;padding:.5rem 1rem;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.6;cursor:not-allowed}.button-link.primary,button.primary{background:var(--accent);border-color:var(--accent);color:#0f172a;font-weight:600}button.primary{width:100%;padding:.65rem}.button-link.primary{width:auto;padding:.5rem 1rem}.button-link.primary:hover,button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}button.danger-primary{background:var(--danger);border-color:var(--danger);color:white}button.danger-primary:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.button-link.ghost:hover,button.ghost:hover:not(:disabled){background:rgba(255,255,255,.05);text-decoration:none}button.linklike{border:none;background:transparent;color:var(--accent);padding:0;font-size:inherit;cursor:pointer;text-decoration:underline}p.error{color:var(--error);margin:0 0 .75rem;font-size:.9rem}ol.steps{padding-left:1.25rem;margin:0}ol.steps>li{margin-bottom:1.5rem}.qr{display:block;width:220px;height:220px;background:white;border-radius:.5rem;padding:8px;margin:.5rem 0}.secret{font-size:1rem;letter-spacing:.05em;text-align:center;word-break:break-all}.recovery-codes{font-size:.95rem;letter-spacing:.04em;line-height:1.7}