.assistant-composer-stack { position: relative; width: 100%; flex: 0 0 auto; padding: 0 8px; } .assistant-composer-stack.has-upgrade { padding-top: 48px; } .assistant-composer { position: relative; z-index: 2; width: 100%; min-height: 150px; flex: 0 0 auto; display: flex; flex-direction: column; justify-content: space-between; gap: 8px; padding: 8px; border: 1px solid #e1e3e8; border-radius: 24px; --image-drop-radius: 24px; background: #fff; box-shadow: 0 8px 24px rgba(17, 24, 39, 0.1); } .assistant-composer.floating-composer { margin: 0; border-color: #cbd2dc; border-radius: var(--image-drop-radius); --image-drop-radius: 28px; background: rgba(255, 255, 255, 0.98); box-shadow: 0 18px 45px rgba(17, 24, 39, 0.14); } .assistant-composer .prompt-rich-editor { width: 100%; min-height: 48px; max-height: 240px; padding: 0 20px; overflow-x: hidden; overflow-y: auto; border: 0; outline: 0; resize: none; color: #141414; font-size: 14px; font-weight: 500; line-height: 1.8; white-space: pre-wrap; word-break: break-word; scrollbar-width: none; } .assistant-composer .prompt-rich-editor.compact { padding: 0 20px; min-height: 48px; } .assistant-composer .prompt-rich-editor::-webkit-scrollbar { display: none; } .assistant-composer .reference-chip { gap: 4px; max-width: 116px; height: 24px; padding: 0 4px; border: 0.5px solid rgba(0, 0, 0, 0.15); border-radius: 8px; color: #363636; background: #fff; font-size: 13px; font-weight: 400; } .assistant-composer .prompt-reference-chip { margin: 1px 4px 5px 0; } .assistant-composer .reference-chip:hover { background: rgba(12, 12, 13, 0.04); } .assistant-composer .reference-chip-thumb { width: 16px; height: 16px; border-radius: 4px; } .assistant-composer .reference-chip > span { max-width: 86px; } .assistant-composer.image-mode .prompt-rich-editor { min-height: 52px; padding-top: 0; } .assistant-composer.floating-composer.image-mode .prompt-rich-editor { min-height: 86px; padding: 14px 32px 2px; font-size: 18px; line-height: 1.42; } .assistant-composer .prompt-rich-editor[data-empty="true"]::before { top: 0; left: 4px; color: #9ca0a8; } .assistant-composer.image-mode .prompt-rich-editor[data-empty="true"]::before { top: 0; } .assistant-composer.floating-composer.image-mode .prompt-rich-editor[data-empty="true"]::before { top: 14px; left: 32px; } .assistant-composer-toolbar { min-width: 0; display: flex; align-items: center; gap: 2px; padding: 0; overflow: hidden; } .assistant-composer.floating-composer .assistant-composer-toolbar { padding: 8px 14px 13px 28px; } .composer-upgrade { position: absolute; left: 8px; right: 8px; top: 0; z-index: 1; min-height: 88px; display: flex; align-items: flex-start; padding: 0 16px 40px; border: 0; border-radius: 24px 24px 0 0; color: #363636; background: #f7f7f4; font-size: 13px; box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08); } .composer-upgrade-row { min-width: 0; width: 100%; min-height: 36px; display: flex; align-items: center; gap: 8px; } .composer-upgrade-icon { width: 18px; height: 18px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 999px; color: #151515; background: #eef94f; } .composer-upgrade-copy { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .composer-upgrade button { width: 18px; height: 18px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 999px; color: #363636; background: transparent; transition: background 0.15s ease, transform 0.15s ease; } .composer-upgrade button:hover { background: rgba(12, 12, 13, 0.06); transform: scale(1.08); } .composer-reference-tile { width: 72px; height: 72px; display: grid; place-items: center; gap: 6px; margin: 12px 0 0 16px; border-radius: 20px; color: #a6abb5; background: #f4f4f4; font-size: 12px; } .assistant-composer.floating-composer .composer-reference-tile { width: 72px; height: 72px; margin: 14px 0 0 116px; border-radius: 20px; } .composer-reference-tile span { display: block; } .composer-mode-button, .composer-settings-chip { height: 32px; display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; border-radius: 999px; color: #2f3746; background: #fff; font-size: 14px; font-weight: 500; } .composer-mode-button { padding: 0 8px; } .composer-mode-button.open, .composer-mode-button:hover, .composer-settings-chip:hover, .composer-icon-button:hover { background: #f3f4f6; } .composer-settings-chip { max-width: 150px; gap: 2px; padding: 0 4px 0 12px; overflow: hidden; background: transparent; white-space: nowrap; } .composer-settings-chip span { overflow: hidden; font-size: 13px; line-height: 20px; text-overflow: ellipsis; } .composer-settings-chip svg { width: 18px; height: 18px; flex: 0 0 auto; transition: transform 150ms ease; } .composer-settings-chip svg.open { transform: rotate(180deg); } .composer-icon-button, .composer-model-button { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 999px; color: #4c5563; background: #fff; } .composer-icon-button.plus-button { color: #363636; } .composer-model-button { color: #2f3746; background: #fff; } .composer-model-button:hover { background: #e7e7e7; } .composer-spacer { flex: 1; min-width: 6px; } .assistant-composer .send-button.small { width: 32px; height: 32px; min-width: 32px; border-radius: 999px; box-shadow: none; } .composer-menu-popover { width: 250px; padding: 8px; border-radius: 16px; background: #fff; } .composer-menu-popover .ui-dropdown-menu-item, .composer-model-popover .ui-dropdown-menu-item { width: 100%; min-height: 38px; display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 12px; color: #252a33; background: transparent; font-size: 15px; font-weight: 560; text-align: left; cursor: pointer; } .composer-menu-popover .ui-dropdown-menu-item:hover, .composer-menu-popover .ui-dropdown-menu-item[data-highlighted], .composer-model-popover .ui-dropdown-menu-item:hover, .composer-model-popover .ui-dropdown-menu-item[data-highlighted] { background: #f4f5f7; } .composer-menu-popover .ui-dropdown-menu-item[data-disabled], .composer-model-popover .ui-dropdown-menu-item[data-disabled] { color: #a4a8b0; cursor: not-allowed; } .composer-menu-popover .ui-dropdown-menu-item[data-disabled] svg { color: #b5bac3; } .composer-menu-popover .ui-dropdown-menu-item > span, .composer-model-popover .ui-dropdown-menu-item > span { min-width: 0; flex: 1; } .composer-switch-row > .ui-switch { margin-left: auto; flex: 0 0 46px; } .composer-switch-row { min-height: 52px; background: #f5f6f8; } .composer-switch-row[data-highlighted] { background: #f1f3f6; } .composer-web-switch.ui-switch { position: relative; width: 46px; height: 28px; display: block; flex: 0 0 46px; border-radius: 999px; background: #dfe3e9; transition: background 0.18s ease, box-shadow 0.18s ease; } .composer-web-switch.ui-switch[data-state="checked"] { background: #303948; } .composer-web-switch .ui-switch-thumb { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; margin: 0; transform: translateX(0); border-radius: 999px; background: #fff; box-shadow: 0 1px 3px rgba(17, 24, 39, 0.2); } .composer-web-switch.ui-switch[data-state="checked"] .ui-switch-thumb { transform: translateX(18px); } .composer-mode-popover .ui-dropdown-menu-item svg:last-child, .composer-model-popover .ui-dropdown-menu-item svg:last-child { margin-left: auto; } .composer-model-popover { width: 306px; padding: 9px; border-radius: 16px; background: #fff; } .composer-model-popover .ui-dropdown-menu-item { min-height: 42px; font-size: 15px; } .composer-model-popover small { color: #8b9098; font-size: 12px; } .composer-settings-popover { width: min(386px, calc(100vw - 24px)); max-height: min(74vh, 720px); overflow: auto; padding: 18px; border-radius: 16px; } .composer-settings-panel { display: grid; gap: 20px; } .composer-settings-panel h3 { margin: 0; color: #242a34; font-size: 15px; font-weight: 700; line-height: 22px; } .composer-settings-panel section { display: grid; gap: 12px; } .composer-settings-panel h4 { margin: 0; color: #242a34; font-size: 14px; font-weight: 600; } .composer-quality-control, .composer-resolution-control { display: grid; overflow: hidden; border-radius: 999px; background: #f4f4f4; } .composer-quality-control { grid-template-columns: repeat(4, minmax(0, 1fr)); } .composer-resolution-control { grid-template-columns: repeat(3, minmax(0, 1fr)); } .composer-quality-control button, .composer-resolution-control button { height: 40px; border-radius: 999px; color: #3a414d; background: transparent; font-size: 14px; } .composer-quality-control button.selected, .composer-resolution-control button.selected { border: 1px solid #c9ced7; background: #fff; } .composer-dimensions { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; } .composer-dimensions label { min-width: 0; height: 44px; display: flex; align-items: center; gap: 8px; padding: 0 14px; border-radius: 11px; background: #f5f5f5; } .composer-dimensions span { color: #767b84; font-size: 13px; } .composer-dimensions input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: #242a34; font: inherit; font-size: 16px; } .composer-dimensions i { color: #767b84; font-style: normal; } .composer-ratio-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; } .composer-ratio-grid button { aspect-ratio: 1; display: grid; place-items: center; gap: 7px; border: 1px solid #d8dbe1; border-radius: 10px; color: #545b66; background: #fff; font-size: 14px; } .composer-ratio-grid button.selected, .composer-count-grid button.selected { border-color: #c5c8cf; background: #eeeeee; color: #1f242d; } .ratio-glyph { width: 28px; height: 28px; display: block; border: 2px solid #5a5f68; border-radius: 4px; } .ratio-glyph.wide { width: 34px; height: 22px; } .ratio-glyph.portrait { width: 22px; height: 34px; } .composer-count-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; } .composer-count-grid button { height: 40px; border: 1px solid #d8dbe1; border-radius: 10px; color: #535a65; background: #fff; font-size: 14px; } .send-button.small.with-cost { width: 56px; border-radius: 999px; color: #ffffff; background: #111111; font-size: 13px; font-weight: 800; } .assistant-composer .send-button.small:disabled { color: #a5a9b0; background: #efefef; opacity: 1; } .send-button.small.is-stopping { color: #ffffff; background: #111111; } .send-button.small.is-stopping:hover { background: #b42318; }