:root {
  --sidebar-bg: #f8f8f8;
  --composer-border: #e3e3e3;
  --soft-hover: #f1f1f1;
}

.sidebar { background: var(--sidebar-bg) !important; }
.user-bubble { background: #f3f3f3 !important; }

.composer {
  border: 1px solid var(--composer-border) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .035), 0 7px 22px rgba(0, 0, 0, .055) !important;
}

.composer:focus-within,
.composer textarea:focus,
.composer button:focus,
.composer button:focus-visible {
  outline: none !important;
  box-shadow: none;
}

.guest-auth-slot,
.sidebar-bottom-guest {
  background: #fbfbfb !important;
}

.sidebar-auth-slot.guest-auth-slot .sidebar-login-box {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 14px 12px !important;
  border: 0 !important;
  border-top: 1px solid #e7e7e7 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sidebar-bottom.sidebar-bottom-guest {
  min-height: 150px !important;
  flex-basis: 150px !important;
}

.sidebar-auth-slot.guest-auth-slot {
  min-height: 150px !important;
  align-items: stretch !important;
}

.idle-brand-mark { display: none !important; }

.sidebar-login-copy .emphasis { font-weight: 500 !important; }
body.guest-auth-shell #chatOptionsBtn { display: none !important; }
#modelPickerBtn[hidden],
#composerAddMenu .composer-add-menu-item .composer-menu-check[hidden] {
  display: none !important;
}

.composer-add-menu {
  width: 216px !important;
  min-width: 216px !important;
  max-width: 216px !important;
  padding: 6px !important;
  border-color: #e5e5e5 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .10) !important;
}

.composer-add-menu .composer-add-menu-item {
  min-height: 38px !important;
  padding: 0 10px !important;
  border-radius: 7px !important;
  font-weight: 440 !important;
  gap: 11px !important;
}

.composer-add-menu .composer-add-menu-item .material-symbols-rounded {
  font-variation-settings: "FILL" 0, "wght" 600, "GRAD" 0, "opsz" 22 !important;
}

.composer-menu-check {
  margin-left: auto;
  font-size: 18px !important;
}

.model-picker-menu {
  width: min(360px, calc(100vw - 20px)) !important;
  min-width: min(360px, calc(100vw - 20px)) !important;
  max-width: min(360px, calc(100vw - 20px)) !important;
  max-height: min(450px, var(--model-menu-max-h, calc(100dvh - 24px))) !important;
  padding: 8px !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .11) !important;
}

.model-picker-menu.show {
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
}

.model-picker-list {
  min-height: 0;
  max-height: 290px;
  overflow-y: auto;
}

.model-picker-section-label {
  padding: 5px 8px 7px;
  color: #777;
  font-size: 12px;
  font-weight: 500;
}

.intelligence-levels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  padding: 7px 0 0;
  border-top: 1px solid #ececec;
}

.intelligence-level-btn {
  min-height: 32px;
  padding: 0 7px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #555;
  font: 450 12px/1.15 "Google Sans", "Segoe UI", sans-serif;
}

.intelligence-level-btn:hover { background: var(--soft-hover); }
.intelligence-level-btn.active { background: #ededed; color: #151515; }
.model-picker-btn { font-weight: 400 !important; }

.response-action-btn[data-action="more"] .material-symbols-rounded {
  font-size: 0 !important;
}

.response-action-btn[data-action="more"] .material-symbols-rounded::after {
  display: block;
  width: 16px;
  height: 4px;
  background: radial-gradient(circle, currentColor 1.35px, transparent 1.5px) 0 50% / 6px 4px repeat-x;
  content: "";
}

.ai-bubble hr {
  height: 1px;
  margin: 18px 0;
  border: 0;
  background: #e5e5e5;
}
