/* ============================================
   KELIBATMU V2 - PROFILE STATUS + ACTIVITY
   Namespace: kv2-profile-
   ============================================ */

.kv2-profile-status-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.kv2-profile-status-card {
  position: relative;
  min-height: 0;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 16px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 0%, rgba(224, 148, 113, 0.12), transparent 32%),
    rgba(255, 255, 255, 0.035);
  transition:
    transform var(--transition-smooth, 0.3s) var(--ease-premium, ease),
    background var(--transition-smooth, 0.3s) var(--ease-premium, ease);
}

.kv2-profile-status__composer {
  margin-bottom: 14px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 16px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.026);
}

.kv2-profile-status.kv2-profile-status--composer-open {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.kv2-profile-status__composer .kv2-composer__trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(212, 175, 55, 0.28);
  border-radius: 16px;
  padding: 8px 10px;
  color: var(--kv2-profile-faint);
  background: rgba(255, 255, 255, 0.045);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.kv2-composer__trigger-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  overflow: hidden;
  border-radius: 12px;
  color: var(--kv2-profile-ember);
  background: rgba(255, 255, 255, 0.08);
  font-weight: 850;
}

.kv2-composer__trigger-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv2-composer__trigger-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.kv2-composer__trigger-icon {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  color: rgba(255, 255, 255, 0.84);
}

.kv2-composer__trigger-icon svg,
.kv2-composer-modal__close svg,
.kv2-profile-status__mood-chip svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.kv2-composer-modal[hidden] {
  display: none;
}

.kv2-composer-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  align-items: end;
}

.kv2-composer-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.68);
  backdrop-filter: blur(14px);
  cursor: pointer;
}

.kv2-composer-modal__sheet {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: min(100%, 640px);
  max-height: min(92vh, 760px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 22px 22px 0 0;
  padding: 0;
  background: rgba(12, 15, 17, 0.96);
  box-shadow: 0 -20px 70px rgba(0, 0, 0, 0.52);
}

.kv2-composer-modal__content {
  display: grid;
  gap: 12px;
  min-height: 0;
  padding: 14px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.kv2-composer-modal__sheet > .kv2-composer__actions {
  flex: 0 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 12px;
  background: rgba(12, 15, 17, 0.98);
}

@media (max-width: 760px) {
  body.kv2-profile-composer-open .navbar,
  body.kv2-profile-composer-open .mobile-top-bar,
  body.kv2-profile-composer-open .mobile-nav-overlay,
  body.kv2-profile-composer-open .kv2-mbn,
  body.kv2-profile-composer-open .global-player,
  body.kv2-profile-composer-open .global-player-container {
    display: none !important;
  }

  .kv2-composer-modal {
    inset: var(--kv2-composer-viewport-top, 0px) 0 auto;
    z-index: var(--z-modal, 800);
    height: var(--kv2-composer-viewport-height, 100dvh);
    align-items: end;
  }

  .kv2-composer-modal__sheet {
    width: 100%;
    height: calc(100% - 8px);
    max-height: none;
    border-radius: 18px 18px 0 0;
    padding: 0;
  }

  .kv2-composer-modal__header {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 58px;
    padding: max(8px, env(safe-area-inset-top)) 14px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(12, 15, 17, 0.98);
  }

  .kv2-composer-modal__content {
    padding: 14px max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
  }

  .kv2-composer-modal__sheet > .kv2-composer__actions {
    display: none;
  }

  .kv2-profile-status__composer-input {
    min-height: 140px;
    resize: none;
  }
}

.kv2-composer-modal__header {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(12, 15, 17, 0.98);
}

.kv2-composer-modal__header strong {
  color: var(--kv2-profile-ink);
  font-size: var(--kv2-font-card-title);
  text-align: center;
}

.kv2-composer-modal__close,
.kv2-composer-modal__back,
.kv2-composer-modal__cancel,
.kv2-composer-modal__header-submit,
.kv2-composer-modal__header-next {
  border: 0;
  color: var(--kv2-profile-ink);
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.kv2-composer-modal__close,
.kv2-composer-modal__back {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  color: var(--kv2-profile-ink);
  transition: background 0.15s ease;
}

.kv2-composer-modal__close:hover,
.kv2-composer-modal__back:hover {
  background: rgba(255, 255, 255, 0.08);
}

.kv2-composer-modal__close svg,
.kv2-composer-modal__back svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.kv2-composer-modal__header-spacer {
  width: 36px;
  height: 36px;
}

.kv2-composer-modal__cancel {
  color: var(--kv2-profile-ember);
  font-weight: 800;
}

.kv2-composer-modal__header-submit,
.kv2-composer-modal__header-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  color: #0b0b0d;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.98), rgba(147, 109, 28, 0.98));
  font-size: var(--kv2-font-button);
  font-weight: 800;
  transition: opacity 0.2s ease, transform 0.15s ease;
}

.kv2-composer-modal__header-next:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

/* Step Panels */
.kv2-composer-step {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.kv2-composer-step[hidden] {
  display: none !important;
}

.kv2-composer-step > .kv2-composer-modal__content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Composer Author Header */
.kv2-composer-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.kv2-composer-author__avatar {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border-radius: 50%;
  color: var(--kv2-profile-ember);
  background: rgba(224, 148, 113, 0.16);
  font-weight: 800;
}

.kv2-composer-author__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv2-composer-author__info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.kv2-composer-author__name {
  color: var(--kv2-profile-ink);
  font-size: var(--kv2-font-small);
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kv2-composer-author__audience-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 4px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  padding: 2px 9px;
  color: var(--kv2-profile-faint);
  background: rgba(255, 255, 255, 0.05);
  font: inherit;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.kv2-composer-author__audience-badge:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

/* Removable Context Chips Row (Mood / Tag / Location) */
.kv2-composer-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.kv2-composer-chips[hidden] {
  display: none !important;
}

.kv2-composer-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(224, 148, 113, 0.35);
  border-radius: 999px;
  padding: 3px 10px;
  color: var(--kv2-profile-ember);
  background: rgba(224, 148, 113, 0.12);
  font-size: 12px;
  font-weight: 700;
}

.kv2-composer-chip[hidden] {
  display: none !important;
}

.kv2-composer-chip__remove {
  display: grid;
  place-items: center;
  border: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  font-size: 11px;
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.15s ease;
}

.kv2-composer-chip__remove:hover {
  opacity: 1;
}

/* Attached Photo Card */
.kv2-composer-attached-photo {
  position: relative;
  width: 100%;
  max-height: 220px;
  margin: 10px 0;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.4);
}

.kv2-composer-attached-photo[hidden] {
  display: none !important;
}

.kv2-composer-attached-photo img {
  display: block;
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  border-radius: 14px;
}

.kv2-composer-attached-photo__remove {
  position: absolute;
  top: 8px;
  right: 8px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.65);
  cursor: pointer;
  transition: background 0.15s ease;
}

.kv2-composer-attached-photo__remove:hover {
  background: rgba(0, 0, 0, 0.85);
}

.kv2-composer-attached-photo__remove svg,
.kv2-composer-attached-song__remove svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

/* Attached Song Card Preview */
.kv2-composer-attached-song {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 36px;
  gap: 10px;
  align-items: center;
  margin: 10px 0;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.04);
}

.kv2-composer-attached-song[hidden] {
  display: none !important;
}

.kv2-composer-attached-song__art {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border-radius: 10px;
  color: var(--kv2-profile-ember);
  background: rgba(255, 255, 255, 0.08);
  font-weight: 900;
}

