/* Chat uses the GrandCouncil command-center palette: navy panels, cyan for Codex/actions, violet for Claude. */
body[data-page="chat"] #page-content{max-width:none;padding:18px 22px}
body[data-page="chat"] #page-content>footer{display:none}
.chat-app{--chat-panel:linear-gradient(140deg,#131826ef,#0e121ef5);--chat-raised:#0d1220f2;--chat-line:var(--line);--chat-ink:var(--ink);--chat-muted:var(--muted);--chat-claude:var(--violet);--chat-codex:var(--cyan);display:grid;grid-template-columns:272px minmax(0,1fr) 292px;gap:18px;height:calc(100vh - 81px - 36px);color:var(--chat-ink);font-size:13.5px}
.chat-app button,.chat-app select,.chat-app textarea,.chat-app input{font:inherit;color:inherit}
.chat-app :focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.chat-side,.chat-activity{background:var(--chat-panel);border:1px solid var(--chat-line);border-radius:14px;min-height:0}
.chat-side{display:flex;flex-direction:column;padding:18px 14px}
.chat-side-head{display:flex;justify-content:space-between;align-items:flex-start;padding:2px 8px 16px}
.chat-side-head strong{font-size:19px;font-weight:550;letter-spacing:-.5px;display:block}
.chat-side-head small{display:block;margin-top:6px;font-size:9px;letter-spacing:2.2px;text-transform:uppercase;color:var(--cyan);font-weight:650}
.chat-icon-btn{background:transparent;border:0;color:var(--chat-muted);cursor:pointer;font-size:16px;display:none}
.chat-new{display:flex;gap:10px;align-items:center;justify-content:center;background:var(--cyan);color:#09241f;border:1px solid var(--cyan);border-radius:8px;padding:10px 14px;cursor:pointer;font-size:12px;font-weight:600;box-shadow:0 3px 25px #80f8e412}
.chat-new:hover{background:#b5fff2}
.chat-app .chat-new,.chat-app .chat-send:not(:disabled){color:#09241f}
.chat-app .chat-stop{color:var(--red)}
.chat-search{margin:12px 0 4px;background:#0b0f1a;border:1px solid var(--chat-line);border-radius:8px;padding:9px 11px;font-size:12.5px;color:var(--chat-ink)}
.chat-lists{overflow:auto;min-height:0;flex:1;padding-bottom:8px}
.chat-lists h3{font-size:9px;letter-spacing:2.2px;text-transform:uppercase;font-weight:650;color:var(--chat-muted);margin:22px 10px 8px}
.chat-thread,.chat-project{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;background:transparent;border:1px solid transparent;border-radius:9px;padding:9px 11px;cursor:pointer;text-align:left;font-size:12.5px;color:#9da7c0}
.chat-thread:hover,.chat-project:hover{background:#ffffff08;color:var(--chat-ink)}
.chat-thread.selected,.chat-project.selected{color:var(--cyan);background:linear-gradient(90deg,#80f8e414,#80f8e403);border-color:#80f8e421;box-shadow:inset 2px 0 var(--cyan)}
.chat-thread-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-thread-meta{display:flex;gap:6px;align-items:center;color:var(--chat-muted);font-size:10px;flex-shrink:0}
.chat-count{font-size:9px;color:var(--chat-muted);padding:2px 7px;border:1px solid var(--chat-line);border-radius:20px}
.chat-project.clear{color:var(--chat-muted);font-size:11.5px}
.chat-live-dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 3px #80f8e422;animation:chat-pulse 1.4s ease-in-out infinite}
@keyframes chat-pulse{50%{opacity:.35}}
.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.chat-empty{flex:1;display:flex;flex-direction:column;min-height:0}
.chat-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.chat-hero-mark{font-size:24px;gap:10px;border:1px solid #80f8e430;border-radius:50%;width:84px;height:84px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;background:radial-gradient(circle,#80f8e414,transparent 70%);box-shadow:0 0 60px #80f8e414}
.chat-hero-mark b{color:var(--chat-claude);font-weight:400}.chat-hero-mark i{color:var(--chat-codex);font-style:normal}
.chat-hero .eyebrow{margin-bottom:12px}
.chat-hero h1{font-size:clamp(30px,3vw,44px);font-weight:550;letter-spacing:-1.7px;margin:0 0 12px}
.chat-hero p{color:var(--chat-muted);max-width:480px;line-height:1.7;margin:0;font-size:13px}
.chat-bottom{padding:0 4px 4px;width:100%;max-width:880px;margin:0 auto;box-sizing:border-box}
.chat-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(140deg,#2a2213e6,#15120cf2);border:1px solid #edc68540;border-radius:14px;padding:15px 18px;margin-bottom:10px}
.chat-banner strong{display:block;margin-bottom:4px;color:var(--amber)}
.chat-banner span{color:#cdbf9f;font-size:12.5px;line-height:1.55}
.chat-composer{background:var(--chat-panel);border:1px solid #343b52;border-radius:14px;padding:10px 14px;transition:border-color .15s,box-shadow .15s}
.chat-composer:focus-within{border-color:#80f8e466;box-shadow:0 0 0 3px #80f8e408,0 12px 40px #0007}
.chat-context{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:2px 0 8px;border-bottom:1px solid var(--chat-line);margin-bottom:6px}
.chat-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#acb9d2;padding:4px 9px;border-radius:6px;border:1px solid #5d719c40;background:#8796b908}
.chat-chip.static{color:var(--chat-ink)}
.chat-app .chat-chip select,.chat-app .chat-brain select{width:auto;min-width:0;height:auto;margin:0;padding:2px 4px;border:0;border-radius:5px;background:transparent;box-shadow:none;color:var(--chat-ink);font-size:12px;cursor:pointer}
.chat-app .chat-chip select:hover,.chat-app .chat-brain select:hover{background:#ffffff0d}
.chat-app .chat-chip select option,.chat-app .chat-brain select option{background:#111522}
.chat-app .chat-composer textarea[data-chat-input],.chat-app .chat-composer textarea[data-chat-input]:focus{display:block;width:100%;box-sizing:border-box;resize:none;background:transparent;border:0;border-radius:0;outline:none;box-shadow:none;color:var(--chat-ink);font-size:14.5px;line-height:1.55;padding:8px 2px;margin:0;min-height:44px;max-height:220px}
.chat-composer textarea::placeholder{color:#626d8a}
.chat-controls{display:flex;align-items:center;gap:10px}
.chat-perm{font-size:11.5px;color:var(--amber);padding:4px 9px;border-radius:6px;border:1px solid #edc68533;background:#edc6850a;cursor:help}
.chat-brain{margin-left:auto;border:1px solid #343b52;border-radius:8px;padding:2px 4px;background:#ffffff05}
.chat-send,.chat-stop{width:34px;height:34px;border-radius:50%;border:1px solid var(--cyan);background:var(--cyan);color:#09241f;font-size:16px;font-weight:700;cursor:pointer;display:grid;place-items:center;box-shadow:0 3px 25px #80f8e41f}
.chat-send:hover{background:#b5fff2}
.chat-send:disabled{background:#1b2133;border-color:#343b52;color:#626d8a;box-shadow:none;cursor:default}
.chat-stop{background:#ff9d9d1a;border-color:#ff9d9d66;color:var(--red);font-size:11px;box-shadow:none}
.chat-note{color:var(--chat-muted);font-size:11.5px;margin:8px 4px 0;line-height:1.55}
.chat-note.error{color:var(--red)}
.chat-note a,.chat-activity a{color:var(--cyan);text-decoration:none}
.chat-ghost{background:#ffffff05;border:1px solid #343b52;border-radius:8px;padding:8px 13px;cursor:pointer;font-size:11px;font-weight:550;color:var(--chat-ink);white-space:nowrap}
.chat-ghost:hover{background:#ffffff0c;border-color:#626d8a}
.chat-ghost.small{padding:3px 9px;font-size:10.5px}
.chat-thread-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:6px 6px 16px;border-bottom:1px solid var(--chat-line)}
.chat-thread-head h2{font-size:19px;font-weight:550;letter-spacing:-.5px;margin:0 0 6px}
.chat-thread-head span{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);font-weight:650}
.chat-head-actions{display:flex;gap:8px}
.chat-scroll{flex:1;overflow:auto;min-height:0}
.chat-turns{max-width:840px;margin:0 auto;padding:24px 8px 28px;display:flex;flex-direction:column;gap:26px}
.chat-turn{display:flex;flex-direction:column;gap:14px}
.chat-user{display:flex;justify-content:flex-end}
.chat-bubble{background:linear-gradient(140deg,#80f8e414,#80f8e406);border:1px solid #80f8e42a;border-radius:14px 14px 4px 14px;padding:11px 16px;max-width:78%;white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere}
.chat-reply{line-height:1.7;background:var(--chat-panel);border:1px solid var(--chat-line);border-radius:14px;padding:16px 18px}
.chat-reply.claude{box-shadow:inset 2px 0 #b499ff66}
.chat-reply.codex{box-shadow:inset 2px 0 #80f8e466}
.chat-reply.review{background:linear-gradient(140deg,#0f1b22ef,#0b1119f5);border-color:#80f8e42a}
.chat-reply-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:10px}
.chat-reply-head strong{font-size:13px;font-weight:600}
.chat-avatar{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:13px;border:1px solid var(--chat-line)}
.chat-avatar.claude{color:var(--chat-claude);background:#b499ff16;border-color:#b499ff40}
.chat-avatar.codex{color:var(--chat-codex);background:#80f8e414;border-color:#80f8e440}
.chat-avatar.tiny{width:19px;height:19px;font-size:10px;border-radius:6px}
.chat-status{font-size:10.5px;color:var(--chat-muted);display:inline-flex;align-items:center;gap:6px}
.chat-status.live{color:var(--cyan)}
.chat-status.error{color:var(--red)}
.chat-status.skipped{color:var(--amber)}
.chat-verdict{font-size:9.5px;font-weight:650;letter-spacing:.6px;text-transform:uppercase;border-radius:20px;padding:3px 9px;border:1px solid var(--chat-line);color:#acb9d2}
.chat-verdict.agrees{color:#09241f;background:var(--cyan);border-color:var(--cyan)}
.chat-verdict.issues-found{color:#2a1d06;background:var(--amber);border-color:var(--amber)}
.chat-spinner{width:11px;height:11px;border-radius:50%;border:2px solid #80f8e455;border-top-color:var(--cyan);animation:chat-spin .8s linear infinite;display:inline-block}
@keyframes chat-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.chat-spinner,.chat-live-dot,.chat-typing i{animation:none}}
.chat-items{list-style:none;margin:0 0 12px;padding:10px 12px;display:flex;flex-direction:column;gap:5px;background:#0b0f1acc;border:1px solid #252b3c88;border-radius:10px}
.chat-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#acb9d2;flex-wrap:wrap}
.chat-item a{color:var(--chat-ink);text-decoration:underline;text-decoration-color:#80f8e455;text-underline-offset:3px}
.chat-item.failed{color:var(--red)}
.chat-item.muted{color:var(--chat-muted)}
.chat-item.live{color:var(--cyan)}
.chat-item-icon{width:16px;text-align:center;color:var(--cyan)}
.chat-item.failed .chat-item-icon{color:var(--red)}
.chat-item-system{margin-left:auto;font-size:8.5px;color:var(--chat-muted);text-transform:uppercase;letter-spacing:1.6px;font-weight:650}
.chat-text{overflow-wrap:anywhere}
.chat-text p:first-child{margin-top:0}.chat-text p:last-child{margin-bottom:0}
.chat-text pre{background:#0b0f1a;border:1px solid var(--chat-line);border-radius:10px;padding:12px;overflow:auto}
.chat-typing{display:flex;gap:5px;padding:6px 0}
.chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--cyan);opacity:.7;animation:chat-pulse 1.2s infinite}
.chat-typing i:nth-child(2){animation-delay:.2s}.chat-typing i:nth-child(3){animation-delay:.4s}
.chat-activity{overflow:auto}
.chat-activity-inner{padding:20px 18px 26px}
.chat-activity h3{font-size:9px;letter-spacing:2.2px;text-transform:uppercase;font-weight:650;color:var(--chat-muted);margin:22px 0 10px}
.chat-activity h3:first-child{margin-top:2px;color:var(--cyan)}
.chat-runs,.chat-records{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:12px}
.chat-runs li{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #252b3c88;border-radius:8px;background:var(--chat-raised)}
.chat-run-state{margin-left:auto;font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:var(--chat-muted);border:1px solid #5d719c40;border-radius:5px;padding:2px 6px}
.chat-run-state.running,.chat-run-state.queued{color:var(--cyan);border-color:#80f8e440}
.chat-run-state.completed{color:#acb9d2}
.chat-run-state.failed{color:var(--red);border-color:#ff9d9d40}
.chat-records li{display:flex;gap:8px;align-items:baseline;line-height:1.45}
.chat-records li span{font-size:8.5px;text-transform:uppercase;letter-spacing:1.4px;color:var(--chat-muted);flex-shrink:0;font-weight:650}
.chat-chips{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:1180px){.chat-app{grid-template-columns:240px minmax(0,1fr)}.chat-activity{display:none}}
@media(max-width:760px){
 body[data-page="chat"] #page-content{padding:10px}
 .chat-app{grid-template-columns:1fr;height:calc(100vh - 81px - 20px);position:relative;gap:0}
 .chat-side{position:absolute;inset:0 0 auto 0;z-index:5;height:56px;overflow:hidden;padding:9px 12px;box-sizing:border-box}
 .chat-app.side-open .chat-side{height:auto;max-height:85%;overflow:auto;box-shadow:0 18px 40px #000a}
 .chat-side-head{padding:4px 4px 14px}
 .chat-side-head small{display:none}
 .chat-icon-btn{display:block}
 .chat-main{padding-top:66px}
 .chat-bottom{padding:0}
 .chat-turns{padding:16px 2px}
 .chat-bubble{max-width:88%}
 .chat-reply{padding:13px 14px}
 .chat-banner{flex-direction:column;align-items:flex-start}
 .chat-thread-head{padding:4px 4px 12px}
 .chat-perm{white-space:nowrap;font-size:10.5px;padding:4px 6px}
 .chat-brain select{max-width:40vw}
}

/* Saved output cards share the established document viewer. */
.chat-reply .result-files{margin:18px 0 24px}.chat-reply .result-file figcaption{gap:10px;padding:12px}.chat-reply .result-file img{max-height:420px}.chat-reply .result-file .btn{font-size:11px;white-space:nowrap}

/* Keep previews and controls usable inside a narrow chat pane. */
.chat-thread-head{flex-wrap:wrap;gap:10px 16px}.chat-thread-head>div:first-child{flex:1 1 240px;min-width:0}.chat-thread-head h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.chat-head-actions{margin-left:auto}
.chat-brain{min-width:0;flex:1}.chat-app .chat-brain select{max-width:100%;width:100%}.chat-send,.chat-stop{flex-shrink:0}
.chat-reply .result-file-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.chat-reply .result-file figcaption{flex-wrap:wrap}.chat-reply .result-file figcaption>div{flex:1 1 160px;min-width:0}
