@charset "UTF-8";
.fc-menu-search[data-v-6031bafc] {
  flex: 0 1 280px;
  max-width: 320px;
  min-width: 140px;
  margin-right: 8px;
}

.fc-calc-help[data-v-fd0ddcc6] {
  box-sizing: border-box;
  height: 100%;
  padding-right: 6px;
  overflow: auto;
  color: var(--fou-text-color-regular, #606266);
  font-size: 13px;
  line-height: 1.55;
}
.fc-calc-help__sec + .fc-calc-help__sec[data-v-fd0ddcc6] {
  margin-top: 14px;
}
.fc-calc-help__sec h3[data-v-fd0ddcc6] {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--fou-text-color-primary, #303133);
}
.fc-calc-help__sec ul[data-v-fd0ddcc6] {
  margin: 0;
  padding-left: 18px;
}
.fc-calc-help__sec li[data-v-fd0ddcc6] {
  margin-bottom: 6px;
}
.fc-calc-help__sec li[data-v-fd0ddcc6]:last-child {
  margin-bottom: 0;
}
.fc-calc-help kbd[data-v-fd0ddcc6] {
  display: inline-block;
  min-width: 1.1em;
  margin: 0 2px;
  padding: 1px 6px;
  font-family: ui-monospace, Consolas, monospace;
  font-size: 12px;
  line-height: 1.4;
  color: #303133;
  background: #f5f7fa;
  border: 1px solid #dcdfe6;
  border-bottom-width: 2px;
  border-radius: 4px;
}

/* 必须压过计算器容器 z-index:9999 */
.fou-dialog-root.fc-calc-help-dialog {
  z-index: 10050 !important;
}
.fou-dialog-root.fc-calc-help-dialog .fou-dialog {
  display: flex !important;
  flex-direction: column;
  box-sizing: border-box;
  max-height: calc(100vh - 48px) !important;
}
.fou-dialog-root.fc-calc-help-dialog .fou-dialog__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.fou-dialog-root.fc-calc-help-dialog .fou-dialog__footer {
  flex-shrink: 0;
}

/* 基础样式 - 移除拖拽相关过渡 */
.fou-calculator-container[data-v-d24e3f94] {
  position: fixed;
  z-index: 9999;
  padding: 15px;
  overflow: hidden;
  border-radius: 20px;
  transition: opacity 0.3s ease; /* 只保留透明度过渡 */
}

/* 拖拽状态：完全禁用过渡 */
.fou-calculator-container-drag[data-v-d24e3f94] {
  transition: none !important;
}

/* 标题栏样式 */
.fou-calculator-header[data-v-d24e3f94] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
  cursor: move;
  user-select: none;
}
.fou-calculator-title[data-v-d24e3f94] {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--text-color);
  text-shadow: 0 1px 2px rgb(255 255 255 / 30%);
}
.fou-calculator-header__actions[data-v-d24e3f94] {
  display: inline-flex;
  flex-shrink: 0;
  gap: 10px;
  align-items: center;
}

/* 问号：纯图标，无底色；悬停 / 按下变色 */
.fou-help-btn[data-v-d24e3f94] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  color: var(--text-color);
  cursor: pointer;
  background: transparent !important;
  border: none;
  border-radius: 0;
  box-shadow: none !important;
  opacity: 0.72;
  transition: color 0.15s ease, opacity 0.15s ease, transform 0.12s ease;
}
.fou-help-btn[data-v-d24e3f94] .fou-icon {
  font-size: 18px;
  line-height: 1;
}
.fou-help-btn[data-v-d24e3f94]:hover {
  color: var(--main-color, #409eff);
  opacity: 1;
}
.fou-help-btn[data-v-d24e3f94]:active {
  color: var(--main-color, #409eff);
  opacity: 0.88;
  transform: scale(0.92);
}
.fou-theme-black .fou-help-btn[data-v-d24e3f94] {
  color: #e2e8f0;
  background: transparent !important;
}
.fou-theme-black .fou-help-btn[data-v-d24e3f94]:hover,
.fou-theme-black .fou-help-btn[data-v-d24e3f94]:active {
  color: var(--main-color, #93c5fd);
}

/* 关闭按钮：冷灰水晶圆钮 */
.fou-close-btn[data-v-d24e3f94] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  color: transparent;
  text-indent: -9999px;
  cursor: pointer;
  background:
    linear-gradient(
      145deg,
      rgb(255 255 255 / 92%),
      rgb(148 163 184 / 55%)
    );
  border: none;
  border-radius: 50%;
}
.fou-close-btn[data-v-d24e3f94]:hover {
  box-shadow:
    0 6px 12px rgb(0 0 0 / 14%),
    inset 0 2px 3px rgb(255 255 255 / 95%),
    0 0 0 1px rgb(255 255 255 / 40%) inset,
    0 0 14px var(--main-color);
}
.fou-theme-black .fou-close-btn[data-v-d24e3f94] {
  background:
    linear-gradient(
      145deg,
      rgb(90 90 90 / 90%),
      rgb(45 45 45 / 75%)
    );
}
.fou-mode-toggle[data-v-d24e3f94] {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}
.fou-mode-btn[data-v-d24e3f94] {
  flex: 1;
  padding: 8px 5px;
  font-size: 0.9rem;
}

/* 主题选择器 */
.fou-theme-selector[data-v-d24e3f94] {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-bottom: 15px;
}
.fou-theme-btn[data-v-d24e3f94] {
  width: 20px;
  height: 20px;
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgb(0 0 0 / 20%);
  transition: transform 0.2s, border-color 0.2s;
}
.fou-theme-btn-active[data-v-d24e3f94] {
  border-color: var(--text-color);
  box-shadow: 0 0 10px var(--main-color);
  transform: scale(1.3);
}
.fou-theme-btn[data-v-d24e3f94]:hover {
  transform: scale(1.2);
}

/* 显示屏样式 */
.fou-display-container[data-v-d24e3f94] {
  padding: 15px;
  margin-bottom: 15px;
  background: rgb(255 255 255 / 75%);
  border: 1px solid rgb(255 255 255 / 90%);
  border-radius: 15px;
  box-shadow:
    inset 0 2px 5px rgb(0 0 0 / 15%),
    0 1px 3px rgb(255 255 255 / 90%);
  backdrop-filter: blur(8px);
}
.fou-expression-display[data-v-d24e3f94] {
  height: 24px;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1rem;
  color: var(--text-color);
  text-align: right;
  text-shadow: 0 1px 1px rgb(255 255 255 / 30%);
  opacity: 0.9;
}
.fou-result-display[data-v-d24e3f94] {
  height: 48px;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--text-color);
  text-align: right;
  text-shadow: 0 1px 2px rgb(255 255 255 / 50%);
}

/* 按键网格 */
.fou-buttons-grid[data-v-d24e3f94] {
  display: grid;
  gap: 10px;
}

/* 水晶按钮核心样式 */
.fou-crystal-btn[data-v-d24e3f94] {
  position: relative;
  padding: 16px 5px;
  overflow: hidden;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--text-color);
  cursor: pointer;
  background: linear-gradient(145deg, rgb(255 255 255 / 85%), rgb(200 200 200 / 50%));
  border: 1px solid rgb(255 255 255 / 80%);
  border-radius: 15px;
  box-shadow:
    0 5px 10px rgb(0 0 0 / 12%),
    inset 0 2px 3px rgb(255 255 255 / 95%),
    0 0 0 1px rgb(255 255 255 / 40%) inset;
  transition: all 0.15s ease;
}

/* 水晶按钮高光效果 */
.fou-crystal-btn[data-v-d24e3f94]::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40%;
  content: "";
  background:
    linear-gradient(
      90deg,
      rgb(255 255 255 / 0%) 0%,
      rgb(255 255 255 / 30%) 50%,
      rgb(255 255 255 / 0%) 100%
    );
  transform: skewY(-15deg) translateY(-100%);
  transition: transform 0.3s ease;
}
.fou-crystal-btn[data-v-d24e3f94]:hover::before {
  transform: skewY(-15deg) translateY(250%);
}
.fou-crystal-btn[data-v-d24e3f94]:hover {
  box-shadow:
    0 8px 15px rgb(0 0 0 / 15%),
    inset 0 2px 3px rgb(255 255 255 / 95%),
    0 0 0 1px rgb(255 255 255 / 40%) inset,
    0 0 10px rgb(255 255 255 / 60%);
  transform: translateY(-3px);
}
.fou-crystal-btn.pressed[data-v-d24e3f94],
.fou-crystal-btn[data-v-d24e3f94]:active {
  box-shadow:
    0 2px 5px rgb(0 0 0 / 15%),
    inset 0 1px 3px rgb(0 0 0 / 20%),
    0 0 0 1px rgb(255 255 255 / 30%) inset;
  transform: translateY(1px);
}
.fou-crystal-btn.pressed[data-v-d24e3f94]::before,
.fou-crystal-btn[data-v-d24e3f94]:active::before {
  opacity: 0.5;
}

/* 功能按钮样式 */
.fou-func-btn[data-v-d24e3f94] {
  font-weight: 700;
  color: var(--text-color);
  background:
    linear-gradient(
      145deg,
      rgb(255 255 255 / 80%),
      rgb(200 200 200 / 40%)
    );
}
.fou-func-btn[data-v-d24e3f94]:hover {
  box-shadow:
    0 8px 15px rgb(0 0 0 / 15%),
    inset 0 2px 3px rgb(255 255 255 / 95%),
    0 0 0 1px rgb(255 255 255 / 40%) inset,
    0 0 15px var(--main-color);
}

/* 等号按钮特殊样式 */
.fou-eq-btn[data-v-d24e3f94] {
  font-weight: bold;
  color: var(--text-color);
  background:
    linear-gradient(
      145deg,
      rgb(255 255 255 / 85%),
      rgb(220 220 220 / 50%)
    );
}
.fou-eq-btn[data-v-d24e3f94]:hover {
  box-shadow:
    0 8px 15px rgb(0 0 0 / 15%),
    inset 0 2px 3px rgb(255 255 255 / 95%),
    0 0 0 1px rgb(255 255 255 / 40%) inset,
    0 0 15px var(--main-color);
}

/* 快捷键提示 */
.fou-shortcut-hint[data-v-d24e3f94] {
  margin-top: 15px;
  font-size: 0.9rem;
  color: var(--text-color);
  text-align: center;
  text-shadow: 0 1px 1px rgb(255 255 255 / 30%);
  opacity: 0.85;
}

/* 黑色主题特殊优化 */
.fou-theme-black {
.fou-display-container[data-v-d24e3f94] {
    background: rgb(30 30 30 / 85%);
    border-color: rgb(70 70 70 / 90%);
}
.fou-crystal-btn[data-v-d24e3f94] {
    text-shadow: 0 1px 1px rgb(0 0 0 / 50%);
    background:
      linear-gradient(
        145deg,
        rgb(50 50 50 / 90%),
        rgb(30 30 30 / 70%)
      );
    border-color: rgb(80 80 80 / 80%);
}
.fou-func-btn[data-v-d24e3f94] {
    background:
      linear-gradient(
        145deg,
        rgb(60 60 60 / 85%),
        rgb(30 30 30 / 65%)
      );
}
.fou-crystal-btn[data-v-d24e3f94]::before {
    background:
      linear-gradient(
        90deg,
        rgb(255 255 255 / 0%) 0%,
        rgb(255 255 255 / 15%) 50%,
        rgb(255 255 255 / 0%) 100%
      );
}
}

/* 白色主题特殊优化 */
.fou-theme-white {
.fou-calculator-container[data-v-d24e3f94] {
    background-color: rgb(255 255 255 / 90%);
}
.fou-display-container[data-v-d24e3f94] {
    background-color: rgb(245 245 245 / 95%);
}
}

/* 激活状态按钮 */
.fou-active[data-v-d24e3f94] {
  font-weight: bold;
  border-color: var(--main-color);
  box-shadow:
    0 5px 10px rgb(0 0 0 / 15%),
    inset 0 2px 3px rgb(255 255 255 / 95%),
    0 0 0 1px rgb(255 255 255 / 40%) inset,
    0 0 10px var(--main-color);
}

