:root { color-scheme: dark; --bg:#0b0d12; --panel:#121620; --panel2:#181d29; --line:#293042; --text:#ecedf2; --muted:#969eb1; --red:#e4504f; --gold:#e8b86d; --green:#62c995; }
* { box-sizing:border-box; }
html,body { height:100%; }
body { margin:0; height:100vh; height:100dvh; overflow:hidden; background:radial-gradient(circle at 50% -20%,#2a1520 0,#0b0d12 38%); color:var(--text); font:14px/1.45 Inter,Segoe UI,sans-serif; }
button,textarea,input,select { font:inherit; }
button { border:0; border-radius:9px; padding:9px 13px; background:var(--red); color:white; cursor:pointer; font-weight:650; }
button:hover { filter:brightness(1.1); } button.secondary { background:#242b3b; color:#d8dbe4; }
.topbar { height:70px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; border-bottom:1px solid var(--line); background:rgba(11,13,18,.86); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:12px; }.brand h1 { margin:0; font-size:22px; letter-spacing:.4px; }.brand p { margin:1px 0 0; color:var(--muted); font-size:12px; }.star { color:var(--red); font-size:30px; text-shadow:0 0 24px #ef535080; }
.trust { color:var(--muted); font-size:12px; }.trust.ok { color:var(--green); }
.shell { --rail-col:230px; --work-col:300px; display:grid; grid-template-columns:var(--rail-col) minmax(400px,1fr) var(--work-col); height:calc(100vh - 70px); height:calc(100dvh - 70px); min-height:0; overflow:hidden; transition:grid-template-columns .22s ease; }
.shell.rooms-collapsed { --rail-col:0px; }
.shell.work-collapsed { --work-col:0px; }
.rail,.workbar { min-width:0; background:rgba(18,22,32,.84); padding:17px 13px; overflow:auto; transition:opacity .18s ease,padding .22s ease,border-color .22s ease,transform .22s ease; }.rail { border-right:1px solid var(--line); }.workbar { border-left:1px solid var(--line); }
.shell.rooms-collapsed .rail,.shell.work-collapsed .workbar { opacity:0; pointer-events:none; overflow:hidden; padding-left:0; padding-right:0; border-color:transparent; }
.section-title { display:flex; justify-content:space-between; align-items:center; color:#aab0bf; text-transform:uppercase; font-size:11px; letter-spacing:1.2px; margin:5px 7px 10px; }
.section-title button { padding:1px 7px; background:transparent; color:var(--muted); font-size:18px; }
.section-actions { display:flex; align-items:center; gap:6px; }
.section-toggle { padding:5px 8px !important; border:1px solid #30384a; border-radius:999px !important; font-size:10px !important; letter-spacing:.3px; text-transform:none; background:#1a2130 !important; color:#ccd2dd !important; }
.room { display:block; width:100%; text-align:left; background:transparent; color:#c8ccd6; padding:10px; margin-bottom:4px; }.room.active { background:#252b39; color:white; box-shadow:inset 3px 0 var(--red); }.room small { display:block; color:var(--muted); font-weight:400; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.person { display:flex; align-items:center; gap:9px; padding:7px; }.person-copy{min-width:0;flex:1}.avatar { width:28px; height:28px; border-radius:50%; background:#293043; display:grid; place-items:center; color:var(--gold); font-weight:700; }.person small { display:block; color:var(--muted); }.model-select{display:block;width:100%;max-width:150px;margin-top:4px;padding:3px 5px;border:1px solid #343b4c;border-radius:6px;background:#10141d;color:#dfe2e9;font-size:10px}.dot { margin-left:auto; width:7px; height:7px; border-radius:50%; background:#778094; }.dot.status-available,.dot.status-present{background:var(--green)}.dot.status-working{background:var(--gold)}.dot.status-waiting{background:#7ca4ff}.dot.status-unavailable{background:#6f7480}.dot.status-error{background:#df6b6b}
.conversation { min-width:0; min-height:0; height:100%; overflow:hidden; display:flex; flex-direction:column; }
.room-header { flex:0 0 auto; padding:18px 22px; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); gap:12px; }
.room-header h2 { margin:0; font-size:20px; }
.room-header p { margin:3px 0 0; color:var(--muted); }
.room-controls{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.panel-toggle-group{display:flex;gap:8px;flex-wrap:wrap}
.panel-chip{padding:8px 11px !important;border:1px solid #30384a;background:#1a2130 !important;color:#cbd0dc !important}
.panel-chip.active{background:#352027 !important;border-color:#87414d;color:#fff1f1 !important}
.room-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.rolling-chat,.pinned-decisions{flex:0 1 auto;margin:10px max(24px,8%) 0;border-radius:10px}.rolling-chat{padding:11px 12px;border:1px solid #36506c;background:#16202d;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.rolling-chat[hidden],.pinned-decisions[hidden]{display:none}.rolling-chat strong{display:block;color:#d7ebff}.rolling-chat span,.rolling-chat small{color:#a9bfd4;font-size:11px}.rolling-chat-actions{display:flex;gap:8px;flex-shrink:0}.rolling-chat button{padding:6px 10px;font-size:11px}.pinned-decisions{max-height:min(34vh,260px);overflow:auto;border:1px solid #4b4333;background:#1e1b17}.pinned-decisions summary{padding:9px 12px;color:var(--gold);font-weight:650;cursor:pointer}.pin-list{padding:0 10px 8px}.pin{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;border-top:1px solid #393429}.pin p{margin:3px 0;color:#dcdee5;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pin small,.pin-actions span{color:var(--muted);font-size:10px}.pin-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.pin-actions button{padding:5px 8px;font-size:10px}.attention{flex:0 1 auto;margin:10px max(24px,8%) 0;max-height:26vh;overflow:auto;padding:10px 12px;border:1px solid #7a5730;background:#2b2118;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.attention[hidden]{display:none}.attention strong{display:block;color:#ffd28a}.attention span{color:#bdb3a4;font-size:11px}.attention button{padding:6px 9px;background:#71502a;font-size:11px;white-space:nowrap}
.messages { flex:1 1 0; min-width:0; min-height:0; height:0; overflow-x:hidden; overflow-y:scroll; overscroll-behavior:contain; scrollbar-gutter:stable; padding:22px max(24px,8%); touch-action:pan-y; }.message { display:grid; grid-template-columns:38px minmax(0,1fr); gap:11px; margin-bottom:20px; border-radius:8px; transition:background .25s; }.message .avatar { width:38px;height:38px;}.message-head { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }.message-head strong { font-size:14px; }.message-head time { color:var(--muted); font-size:11px; }.agent-status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid #394055;background:#1b2231;color:#d8dce6;font-size:10px;letter-spacing:.25px;text-transform:uppercase}.agent-status-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#6f7480}.agent-status-badge.status-ready::before,.agent-status-badge.status-available::before{background:var(--green)}.agent-status-badge.status-working::before{background:var(--gold)}.agent-status-badge.status-waiting::before{background:#7ca4ff}.agent-status-badge.status-absent::before,.agent-status-badge.status-unavailable::before,.agent-status-badge.status-error::before{background:#df6b6b}.pin-message{margin-left:auto;padding:3px 7px;font-size:10px;background:transparent!important;color:var(--muted)!important;opacity:0}.message:hover .pin-message,.pin-message:focus,.pin-message:disabled{opacity:1}.pin-message:disabled{cursor:default;color:var(--gold)!important}.message-body { margin-top:4px; color:#dcdee5; white-space:pre-wrap; overflow-wrap:anywhere; }.reply-note { color:var(--muted); font-size:11px; margin-bottom:3px; }.source-highlight{animation:source-highlight 1.8s ease-out}@keyframes source-highlight{0%{background:#6b522e99}100%{background:transparent}}
.composer { position:relative; z-index:5; flex:none; min-height:126px; margin:0 max(24px,8%) 14px; border:1px solid #353d50; border-radius:12px; background:var(--panel2); overflow:hidden; box-shadow:0 -8px 24px #0b0d1288; }.composer textarea { display:block; width:100%; min-height:62px; resize:none; border:0; outline:0; padding:14px; color:white; background:transparent; }.compose-footer { display:flex; align-items:center; justify-content:space-between; padding:8px 10px 10px 14px; color:var(--muted); font-size:11px; }.mention-picker{display:flex;gap:6px;align-items:center;padding:9px 12px 0;color:var(--muted);font-size:11px;flex-wrap:wrap}.mention-chip{padding:4px 8px;background:#252c3b;color:#cbd0dc;border:1px solid #3a4357;border-radius:20px}.mention-chip.selected{background:#624626;color:#ffe0a2;border-color:var(--gold)}.delivery-note{margin-top:7px;color:var(--muted);font-size:10px}
.project-pulse,.thread-card,.objective,.artifact { border:1px solid var(--line); background:#171c27; border-radius:10px; padding:11px; margin-bottom:9px; }.project-pulse h4,.thread-card h4,.objective h4,.artifact h4 { margin:0 0 5px; }.project-pulse p,.thread-card p,.objective p,.artifact p { margin:0;color:var(--muted);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;}.project-pulse small,.thread-card small{display:block;margin-top:7px;color:#b8bdc9;font-size:11px}.thread-card button{margin-top:8px;padding:5px 8px;font-size:11px}.project-pulse-banner{margin:10px max(24px,8%) 0}.project-pulse-banner[hidden]{display:none}.project-pulse-evidence{margin-top:7px;padding-top:7px;border-top:1px solid #2d3344}.project-pulse-evidence strong{color:#dbe7ff}.project-pulse[data-status="stalled"]{border-color:#7a5730;background:#231b14}.project-pulse[data-status="complete"]{border-color:#36506c;background:#16202d}.project-pulse[data-status="active"]{border-color:#3c465b}.project-pulse[data-status="idle"]{border-color:#2f3648;background:#151a24}.badge { display:inline-block; margin-top:8px; padding:3px 7px; border-radius:20px; background:#282f40; color:#cbd0dc; font-size:10px; text-transform:uppercase; }.assignments { margin-top:8px; color:#b8bdc9; font-size:11px; }
.objective-actions { display:flex; gap:6px; margin-top:10px; }.objective-actions button { padding:5px 8px; font-size:11px; }.objective-actions select { min-width:0; flex:1; border:1px solid #343b4c; border-radius:7px; background:#10141d; color:#dfe2e9; font-size:11px; }
.empty { padding:18px 8px; color:var(--muted); text-align:center; font-size:12px; }
dialog { width:min(480px,90vw); border:1px solid var(--line); border-radius:14px; color:var(--text); background:#171b25; box-shadow:0 30px 80px #000b; } dialog::backdrop { background:#05060aab; }.dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; } dialog label { display:block; color:#b8becc; margin:12px 0 5px; } dialog input,dialog textarea,dialog select { width:100%; padding:10px; border-radius:8px; border:1px solid #343b4c; color:white; background:#10141d; }.checkbox-list{display:grid;gap:8px;margin-top:10px}.checkbox-list label{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border:1px solid #343b4c;border-radius:8px;background:#10141d}.checkbox-list input{width:auto;margin:0}
.toast { position:fixed; right:20px; bottom:20px; padding:11px 15px; background:#2b3140; border:1px solid #444d62; border-radius:9px; box-shadow:0 10px 30px #0008; }
.panel-scrim{position:fixed;inset:70px 0 0 0;border:0;background:rgba(5,7,11,.58);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:15}
body.panel-open .panel-scrim{opacity:1;pointer-events:auto}
@media(max-width:900px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .shell.rooms-collapsed,.shell.work-collapsed{grid-template-columns:minmax(0,1fr)}
  .conversation{grid-column:1}
  .rail,.workbar{position:fixed;top:70px;bottom:0;z-index:20;width:min(82vw,320px);max-width:320px;background:rgba(18,22,32,.97);padding:18px 14px;opacity:1;border-color:var(--line)}
  .rail{left:0;transform:translateX(-104%)}
  .workbar{right:0;transform:translateX(104%)}
  .shell.rooms-collapsed .rail,.shell.work-collapsed .workbar{opacity:1;padding:18px 14px;border-color:var(--line)}
  .shell.rooms-open .rail{transform:translateX(0);pointer-events:auto;box-shadow:24px 0 48px rgba(0,0,0,.35)}
  .shell.work-open .workbar{transform:translateX(0);pointer-events:auto;box-shadow:-24px 0 48px rgba(0,0,0,.35)}
  .rooms{display:block}
  .room{width:100%;margin-bottom:4px}
}
@media(max-width:650px){
  body{font-size:15px}.topbar{height:58px;padding:0 10px;gap:8px}.brand{gap:7px}.brand h1{font-size:18px}.brand p,.star,.trust,#viewer-name{display:none}.account-bar{gap:5px;margin-left:auto}.account-bar button{min-height:40px;padding:8px 10px;font-size:12px}#live-status{font-size:10px;white-space:nowrap}
  .shell{grid-template-columns:1fr;height:calc(100dvh - 58px)}
  .rail,.workbar{top:58px;width:min(88vw,320px)}
  .panel-scrim{inset:58px 0 0 0}
  .rail{padding:14px 10px;display:block;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--line);border-bottom:0;background:rgba(18,22,32,.98)}.rail .section-title,.participants{display:flex}.rooms{display:block;min-width:0}.room{width:100%;min-height:0;margin:0 0 4px;padding:10px;border:0;border-radius:10px;background:transparent;white-space:normal}.room.active{box-shadow:inset 3px 0 var(--red);border-color:transparent;background:#252b39}.room small{display:block}
  .conversation{height:100%;min-height:0}.room-header{padding:6px 9px;gap:6px;display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.room-header h2{font-size:17px}.room-header p{display:none}.session-history{margin-top:0;font-size:10px;max-width:42vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-controls{gap:6px}.panel-toggle-group{overflow-x:auto;padding-bottom:1px}.panel-chip{min-height:34px;padding:5px 10px !important;font-size:10px !important;border-radius:18px !important;white-space:nowrap}.room-actions{margin:0;display:flex;justify-content:flex-start;gap:4px;flex-wrap:nowrap;overflow-x:auto}.room-actions button{min-height:34px;padding:5px 7px;font-size:10px;border-radius:18px;white-space:nowrap}.room-actions #new-session{grid-column:auto}
  .rolling-chat,.pinned-decisions,.attention{margin:7px 9px 0}.rolling-chat{flex-direction:column;padding:9px}.rolling-chat-actions{width:100%}.rolling-chat-actions button{width:100%;min-height:40px}.attention{align-items:flex-start;flex-direction:column}.attention button{width:100%;min-height:40px}
  .messages{padding:12px 10px 8px;scrollbar-gutter:auto}.message{grid-template-columns:32px minmax(0,1fr);gap:8px;margin-bottom:17px}.message .avatar{width:32px;height:32px}.message-head{flex-wrap:wrap;gap:4px 7px}.message-head time{font-size:10px}.message-body{font-size:15px;line-height:1.48}.pin-message{display:none}
  .composer{min-height:0;margin:0;border-radius:12px 12px 0 0;border-left:0;border-right:0;border-bottom:0;box-shadow:0 -5px 18px #0008;padding-bottom:env(safe-area-inset-bottom)}.mention-picker{padding:7px 8px 0;gap:5px;overflow-x:auto;flex-wrap:nowrap}.mention-picker>span{display:none}.mention-chip{min-height:36px;white-space:nowrap;padding:6px 10px}.composer textarea{min-height:54px;max-height:120px;padding:10px 12px;font-size:16px}.compose-footer{padding:6px 8px 8px 12px}.compose-footer button{min-width:82px;min-height:42px}
  dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);padding:16px;overflow:auto;border-radius:12px}dialog input,dialog textarea,dialog select{font-size:16px;min-height:44px}.dialog-actions{position:sticky;bottom:-16px;margin:16px -16px -16px;padding:10px 16px;background:#171b25;border-top:1px solid var(--line)}.dialog-actions button{min-height:44px;flex:1}.archive-dialog{min-width:0;max-height:none}.archive-messages div{grid-template-columns:1fr}.toast{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));text-align:center}
}
@media(max-width:430px){.room-header{grid-template-columns:1fr}.room-header>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.room-actions{justify-content:flex-start;overflow-x:auto;padding-bottom:1px}.room-actions button{flex:0 0 auto}.account-bar #sound-toggle{font-size:0}.account-bar #sound-toggle::first-letter{font-size:16px}}
.session-history{border:0;background:transparent;color:var(--muted);padding:0;margin-top:.35rem;font-size:.8rem;text-align:left;cursor:pointer}.session-history:hover{text-decoration:underline}.archive-dialog{min-width:min(720px,85vw);max-height:75vh;overflow:auto}.archive-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.archive-session{padding:1rem 0;border-bottom:1px solid var(--line)}.archive-session h4{margin:0 0 .3rem}.archive-session p{color:var(--muted)}.archive-messages{display:grid;gap:.6rem;margin-top:.7rem}.archive-messages div{display:grid;grid-template-columns:8rem 1fr;gap:.7rem;padding:.6rem;background:rgba(255,255,255,.03);border-radius:.5rem}.archive-messages span{white-space:pre-wrap;overflow-wrap:anywhere}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at top,#261332,#090a12 60%)}.login-card{width:min(420px,100%);display:grid;gap:.8rem;padding:2rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel);box-shadow:0 1.5rem 4rem rgba(0,0,0,.4)}.login-card h1,.login-card p{margin:0}.login-card input{font-size:1.05rem;padding:.85rem}.login-star{font-size:2.3rem;color:var(--accent)}.stay-signed{display:flex;gap:.5rem;align-items:center}.login-error{padding:.7rem;border-radius:.5rem;background:#4b1822;color:#ffdce2}.account-bar{display:flex;align-items:center;gap:.7rem}.account-bar .trust{margin-left:.3rem}
.login-success{padding:.7rem;border-radius:.5rem;background:#153d31;color:#d9fff1}
.login-screen[hidden],#app-shell[hidden]{display:none!important}
#live-status{font-size:11px;color:#76d49b}#live-status.stale{color:#e5b56a}

/* Recovery cards: keep long provider errors readable without displacing chat. */
.attention{max-height:min(32vh,280px)!important;overflow-y:auto!important;overflow-x:hidden!important;display:grid!important;align-items:stretch!important;justify-content:stretch!important;gap:8px!important;padding:8px!important;scrollbar-gutter:stable}
.attention-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px;min-width:0}
.attention-summary{min-width:0}.attention-summary span{display:block;overflow-wrap:anywhere}
.attention-details{grid-column:1/-1;min-width:0}.attention-details summary{color:#e7c48a;font-size:11px;cursor:pointer}
.attention-details pre{max-height:150px;overflow:auto;margin:7px 0 0;padding:9px;border-radius:7px;background:#17120e;color:#d8cfc2;font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){.attention{max-height:34vh!important}.attention-card{grid-template-columns:1fr}.attention-card button{width:100%;min-height:40px}.attention-details{grid-column:1}.attention-details pre{max-height:120px}}
.status-online{background:#42d392}.status-offline{background:#667085}
