Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  layout.css   Sprache: unbekannt

 
Spracherkennung für: .css vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

/* =============================================
   CHAT CARD LAYOUT - Flex container with sticky compose
   ============================================= */

/* Main chat card - flex column layout, transparent background */
.chat {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  height: 100%;
  width: 100%;
  min-height: 0;
  /* Allow flex shrinking */
  overflow: hidden;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Chat header - fixed at top, transparent */
.chat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  flex-shrink: 0;
  padding-bottom: 0;
  margin-bottom: 0;
  background: transparent;
}

.chat-header__left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  min-width: 0;
}

.chat-header__right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.chat-session {
  min-width: 180px;
}

/* Chat thread - scrollable middle section, transparent */
.chat-thread {
  flex: 1 1 0;
  /* Grow, shrink, and use 0 base for proper scrolling */
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 6px 6px;
  margin: 0 0 0 0;
  min-height: 0;
  /* Allow shrinking for flex scroll behavior */
  border-radius: var(--radius-md);
  background: transparent;
}

.chat-thread-inner > :first-child {
  margin-top: 0 !important;
}

/* Focus mode exit button */
.chat-focus-exit {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 100;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--panel);
  color: var(--muted);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    background 150ms ease-out,
    color 150ms ease-out,
    border-color 150ms ease-out;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.chat-focus-exit:hover {
  background: var(--panel-strong);
  color: var(--text);
  border-color: var(--accent);
}

.chat-focus-exit svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* New messages indicator - floating pill above compose */
.chat-new-messages {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  margin: 8px auto;
  font-size: 13px;
  font-family: var(--font-body);
  color: var(--text);
  background: var(--panel-strong);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  cursor: pointer;
  white-space: nowrap;
  z-index: 10;
  transition:
    background 150ms ease-out,
    border-color 150ms ease-out;
}

.chat-new-messages:hover {
  background: var(--panel);
  border-color: var(--accent);
}

.chat-new-messages svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

/* Context usage warning pill */
.context-notice {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 7px 14px;
  margin: 0 auto 8px;
  max-width: calc(100% - 20px);
  border-radius: var(--radius-full);
  border: 1px solid color-mix(in srgb, var(--ctx-color, #d97706) 35%, transparent);
  background: var(--ctx-bg, rgba(217, 119, 6, 0.12));
  color: var(--ctx-color, #d97706);
  font-size: 13px;
  line-height: 1.2;
  white-space: normal;
  user-select: none;
  animation: fade-in 0.2s var(--ease-out);
}

.context-notice__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  stroke: currentColor;
}

.context-notice__detail {
  color: color-mix(in srgb, currentColor 72%, var(--muted));
  font-variant-numeric: tabular-nums;
}

.context-notice__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 24px;
  padding: 0 9px;
  border-radius: var(--radius-full);
  border: 1px solid color-mix(in srgb, currentColor 38%, transparent);
  background: color-mix(in srgb, currentColor 12%, transparent);
  color: currentColor;
  font: inherit;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  transition:
    background 150ms ease-out,
    border-color 150ms ease-out,
    opacity 150ms ease-out;
}

.context-notice__action:hover:not(:disabled) {
  background: color-mix(in srgb, currentColor 18%, transparent);
  border-color: color-mix(in srgb, currentColor 55%, transparent);
}

.context-notice__action:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

.context-notice__action svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.context-notice__action--busy svg {
  animation: compaction-spin 1s linear infinite;
}

/* Chat compose - sticky at bottom */
.chat-compose {
  position: sticky;
  bottom: 0;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: auto;
  /* Push to bottom of flex container */
  padding: 12px 4px 4px;
  background: linear-gradient(to bottom, transparent, var(--bg) 20%);
  z-index: 10;
}

/* Image attachments preview */
.chat-attachments {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  background: var(--panel);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  width: fit-content;
  max-width: 100%;
  align-self: flex-start;
  /* Don't stretch in flex column parent */
}

.chat-attachment {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--bg);
}

.chat-attachment__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.chat-attachment__remove {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 150ms ease-out;
}

.chat-attachment:hover .chat-attachment__remove {
  opacity: 1;
}

.chat-attachment__remove:hover {
  background: color-mix(in srgb, var(--danger) 90%, black);
}

.chat-attachment__remove svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2px;
}

/* Light theme attachment overrides */
:root[data-theme-mode="light"] .chat-attachments {
  background: #f8fafc;
  border-color: rgba(16, 24, 40, 0.1);
}