.kv2-composer-attached-song__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv2-composer-attached-song__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.kv2-composer-attached-song__copy strong {
  color: var(--kv2-profile-ink);
  font-size: 13px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kv2-composer-attached-song__copy small {
  color: var(--kv2-profile-faint);
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kv2-composer-attached-song__remove {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  color: var(--kv2-profile-ember);
  background: transparent;
  cursor: pointer;
  transition: background 0.15s ease;
}

.kv2-composer-attached-song__remove:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* Bottom 5-Icon Action Toolbar */
.kv2-composer-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex: 0 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 8px 12px max(8px, env(safe-area-inset-bottom));
  background: rgba(12, 15, 17, 0.98);
}

.kv2-composer-toolbar__btn {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  padding: 0;
  color: var(--kv2-profile-faint);
  background: transparent;
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease;
}

.kv2-composer-toolbar__btn:hover {
  color: var(--kv2-profile-ink);
  background: rgba(255, 255, 255, 0.06);
}

.kv2-composer-toolbar__btn--active {
  color: var(--kv2-profile-ember);
  background: rgba(224, 148, 113, 0.14);
}

.kv2-composer-toolbar__btn svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Internal Bottom Sheets / Dialog Panels */
.kv2-composer-sheet {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 10;
  max-height: 80%;
  overflow-y: auto;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px 18px 0 0;
  padding: 16px;
  background: #14171a;
  box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.6);
  animation: kv2-sheet-slide-up 0.22s ease-out;
}

.kv2-composer-sheet[hidden] {
  display: none !important;
}

/* Phase 2C — the sheet must never swallow the action toolbar.
 *
 * These sheets were anchored with `inset: auto 0 0 0` against
 * `.kv2-composer-modal__sheet`, whose bottom border edge is exactly the action
 * toolbar's bottom border edge (the toolbar is the last in-flow child of the
 * step, and the desktop `.kv2-composer__actions` block is display:none on
 * mobile). The sheet therefore landed precisely on top of the action toolbar
 * and, with `z-index: 10` and an opaque background, absorbed every tap aimed at
 * it: while Tag People was open the Location and Song icons became unclickable
 * and the composer looked broken until the sheet was closed by hand.
 *
 * Pinning the sheet to the composer stage (`.kv2-composer-modal` is already
 * `position: fixed`, so it is the containing block) and reserving the toolbar's
 * height at the bottom keeps the panel bottom-anchored exactly as before, while
 * guaranteeing the action bar stays uncovered and tappable.
 *
 * `--kv2-composer-sheet-reserve` = the 12px gap already present between the
 * scrollable content and the toolbar (content bottom 580, toolbar top 592 in a
 * 642px stage) plus the 61px toolbar (8px top padding + 44px button + 8px
 * bottom padding + 1px top border; the five buttons are a fixed 44px on one
 * non-wrapping row).
 *
 * The reserve uses `max()`, not addition, so it stays the plain 73px gap on a
 * normal keyboardless screen — where the toolbar already clears the safe area —
 * and only grows for a real safe-area inset.
 */
.kv2-composer-sheet {
  position: fixed;
  inset: auto 0 var(--kv2-composer-sheet-reserve, 73px) 0;
  max-height: calc(
    var(--kv2-composer-viewport-height, 100dvh) - var(--kv2-composer-sheet-reserve, 73px) - 8px
  );
}

.kv2-composer-modal__sheet > .kv2-composer-sheet {
  z-index: 11;
}

@supports (bottom: env(safe-area-inset-bottom)) {
  .kv2-composer-sheet {
    --kv2-composer-sheet-reserve: max(73px, env(safe-area-inset-bottom));
  }
}

@keyframes kv2-sheet-slide-up {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

.kv2-composer-sheet__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.kv2-composer-sheet__header strong {
  color: var(--kv2-profile-ink);
  font-size: 16px;
  font-weight: 800;
}

.kv2-composer-sheet__close {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  color: var(--kv2-profile-faint);
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.kv2-composer-sheet__actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}

.kv2-composer-sheet__clear {
  border: 0;
  padding: 4px 8px;
  color: var(--kv2-profile-ember);
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

/* 15 Mood Grid */
.kv2-composer-sheet__mood-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  max-height: 280px;
  overflow-y: auto;
  padding-bottom: 8px;
}

.kv2-composer-mood-cell {
  position: relative;
  cursor: pointer;
}

.kv2-composer-mood-cell input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.kv2-composer-mood-cell__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 64px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 8px 4px;
  background: rgba(255, 255, 255, 0.035);
  text-align: center;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.kv2-composer-mood-cell__emoji {
  font-size: 20px;
  line-height: 1;
}

.kv2-composer-mood-cell__label {
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 95%;
}

.kv2-composer-mood-cell input:checked + .kv2-composer-mood-cell__inner {
  border-color: var(--kv2-profile-ember);
  background: rgba(224, 148, 113, 0.18);
}

.kv2-composer-mood-cell input:checked + .kv2-composer-mood-cell__inner .kv2-composer-mood-cell__label {
  color: #fff;
}

/* Tag / Location Notice Sheet */
.kv2-composer-notice {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 16px 8px 8px;
}

.kv2-composer-notice__icon {
  font-size: 36px;
  margin-bottom: 8px;
}

.kv2-composer-notice strong {
  color: var(--kv2-profile-ink);
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 6px;
}

.kv2-composer-notice p {
  color: var(--kv2-profile-faint);
  font-size: 13px;
  line-height: 1.5;
  margin: 0 0 16px 0;
  max-width: 320px;
}

.kv2-composer-notice__btn {
  border: 0;
  border-radius: 999px;
  padding: 8px 24px;
  color: #0b0b0d;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.95), rgba(147, 109, 28, 0.95));
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

/* Tag People Sheet */
.kv2-tag-search-box,
.kv2-location-search-box {
  margin-bottom: 10px;
}

.kv2-tag-search-input,
.kv2-location-search-input {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--kv2-profile-ink);
  font: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.kv2-tag-search-input:focus,
.kv2-location-search-input:focus {
  border-color: var(--kv2-profile-ember);
  background: rgba(255, 255, 255, 0.07);
}

.kv2-tag-selected-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.kv2-tag-selected-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(224, 148, 113, 0.18);
  border: 1px solid rgba(224, 148, 113, 0.35);
  color: var(--kv2-profile-ember);
  font-size: 12px;
  font-weight: 700;
}

.kv2-tag-selected-pill button {
  border: none;
  background: transparent;
  color: var(--kv2-profile-ember);
  cursor: pointer;
  padding: 0;
  font-size: 12px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

.kv2-tag-search-results {
  max-height: 280px;
  overflow-y: auto;
}

.kv2-tag-search-hint,
.kv2-tag-search-loading,
.kv2-tag-search-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 12px;
  color: var(--kv2-profile-faint);
  font-size: 13px;
  text-align: center;
}

.kv2-tag-search-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.15);
  border-top-color: var(--kv2-profile-ember);
  border-radius: 50%;
  animation: kv2-spin 0.8s linear infinite;
}

@keyframes kv2-spin {
  to { transform: rotate(360deg); }
}

.kv2-tag-results-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* The tag-search state blocks are toggled with the `hidden` attribute, but the
   `display: flex` rules above outrank the user-agent `[hidden] { display: none }`
   rule (author styles win at equal specificity), which left stale states visible
   alongside real results. Same convention as `.kv2-composer-sheet[hidden]`. */
