/* Tokens copied from docs/mockups/flow-v6-preview.html */
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/IBMPlexSans[wdth,wght].ttf") format("truetype");font-weight:100 700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/IBMPlexMono-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
:root{
  --bg:#121518; --panel:#181c20; --panel-2:#1d2226; --raise:#1f2429; --rule:#2a3036; --rule-strong:#3a424a;
  --ink:#dde3e8; --ink-2:#a3adb6; --ink-3:#77818a;
  --accent:#4fc3dc; --accent-ink:#06171c;
  --red:#e5484d; --amber:#dfa13a; --green:#46a758;
  --sans:"IBM Plex Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  --s-2:13px; --s-body:14px; --s-sub:17px; --s-title:26px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background-color:var(--bg);background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font-family:var(--sans);font-size:var(--s-body);line-height:1.5;min-height:100vh}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.label{font-size:var(--s-2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.muted{color:var(--ink-2)} .sec2{font-size:var(--s-2);color:var(--ink-2)}
h1{margin:6px 0 16px;font-weight:500;font-size:var(--s-title);letter-spacing:-.01em}
p{margin:0 0 12px}
.auth-shell{display:flex;justify-content:center;padding:48px 16px}
.auth-shell .card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:28px}
.auth-shell label{display:block;margin:14px 0 6px;font-size:var(--s-2);color:var(--ink-2)}
.auth-shell input{width:100%;background:var(--panel-2);color:var(--ink);border:1px solid var(--rule-strong);border-radius:4px;padding:9px 10px;font:inherit}
.auth-shell input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.auth-shell .btn{display:inline-block;margin-top:20px;background:var(--accent);color:var(--accent-ink);border:0;border-radius:4px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:filter .15s var(--ease)}
.auth-shell .btn:hover{filter:brightness(1.1)}
.msg{padding:10px 12px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--raise)}
.msg-error{border-color:var(--red);color:var(--ink)}
.steps{padding-left:20px;color:var(--ink-2)} .steps li{margin-bottom:6px}
.qr{display:block;margin:12px 0;background:#fff;padding:6px;border-radius:4px}
.key{word-break:break-all;background:var(--panel-2);border:1px solid var(--rule);padding:8px 10px;border-radius:4px;font-size:var(--s-2)}
.codes{list-style:none;padding:12px;margin:12px 0;background:var(--panel-2);border:1px solid var(--rule);border-radius:4px;columns:2;font-size:var(--s-body)}
.codes li{padding:2px 0}