:root[data-theme-mode="light"] .chat-attachment {
  border-color: rgba(16, 24, 40, 0.15);
  background: #fff;
}

:root[data-theme-mode="light"] .chat-attachment__remove {
  background: rgba(0, 0, 0, 0.6);
}

/* Message images (sent images displayed in chat) */
.chat-message-images {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.chat-message-image {
  max-width: 300px;
  max-height: 200px;
  border-radius: var(--radius-md);
  object-fit: contain;
  cursor: pointer;
  transition: transform 150ms ease-out;
}

.chat-message-image:hover {
  transform: scale(1.02);
}

/* User message images align right */
.chat-group.user .chat-message-images {
  justify-content: flex-end;
}

.chat-assistant-attachments {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 8px;
}

.chat-assistant-attachments img.chat-message-image {
  display: block;
}

.chat-assistant-attachment-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--card) 82%, var(--bg));
}

.chat-assistant-attachment-card--audio,
.chat-assistant-attachment-card--video {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.chat-assistant-attachment-card--audio audio,
.chat-assistant-attachment-card--video video {
  width: min(100%, 360px);
  max-width: 100%;
}

.chat-assistant-attachment-card--video video {
  border-radius: var(--radius-sm);
  background: #000;
}

.chat-assistant-attachment-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.chat-assistant-attachment-card__title,
.chat-assistant-attachment-card__link {
  color: var(--text);
  font-size: 13px;
  text-decoration: none;
  word-break: break-word;
}

.chat-assistant-attachment-card__reason {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.chat-assistant-attachment-card__icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  color: var(--muted);
}

.chat-assistant-attachment-card__icon svg {
  width: 16px;
  height: 16px;
}

.chat-assistant-attachment-badge,
.chat-reply-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  border-radius: 999px;
  font-size: 12px;
}

.chat-assistant-attachment-badge {
  padding: 3px 8px;
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 24%, transparent);
}

.chat-reply-pill {
  margin-bottom: 8px;
  padding: 5px 10px;
  color: var(--muted);
  border: 1px solid var(--border);
  background: color-mix(in srgb, var(--bg) 70%, transparent);
}

.chat-reply-pill__icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
}

.chat-reply-pill__icon svg {
  width: 14px;
  height: 14px;
}

/* Compose input row - horizontal layout */
.chat-compose__row {
  display: flex;
  align-items: stretch;
  gap: 12px;
  flex: 1;
}

:root[data-theme-mode="light"] .chat-compose {
  background: linear-gradient(to bottom, transparent, var(--bg-content) 20%);
}

.chat-compose__field {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: stretch;
}

/* Hide the "Message" label - keep textarea only */
.chat-compose__field > span {
  display: none;
}

/* Override .field textarea min-height (180px) from components.css */
.chat-compose .chat-compose__field textarea {
  width: 100%;
  height: 40px;
  min-height: 40px;
  max-height: 150px;
  padding: 9px 12px;
  border-radius: var(--radius-md);
  overflow-y: auto;
  resize: none;
  white-space: pre-wrap;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.45;
}

.chat-compose__field textarea:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.chat-compose__actions {
  flex-shrink: 0;
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.chat-compose .chat-compose__actions .btn {
  padding: 0 16px;
  font-size: 13px;
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
}

.agent-chat__input {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0 18px 14px;
  padding: 0;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  flex-shrink: 0;
  transition:
    border-color var(--duration-fast) ease,
    box-shadow var(--duration-fast) ease;
}

.agent-chat__input:focus-within {
  border-color: var(--border-strong);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--border-strong) 24%, transparent);
}

@supports (backdrop-filter: blur(1px)) {
  .agent-chat__input {
    backdrop-filter: blur(12px) saturate(1.6);
    -webkit-backdrop-filter: blur(12px) saturate(1.6);
  }
}

.agent-chat__input > textarea {
  width: 100%;
  min-height: 40px;
  max-height: 150px;
  resize: none;
  padding: 12px 14px 8px;
  border: none;
  background: transparent;
  color: var(--text);
  font-size: 0.92rem;
  font-family: inherit;
  line-height: 1.4;
  outline: none;
  box-sizing: border-box;
}

.agent-chat__input > textarea:focus-visible {
  box-shadow: none;
}

.agent-chat__input > textarea::placeholder {
  color: var(--muted);
}

.agent-chat__stt-interim {
  padding: 10px 14px 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.agent-chat__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px;
  border-top: 1px solid color-mix(in srgb, var(--border) 50%, transparent);
}