.kv2-tag-search-hint[hidden],
.kv2-tag-search-loading[hidden],
.kv2-tag-search-empty[hidden],
.kv2-tag-results-list[hidden] {
  display: none !important;
}

.kv2-tag-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--kv2-profile-ink);
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease, border-color 0.15s ease;
  font: inherit;
}

.kv2-tag-result-item:hover {
  background: rgba(255, 255, 255, 0.06);
}

.kv2-tag-result-item--selected {
  background: rgba(224, 148, 113, 0.14);
  border-color: rgba(224, 148, 113, 0.3);
}

.kv2-tag-result-avatar-wrap {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
}

.kv2-tag-result-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
}

.kv2-tag-result-avatar-fallback {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(224, 148, 113, 0.2);
  color: var(--kv2-profile-ember);
  font-weight: 800;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kv2-tag-result-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.kv2-tag-result-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--kv2-profile-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kv2-tag-result-handle {
  font-size: 12px;
  color: var(--kv2-profile-faint);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kv2-tag-result-item__check {
  color: var(--kv2-profile-ember);
  font-weight: 800;
  font-size: 16px;
  flex-shrink: 0;
}

/* Location Sheet */
.kv2-location-clear-wrap {
  margin-bottom: 8px;
  text-align: right;
}

.kv2-location-clear-btn {
  border: none;
  background: transparent;
  color: var(--kv2-profile-ember);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  padding: 4px 8px;
}

.kv2-location-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 280px;
  overflow-y: auto;
}

.kv2-location-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--kv2-profile-ink);
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease, border-color 0.15s ease;
  font: inherit;
}

.kv2-location-item:hover {
  background: rgba(255, 255, 255, 0.06);
}

.kv2-location-item--selected {
  background: rgba(224, 148, 113, 0.14);
  border-color: rgba(224, 148, 113, 0.3);
  font-weight: 700;
  color: var(--kv2-profile-ember);
}

.kv2-location-item--custom {
  background: rgba(224, 148, 113, 0.1);
  border-color: rgba(224, 148, 113, 0.25);
  color: var(--kv2-profile-ember);
  font-weight: 700;
}

.kv2-location-item__icon {
  font-size: 16px;
  flex-shrink: 0;
}

.kv2-location-item__text {
  flex: 1;
  font-size: 14px;
}

/* Card Author Context (with @user at Location) */
.kv2-profile-status-author__context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.4;
  color: var(--kv2-profile-faint);
}

.kv2-profile-status-author__tags {
  display: inline;
}

.kv2-profile-status-author__tag-link {
  color: var(--kv2-profile-ember);
  font-weight: 700;
  text-decoration: none;
}

.kv2-profile-status-author__tag-link:hover {
  text-decoration: underline;
}

.kv2-profile-status-author__location {
  display: inline;
}

.kv2-profile-status-author__location-name {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
}

/* STEP 2: Status Settings Styling */
.kv2-settings-group {
  margin-bottom: 16px;
}

.kv2-settings-group__title {
  margin: 0 0 8px 0;
  color: var(--kv2-profile-ink);
  font-size: 14px;
  font-weight: 800;
}

.kv2-settings-card {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.035);
}

.kv2-settings-option {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 22px;
  gap: 10px;
  align-items: center;
  padding: 10px 6px;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s ease;
}

.kv2-settings-option:not(:last-child) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.kv2-settings-option:hover {
  background: rgba(255, 255, 255, 0.04);
}

.kv2-settings-option__icon {
  font-size: 20px;
  text-align: center;
}

.kv2-settings-option__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.kv2-settings-option__text strong {
  color: var(--kv2-profile-ink);
  font-size: 13px;
  font-weight: 700;
}

.kv2-settings-option__text small {
  color: var(--kv2-profile-faint);
  font-size: 11px;
}

.kv2-settings-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.kv2-settings-radio-indicator {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: border-color 0.15s ease;
}

.kv2-settings-radio-indicator::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  transform: scale(0);
  transition: transform 0.15s ease;
}

.kv2-settings-option input:checked ~ .kv2-settings-radio-indicator {
  border-color: #fff;
}

.kv2-settings-option input:checked ~ .kv2-settings-radio-indicator::after {
  transform: scale(1);
}

/* Settings Step Footer (Share Button) */
.kv2-composer-settings-footer {
  flex: 0 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 12px 14px max(14px, env(safe-area-inset-bottom));
  background: rgba(12, 15, 17, 0.98);
}

.kv2-composer-share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 14px;
  color: #0b0b0d;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.98), rgba(147, 109, 28, 0.98));
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.15s ease;
}

.kv2-composer-share-btn:hover {
  opacity: 0.95;
}

.kv2-composer-share-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Publish in flight: publishing is a normal HTML POST, so this is the only
   feedback the user gets until the server answers. Keep the control visibly
   busy rather than letting the composer look frozen. */
.kv2-composer-share-btn--submitting,
.kv2-composer-share-btn[aria-busy="true"] {
  opacity: 0.72;
  cursor: progress;
}

.kv2-composer-share-btn--submitting::after {
  content: "";
  width: 14px;
  height: 14px;
  margin-left: 8px;
  border: 2px solid rgba(11, 11, 13, 0.35);
  border-top-color: #0b0b0d;
  border-radius: 50%;
  animation: kv2-spin 0.7s linear infinite;
}

@media (max-width: 760px) {
  .kv2-composer-modal__header-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

.kv2-profile-status-author {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin-bottom: 12px;
}

.kv2-profile-status-author__avatar {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border-radius: 14px;
  color: var(--kv2-profile-ember);
  background: rgba(255, 255, 255, 0.07);
  font-size: var(--kv2-font-card-title);
  font-weight: 800;
  text-decoration: none;
}

.kv2-profile-status-author__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv2-profile-status-author__copy {
  min-width: 0;
}

.kv2-profile-status-author__name {
  display: block;
  overflow: hidden;
  color: var(--kv2-profile-ink);
  font-size: var(--kv2-font-small);
  font-weight: 800;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kv2-profile-status-author__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 2px;
  color: var(--kv2-profile-faint);
  font-size: var(--kv2-font-meta);
  line-height: var(--kv2-line-meta);
}

.kv2-profile-status-author__meta a {
  color: var(--kv2-profile-ember);
  font-weight: 750;
  text-decoration: none;
}

.kv2-profile-status__composer-input,
.kv2-profile-status__composer-mood {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  color: var(--kv2-profile-ink);
  background: rgba(5, 5, 8, 0.38);
  font: inherit;
  font-size: var(--kv2-font-small);
}

.kv2-profile-status__mood-picker {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  border: 0;
  padding: 0;
}

.kv2-profile-status__mood-title {
  flex: 0 0 100%;
  color: var(--kv2-profile-faint);
  font-size: var(--kv2-font-meta);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kv2-profile-status__mood-option {
  position: relative;
}

.kv2-profile-status__mood-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.kv2-profile-status__mood-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  padding: 0 11px;
  color: rgba(255, 255, 255, 0.74);
  background: rgba(255, 255, 255, 0.05);
  font-size: var(--kv2-font-button);
  font-weight: 750;
  cursor: pointer;
}

.kv2-profile-status__mood-chip svg {
  width: 17px;
  height: 17px;
  color: var(--kv2-profile-ember);
}

.kv2-profile-status__mood-option input:checked + .kv2-profile-status__mood-chip {
  border-color: rgba(224, 148, 113, 0.48);
  color: #fff;
  background: rgba(150, 48, 62, 0.44);
}

.kv2-profile-status__composer-input {
  line-height: var(--kv2-line-small);
}

.kv2-profile-status__composer-mood {
  min-width: 160px;
  padding: 0 13px;
  min-height: 38px;
}

.kv2-profile-status__composer-file {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.kv2-profile-status__composer-media-button,
.kv2-profile-status__composer-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.kv2-profile-status__composer-media-button span,
.kv2-profile-status__composer-link > span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.055);
  font-size: var(--kv2-font-button);
  font-weight: 700;
  cursor: pointer;
}

