:root{--bg:#0b0d10;--fg:#e6edf3;--muted:#8b949e;--accent:#2f81f7;--border:#30363d;--card:#161b22;--danger:#f85149;--ok:#3fb950;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page{max-width:720px;margin:0 auto;padding:3rem 1.25rem 4rem}h1{font-size:1.5rem;margin:0 0 .25rem}h1,h2{font-weight:600}h2{font-size:1.1rem;margin:2rem 0 .5rem}.sub{color:var(--muted);font-size:.85rem;margin:0 0 1.5rem}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}input[type=text]{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.5rem .7rem;font:inherit;width:14ch}input[type=text]:focus{outline:1px solid var(--accent);border-color:var(--accent)}button{background:var(--accent);color:white;border:none;border-radius:6px;padding:.5rem .9rem;font:inherit;cursor:pointer}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--card);border:1px solid var(--border)}.mono,code{font-family:inherit}.muted{color:var(--muted)}.ok{color:var(--ok)}.err{color:var(--danger)}.paircode{font-size:1.5rem;letter-spacing:.3em;font-weight:600;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.5rem .9rem;display:inline-block;-webkit-user-select:all;-moz-user-select:all;user-select:all}