:root{color-scheme:dark;--bg: #000;--bg-2: #070707;--line: #161616;--ink: #ececec;--mute: #6a6a6a;--sage: #8ba87a;--sage-dim: #5e7a52;--danger: #c45c4a;--radius: 10px;--font: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;letter-spacing:-.011em;-webkit-font-smoothing:antialiased}button,textarea,input,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}textarea,input,select{background:transparent;border:0;outline:none}::selection{background:color-mix(in srgb,var(--sage) 35%,transparent)}.app{display:grid;grid-template-columns:232px minmax(0,1fr);height:100%}.rail{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--bg);min-height:0}.brand{display:flex;align-items:center;gap:10px;padding:16px 14px 12px}.brand img{width:28px;height:28px;border-radius:7px;object-fit:cover}.brand strong{font-size:13px;font-weight:560;letter-spacing:.04em;text-transform:uppercase}.bots{flex:1;min-height:0;overflow:auto;padding:4px 8px 12px}.bot{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:8px;border-radius:8px;text-align:left}.bot:hover{background:#0d0d0d}.bot.on{background:#111}.bot img{width:36px;height:36px;border-radius:50%;object-fit:cover}.bot .copy{display:grid;min-width:0}.bot .name{font-size:13px;font-weight:500}.bot .meta{color:var(--mute);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-foot{display:flex;gap:6px;padding:10px 10px 12px;border-top:1px solid var(--line)}.ghost{flex:1;height:32px;border-radius:8px;color:var(--mute);font-size:12px}.ghost:hover{background:#111;color:var(--ink)}.stage{display:grid;grid-template-rows:48px minmax(0,1fr) auto;min-width:0;min-height:0}.top{display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--line)}.top h1{margin:0;font-size:13px;font-weight:550}.grow{flex:1}.chip,.model{height:28px;padding:0 10px;border:1px solid #2a2a2a;border-radius:999px;color:var(--mute);font-family:var(--mono);font-size:11px}.model{max-width:280px;appearance:none;background:var(--bg)}.thread{overflow:auto;padding:28px 22% 32px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:14px;color:var(--mute)}.empty img{width:72px;height:72px;border-radius:18px;object-fit:cover;opacity:.92}.msg{margin:0 0 22px;max-width:72ch}.msg.user{margin-left:auto;color:#d4d4d4}.msg.assistant{color:var(--ink)}.msg p{margin:0;white-space:pre-wrap;line-height:1.55}.msg .err{color:var(--danger)}.wait{display:inline-grid;grid-template-columns:repeat(3,4px);gap:1.5px;margin-right:8px;vertical-align:middle}.wait i{width:4px;height:4px;border-radius:1px;background:var(--sage);opacity:.18;animation:pixel .72s ease-in-out infinite}.wait i:nth-child(2){animation-delay:90ms}.wait i:nth-child(3){animation-delay:.18s}.wait i:nth-child(4){animation-delay:90ms}.wait i:nth-child(5){animation-delay:.18s}.wait i:nth-child(6){animation-delay:.27s}.wait i:nth-child(7){animation-delay:.18s}.wait i:nth-child(8){animation-delay:.27s}.wait i:nth-child(9){animation-delay:.36s}@keyframes pixel{50%{opacity:1}}.dock{padding:0 18% 18px}.composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 10px 16px;border:1px solid var(--line);border-radius:16px;background:var(--bg-2)}.composer textarea{flex:1;resize:none;min-height:24px;max-height:160px;line-height:1.45;padding:4px 0}.composer textarea::placeholder{color:#3f3f3f}.send{width:32px;height:32px;border-radius:50%;background:var(--sage);color:#081109;flex:none}.send:disabled{background:#1a1a1a;color:#444}.veil{position:fixed;inset:0;background:#000c;display:grid;place-items:center;z-index:20}.sheet{width:min(420px,calc(100vw - 32px));padding:22px;border:1px solid var(--line);border-radius:14px;background:#080808}.sheet h2{margin:0 0 18px;font-size:13px;font-weight:550;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.field{display:grid;gap:6px;margin-bottom:14px}.field span{font-size:11px;color:var(--mute)}.field input,.field select{height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#000}.done{width:100%;height:36px;margin-top:6px;border-radius:8px;background:var(--sage);color:#081109;font-weight:560}@media(max-width:720px){.app{grid-template-columns:1fr}.rail{display:none}.thread,.dock{padding-inline:16px}}