.kv2-profile-status__composer-link {
  flex: 1 1 260px;
}

.kv2-profile-status__song-picker-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border: 1px solid rgba(160, 255, 170, 0.18);
  border-radius: 999px;
  padding: 0 12px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(160, 255, 170, 0.08);
  font: inherit;
  font-size: var(--kv2-font-button);
  font-weight: 750;
  cursor: pointer;
}

.kv2-profile-status__composer-input:focus,
.kv2-profile-status__composer-mood:focus {
  outline: none;
  border-color: rgba(224, 148, 113, 0.32);
  box-shadow: 0 0 0 3px rgba(224, 148, 113, 0.08);
}

.kv2-profile-status__composer-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 11px;
}

.kv2-profile-status__song-picker[hidden] {
  display: none;
}

.kv2-profile-status__song-picker {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 10px;
  background: rgba(0, 0, 0, 0.22);
}

.kv2-profile-status__song-picker-search {
  display: grid;
  gap: 6px;
  color: var(--kv2-profile-faint);
  font-size: var(--kv2-font-meta);
  font-weight: 800;
  text-transform: uppercase;
}

.kv2-profile-status__song-picker-search input {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 0 11px;
  color: var(--kv2-profile-ink);
  background: rgba(5, 5, 8, 0.44);
  font: inherit;
  font-size: var(--kv2-font-small);
  text-transform: none;
}

.kv2-profile-status__song-picker-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  max-height: 230px;
  overflow: auto;
}

.kv2-profile-status__song-picker-item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-height: 50px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 6px;
  color: inherit;
  background: rgba(255, 255, 255, 0.045);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.kv2-profile-status__song-picker-art,
.kv2-profile-status-preview-song__art {
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 10px;
  color: var(--kv2-profile-ember);
  background: rgba(255, 255, 255, 0.075);
  font-weight: 900;
}

.kv2-profile-status__song-picker-art {
  width: 38px;
  height: 38px;
}

.kv2-profile-status__song-picker-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv2-profile-status__song-picker-copy,
.kv2-profile-status-preview-song__copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.kv2-profile-status__song-picker-copy strong,
.kv2-profile-status__song-picker-copy small,
.kv2-profile-status-preview-song__copy strong,
.kv2-profile-status-preview-song__copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kv2-profile-status__song-picker-copy strong,
.kv2-profile-status-preview-song__copy strong {
  color: var(--kv2-profile-ink);
  font-size: var(--kv2-font-caption);
}

.kv2-profile-status__song-picker-copy small,
.kv2-profile-status-preview-song__copy small,
.kv2-profile-status__song-picker-empty {
  color: var(--kv2-profile-faint);
  font-size: var(--kv2-font-meta);
}

.kv2-profile-status-preview {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(160, 255, 170, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
}

.kv2-profile-status-preview .kv2-profile-status-body {
  display: block;
  overflow: visible;
  min-height: 24px;
  -webkit-line-clamp: unset;
}

.kv2-profile-status-preview-song {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  margin-top: 10px;
  border: 1px solid rgba(160, 255, 170, 0.14);
  border-radius: 12px;
  padding: 8px;
  background: rgba(160, 255, 170, 0.055);
}

.kv2-profile-status-preview-song[hidden] {
  display: none;
}

.kv2-profile-status-preview-song__art {
  width: 38px;
  height: 38px;
}

.kv2-profile-status__composer-public {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--kv2-profile-muted);
  font-size: var(--kv2-font-caption);
}

.kv2-profile-status__composer-public input {
  accent-color: rgba(224, 148, 113, 0.84);
}

.kv2-profile-status__composer-submit,
.kv2-profile-status__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  padding: 0 13px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.055);
  font: inherit;
  font-size: var(--kv2-font-button);
  font-weight: var(--kv2-weight-button);
  cursor: pointer;
}

.kv2-profile-status__composer-submit {
  border-color: rgba(212, 175, 55, 0.36);
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.95), rgba(147, 109, 28, 0.95));
  color: #0b0b0d;
}

.kv2-profile-status__song {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  margin: 10px 0 0;
  border: 0;
  border-radius: 999px;
  padding: 0;
  color: var(--kv2-profile-ember);
  background: transparent;
  font: inherit;
  font-size: var(--kv2-font-caption);
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.kv2-profile-status__song span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Keep the Song control inside the image, separate from its click target. */
.kv2-profile-status__image-frame {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: 14px;
}
.kv2-profile-status__song--image {
  position: absolute;
  left: 12px;
  bottom: 12px;
  max-width: calc(100% - 24px);
  margin: 0;
  padding: 8px 12px;
  color: var(--text-muted, rgba(235, 244, 235, .72));
  background: rgba(0, 0, 0, 0.40);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.24);
}

/* Character counter */
.kv2-profile-status__composer-counter {
  margin-top: 4px;
  text-align: right;
  font-size: var(--kv2-font-caption);
  color: var(--kv2-profile-muted);
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}

.kv2-profile-status__composer-counter--warning {
  color: #f2b84b;
}

.kv2-profile-status__composer-counter--danger {
  color: #ff7a7a;
}

/* Compact engagement row */
.kv2-profile-status__engagement {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.kv2-profile-status__engagement-form {
  display: inline-flex;
  margin: 0;
  padding: 0;
}

.kv2-profile-status__engagement form {
  margin: 0;
}

.kv2-profile-status__like,
.kv2-profile-status__comment {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  padding: 6px 10px;
  color: var(--kv2-profile-faint);
  background: rgba(255, 255, 255, 0.045);
  font-size: var(--kv2-font-caption);
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.kv2-profile-status__like:hover,
.kv2-profile-status__comment:hover {
  border-color: rgba(224, 148, 113, 0.24);
  color: var(--kv2-profile-ember);
}

.kv2-profile-status__like-icon {
  color: inherit;
  font-size: 15px;
  line-height: 1;
}

.kv2-profile-status__like--active {
  border-color: rgba(224, 72, 92, 0.4);
  color: #ff5d70;
  background: rgba(224, 72, 92, 0.12);
}

/* Compact owner action row */
.kv2-profile-status__action-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.kv2-profile-status__action-link,
.kv2-profile-status__action-button {
  display: inline-flex;
  align-items: center;
  background: none;
  border: none;
  color: var(--kv2-profile-muted);
  font-size: var(--kv2-font-caption);
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  transition: color 0.2s ease;
}

.kv2-profile-status__action-link:hover,
.kv2-profile-status__action-button:hover {
  color: var(--kv2-profile-ember);
  text-decoration: underline;
}

.kv2-profile-status__action-separator {
  color: var(--kv2-profile-muted);
  font-size: var(--kv2-font-caption);
  opacity: 0.6;
}

.kv2-profile-status__action-danger {
  color: rgba(255, 170, 170, 0.86);
}

.kv2-profile-status__action-danger:hover {
  color: rgba(255, 120, 120, 1);
}

.kv2-profile-status__action-form {
  display: inline-flex;
  margin: 0;
  padding: 0;
}

.kv2-profile-status__media {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  overflow: hidden;
  max-height: 420px;
  border-radius: 14px;
}

.kv2-profile-status__media--stacked {
  grid-template-rows: minmax(0, 1fr) 88px;
}

.kv2-profile-status__media-button,
.kv2-profile-status__embed-preview {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.24);
  cursor: pointer;
}

.kv2-profile-status__image {
  display: block;
  width: 100%;
  height: min(260px, 48vw);
  max-height: 260px;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.kv2-profile-status__media-button:hover .kv2-profile-status__image {
  transform: scale(1.015);
}

.kv2-profile-status__embed-preview {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 104px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.86);
  background:
    linear-gradient(135deg, rgba(255, 0, 76, 0.2), rgba(0, 0, 0, 0.32)),
    rgba(0, 0, 0, 0.28);
}

.kv2-profile-status__embed-play {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  clip-path: polygon(34% 24%, 34% 76%, 78% 50%);
}

.kv2-profile-status__embed-label {
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.68);
  font-size: var(--kv2-font-caption);
  font-weight: 800;
}

