:root{--bg:#0b100e;--bg-elev:#121a16;--panel:#162019;--line:#2a3a32;--text:#e8efe9;--muted:#8a9a90;--accent:#c8f542;--inbound:#243029;--outbound:#2f6b52;--danger:#e87a6a;--ok:#7ddea8;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Schibsted Grotesk,system-ui,sans-serif;line-height:1.35}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%, #1a2a20 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #182018 0%, transparent 45%), var(--bg)}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}.app{grid-template-rows:auto 1fr;gap:16px;max-width:1200px;height:100%;margin:0 auto;padding:20px 18px 16px;display:grid}.brand{gap:4px;display:grid}.brand h1{letter-spacing:-.02em;margin:0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:400;line-height:1.05}.brand h1 em{color:var(--accent);font-style:italic}.brand p{color:var(--muted);max-width:42ch;margin:0;font-size:.92rem}.shell{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-elev) 88%, black);border-radius:18px;grid-template-columns:minmax(240px,320px) 1fr;gap:12px;height:calc(100vh - 140px);min-height:0;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}.sidebar-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.sidebar-head span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.refresh{border:1px solid var(--line);color:var(--text);border-radius:999px;padding:6px 10px;font-size:.78rem;transition:background .16s,border-color .16s}.refresh:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.thread-list{flex-direction:column;gap:6px;padding:8px;display:flex;overflow:auto}.thread{text-align:left;border:1px solid #0000;border-radius:12px;padding:12px 12px 11px;transition:background .14s,border-color .14s,transform .18s}.thread:hover{background:#ffffff0a}.thread.active{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.thread-top{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.thread-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.thread-when{color:var(--muted);flex:none;font-size:.72rem}.thread-preview{color:color-mix(in srgb, var(--text) 72%, var(--muted));-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:7px;font-size:.8rem;line-height:1.3;display:-webkit-box;overflow:hidden}.thread-meta{color:var(--muted);flex-wrap:wrap;gap:6px 10px;font-size:.72rem;display:flex}.pill{align-items:center;gap:4px;display:inline-flex}.pill .dot{background:var(--ok);border-radius:50%;width:6px;height:6px}.pill.stopped .dot{background:var(--danger)}.chat{grid-template-rows:auto 1fr;min-width:0;min-height:0;display:grid}.chat-head{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding:14px 18px;display:flex}.chat-head strong{font-size:1.05rem}.chat-head span{color:var(--muted);font-size:.8rem}.messages{background:linear-gradient(#0000,#0000002e),repeating-linear-gradient(-12deg,#0000 0 18px,#ffffff03 18px 19px);flex-direction:column;gap:8px;padding:18px 16px 24px;display:flex;overflow:auto}.row{flex-direction:column;max-width:min(78%,520px);animation:.28s both rise;display:flex}.row.out{align-self:flex-end;align-items:flex-end}.row.in{align-self:flex-start;align-items:flex-start}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:18px;padding:10px 13px;font-size:.95rem}.row.out .bubble{background:var(--outbound);color:#f3fff8;border-bottom-right-radius:6px}.row.in .bubble{background:var(--inbound);color:var(--text);border-bottom-left-radius:6px}.time{color:var(--muted);margin-top:3px;padding:0 4px;font-size:.68rem}.empty,.error,.loading{color:var(--muted);text-align:center;max-width:28ch;margin:auto;padding:24px}.error{color:var(--danger)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=820px){.shell{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 130px)}.sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:240px}}
