/* ===== Nudge Button ===== */

.nudge {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 14px 0 8px;
  height: 40px;
  background: rgba(0,0,0,0.03);
  border-radius: 100px;
  cursor: pointer;
  flex-shrink: 0;
  white-space: nowrap;
  transition:
    background 0.2s ease,
    opacity 0.3s cubic-bezier(0.2, 1.3, 0.4, 1);
}

@media (hover: hover) and (pointer: fine) {
  .nudge:hover {
    background: rgba(0,0,0,0.06);
  }
}

/* Expanded state */
.nudge.expanded {
  background: rgba(0,0,0,0.05);
}

/* Pressed state (side pane is open) */
.nudge.pressed {
  background: rgba(0,0,0,0.12);
}

/* Hidden (after side pane opens) */
.nudge.hidden {
  opacity: 0;
  pointer-events: none;
}

/* ===== Nudge Icon ===== */

.nudge-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 2px;
}

.nudge-icon svg {
  width: 32px;
  height: 32px;
}

/* ===== Nudge Text Container ===== */

.nudge-text-wrap {
  position: relative;
  height: 20px;
  overflow: hidden;
  display: flex;
  align-items: center;
  /* Width animated by JS via inline style */
  transition: width 0.4s cubic-bezier(0.2, 1.3, 0.4, 1);
}

.nudge-text {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 14px;
  font-weight: 450;
  color: #272320;
  line-height: 20px;
  white-space: nowrap;
  will-change: opacity;
  transition:
    opacity 0.25s cubic-bezier(0.2, 1.3, 0.4, 1);
}

/* Short text: visible by default */
.nudge-text-short {
  opacity: 1;
}

/* Long text: hidden by default */
.nudge-text-long {
  opacity: 0;
}

/* Expanded: pure fade crossfade */
.nudge.expanded .nudge-text-short {
  opacity: 0;
}

.nudge.expanded .nudge-text-long {
  opacity: 1;
}
