.menu {
  position:absolute; right:0; top:calc(100% + 6px); width:260px; background:var(--surface); border-radius:12px;
  box-shadow:var(--shadow-md), inset 0 0 0 1px var(--border); padding:6px; z-index:20; display:flex;
  flex-direction:column;
}
.menu.up { top:auto; bottom:calc(100% - 4px); left:12px; right:12px; width:auto; max-height:calc(100dvh - 96px); overflow:auto; }
.menu-head { padding:10px 12px 8px; display:flex; flex-direction:column; line-height:1.3; }
.menu-head strong { font-size:13px; }
.menu-head span { font-size:12px; color:var(--text-2); }
.menu-item {
  display:flex; align-items:center; gap:8px; width:100%; border:0; background:transparent; text-align:left;
  padding:0 12px; min-height:40px; border-radius:8px; font-size:13px; color:var(--text); text-decoration:none;
}
.menu-item .grow { flex:1; }
.menu-item:hover { background:var(--hover); }
.menu-item.on { background:var(--nav-active-bg); color:var(--nav-active-fg); font-weight:600; }
/* menu: theme radio items */
.menu-item .check { width:16px; height:16px; color:var(--nav-active-fg); visibility:hidden; }
.menu-item .count { margin-left:auto; }
.menu-item[aria-checked="true"] .check { visibility:visible; }
.menu-sep { height:1px; background:var(--border); margin:6px 4px; }
.ctxmenu {
  position:fixed; z-index:51; min-width:208px; padding:6px; background:var(--surface); border-radius:12px;
  box-shadow:var(--shadow-md), inset 0 0 0 1px var(--border); display:flex; flex-direction:column;
  animation:pa-fade-in .12s ease both;
}
.ctxmenu[hidden] { display:none; }
/* account menu: with Uso, Membros, Plano, Sair and Área da equipe it is taller than a phone; never leave the screen */
#me-menu { max-height:calc(100dvh - 96px); overflow-y:auto; overscroll-behavior:contain; }
@container (min-width: 720px) and (max-width: 1099px) {
  .pa:not(.side-over) .menu.up { left:8px; right:auto; width:260px; }
}
@container (max-width: 719px) {
  .menu { width:calc(100cqw - 16px); right:-4px; }
}
@media (prefers-reduced-motion: reduce) {
  .ctxmenu { transition:none; animation:none; }
}