.agent-chat__toolbar-left,
.agent-chat__toolbar-right {
  display: flex;
  align-items: center;
  gap: 4px;
}

.agent-chat__input-btn,
.agent-chat__toolbar .btn--ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: var(--radius-sm);
  border: none;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  transition: all var(--duration-fast) ease;
}

.agent-chat__input-btn svg,
.agent-chat__toolbar .btn--ghost svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.agent-chat__input-btn:hover:not(:disabled),
.agent-chat__toolbar .btn--ghost:hover:not(:disabled) {
  color: var(--text);
  background: var(--bg-hover);
}

.agent-chat__input-btn:disabled,
.agent-chat__toolbar .btn--ghost:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.agent-chat__input-btn--active {
  color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.agent-chat__input-btn--talk {
  color: var(--danger, #ef4444);
  background: color-mix(in srgb, var(--danger, #ef4444) 14%, transparent);
}

.agent-chat__talk-status {
  color: var(--text);
}

.agent-chat__input-divider {
  width: 1px;
  height: 16px;
  background: var(--border);
  margin: 0 4px;
}

.agent-chat__token-count {
  font-size: 0.7rem;
  color: var(--muted);
  white-space: nowrap;
  flex-shrink: 0;
  align-self: center;
}

.chat-send-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: var(--radius-md);
  border: none;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  flex-shrink: 0;
  transition:
    background var(--duration-fast) ease,
    color var(--duration-fast) ease;
  padding: 0;
}

.chat-send-btn svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.chat-send-btn:hover:not(:disabled) {
  color: var(--text);
  background: var(--bg-hover);
}

.chat-send-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.chat-send-btn--stop {
  background: var(--danger);
  color: var(--destructive-foreground);
}

.chat-send-btn--stop:hover:not(:disabled) {
  background: color-mix(in srgb, var(--danger) 85%, #fff);
}

.chat-queue__item--steered {
  border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
}

.chat-queue__main {
  min-width: 0;
}

.chat-queue__actions {
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.chat-queue__steer {
  align-self: start;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  color: var(--accent);
  font-size: 12px;
  line-height: 1;
}

.chat-queue__steer svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.chat-queue__steer:hover:not(:disabled) {
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.chat-queue__badge {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 6px;
  flex-shrink: 0;
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: var(--accent);
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.2;
}

.slash-menu {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  max-height: 320px;
  overflow-y: auto;
  background: var(--popover);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  z-index: 30;
  margin-bottom: 4px;
  padding: 6px;
  scrollbar-width: thin;
}

.slash-menu-group + .slash-menu-group {
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px solid color-mix(in srgb, var(--border) 50%, transparent);
}

.slash-menu-group__label {
  padding: 4px 10px 2px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--accent);
  opacity: 0.7;
}

.slash-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition:
    background var(--duration-fast) ease,
    color var(--duration-fast) ease;
}

.slash-menu-item:hover,
.slash-menu-item--active {
  background: color-mix(in srgb, var(--accent) 10%, var(--bg-hover));
}

.slash-menu-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--accent);
  opacity: 0.7;
}

.slash-menu-icon svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.slash-menu-item--active .slash-menu-icon,
.slash-menu-item:hover .slash-menu-icon {
  opacity: 1;
}

.slash-menu-name {
  font-size: 0.82rem;
  font-weight: 600;
  font-family: var(--mono);
  color: var(--accent);
  white-space: nowrap;
}

.slash-menu-args {
  font-size: 0.75rem;
  color: var(--muted);
  font-family: var(--mono);
  opacity: 0.65;
}

.slash-menu-desc {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
  font-size: 0.75rem;
  color: var(--muted);
}

.slash-menu-item--active .slash-menu-name {
  color: var(--accent-hover);
}

.slash-menu-item--active .slash-menu-desc {
  color: var(--text);
}

.slash-menu-badge {
  font-size: 0.65rem;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: var(--accent);
  white-space: nowrap;
  flex-shrink: 0;
}

.slash-menu-show-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  padding: 8px 10px;
  margin-top: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--accent);
  background: none;
  border: none;
  border-top: 1px solid color-mix(in srgb, var(--border) 50%, transparent);
  cursor: pointer;
  transition:
    background var(--duration-fast) ease,
    color var(--duration-fast) ease;
}

.slash-menu-show-more:hover {
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  color: var(--accent-hover);
}

.slash-menu-footer {
  display: flex;
  gap: 10px;
  padding: 6px 10px 4px;
  font-size: 0.68rem;
  color: var(--muted);
  border-top: 1px solid color-mix(in srgb, var(--border) 50%, transparent);
  margin-top: 4px;
}

