:root{
  --bg:#f5f6f8; --card:#ffffff; --ink:#14181f; --muted:#5b6472; --line:#e3e6eb;
  --brand:#0b6bcb; --brand-ink:#ffffff; --ok:#12794a; --warn:#a15c00; --bad:#b42318; --chip:#eef2f7;
  --radius:12px; --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0e1116; --card:#171b22; --ink:#e8ebf0; --muted:#9aa4b2; --line:#2a303a;
    --brand:#4c9bf0; --brand-ink:#08121f; --ok:#4cc38a; --warn:#e0a14a; --bad:#f08a80; --chip:#222834;
    --shadow:none;
  }
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100dvh}
h1{font-size:1.5rem;line-height:1.2;margin:0 0 .25rem;letter-spacing:-.01em}
h2{font-size:1.1rem;margin:0 0 .75rem}
p{margin:.25rem 0 1rem;color:var(--muted)}
.wrap{max-width:960px;margin:0 auto;padding:24px 16px 64px}
.center{min-height:100dvh;display:grid;place-items:center;padding:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.card.narrow{width:100%;max-width:400px}
label{display:block;font-size:.875rem;font-weight:600;margin:0 0 .35rem}
input[type=email],input[type=text]{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
input.code{font-size:1.5rem;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}
input:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
button{font:inherit;font-weight:600;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:10px 16px;min-height:44px;cursor:pointer}
button.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
button.danger{color:var(--bad)}
button.small{min-height:36px;padding:6px 12px;font-size:.875rem}
button:disabled{opacity:.5;cursor:default}
.stack>*+*{margin-top:16px}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.row.between{justify-content:space-between}
.msg{font-size:.9rem;min-height:1.3em;margin:0}
.msg.bad{color:var(--bad)} .msg.ok{color:var(--ok)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;margin-bottom:20px}
.logo{width:32px;height:32px;border-radius:8px;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-weight:800}
.qr{display:grid;place-items:center;padding:12px;background:#fff;border-radius:10px;width:fit-content;margin:0 auto}
.qr svg{display:block;width:200px;height:200px}
.secret{font:600 1rem ui-monospace,Consolas,monospace;letter-spacing:.08em;word-break:break-all;background:var(--chip);padding:10px 12px;border-radius:8px}
nav.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:16px 0 20px;overflow-x:auto}
nav.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted)}
nav.tabs button[aria-current=page]{color:var(--ink);border-bottom-color:var(--brand)}
nav.tabs button[disabled]{opacity:.45}
.chip{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--chip);font-size:.8rem;font-weight:600;margin:2px 4px 2px 0}
.chip.founder{background:var(--brand);color:var(--brand-ink)}
.list{display:grid;gap:0}
.person{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:14px 0;border-top:1px solid var(--line)}
.person:first-child{border-top:0}
.person .who{min-width:0;overflow-wrap:anywhere}
.person .sub{color:var(--muted);font-size:.875rem}
.checks{display:flex;gap:16px;flex-wrap:wrap}
.checks label{font-weight:500;display:flex;gap:8px;align-items:center;margin:0;min-height:36px}
dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);max-width:min(440px,calc(100vw - 32px));padding:24px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
dialog::backdrop{background:rgba(0,0,0,.45)}
.soon{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){button{transition:transform .12s ease-out}button:active{transform:scale(.97)}}