.kv2-profile-status__embed-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  color: var(--kv2-profile-ink);
  background: rgba(255, 255, 255, 0.055);
  font-size: var(--kv2-font-caption);
  font-weight: 700;
  text-decoration: none;
}

.kv2-profile-status__viewer[hidden] {
  display: none;
}

.kv2-profile-status__viewer {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 18px;
}

.kv2-profile-status__viewer-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.78);
  cursor: pointer;
}

.kv2-profile-status__viewer-panel {
  position: relative;
  z-index: 1;
  width: min(960px, 100%);
  max-height: min(82vh, 760px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background: #050508;
}

.kv2-profile-status__viewer-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  padding: 7px 10px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(0, 0, 0, 0.54);
  font: inherit;
  font-size: var(--kv2-font-caption);
  font-weight: 800;
  cursor: pointer;
}

.kv2-profile-status__viewer-content img {
  display: block;
  width: 100%;
  max-height: 82vh;
  object-fit: contain;
}

@media (min-width: 761px) {
  .kv2-profile-status__media:not(.kv2-profile-status__media--stacked) {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 520px;
    background: rgba(0, 0, 0, 0.2);
  }

  .kv2-profile-status__media:not(.kv2-profile-status__media--stacked) .kv2-profile-status__image {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: contain;
  }

  .kv2-profile-status__media--stacked .kv2-profile-status__image {
    object-fit: contain;
  }
}

@media (max-width: 760px) {
  body.kv2-profile-media-viewer-open .navbar,
  body.kv2-profile-media-viewer-open .mobile-top-bar,
  body.kv2-profile-media-viewer-open .mobile-nav-overlay,
  body.kv2-profile-media-viewer-open .kv2-mbn,
  body.kv2-profile-media-viewer-open .global-player,
  body.kv2-profile-media-viewer-open .global-player-container {
    display: none !important;
  }

  .kv2-profile-status__viewer {
    inset: var(--kv2-media-viewer-viewport-top, 0px) 0 auto;
    z-index: var(--z-fullscreen, 850);
    width: 100%;
    height: var(--kv2-media-viewer-viewport-height, 100dvh);
    padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    overflow: hidden;
  }

  .kv2-profile-status__viewer-panel {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    max-height: none;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .kv2-profile-status__viewer-content {
    display: grid;
    place-items: center;
    width: 100%;
    height: calc(var(--kv2-media-viewer-viewport-height, 100dvh) - max(10px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom)));
    max-height: 100%;
    min-width: 0;
    min-height: 0;
  }

  .kv2-profile-status__viewer-content img {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .kv2-profile-status__viewer-close {
    top: max(10px, env(safe-area-inset-top));
    right: max(10px, env(safe-area-inset-right));
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #fff;
    background: rgba(0, 0, 0, 0.72);
    font-size: 1.75rem;
    line-height: 1;
  }
}

.kv2-profile-status__viewer-embed {
  aspect-ratio: 16 / 9;
}

.kv2-profile-status__viewer-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 560px) {
  .kv2-profile-status-grid {
    grid-template-columns: 1fr;
  }

  .kv2-profile-status-card {
    padding: 14px;
    border-radius: 16px;
  }

  .kv2-profile-status__media:not(.kv2-profile-status__media--stacked) {
    width: 100%;
    max-width: 100%;
    max-height: none;
  }

  .kv2-profile-status__media:not(.kv2-profile-status__media--stacked) .kv2-profile-status__image {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: min(78dvh, calc((100vw - 48px) * 1.25));
    margin-inline: auto;
    object-fit: contain;
  }

  .kv2-profile-status__media--stacked .kv2-profile-status__image {
    height: 100%;
    max-height: none;
    object-fit: contain;
  }

  .kv2-profile-status__composer-link {
    flex-basis: 100%;
  }

  .kv2-profile-status__song-picker-toggle {
    flex: 1 1 120px;
  }

  .kv2-profile-status__song-picker-list {
    grid-template-columns: 1fr;
  }

  .kv2-profile-status-body .inline-song-embed,
  .kv2-profile-status-detail__body .inline-song-embed {
    grid-template-columns: minmax(0, 1fr);
  }

  .kv2-profile-status-body .inline-song-btn,
  .kv2-profile-status-detail__body .inline-song-btn {
    width: auto;
  }
  
  /* Mobile adjustments for action row */
  .kv2-profile-status__action-row {
    gap: 6px;
  }
  
  .kv2-profile-status__engagement {
    gap: 6px;
  }
}

.kv2-profile-status__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.kv2-profile-status__empty {
  opacity: 0.82;
}

.kv2-profile-status-card:hover,
.kv2-profile-status-card.kv2-profile-status-card-open {
  transform: translateY(-2px);
  background:
    radial-gradient(circle at 18% 0%, rgba(224, 148, 113, 0.18), transparent 34%),
    rgba(255, 255, 255, 0.052);
}

.kv2-profile-status-topline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.kv2-profile-status-mood,
.kv2-profile-status-meta {
  font-size: var(--kv2-font-meta);
  line-height: var(--kv2-line-meta);
}

