/* Chat workspace: one conversation canvas, a separate history rail and a persistent composer. */
body.ai-chat-open {overflow:hidden;padding-bottom:0}
.ai-chat-open .main-area {height:var(--chat-viewport,100dvh);display:flex;flex-direction:column;overflow:hidden}
.ai-chat-open .workspace-toolbar,.ai-chat-open .topbar {flex-shrink:0}
.ai-chat-open .topbar {padding:12px var(--page-gutter) 0}
.ai-chat-open .topbar h1 {font-size:20px;margin:0}
.ai-chat-open #page-subtitle {display:none}
.ai-chat-open .page-content {display:flex;flex-direction:column;flex:1;min-height:0;padding:12px var(--page-gutter) 20px}
[data-screen="ai-chat"] {min-height:0;flex:1}
.ai-chat-layout {height:100%;display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1600px;margin:auto;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);position:relative}
.ai-chat-sidebar.panel,.ai-chat-panel.panel {border:0;border-radius:0;box-shadow:none;min-width:0;min-height:0;margin:0}
.ai-chat-sidebar {display:flex;flex-direction:column;background:var(--surface-soft);border-right:1px solid var(--line)!important}
.ai-chat-sidebar .panel-header {border:0;padding:20px 16px 8px;min-height:52px}
.ai-chat-sidebar h2 {font-size:14px;margin:0}
.ai-chat-sidebar > .button {margin:8px 12px 16px;width:calc(100% - 24px);flex-shrink:0;background:var(--surface)}
#ai-chat-list {padding:0 8px 16px;overflow:auto;min-height:0;flex:1;overscroll-behavior:contain}
.ai-chat-list-row {display:flex;align-items:center;min-width:0;margin-bottom:4px;border-radius:10px}
.ai-chat-list-row:has([aria-current]) {background:var(--surface-strong)}
.ai-chat-select,.ai-chat-delete {font:inherit;border:0;background:transparent;min-height:44px;cursor:pointer;color:var(--text);border-radius:10px}
.ai-chat-select {flex:1;min-width:0;text-align:left;padding:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-chat-select span {display:block;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.ai-chat-select time {display:block;font-size:11px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.ai-chat-select:hover,.ai-chat-select[aria-current] {color:var(--primary)}
.ai-chat-delete {flex:0 0 36px;font-size:20px;color:var(--muted);padding:0}
.ai-chat-delete:hover {color:var(--danger);background:var(--surface-strong)}
.ai-chat-panel {display:flex;flex-direction:column;background:var(--surface)}
.ai-chat-panel .ai-chat-header {display:flex;gap:12px;align-items:center;padding:16px 24px;flex-shrink:0;min-width:0}
.ai-chat-heading {min-width:0;flex:1}
.ai-chat-heading h2 {font-size:16px;line-height:1.4;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
#ai-chat-model {font-size:12px;color:var(--muted);margin:3px 0 0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ai-chat-model-field {flex:0 1 290px;min-width:0;margin:0}
.ai-chat-model-field>span {font-size:11px;color:var(--muted)}
.ai-chat-model-field select {width:100%;min-width:0;max-width:100%}
.ai-chat-new {display:inline-flex;justify-content:center;align-items:center;flex:0 0 44px;min-height:44px}
.ai-chat-history-toggle,.ai-chat-history-close {display:none}
.ai-chat-messages {flex:1;min-height:0;overflow:auto;padding:32px max(24px,calc((100% - 780px)/2));display:flex;flex-direction:column;gap:28px;overscroll-behavior:contain;scrollbar-gutter:stable}
.ai-chat-empty {margin:auto;max-width:34ch;text-align:center;font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.02em;color:var(--text)}
.ai-chat-empty span {display:block;margin-top:12px;font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted)}
#ai-chat-list .ai-chat-empty {padding:12px;font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted)}
.ai-chat-message {max-width:100%;align-self:flex-start;overflow-wrap:anywhere;font-size:16px;flex-shrink:0}
.ai-chat-message.is-user {align-self:flex-end;background:var(--surface-soft);padding:12px 18px;border-radius:16px;max-width:85%}
.ai-chat-message strong {display:block;font-size:12px;font-weight:600;margin-bottom:8px;color:var(--muted)}
.ai-chat-message p {margin:0;white-space:pre-wrap;line-height:1.7}
.ai-chat-message .ai-chat-meta {font-size:12px;line-height:1.5;color:var(--muted);margin-top:12px;white-space:normal;font-variant-numeric:tabular-nums}
.ai-chat-meta.is-error {color:var(--danger)}
.ai-chat-older {margin:8px 24px 0;align-self:center;flex-shrink:0}
.ai-chat-status {margin:0;padding:0 24px;flex-shrink:0;color:var(--muted);font-size:12px;max-height:72px;overflow:auto}
.ai-chat-status:not(:empty) {padding-top:8px;padding-bottom:8px}
.ai-chat-status.is-error {color:var(--danger)}
.ai-chat-form {width:calc(100% - 48px);max-width:780px;flex-shrink:0;margin:8px auto 0;padding:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:20px;display:grid;gap:8px;max-height:50%;overflow:auto}
.ai-chat-input-field {margin:0;min-width:0}
.ai-chat-input-field>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ai-chat-form textarea {width:100%;resize:none;min-height:48px;max-height:160px;background:transparent;border:0;border-radius:8px;box-shadow:none;padding:10px 8px;font-size:16px;line-height:1.5}
.ai-chat-form textarea:focus {box-shadow:none}
.ai-chat-composer-actions {display:flex;align-items:center;justify-content:space-between;gap:8px}
.ai-chat-tools,.ai-chat-send {display:flex;align-items:center;gap:6px}
.ai-chat-tools .mini-button {display:inline-flex;gap:7px;align-items:center;min-height:44px;border-color:transparent;background:transparent;padding:8px 10px}
.ai-chat-tools .mini-button:hover {background:var(--surface-strong)}
#ai-chat-think[aria-pressed=true] {background:var(--surface-strong);border-color:var(--primary);color:var(--primary)}
#ai-chat-submit {width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}
#ai-chat-stop {min-height:44px;padding:8px 12px}
.ai-chat-help {flex-shrink:0;margin:8px auto 12px;padding:0 24px;width:100%;max-width:828px;font-size:12px;color:var(--muted);max-height:120px;overflow:auto}
.ai-chat-help summary {cursor:pointer;padding:6px 0;width:fit-content}
.ai-chat-help p {font-size:12px;margin:6px 0;line-height:1.5;overflow-wrap:anywhere}
.ai-chat-attachments {display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.ai-chat-attachment {display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px;max-width:100%;min-width:0;flex:0 1 280px}
.ai-chat-attachment img {width:48px;height:48px;object-fit:cover;border-radius:6px}
.ai-chat-attachment a,.ai-chat-attachment span {min-width:0;overflow-wrap:anywhere;color:inherit}
.ai-chat-attachment small {display:block;color:var(--muted);font-size:11px;margin-top:3px}
.ai-chat-attachment .mini-button {min-width:44px;min-height:44px}
.ai-chat-file-notes {flex-basis:100%;color:var(--warning);font-size:12px;margin:0;overflow-wrap:anywhere}
.ai-chat-message .ai-chat-attachments {margin-top:10px}
#ai-chat-draft-files:empty {display:none}
.ai-chat-backdrop {display:none}
@media(max-width:1000px) {
 .ai-chat-layout {grid-template-columns:minmax(0,1fr)}
 .ai-chat-history-toggle,.ai-chat-history-close {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px}
 .ai-chat-sidebar.panel {position:absolute;inset:0 auto 0 0;width:min(300px,85%);z-index:2;visibility:hidden;pointer-events:none}
 .history-open .ai-chat-sidebar {visibility:visible;pointer-events:auto}
 .ai-chat-sidebar .panel-header {justify-content:space-between;padding:12px}
 .history-open .ai-chat-backdrop:not([hidden]) {display:block;position:absolute;inset:0;border:0;background:rgb(13 23 48 / 35%);z-index:1}
 .ai-chat-panel .ai-chat-header {flex-wrap:wrap;gap:8px;padding:12px 16px}
 .ai-chat-model-field {flex-basis:100%;order:4}
 .ai-chat-model-field>span:first-child {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .ai-chat-heading h2 {font-size:15px}
 #ai-chat-model {display:none}
 .ai-chat-delete {flex-basis:44px}
}
@media(max-width:700px) {
 .ai-chat-open .mobile-brand {display:none!important}
 .ai-chat-open .main-area {height:calc(var(--chat-viewport,100dvh) - 68px - env(safe-area-inset-bottom))}
 .ai-chat-open .topbar {padding:6px 14px 0}
 .ai-chat-open .topbar h1 {font-size:18px}
 .ai-chat-open .page-content {padding:6px 0 0}
 .ai-chat-layout {border:0;border-radius:0}
 .ai-chat-messages {padding:20px 16px;gap:24px}
 .ai-chat-message.is-user {max-width:92%}
 .ai-chat-form {width:calc(100% - 24px);margin-top:4px;padding:8px;border-radius:16px}
 .ai-chat-status {padding-left:16px;padding-right:16px}
 .ai-chat-help {padding:0 16px;margin:4px auto 6px;max-height:90px}
 .ai-chat-attachment {flex-basis:100%}
}
