/* File: /shared/ai/assets/ai.css */

/* ============================================================
   AI messages
   ============================================================ */

.ai-message{
	margin:8px 10px;
	border:1px solid var(--color-border);
	border-left:4px solid var(--color-border);
	border-radius:var(--surface-radius);
	background:var(--color-surface-alt);
	color:var(--color-text);
	white-space:normal;
}

.ai-message-user{
	border-left-color:var(--color-accent);
}

.ai-message-assistant{
	border-left-color:var(--color-link);
}

.ai-message-tool{
	border-left-color:var(--color-success);
}

.ai-message-error{
	border-left-color:var(--color-error);
}

.ai-message-pending{
	opacity:.75;
}

.ai-message-pending .ai-message-body::after{
	content:"";
	display:inline-block;
	width:1.2em;
	height:.8em;
	margin-left:.35em;
	background:
		radial-gradient(circle,currentColor 35%,transparent 40%)
		0 50% / .4em .4em no-repeat,
		radial-gradient(circle,currentColor 35%,transparent 40%)
		.4em 50% / .4em .4em no-repeat,
		radial-gradient(circle,currentColor 35%,transparent 40%)
		.8em 50% / .4em .4em no-repeat;
	animation:ai-pending-pulse 1.2s infinite ease-in-out;
}

@keyframes ai-pending-pulse{
	0%,
	100%{
		opacity:.35;
	}

	50%{
		opacity:1;
	}
}

@media (prefers-reduced-motion:reduce){
	.ai-message-pending .ai-message-body::after{
		animation:none;
	}
}

.ai-message-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	min-width:0;
	padding:8px 12px 0;
}

.ai-message[data-collapsible="1"] > .ai-message-header{
	justify-content:flex-start;
	cursor:pointer;
}

.ai-message[data-view-state="collapsed"]{
	--ai-message-state-icon:"\25B6";
	--ai-message-state-icon-width:1em;
}

.ai-message[data-view-state="content"]{
	--ai-message-state-icon:"\25BC";
	--ai-message-state-icon-width:1em;
}

.ai-message[data-view-state="full"]{
	--ai-message-state-icon:"\25BC\25BC";
	--ai-message-state-icon-width:2em;
}

.ai-message[data-view-state="details"]{
	--ai-message-state-icon:"\25BC\25BC\25BC";
	--ai-message-state-icon-width:3em;
}

.ai-message[data-collapsible="1"] > .ai-message-header::after,
.ai-message-state-button::before{
	content:var(--ai-message-state-icon, "\25BC");
	display:block;
	width:var(--ai-message-state-icon-width, 1em);
	font-size:.9em;
	line-height:1;
	text-align:center;
	white-space:nowrap;
}

.ai-message[data-collapsible="1"] > .ai-message-header::after{
	flex:0 0 auto;
	color:var(--color-text-muted);
}

.ai-message-state-button::before{
	color:inherit;
}

.ai-message[data-collapsible="1"] > .ai-message-header:hover::after,
.ai-message[data-collapsible="1"] > .ai-message-header:focus::before{
	color:var(--color-link);
}

.ai-message[data-collapsible="1"] > .ai-message-header:focus{
	outline:none;
}

.ai-message[data-collapsible="1"] > .ai-message-header:focus-visible{
	background:var(--color-hover);
}

.ai-message-role{
	min-width:0;
	color:var(--color-text-muted);
	font-weight:800;
	line-height:1;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	cursor:text;
	user-select:text;
	-webkit-user-select:text;
}

.ai-message-user .ai-message-role{
	color:var(--color-accent);
}

.ai-message-assistant .ai-message-role{
	color:var(--color-link);
}

.ai-message-tool .ai-message-role{
	color:var(--color-success);
}

.ai-message-error .ai-message-role{
	color:var(--color-error);
}



.ai-message-footer[hidden]{
	display:none;
}

.ai-message-content{
	min-width:0;
	padding:8px 12px 10px;
}

.ai-message-content[hidden]{
	display:none;
}

.ai-message[data-view-state="collapsed"] > .ai-message-header{
	padding-bottom:8px;
}