.slash-menu-footer kbd {
  display: inline-block;
  padding: 1px 4px;
  font-size: 0.65rem;
  font-family: var(--mono);
  border: 1px solid var(--border);
  border-radius: 3px;
  background: var(--bg);
  line-height: 1.3;
}

.chat-attachments-preview {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.chat-attachment-thumb {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border);
}

.chat-attachment-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.chat-attachment-remove {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.chat-attachment-file {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  color: var(--muted);
}

.agent-chat__file-input {
  display: none;
}

/* Chat controls - moved to content-header area, left aligned */
.chat-controls {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}

.chat-controls__session {
  min-width: 140px;
  max-width: 300px;
}

.chat-controls__session-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.chat-controls__model {
  min-width: 170px;
  max-width: 320px;
}

.chat-controls__thinking {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

/* Controls separator */
.chat-controls__separator {
  color: rgba(255, 255, 255, 0.4);
  font-size: 18px;
  margin: 0 8px;
  font-weight: 300;
}

:root[data-theme-mode="light"] .chat-controls__separator {
  color: rgba(16, 24, 40, 0.3);
}

.chat-controls__session select {
  padding: 6px 10px;
  font-size: 13px;
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chat-controls__model select {
  max-width: 320px;
}

.chat-controls__thinking {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}

.chat-controls__auto-expand {
  padding: 8px;
}

/* Light theme thinking indicator override */
:root[data-theme-mode="light"] .chat-controls__thinking {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(16, 24, 40, 0.15);
}

@media (max-width: 768px) {
  .chat-controls__session {
    min-width: 120px;
    max-width: none;
  }

  .chat-controls__model {
    min-width: 140px;
    max-width: none;
  }

  .chat-controls {
    gap: 8px;
  }

  .chat-compose__field textarea {
    min-height: 64px;
  }
}

@media (max-width: 640px) {
  .chat-session {
    min-width: 140px;
  }

  .chat-compose {
    grid-template-columns: 1fr;
  }

  .chat-compose__row {
    flex-direction: column;
    gap: 8px;
  }

  .chat-compose__actions {
    flex-direction: column;
    width: 100%;
    gap: 8px;
  }

  .chat-compose .chat-compose__actions .btn {
    width: 100%;
  }

  .chat-controls {
    flex-wrap: wrap;
    gap: 8px;
  }

  .chat-controls__session {
    min-width: 120px;
  }

  .chat-controls__model {
    min-width: 150px;
  }
}

/* Chat loading skeleton */
.chat-loading-skeleton {
  padding: 4px 0;
  animation: fade-in 0.3s var(--ease-out);
}

/* Welcome state (new session) */
.agent-chat__welcome {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
  padding: 48px 24px;
  flex: 1;
  min-height: 0;
}

.agent-chat__welcome-glow {
  display: none;
}

.agent-chat__welcome h2 {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
  color: var(--foreground);
}

.agent-chat__avatar--logo {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  background: var(--panel-strong);
  border: 1px solid var(--border);
  display: grid;
  place-items: center;
  overflow: hidden;
}

.agent-chat__avatar--text {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-lg);
  background: var(--secondary);
  border: 1px solid var(--border);
  color: var(--foreground);
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 700;
}

.agent-chat__avatar--logo img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.agent-chat__badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.agent-chat__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  padding: 4px 12px;
}

.agent-chat__badge img {
  width: 14px;
  height: 14px;
  object-fit: contain;
}

.agent-chat__hint {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

.agent-chat__hint kbd {
  display: inline-block;
  padding: 1px 6px;
  font-size: 11px;
  font-family: var(--font-mono);
  background: var(--panel-strong);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}

.agent-chat__suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  max-width: 480px;
  margin-top: 8px;
}

.agent-chat__suggestion {
  font-size: 13px;
  padding: 8px 16px;
  border-radius: var(--radius-full);
  border: 1px solid var(--border);
  background: var(--panel);
  color: var(--foreground);
  cursor: pointer;
  transition:
    background 0.15s,
    border-color 0.15s;
}

.agent-chat__suggestion:hover {
  background: var(--panel-strong);
  border-color: var(--accent);
}

/* Mobile dropdown toggle — hidden on desktop */
/* Mobile gear toggle + dropdown are hidden by default in layout.css */

[Dauer der Verarbeitung: 0.19 Sekunden, vorverarbeitet 2026-04-28]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge