:root{--bg:#ffffff;--fg:#111111;--muted:#6b6b6b;--line:#e6e6e6;--accent:#e11616;--accent-fg:#ffffff}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a,body,html{color:var(--fg)}a{text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.6rem}h2{font-size:1.15rem}.container{max-width:820px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.center{min-height:100vh;display:grid;place-items:center;padding:1rem}.card{border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.25rem;margin:1rem 0}.stack{display:grid;grid-gap:.6rem;gap:.6rem}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}input,select,textarea{font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--fg);width:100%}textarea{min-height:90px}.btn{font:inherit;cursor:pointer;padding:.55rem .9rem;border:1px solid var(--fg);border-radius:8px;background:#fff;color:var(--fg)}.btn:hover{background:#f4f4f4}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-accent:hover{filter:brightness(.92)}.btn-link{font:inherit;background:none;border:none;color:var(--accent);cursor:pointer;padding:0}.muted{color:var(--muted)}.error{color:var(--accent)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;background:#f6f6f6;padding:.5rem .6rem;border-radius:6px}.brand{font-weight:800;letter-spacing:-.02em}.topbar{display:flex;gap:1rem;align-items:center;padding:.8rem 1.25rem;border-bottom:2px solid var(--fg)}.topbar .brand{color:var(--accent);margin-right:.5rem}.topbar-right{margin-left:auto}.table{width:100%;border-collapse:collapse;margin-top:1rem}.table td,.table th{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--line)}.table th{font-size:.85rem;color:var(--muted)}.list{list-style:none;padding:0}.list li{padding:.6rem 0;border-bottom:1px solid var(--line)}.thread{display:grid;grid-gap:.4rem;gap:.4rem;margin:1rem 0}.bubble{max-width:75%;padding:.5rem .7rem;border-radius:10px;border:1px solid var(--line)}.bubble.in{justify-self:start;background:#f4f4f4}.bubble.out{justify-self:end;background:#111;color:#fff}.bubble .status{font-size:.7rem;opacity:.6;margin-left:.5rem}.live{border-top:1px dashed var(--line);margin-top:1rem;padding-top:.6rem}