.ai-message-body{
	min-width:0;
	color:var(--color-text);
	line-height:1.5;
	white-space:normal;
	overflow-wrap:anywhere;
}

.ai-message-user .ai-message-body,
.ai-message-error .ai-message-body,
.ai-message-tool .ai-message-body{
	white-space:pre-wrap;
}

.ai-message-body > :first-child{
	margin-top:0;
}

.ai-message-body > :last-child{
	margin-bottom:0;
}


/* ============================================================
   Message bulk controls
   ============================================================ */

.ai-message-toolbar{
	position:sticky;
	top:0;
	z-index:40;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex-wrap:wrap;
	gap:10px;
	margin:0;
	padding:6px 10px;
	border-bottom:1px solid var(--color-border);
	background:var(--color-surface);
	white-space:normal;
}

.ai-message-search{
	flex:0 1 220px;
	width:220px;
	min-width:80px;
	padding:3px 6px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	outline:none;
	background:var(--color-surface-alt);
	color:var(--color-text);
	font:inherit;
}

.ai-message-search::placeholder{
	color:var(--color-text-muted);
	opacity:.7;
}

.ai-message-search:focus{
	border-color:var(--color-accent);
}

/* ============================================================
   Message input assets
   ============================================================ */

.ai-message-input-assets{
	display:flex;
	flex-wrap:wrap;
	gap:5px;
	margin:0 0 8px;
}

.ai-message-input-asset{
	display:flex;
	align-items:center;
	gap:6px;
	min-width:0;
	max-width:min(420px,100%);
	padding:4px 6px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:var(--color-surface);
}

.ai-message-input-thumb{
	display:block;
	width:28px;
	height:28px;
	flex:0 0 28px;
	border-radius:3px;
	object-fit:cover;
}

.ai-message-input-type{
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:30px;
	height:24px;
	padding:0 4px;
	border:1px solid var(--color-border);
	border-radius:3px;
	color:var(--color-text-muted);
	font-size:.75em;
	text-transform:uppercase;
}

.ai-message-input-name{
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}


/* ============================================================
   Assistant actions and details
   ============================================================ */

.ai-message-footer{
	display:flex;
	align-items:flex-start;
	justify-content:flex-end;
	flex-wrap:wrap;
	gap:5px 12px;
	margin:0 12px;
	padding:7px 0 10px;
	border-top:1px solid var(--color-border);
	color:var(--color-text-muted);
}

