/* 图片放大样式 */
.img-zoom-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 1000;
}

.img-zoom-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.img-zoom-container {
  transition: transform 0.2s ease-out;
  transform-origin: center center;
}

.img-zoomed {
  max-width: 95vw;
  max-height: 90vh;
  transform: scale(1);
  transition: transform 0.3s ease;
  opacity: 0;
  cursor: move;
}

.img-zoom-overlay.active .img-zoomed {
  opacity: 1;
}

.zoom-controls {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 1001;
}

.zoom-controls button {
  background: rgba(0, 0, 0, 0.7);
  color: white;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zoom-controls button:hover {
  background: rgba(0, 0, 0, 0.9);
}

/* 其他原有样式保持不变... */


.badge--secondary {
  display: none !important;
}

/* 页脚logo*/
.margin-bottom--sm a {
  margin-right: 16px;
  opacity: 1 !important;
}

/* Swagger UI 样式*/
.info {
  margin: 30px 0 !important;
}

.info .version {
  color: #191919 !important;
}

.info .title {
  font-size: 32px !important;
  font-weight: 600;
}

.info .title span {
  position: relative;
  top: 14px;
}

.swagger-ui .wrapper {
  padding: 0px !important;
}

.swagger-ui .scheme-container {
  padding: 30px 10px !important;
  box-shadow: 0 0px 2px 0 rgba(0, 0, 0, .15);
}

.swagger-ui .try-out {
  display: none;
}

.swagger-ui.dark-mode {
  background-color: #121212 !important;
  /* 全局背景 */
  color: #e0e0e0 !important;
  /* 全局文字色 */
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

/* 所有子元素继承基础样式 */
.swagger-ui.dark-mode * {
  border-color: #333 !important;
  /* 全局边框色 */
  box-sizing: border-box !important;
}

.swagger-ui.dark-mode .info {
  padding: 16px 10px 0;
}

.swagger-ui.dark-mode .info .title {
  color: #fff;
}

.swagger-ui.dark-mode .parameters-col_name div {
  color: #fff;
}

.swagger-ui.dark-mode .scheme-container {
  background: #252525;
}

.swagger-ui.dark-mode .nostyle {
  color: #fff;
}

.swagger-ui.dark-mode .renderedMarkdown p {
  color: #fff;
}

.swagger-ui.dark-mode .opblock .opblock-summary-description {
  color: #fff;
}

.swagger-ui.dark-mode .servers>label select {
  background: #252525;
  border: 1px sloid #3d3d3d;
  color: #fff;
}

.swagger-ui.dark-mode .topbar {
  background-color: #1e1e1e !important;
  /* 导航栏背景 */
  border-bottom: 1px solid #333 !important;
  padding: 10px 0 !important;
}

/* 导航栏标题 */
.swagger-ui.dark-mode .topbar .logo__title {
  color: #fff !important;
  font-size: 18px !important;
}

/* 导航栏右侧下载按钮 */
.swagger-ui.dark-mode .topbar .download-url-wrapper {
  margin-right: 20px !important;
}

.swagger-ui.dark-mode .topbar .download-url-wrapper .select-label {
  color: #bbb !important;
}

/* 卡片容器 */
.swagger-ui.dark-mode .opblock {
  background-color: #1e1e1e !important;
  border: 1px solid #333 !important;
  border-radius: 6px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

/* 卡片标题栏（包含方法名和路径） */
.swagger-ui.dark-mode .opblock .opblock-summary {
  background-color: #252525 !important;
  padding: 10px 15px !important;
  border-bottom: 1px solid #333 !important;
}

/* 方法名标签（GET/POST/PUT/DELETE） */
.swagger-ui.dark-mode .opblock .opblock-summary-method {
  color: #fff !important;
  border-radius: 4px !important;
  padding: 4px 10px !important;
  font-weight: 600 !important;
}

/* 接口路径文字 */
.swagger-ui.dark-mode .opblock .opblock-summary-path {
  color: #ddd !important;
  font-size: 14px !important;
  margin-left: 10px !important;
}

/* 展开/折叠按钮 */
.swagger-ui.dark-mode .opblock .expand-operation {
  color: #aaa !important;
}

.swagger-ui.dark-mode .opblock .expand-operation:hover {
  color: #fff !important;
}

/* 描述文字 */
.swagger-ui.dark-mode .opblock-description-wrapper p,
.swagger-ui.dark-mode .opblock-title_normal p {
  color: #e0e0e0 !important;
  line-height: 1.6 !important;
}

/* 参数表格 */
.swagger-ui.dark-mode .parameters-container {
  background-color: #252525 !important;
  padding: 15px !important;
  border-radius: 4px !important;
}

/* 表格整体 */
.swagger-ui.dark-mode table {
  background-color: #252525 !important;
  border-collapse: collapse !important;
  width: 100% !important;
}

/* 表格内容行 */
.swagger-ui.dark-mode .tabitem button {
  color: #fff !important;
}

/* 通用按钮 */
.swagger-ui.dark-mode .btn {
  background-color: #333 !important;
  color: #fff !important;
  border: 1px solid #444 !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  cursor: pointer !important;
}

.swagger-ui.dark-mode .btn:hover {
  background-color: #444 !important;
  border-color: #555 !important;
}

/* 执行按钮（Try it out） */
.swagger-ui.dark-mode .btn.execute {
  background-color: #0d6efd !important;
  border-color: #0d6efd !important;
}

.swagger-ui.dark-mode .btn.execute:hover {
  background-color: #0b5ed7 !important;
}

/* 取消按钮 */
.swagger-ui.dark-mode .btn.cancel {
  background-color: #444 !important;
  color: #ccc !important;
}

/* 响应状态码 */
.swagger-ui.dark-mode .response-col_status {
  color: #81c784 !important;
  /* 成功状态码绿色 */
  font-weight: 600 !important;
}

/* 响应内容区域 */
.swagger-ui.dark-mode .response-content {
  background-color: #252525 !important;
  border: 1px solid #333 !important;
  border-radius: 4px !important;
  margin-top: 10px !important;
}

/* 响应内容类型选择器 */
.swagger-ui.dark-mode .response-content-type {
  background-color: #333 !important;
  color: #ddd !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid #444 !important;
}

.swagger-ui.dark-mode .microlight,
.swagger-ui.dark-mode .response-col_description pre {
  background-color: #121212 !important;
  /* 代码块深色背景 */
  color: #a8b9cc !important;
  /* 代码文字色 */
  border: 1px solid #333 !important;
  border-radius: 4px !important;
  padding: 12px !important;
  font-family: "Fira Code", monospace !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.swagger-ui.dark-mode .microlight .comment {
  color: #616e88 !important;
}

.swagger-ui.dark-mode .microlight .string {
  color: #81c784 !important;
}

.swagger-ui.dark-mode .microlight .number {
  color: #ffb74d !important;
}

.swagger-ui.dark-mode .microlight .keyword {
  color: #bb80b3 !important;
}

.swagger-ui.dark-mode .search-box {
  margin: 20px 0 !important;
}

.swagger-ui.dark-mode .search-box input {
  background-color: #2d2d2d !important;
  color: #fff !important;
  border: 1px solid #444 !important;
  padding: 8px 12px !important;
  border-radius: 4px !important;
  width: 100% !important;
}

.swagger-ui.dark-mode .search-box input::placeholder {
  color: #aaa !important;
}

.swagger-ui.dark-mode .topbar .download-url-wrapper input {
  background-color: #2d2d2d !important;
  color: #fff !important;
  border: 1px solid #444 !important;
  padding: 6px 10px !important;
  border-radius: 4px !important;
}

/* 标签（如“必填”） */
.swagger-ui.dark-mode .badge {
  background-color: #333 !important;
  color: #ffb74d !important;
  border: none !important;
  padding: 2px 6px !important;
  border-radius: 3px !important;
}

.navbar__item::after {
  content: '|';
  color: #fff;
  margin-left: 24px;
}

.navbar__link {
  color: #fff !important;
}

.navbar__item .navbar__link {
  border: 1px solid #fff;
  border-radius: 6px;
  padding: 2px 12px;
  color: #fff;
}

.menu__link--active {
  background-image: linear-gradient(45deg, #c9daf8, #9abdf5) !important;
  color: #fff !important;
}

.menu__list-item-collapsible:hover {
  background: rgb(96, 129, 246) !important;
}

.menu__link--active:not(.menu__link--sublist) {
  background: linear-gradient(to left, #9dbff6, #e5edfd) !important;
  background-color: none !important;
  color: #2865f4 !important;
}

.swagger-ui.dark-mode .navbar__item {
  border-right: 1px solid #777777;
}

.navbar__items--right {
  margin-right: 32px;
}

.clean-btn {
  margin-left: 16px;
}

.clean-btn svg {
  color: #fff !important;
}

.pagination-nav__sublabel {
  font-size: 0;
}

.pagination-nav__link--prev .pagination-nav__sublabel {
  font-size: 0;
}

.pagination-nav__link--prev .pagination-nav__sublabel::after {
  content: "上一页";
  font-size: 1rem;
}

.pagination-nav__link--next .pagination-nav__sublabel {
  font-size: 0;
}

.pagination-nav__link--next .pagination-nav__sublabel::after {
  content: "下一页";
  font-size: 1rem;
}

.navbar__logo img {
  width: 148px;
  height: 40px !important;
  position: relative;
  top: -3px;
}

.navbar {
  background-image: linear-gradient(90deg, #fff 70%, rgb(83, 118, 246) 85%, rgb(83, 118, 246)) !important;
  box-shadow: 0 1px 6px 0 rgba(40, 101, 244, 0.2) !important;
}

.menu {
  background-image: linear-gradient(180deg, #4569d4, #4569d4) !important;
}

.menu .menu__link {
  color: #fff;
  padding: 17px 40px;
}

.menu__link:hover {
  color: #fff !important;
  background: rgb(96, 129, 246) !important;
}

.menu__link .menu__caret {
  border-radius: 0.25rem;
}

.menu__link--sublist-caret:after {
  background: url(../img/menuTop.png) !important;
  background-size: 0.8rem 0.5rem !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.footer {
  padding: 0 0 !important;
}

.footer__bottom {
  display: flex;
  justify-content: center;
  align-items: center;
}

.theme-code-block {
  box-shadow: none !important;
}

.prism-code {
  background-color: #f7f8fa !important;
  border-radius: 0 !important;
}

.prism-code .token-line {
  color: #191919 !important;
}

html {
  /* Firefox 兼容 */
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

/* 定义变量（方便主题切换） */
[data-theme='light'] {
  --scrollbar-thumb: #c1c1c1;
  --scrollbar-track: #f1f1f1;
}

/* WebKit 浏览器（Chrome/Edge/Safari） */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 5px;
}

::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}

[data-theme='dark'] {

  --scrollbar-thumb: #555;
  --scrollbar-track: #1e1e1e;

  table thead tr {
    border-bottom: 1px solid #3d3d3d !important;
  }

  table thead th {
    background: #353539 !important;
    border: 1px solid #3d3d3d !important;
  }

  table tbody tr td {
    background: #242427 !important;
    border: 1px solid #3d3d3d !important;
  }

  .menu {
    background-image: linear-gradient(to bottom, rgb(33, 44, 87), rgb(36, 36, 39)) !important;
  }

  .menu .menu__link {
    color: #fff !important;
  }

  .navbar {
    background-image: linear-gradient(136deg, rgb(33, 44, 87), rgb(18, 31, 140)) !important;
    box-shadow: 0 1px 6px 0 rgba(40, 101, 244, 0.2);
    border-bottom: 1px solid rgba(61, 61, 61, 0.6);
  }

  .navbar__link:hover {
    color: #fff;
  }

  .menu__link--active:not(.menu__link--sublist) {
    background: linear-gradient(to left, rgb(29, 62, 115), rgb(49, 61, 81)) !important;
    background-color: none !important;
    color: #fff !important;
  }

  .menu__link:hover {
    color: #fff !important;
    background: linear-gradient(to left, rgba(29, 62, 115, 0.4), rgba(55, 57, 63, 0.4)) !important;
    background-color: none !important;
  }

  .menu__link--sublist-caret:after {
    filter: none !important;
  }

  .pagination-nav__link {
    background: #242427 !important;
    border: 1px solid #3d3d3d !important;
  }

  .prism-code {
    background-color: #292d3e !important;
  }

  .prism-code .token-line {
    color: #fff !important;
  }

  .footer {
    background: rgb(36, 36, 39) !important;
  }
}

.swagger-ui.dark-mode table thead tr th {
  background-color: #333 !important;
  color: #fff !important;
  padding: 10px 12px !important;
  text-align: left !important;
  border-bottom: 1px solid #444 !important;
}

.swagger-ui.dark-mode table tbody tr td {
  color: #fff !important;
  padding: 10px 12px !important;
  border-bottom: 1px solid #444 !important;
}

.swagger-ui.dark-mode .responses-inner td {
  color: #fff;
}

.swagger-ui.dark-mode table tbody tr:nth-child(even) {
  background-color: #2a2a2a !important;
}

.swagger-ui.dark-mode table tbody tr:hover {
  background-color: #333 !important;
}