.kv2-profile-status-mood {
  color: var(--kv2-profile-ember);
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kv2-profile-status-meta {
  color: var(--kv2-profile-faint);
}

.kv2-profile-status-title {
  margin: 0 0 10px;
  color: var(--kv2-profile-ink);
  font-size: var(--kv2-font-card-title);
  line-height: var(--kv2-line-card-title);
}

.kv2-profile-status-body {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--kv2-profile-muted);
  font-size: var(--kv2-font-small);
  line-height: var(--kv2-line-small);
  white-space: pre-wrap;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.kv2-profile-status-body .inline-song-embed,
.kv2-profile-status-detail__body .inline-song-embed {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  margin-top: 10px;
  border: 0;
  border-radius: 999px;
  padding: 0;
  color: var(--kv2-profile-ember);
  background: transparent;
  cursor: pointer;
  white-space: normal;
}

.kv2-profile-status-body .inline-song-artwork,
.kv2-profile-status-detail__body .inline-song-artwork {
  display: none;
}

.kv2-profile-status-body .inline-song-artwork img,
.kv2-profile-status-detail__body .inline-song-artwork img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv2-profile-status-body .inline-song-meta,
.kv2-profile-status-detail__body .inline-song-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.kv2-profile-status-body .inline-song-meta::before,
.kv2-profile-status-detail__body .inline-song-meta::before {
  content: "\266A";
  color: var(--kv2-profile-ember);
  font-weight: 900;
}

.kv2-profile-status-body .inline-song-meta h4,
.kv2-profile-status-detail__body .inline-song-meta h4,
.kv2-profile-status-body .inline-song-meta p,
.kv2-profile-status-detail__body .inline-song-meta p {
  overflow: hidden;
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kv2-profile-status-body .inline-song-meta h4,
.kv2-profile-status-detail__body .inline-song-meta h4 {
  color: var(--kv2-profile-ink);
  font-size: var(--kv2-font-caption);
}

.kv2-profile-status-body .inline-song-meta h4::after,
.kv2-profile-status-detail__body .inline-song-meta h4::after {
  content: " \00B7";
  color: var(--kv2-profile-ember);
  margin-left: 4px;
}

.kv2-profile-status-body .inline-song-meta p,
.kv2-profile-status-detail__body .inline-song-meta p {
  color: var(--kv2-profile-ember);
  font-size: var(--kv2-font-caption);
  font-weight: 800;
}

.kv2-profile-status-body .inline-song-btn,
.kv2-profile-status-detail__body .inline-song-btn {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.kv2-profile-main--archive .kv2-profile-status-body {
  -webkit-line-clamp: 8;
}

.kv2-profile-status__card + .kv2-profile-status__card {
  border-top-color: rgba(255, 255, 255, 0.09);
}

.kv2-profile-status-toggle {
  display: inline-flex;
  margin-top: 8px;
  border: 0;
  padding: 0;
  color: var(--kv2-profile-mint);
  background: transparent;
  font: inherit;
  font-size: var(--kv2-font-button);
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}

.kv2-profile-status__archive-link-wrap {
  display: flex;
  justify-content: stretch;
  margin-top: 14px;
}

.kv2-profile-status__archive-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  padding: 0 14px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.055);
  font-size: var(--kv2-font-button);
  font-weight: 750;
  text-decoration: none;
  width: 100%;
}

.kv2-profile-status-detail {
  margin-top: 18px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 22px;
  background:
    radial-gradient(circle at 18% 0%, rgba(224, 148, 113, 0.12), transparent 32%),
    rgba(255, 255, 255, 0.035);
}

.kv2-profile-status-detail__body {
  margin: 0;
  color: var(--kv2-profile-muted);
  font-size: var(--kv2-font-body);
  line-height: var(--kv2-line-body);
  white-space: pre-wrap;
}

.kv2-profile-status-comments {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.kv2-profile-status-comment {
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
}

.kv2-profile-status-comment__meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--kv2-profile-faint);
  font-size: var(--kv2-font-meta);
}

.kv2-profile-status-comment__body {
  margin: 7px 0 0;
  color: var(--kv2-profile-muted);
  font-size: var(--kv2-font-small);
  line-height: var(--kv2-line-small);
  white-space: pre-wrap;
}

.kv2-profile-status-comment__like-form {
  margin: 8px 0 0;
}

.kv2-profile-status-comment__like {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  border: 0;
  border-radius: 999px;
  padding: 0 8px;
  color: var(--kv2-profile-faint);
  background: transparent;
  font: inherit;
  font-size: var(--kv2-font-meta);
  cursor: pointer;
}

.kv2-profile-status-comment__like:hover,
.kv2-profile-status-comment__like.is-liked {
  color: var(--kv2-profile-ember);
  background: rgba(212, 175, 55, 0.08);
}

.kv2-profile-status-comment__like.loading {
  opacity: 0.65;
  pointer-events: none;
}

.kv2-profile-status-comment-form {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.kv2-profile-status-comment-form textarea,
.kv2-profile-status-edit__field,
.kv2-profile-status-edit__textarea {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 12px;
  color: var(--kv2-profile-ink);
  background: rgba(5, 5, 8, 0.38);
  font: inherit;
  font-size: var(--kv2-font-small);
}

.kv2-profile-status-comment-form button,
.kv2-profile-status-edit__submit {
  justify-self: start;
  min-height: 36px;
  border: 1px solid rgba(212, 175, 55, 0.36);
  border-radius: 999px;
  padding: 0 14px;
  color: #0b0b0d;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.95), rgba(147, 109, 28, 0.95));
  font: inherit;
  font-size: var(--kv2-font-button);
  font-weight: var(--kv2-weight-button);
  cursor: pointer;
}

.kv2-profile-status-edit {
  display: grid;
  gap: 14px;
}

.kv2-profile-status-edit__label {
  display: grid;
  gap: 7px;
  color: var(--kv2-profile-faint);
  font-size: var(--kv2-font-caption);
  font-weight: 750;
}

.kv2-profile-status-edit__check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--kv2-profile-muted);
  font-size: var(--kv2-font-caption);
}

.kv2-profile-status__image--detail {
  height: min(520px, 62vw);
  max-height: 520px;
}

.kv2-profile-activity-list {
  display: grid;
  gap: 10px;
}

.kv2-profile-activity-item {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.028);
}

.kv2-profile-activity-label {
  color: var(--kv2-profile-ember);
  font-size: var(--kv2-font-meta);
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kv2-profile-activity-title {
  margin: 0;
  color: var(--kv2-profile-ink);
  font-size: var(--kv2-font-card-title);
}

.kv2-profile-activity-meta {
  margin: 4px 0 0;
  color: var(--kv2-profile-faint);
  font-size: var(--kv2-font-caption);
}

/* Expanded status body styles */
.kv2-profile-status-body--expanded,
.kv2-profile-status-card-open .kv2-profile-status-body {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

.kv2-profile-status-toggle {
  text-decoration: none;
}

.kv2-profile-token-link {
  color: var(--kv2-profile-ember);
  font-weight: 800;
  text-decoration: none;
}

.kv2-profile-token-link:hover {
  text-decoration: underline;
}

.kv2-profile-token-menu {
  position: absolute;
  z-index: 9999;
  display: grid;
  gap: 2px;
  max-height: min(240px, 42vh);
  overflow: auto;
  border: 1px solid rgba(141, 245, 143, 0.14);
  border-radius: 12px;
  padding: 4px;
  background: rgba(9, 15, 13, 0.97);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.36);
}

.kv2-profile-token-menu[hidden] {
  display: none;
}

.kv2-profile-token-menu__item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 0 8px;
  align-items: center;
  min-height: 56px;
  border: 0;
  border-radius: 9px;
  padding: 6px 8px;
  color: #fff;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.kv2-profile-token-menu__item[aria-selected="true"],
.kv2-profile-token-menu__item:hover {
  background: rgba(141, 245, 143, 0.1);
}

.kv2-profile-token-menu__item span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  overflow: hidden;
  border-radius: 999px;
  color: var(--color-primary, #8df58f);
  background: rgba(255, 255, 255, 0.08);
  font-size: 0.78rem;
  font-weight: 650;
}

.kv2-profile-token-menu__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kv2-profile-token-menu__item strong,
.kv2-profile-token-menu__item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.kv2-profile-token-menu__item strong {
  color: #fff;
  font-weight: 650;
  line-height: 1.3;
}

.kv2-profile-token-menu__item mark {
  border-radius: 3px;
  padding: 0 1px;
  color: #fff;
  background: rgba(141, 245, 143, 0.18);
}

.kv2-profile-token-menu__item small {
  color: rgba(255, 255, 255, 0.62);
  font-size: var(--kv2-font-meta);
  line-height: 1.35;
}

.kv2-profile-section-meta {
  margin: 6px 0 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: var(--kv2-font-small);
}

.kv2-profile-hashtag-related,
.kv2-profile-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
}

