:root{--ground:#fff;--surface:#f7f8f8;--surface-sunken:#eff1f1;--border:#e2e5e5;--border-strong:#cbd0d0;--ink:#101414;--ink-muted:#5a6363;--ink-faint:#6b7373;--accent:#5b3fd1;--accent-deep:#452fa6;--accent-wash:#f0ecfd;--terminal-ground:#0e1116;--terminal-ink:#d6dbe2;--terminal-muted:#8b95a1;--ok:#0e7c4a;--ok-wash:#eaf6f0;--danger:#b4231b;--danger-wash:#fdf0ef;--s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:64px;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-pill:999px;--sans:"Public Sans", system-ui, -apple-system, sans-serif;--mono:"Spline Sans Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}body{background:var(--surface);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.55}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--accent-deep)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.mono{font-family:var(--mono)}h1{letter-spacing:-.025em;font-size:clamp(1.625rem,3vw,2.125rem);font-weight:800;line-height:1.1}h2{letter-spacing:-.015em;font-size:1.1875rem;font-weight:700}.sub{margin-top:var(--s3);color:var(--ink-muted);max-width:56ch}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--s3);font-size:.6875rem;font-weight:600}.mark__lane{fill:var(--ink)}.mark__lane--offset{fill:var(--accent)}.wordmark{color:var(--ink);align-items:center;gap:9px;text-decoration:none;display:inline-flex}.wordmark__text{letter-spacing:-.035em;font-size:1.1875rem;font-weight:800}.wordmark .mark{flex:none;display:block}.gate{min-height:100dvh;padding:var(--s4);background:var(--surface);place-items:center;display:grid}.card{background:var(--ground);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s6);width:100%;max-width:420px}.card .wordmark{margin-bottom:var(--s6)}.card h1{font-size:1.625rem}.card form{margin-top:var(--s5)}.gh{width:100%;font-family:var(--sans);background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--r-md);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:1rem;font-weight:600;transition:background-color .12s ease-out;display:flex}.gh:hover{background:#000}.err{margin-top:var(--s3);background:var(--danger-wash);border-radius:var(--r-md);color:var(--danger);padding:10px 12px;font-size:.9375rem}.err:empty{display:none}.fine{margin-top:var(--s4);color:var(--ink-faint);font-size:.8125rem;line-height:1.5}.bar{justify-content:space-between;align-items:center;gap:var(--s4);padding:10px var(--s4);background:var(--ground);border-bottom:1px solid var(--border);display:flex}.who{align-items:center;gap:6px;display:flex}.navlink{color:var(--ink-muted);border-radius:var(--r-md);align-items:center;gap:7px;padding:7px 11px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .12s ease-out,color .12s ease-out;display:inline-flex}.navlink:hover{background:var(--surface);color:var(--ink)}.navlink svg{color:var(--ink-faint);transition:color .12s ease-out}.navlink:hover svg{color:var(--accent)}.who__rule{background:var(--border);width:1px;height:20px;margin:0 4px}.who__id{align-items:center;gap:8px;min-width:0;padding:3px 4px 3px 3px;display:inline-flex}.avatar{border-radius:var(--r-pill);background:var(--accent-wash);width:26px;height:26px;color:var(--accent-deep);flex:none;place-items:center;font-size:.75rem;font-weight:700;line-height:1;display:grid}.who__email{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;max-width:26ch;font-size:.875rem;overflow:hidden}.iconbtn{border-radius:var(--r-md);width:32px;height:32px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;place-items:center;transition:background-color .12s ease-out,color .12s ease-out;display:inline-grid}.iconbtn:hover{background:var(--surface);color:var(--ink)}.wrap{max-width:1040px;padding:var(--s6) var(--s4) var(--s7);margin:0 auto}.crumbs{color:var(--ink-faint);margin-bottom:var(--s3);font-size:.875rem}.crumbs a{color:var(--ink-muted);text-decoration:none}.crumbs a:hover{color:var(--accent);text-decoration:underline}.panel{background:var(--ground);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);margin-top:var(--s4)}.panel h2{margin-bottom:var(--s2)}.panel .hint{color:var(--ink-muted);margin-bottom:var(--s4);max-width:64ch;font-size:.9375rem}table.list{border-collapse:collapse;width:100%;font-size:.9375rem}table.list th,table.list td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:11px 16px 11px 0}table.list th{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);border-bottom-color:var(--border-strong);white-space:nowrap;font-size:.6875rem;font-weight:600}table.list td.mono{font-size:.8125rem}table.list td:has([data-reveal]){min-width:26ch}table.list td [data-val]{vertical-align:middle;overflow-wrap:anywhere;max-width:24ch;display:inline-block}table.list tr:last-child td{border-bottom:none}.rowform{gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;display:flex}.rowform:empty{display:none}.rowform input,.rowform select{font-family:var(--sans);color:var(--ink);background:var(--ground);border:1px solid var(--border-strong);border-radius:var(--r-md);min-width:0;padding:10px 12px;font-size:.9375rem;transition:border-color .12s ease-out}.rowform input::placeholder{color:var(--ink-faint)}.rowform input:focus-visible,.rowform select:focus-visible{border-color:var(--accent)}.rowform input.grow{flex:200px}.rowform button{font-family:var(--sans);background:var(--accent);color:#fff;border-radius:var(--r-md);cursor:pointer;white-space:nowrap;border:none;padding:10px 18px;font-size:.9375rem;font-weight:600;transition:background-color .12s ease-out}.rowform button:hover:not(:disabled){background:var(--accent-deep)}.rowform button:disabled{background:var(--surface-sunken);color:var(--ink-faint);cursor:default}.tiles{gap:var(--s3);margin-top:var(--s4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}a.tile{color:inherit;background:var(--ground);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);text-decoration:none;transition:border-color .12s ease-out,background-color .12s ease-out;display:block}a.tile:hover{border-color:var(--accent);background:var(--accent-wash);color:inherit}.tile b{letter-spacing:-.01em;font-size:1.0625rem;font-weight:600}.tile-meta{color:var(--ink-faint);margin-top:5px;font-size:.8125rem;display:block}.pill{letter-spacing:.07em;text-transform:uppercase;background:var(--surface-sunken);color:var(--ink-muted);border-radius:var(--r-pill);vertical-align:middle;margin-left:8px;padding:3px 9px;font-size:.6875rem;font-weight:600;display:inline-block}.danger{font-family:var(--sans);color:var(--danger);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:.9375rem;font-weight:500;text-decoration:underline #0000;transition:text-decoration-color .12s ease-out}.danger:hover{text-decoration-color:currentColor}.reveal{background:var(--ground);border:1px solid var(--border-strong);border-radius:var(--r-sm);font-family:var(--sans);color:var(--ink-muted);cursor:pointer;padding:3px 9px;font-size:.75rem;font-weight:500;transition:border-color .12s ease-out,color .12s ease-out}.reveal:hover{border-color:var(--ink-faint);color:var(--ink)}.msg{margin-top:var(--s3);min-height:1.4em;font-size:.9375rem}.msg.ok{color:var(--ok)}.msg.err{color:var(--danger)}.copybox{gap:var(--s2);background:var(--terminal-ground);color:var(--terminal-ink);border-radius:var(--r-lg);font-family:var(--mono);margin-top:var(--s3);word-break:break-all;align-items:center;padding:12px 14px;font-size:.8125rem;display:flex}.devnote{color:var(--ink-faint);margin-top:var(--s4);font-size:.8125rem}@media (width<=700px){.bar{padding:var(--s3);gap:var(--s2) var(--s3);flex-wrap:wrap}.who{gap:var(--s3);flex-wrap:wrap;font-size:.875rem}.who .mono{text-overflow:ellipsis;white-space:nowrap;max-width:46vw;overflow:hidden}.wrap{padding:var(--s5) var(--s3) var(--s6)}.panel{padding:var(--s4)}.rowform input,.rowform select{flex:100%}.rowform button{width:100%}table.list{display:block;overflow-x:auto}.card{padding:var(--s5)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}
