:root{--ground: #101013;--panel: #16161b;--raised: #1d1d24;--line: rgba(255,255,255,.08);--line-strong: rgba(255,255,255,.14);--ink: #ece9e2;--muted: #8f8a7f;--faint: #605c54;--accent: #c0a062;--good: #7aa46f;--warn: #d2a24c;--bad: #c46f66;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--brand-primary: var(--accent);--brand-bg: var(--ground);--brand-ink: var(--ink)}:root[data-theme=light]{--ground: #f7f5f0;--panel: #fff;--raised: #f0ede6;--line: rgba(0,0,0,.09);--line-strong: rgba(0,0,0,.16);--ink: #23211c;--muted: #6b665c;--faint: #a49e92}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--brand-primary)}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.btn{border:1px solid var(--line-strong);background:var(--raised);color:var(--ink);border-radius:9px;padding:8px 14px;font-size:13px}.btn:hover{border-color:var(--brand-primary)}.btn.primary{background:var(--brand-primary);color:#12100a;border-color:transparent;font-weight:600}.btn.ghost{background:transparent}.center{min-height:100%;display:grid;place-items:center;padding:24px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;max-width:440px;width:100%}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:4px;font-weight:600;white-space:nowrap}.tag.rob{color:#a9d69f;background:#7aa46f29}.tag.spo{color:#e6c583;background:#d2a24c26}.tag.myt{color:#e39a92;background:#c46f6629}.spinner{width:22px;height:22px;border:2px solid var(--line-strong);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}.app{height:100%;display:flex;flex-direction:column}.picker{max-width:900px;margin:0 auto;padding:40px 20px}.picker h1{font-family:var(--serif);font-weight:600;font-size:24px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:20px}.project-tile{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--panel);cursor:pointer;text-align:left}.project-tile:hover{border-color:var(--brand-primary)}.project-tile .pt-logo{height:34px;margin-bottom:10px;object-fit:contain}.project-tile .pt-name{font-family:var(--serif);font-size:18px;font-weight:600}.project-tile .pt-tone{font-size:12.5px;color:var(--muted);margin-top:4px}.workspace{height:100%;display:grid;grid-template-columns:244px 1fr;background:var(--brand-bg)}.ws-rail{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel);min-height:0}.ws-main{display:flex;flex-direction:column;min-height:0;min-width:0}.ws-brand{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 14px 14px;border-bottom:1px solid var(--line);text-align:center}.ws-brand img.logo{max-width:130px;max-height:40px;object-fit:contain}.ws-brand .wm{display:flex;flex-direction:column;align-items:flex-end}.ws-brand .name{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--brand-primary)}.ws-brand .by{height:15px;opacity:.7;margin-top:3px}.rail-scroll{flex:1;overflow-y:auto;min-height:0}.rail-head{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:14px 14px 6px}.thread{display:flex;gap:9px;padding:9px 14px;cursor:pointer;border-left:2px solid transparent;align-items:flex-start;width:100%;text-align:left;background:none;border-top:0;border-right:0;border-bottom:0;color:var(--ink)}.thread:hover{background:#ffffff08}.thread.active{background:color-mix(in srgb,var(--brand-primary) 8%,transparent);border-left-color:var(--brand-primary)}.thread .st{margin-top:5px;width:7px;height:7px;border-radius:50%;flex:none}.st.live{background:var(--good);box-shadow:0 0 6px #7aa46fb3}.st.sleep{background:var(--faint)}.thread .tt{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread .meta{font-size:10.5px;color:var(--faint)}.rail-foot{border-top:1px solid var(--line);padding:10px 14px;display:flex;gap:8px;align-items:center}.newchat{margin:8px 14px}.chat-top{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--brand-bg);z-index:3}.chat-top .title{font-weight:600;font-size:13.5px}.chat-top .back{display:none}.msgs{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px;min-height:0}.msg{display:flex;gap:12px;max-width:760px}.msg .who{width:26px;height:26px;border-radius:7px;flex:none;display:grid;place-items:center;font-size:12px;font-weight:700}.msg.user .who{background:var(--raised);color:var(--muted)}.msg.assistant .who{background:color-mix(in srgb,var(--brand-primary) 16%,transparent);color:var(--brand-primary);border:1px solid var(--line);font-family:var(--serif)}.bubble{font-size:13.5px;white-space:pre-wrap;word-break:break-word}.bubble .know{margin-top:12px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;background:color-mix(in srgb,var(--brand-primary) 5%,transparent)}.bubble .know .kh{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:6px}.composer{display:flex;gap:10px;align-items:flex-end;padding:12px 18px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--brand-bg)}.composer textarea{flex:1;resize:none;background:var(--raised);border:1px solid var(--line-strong);border-radius:12px;color:var(--ink);padding:11px 13px;font:inherit;font-size:13.5px;max-height:160px}.composer .send{width:40px;height:40px;border-radius:10px;background:var(--brand-primary);color:#12100a;border:0;font-weight:700;flex:none}@media (max-width: 820px){.workspace{grid-template-columns:1fr}.ws-rail{display:none}.workspace.show-rail .ws-rail{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;width:100%}.chat-top .back{display:inline-flex}.msgs{padding:14px 10px}.composer{padding:10px}}
