@layer fc.components {
.fc-composer {
min-inline-size: 0;
display: flex;
flex-direction: column;
gap: var(--fc-space-2);
padding-block: var(--fc-space-3);
padding-inline: var(--fc-space-4);
background-color: var(--fc-composer-bg, var(--fc-color-bg-surface));
color: var(--fc-composer-fg, var(--fc-color-text-default));
border-block-start: var(--fc-border-width-thin) solid var(--fc-color-border-subtle);
}
.fc-composer--contained {
--fc-composer-input-border: transparent;
--fc-composer-input-padding: 0;
--fc-composer-input-size: var(--fc-font-size-md);
border: var(--fc-border-width-thin) solid var(--fc-color-border-interactive);
border-radius: var(--fc-composer-radius, var(--fc-radius-2xl));
box-shadow: var(--fc-shadow-raised);
padding: var(--fc-space-4);
}
.fc-composer--contained:focus-within {
border-color: var(--fc-color-accent-border);
}
.fc-composer__input {
display: block;
inline-size: 100%;
resize: none;
min-block-size: 2.5lh;
max-block-size: 12lh;
padding-block: var(--fc-space-2);
padding-inline: var(--fc-composer-input-padding, var(--fc-space-3));
font-family: var(--fc-font-family-sans);
font-size: var(--fc-composer-input-size, var(--fc-font-size-sm));
line-height: var(--fc-line-height-normal);
color: var(--fc-composer-fg, var(--fc-color-text-default));
background-color: var(--fc-composer-bg, var(--fc-color-bg-surface));
border: var(--fc-border-width-thin) solid var(--fc-composer-input-border, var(--fc-color-border-default));
border-radius: var(--fc-radius-md);
field-sizing: content;
overflow-y: auto;
}
.fc-composer__input::placeholder {
color: var(--fc-color-text-muted);
}
.fc-composer__input:focus-visible {
outline: var(--fc-border-width-focus) solid var(--fc-color-focus-ring);
outline-offset: var(--fc-space-0-5);
}
.fc-composer__input[readonly] {
background-color: var(--fc-color-bg-subtle);
color: var(--fc-color-text-muted);
}
.fc-composer__row {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--fc-space-3);
flex-wrap: wrap;
}
.fc-composer__tools {
min-inline-size: 0;
max-inline-size: 100%;
display: flex;
align-items: center;
gap: var(--fc-space-2);
flex-wrap: wrap;
}
.fc-composer__attachments {
display: flex;
flex-wrap: wrap;
gap: var(--fc-space-2);
margin: 0;
padding: 0;
list-style: none;
}
.fc-composer__attachment {
display: inline-flex;
align-items: center;
max-inline-size: 100%;
min-inline-size: 0;
gap: var(--fc-space-1);
padding-block: var(--fc-space-1);
padding-inline: var(--fc-space-2);
background-color: var(--fc-color-bg-subtle);
color: var(--fc-composer-fg, var(--fc-color-text-default));
border: var(--fc-border-width-thin) solid var(--fc-color-border-subtle);
border-radius: var(--fc-radius-full);
font-size: var(--fc-font-size-xs);
}
.fc-composer__attachment-name {
min-inline-size: 0;
max-inline-size: 14rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.fc-composer__attachment-remove {
display: inline-flex;
align-items: center;
justify-content: center;
inline-size: var(--fc-space-4);
block-size: var(--fc-space-4);
padding: 0;
font-family: var(--fc-font-family-sans);
font-size: var(--fc-font-size-xs);
line-height: 1;
color: var(--fc-color-text-muted);
background-color: transparent;
border: 0;
border-radius: var(--fc-radius-full);
cursor: pointer;
}
.fc-composer__attachment-remove:hover {
background-color: var(--fc-color-danger-bg);
color: var(--fc-color-danger-text);
}
.fc-composer__attachment-remove:focus-visible {
outline: var(--fc-border-width-focus) solid var(--fc-color-focus-ring);
outline-offset: var(--fc-space-0-5);
}
.fc-composer__attachment[data-fc-state="error"] {
border-color: var(--fc-color-danger-border);
color: var(--fc-color-danger-text);
}
.fc-composer__send {
margin-inline-start: auto;
min-inline-size: var(--fc-size-target-min);
min-block-size: var(--fc-size-target-min);
}
.fc-composer__send[data-fc-state="running"] {
background-color: var(--fc-color-danger-bg-subtle);
color: var(--fc-color-danger-text);
border-color: var(--fc-color-danger-border);
font-weight: var(--fc-font-weight-semibold);
}
.fc-composer__send[data-fc-state="running"]:hover {
background-color: var(--fc-color-danger-bg-subtle);
border-color: var(--fc-color-danger-border);
}
.fc-composer__send:disabled {
opacity: 1;
cursor: not-allowed;
}
.fc-composer__status {
margin: 0;
color: var(--fc-color-text-muted);
font-size: var(--fc-font-size-xs);
}
.fc-composer[data-fc-dragging="true"] {
background-color: var(--fc-color-bg-raised);
border-color: var(--fc-color-accent-border);
}
@media (forced-colors: active) {
.fc-composer {
background-color: Canvas;
color: CanvasText;
border-block-start-color: CanvasText;
}
.fc-composer--contained {
border-color: CanvasText;
}
.fc-composer--contained:focus-within {
border-color: Highlight;
}
.fc-composer__input {
background-color: Canvas;
color: CanvasText;
border-color: CanvasText;
}
.fc-composer__input[readonly] {
color: GrayText;
}
.fc-composer__attachment {
background-color: Canvas;
color: CanvasText;
border-color: CanvasText;
}
.fc-composer__attachment[data-fc-state="error"] {
border-color: LinkText;
color: LinkText;
}
.fc-composer__send[data-fc-state="running"] {
background-color: Canvas;
color: CanvasText;
border-color: Highlight;
}
.fc-composer[data-fc-dragging="true"] {
background-color: Canvas;
border-color: Highlight;
}
}
}