.ai-message-state-button{
	flex:0 0 auto;
	margin:0;
	padding:2px 0;
	border:0;
	background:transparent;
	color:var(--color-text-muted);
	font:inherit;
	line-height:1.2;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-message-state-button:hover,
.ai-message-state-button:focus{
	color:var(--color-link);
}

.ai-message-action{
	flex:0 0 auto;
	margin:0;
	padding:2px 0;
	border:0;
	background:transparent;
	color:var(--color-text-muted);
	font:inherit;
	line-height:1.2;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-message-action:hover,
.ai-message-action:focus,
.ai-message-action.is-active{
	color:var(--color-link);
	text-decoration:underline;
}

.ai-response-details{
	min-width:0;
	margin:0 12px;
	padding:7px 0 10px;
	border-top:1px solid var(--color-border);
	color:var(--color-text-muted);
	white-space:normal;
}

.ai-response-details[hidden]{
	display:none;
}

.ai-response-details-list{
	display:grid;
	grid-template-columns:max-content minmax(0,1fr);
	gap:4px 14px;
	width:100%;
	min-width:0;
	margin:0;
	padding:8px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:var(--color-surface);
	white-space:normal;
}

.ai-response-details-list dt,
.ai-response-details-list dd{
	min-width:0;
	margin:0;
}

.ai-response-details-list dt{
	color:var(--color-text-muted);
}

.ai-response-details-list dd{
	color:var(--color-text);
	overflow-wrap:anywhere;
	font-variant-numeric:tabular-nums;
}

/* ============================================================
   Generated media and files
   ============================================================ */

.ai-media{
	display:grid;
	gap:7px;
	min-width:0;
	margin-top:8px;
}

.ai-media-image,
.ai-media-video{
	display:block;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:min(70vh,800px);
	border:1px solid var(--color-border);
	border-radius:var(--surface-radius);
	background:var(--color-background);
	object-fit:contain;
}

.ai-media-audio{
	display:block;
	width:min(100%,500px);
	max-width:100%;
	height:32px;
	min-height:32px;
	max-height:32px;
}

.ai-media-file-name{
	padding:8px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:var(--color-surface);
	overflow-wrap:anywhere;
}

.ai-media-actions{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
}

.ai-media-action,
button.ai-media-action{
	margin:0;
	padding:0;
	border:0;
	background:transparent;
	color:var(--color-link);
	font:inherit;
	text-decoration:none;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-media-action:hover,
.ai-media-action:focus,
button.ai-media-action:hover,
button.ai-media-action:focus{
	text-decoration:underline;
}


/* ============================================================
   Progress
   ============================================================ */

.ai-progress{
	display:grid;
	gap:7px;
	min-width:0;
}

.ai-progress-status{
	color:var(--color-text-muted);
	line-height:1.3;
}

.ai-progress-bar{
	display:block;
	width:100%;
	height:10px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:var(--color-surface);
	overflow:hidden;
	appearance:none;
	-webkit-appearance:none;
}

.ai-progress-bar::-webkit-progress-bar{
	background:var(--color-surface);
}

.ai-progress-bar::-webkit-progress-value{
	background:var(--color-accent);
}

.ai-progress-bar::-moz-progress-bar{
	background:var(--color-accent);
}


/* ============================================================
   Mode controls
   ============================================================ */

.ai-mode-control.is-active{
	border-color:var(--color-accent);
	background:var(--color-selection-bg);
	color:var(--color-selection-text);
}


/* ============================================================
   Conversation history
   ============================================================ */

.ai-history{
	display:grid;
	gap:6px;
	min-width:0;
}

.ai-history-item{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:center;
	gap:8px;
	min-width:0;
	padding:6px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
	color:var(--color-text);
}

.ai-history-item.is-active{
	border-color:var(--color-accent);
	background:var(--color-selection-bg);
	color:var(--color-selection-text);
}

.ai-history-open{
	display:block;
	width:100%;
	min-width:0;
	overflow:hidden;
	border:0;
	background:transparent;
	color:inherit;
	font:inherit;
	font-weight:700;
	text-align:left;
	text-overflow:ellipsis;
	white-space:nowrap;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-history-open:hover,
.ai-history-open:focus{
	color:var(--color-link);
	text-decoration:underline;
}

.ai-history-actions{
	display:flex;
	align-items:center;
	gap:5px;
}

.ai-history-action{
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
	color:inherit;
	font:inherit;
	padding:4px 7px;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-history-action:hover,
.ai-history-action:focus{
	background:var(--color-hover);
}

.ai-history-delete{
	color:var(--color-error);
}

.ai-history-empty{
	padding:10px;
	color:var(--color-text-muted);
}


/* ============================================================
   Timeline
   ============================================================ */

.ai-timeline{
	display:grid;
	gap:6px;
	min-width:0;
}

.ai-timeline-item{
	display:grid;
	grid-template-columns:30px minmax(0,1fr) auto;
	align-items:center;
	gap:8px;
	min-width:0;
	padding:7px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
	color:var(--color-text);
}

.ai-timeline-item.is-active{
	border-color:var(--color-accent);
	background:var(--color-selection-bg);
	color:var(--color-selection-text);
}

.ai-timeline-number{
	display:flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	border:1px solid var(--color-border);
	border-radius:50%;
	color:var(--color-text-muted);
	font-variant-numeric:tabular-nums;
}

.ai-timeline-item.is-active .ai-timeline-number{
	color:inherit;
}

.ai-timeline-content{
	display:grid;
	gap:4px;
	min-width:0;
}

.ai-timeline-prompt{
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	font-weight:700;
}

.ai-timeline-meta{
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	color:var(--color-text-muted);
	font-size:.9em;
}

.ai-timeline-item.is-active .ai-timeline-meta{
	color:inherit;
	opacity:.8;
}

.ai-timeline-action{
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
	color:inherit;
	font:inherit;
	padding:4px 7px;
	white-space:nowrap;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-timeline-action:hover:not(:disabled),
.ai-timeline-action:focus:not(:disabled){
	background:var(--color-hover);
}

.ai-timeline-action:disabled{
	opacity:.4;
	cursor:default;
}

.ai-timeline-empty{
	padding:10px;
	color:var(--color-text-muted);
}





/* ============================================================
   Agent prompts
   ============================================================ */

.ai-agent-prompts{
	display:grid;
	gap:7px;
	min-width:0;
}

.ai-agent-prompt-label{
	color:var(--color-text-muted);
	font-weight:700;
}

.ai-agent-prompt-input{
	display:block;
	width:100%;
	min-width:0;
	min-height:140px;
	padding:7px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:var(--color-surface);
	color:var(--color-text);
	font:inherit;
	line-height:1.4;
	resize:vertical;
}

.ai-agent-prompt-apply{
	justify-self:end;
	padding:5px 10px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
	color:var(--color-text);
	font:inherit;
	cursor:pointer;
}


/* ============================================================
   Workspaces
   ============================================================ */

.ai-workspaces,
.ai-workspace-list{
	display:grid;
	gap:6px;
	min-width:0;
}

.ai-workspace-toolbar{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:6px;
	margin-bottom:3px;
}

.ai-workspace-current-path{
	margin-left:auto;
	min-width:0;
	overflow:hidden;
	color:var(--color-text-muted);
	text-overflow:ellipsis;
	white-space:nowrap;
}

.ai-workspace-folder-open{
	width:100%;
	min-width:0;
	padding:0;
	border:0;
	background:transparent;
	color:var(--color-link);
	font:inherit;
	font-weight:700;
	text-align:left;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-workspace-folder-open:hover,
.ai-workspace-folder-open:focus{
	text-decoration:underline;
}

.ai-workspace-action{
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
	color:var(--color-text);
	font:inherit;
	padding:5px 8px;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-workspace-action:hover,
.ai-workspace-action:focus{
	background:var(--color-hover);
}

.ai-workspace-item{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:center;
	gap:8px;
	min-width:0;
	padding:7px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
}

.ai-workspace-item.is-active{
	border-color:var(--color-accent);
	background:var(--color-selection-bg);
	color:var(--color-selection-text);
}

.ai-workspace-item-content{
	display:grid;
	gap:3px;
	min-width:0;
}

.ai-workspace-select{
	min-width:0;
	overflow:hidden;
	border:0;
	background:transparent;
	color:inherit;
	font:inherit;
	font-weight:700;
	text-align:left;
	text-overflow:ellipsis;
	white-space:nowrap;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-workspace-select:hover,
.ai-workspace-select:focus{
	color:var(--color-link);
	text-decoration:underline;
}

.ai-workspace-meta{
	color:var(--color-text-muted);
	font-size:.9em;
	white-space:nowrap;
}

.ai-workspace-item.is-active .ai-workspace-meta{
	color:inherit;
	opacity:.8;
}

.ai-workspace-item-actions{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:5px;
}

.ai-workspace-delete{
	color:var(--color-error);
}

.ai-workspace-empty{
	padding:10px;
	color:var(--color-text-muted);
}


/* ============================================================
   Workspace files
   ============================================================ */

.ai-workspace-files,
.ai-workspace-file-list{
	display:grid;
	gap:6px;
	min-width:0;
}

.ai-workspace-file{
	display:grid;
	grid-template-columns:auto minmax(0,1fr) 10ch 8ch auto;
	align-items:center;
	gap:10px;
	min-width:0;
	padding:7px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
}

.ai-workspace-file-select{
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:18px;
}

.ai-workspace-file-select input{
	margin:0;
}

.ai-workspace-file-actions{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:5px;
}

.ai-workspace-file-action{
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
	color:var(--color-link);
	font:inherit;
	padding:4px 7px;
	cursor:pointer;
}

.ai-workspace-file-action:hover,
.ai-workspace-file-action:focus{
	background:var(--color-hover);
}

.ai-workspace-file-action.is-danger{
	color:var(--color-error);
}

.ai-workspace-selection-actions{
	display:flex;
	align-items:center;
	gap:6px;
}

.ai-workspace-operation-status{
	display:flex;
	align-items:center;
	gap:6px;
	color:var(--color-text-muted);
	white-space:nowrap;
	font-variant-numeric:tabular-nums;
}

.ai-workspace-operation-status[hidden],
.ai-workspace-selection-actions[hidden]{
	display:none;
}

.ai-workspace-action:disabled,
.ai-workspace-file-action:disabled{
	opacity:.45;
	cursor:default;
}

.ai-workspace-batch-status{
	color:var(--color-text-muted);
	white-space:nowrap;
	font-variant-numeric:tabular-nums;
}


.ai-workspace-file-path{
	min-width:0;
	max-width:40ch;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	font-weight:700;
}

.ai-workspace-file-status,
.ai-workspace-file-size{
	color:var(--color-text-muted);
	white-space:nowrap;
}

.ai-workspace-file-status{
	text-align:left;
}

.ai-workspace-file-size{
	text-align:right;
	font-variant-numeric:tabular-nums;
}

.ai-workspace-file-share{
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
	color:var(--color-link);
	font:inherit;
	padding:4px 7px;
	cursor:pointer;
}

.ai-workspace-file-share:disabled{
	color:var(--color-text-muted);
	opacity:.65;
	cursor:default;
}

.ai-workspace-file-delete{
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:transparent;
	color:var(--color-error);
	font:inherit;
	padding:4px 7px;
	cursor:pointer;
}



/* ============================================================
   Composer
   ============================================================ */


.ai-composer-add{
	display:flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	padding:0;
	border:0;
	border-radius:50%;
	background:transparent;
	color:var(--color-text-muted);
	font:inherit;
	font-size:20px;
	line-height:1;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-composer-add:hover,
.ai-composer-add:focus{
	background:var(--color-hover);
	color:var(--color-accent);
	outline:1px solid var(--color-border);
}


.ai-composer-attachments{
	display:flex;
	flex-wrap:wrap;
	gap:5px;
	padding:5px 6px;
	border-top:1px solid var(--color-border);
	background:var(--color-surface);
	white-space:normal;
}

.ai-composer-attachments[hidden]{
	display:none;
}

.ai-attachment{
	display:grid;
	grid-template-columns:auto minmax(0,1fr) auto;
	align-items:center;
	gap:6px;
	max-width:min(420px,100%);
	padding:4px 6px;
	border:1px solid var(--color-border);
	border-radius:var(--control-radius);
	background:var(--color-surface-alt);
	color:var(--color-text);
}

.ai-attachment-thumb{
	display:block;
	width:28px;
	height:28px;
	border-radius:3px;
	object-fit:cover;
}

.ai-attachment-type{
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:28px;
	height:28px;
	padding:0 4px;
	border:1px solid var(--color-border);
	border-radius:3px;
	color:var(--color-text-muted);
	font-size:.8em;
	text-transform:uppercase;
}

.ai-attachment-info{
	display:grid;
	gap:2px;
	min-width:0;
}

.ai-attachment-name{
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.ai-attachment-size{
	color:var(--color-text-muted);
	font-size:.85em;
}

.ai-attachment-remove{
	border:0;
	background:transparent;
	color:var(--color-text-muted);
	font:inherit;
	font-size:1.2em;
	line-height:1;
	padding:2px;
	cursor:pointer;
}

.ai-attachment-remove:hover,
.ai-attachment-remove:focus{
	color:var(--color-error);
}

.term.is-ai-dragover{
	outline:2px dashed var(--color-accent);
	outline-offset:-4px;
}

/* ============================================================
   Message layouts
   ============================================================ */

/* Compact */

[data-ai-message-layout="compact"] .ai-message{
	margin:3px 6px;
}

[data-ai-message-layout="compact"] .ai-message-header{
	min-height:18px;
	padding:3px 7px 0;
}

[data-ai-message-layout="compact"] .ai-message-role{
	display:none;
}

[data-ai-message-layout="compact"] .ai-message-content{
	padding:3px 7px 5px;
}

[data-ai-message-layout="compact"] .ai-message[data-view-state="collapsed"] > .ai-message-header{
	padding-bottom:3px;
}

[data-ai-message-layout="compact"] .ai-response-details{
	margin:0 7px;
	padding:3px 0 5px;
}


/* Terminal */

[data-ai-message-layout="terminal"] .ai-message{
	margin:0;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
}

[data-ai-message-layout="terminal"] .ai-message-header{
	min-height:0;
	padding:5px 10px 0;
}

[data-ai-message-layout="terminal"] .ai-message-role{
	color:var(--color-text-muted);
	font-weight:700;
	line-height:1.2;
}

[data-ai-message-layout="terminal"] .ai-message-user .ai-message-role{
	color:var(--color-accent);
}

[data-ai-message-layout="terminal"] .ai-message-assistant .ai-message-role{
	color:var(--color-link);
}

[data-ai-message-layout="terminal"] .ai-message-tool .ai-message-role{
	color:var(--color-success);
}

[data-ai-message-layout="terminal"] .ai-message-error .ai-message-role{
	color:var(--color-error);
}

[data-ai-message-layout="terminal"] .ai-message-content{
	padding:3px 10px 8px;
}

[data-ai-message-layout="terminal"] .ai-message[data-view-state="collapsed"] > .ai-message-header{
	padding-bottom:5px;
}

[data-ai-message-layout="terminal"] .ai-message[data-collapsible="1"] > .ai-message-header::after{
	display:none;
}

[data-ai-message-layout="terminal"] .ai-message-footer{
	margin:0 10px;
	padding:4px 0 7px;
	border-top:0;
}

[data-ai-message-layout="terminal"] .ai-message-state-button{
	display:none;
}

[data-ai-message-layout="terminal"] .ai-response-details{
	margin:0 10px;
	padding:4px 0 7px;
	border-top:0;
}

[data-ai-message-layout="terminal"] .ai-response-details-list{
	padding:5px;
	border-radius:0;
	background:transparent;
}

[data-ai-message-layout="terminal"] .ai-message-input-assets{
	margin-bottom:5px;
}

[data-ai-message-layout="terminal"] .ai-media{
	margin-top:5px;
}


/* ============================================================
   Responsive
   ============================================================ */

@media (max-width:560px){
	.ai-message{
		margin:6px;
	}

	.ai-message-header{
		padding:7px 9px 0;
	}

	.ai-message-content{
		padding:7px 9px 9px;
	}

	.ai-message[data-view-state="collapsed"] > .ai-message-header{
		padding-bottom:7px;
	}

	.ai-message-footer{
		gap:5px 10px;
	}

	.ai-response-details-list{
		grid-template-columns:1fr;
		gap:2px;
	}

	.ai-response-details-list dd{
		margin-bottom:5px;
	}

	.ai-message-input-assets{
		display:grid;
		grid-template-columns:1fr;
	}

	.ai-message-input-asset{
		max-width:none;
	}

	.ai-history-item,
	.ai-workspace-item,
	.ai-file-list-item{
		grid-template-columns:1fr;
	}

	.ai-workspace-file{
		grid-template-columns:minmax(0,1fr) auto auto auto;
		gap:6px;
	}

	.ai-workspace-file-path{
		max-width:none;
	}

	.ai-history-actions,
	.ai-workspace-item-actions{
		justify-content:flex-end;
	}

	.ai-timeline-item{
		grid-template-columns:28px minmax(0,1fr);
	}

	.ai-timeline-action{
		grid-column:2;
		justify-self:start;
	}


	.ai-composer-attachments{
		display:grid;
		grid-template-columns:1fr;
	}

	.ai-attachment{
		width:100%;
		max-width:none;
	}

	.ai-media-image,
	.ai-media-video{
		width:100%;
		max-height:60vh;
	}
}