.o-menu {
  --menu-width: 240px;
  --menu-bg-color: transparent;
  --menu-indicator-width: 1px;
  --menu-indicator-bg-color: var(--o-color-control4);

  --menu-max-row: 1;

  --menu-color: var(--o-color-info2);
  --menu-color-disabled: var(--o-color-info4);
  --menu-color-selected: var(--o-color-primary1);

  --menu-bg-color-hover: var(--o-color-control2-light);
  --menu-bg-color-selected: var(--o-color-control3-light);

  --menu-icon-color: currentColor;
  --menu-icon-color-selected: currentColor;

  // 缩进
  --menu-base-indent: calc(var(--menu-icon-size) + var(--menu-icon-gap));
}

.o-menu-arrow-right:not(:has(.o-sub-menu-title-icon, .o-menu-item-icon)) {
  --menu-base-indent: 16px;
}

.o-menu-medium {
  --menu-item-padding-v: 8px;
  --menu-padding-h: 8px;

  --menu-radius: var(--o-radius_control-xs);

  --menu-text-size: var(--o-font_size-tip1);
  --menu-text-height: var(--o-line_height-tip1);

  --menu-icon-size: var(--o-icon_size_control-m);
  --menu-icon-gap: 8px;

  --menu-arrow-size: var(--o-icon_size_control-m);

  & .o-sub-menu[data-level='0'] > .o-sub-menu-title,
  & .o-menu-item[data-level='0'] {
    --menu-item-padding-v: 11px;
    --menu-text-size: var(--o-font_size-text1);
    --menu-text-height: var(--o-line_height-text1);
  }
}

.o-menu-small {
  --menu-item-padding-v: 4px;
  --menu-padding-h: 4px;

  --menu-radius: var(--o-radius_control-xs);

  --menu-text-size: var(--o-font_size-tip1);
  --menu-text-height: var(--o-line_height-tip1);

  --menu-icon-size: var(--o-icon_size_control-xs);
  --menu-icon-gap: 4px;

  --menu-arrow-size: var(--o-icon_size_control-xs);
}

// 缩进
.o-menu-item,
.o-sub-menu {
  --menu-level-indent: calc(var(--menu-padding-h) + (var(--menu-base-indent)) * (var(--menu-level)));
}
.o-menu-arrow-left {
  .o-sub-menu {
    --menu-level-indent: calc((var(--menu-base-indent)) * (var(--menu-level)));
  }
  .o-menu-item {
    --menu-level-indent: calc((var(--menu-base-indent)) * (var(--menu-level)) + var(--menu-arrow-size) + var(--menu-icon-gap));
  }
}

.o-menu-popover {
  --menu-popover-width: 240px;
}

.o-menu-arrow-left {
  --menu-max-row: 2;

  --sub-menu-base-indent: calc(var(--menu-arrow-size) + var(--menu-icon-gap));
  --menu-item-base-indent: calc(20px + var(--menu-icon-gap));
}

.o-menu-arrow-left.o-menu-small {
  --menu-item-base-indent: 24px;
}

.o-menu > .o-menu-item {
  --menu-item-level-indent: var(--menu-padding-h);
}
