/* CHATCITO DEV · FICHA COMPACTA V4
   Complementa (sin reemplazar) los estilos y las acciones de KiwiIRC.
   Un solo avatar aprobado: en la cabecera. Nada de imagen gigante repetida.
*/
:root {
  --cc4-pink: #fa9acf;
  --cc4-green: #8def5d;
  --cc4-blue: #66a4ff;
}

.kiwi-userbox,
.kiwi-statebrowser-usermenu {
  box-sizing: border-box !important;
  width: min(408px, calc(100vw - 24px)) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 24px) !important;
  max-height: min(78dvh, 650px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #aa78ad #172035;
  color: #f2f6ff !important;
  background: linear-gradient(152deg, #1b2944 0%, #10192b 58%, #131a2e 100%) !important;
  border: 1px solid rgba(248, 156, 207, .58) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 48px #0008, 0 0 0 1px rgba(79, 153, 255, .16) !important;
}

/* Cabecera y datos: compactos, alineados, sin desplazar el avatar afuera. */
.kiwi-userbox .kiwi-userbox-header,
.kiwi-statebrowser-usermenu .kiwi-statebrowser-usermenu-header {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 12px 14px !important;
  gap: 12px !important;
  align-items: center !important;
  background: linear-gradient(112deg, #253f72, #332448) !important;
  border-bottom: 1px solid rgba(250, 154, 207, .28) !important;
}

.kiwi-userbox .kiwi-userbox-avatar,
.kiwi-statebrowser-usermenu .kiwi-statebrowser-usermenu-avatar {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  flex: 0 0 68px !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  padding: 3px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: linear-gradient(140deg, var(--cc4-pink), var(--cc4-blue), var(--cc4-green)) !important;
  box-shadow: 0 0 0 3px rgba(246, 148, 203, .12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.kiwi-userbox .kiwi-userbox-avatar :is(img, svg),
.kiwi-statebrowser-usermenu .kiwi-statebrowser-usermenu-avatar :is(img, svg) {
  display: block !important;
  box-sizing: border-box !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #151f34 !important;
}

.kiwi-userbox .kiwi-userbox-nick,
.kiwi-statebrowser-usermenu .kiwi-statebrowser-usermenu-nick {
  display: block;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  font: 800 20px/1.2 system-ui, sans-serif !important;
  color: var(--cc4-green) !important;
  overflow-wrap: anywhere !important;
}

.kiwi-userbox .kiwi-userbox-header :is(p, small, span),
.kiwi-statebrowser-usermenu .kiwi-statebrowser-usermenu-header :is(p, small, span) {
  max-width: 100%;
  overflow-wrap: anywhere !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

/* La imagen aprobada ya se copia al avatar de la cabecera desde el plugin.
   El original insertaba tambien una copia enorme dentro de la tarjeta Perfil. */
.kiwi-userbox .ccup-approved-photo,
.kiwi-statebrowser-usermenu .ccup-approved-photo {
  display: none !important;
}

/* Perfil publico, proporcionado y con filas adaptables. */
.kiwi-userbox .ccup-profile,
.kiwi-statebrowser-usermenu .ccup-profile {
  box-sizing: border-box !important;
  width: calc(100% - 24px) !important;
  max-width: calc(100% - 24px) !important;
  min-width: 0 !important;
  margin: 11px 12px !important;
  padding: 0 13px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(250, 154, 207, .48) !important;
  background: linear-gradient(125deg, rgba(39,65,112,.66), rgba(28,30,57,.78)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.05) !important;
}
.kiwi-userbox .ccup-title,
.kiwi-statebrowser-usermenu .ccup-title {
  margin: 0 0 7px !important;
  padding: 11px 0 9px !important;
  font: 800 13px/1.3 system-ui, sans-serif !important;
  color: #ffb1da !important;
}
.kiwi-userbox .ccup-item,
.kiwi-statebrowser-usermenu .ccup-item {
  display: grid !important;
  grid-template-columns: minmax(60px, 76px) minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 10px !important;
  margin: 0 !important;
  padding: 5px 0 !important;
}
.kiwi-userbox .ccup-item > span,
.kiwi-statebrowser-usermenu .ccup-item > span,
.kiwi-userbox .ccup-bio > span,
.kiwi-statebrowser-usermenu .ccup-bio > span {
  font: 700 12px/1.4 system-ui, sans-serif !important;
  color: #aaccff !important;
}
.kiwi-userbox .ccup-item > strong,
.kiwi-statebrowser-usermenu .ccup-item > strong {
  min-width: 0 !important;
  max-width: 100% !important;
  font: 600 13px/1.45 system-ui, sans-serif !important;
  color: #f5f8ff !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.kiwi-userbox .ccup-bio,
.kiwi-statebrowser-usermenu .ccup-bio {
  margin: 8px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid rgba(126, 169, 239, .26) !important;
}
.kiwi-userbox .ccup-bio p,
.kiwi-statebrowser-usermenu .ccup-bio p {
  max-width: 100% !important;
  margin: 5px 0 0 !important;
  font: 500 13px/1.5 system-ui, sans-serif !important;
  color: #edf4ff !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
}

/* Botones existentes: nunca reemplazamos su accion. */
.kiwi-userbox .ccup-private-action,
.kiwi-statebrowser-usermenu .ccup-private-action {
  box-sizing: border-box !important;
  display: flex !important;
  width: calc(100% - 24px) !important;
  max-width: calc(100% - 24px) !important;
  min-height: 40px !important;
  margin: 11px 12px 6px !important;
  padding: 10px 13px !important;
  border: 1px solid #b8f49d !important;
  border-radius: 10px !important;
  background: linear-gradient(100deg, #9af36b, #f6a4d1) !important;
  color: #122039 !important;
  font: 800 13px/1.3 system-ui, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  align-items: center !important;
  justify-content: center !important;
  text-shadow: none !important;
}
.kiwi-userbox .ccup-private-action *,
.kiwi-statebrowser-usermenu .ccup-private-action * {
  color: #122039 !important;
  text-shadow: none !important;
}
.kiwi-userbox .ccup-ignore-action,
.kiwi-statebrowser-usermenu .ccup-ignore-action {
  box-sizing: border-box !important;
  display: block !important;
  max-width: calc(100% - 24px) !important;
  margin: 9px 12px !important;
  color: #cbd7e9 !important;
  font: 500 12px/1.45 system-ui, sans-serif !important;
  overflow-wrap: anywhere !important;
}
.kiwi-userbox .ccup-ignore-action *,
.kiwi-statebrowser-usermenu .ccup-ignore-action * { color: #cbd7e9 !important; }

/* Evitar imagenes grandes que se salgan de las secciones del perfil. */
.kiwi-userbox .ccup-profile img,
.kiwi-statebrowser-usermenu .ccup-profile img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 76px !important;
  object-fit: cover !important;
}

@media (max-width: 700px) {
  .kiwi-userbox,
  .kiwi-statebrowser-usermenu {
    width: min(390px, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 68px) !important;
    translate: none !important;
    border-radius: 13px !important;
    -webkit-overflow-scrolling: touch;
  }
  .kiwi-userbox .kiwi-userbox-header,
  .kiwi-statebrowser-usermenu .kiwi-statebrowser-usermenu-header {
    padding: 11px 12px !important;
    gap: 10px !important;
  }
  .kiwi-userbox .kiwi-userbox-avatar,
  .kiwi-statebrowser-usermenu .kiwi-statebrowser-usermenu-avatar {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    flex-basis: 56px !important;
  }
  .kiwi-userbox .kiwi-userbox-nick,
  .kiwi-statebrowser-usermenu .kiwi-statebrowser-usermenu-nick {
    font-size: 18px !important;
  }
  .kiwi-userbox .ccup-profile,
  .kiwi-statebrowser-usermenu .ccup-profile {
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
    margin: 9px !important;
    padding: 0 11px 11px !important;
  }
  .kiwi-userbox .ccup-item,
  .kiwi-statebrowser-usermenu .ccup-item {
    grid-template-columns: minmax(54px, 68px) minmax(0, 1fr) !important;
    column-gap: 7px !important;
  }
  .kiwi-userbox .ccup-private-action,
  .kiwi-statebrowser-usermenu .ccup-private-action {
    min-height: 44px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .kiwi-userbox, .kiwi-statebrowser-usermenu { scroll-behavior: auto !important; }
}
