.jl-menu { position: relative; display: inline-flex; }
.jl-menu__pop {
  position: absolute;
  z-index: 60;
  min-width: 200px;
  background: var(--surface-overlay);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--elevation-popover);
  padding: var(--space-1);
  display: flex;
  flex-direction: column;
  gap: 1px;
  transform-origin: var(--_origin, top left);
  animation: jl-menu-in var(--duration-fast) var(--ease-emphasized);
}
@keyframes jl-menu-in {
  from { opacity: 0; transform: translateY(-4px) scale(0.97); }
  to   { opacity: 1; transform: none; }
}
.jl-menu__pop[hidden] { display: none; } /* author display:flex would otherwise override [hidden] */
.jl-menu__pop[data-side="top"]    { bottom: 100%; margin-bottom: var(--space-2); }
.jl-menu__pop[data-side="bottom"] { top: 100%; margin-top: var(--space-2); }
.jl-menu__pop[data-align="start"] { left: 0; }
.jl-menu__pop[data-align="end"]   { right: 0; }

.jl-menu__label {
  padding: var(--space-2) var(--space-3) var(--space-1);
  font-size: var(--text-2xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--text-tertiary);
}
.jl-menu__sep { height: 1px; background: var(--border-subtle); margin: var(--space-1) calc(var(--space-1) * -1); }

.jl-menu__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
  text-align: left;
  padding: var(--space-2) var(--space-3);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: var(--weight-medium);
  color: var(--text-primary);
  background: transparent;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard);
}
.jl-menu__item:hover, .jl-menu__item:focus-visible { background: var(--surface-hover); outline: none; }
.jl-menu__item:active { background: var(--surface-active); }
.jl-menu__item[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; pointer-events: none; }
.jl-menu__item-icon { flex: none; display: inline-flex; color: var(--text-tertiary); }
.jl-menu__item-icon svg { width: 16px; height: 16px; }
.jl-menu__item-label { flex: 1; min-width: 0; }
.jl-menu__item-shortcut {
  flex: none;
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.02em;
  color: var(--text-tertiary);
}
.jl-menu__item--danger { color: var(--danger-text); }
.jl-menu__item--danger .jl-menu__item-icon { color: var(--danger-text); }
.jl-menu__item--danger:hover, .jl-menu__item--danger:focus-visible { background: var(--danger-subtle); }
