*{margin:0;padding:0;box-sizing:border-box}:root{--navy-950:#050d24;--navy-900:#0a1633;--navy:#16346f;--teal:#00a8b8;--teal-ink:#06707c;--bg:#eef1f7;--card:#ffffff;--sunken:#e7ebf3;--ink:#0e1729;--muted:#4d5a72;--faint:#626f88;--line:#dde3ed;--ok:#0a7742;--danger:#c62231;--danger-bg:#fdecee;--danger-line:#f5c9ce;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--radius:10px;--shadow:0 1px 2px rgba(14,23,41,.06),0 8px 20px rgba(14,23,41,.06);--mono:ui-monospace,SFMono-Regular,Menlo,monospace}body{background:var(--bg);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.wrap{max-width:860px;margin:0 auto;padding:var(--s-5) var(--s-4) var(--s-6)}header.top{display:flex;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;padding-bottom:var(--s-4);border-bottom:1px solid var(--line);margin-bottom:var(--s-5)}header.top h1{font-size:1.25rem;letter-spacing:-.01em;color:var(--navy-900)}header.top .sub{color:var(--faint);font-size:.8125rem}header.top .spacer{flex:1 1}.pill{font-size:.75rem;font-family:var(--mono);padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted)}.pill.ok{color:var(--ok);border-color:#bfe3ce;background:#e8f6ee}.pill.bad{color:var(--danger);border-color:var(--danger-line);background:var(--danger-bg)}.thread{display:flex;flex-direction:column;gap:var(--s-4);margin-bottom:var(--s-5)}.msg{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.msg .who{display:flex;gap:var(--s-2);align-items:baseline;padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.msg .who b{color:var(--navy);letter-spacing:0;text-transform:none;font-size:.8125rem}.msg .body{padding:var(--s-4);white-space:pre-wrap;word-wrap:break-word}.msg.me{background:var(--sunken);box-shadow:none}.msg.err{border-color:var(--danger-line);background:var(--danger-bg)}.msg.err .body{color:var(--danger)}.composer{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--s-3)}.composer textarea{width:100%;min-height:96px;resize:vertical;border:0;outline:0;font:inherit;color:inherit;background:transparent;padding:var(--s-2)}.composer .row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;padding-top:var(--s-2);border-top:1px solid var(--line)}.composer button,.composer label.file,.composer select{font:inherit;font-size:.8125rem;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:6px 12px;cursor:pointer}.composer button.send{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.composer button.send:disabled{opacity:.5;cursor:default}.composer .spacer{flex:1 1}.composer select{min-width:0;max-width:100%;flex:0 1 auto;text-overflow:ellipsis}.composer input[type=file]{display:none}.composer.dragging{border-color:var(--navy);box-shadow:0 0 0 3px color-mix(in srgb,var(--navy) 18%,transparent)}.files{display:flex;flex-wrap:wrap;gap:var(--s-2);padding:var(--s-2) 0 0}.files .chip{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-family:var(--mono);background:var(--sunken);border:1px solid var(--line);border-radius:999px;padding:3px 6px 3px 10px}.files .chip button{border:0;background:transparent;cursor:pointer;color:var(--faint);font-size:.875rem;line-height:1;padding:0 4px}.files img{height:40px;width:40px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.hint{color:var(--faint);font-size:.75rem;margin-top:var(--s-3);font-family:var(--mono)}.pill.go{color:var(--teal-ink);border-color:#b7e4e9;background:#e6f7f9;text-decoration:none}.pill.go:hover{background:#d8f1f4}header.top a.pill{text-decoration:none}.doc section{margin-bottom:var(--s-6)}.doc h2{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding-bottom:var(--s-2);border-bottom:1px solid var(--line);margin-bottom:var(--s-4)}.doc h3{font-size:.9375rem;color:var(--navy-900);margin:var(--s-5) 0 var(--s-3)}.doc p{margin-bottom:var(--s-3);max-width:68ch}.doc ul{margin:0 0 var(--s-3) 1.1em;max-width:68ch}.doc li{margin-bottom:var(--s-2)}.doc p.note{color:var(--muted);font-size:.875rem}.doc code{font-family:var(--mono);font-size:.8125em;background:var(--sunken);border:1px solid var(--line);border-radius:5px;padding:1px 5px}.doc a{color:var(--teal-ink)}.doc .codewrap{position:relative;margin:0 0 var(--s-4)}.doc .codewrap pre{background:var(--navy-950);color:#dbe4f5;border-radius:var(--radius);padding:var(--s-4);padding-right:84px;overflow-x:auto}.doc .codewrap code{background:none;border:0;padding:0;color:inherit;font-size:.8125rem;line-height:1.6}.doc .copy{position:absolute;top:10px;right:10px;z-index:1;font:inherit;font-size:.6875rem;font-family:var(--mono);cursor:pointer;color:#9fb0cf;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:4px 9px}.doc .copy:hover{color:#fff;background:rgba(255,255,255,.14)}.doc table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:var(--s-4);font-size:.875rem}.doc td,.doc th{text-align:left;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);vertical-align:top}.doc th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);background:var(--sunken)}.doc tr:last-child td{border-bottom:0}.doc td b.ok{color:var(--ok)}.doc td b.bad{color:var(--danger)}@media (max-width:620px){.doc table{display:block;overflow-x:auto;white-space:nowrap}.doc td,.doc th{white-space:normal;min-width:7rem}}.doc .foot{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:baseline;padding-top:var(--s-4);border-top:1px solid var(--line);color:var(--faint);font-size:.8125rem}.doc .foot .spacer{flex:1 1}.sessionbar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-4);font-size:.8125rem;color:var(--muted)}.sessionbar .spacer{flex:1 1}.sessionbar .muted{color:var(--faint)}.sessionbar .tag{font-family:var(--mono);font-size:.75rem;padding:3px 9px;border-radius:999px;background:#e6f7f9;border:1px solid #b7e4e9;color:var(--teal-ink)}.sessionbar .tag.closed{background:var(--sunken);border-color:var(--line);color:var(--faint)}.sessionbar button,.sessionbar select{font:inherit;font-size:.75rem;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:5px 10px;cursor:pointer;max-width:100%}