.fc-lock[data-v-ef759d2c] {
  display: inline-flex;
}
.fc-tool-btn[data-v-ef759d2c] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  color: var(--fc-header-color, #515a6e);
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
}
.fc-tool-btn[data-v-ef759d2c]:hover {
  color: var(--fc-primary, #2563eb);
  background: var(--fc-primary-light-9, #eff6ff);
}
.fc-lockscreen[data-v-ef759d2c] {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  user-select: none;
}
.fc-lockscreen__bg[data-v-ef759d2c] {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
}
.fc-lockscreen__dim[data-v-ef759d2c] {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
}
.fc-lockscreen__panel[data-v-ef759d2c],
.fc-lockscreen__idle[data-v-ef759d2c] {
  position: relative;
  z-index: 1;
  text-align: center;
}
.fc-lockscreen__avatar-img[data-v-ef759d2c] {
  display: inline-block;
  width: 72px;
  height: 72px;
  margin-bottom: 12px;
  object-fit: cover;
  border-radius: 50%;
}
.fc-lockscreen__avatar-fallback[data-v-ef759d2c] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-bottom: 12px;
  font-size: 28px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
}
.fc-lockscreen__title[data-v-ef759d2c] {
  margin-bottom: 16px;
  font-size: 18px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}
.fc-lockscreen__field[data-v-ef759d2c] {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}
.fc-lockscreen__input[data-v-ef759d2c] {
  width: 220px;
}
.fc-lockscreen__field[data-v-ef759d2c] .fou-input,
.fc-lockscreen__field[data-v-ef759d2c] .fou-input__wrapper,
.fc-lockscreen__field[data-v-ef759d2c] .fou-input__inner,
.fc-lockscreen__field[data-v-ef759d2c] input {
  color: #303133 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: #e5e7eb !important;
  box-shadow: none !important;
}
.fc-lockscreen__field[data-v-ef759d2c] .fou-input {
  border-radius: 8px;
  overflow: hidden;
}
.fc-lockscreen__err[data-v-ef759d2c] {
  margin-top: 8px;
  color: #fecaca;
}
.fc-lockscreen__hint-pwd[data-v-ef759d2c] {
  margin-top: 10px;
  font-size: 13px;
  color: #e2e8f0;
}
.fc-lockscreen__wall[data-v-ef759d2c] {
  margin-top: 16px;
  color: #e2e8f0;
  cursor: pointer;
  background: transparent;
  border: 0;
  text-decoration: underline;
}
.fc-lockscreen__idle[data-v-ef759d2c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 40vh;
  padding: 24px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}
.fc-lockscreen__time[data-v-ef759d2c] {
  font-size: 56px;
  font-weight: 600;
  letter-spacing: 2px;
}
.fc-lockscreen__greet[data-v-ef759d2c] {
  margin-top: 16px;
  font-size: clamp(1.4rem, 4vw, 2.2rem);
  font-weight: 500;
}
.fc-lockscreen__hint[data-v-ef759d2c] {
  margin-top: 28px;
  font-size: 13px;
  opacity: 0.8;
}

/* 飘逸 */
.fc-lockscreen__greet.is-effect-float[data-v-ef759d2c] {
  animation: fc-lock-float-ef759d2c 3.6s ease-in-out infinite;
}
@keyframes fc-lock-float-ef759d2c {
0%,
  100% {
    transform: translateY(0);
    opacity: 0.92;
}
50% {
    transform: translateY(-14px);
    opacity: 1;
}
}

/* 龙飞凤舞 */
.fc-lockscreen__greet.is-effect-calligraphy[data-v-ef759d2c] {
  font-family: 'KaiTi', 'STKaiti', '华文楷体', serif;
  animation: fc-lock-calligraphy-ef759d2c 2.8s ease-in-out infinite;
}
@keyframes fc-lock-calligraphy-ef759d2c {
0% {
    transform: rotate(-6deg) scale(0.86) translateX(-24px);
    opacity: 0;
    letter-spacing: 0.4em;
}
35% {
    opacity: 1;
}
50% {
    transform: rotate(4deg) scale(1.08) translateX(10px);
    letter-spacing: 0.12em;
}
100% {
    transform: rotate(-2deg) scale(1) translateX(0);
    opacity: 1;
    letter-spacing: 0.08em;
}
}

/* 淡入 */
.fc-lockscreen__greet.is-effect-fade[data-v-ef759d2c] {
  animation: fc-lock-fade-ef759d2c 2.4s ease-in-out infinite;
}
@keyframes fc-lock-fade-ef759d2c {
0%,
  100% {
    opacity: 0.35;
    transform: translateY(8px);
}
50% {
    opacity: 1;
    transform: translateY(0);
}
}

/* 弹跳 */
.fc-lockscreen__greet.is-effect-bounce[data-v-ef759d2c] {
  animation: fc-lock-bounce-ef759d2c 1.8s ease infinite;
}
@keyframes fc-lock-bounce-ef759d2c {
0%,
  100% {
    transform: translateY(0);
}
40% {
    transform: translateY(-22px);
}
60% {
    transform: translateY(-8px);
}
}

/* 光晕 */
.fc-lockscreen__greet.is-effect-glow[data-v-ef759d2c] {
  animation: fc-lock-glow-ef759d2c 2.2s ease-in-out infinite;
}
@keyframes fc-lock-glow-ef759d2c {
0%,
  100% {
    text-shadow:
      0 0 8px rgba(255, 255, 255, 0.35),
      0 2px 10px rgba(0, 0, 0, 0.45);
    transform: scale(1);
}
50% {
    text-shadow:
      0 0 28px rgba(147, 197, 253, 0.95),
      0 0 48px rgba(96, 165, 250, 0.55),
      0 2px 10px rgba(0, 0, 0, 0.45);
    transform: scale(1.06);
}
}

/* 漂移 */
.fc-lockscreen__greet.is-effect-drift[data-v-ef759d2c] {
  animation: fc-lock-drift-ef759d2c 5s ease-in-out infinite;
}
@keyframes fc-lock-drift-ef759d2c {
0% {
    transform: translate(-40px, 10px) rotate(-3deg);
    opacity: 0.4;
}
40% {
    opacity: 1;
}
100% {
    transform: translate(36px, -16px) rotate(3deg);
    opacity: 0.85;
}
}

.fou-media[data-v-82b2cc24] {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
}
.fou-media-file-input[data-v-82b2cc24] {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.fou-media-cat-pick[data-v-82b2cc24] {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
}
.fou-media-cat-pick__tip[data-v-82b2cc24] {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--fou-text-color-secondary);
}
.fou-media-cat-pick__footer[data-v-82b2cc24] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}
.fou-media-panel[data-v-82b2cc24] {
  position: fixed;
  z-index: 4000;
  display: flex;
  flex-direction: column;
  width: 420px;
  height: 560px;
  max-height: min(92vh, 820px);
  padding: 10px;
  overflow: hidden;
  color: var(--tt-text, #e7f8fa);
  background: radial-gradient(ellipse at 12% 0%, rgb(var(--fou-media-accent-rgb, 62 200 212)/22%), transparent 48%), linear-gradient(165deg, var(--tt-surface, #0f454c) 0%, var(--tt-bg, #0a353a) 55%, var(--tt-bg-deep, #07282c) 100%);
  border: 1px solid var(--tt-border, rgba(94, 200, 210, 0.18));
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}
.fou-media-panel[data-v-82b2cc24] .fou-button--primary {
  --fou-button-bg-color: var(--tt-btn-bg, var(--fou-media-accent, #3ec8d4));
  --fou-button-border-color: var(--tt-btn-bg, var(--fou-media-accent, #3ec8d4));
  --fou-button-hover-bg-color: var(--fou-color-primary-dark-2, #1a8a96);
  --fou-button-hover-border-color: var(--fou-color-primary-dark-2, #1a8a96);
  --fou-button-hover-text-color: #fff;
  --fou-button-text-color: #fff;
}
.fou-media-panel[data-v-82b2cc24] .fou-button--default,
.fou-media-panel[data-v-82b2cc24] .fou-button:not(.fou-button--primary):not(.is-link):not(.is-text) {
  --fou-button-hover-text-color: var(--fou-media-accent, #3ec8d4);
  --fou-button-hover-bg-color: rgb(var(--fou-media-accent-rgb, 62 200 212) / 14%);
  --fou-button-hover-border-color: rgb(var(--fou-media-accent-rgb, 62 200 212) / 45%);
}
.fou-media-panel[data-v-82b2cc24] .fou-input__wrapper,
.fou-media-panel[data-v-82b2cc24] .fou-select .fou-input__wrapper {
  background: color-mix(in srgb, var(--tt-bg, #0a353a) 70%, transparent);
  box-shadow: 0 0 0 1px var(--tt-border, rgba(94, 200, 210, 0.22)) inset;
}
.fou-media-panel[data-v-82b2cc24] .fou-tag {
  color: var(--tt-muted, #8fbfc6);
  background: rgb(var(--fou-media-accent-rgb, 62 200 212)/10%);
  border-color: rgb(var(--fou-media-accent-rgb, 62 200 212)/28%);
}
.fou-media-panel.is-fullscreen[data-v-82b2cc24] {
  inset: 0;
  width: auto !important;
  height: auto !important;
  max-height: none;
  padding: 16px 18px;
  border-radius: 0;
}
.fou-media-panel.is-resizable .fou-media-panel__resize[data-v-82b2cc24] {
  position: absolute;
  z-index: 20;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--n[data-v-82b2cc24],
.fou-media-panel.is-resizable .fou-media-panel__resize--s[data-v-82b2cc24] {
  right: 8px;
  left: 8px;
  height: 6px;
  cursor: ns-resize;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--n[data-v-82b2cc24] {
  top: 0;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--s[data-v-82b2cc24] {
  bottom: 0;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--e[data-v-82b2cc24],
.fou-media-panel.is-resizable .fou-media-panel__resize--w[data-v-82b2cc24] {
  top: 8px;
  bottom: 8px;
  width: 6px;
  cursor: ew-resize;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--e[data-v-82b2cc24] {
  right: 0;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--w[data-v-82b2cc24] {
  left: 0;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--ne[data-v-82b2cc24],
.fou-media-panel.is-resizable .fou-media-panel__resize--nw[data-v-82b2cc24],
.fou-media-panel.is-resizable .fou-media-panel__resize--se[data-v-82b2cc24],
.fou-media-panel.is-resizable .fou-media-panel__resize--sw[data-v-82b2cc24] {
  width: 12px;
  height: 12px;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--ne[data-v-82b2cc24] {
  top: 0;
  right: 0;
  cursor: nesw-resize;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--nw[data-v-82b2cc24] {
  top: 0;
  left: 0;
  cursor: nwse-resize;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--se[data-v-82b2cc24] {
  right: 0;
  bottom: 0;
  cursor: nwse-resize;
}
.fou-media-panel.is-resizable .fou-media-panel__resize--sw[data-v-82b2cc24] {
  bottom: 0;
  left: 0;
  cursor: nesw-resize;
}
.fou-media-panel__body[data-v-82b2cc24] {
  display: grid;
  flex: 1;
  grid-template-columns: minmax(132px, 38%) 1fr;
  gap: 8px;
  min-height: 0;
  overflow: hidden;
}
.fou-media-panel.is-fullscreen .fou-media-panel__body[data-v-82b2cc24] {
  grid-template-columns: minmax(200px, 280px) 1fr;
  gap: 12px;
}
.fou-media-panel__main[data-v-82b2cc24] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.fou-media-panel__head[data-v-82b2cc24] {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-weight: 600;
  color: var(--tt-text, #e7f8fa);
  cursor: move;
}
.fou-media-panel__title[data-v-82b2cc24] {
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-panel__actions[data-v-82b2cc24] {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--tt-muted, #8fbfc6);
}
.fou-media-panel__actions .fou-icon[data-v-82b2cc24] {
  cursor: pointer;
}
.fou-media-panel__actions .fou-icon[data-v-82b2cc24]:hover {
  color: var(--tt-accent-soft, #7ee0e8);
}
.fou-media-panel__controls[data-v-82b2cc24] {
  display: flex;
  flex-shrink: 0;
  gap: 6px;
  align-items: center;
  margin: 6px 0 4px;
}
.fou-media-panel__controls[data-v-82b2cc24] .fou-slider {
  flex: 1;
  margin: 0 2px;
}
.fou-media-panel__controls[data-v-82b2cc24] .fou-slider .fou-slider__bar {
  background-color: var(--fou-media-accent, #3ec8d4);
}
.fou-media-panel__controls[data-v-82b2cc24] .fou-slider .fou-slider__button {
  border-color: var(--fou-media-accent, #3ec8d4);
}
.fou-media-panel__controls .fou-media-vol[data-v-82b2cc24] {
  flex: 0 0 64px;
}
.fou-media-panel__controls .fou-media-vol-pct[data-v-82b2cc24],
.fou-media-panel__controls .fou-media-progress-pct[data-v-82b2cc24] {
  flex: 0 0 auto;
  min-width: 32px;
  font-size: 11px;
  line-height: 1;
  color: var(--tt-muted, #8fbfc6);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.fou-media-panel__controls .fou-media-progress[data-v-82b2cc24] {
  flex: 1;
  min-width: 48px;
}
.fou-media-panel__toolbar[data-v-82b2cc24] {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 4px;
}
.fou-media-panel__toolbar .fou-icon[data-v-82b2cc24] {
  margin-right: 2px;
}
.fou-media-side[data-v-82b2cc24] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: color-mix(in srgb, var(--tt-surface, #0f454c) 88%, transparent);
  border: 1px solid var(--tt-border, rgba(94, 200, 210, 0.18));
  border-radius: 10px;
}
.fou-media-side__toolbar[data-v-82b2cc24] {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
}
.fou-media-side__btn[data-v-82b2cc24] {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 28px;
  padding: 0 8px;
  font-size: 12px;
  color: var(--tt-text, #e7f8fa);
  cursor: pointer;
  background: rgb(var(--fou-media-accent-rgb, 62 200 212)/10%);
  border: 1px solid var(--tt-border, rgba(94, 200, 210, 0.28));
  border-radius: 8px;
}
.fou-media-side__btn[data-v-82b2cc24]:hover {
  background: rgb(var(--fou-media-accent-rgb, 62 200 212)/18%);
}
.fou-media-side__btn.is-primary[data-v-82b2cc24] {
  color: #fff;
  background: var(--tt-btn-bg, var(--fou-media-accent, #3ec8d4));
  border-color: var(--tt-btn-bg, var(--fou-media-accent, #3ec8d4));
}
.fou-media-side .fou-media-list[data-v-82b2cc24] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  border: none;
  border-radius: 0;
  border-top: 1px solid var(--tt-border, rgba(94, 200, 210, 0.14));
}
.fou-media-ctrl[data-v-82b2cc24] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--tt-text, #e7f8fa);
  cursor: pointer;
  background: transparent;
  border: none;
  border-radius: 8px;
}
.fou-media-ctrl .fou-icon[data-v-82b2cc24] {
  font-size: 20px;
}
.fou-media-ctrl[data-v-82b2cc24]:hover {
  color: var(--tt-accent-soft, #7ee0e8);
}
.fou-media-ctrl.is-main[data-v-82b2cc24] {
  margin: 0 2px;
}
.fou-media-play-btn[data-v-82b2cc24] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #1a1200;
  background: linear-gradient(145deg, #ffe566 0%, #ffb020 42%, #ff7a00 100%);
  border: 2px solid #fff3c4;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(255, 152, 0, 0.35), 0 6px 16px rgba(255, 120, 0, 0.45);
}
.fou-media-play-btn .fou-icon[data-v-82b2cc24] {
  font-size: 18px;
  line-height: 1;
}
.fou-media-ctrl.is-main:hover .fou-media-play-btn[data-v-82b2cc24] {
  filter: brightness(1.06);
  transform: scale(1.06);
}
.fou-media-settings-vol[data-v-82b2cc24] {
  display: flex;
  gap: 10px;
  align-items: center;
  width: 100%;
  max-width: 280px;
}
.fou-media-settings-vol .fou-media-vol-pct[data-v-82b2cc24] {
  flex: 0 0 auto;
  min-width: 40px;
  font-size: 13px;
  color: var(--fou-text-color-regular);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.fou-media-theme-inline[data-v-82b2cc24] {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 2px 6px;
  background: var(--fou-fill-color-light);
  border-radius: 6px;
}
.fou-media-theme-inline__label[data-v-82b2cc24] {
  margin-right: 2px;
  font-size: 12px;
  color: var(--fou-text-color-regular);
}
.fou-media-tool-btn[data-v-82b2cc24] {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  height: 26px;
  padding: 0 8px;
  font-size: 12px;
  color: var(--tt-muted, #8fbfc6);
  cursor: pointer;
  background: rgb(var(--fou-media-accent-rgb, 62 200 212)/8%);
  border: 1px solid var(--tt-border, rgba(94, 200, 210, 0.18));
  border-radius: 8px;
}
.fou-media-tool-btn[data-v-82b2cc24]:hover {
  color: var(--tt-text, #e7f8fa);
  background: rgb(var(--fou-media-accent-rgb, 62 200 212)/16%);
}
.fou-media-tool-btn.is-on[data-v-82b2cc24] {
  color: var(--tt-text, #e7f8fa);
  background: color-mix(in srgb, var(--fou-media-accent, #3ec8d4) 32%, transparent);
  border-color: color-mix(in srgb, var(--fou-media-accent, #3ec8d4) 55%, transparent);
}
.fou-media-theme-dot[data-v-82b2cc24] {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px;
  vertical-align: middle;
  border-radius: 50%;
}
.fou-media-theme-picker[data-v-82b2cc24] {
  display: flex;
  gap: 8px;
}
.fou-media-theme-picker__btn[data-v-82b2cc24] {
  width: 28px;
  height: 28px;
  padding: 0;
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 50%;
  transition: transform 0.15s;
}
.fou-media-theme-picker__btn[data-v-82b2cc24]:hover {
  transform: scale(1.08);
}
.fou-media-theme-picker__btn.is-active[data-v-82b2cc24] {
  border-color: var(--fou-text-color-primary);
  box-shadow: 0 0 0 2px var(--fou-bg-color);
}
.fou-media-pl-mgmt[data-v-82b2cc24] {
  display: flex;
  gap: 12px;
  min-height: 280px;
}
.fou-media-pl-mgmt__sidebar[data-v-82b2cc24] {
  display: flex;
  flex: 0 0 140px;
  flex-direction: column;
  min-height: 0;
}
.fou-media-pl-mgmt__title[data-v-82b2cc24] {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--fou-text-color-secondary);
}
.fou-media-pl-mgmt__playlists[data-v-82b2cc24] {
  flex: 1;
  max-height: 200px;
  padding: 0;
  margin: 0 0 8px;
  overflow: auto;
  list-style: none;
}
.fou-media-pl-mgmt__playlists li[data-v-82b2cc24] {
  display: flex;
  gap: 4px;
  align-items: center;
  padding: 6px 8px;
  font-size: 12px;
  cursor: pointer;
  border-radius: 6px;
}
.fou-media-pl-mgmt__playlists li[data-v-82b2cc24]:hover {
  background: var(--fou-fill-color-light);
}
.fou-media-pl-mgmt__playlists li.is-active[data-v-82b2cc24] {
  color: var(--fou-media-accent, var(--fou-color-primary));
  background: var(--fou-color-primary-light-9);
}
.fou-media-pl-mgmt__pl-name[data-v-82b2cc24] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-pl-mgmt__pl-del[data-v-82b2cc24] {
  flex-shrink: 0;
  font-size: 14px;
  color: var(--fou-text-color-secondary);
  cursor: pointer;
}
.fou-media-pl-mgmt__pl-del[data-v-82b2cc24]:hover {
  color: var(--fou-color-danger);
}
.fou-media-pl-mgmt__new[data-v-82b2cc24] {
  width: 100%;
}
.fou-media-pl-mgmt__tracks[data-v-82b2cc24] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.fou-media-pl-mgmt__track-actions[data-v-82b2cc24] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 6px;
  font-size: 11px;
}
.fou-media-pl-mgmt__track-actions .fou-button[data-v-82b2cc24] {
  margin: 0;
}
.fou-media-pl-mgmt__track-list[data-v-82b2cc24] {
  flex: 1;
  padding: 0;
  margin: 0;
  overflow: auto;
  list-style: none;
}
.fou-media-pl-mgmt__track-list li[data-v-82b2cc24],
.fou-media-pl-mgmt__track-list .fou-media-pl-mgmt__track-row[data-v-82b2cc24] {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 6px 2px;
  border-radius: 4px;
}
.fou-media-pl-mgmt__track-list li[data-v-82b2cc24]:hover,
.fou-media-pl-mgmt__track-list .fou-media-pl-mgmt__track-row[data-v-82b2cc24]:hover {
  background: var(--fou-fill-color-light);
}
.fou-media-pl-mgmt__drag[data-v-82b2cc24] {
  flex-shrink: 0;
  color: var(--fou-text-color-secondary);
  cursor: grab;
}
.fou-media-pl-mgmt__track-meta[data-v-82b2cc24] {
  flex: 1;
  min-width: 0;
  cursor: pointer;
}
.fou-media-pl-mgmt__track-meta strong[data-v-82b2cc24] {
  display: block;
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-pl-mgmt__track-meta span[data-v-82b2cc24] {
  display: block;
  overflow: hidden;
  font-size: 10px;
  color: var(--fou-text-color-secondary);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-pl-mgmt__empty[data-v-82b2cc24] {
  flex: 1;
  padding: 12px 4px;
  font-size: 11px;
  color: var(--fou-text-color-secondary);
  text-align: center;
}
.fou-media-screen[data-v-82b2cc24] {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  margin-bottom: 2px;
  overflow: hidden;
  background: radial-gradient(ellipse at 30% 20%, rgb(var(--fou-media-accent-rgb, 62 200 212)/42%), transparent 55%), linear-gradient(160deg, var(--tt-surface-2, #0e4a52) 0%, color-mix(in srgb, var(--fou-media-accent, #3ec8d4) 45%, var(--tt-bg, #0a353a)) 55%, var(--tt-bg-deep, #07282c) 100%);
  border: 1px solid var(--tt-border, rgba(94, 200, 210, 0.18));
  border-radius: 10px;
}
.fou-media-screen.is-video[data-v-82b2cc24] {
  min-height: 0;
}
.fou-media-screen__video-wrap[data-v-82b2cc24] {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-height: 100px;
  overflow: hidden;
  background: #000;
}
.fou-media-screen__video-wrap:hover .fou-media-screen__fs-btn[data-v-82b2cc24], .fou-media-screen__video-wrap.is-playing .fou-media-screen__fs-btn[data-v-82b2cc24] {
  opacity: 1;
  pointer-events: auto;
}
.fou-media-screen__video-wrap[data-v-82b2cc24]:fullscreen, .fou-media-screen__video-wrap[data-v-82b2cc24]:-webkit-full-screen, .fou-media-screen__video-wrap.is-video-fs[data-v-82b2cc24] {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  max-height: none;
  background: #000;
}
.fou-media-screen__video-wrap:fullscreen .fou-media-screen__video[data-v-82b2cc24], .fou-media-screen__video-wrap:-webkit-full-screen .fou-media-screen__video[data-v-82b2cc24], .fou-media-screen__video-wrap.is-video-fs .fou-media-screen__video[data-v-82b2cc24] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}
.fou-media-screen__video-wrap:fullscreen .fou-media-screen__video-bar[data-v-82b2cc24], .fou-media-screen__video-wrap:-webkit-full-screen .fou-media-screen__video-bar[data-v-82b2cc24], .fou-media-screen__video-wrap.is-video-fs .fou-media-screen__video-bar[data-v-82b2cc24] {
  opacity: 1;
}
.fou-media-screen__video[data-v-82b2cc24] {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}
.fou-media-screen__video-bar[data-v-82b2cc24] {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 8px 10px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.78));
  opacity: 0;
  transition: opacity 0.2s;
}
.fou-media-screen__video-time[data-v-82b2cc24] {
  flex-shrink: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.75);
}
.fou-media-screen__video-scrub[data-v-82b2cc24] {
  flex: 1;
  margin: 0 !important;
}
.fou-media-screen__video-scrub[data-v-82b2cc24] .fou-slider__runway {
  height: 4px;
  background: rgba(255, 255, 255, 0.25);
}
.fou-media-screen__video-scrub[data-v-82b2cc24] .fou-slider__bar {
  height: 4px;
  background-color: var(--fou-media-accent, #3ec8d4);
}
.fou-media-screen__video-scrub[data-v-82b2cc24] .fou-slider__button {
  width: 12px;
  height: 12px;
  border-color: var(--fou-media-accent, #3ec8d4);
}
.fou-media-screen__fs-btn[data-v-82b2cc24] {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  color: #fff;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.fou-media-screen__fs-btn[data-v-82b2cc24]:hover {
  background: rgba(0, 0, 0, 0.72);
}
.fou-media-screen__fs-btn--inline[data-v-82b2cc24] {
  position: static;
  opacity: 1;
  pointer-events: auto;
}
.fou-media-screen__fs-btn .fou-icon[data-v-82b2cc24] {
  font-size: 16px;
}
.fou-media-screen__audio[data-v-82b2cc24] {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  min-height: 120px;
  padding: 8px 8px 4px;
}
.fou-media-screen__stage[data-v-82b2cc24] {
  display: flex;
  flex: 1;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 0;
}
.fou-media-screen__audio.has-lyrics .fou-media-screen__stage[data-v-82b2cc24] {
  align-items: stretch;
  justify-content: flex-start;
}
.fou-media-screen__disc-wrap[data-v-82b2cc24] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.fou-media-screen__disc[data-v-82b2cc24] {
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.35);
  border: 3px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}
.fou-media-screen__disc img[data-v-82b2cc24] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fou-media-screen__disc .fou-icon[data-v-82b2cc24] {
  font-size: 36px;
  color: rgba(255, 255, 255, 0.88);
}
.fou-media-screen__brand[data-v-82b2cc24] {
  margin: 0;
  font-size: 10px;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.55);
}
.fou-media-screen__audio.is-playing .fou-media-screen__disc[data-v-82b2cc24] {
  animation: fou-media-spin-82b2cc24 12s linear infinite;
}
.fou-media-screen__glow[data-v-82b2cc24] {
  position: absolute;
  inset: -8%;
  pointer-events: none;
  background: radial-gradient(circle, rgb(var(--fou-media-accent-rgb, 62 200 212)/36%), transparent 68%);
}
.fou-media-screen__lyric-panel[data-v-82b2cc24] {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(6, 28, 34, 0.72) 0%, rgba(10, 48, 56, 0.55) 100%);
  border: 1px solid rgba(126, 224, 232, 0.28);
  border-radius: 10px;
}
.fou-media-screen__lyric-head[data-v-82b2cc24] {
  display: flex;
  flex-shrink: 0;
  gap: 6px;
  align-items: center;
  padding: 6px 8px;
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--tt-accent-soft, #7ee0e8);
}
.fou-media-screen__lyric-dot[data-v-82b2cc24] {
  width: 6px;
  height: 6px;
  background: var(--fou-media-accent, #3ec8d4);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--fou-media-accent, #3ec8d4);
}
.fou-media-screen__lyric-scroll[data-v-82b2cc24] {
  flex: 1;
  min-height: 0;
  padding: 8px 6px 16px;
  overflow: auto;
}
.fou-media-screen__lyric-line[data-v-82b2cc24] {
  margin: 0;
  padding: 4px 6px;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
  cursor: pointer;
  border-radius: 6px;
}
.fou-media-screen__lyric-line[data-v-82b2cc24]:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}
.fou-media-screen__lyric-line.is-active[data-v-82b2cc24] {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: color-mix(in srgb, var(--fou-media-accent, #3ec8d4) 18%, transparent);
}
.fou-media-screen__hidden[data-v-82b2cc24] {
  display: none;
}
.fou-media-screen__info[data-v-82b2cc24] {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  padding: 6px 10px 8px;
  color: #fff;
}
.fou-media-screen__name[data-v-82b2cc24] {
  overflow: hidden;
  font-size: 14px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-screen__sub[data-v-82b2cc24] {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 2px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
}
.fou-media-screen__credits[data-v-82b2cc24] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.72);
}
.fou-media-screen__time[data-v-82b2cc24] {
  margin-top: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.55);
}
.fou-media-lyrics[data-v-82b2cc24] {
  flex: 0 0 auto;
  height: 88px;
  margin-bottom: 2px;
  overflow: hidden;
  background: color-mix(in srgb, var(--tt-surface, #0f454c) 70%, transparent);
  border: 1px solid var(--tt-border, rgba(94, 200, 210, 0.14));
  border-radius: 8px;
}
.fou-media-panel.is-fullscreen .fou-media-lyrics[data-v-82b2cc24] {
  height: 140px;
}
.fou-media-lyrics__empty[data-v-82b2cc24] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 12px;
  color: var(--tt-muted, #8fbfc6);
}
.fou-media-lyrics__scroll[data-v-82b2cc24] {
  position: relative;
  height: 100%;
  padding: 40px 10px;
  overflow: auto;
}
.fou-media-lyrics__line[data-v-82b2cc24] {
  margin: 0;
  padding: 5px 6px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--tt-muted, #8fbfc6);
  text-align: center;
  cursor: pointer;
  border-radius: 6px;
  transition: color 0.2s, background 0.2s, transform 0.2s;
}
.fou-media-lyrics__line[data-v-82b2cc24]:hover {
  color: var(--tt-text, #e7f8fa);
  background: rgba(255, 255, 255, 0.06);
}
.fou-media-lyrics__line.is-active[data-v-82b2cc24] {
  font-size: 13px;
  font-weight: 700;
  color: var(--tt-text, #e7f8fa);
  background: color-mix(in srgb, var(--fou-media-accent, #3ec8d4) 18%, transparent);
  transform: scale(1.02);
}
.fou-karaoke[data-v-82b2cc24] {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
  white-space: pre-wrap;
  word-break: break-all;
}
.fou-karaoke__base[data-v-82b2cc24] {
  color: inherit;
}
.fou-karaoke__fill[data-v-82b2cc24] {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  overflow: hidden;
  color: var(--fou-media-accent, var(--fou-color-primary));
  pointer-events: none;
  white-space: inherit;
  word-break: inherit;
  will-change: clip-path;
  transition: clip-path 70ms linear;
}
.fou-karaoke--desktop .fou-karaoke__base[data-v-82b2cc24] {
  color: var(--fou-lyric-inactive, rgba(255, 255, 255, 0.55));
}
.fou-karaoke--desktop .fou-karaoke__fill[data-v-82b2cc24] {
  color: inherit;
  font-weight: 700;
  text-shadow: none;
}
.fou-media-list[data-v-82b2cc24] {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.fou-media-list__head[data-v-82b2cc24] {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  font-size: 11px;
  font-weight: 600;
  color: var(--tt-muted, #8fbfc6);
  background: color-mix(in srgb, var(--tt-bg, #0a353a) 55%, transparent);
}
.fou-media-list__head-actions[data-v-82b2cc24] {
  display: flex;
  gap: 4px;
  align-items: center;
}
.fou-media-list__pl-select[data-v-82b2cc24] {
  width: 96px;
}
.fou-media-list__empty[data-v-82b2cc24] {
  padding: 12px 8px;
  font-size: 11px;
  color: var(--tt-muted, #8fbfc6);
  text-align: center;
}
.fou-media-list ul[data-v-82b2cc24] {
  height: 100%;
  max-height: none;
  padding: 2px 0;
  margin: 0;
  overflow: auto;
  list-style: none;
}
.fou-media-list li[data-v-82b2cc24] {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 6px 8px;
  cursor: pointer;
  border-left: 2px solid transparent;
}
.fou-media-list li[data-v-82b2cc24]:hover {
  background: rgb(var(--fou-media-accent-rgb, 62 200 212)/10%);
}
.fou-media-list li.is-active[data-v-82b2cc24] {
  background: rgb(var(--fou-media-accent-rgb, 62 200 212)/18%);
  border-left-color: var(--fou-media-accent, #3ec8d4);
}
.fou-media-list li.is-queued[data-v-82b2cc24] {
  border-left-color: var(--fou-media-accent, #3ec8d4);
}
.fou-media-list li > .fou-icon[data-v-82b2cc24] {
  flex-shrink: 0;
  color: var(--fou-media-accent, #3ec8d4);
}
.fou-media-list__meta[data-v-82b2cc24] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.fou-media-list__meta strong[data-v-82b2cc24] {
  overflow: hidden;
  font-size: 12px;
  color: var(--tt-text, #e7f8fa);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-list__meta span[data-v-82b2cc24] {
  overflow: hidden;
  font-size: 10px;
  color: var(--tt-muted, #8fbfc6);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-list__del[data-v-82b2cc24] {
  flex-shrink: 0;
  color: var(--tt-muted, #8fbfc6);
  opacity: 0.55;
}
.fou-media-list__del[data-v-82b2cc24]:hover {
  color: #fecaca;
  opacity: 1;
}
.fou-media-sched-list[data-v-82b2cc24] {
  margin-top: 12px;
  border-top: 1px solid var(--fou-border-color-lighter);
}
.fou-media-sched-list__title[data-v-82b2cc24] {
  margin: 10px 0 6px;
  font-size: 13px;
  font-weight: 600;
}
.fou-media-sched-list__empty[data-v-82b2cc24] {
  padding: 12px 0;
  font-size: 12px;
  color: var(--fou-text-color-secondary);
  text-align: center;
}
.fou-media-sched-list__row[data-v-82b2cc24] {
  display: flex;
  gap: 8px;
  align-items: baseline;
  justify-content: space-between;
  padding: 6px 4px;
  font-size: 13px;
  border-radius: 6px;
}
.fou-media-sched-list__row small[data-v-82b2cc24] {
  flex: 1;
  color: var(--fou-text-color-secondary);
  text-align: right;
}
.fou-media-sched-list__row.is-active[data-v-82b2cc24] {
  background: var(--fou-color-primary-light-9);
}
.fou-media-sched-list__row.is-clickable[data-v-82b2cc24] {
  cursor: pointer;
}
.fou-media-sched-list__row.is-clickable[data-v-82b2cc24]:hover {
  background: var(--fou-fill-color-light);
}
.fou-media-sched-list__title--row[data-v-82b2cc24] {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}
.fou-media-sched-list__del[data-v-82b2cc24] {
  flex-shrink: 0;
  font-size: 14px;
  color: var(--fou-text-color-secondary);
  cursor: pointer;
}
.fou-media-sched-list__del[data-v-82b2cc24]:hover {
  color: var(--fou-color-danger);
}
.fou-media-timed-plan-form[data-v-82b2cc24] {
  margin-top: 12px;
  padding: 12px;
  background: var(--fou-fill-color-lighter);
  border-radius: 8px;
}
.fou-media-track-settings[data-v-82b2cc24] {
  max-height: 360px;
  overflow: auto;
}
.fou-media-track-settings__row[data-v-82b2cc24] {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 8px;
  cursor: pointer;
  border-bottom: 1px solid var(--fou-border-color-lighter);
  border-radius: 8px;
}
.fou-media-track-settings__row[data-v-82b2cc24]:hover, .fou-media-track-settings__row.is-active[data-v-82b2cc24] {
  background: var(--fou-color-primary-light-9);
}
.fou-media-track-settings__row > .fou-icon[data-v-82b2cc24] {
  flex-shrink: 0;
  font-size: 18px;
  color: var(--fou-color-primary);
}
.fou-media-track-settings__meta[data-v-82b2cc24] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
.fou-media-track-settings__meta strong[data-v-82b2cc24] {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-track-settings__meta span[data-v-82b2cc24] {
  overflow: hidden;
  font-size: 11px;
  color: var(--fou-text-color-secondary);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-mini[data-v-82b2cc24] {
  position: fixed;
  z-index: 4002;
  width: 300px;
  padding: 10px 12px;
  color: var(--tt-text, #e7f8fa);
  background: linear-gradient(160deg, var(--tt-surface, #0f454c), var(--tt-bg-deep, #07282c));
  border: 1px solid var(--tt-border, rgba(94, 200, 210, 0.22));
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(14px);
}
.fou-media-mini.is-preview[data-v-82b2cc24] {
  border-color: rgb(var(--fou-media-accent-rgb, 62 200 212)/55%);
}
.fou-media-mini__head[data-v-82b2cc24] {
  display: flex;
  gap: 8px;
  align-items: center;
  cursor: move;
}
.fou-media-mini__head .fou-icon[data-v-82b2cc24] {
  flex-shrink: 0;
  font-size: 16px;
  cursor: pointer;
  opacity: 0.85;
}
.fou-media-mini__head .fou-icon[data-v-82b2cc24]:first-child {
  cursor: default;
  opacity: 1;
}
.fou-media-mini__text[data-v-82b2cc24] {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  line-height: 1.3;
}
.fou-media-mini__text strong[data-v-82b2cc24] {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-mini__text span[data-v-82b2cc24] {
  overflow: hidden;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.55);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fou-media-mini__bar[data-v-82b2cc24] {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}
.fou-media-mini__progress[data-v-82b2cc24] {
  position: relative;
  flex: 1;
  height: 4px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
}
.fou-media-mini__progress i[data-v-82b2cc24] {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: var(--fou-color-primary, #0f766e);
  border-radius: 2px;
}
.fou-media-mini__preview-tip[data-v-82b2cc24] {
  margin-top: 8px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
}
.fou-desktop-lyrics-wrap[data-v-82b2cc24] {
  position: fixed;
  z-index: 4001;
  box-sizing: border-box;
  min-width: 280px;
  max-width: min(96vw, 1200px);
  padding: 16px;
  overflow: visible;
  cursor: move;
  user-select: none;
  /* 默认不挡下层；歌词文字可命中以进入悬停；悬停后整块可交互（工具条/拉伸） */
  pointer-events: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.fou-desktop-lyrics-wrap.is-hover[data-v-82b2cc24], .fou-desktop-lyrics-wrap.is-resizing[data-v-82b2cc24] {
  pointer-events: auto;
}
.fou-desktop-lyrics-wrap.is-hover .fou-desktop-lyrics__toolbar[data-v-82b2cc24], .fou-desktop-lyrics-wrap.is-hover .fou-desktop-lyrics__resize[data-v-82b2cc24], .fou-desktop-lyrics-wrap.is-resizing .fou-desktop-lyrics__toolbar[data-v-82b2cc24], .fou-desktop-lyrics-wrap.is-resizing .fou-desktop-lyrics__resize[data-v-82b2cc24], .fou-desktop-lyrics-wrap:hover .fou-desktop-lyrics__toolbar[data-v-82b2cc24], .fou-desktop-lyrics-wrap:hover .fou-desktop-lyrics__resize[data-v-82b2cc24] {
  opacity: 1;
  pointer-events: auto;
}
.fou-desktop-lyrics-wrap .fou-desktop-lyrics[data-v-82b2cc24] {
  pointer-events: auto;
}
.fou-desktop-lyrics-wrap[data-v-82b2cc24] {
  /* 拉伸手柄始终可命中，避免移到边缘时因 wrap pointer-events:none 掉悬停 */
}
.fou-desktop-lyrics-wrap .fou-desktop-lyrics__resize[data-v-82b2cc24] {
  pointer-events: auto;
}
.fou-desktop-lyrics__toolbar[data-v-82b2cc24] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
  padding: 4px 0;
  margin-bottom: 4px;
  background: transparent !important;
  border: none !important;
  border-radius: 0;
  box-shadow: none !important;
  opacity: 0;
  transition: opacity 0.18s;
  pointer-events: none;
}
.fou-desktop-lyrics__toolbar[data-v-82b2cc24] .fou-color-field {
  height: 28px;
}
.fou-desktop-lyrics__toolbar[data-v-82b2cc24] .fou-color-field .fou-color-field__native-wrap {
  width: 28px;
  height: 28px;
  padding: 3px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 6px;
  box-shadow: none;
}
.fou-desktop-lyrics__tool[data-v-82b2cc24],
.fou-desktop-lyrics__close[data-v-82b2cc24] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  color: #fff;
  cursor: pointer;
  background: transparent !important;
  border: none !important;
  border-radius: 6px;
  box-shadow: none !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}
.fou-desktop-lyrics__tool[data-v-82b2cc24]:hover,
.fou-desktop-lyrics__close[data-v-82b2cc24]:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}
.fou-desktop-lyrics__size-input[data-v-82b2cc24] {
  box-sizing: border-box;
  width: 52px;
  height: 28px;
  padding: 0 4px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  appearance: textfield;
  background: transparent !important;
  border: none !important;
  border-radius: 6px;
  outline: none;
  box-shadow: none !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}
.fou-desktop-lyrics__size-input[data-v-82b2cc24]:focus {
  background: rgba(255, 255, 255, 0.12) !important;
}
.fou-desktop-lyrics__size-input[data-v-82b2cc24]::-webkit-outer-spin-button, .fou-desktop-lyrics__size-input[data-v-82b2cc24]::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}
.fou-desktop-lyrics__color-wrap[data-v-82b2cc24] {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  padding: 2px 4px;
  cursor: pointer;
  background: transparent !important;
  border: none !important;
  border-radius: 8px;
  box-shadow: none !important;
}
.fou-desktop-lyrics__color-label[data-v-82b2cc24] {
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}
.fou-desktop-lyrics__size[data-v-82b2cc24] {
  min-width: 28px;
  font-size: 12px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}
.fou-desktop-lyrics__resize[data-v-82b2cc24] {
  position: absolute;
  z-index: 3;
  opacity: 0;
  pointer-events: auto;
  background: transparent;
}
.fou-desktop-lyrics__resize.is-n[data-v-82b2cc24], .fou-desktop-lyrics__resize.is-s[data-v-82b2cc24] {
  right: 10px;
  left: 10px;
  height: 8px;
  cursor: ns-resize;
}
.fou-desktop-lyrics__resize.is-e[data-v-82b2cc24], .fou-desktop-lyrics__resize.is-w[data-v-82b2cc24] {
  top: 10px;
  bottom: 10px;
  width: 8px;
  cursor: ew-resize;
}
.fou-desktop-lyrics__resize.is-n[data-v-82b2cc24] {
  top: 0;
}
.fou-desktop-lyrics__resize.is-s[data-v-82b2cc24] {
  bottom: 0;
}
.fou-desktop-lyrics__resize.is-e[data-v-82b2cc24] {
  right: 0;
}
.fou-desktop-lyrics__resize.is-w[data-v-82b2cc24] {
  left: 0;
}
.fou-desktop-lyrics__resize.is-ne[data-v-82b2cc24], .fou-desktop-lyrics__resize.is-nw[data-v-82b2cc24], .fou-desktop-lyrics__resize.is-se[data-v-82b2cc24], .fou-desktop-lyrics__resize.is-sw[data-v-82b2cc24] {
  width: 14px;
  height: 14px;
}
.fou-desktop-lyrics__resize.is-ne[data-v-82b2cc24] {
  top: 0;
  right: 0;
  cursor: nesw-resize;
}
.fou-desktop-lyrics__resize.is-nw[data-v-82b2cc24] {
  top: 0;
  left: 0;
  cursor: nwse-resize;
}
.fou-desktop-lyrics__resize.is-se[data-v-82b2cc24] {
  right: 0;
  bottom: 0;
  cursor: nwse-resize;
}
.fou-desktop-lyrics__resize.is-sw[data-v-82b2cc24] {
  bottom: 0;
  left: 0;
  cursor: nesw-resize;
}
.fou-desktop-lyrics[data-v-82b2cc24] {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 10px 20px;
  font-weight: 600;
  text-align: center;
  background: transparent !important;
  border: none !important;
  border-radius: 0;
  box-shadow: none !important;
}
.fou-desktop-lyrics--kugou[data-v-82b2cc24] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  justify-content: center;
  min-width: 0;
  min-height: 96px;
  padding: 14px 22px;
  pointer-events: auto;
  background: transparent !important;
  box-shadow: none !important;
}
.fou-desktop-lyrics__row[data-v-82b2cc24] {
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  font-size: calc(var(--fou-lyric-size, 22px) * 0.82);
  font-weight: 500;
  line-height: 1.4;
  color: var(--fou-lyric-inactive, rgba(255, 255, 255, 0.55));
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: none;
}
.fou-desktop-lyrics__row.is-left[data-v-82b2cc24] {
  align-self: flex-start;
  text-align: left;
}
.fou-desktop-lyrics__row.is-right[data-v-82b2cc24] {
  align-self: flex-end;
  text-align: right;
}
.fou-desktop-lyrics__row.is-active[data-v-82b2cc24] {
  font-size: var(--fou-lyric-size, 28px);
  font-weight: 700;
  color: #fff;
  text-shadow: none;
  transform: scale(1.02);
  transform-origin: center left;
}
.fou-desktop-lyrics__row.is-right.is-active[data-v-82b2cc24] {
  transform-origin: center right;
}
.fou-desktop-lyrics__prev[data-v-82b2cc24], .fou-desktop-lyrics__next[data-v-82b2cc24], .fou-desktop-lyrics__current[data-v-82b2cc24] {
  display: none;
}
@keyframes fou-media-spin-82b2cc24 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.fou-media-fade-enter-active[data-v-82b2cc24],
.fou-media-fade-leave-active[data-v-82b2cc24] {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.fou-media-fade-enter-from[data-v-82b2cc24],
.fou-media-fade-leave-to[data-v-82b2cc24] {
  opacity: 0;
  transform: translateY(8px);
}
.fou-media-timed-order[data-v-82b2cc24] {
  width: 100%;
}
.fou-media-timed-order__hint[data-v-82b2cc24] {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--fou-text-color-secondary);
}
.fou-media-timed-order__list[data-v-82b2cc24] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 200px;
  overflow: auto;
}
.fou-media-timed-order__row[data-v-82b2cc24] {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  background: var(--fou-fill-color-light);
  border-radius: 6px;
}
.fou-media-timed-order__handle[data-v-82b2cc24] {
  flex-shrink: 0;
  color: var(--fou-text-color-secondary);
  cursor: grab;
}
.fou-media-timed-order__name[data-v-82b2cc24] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.fou-media-timed-order__remove[data-v-82b2cc24] {
  flex-shrink: 0;
  color: var(--fou-text-color-secondary);
  cursor: pointer;
}
.fou-media-timed-order__remove[data-v-82b2cc24]:hover {
  color: var(--fou-color-danger);
}
.fou-media-mini-enter-active[data-v-82b2cc24] {
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fou-media-mini-leave-active[data-v-82b2cc24] {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.fou-media-mini-enter-from[data-v-82b2cc24],
.fou-media-mini-leave-to[data-v-82b2cc24] {
  opacity: 0;
  transform: translateY(24px) scale(0.96);
}
.fou-media-dialog {
  z-index: 6000 !important;
}

/* 必须高于弹窗(6000)/新建分类(6100)，否则 select / color-picker 会被挡住 */
.fou-media-popper {
  z-index: 7200 !important;
}

/* 分类选择弹窗：彻底隐藏原生 file，避免与主按钮叠字 */
.fou-media-file-input-hidden {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.fou-media-cat-dialog .fou-dialog__footer {
  padding-top: 8px;
}
.fou-media-cat-dialog .fou-media-cat-pick__footer {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}

/* 显示器全屏：scoped :fullscreen 在部分浏览器不生效，用全局选择器兜底 */
.fou-media-screen__video-wrap:fullscreen,
.fou-media-screen__video-wrap:-webkit-full-screen,
.fou-media-screen__video-wrap.is-video-fs {
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: #000 !important;
}
.fou-media-screen__video-wrap:fullscreen .fou-media-screen__video,
.fou-media-screen__video-wrap:-webkit-full-screen .fou-media-screen__video,
.fou-media-screen__video-wrap.is-video-fs .fou-media-screen__video {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  background: #000 !important;
}
.fou-media-screen__video-wrap:fullscreen .fou-media-screen__video-bar,
.fou-media-screen__video-wrap:-webkit-full-screen .fou-media-screen__video-bar,
.fou-media-screen__video-wrap.is-video-fs .fou-media-screen__video-bar {
  opacity: 1 !important;
}
.fou-drawer-root:has(.fc-theme-drawer) {
  --fou-drawer-mask-bg: rgba(0, 0, 0, 0.6);
}
.fc-theme-drawer .fou-drawer__footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding: 12px 16px;
  background: #fff;
  border-top: 1px solid var(--fou-border-color, #e4e7ed);
}
.fc-theme-drawer .fou-drawer__body {
  padding-bottom: 64px;
}
.fc-theme-drawer .fc-theme-section {
  margin-bottom: 8px;
}
.fc-theme-drawer .fc-theme-section__title {
  position: relative;
  padding: 4px 0 10px 10px;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--fou-text-color-primary, #303133);
  border-bottom: 1px solid var(--fou-border-color-lighter, #ebeef5);
}
.fc-theme-drawer .fc-theme-section__title::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 3px;
  height: 14px;
  content: "";
  background: var(--fou-color-primary, #0f766e);
  border-radius: 2px;
}
.fc-theme-drawer .fc-theme-tip {
  margin-left: 4px;
  font-size: 14px;
  color: var(--fou-text-color-secondary, #909399);
  vertical-align: -2px;
  cursor: help;
}
.fc-theme-drawer .fou-form-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center !important;
  width: 100%;
  margin-bottom: 14px;
  column-gap: 12px;
}
.fc-theme-drawer .fou-form-item > .fou-form-item__label {
  display: flex !important;
  flex: unset !important;
  align-items: center;
  justify-content: flex-start !important;
  width: auto !important;
  padding-right: 0 !important;
  margin: 0;
  line-height: 1.4;
  text-align: left;
}
.fc-theme-drawer .fou-form-item > .fou-form-item__content {
  display: flex !important;
  flex: unset !important;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  width: auto !important;
  margin-left: 0 !important;
}
.fc-theme-drawer .fou-form-item > .fou-form-item__content .fou-input,
.fc-theme-drawer .fou-form-item > .fou-form-item__content .fou-input-number,
.fc-theme-drawer .fou-form-item > .fou-form-item__content .fou-select {
  width: 120px;
  min-width: 120px;
}
.fc-theme-drawer .fou-form-item.fc-theme-block-item {
  display: block !important;
}
.fc-theme-drawer .fou-form-item.fc-theme-block-item > .fou-form-item__label {
  display: block !important;
  width: 100% !important;
  margin-bottom: 8px;
}
.fc-theme-drawer .fou-form-item.fc-theme-block-item > .fou-form-item__content {
  display: block !important;
  justify-self: stretch;
  width: 100% !important;
  max-width: 100%;
}
.fc-theme-drawer .fou-form-item.fc-theme-block-item > .fou-form-item__content .fou-input,
.fc-theme-drawer .fou-form-item.fc-theme-block-item > .fou-form-item__content .fou-input.is-textarea,
.fc-theme-drawer .fou-form-item.fc-theme-block-item > .fou-form-item__content .fou-input-number,
.fc-theme-drawer .fou-form-item.fc-theme-block-item > .fou-form-item__content .fou-select,
.fc-theme-drawer .fou-form-item.fc-theme-block-item > .fou-form-item__content textarea {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.fc-theme-drawer .fc-theme-skins {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  width: 100%;
}
.fc-theme-drawer .fc-theme-skin {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  cursor: pointer;
  background: #fff;
  border: 1px solid #ebeef5;
  border-radius: 10px;
}
.fc-theme-drawer .fc-theme-skin.is-active {
  border-color: var(--fou-color-primary, #0f766e);
  box-shadow: 0 0 0 1px var(--fou-color-primary, #0f766e);
}
.fc-theme-drawer .fc-theme-skin__preview {
  display: flex;
  height: 64px;
  overflow: hidden;
  border-radius: 8px;
}
.fc-theme-drawer .fc-theme-skin__side {
  flex: 0 0 30%;
  height: 100%;
  background: rgba(0, 0, 0, 0.22);
}
.fc-theme-drawer .fc-theme-skin__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
  background: rgba(255, 255, 255, 0.28);
}
.fc-theme-drawer .fc-theme-skin__bar {
  display: block;
  height: 9px;
  background: rgba(255, 255, 255, 0.82);
  border-radius: 999px;
}
.fc-theme-drawer .fc-theme-skin__block {
  display: block;
  flex: 1;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 6px;
}
.fc-theme-drawer .fc-theme-skin--default .fc-theme-skin__side {
  background: linear-gradient(180deg, #0f766e 0%, #115e59 100%);
}
.fc-theme-drawer .fc-theme-skin--plain .fc-theme-skin__side {
  background: linear-gradient(180deg, #1f2937 0%, #111827 100%);
}
.fc-theme-drawer .fc-theme-skin--technology .fc-theme-skin__side {
  background: linear-gradient(180deg, #00a1ff 0%, #016886 100%);
}
.fc-theme-drawer .fc-theme-skin__name {
  font-size: 12px;
  font-weight: 500;
  color: #606266;
  text-align: center;
}
.fc-theme-drawer .fc-theme-color-row {
  display: flex;
  gap: 10px;
  align-items: center;
}
.fc-theme-drawer .fc-theme-color {
  width: 40px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
}
.fc-theme-drawer .fc-theme-color-hex {
  font-size: 12px;
  color: #909399;
}
.fc-theme-drawer .fc-theme-layouts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.fc-theme-drawer .fc-theme-layout {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  cursor: pointer;
  background: #f5f7fa;
  border: 1px solid transparent;
  border-radius: 8px;
}
.fc-theme-drawer .fc-theme-layout.is-active {
  background: color-mix(in srgb, var(--fou-color-primary, #0f766e) 10%, #fff);
  border-color: var(--fou-color-primary, #0f766e);
}
.fc-theme-drawer .fc-theme-layout__preview {
  position: relative;
  height: 48px;
  overflow: hidden;
  background: #fff;
  border-radius: 4px;
}
.fc-theme-drawer .fc-theme-layout__preview .a, .fc-theme-drawer .fc-theme-layout__preview .b, .fc-theme-drawer .fc-theme-layout__preview .c {
  position: absolute;
  background: #d1d5db;
}
.fc-theme-drawer .fc-theme-layout__preview[data-layout=column] .a {
  top: 0;
  left: 0;
  width: 18%;
  height: 100%;
  background: #0b1f1c;
}
.fc-theme-drawer .fc-theme-layout__preview[data-layout=column] .b {
  top: 0;
  left: 18%;
  width: 28%;
  height: 100%;
}
.fc-theme-drawer .fc-theme-layout__preview[data-layout=column] .c {
  top: 0;
  right: 0;
  width: 54%;
  height: 22%;
  background: var(--fou-color-primary, #0f766e);
}
.fc-theme-drawer .fc-theme-layout__preview[data-layout=vertical] .b {
  top: 0;
  left: 0;
  width: 32%;
  height: 100%;
}
.fc-theme-drawer .fc-theme-layout__preview[data-layout=vertical] .c {
  top: 0;
  right: 0;
  width: 68%;
  height: 22%;
  background: var(--fou-color-primary, #0f766e);
}
.fc-theme-drawer .fc-theme-layout__preview[data-layout=horizontal] .c, .fc-theme-drawer .fc-theme-layout__preview[data-layout=comprehensive] .c, .fc-theme-drawer .fc-theme-layout__preview[data-layout=fall] .c {
  top: 0;
  left: 0;
  width: 100%;
  height: 22%;
  background: var(--fou-color-primary, #0f766e);
}
.fc-theme-drawer .fc-theme-layout__preview[data-layout=comprehensive] .b {
  top: 22%;
  left: 0;
  width: 30%;
  height: 78%;
}
.fc-theme-drawer .fc-theme-layout {
  /* 瀑布：顶栏 + 二级横条，无侧栏 */
}
.fc-theme-drawer .fc-theme-layout__preview[data-layout=fall] .b {
  top: 22%;
  left: 0;
  width: 100%;
  height: 14%;
  background: #e5e7eb;
}
.fc-theme-drawer .fc-theme-layout__preview[data-layout=horizontal] .b {
  top: 22%;
  left: 0;
  width: 100%;
  height: 14%;
  background: #e5e7eb;
}
.fc-theme-drawer .fc-theme-layout__name {
  font-size: 12px;
  color: #606266;
  text-align: center;
}
.fc-theme-drawer .fc-theme-dev-hint {
  margin: -4px 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: #909399;
}
.fc-theme-drawer .fc-theme-lock-bg {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.fc-theme-drawer .fc-theme-lock-bg__preview {
  width: 100%;
  height: 72px;
  background-position: center;
  background-size: cover;
  border-radius: 8px;
  border: 1px solid #ebeef5;
}
.fc-theme-drawer .fc-theme-lock-bg__file {
  display: none;
}
.fc-theme-drawer .fc-theme-effects {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  justify-content: flex-start;
  width: 100%;
}
.fc-theme-drawer .fc-theme-effect {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  font-size: 12px;
  color: #606266;
  cursor: pointer;
}
body.color-weakness {
  filter: grayscale(80%);
}/**
 * FouCui admin-shell tokens锛堝榻?dizuo-ui2 / var.scss锛? * @author qiuye
 * @email yjk150@qq.com
 * @date 2026-08-16
 */
:root {
  /* 灏哄锛歞izuo-ui2 --fou-left-menu-width-min / --fou-left-menu-width / nav / tabs */
  --fc-header-height: 60px;
  --fc-main-sidebar-width: 75px;
  --fc-sub-sidebar-width: 191px; /* 266 - 75 */
  --fc-sub-sidebar-collapse-width: 56px;
  --fc-tabbar-height: 50px;
  --fc-tab-item-height: 34px;
  --fc-menu-item-height: 36px;
  --fc-content-padding: 20px;
  --fc-font-size-base: 14px;
  /* 浜岀骇鐩綍瀛楀彿锛堝皬浜?dizuo 鏍囬 extra-large锛岄伩鍏嶈繃澶э級 */
  --fc-sub-title-font-size: 14px;
  --fc-sub-menu-font-size: 13px;
  --fc-sub-menu-icon-size: 16px;
  --fc-main-item-title-size: 12px;
  --fc-main-item-icon-size: 18px;

  --fc-primary: #409eff;
  --fc-primary-soft: #d9ecff;
  --fc-primary-light-9: #ecf5ff;
  --fc-border: #e4e7ed;
  --fc-border-light: #ebeef5;
  --fc-bg: #ffffff;
  --fc-page-bg: #ffffff;
  --fc-text: #303133;
  --fc-text-regular: #606266;
  --fc-text-secondary: #909399;

  --fc-main-sidebar-bg: #0f172a;
  --fc-main-sidebar-color: #ffffff;
  /* 与二级菜单 / 标签 active 同源：跟随 --fc-primary */
  --fc-main-sidebar-active-bg: var(--fc-primary);
  --fc-main-sidebar-active-color: #ffffff;

  --fc-sub-sidebar-bg: #ffffff;
  --fc-sub-sidebar-color: #303133;
  --fc-sub-sidebar-active-bg: var(--fc-primary);
  --fc-sub-sidebar-active-color: #ffffff;

  --fc-header-bg: #ffffff;
  --fc-header-color: #515a6e;
  --fc-logo-title: #515a6e;
  --fc-logo-title-on-dark: #ffffff;

  --fc-tabbar-bg: #ffffff;
  --fc-tabbar-color: #606266;
  --fc-tabbar-active-color: #2563eb;

  /* 妗ユ帴 dizuo-ui2 / fouui 鍙橀噺 */
  --fou-color-primary: var(--fc-primary);
  --fou-color-primary-light-9: var(--fc-primary-light-9);
  --fou-border-color: var(--fc-border);
  --fou-padding: 20px;
  --fou-margin: 20px;
  --fou-background-color: var(--fc-page-bg);
  --fou-menu-background-color: var(--fc-main-sidebar-bg);
  --fou-menu-background-color-second: var(--fc-sub-sidebar-bg);
  --fou-menu-color-text: var(--fc-main-sidebar-color);
  --fou-menu-color-text-second: var(--fc-sub-sidebar-color);
  --fou-menu-item-height: 48px;
  --fou-left-menu-width-min: var(--fc-main-sidebar-width);
  --fou-left-menu-width: calc(var(--fc-main-sidebar-width) + var(--fc-sub-sidebar-width));
  --fou-nav-height: var(--fc-header-height);
  --fou-logo-height: var(--fc-header-height);
  --fou-header-height: var(--fc-header-height);
  --fou-tabs-height: var(--fc-tabbar-height);
  --fou-tab-item-height: var(--fc-tab-item-height);
  --fou-font-size-base: var(--fc-font-size-base);
  --fou-font-size-small: 13px;
  --fou-font-size-extra-small: 12px;
  --fou-border-radius-base: 5px;
  --fou-text-color-primary: var(--fc-text);
  --fou-text-color-regular: var(--fc-text-regular);
  --fou-text-color-secondary: var(--fc-text-secondary);

  /* column锛氫富鍖?Nav(60) + Tabs(50) + padding */
  --fou-container-height: calc(
    100vh - var(--fc-header-height) - var(--fc-tabbar-height) - var(--fc-content-padding) * 2 - 2px
  );
}
/**
 * admin-shell 布局样式
 * @author qiuye
 * @email yjk150@qq.com
 * @date 2026-08-17
 */
html,
body,
#app {
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.fc-shell {
  position: relative;
  box-sizing: border-box;
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--fc-page-bg, #ffffff);
  color: var(--fc-text);
}

.fc-shell__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100%;
}

.fc-shell__header-block {
  flex: 0 0 auto;
  background: var(--fc-header-bg);
  box-shadow: inset 0 -1px 0 0 var(--fc-border);
}

/* 综合：顶栏与标签分行，底部分隔线用实线（避免 inset 阴影被同色背景吃掉） */
.fc-shell.is-comprehensive .fc-shell__header-block {
  box-shadow: none;
  border-bottom: 1px solid var(--fc-border, #e4e7ed);
}

.fc-shell.is-comprehensive .fc-shell__topbar {
  box-shadow: none;
  border-bottom: 1px solid var(--fc-border, #e4e7ed);
}

/* —— Nav（对齐 dizuo-ui2 .fou-nav） —— */
.fc-nav {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  height: var(--fc-header-height);
  padding: 0 16px 0 20px;
  background: var(--fc-header-bg);
  box-shadow: inset 0 -1px 0 0 var(--fc-border);
}

.fc-nav__left {
  display: flex;
  flex: 1;
  gap: 12px;
  align-items: center;
  min-width: 0;
  overflow: hidden;
}

.fc-nav__brand {
  display: inline-flex;
  flex-shrink: 0;
  gap: 8px;
  align-items: center;
  max-width: 200px;
  overflow: hidden;
  color: var(--fc-text);
  text-decoration: none;
}

.fc-nav__brand-icon {
  font-size: 20px;
  color: var(--fc-primary);
}

.fc-nav__brand-img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 6px;
}

.fc-nav__brand-title {
  overflow: hidden;
  font-size: 15px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fc-nav__right {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
  align-items: center;
  margin-left: auto;
}

.fc-breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  align-items: center;
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.2;
  color: var(--fc-text-secondary);
}

.fc-breadcrumb__sep {
  margin: 0 8px;
  color: var(--fc-border);
}

.fc-breadcrumb__item {
  color: var(--fc-text-regular);
  text-decoration: none;
  white-space: nowrap;
}

.fc-breadcrumb__item:hover {
  color: var(--fc-primary);
}

.fc-breadcrumb__item.is-current {
  font-weight: 500;
  color: var(--fc-text);
  pointer-events: none;
}

/* —— RightTools（对齐 dizuo-ui2 .fou-right-tools） —— */
.fc-right-tools {
  display: flex;
  gap: 4px;
  align-items: center;
}

.fc-right-tools__icons {
  display: flex;
  gap: 2px;
  align-items: center;
}

.fc-tool-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  color: var(--fc-header-color);
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
  transition: background 0.15s ease, color 0.15s ease;
}

.fc-tool-btn:hover {
  color: var(--fc-primary);
  background: var(--fc-primary-light-9);
}

.fc-tool-btn .fou-icon,
.fc-tool-btn [class*='ri-'] {
  font-size: 18px;
  line-height: 1;
}

.fc-user-btn {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  height: 36px;
  padding: 0 8px 0 4px;
  margin-left: 4px;
  color: var(--fc-header-color);
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
}

.fc-user-btn:hover {
  background: var(--fc-primary-light-9);
}

.fc-user-btn__name {
  max-width: 72px;
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 播放器入口与工具按钮对齐 */
.fc-right-tools .fou-media {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.fc-right-tools .fou-media > .fou-tooltip,
.fc-right-tools .fou-media > span {
  display: inline-flex;
}

.fc-right-tools .fou-media .fou-icon,
.fc-right-tools .fou-media [class*='ri-'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 18px;
  color: var(--fc-header-color);
  cursor: pointer;
  border-radius: 6px;
}

.fc-right-tools .fou-media .fou-icon:hover,
.fc-right-tools .fou-media [class*='ri-']:hover {
  color: var(--fc-primary);
  background: var(--fc-primary-light-9);
}

.fc-shell__topbar {
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
  height: var(--fc-tabbar-height);
  background: var(--fc-tabbar-bg);
  box-shadow: inset 0 -1px 0 0 var(--fc-border);
}

.fc-shell__content {
  box-sizing: border-box;
  flex: 1 1 auto;
  min-height: 0;
  padding: var(--fc-content-padding);
  overflow: hidden;
}

.fc-shell__content > * {
  height: 100%;
  min-height: 0;
  overflow: auto;
}

/* —— MainSidebar（对齐 dizuo-ui2 FouColumnBar 一级列） —— */
.fc-main-sidebar {
  display: flex;
  flex: 0 0 var(--fc-main-sidebar-width);
  flex-direction: column;
  width: var(--fc-main-sidebar-width);
  height: 100%;
  color: var(--fc-main-sidebar-color);
  background: var(--fc-main-sidebar-bg);
  border-right: 1px solid var(--fc-border);
}

.fc-main-sidebar__brand {
  display: flex;
  flex: 0 0 var(--fc-header-height);
  align-items: center;
  justify-content: center;
  color: inherit;
  text-decoration: none;
}

.fc-main-sidebar__brand .fou-icon,
.fc-main-sidebar__brand [class*='ri-'] {
  font-size: 22px;
  line-height: 1;
  color: inherit;
}

.fc-main-sidebar__brand img {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.fc-main-sidebar__list {
  flex: 1 1 auto;
  min-height: 0;
  padding: 4px 0 8px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}

.fc-main-sidebar__list::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.fc-main-sidebar__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc(100% - 16px);
  min-height: 52px;
  margin: 0 auto 4px;
  padding: 6px 4px;
  color: inherit;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 8px;
  transition: background 0.15s ease, color 0.15s ease;
}

.fc-main-sidebar__item:hover {
  background: rgba(255, 255, 255, 0.12);
}

.fc-main-sidebar__item.is-active {
  color: var(--fc-main-sidebar-active-color);
  background: var(--fc-main-sidebar-active-bg);
}

.fc-main-sidebar__item .fou-icon,
.fc-main-sidebar__item [class*='ri-'] {
  display: block;
  font-size: var(--fc-main-item-icon-size);
  line-height: 1;
}

.fc-main-sidebar__item-title {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  font-size: var(--fc-main-item-title-size);
  line-height: 1.2;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* —— SubSidebar（对齐 dizuo-ui2 column-second-menu，字号收紧） —— */
.fc-sub-sidebar {
  display: flex;
  flex: 0 0 var(--fc-sub-sidebar-width);
  flex-direction: column;
  width: var(--fc-sub-sidebar-width);
  height: 100%;
  color: var(--fc-sub-sidebar-color);
  background: var(--fc-sub-sidebar-bg);
  border-right: 1px solid var(--fc-border);
  transition: width 0.2s ease;
}

.fc-sub-sidebar.is-collapse {
  flex-basis: var(--fc-sub-sidebar-collapse-width);
  width: var(--fc-sub-sidebar-collapse-width);
  overflow: visible;
}

.fc-sub-sidebar__title {
  display: flex;
  flex: 0 0 var(--fc-header-height);
  gap: 8px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 8px;
  overflow: hidden;
  font-size: var(--fc-sub-title-font-size);
  font-weight: 600;
  line-height: 1.2;
  color: var(--fc-logo-title);
  text-align: center;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-bottom: 1px solid var(--fc-border-light);
}

.fc-sub-sidebar__brand {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

.fc-sub-sidebar__logo {
  display: block;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.fc-sub-sidebar__logo-icon {
  flex-shrink: 0;
  font-size: 22px;
  line-height: 1;
  color: var(--fc-primary);
}

.fc-sub-sidebar__title-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fc-sub-sidebar__fold {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-left: auto;
  color: #fff;
  cursor: pointer;
  background: var(--fc-primary);
  border: 0;
  border-radius: var(--fou-border-radius-base, 5px);
}

.fc-sub-sidebar__fold .fou-icon {
  font-size: 14px;
}

.fc-sub-sidebar__menu {
  flex: 1 1 auto;
  min-height: 0;
  padding: 8px 0;
  overflow: auto;
  scrollbar-width: none;
}

.fc-sub-sidebar.is-collapse .fc-sub-sidebar__menu {
  overflow-x: visible;
  overflow-y: auto;
  padding: 8px 0;
}

.fc-sub-sidebar__footer {
  display: flex;
  flex: 0 0 auto;
  gap: 4px;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 6px 10px;
  overflow: hidden;
  border-top: 1px solid var(--fc-border-light);
}

.fc-sub-sidebar.is-collapse .fc-sub-sidebar__footer {
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 6px 0;
}

.fc-sub-sidebar__tool {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 28px;
  height: 28px;
  max-width: 100%;
  padding: 0;
  font-size: 16px;
  line-height: 1;
  color: var(--fc-text-regular);
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 4px;
}

.fc-sub-sidebar__tool .fou-icon,
.fc-sub-sidebar__tool [class*='ri-'] {
  font-size: 16px;
  line-height: 1;
}

.fc-sub-sidebar__tool.is-on {
  color: var(--fc-primary);
  background: transparent;
}

.fc-sub-sidebar__tool:hover:not(:disabled) {
  color: var(--fc-primary);
  background: transparent;
}

.fc-sub-sidebar__tool:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.fc-sub-sidebar__tool span {
  display: none;
}

/* hover 向右无限级 / 手风琴 */
.fc-sub-fly {
  position: relative;
}

.fc-sub-fly__arrow {
  margin-left: auto;
  font-size: 14px;
  opacity: 0.55;
  transition: transform 0.15s ease;
}

.fc-sub-fly__arrow.is-open {
  opacity: 0.85;
}

.fc-sub-fly__inline {
  display: flex;
  flex-direction: column;
  padding: 2px 0 6px;
}

.fc-sub-fly.is-accordion > .fc-sub-menu-item.is-folder-open {
  color: var(--fc-primary);
  background: var(--fc-primary-light-9);
}

.fc-sub-fly__inline .fc-sub-menu-item {
  width: calc(100% - 16px);
  margin-left: 8px;
  margin-right: 8px;
  font-size: 12px;
}

.fc-sub-fly__panel {
  position: absolute;
  top: 0;
  left: calc(100% + 4px);
  z-index: 1200;
  min-width: 180px;
  max-height: calc(100vh - 16px);
  padding: 6px;
  overflow-x: hidden;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--fc-border);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.fc-sub-fly__panel--teleport {
  position: fixed;
  left: auto;
  max-height: none;
  min-width: 200px;
  padding: 8px;
  overflow-x: hidden;
  overflow-y: auto;
}

.fc-sub-fly__panel-title {
  padding: 6px 10px 8px;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--fc-text-secondary);
  border-bottom: 1px solid var(--fc-border-light);
}

.fc-sub-fly__panel .fc-sub-menu-item {
  width: 100%;
  margin: 0 0 2px;
}

.fc-sub-sidebar__menu::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.fc-sub-sidebar__group {
  margin: 8px 12px 4px;
  font-size: 12px;
  line-height: 1.2;
  color: var(--fc-text-secondary);
}

.fc-sub-menu-item {
  box-sizing: border-box;
  display: flex;
  gap: 8px;
  align-items: center;
  width: calc(100% - 16px);
  height: var(--fc-menu-item-height);
  margin: 0 8px 2px;
  padding: 0 10px;
  overflow: hidden;
  font-size: var(--fc-sub-menu-font-size);
  line-height: 1.2;
  color: var(--fc-sub-sidebar-color);
  text-align: left;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
  transition: background 0.15s ease, color 0.15s ease;
}

.fc-sub-menu-item:hover {
  color: var(--fc-primary);
  background: var(--fc-primary-light-9);
}

.fc-sub-menu-item.is-active {
  color: var(--fc-sub-sidebar-active-color);
  background: var(--fc-sub-sidebar-active-bg);
}

.fc-sub-menu-item .fou-icon,
.fc-sub-menu-item [class*='ri-'] {
  flex-shrink: 0;
  font-size: var(--fc-sub-menu-icon-size);
  line-height: 1;
  color: inherit;
}

.fc-sub-menu-item__text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fc-sub-sidebar.is-collapse .fc-sub-menu-item {
  box-sizing: border-box;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0 auto 6px;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
}

.fc-sub-sidebar.is-collapse .fc-sub-menu-item .fou-icon,
.fc-sub-sidebar.is-collapse .fc-sub-menu-item [class*='ri-'] {
  font-size: 18px;
  line-height: 1;
}

.fc-sub-sidebar.is-collapse .fc-sub-menu-item__text,
.fc-sub-sidebar.is-collapse .fc-sub-sidebar__group,
.fc-sub-sidebar.is-collapse .fc-sub-fly__arrow {
  display: none !important;
}

.fc-sub-sidebar.is-collapse .fc-sub-sidebar__fold {
  margin: 0 auto;
}

/* —— Header（横栏） —— */
.fc-header {
  display: flex;
  gap: 16px;
  align-items: center;
  height: var(--fc-header-height);
  padding: 0 16px;
  color: var(--fc-header-color);
  background: var(--fc-header-bg);
}

.fc-header--dropdown {
  color: #303133;
  background: #fff;
  border-bottom: 1px solid var(--fc-border, #e5e7eb);
}

.fc-header > .fc-right-tools,
.fc-header > .fc-header__right {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
  align-items: center;
  margin-left: auto;
}

.fc-header > .fc-header__right > .fc-header__menu-search,
.fc-header > .fc-header__right .fc-menu-search {
  flex: 0 1 280px;
  max-width: 320px;
  min-width: 140px;
}

.fc-header > .fc-menu-search,
.fc-header > .fc-header__menu-search {
  flex: 0 1 280px;
  max-width: 320px;
  min-width: 140px;
}

.fc-header__center {
  display: flex;
  flex: 1;
  align-items: center;
  min-width: 0;
  margin: 0 12px;
  overflow: hidden;
}

.fc-header__tabs {
  width: 100%;
  min-width: 0;
}

.fc-header__tabs.fc-tabbar {
  height: 100%;
  background: transparent;
  box-shadow: none;
}

.fc-header__nav {
  display: flex;
  flex: 1;
  gap: 4px;
  align-items: center;
  min-width: 0;
  max-width: none;
  overflow-x: auto;
}

.fc-shell.is-comprehensive .fc-header__nav {
  flex: 0 1 auto;
}

.fc-header__nav-item {
  flex: 0 0 auto;
  padding: 8px 14px;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 8px;
}

.fc-header__nav-item:hover,
.fc-header__nav-item.is-active {
  color: var(--fc-primary);
  background: var(--fc-primary-soft);
}

.fc-header__nav-wrap {
  position: relative;
  flex: 0 0 auto;
}

.fc-header__nav-caret {
  margin-left: 2px;
  font-size: 14px;
  opacity: 0.75;
}

.fc-header__nav-item.is-open {
  color: var(--fc-primary);
  background: var(--fc-primary-soft);
}

/* —— 横向顶栏 flyout（tips 三角，对齐 dizuo FouMenu） —— */
.fc-header-flyout {
  box-sizing: border-box;
  min-width: 180px;
  max-width: 260px;
  max-height: calc(100vh - 24px);
  padding: 6px 0 8px;
  overflow-x: visible;
  overflow-y: auto;
  pointer-events: auto;
  background: #fff;
  border: 1px solid var(--fc-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.fc-header-flyout.is-placement-bottom::before {
  position: absolute;
  top: -10px;
  right: 0;
  left: 0;
  height: 10px;
  content: '';
}

.fc-header-flyout.is-placement-right::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -12px;
  width: 12px;
  content: '';
}

.fc-header-flyout.is-placement-left::before {
  position: absolute;
  top: 0;
  right: -12px;
  bottom: 0;
  width: 12px;
  content: '';
}

.fc-header-flyout__arrow {
  position: absolute;
  z-index: 2;
  width: 10px;
  height: 10px;
  pointer-events: none;
  background: #fff;
  border-top: 1px solid var(--fc-border, #e5e7eb);
  border-left: 1px solid var(--fc-border, #e5e7eb);
}

.fc-header-flyout.is-placement-bottom .fc-header-flyout__arrow {
  top: -5px;
  left: var(--fc-flyout-arrow-x, 18px);
  transform: rotate(45deg);
}

.fc-header-flyout.is-placement-right .fc-header-flyout__arrow {
  top: var(--fc-flyout-arrow-y, 14px);
  left: -5px;
  transform: rotate(-45deg);
}

.fc-header-flyout.is-placement-left .fc-header-flyout__arrow {
  top: var(--fc-flyout-arrow-y, 14px);
  right: -5px;
  left: auto;
  transform: rotate(135deg);
}

.fc-header-flyout__head {
  padding: 4px 14px 8px;
  margin-bottom: 4px;
  overflow: hidden;
  font-size: 12px;
  font-weight: 600;
  color: #909399;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-bottom: 1px solid #ebeef5;
}

.fc-header-flyout__item,
.fc-header-flyout__row {
  box-sizing: border-box;
  display: flex;
  gap: 8px;
  align-items: center;
  width: calc(100% - 16px);
  height: 36px;
  padding: 0 12px;
  margin: 0 8px 2px;
  color: #303133;
  text-align: left;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
}

.fc-header-flyout__item:hover,
.fc-header-flyout__row:hover,
.fc-header-flyout__item.is-active,
.fc-header-flyout__row.is-active,
.fc-header-flyout__row.is-open {
  color: var(--fc-primary, #0f766e);
  background: var(--fc-primary-soft, rgba(15, 118, 110, 0.08));
}

.fc-header-flyout__text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fc-header-flyout__more {
  flex-shrink: 0;
  margin-left: auto;
  font-size: 14px;
  opacity: 0.65;
}

/* —— 瀑布二级横条 —— */
.fc-fall-bar {
  display: flex;
  gap: 4px;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  overflow-x: auto;
  background: #f5f7fa;
  border-bottom: 1px solid var(--fc-border, #e5e7eb);
}

.fc-fall-bar__item {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 6px;
  align-items: center;
  padding: 6px 12px;
  color: #606266;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
  white-space: nowrap;
}

.fc-fall-bar__item:hover,
.fc-fall-bar__item.is-active {
  color: var(--fc-primary);
  background: #fff;
}

.fc-fall-bar__item.has-children .fc-fall-bar__caret {
  margin-left: 2px;
  font-size: 14px;
  opacity: 0.75;
}

/* —— 瀑布三级横条 —— */
.fc-fall-leaf-bar {
  display: flex;
  gap: 4px;
  align-items: center;
  height: 36px;
  padding: 0 16px;
  overflow-x: auto;
  background: #fff;
  border-bottom: 1px solid var(--fc-border, #e5e7eb);
}

.fc-fall-leaf-bar__item {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 6px;
  align-items: center;
  padding: 4px 10px;
  font-size: 13px;
  color: #606266;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
  white-space: nowrap;
}

.fc-fall-leaf-bar__item:hover,
.fc-fall-leaf-bar__item.is-active {
  color: var(--fc-primary);
  background: var(--fc-primary-soft, rgba(15, 118, 110, 0.08));
}

/* —— Logo —— */
.fc-logo {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  max-width: 220px;
  overflow: hidden;
  color: var(--fc-logo-title);
  text-decoration: none;
}

.fc-logo img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.fc-logo__title {
  overflow: hidden;
  font-size: 18px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fc-logo.on-dark {
  color: var(--fc-logo-title-on-dark);
}

/* —— Tabbar —— */
.fc-tabbar {
  display: flex;
  flex: 1;
  align-items: stretch;
  min-width: 0;
  padding-left: 8px;
}

.fc-tabbar__wrap {
  display: flex;
  flex: 1;
  gap: 0;
  align-items: stretch;
  min-width: 0;
  overflow: hidden; /* 禁止横向滚动条 */
}

.fc-tabbar__wrap.is-drag .fc-tabbar__item {
  cursor: grab;
}

.fc-tabbar__wrap.is-drag .fc-tabbar__item:active {
  cursor: grabbing;
}

.fc-tabbar__wrap.is-drag .sortable-ghost {
  opacity: 0.45;
}

.fc-tabbar__more {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 0 8px;
}

.fc-tabbar__more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--fc-text-secondary);
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
}

.fc-tabbar__more-btn:hover {
  color: var(--fc-primary);
  background: var(--fc-primary-light-9);
}

.fc-tabbar__panel {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 2000;
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 260px;
  max-height: min(70vh, 480px);
  padding: 8px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--fc-border);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.fc-tabbar__panel-item {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
  padding: 8px 10px;
  color: var(--fc-text);
  text-align: left;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
}

.fc-tabbar__panel-item:hover,
.fc-tabbar__panel-item.is-active {
  color: var(--fc-primary);
  background: var(--fc-primary-light-9);
}

.fc-tabbar__panel-search {
  margin: 6px 0;
}

.fc-tabbar__item {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 6px;
  align-items: center;
  height: 100%;
  padding: 0 14px;
  color: var(--fc-tabbar-color);
  white-space: nowrap;
  cursor: pointer;
  background: transparent;
  border: 0;
}

.fc-tabbar__item:hover {
  color: var(--fc-tabbar-active-color);
}

.fc-tabbar__item.is-active {
  color: var(--fc-tabbar-active-color);
  box-shadow: inset 0 -2px 0 var(--fc-primary);
}

.fc-tabbar__icon {
  font-size: 14px;
  line-height: 1;
}

/* 标签风格（对齐 dizuo tabsBarStyle） */
.fc-tabbar[data-style='card'] .fc-tabbar__item {
  margin: 8px 4px;
  height: auto;
  border-radius: 6px;
  background: #f5f7fa;
  box-shadow: none;
}
.fc-tabbar[data-style='card'] .fc-tabbar__item.is-active {
  color: #fff;
  background: var(--fc-primary);
  box-shadow: none;
}
.fc-tabbar[data-style='smooth'] .fc-tabbar__item {
  margin: 8px 2px 0;
  height: calc(100% - 8px);
  border-radius: 8px 8px 0 0;
}
.fc-tabbar[data-style='smooth'] .fc-tabbar__item.is-active {
  background: var(--fc-primary-light-9);
  box-shadow: none;
}
.fc-tabbar[data-style='pill'] .fc-tabbar__item {
  margin: 8px 4px;
  height: var(--fc-tab-item-height);
  border-radius: 999px;
  box-shadow: none;
}
.fc-tabbar[data-style='pill'] .fc-tabbar__item.is-active {
  color: #fff;
  background: var(--fc-primary);
}
.fc-tabbar[data-style='rect'] .fc-tabbar__item {
  margin: 0;
  border-right: 1px solid var(--fc-border);
  box-shadow: none;
}
.fc-tabbar[data-style='rect'] .fc-tabbar__item.is-active {
  background: var(--fc-primary-light-9);
}
.fc-tabbar[data-style='tag'] .fc-tabbar__item {
  margin: 10px 4px;
  height: var(--fc-tab-item-height);
  border: 1px solid var(--fc-border);
  border-radius: 4px;
  box-shadow: none;
}
.fc-tabbar[data-style='tag'] .fc-tabbar__item.is-active {
  color: var(--fc-primary);
  border-color: var(--fc-primary);
  background: var(--fc-primary-light-9);
}
.fc-tabbar[data-style='smart'] .fc-tabbar__item.is-active {
  box-shadow: inset 0 -2px 0 var(--fc-primary);
}
.fc-tabbar[data-style='underline'] .fc-tabbar__item.is-active {
  box-shadow: inset 0 -2px 0 var(--fc-primary);
}

.fc-tabbar__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  color: inherit;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 4px;
  opacity: 0.6;
}

.fc-tabbar__close:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.06);
}

.fc-toolbar {
  display: flex;
  flex: 0 0 auto;
  gap: 4px;
  align-items: center;
  padding: 0 12px;
}

.fc-toolbar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--fc-text-secondary);
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 6px;
}

.fc-toolbar__btn:hover {
  color: var(--fc-primary);
  background: #f5f7fa;
}

.fc-shell__footer {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  height: 50px;
  font-size: 12px;
  color: var(--fc-text-secondary);
  background: var(--fc-bg);
  border-top: 1px solid var(--fc-border);
}

.fc-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--fc-primary), transparent);
  animation: fc-progress 0.4s linear;
}

@keyframes fc-progress {
  from {
    transform: scaleX(0);
    transform-origin: left;
  }
  to {
    transform: scaleX(1);
    transform-origin: left;
  }
}

/* 页面切换动画 */
.fou-fade-enter-active,
.fou-fade-leave-active,
.fou-fade-up-enter-active,
.fou-fade-up-leave-active,
.fou-fade-down-enter-active,
.fou-fade-down-leave-active,
.fou-slide-left-enter-active,
.fou-slide-left-leave-active,
.fou-slide-right-enter-active,
.fou-slide-right-leave-active,
.fou-scale-enter-active,
.fou-scale-leave-active {
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fou-fade-enter-from,
.fou-fade-leave-to {
  opacity: 0;
}
.fou-fade-up-enter-from,
.fou-fade-up-leave-to {
  opacity: 0;
  transform: translateY(8px);
}
.fou-fade-down-enter-from,
.fou-fade-down-leave-to {
  opacity: 0;
  transform: translateY(-8px);
}
.fou-slide-left-enter-from,
.fou-slide-left-leave-to {
  opacity: 0;
  transform: translateX(12px);
}
.fou-slide-right-enter-from,
.fou-slide-right-leave-to {
  opacity: 0;
  transform: translateX(-12px);
}
.fou-scale-enter-from,
.fou-scale-leave-to {
  opacity: 0;
  transform: scale(0.98);
}

/* 分栏一级风格 */
.fc-shell[data-column-style='card'] .fc-main-sidebar__item {
  border-radius: 10px;
}
.fc-shell[data-column-style='arrow'] .fc-main-sidebar__item.is-active::after {
  position: absolute;
  right: -1px;
  width: 0;
  height: 0;
  content: '';
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid var(--fc-sub-sidebar-bg);
}
.fc-shell[data-column-style='semicircle'] .fc-main-sidebar__item.is-active {
  border-radius: 999px;
}
.fc-shell[data-column-style='horizontal'] .fc-main-sidebar__item {
  flex-direction: row;
  gap: 6px;
  min-height: 40px;
}

.fc-mode-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
}