.kv2-profile-hashtag-related span,
.kv2-profile-pagination span {
  color: rgba(255, 255, 255, 0.58);
  font-size: var(--kv2-font-meta);
}

.kv2-profile-hashtag-related a,
.kv2-profile-pagination a {
  border: 1px solid rgba(212, 175, 55, 0.28);
  border-radius: 999px;
  padding: 7px 11px;
  color: var(--kv2-profile-ember);
  background: rgba(212, 175, 55, 0.08);
  font-size: var(--kv2-font-meta);
  font-weight: 800;
  text-decoration: none;
}

.kv2-profile-hashtag-related a:hover,
.kv2-profile-pagination a:hover {
  background: rgba(212, 175, 55, 0.16);
}

.kv2-anchor-highlight {
  animation: kv2-anchor-pulse 2.8s ease;
}

@keyframes kv2-anchor-pulse {
  0%, 100% { box-shadow: none; }
  18%, 70% { box-shadow: 0 0 0 3px var(--kv2-anchor-pulse-color, rgba(212, 175, 55, 0.24)); }
}

/* Notification targets share the existing comment-composer focus green. */
.kv2-status-comments-sheet .kv2-profile-status-comment[tabindex="-1"]:focus {
  outline: 2px solid rgba(137, 205, 139, 0.34);
  outline-offset: 2px;
}

.kv2-status-comments-sheet .kv2-profile-status-comment.kv2-anchor-highlight {
  --kv2-anchor-pulse-color: rgba(137, 205, 139, 0.24);
}

/* Modern scoped comment UI for status detail pages. */
#status-comments.kv2-profile-status-detail {
  border-color: rgba(155, 204, 158, 0.14);
  background:
    radial-gradient(circle at top left, rgba(119, 172, 122, 0.08), transparent 24rem),
    rgba(8, 18, 15, 0.72);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.28);
}

#status-comments .kv2-profile-section-heading {
  align-items: flex-end;
  gap: 12px;
}

#status-comments .kv2-profile-section-label {
  color: rgba(166, 219, 161, 0.86);
}

.kv2-profile-status-comment-form {
  margin-top: 16px;
}

.kv2-profile-status-comment-form__row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.kv2-profile-status-comment-form__shell {
  min-width: 0;
  border: 1px solid rgba(185, 221, 183, 0.14);
  border-radius: 20px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.035);
  transition: border-color 180ms ease, background 180ms ease;
}

.kv2-profile-status-comment-form textarea {
  height: 38px !important;
  min-height: 38px;
  border: 0;
  border-radius: 16px;
  padding: 7px 10px;
  color: rgba(244, 251, 244, 0.94);
  background: transparent;
  line-height: 1.45;
  resize: vertical;
  transition: min-height 180ms ease;
}

.kv2-profile-status-comment-form.kv2-comment-composer--active .kv2-profile-status-comment-form__shell,
.kv2-profile-status-comment-form.kv2-comment-composer--has-text .kv2-profile-status-comment-form__shell {
  border-color: rgba(155, 214, 151, 0.28);
  background: rgba(255, 255, 255, 0.045);
}

/* The composer stays close to a one-liner: a small growth allowance, not a
   fixed tall box, so it does not dwarf the comment it belongs to. */
.kv2-profile-status-comment-form.kv2-comment-composer--active textarea,
.kv2-profile-status-comment-form.kv2-comment-composer--has-text textarea {
  min-height: 52px;
}

.kv2-profile-status-comment-form textarea:focus {
  outline: 2px solid rgba(137, 205, 139, 0.34);
  outline-offset: 2px;
}

.kv2-profile-status-comment-form__actions {
  display: none;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}

.kv2-profile-status-comment-form.kv2-comment-composer--active .kv2-profile-status-comment-form__actions,
.kv2-profile-status-comment-form.kv2-comment-composer--has-text .kv2-profile-status-comment-form__actions,
.kv2-profile-status-comment-form--reply.kv2-reply-form--open .kv2-profile-status-comment-form__actions {
  display: flex;
}

