@charset "UTF-8";
/**
 * YH-UI Sass Variables
 * 原具体的 CSS 变量输出规则 (:root, html.dark 等) 已移至 root.scss，以防止各组件样式编译时产生重复的全局变量 CSS 冗余。
 */
/* 尺寸变量映射 */
/* 基础类型混入 */
.yh-button {
  /* 基础变量与默认行为 */
  --yh-button-height: var(--yh-component-size-default);
  --yh-button-bg-color: var(--yh-fill-color-blank);
  --yh-button-text-color: var(--yh-text-color-regular);
  --yh-button-border-color: var(--yh-border-color);
  --yh-button-hover-bg-color: var(--yh-color-primary-light-9);
  --yh-button-hover-text-color: var(--yh-color-primary);
  --yh-button-hover-border-color: var(--yh-color-primary-light-8);
  --yh-button-active-bg-color: var(--yh-color-primary-light-8);
  --yh-button-active-border-color: var(--yh-color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  height: var(--yh-button-height);
  padding: var(--yh-button-padding, 0 var(--yh-component-size-default-padding));
  font-size: var(--yh-button-font-size, var(--yh-component-size-default-font));
  font-weight: var(--yh-font-weight-medium);
  line-height: 1;
  white-space: nowrap;
  appearance: none;
  cursor: pointer;
  user-select: none;
  color: var(--yh-button-text-color);
  background-color: var(--yh-button-bg-color);
  border: var(--yh-border-width) var(--yh-border-style) var(--yh-button-border-color);
  border-radius: var(--yh-radius-base);
  outline: none;
  transition: var(--yh-transition-fast);
}
.yh-button:hover, .yh-button:focus {
  color: var(--yh-button-hover-text-color);
  background-color: var(--yh-button-hover-bg-color);
  border-color: var(--yh-button-hover-border-color);
}
.yh-button:active {
  background-color: var(--yh-button-active-bg-color);
  border-color: var(--yh-button-active-border-color);
  color: var(--yh-button-active-text-color, var(--yh-button-hover-text-color));
}
.yh-button {
  /* 自定义颜色反馈 */
}
.yh-button.is-custom-color:hover, .yh-button.is-custom-color:focus {
  filter: brightness(1.1);
}
.yh-button.is-custom-color:active {
  filter: brightness(0.9);
}
.yh-button.is-custom-color.is-plain:hover {
  background-color: var(--yh-button-border-color) !important;
}

.yh-button {
  /* 垂直布局 */
}
.yh-button.is-vertical {
  flex-direction: column;
  height: auto;
  padding: 12px;
  gap: 4px;
}
.yh-button.is-vertical .yh-button__icon {
  margin: 0;
  font-size: 1.5em;
}

.yh-button {
  /* 状态控制 */
}
.yh-button.is-disabled {
  cursor: not-allowed !important;
  opacity: 0.5;
  pointer-events: none;
}

.yh-button.is-loading {
  cursor: default !important;
  pointer-events: none;
}

.yh-button {
  /* 文字模式与链接模式（基础样式） */
}
.yh-button.is-text {
  /* 纯文本按钮：移除背景与边框，仅保留文字色变化 */
  --yh-button-bg-color: transparent;
  --yh-button-hover-bg-color: transparent;
  --yh-button-active-bg-color: transparent;
  border-color: transparent;
  background-color: transparent;
  padding-left: 0;
  padding-right: 0;
}
.yh-button.is-text:hover, .yh-button.is-text:focus {
  background-color: transparent;
  text-decoration: none;
}
.yh-button.is-text:active {
  background-color: transparent;
}
.yh-button.is-text.is-disabled {
  background-color: transparent;
}

.yh-button.is-link {
  border-color: transparent !important;
  background-color: transparent !important;
  height: auto;
  padding: 2px;
}
.yh-button.is-link:hover {
  text-decoration: underline;
  background-color: transparent !important;
}

.yh-button {
  /* 类型应用 */
}
.yh-button--primary {
  --yh-button-bg-color: var(--yh-color-primary);
  --yh-button-text-color: var(--yh-color-primary-text, var(--yh-color-white, #ffffff));
  --yh-button-border-color: var(--yh-color-primary);
  --yh-button-hover-bg-color: var(--yh-color-primary-light-3);
  --yh-button-hover-text-color: var(--yh-color-primary-text, var(--yh-color-white, #ffffff));
  --yh-button-hover-border-color: var(--yh-color-primary-light-3);
  --yh-button-active-bg-color: var(--yh-color-primary-dark-2);
  --yh-button-active-border-color: var(--yh-color-primary-dark-2);
}
.yh-button--primary.is-plain {
  --yh-button-bg-color: var(--yh-color-primary-light-9);
  --yh-button-text-color: var(--yh-color-primary);
  --yh-button-border-color: var(--yh-color-primary-light-5);
  --yh-button-hover-bg-color: var(--yh-color-primary);
  --yh-button-hover-text-color: var(--yh-color-white, #ffffff);
  --yh-button-hover-border-color: var(--yh-color-primary);
}

.yh-button--primary {
  /* 针对 Text 和 Link 模式的颜色覆盖 */
}
.yh-button--primary.is-text {
  --yh-button-text-color: var(--yh-color-primary);
  --yh-button-hover-text-color: var(--yh-color-primary-light-3);
  --yh-button-active-text-color: var(--yh-color-primary-dark-2);
}

.yh-button--primary.is-link {
  --yh-button-text-color: var(--yh-color-primary);
  --yh-button-hover-text-color: var(--yh-color-primary-light-3);
  --yh-button-active-text-color: var(--yh-color-primary-dark-2);
}

.yh-button--success {
  --yh-button-bg-color: var(--yh-color-success);
  --yh-button-text-color: var(--yh-color-success-text, var(--yh-color-white, #ffffff));
  --yh-button-border-color: var(--yh-color-success);
  --yh-button-hover-bg-color: var(--yh-color-success-light-3);
  --yh-button-hover-text-color: var(--yh-color-success-text, var(--yh-color-white, #ffffff));
  --yh-button-hover-border-color: var(--yh-color-success-light-3);
  --yh-button-active-bg-color: var(--yh-color-success-dark-2);
  --yh-button-active-border-color: var(--yh-color-success-dark-2);
}
.yh-button--success.is-plain {
  --yh-button-bg-color: var(--yh-color-success-light-9);
  --yh-button-text-color: var(--yh-color-success);
  --yh-button-border-color: var(--yh-color-success-light-5);
  --yh-button-hover-bg-color: var(--yh-color-success);
  --yh-button-hover-text-color: var(--yh-color-white, #ffffff);
  --yh-button-hover-border-color: var(--yh-color-success);
}

.yh-button--success {
  /* 针对 Text 和 Link 模式的颜色覆盖 */
}
.yh-button--success.is-text {
  --yh-button-text-color: var(--yh-color-success);
  --yh-button-hover-text-color: var(--yh-color-success-light-3);
  --yh-button-active-text-color: var(--yh-color-success-dark-2);
}

.yh-button--success.is-link {
  --yh-button-text-color: var(--yh-color-success);
  --yh-button-hover-text-color: var(--yh-color-success-light-3);
  --yh-button-active-text-color: var(--yh-color-success-dark-2);
}

.yh-button--warning {
  --yh-button-bg-color: var(--yh-color-warning);
  --yh-button-text-color: var(--yh-color-warning-text, var(--yh-color-white, #ffffff));
  --yh-button-border-color: var(--yh-color-warning);
  --yh-button-hover-bg-color: var(--yh-color-warning-light-3);
  --yh-button-hover-text-color: var(--yh-color-warning-text, var(--yh-color-white, #ffffff));
  --yh-button-hover-border-color: var(--yh-color-warning-light-3);
  --yh-button-active-bg-color: var(--yh-color-warning-dark-2);
  --yh-button-active-border-color: var(--yh-color-warning-dark-2);
}
.yh-button--warning.is-plain {
  --yh-button-bg-color: var(--yh-color-warning-light-9);
  --yh-button-text-color: var(--yh-color-warning);
  --yh-button-border-color: var(--yh-color-warning-light-5);
  --yh-button-hover-bg-color: var(--yh-color-warning);
  --yh-button-hover-text-color: var(--yh-color-white, #ffffff);
  --yh-button-hover-border-color: var(--yh-color-warning);
}

.yh-button--warning {
  /* 针对 Text 和 Link 模式的颜色覆盖 */
}
.yh-button--warning.is-text {
  --yh-button-text-color: var(--yh-color-warning);
  --yh-button-hover-text-color: var(--yh-color-warning-light-3);
  --yh-button-active-text-color: var(--yh-color-warning-dark-2);
}

.yh-button--warning.is-link {
  --yh-button-text-color: var(--yh-color-warning);
  --yh-button-hover-text-color: var(--yh-color-warning-light-3);
  --yh-button-active-text-color: var(--yh-color-warning-dark-2);
}

.yh-button--danger {
  --yh-button-bg-color: var(--yh-color-danger);
  --yh-button-text-color: var(--yh-color-danger-text, var(--yh-color-white, #ffffff));
  --yh-button-border-color: var(--yh-color-danger);
  --yh-button-hover-bg-color: var(--yh-color-danger-light-3);
  --yh-button-hover-text-color: var(--yh-color-danger-text, var(--yh-color-white, #ffffff));
  --yh-button-hover-border-color: var(--yh-color-danger-light-3);
  --yh-button-active-bg-color: var(--yh-color-danger-dark-2);
  --yh-button-active-border-color: var(--yh-color-danger-dark-2);
}
.yh-button--danger.is-plain {
  --yh-button-bg-color: var(--yh-color-danger-light-9);
  --yh-button-text-color: var(--yh-color-danger);
  --yh-button-border-color: var(--yh-color-danger-light-5);
  --yh-button-hover-bg-color: var(--yh-color-danger);
  --yh-button-hover-text-color: var(--yh-color-white, #ffffff);
  --yh-button-hover-border-color: var(--yh-color-danger);
}

.yh-button--danger {
  /* 针对 Text 和 Link 模式的颜色覆盖 */
}
.yh-button--danger.is-text {
  --yh-button-text-color: var(--yh-color-danger);
  --yh-button-hover-text-color: var(--yh-color-danger-light-3);
  --yh-button-active-text-color: var(--yh-color-danger-dark-2);
}

.yh-button--danger.is-link {
  --yh-button-text-color: var(--yh-color-danger);
  --yh-button-hover-text-color: var(--yh-color-danger-light-3);
  --yh-button-active-text-color: var(--yh-color-danger-dark-2);
}

.yh-button--info {
  --yh-button-bg-color: var(--yh-color-info);
  --yh-button-text-color: var(--yh-color-info-text, var(--yh-color-white, #ffffff));
  --yh-button-border-color: var(--yh-color-info);
  --yh-button-hover-bg-color: var(--yh-color-info-light-3);
  --yh-button-hover-text-color: var(--yh-color-info-text, var(--yh-color-white, #ffffff));
  --yh-button-hover-border-color: var(--yh-color-info-light-3);
  --yh-button-active-bg-color: var(--yh-color-info-dark-2);
  --yh-button-active-border-color: var(--yh-color-info-dark-2);
}
.yh-button--info.is-plain {
  --yh-button-bg-color: var(--yh-color-info-light-9);
  --yh-button-text-color: var(--yh-color-info);
  --yh-button-border-color: var(--yh-color-info-light-5);
  --yh-button-hover-bg-color: var(--yh-color-info);
  --yh-button-hover-text-color: var(--yh-color-white, #ffffff);
  --yh-button-hover-border-color: var(--yh-color-info);
}

.yh-button--info {
  /* 针对 Text 和 Link 模式的颜色覆盖 */
}
.yh-button--info.is-text {
  --yh-button-text-color: var(--yh-color-info);
  --yh-button-hover-text-color: var(--yh-color-info-light-3);
  --yh-button-active-text-color: var(--yh-color-info-dark-2);
}

.yh-button--info.is-link {
  --yh-button-text-color: var(--yh-color-info);
  --yh-button-hover-text-color: var(--yh-color-info-light-3);
  --yh-button-active-text-color: var(--yh-color-info-dark-2);
}

.yh-button {
  /* 尺寸应用 */
}
.yh-button--large {
  --yh-button-height: var(--yh-component-size-large);
  --yh-button-padding: 0 19px;
  --yh-button-font-size: var(--yh-component-size-large-font);
}
.yh-button--small {
  --yh-button-height: var(--yh-component-size-small);
  --yh-button-padding: 0 11px;
  --yh-button-font-size: var(--yh-component-size-small-font);
}
.yh-button.is-round {
  border-radius: var(--yh-radius-round);
}

.yh-button.is-circle {
  border-radius: var(--yh-radius-circle) !important;
  width: var(--yh-button-height);
  padding: 0;
  flex-shrink: 0;
}

.yh-button {
  /* 加载图标 */
}
.yh-button__loading-icon {
  display: inline-flex;
}

.yh-button__loading-svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
  animation: yh-rotate 1.5s linear infinite;
}

@keyframes yh-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}