/* File: /shared/ai/assets/ai.css */

/* ============================================================
   AI messages
   ============================================================ */

:root{
	--ai-message-line-height:normal;	
}

[data-ai-message-layout="terminal"]{
	--ai-terminal-pad-x:10px;
	--ai-terminal-role-gap:0px;
	--ai-terminal-message-gap:0px;
	--ai-terminal-meta-gap:2px;
}

.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;
	user-select:none;
	-webkit-user-select:none;
}

.ai-message-role-selectable .ai-message-role{
	cursor:text;
	user-select:text;
	-webkit-user-select:text;
}

.ai-message-role-separator{
	display:block;
	min-height:1em;
	line-height:1;
}

.ai-message-role-separator[hidden]{
	display:none;
}

.ai-message[data-header-toggles-message="0"] > .ai-message-header{
	cursor:default;
}

.ai-message[data-header-toggles-message="0"] > .ai-message-header::after{
	display:none;
}

.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:var(--ai-message-line-height);
	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;
}

/* ============================================================
   Conversation toolbar
   ============================================================ */

.ai-message-toolbar-search{
	min-width:0;
}

.ai-message-toolbar-search .ai-message-search{
	width:100%;
	min-width:0;
}

.ai-message-toolbar-options{
	min-width:0;
}

.ai-message-toolbar-settings{
	display:block;
	min-width:0;
}

.ai-message-search{
	display:block;
	width:100%;
	min-width:0;
	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;
	overflow-x:auto;
}

.ai-response-details[hidden]{
	display:none;
}

.ai-response-details-table{
	width:100%;
	min-width:420px;
	margin:0;
	border:1px solid var(--color-border);
	border-collapse:separate;
	border-spacing:0;
	border-radius:var(--control-radius);
	background:var(--color-surface);
	color:var(--color-text);
	overflow:hidden;
	font-variant-numeric:tabular-nums;
}

.ai-response-details-table th,
.ai-response-details-table td{
	min-width:0;
	padding:5px 8px;
	border-bottom:1px solid var(--color-border);
	text-align:left;
	vertical-align:top;
	overflow-wrap:anywhere;
}

.ai-response-details-table th + th,
.ai-response-details-table td + td{
	border-left:1px solid var(--color-border);
}

.ai-response-details-table th{
	color:var(--color-text-muted);
	font-weight:700;
}

.ai-response-details-table tbody tr:last-child td{
	border-bottom:0;
}

.ai-response-details-label{
	width:1%;
	color:var(--color-text-muted);
	white-space:nowrap;
}

.ai-response-details-request,
.ai-response-details-response{
	width:49.5%;
}

/* ============================================================
   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);
}


/* ============================================================
   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-open{
	width:100%;
	margin:0;
	padding:0;
	border:0;
	outline:none;
	background:transparent;
	color:inherit;
	font:inherit;
	text-align:left;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ai-timeline-open:hover .ai-timeline-prompt,
.ai-timeline-open:focus-visible .ai-timeline-prompt{
	color:var(--color-link);
	text-decoration:underline;
}

.ai-timeline-open:focus-visible{
	outline:1px solid var(--color-accent);
	outline-offset:2px;
}

.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-file-toolbar{
	gap:10px;
	padding-left:7px;
	padding-right:7px;
}

.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-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-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-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;
}


/* ============================================================
   Composer
   ============================================================ */

.ai-composer-slot{
	display:contents;
}

.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-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-role-separator{
	min-height:0;
	height:0;
	overflow:hidden;
	font-size:0;
	line-height:0;
}

/* Ruimte vóór iedere volgende role */
[data-ai-message-layout="terminal"] .ai-message > .ai-message-role-separator:first-child{
	height:var(--ai-terminal-message-gap);
}

/* Ruimte tussen de role en de inhoud */
[data-ai-message-layout="terminal"] .ai-message > .ai-message-header + .ai-message-role-separator{
	height:var(--ai-terminal-role-gap);
}



[data-ai-message-layout="terminal"] .ai-message-header{
	min-height:0;
	padding:0 var(--ai-terminal-pad-x);
}

[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:0 var(--ai-terminal-pad-x);
}

[data-ai-message-layout="terminal"] .ai-message-body > .rich-prose{
	margin:0;
}

[data-ai-message-layout="terminal"] .ai-message-body > .rich-prose > :first-child{
	margin-top:0;
}

[data-ai-message-layout="terminal"] .ai-message-body > .rich-prose > :last-child{
	margin-bottom:0;
}

[data-ai-message-layout="terminal"] .ai-message[data-view-state="collapsed"] > .ai-message-header{
	padding-bottom:0;
}


[data-ai-message-layout="terminal"] .ai-message-footer{
	margin:0 var(--ai-terminal-pad-x);
	padding:var(--ai-terminal-meta-gap) 0 0;
	border-top:0;
}

[data-ai-message-layout="terminal"] .ai-message-state-button{
	display:none;
}

[data-ai-message-layout="terminal"] .ai-response-details{
	margin:0 var(--ai-terminal-pad-x);
	padding:var(--ai-terminal-meta-gap) 0 0;
	border-top:0;
}

[data-ai-message-layout="terminal"] .ai-response-details-table{
	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-message-input-assets{
		display:grid;
		grid-template-columns:1fr;
	}

	.ai-message-input-asset{
		max-width:none;
	}

	.ai-history-item,
	.ai-workspace-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;
	}
}