.kv2-profile-status-comment-form button {
  justify-self: end;
  min-height: 34px;
  border: 1px solid rgba(155, 214, 151, 0.34);
  border-radius: 999px;
  padding: 0 16px;
  color: #06140e;
  background: linear-gradient(135deg, #a9e6a0, #5ebd72);
  box-shadow: 0 8px 20px rgba(62, 142, 82, 0.22);
}

.kv2-profile-status-comment-form button[data-kv2-reply-cancel] {
  color: rgba(225, 238, 225, 0.72);
  background: rgba(255, 255, 255, 0.045);
  box-shadow: none;
}


.kv2-profile-status-comment-form.kv2-facebook-composer .kv2-profile-status-comment__avatar--composer {
  width: 34px;
  height: 34px;
  font-size: var(--kv2-font-meta);
}

/* A hidden comment stays visible to its author and to moderators — flagged so
   the state is never ambiguous — but is excluded from the normal public reads
   (Memory Wall prefetch, Status Detail querysets, song and blog readers). */
.kv2-profile-status-comment--hidden .kv2-profile-status-comment__body {
  opacity: 0.55;
}

.kv2-comment-hidden-badge {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  padding: 1px 7px;
  color: rgba(233, 243, 233, 0.72);
  background: rgba(255, 255, 255, 0.06);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.kv2-profile-status-comment-form.kv2-facebook-composer {
  margin-top: 14px;
}

.kv2-profile-status-comment-form.kv2-facebook-composer button {
  min-height: 0;
}

.kv2-profile-status-comment-form.kv2-facebook-composer [data-kv2-composer-cancel] {
  color: #a9e6a0;
  background: transparent;
  box-shadow: none;
}

.kv2-profile-status-comments {
  gap: 14px;
  margin-top: 16px;
}

.kv2-profile-status-comment {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  padding: 8px 0;
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.kv2-profile-status-comment__main {
  min-width: 0;
}

.kv2-profile-status-comment__avatar {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  color: rgba(240, 252, 239, 0.95);
  background: linear-gradient(145deg, rgba(40, 68, 56, 0.9), rgba(8, 13, 12, 0.95));
  font-size: var(--kv2-font-small);
  font-weight: 850;
  text-decoration: none;
}

.kv2-profile-status-comment__avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.kv2-profile-status-comment__avatar--reply-composer,
.kv2-profile-status-comment--reply .kv2-profile-status-comment__avatar {
  width: 32px;
  height: 32px;
  font-size: var(--kv2-font-caption);
}

.kv2-profile-status-comment__meta {
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.kv2-profile-status-comment__meta strong {
  color: rgba(247, 252, 247, 0.96);
}

.kv2-profile-status-comment__meta span {
  color: rgba(214, 228, 214, 0.58);
}

.kv2-profile-status-comment__body {
  display: inline-block;
  margin-top: 5px;
  border-radius: 16px;
  padding: 8px 11px;
  color: rgba(235, 244, 235, 0.84);
  background: rgba(255, 255, 255, 0.06);
}

.kv2-profile-status-comment__like-form {
  display: inline-flex;
  margin: 7px 0 0;
}

.kv2-profile-status-comment__like,
.kv2-profile-status-comment__reply-toggle {
  min-height: 30px;
  border: 0;
  border-radius: 999px;
  padding: 0 9px;
  color: rgba(216, 230, 216, 0.72);
  background: transparent;
  font: inherit;
  font-size: var(--kv2-font-meta);
  cursor: pointer;
}

.kv2-profile-status-comment__like:hover,
.kv2-profile-status-comment__like.is-liked,
.kv2-profile-status-comment__reply-toggle:hover {
  color: #a9e6a0;
  background: rgba(122, 190, 125, 0.1);
}

.kv2-profile-status-comment__reply-toggle {
  display: inline-flex;
  align-items: center;
  margin-top: 7px;
}

.kv2-profile-status-comment-form--reply {
  margin-top: 12px;
}

.kv2-profile-status-comment-form--reply .kv2-profile-status-comment-form__row {
  grid-template-columns: 32px minmax(0, 1fr);
}

.kv2-profile-status-comment-form--reply .kv2-profile-status-comment-form__shell {
  border-radius: 18px;
  padding: 8px;
}

.kv2-profile-status-comment-form--reply textarea {
  height: 36px !important;
  min-height: 36px;
}

.kv2-profile-status-comment-form--reply.kv2-comment-composer--active textarea,
.kv2-profile-status-comment-form--reply.kv2-comment-composer--has-text textarea {
  height: 56px !important;
  min-height: 56px;
}

.kv2-profile-status-comment--reply {
  grid-template-columns: 32px minmax(0, 1fr);
  margin-top: 12px;
  margin-left: 14px;
  padding: 12px 0 0 14px;
  border-width: 0 0 0 1px;
  border-color: rgba(155, 214, 151, 0.22);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

@media (max-width: 640px) {
  #status-comments.kv2-profile-status-detail {
    padding: 14px;
    border-radius: 18px;
  }

  .kv2-profile-status-comment {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
    border-radius: 18px;
  }

  .kv2-profile-status-comment__avatar,
  .kv2-profile-status-comment__avatar--composer {
    width: 34px;
    height: 34px;
  }

  .kv2-profile-status-comment-form__row {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
  }

  .kv2-profile-status-comment--reply {
    margin-left: 2px;
    padding-left: 10px;
  }
}


/* Location sheet: live search, current location and attribution */
.kv2-location-current {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  margin-bottom: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(224, 148, 113, 0.25);
  border-radius: 12px;
  background: rgba(224, 148, 113, 0.1);
  color: var(--kv2-profile-ember);
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.kv2-location-current:hover,
.kv2-location-current:focus-visible {
  background: rgba(224, 148, 113, 0.16);
  border-color: rgba(224, 148, 113, 0.4);
  outline: none;
}

.kv2-location-current--busy {
  opacity: 0.6;
  pointer-events: none;
}

.kv2-location-status {
  margin: 4px 2px 8px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 12.5px;
  line-height: 1.4;
}

.kv2-location-suggestion {
  align-items: flex-start;
}

.kv2-location-suggestion__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.kv2-location-suggestion__primary {
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.kv2-location-suggestion__secondary {
  color: rgba(255, 255, 255, 0.55);
  font-size: 11.5px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.kv2-location-attribution {
  margin: 8px 2px 0;
  color: rgba(255, 255, 255, 0.45);
  font-size: 11px;
}

.kv2-location-attribution a {
  color: inherit;
  text-decoration: underline;
}
.kv2-inline-status-edit {
  display: grid;
  gap: 0.85rem;
  margin-top: 0.75rem;
}

.kv2-inline-status-edit .kv2-inline-edit__field {
  display: grid;
  gap: 0.35rem;
  color: var(--muted, #64748b);
  font-size: 0.8rem;
  font-weight: 700;
}

.kv2-inline-status-edit input,
.kv2-inline-status-edit select,
.kv2-inline-status-edit textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.45);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  color: #172033;
  padding: 0.7rem 0.8rem;
}

.kv2-inline-status-edit__tags {
  border: 0;
  margin: 0;
  padding: 0;
}

.kv2-inline-status-edit__selected-tags,
.kv2-inline-status-edit__tag-results,
.kv2-inline-status-edit__location-actions,
.kv2-inline-status-edit__location-results {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.kv2-inline-status-edit__selected-tags button,
.kv2-inline-status-edit__tag-results button,
.kv2-inline-status-edit__location-actions button,
.kv2-inline-status-edit__location-results button {
  border: 1px solid rgba(91, 33, 182, 0.25);
  border-radius: 999px;
  background: rgba(124, 58, 237, 0.08);
  color: #5b21b6;
  padding: 0.35rem 0.65rem;
}

/* Canonical collapsed card presentation: shared Home, Profile and Memory Wall.
   Four lines follow the existing card typography; expanded bodies remain natural. */
.kv2-profile-status-card[data-action-type="profile-status"] > .kv2-profile-status-body {
  --kv2-status-lines: 4;
  height: calc(var(--kv2-status-lines) * var(--kv2-line-small) * 1em);
  min-height: calc(var(--kv2-status-lines) * var(--kv2-line-small) * 1em);
  -webkit-line-clamp: var(--kv2-status-lines);
}
.kv2-profile-status-card[data-action-type="profile-status"].kv2-profile-status-card-open > .kv2-profile-status-body {
  height: auto;
  min-height: 0;
  -webkit-line-clamp: unset;
}
.kv2-profile-status-control-slot {
  display: flex;
  align-items: flex-start;
  margin-top: 8px;
  min-height: calc(var(--kv2-font-button) * var(--kv2-line-small));
  line-height: var(--kv2-line-small);
}
.kv2-profile-status-control-slot > .kv2-profile-status-toggle {
  margin-top: 0;
  line-height: inherit;
}
.kv2-profile-status-card[data-action-type="profile-status"] > .kv2-profile-status__media {
  display: grid;
  max-height: none;
  grid-template-rows: auto;
}
.kv2-profile-status-card[data-action-type="profile-status"] .kv2-profile-status__media-button {
  aspect-ratio: 16 / 19;
  overflow: hidden;
  min-width: 0;
}
.kv2-profile-status-card[data-action-type="profile-status"] .kv2-profile-status__media-button .kv2-profile-status__image {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
}

/* Direct mobile Status uses the same media contract as canonical Status cards. */
@media (max-width: 760px) {
  .kv2-profile-status-detail[data-action-type="profile-status"] { padding: 14px; }
  .kv2-profile-status-detail[data-action-type="profile-status"] > .kv2-profile-status__media {
    display: grid;
    max-height: none;
    grid-template-rows: auto;
  }
  .kv2-profile-status-detail[data-action-type="profile-status"] .kv2-profile-status__media-button {
    aspect-ratio: 16 / 19;
    overflow: hidden;
    min-width: 0;
  }
  .kv2-profile-status-detail[data-action-type="profile-status"] .kv2-profile-status__media-button .kv2-profile-status__image {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
  }
}

/* Full Status feeds use content height; Home keeps its reserved preview regions. */
:is(.kv2-memory-wall, .kv2-profile-shell) .kv2-profile-status-card[data-action-type="profile-status"] > .kv2-profile-status-body {
  height: auto;
  min-height: 0;
}
:is(.kv2-memory-wall, .kv2-profile-shell) .kv2-profile-status-card > .kv2-profile-status-control-slot:not(:has(button, a[href])) {
  display: none;
}
.kv2-memory-wall__composer > .kv2-profile-status__composer {
  border: 0;
  background: transparent;
  padding: 0;
}
