@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  -webkit-tap-highlight-color: transparent;
}

body {
  background: #f9f9f9;
  font-family: 'Microsoft YaHei UI', Roboto, Noto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #666;
  padding: 0;
  margin: 0;
}

ul,
li {
  list-style: none;
  padding: 0;
  margin: 0;
}

input,
button,
select {
  outline: none;
  border: none;
}

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  -moz-transition: color 0.3s;
  -o-transition: color 0.3s;
  transition: color 0.3s;
}

a:hover {
  color: #ff7f00;
  text-decoration: none;
}

p {
  margin: 6px;
}

::-moz-selection {
  background: #ff7f00;
  color: #fff;
}

::selection {
  background: #ff7f00;
  color: #fff;
}

::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  background: #222;
}

::-webkit-scrollbar-track {
  background: #222;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 2px;
}

.container {
  position: relative;
  width: 85%;
  max-width: 1200px;
  margin: auto;
  overflow: hidden;
}

.header + .container {
  margin-top: 60px;
}

@media (max-width: 1300px) {
  .container {
    width: 95%;
  }
}

@media (max-width: 991px) {
  .container {
    width: 98%;
  }
}

@media (max-width: 767px) {
  .container {
    width: 100%;
  }

  .header + .container {
    margin-top: 50px;
  }
}

.header {
  position: fixed;
  display: flex;
  width: 100%;
  height: 70px;
  top: 0;
  left: 0;
  font-size: 0;
  background: transparent;
  z-index: 999;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.header.fixed {
  height: 48px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 8px #ddd;
}

@media (min-width: 767px) {
  .header.fixed {
    height: 55px;
  }

  .header.fixed a {
    color: #666;
  }

  .nav-bar {
    display: none;
  }
}

@media (max-width: 767px) {
  .header {
    height: 55px;
  }
}

.nav-bar {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  z-index: 1000;
  cursor: pointer;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition: transform 0.3s;
  -moz-transition: transform 0.3s;
  -o-transition: transform 0.3s;
  transition: transform 0.3s;
}

.nav-bar.active {
  -webkit-transform: rotateZ(90deg) scale(0.8);
  -moz-transform: rotateZ(90deg) scale(0.8);
  -o-transform: rotateZ(90deg) scale(0.8);
  transform: rotateZ(90deg) scale(0.8);
}

.nav-bar span {
  position: absolute;
  left: 0;
  right: 0;
  margin: 24px auto;
  width: 25px;
  height: 2px;
  background: #aaa;
  border-radius: 25px;
}

.nav-bar span::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 50%; /* 居中第一步 */
  transform: translateX(-50%); /* 居中第二步 */
  width: 25px;
  height: 2px;
  background: #aaa;
  border-radius: 25px;
}

.nav-bar span::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 25px;
  height: 2px;
  background: #aaa;
  border-radius: 25px;
}

.logo {
  display: inline-flex;
  justify-content: center;
  height: 55px;
  width: 200px;
  padding: 8px 0;
}

.logo img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 767px) {
  .logo {
    display: flex;
    margin-left: 10px;
    height: 48px;
    padding: 10px 0;
  }
}

.nav {
  display: flex;
  margin-left: 20px;
  font-size: 14px;
  float: right;
}

.nav li {
  position: relative;
}

.nav.show li {
  -webkit-transform: translateX(-105%);
  -moz-transform: translateX(-105%);
  -o-transform: translateX(-105%);
  transform: translateX(-105%);
}

.nav.show li:nth-child(even) {
  transition-duration: 0.4s;
}

.nav li::after {
  content: '';
  position: absolute;
  width: 0;
  height: 3px;
  left: 50%;
  bottom: 0;
  background: #ff7f00;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.nav li.active::after,
.nav li:hover::after {
  width: 100%;
  margin-left: -50%;
}

.nav li a {
  display: inline-block;
  color: #eee;
  padding: 0 12px;
  height: 55px;
  line-height: 55px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

@media (max-width: 767px) {
  .nav {
    flex-direction: column;
    position: fixed;
    top: 52px;
    right: 0;
    float: none;
    margin-left: 0;
    opacity: 0;
    visibility: hidden;
    text-align: right;
    z-index: 999;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }

  .nav.show {
    opacity: 1;
    visibility: visible;
  }

  .nav li {
    right: -105%;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }

  .nav li::after {
    display: none;
  }

  .nav li a {
    padding: 8px 8px 8px 15px;
    font-size: 14px;
    color: #666;
    height: auto;
    line-height: normal;
    margin: 3px 0;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 0 8px #ccc;
    border-radius: 25px 0 0 25px;
  }

  .nav li a:hover,
  .nav li a.active {
    color: #fff;
    background: #ff7f00;
    box-shadow: 0 0 8px #ff7f00;
  }
}

@media (min-width: 767px) {
  .transparent-mark {
    display: none;
  }
}

.transparent-mark {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
}
.sort {
  position: fixed;
  top: 38%;
  left: 0;
  width: 32px;
  margin: 0;
  border-radius: 8px;
  z-index: 999;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.sort li {
  position: relative;
  margin: 4px 0;
}

.sort li a {
  position: relative;
  display: inline-block;
  height: 32px;
  text-align: right;
  background: rgba(255, 255, 255, 0.85);
  padding: 6px 8px 6px 6px;
  box-shadow: 0 0 8px #ccc;
  border-radius: 0 25px 25px 0;
  white-space: nowrap;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translateX(-100%) translateX(30px);
  -moz-transform: translateX(-100%) translateX(30px);
  -o-transform: translateX(-100%) translateX(30px);
  transform: translateX(-100%) translateX(30px);
}

.sort li a:hover,
.sort li a.active {
  color: #fff;
  background: #ff7f00;
}

.sort li a:hover {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}

#main {
  float: left;
  width: calc(100% - 300px);
}

@media (max-width: 991px) {
  #main {
    width: 100%;
  }
}

#side {
  float: left;
  width: 300px;
  padding-top: 8px;
  padding-right: 8px;
}

#side .card {
  margin: 0 0 8px;
}

@media (max-width: 991px) {
  #side {
    width: 100%;
    padding: 0;
  }

  #side .card {
    margin: 5px;
  }
}

.card {
  position: relative;
  background: #fff;
  box-shadow: 0 0 8px #eee;
  border-radius: 8px;
  margin: 8px;
  overflow: hidden;
}

.card .card-head {
  font-size: 15px;
  font-weight: 700;
  padding: 12px 15px;
  border-bottom: 1px solid #f2f2f2;
}

.card .card-head i {
  color:#ff9000;
  margin-right: 6px;
}

.card .card-head .more {
  position: absolute;
  right: 8px;
  color: #aaabbb;
  font-size: 12px;
  white-space: nowrap;    /* 强制文本单行显示 */
  overflow: hidden;       /* 超出容器部分隐藏 */
  text-overflow: ellipsis;/* 超出部分显示省略号 */
  /* 移动端限制12个字符宽度（核心：添加宽度限制） */
  @media (max-width: 768px) {
    max-width: 24ch; /* 等宽字符（数字/英文）推荐用ch单位，1ch=1个字符 */
    /* 若为中文等非等宽字体，可改用像素值：max-width: 192px; （12字×约16px/字） */
  }
}

.card .card-body {
  padding: 8px;
  font-size: 0;
}

.card .card-body.content {
  font-size: 14px;
}

.card .card-body.content img {
  max-width: 100%;
  border-radius: 4px;
}

@media (max-width: 767px) {
  .card {
    margin: 5px;
  }

  .card .card-head {
    font-size: 14px;
    padding: 10px 12px;
  }

  .card .card-body.content {
    font-size: 13px;
  }
}
 .board {
      display: flex;
      align-items: center; /* PC端整体垂直居中 */
      height: 44px;
      padding: 0 8px; /* 优化内边距，避免高度溢出 */
      margin-bottom: 0;
      overflow: hidden;
      white-space: nowrap;
      position: relative; /* 为PC端.mr绝对定位提供参考 */
      box-sizing: border-box;
      color: #333; /* 文字黑色 */
      font-size: 14px;
    }

    /* 图标样式：橙色 + 垂直对齐 */
    .board .icon i {
      color: #ff9000; /* 图标橙色 */
      vertical-align: middle; /* 图标与文字对齐 */
      font-size: 16px;
    }

    .board .icon {
      flex-shrink: 0; /* PC端防止图标被挤压 */
      margin-right: 8px; /* 图标与文字的间距 */
    }

    /* 左侧ml：PC端 */
    .board .ml {
      display: flex;
      align-items: center; /* PC端图标文字对齐 */
    }

    /* 右侧mr：PC端绝对定位靠右 */
    .board .mr {
      position: absolute;
      right: 8px;
      display: flex;
      align-items: center; /* PC端图标文字对齐 */
      color: #333;
    }

    /* 中间文本省略号（PC端） */
    .board .notice-text {
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      flex: 1; /* 占满剩余空间 */
      margin-right: 1px; /* 为右侧mr预留空间 */
    }

    /* 手机端适配：屏幕宽度≤768px（可根据需求调整为480px） */
    @media (max-width: 768px) {
      .board {
        display: block; /* 改为块布局，强制子元素换行 */
        height: auto; /* 取消固定高度，自适应内容 */
        padding: 12px 8px; /* 增加上下内边距，提升手机端体验 */
        white-space: normal; /* 取消强制单行 */
      }

      /* 手机端：ml单独占一行 */
      .board .ml {
        display: flex;
        align-items: center; /* 图标文字垂直居中 */
        width: 100%; /* 占满父容器宽度 */
        margin-bottom: 12px; /* 与mr保持间距，区分两行 */
        padding: 4px 0; /* 增加行内边距，更易点击 */
      }

      /* 手机端：mr单独占一行 */
      .board .mr {
        position: static; /* 取消绝对定位，自然换行 */
        display: flex;
        align-items: center; /* 图标文字垂直居中 */
        width: 100%; /* 占满父容器宽度 */
        padding: 4px 0;
      }

      /* 手机端：文本省略号（每行独立省略） */
      .board .notice-text,
      .board .mr-text {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        flex: 1; /* 占满行内剩余空间 */
      }
    }

.site-item {
  display: inline-block;
  width: 12.5%;
  color: #666;
  font-size: 14px;
  padding: 10px 8px;
  border-radius: 1px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
 border: 1px solid #f1f1f1;
  margin: 0 -1px -1px 0;
}

.site-item.top {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}

.site-item.side {
  width: 50%;
}

.site-item:hover {
  color: #666;
  font-weight: 600;
  background: #eee;
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -o-transform: scale(1.05);
  transform: scale(1.05);
  /* 悬浮时可自定义outline颜色，保持原色则删掉这行 */
  outline: 1px solid #原边框颜色;
}

.site-item .icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.site-item.top .icon {
  width: 30px;
  height: 30px;
}

.site-item:hover .icon {
  -webkit-transform: rotateZ(360deg);
  -moz-transform: rotateZ(360deg);
  -o-transform: rotateZ(360deg);
  transform: rotateZ(360deg);
}

.site-item .icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}

.site-item.top .name {
  width: 100%;
  text-align: center;
  margin-top: 8px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

@media (max-width: 1300px) {
  .site-item {
    width: 16.6666667%;
  }

  .site-item.top {
    width: 14.2857143%;
  }
}

@media (max-width: 767px) {
  .site-item {
    width: 25%;
  }

  .site-item.top {
    width: 20%;
  }
}

@media (max-width: 480px) {
  .site-item {
    width: 33.3333333%;
    font-size: 13px;
  }

  .site-item.top {
    width: 25%;
    padding: 10px 5px;
    font-size: 13px;
  }

  .site-item .name {
    line-height: 20px;
  }

  .site-item.top .icon {
    width: 25px;
    height: 25px;
  }
}

.site-ranking {
  display: flex;
  align-items: center;
  padding: 6px;
  line-height: 25px;
  font-size: 14px;
  color: #666;
  border-radius: 25px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.site-ranking:hover {
  color: #666;
  background: #eee;
}

.site-ranking .rank {
  flex: none;
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 10px;
  text-align: center;
}

.site-ranking:nth-child(1) .rank {
  font-size: 0;
  background: url('../images/rank_1.png') no-repeat 50% 50%/85%;
}

.site-ranking:nth-child(2) .rank {
  font-size: 0;
  background: url('../images/rank_2.png') no-repeat 50% 50%/85%;
}

.site-ranking:nth-child(3) .rank {
  font-size: 0;
  background: url('../images/rank_3.png') no-repeat 50% 50%/85%;
}

.site-ranking .icon {
  flex: none;
  width: 20px;
  height: 20px;
  line-height: 20px;
  margin-right: 4px;
}

.site-ranking .icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}

.site-ranking .name {
  flex: auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.site-ranking .view {
  flex: none;
  color: #ff7f00;
  font-size: 15px;
  font-style: italic;
  border-radius: 4px;
  margin-right: 6px;
}

.post-item {
  display: inline-flex;
  width: 50%;
  color: #555;
  font-size: 14px;
  padding: 8px;
  border-radius: 8px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.post-item.side {
  width: 100%;
}

.post-item:hover {
  color: #555;
  background: #eee;
}

.post-item .pic {
  flex: none;
  width: 120px;
  height: 85px;
}

.post-item.side .pic {
  width: 80px;
  height: 60px;
}

.post-item .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

.post-item .text {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: space-between;
  margin-left: 10px;
  padding: 4px 0;
}

.post-item.side .text {
  padding: 0;
}

.post-item .title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 15px;
  height: 2.85714286em;
}

.post-item.side .title {
  font-size: 14px;
}

.post-item .info {
  display: flex;
  justify-content: space-between;
  color: #888;
  font-size: 12px;
}

.post-item.side .info {
  font-size: 11px;
}

.post-item.ranking {
  position: relative;
  padding-left: 30px;
}

.post-item.ranking .rank {
  position: absolute;
  top: 50%;
  left: 2px;
  width: 25px;
  height: 25px;
  text-align: center;
  z-index: 1;
  transform: translateY(-50%);
}

.post-item.ranking:nth-child(1) .rank {
  font-size: 0;
  background: url('../images/rank_1.png') no-repeat 50% 50%/85%;
}

.post-item.ranking:nth-child(2) .rank {
  font-size: 0;
  background: url('../images/rank_2.png') no-repeat 50% 50%/85%;
}

.post-item.ranking:nth-child(3) .rank {
  font-size: 0;
  background: url('../images/rank_3.png') no-repeat 50% 50%/85%;
}

@media (max-width: 767px) {
  .post-item {
    width: 100%;
  }

  .post-item .pic {
    width: 95px;
    height: 70px;
  }
}

.post-info {
  display: flex;
  justify-content: space-around;
  color: #888;
  font-size: 13px;
  padding-bottom: 8px;
  margin-bottom: 10px;
  border-bottom: 1px dashed #eee;
}

.site-main {
  display: inline-block;
  width: calc(100% - 280px);
  padding: 5px;
  font-size: 14px;
  vertical-align: top;
}

.site-main .title {
  display: block;
  font-weight: 600;
  font-size: 22px;
  line-height: normal;
  text-align: center;
  padding-bottom: 0;
}

.site-main span {
  line-height: 42px;
  padding: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  z-index: 1;
}

.site-main img {
  vertical-align: middle;
  margin-top: -4px;
}

@media (max-width: 1300px) {
  .site-main span {
    line-height: 32px;
    padding: 6px;
  }
}

@media (max-width: 767px) {
  .site-main {
    width: 100%;
    font-size: 13px;
  }

  .site-main .title {
    width: 50%;
    padding-top: 0;
    font-size: 18px;
    line-height: 32px;
  }

  .site-main span {
    line-height: 26px;
    padding: 4px;
  }
}

.site-side {
  float: left;
  width: 280px;
  padding: 20px;
  text-align: center;
}

.site-side .snapshot {
  width: 100%;
  height: 180px;
  margin-bottom: 5px;
  border-radius: 4px;
  box-shadow: 0 0 10px #ddd;
}

.site-side .snapshot img {
  display: inline-block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}

.site-side .oz-btn {
  margin: 5px 0;
}

@media (max-width: 767px) {
  .site-side {
    width: 100%;
    padding: 0;
    float: none;
  }

  .site-side .snapshot {
    position: absolute;
    top: 20px;
    left: 51%;
    width: 210px;
    height: 160px;
  }

  .site-side .oz-btn {
    width: 48%;
    margin: 1%;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .site-side .site-img {
    left: auto;
    right: 15px;
    width: 40%;
    height: 35%;
  }
}

.side-sort {
  display: inline-block;
  width: 50%;
  font-size: 14px;
  color: #666;
  text-align: center;
  padding: 10px 12px;
  border-radius: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.side-sort:hover,
.side-sort.active {
  color: #666;
  background: #eee;
}

.ranking {
  overflow: hidden;
}

.ranking div {
  padding: 0;
}

.ranking div:nth-child(2) .card {
  margin: 8px 0;
}

@media (max-width: 991px) {
  .ranking div:nth-child(2) .card {
    margin: 8px 8px 8px 0;
  }

  .ranking div:nth-child(3) .card {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .ranking div:nth-child(2) .card {
    margin: 5px !important;
  }
}

.card .side-statistic {
  font-size: 14px;
}

.card .side-statistic p {
  margin: 12px 8px;
}

.side-latest .oz-timeline-main {
  padding: 3px 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.side-latest .oz-timeline-main .icon {
  display: inline-block;
  width: 20px;
  height: 20px;
}

.side-latest .oz-timeline-main .icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.side-latest .oz-timeline-main .name {
  line-height: 35px;
  vertical-align: middle;
}

.links {
  clear: both;
}

.links .card-head::before {
  content: '';
  position: absolute;
  left: 5px;
  width: 4px;
  height: 22px;
  background: #ff7f00;
  border-radius: 2px;
}

.link-item {
  display: inline-block;
  font-size: 13px;
  padding: 5px 12px;
  margin: 2px;
  color: #666;
  background: #eee;
  border-radius: 25px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.link-item:hover {
  color: #fff;
  background: #ff7f00;
}

.suspend {
  position: fixed;
  right: 2%;
  bottom: 5%;
}

.suspend li {
  position: relative;
  width: 32px;
  height: 32px;
  margin: 3px;
  line-height: 32px;
  font-size: 13px;
  text-align: center;
  color: #333;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.suspend li a {
  color: #000;
}

.suspend li a:hover {
  color: #fff;
}

.suspend li:hover {
  color: #fff;
  background: #ff7f00;
}

.suspend li:hover .more {
  visibility: visible;
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.suspend .more {
  position: absolute;
  display: block;
  visibility: hidden;
  opacity: 0;
  top: 0;
  right: 40px;
  height: 32px;
  padding: 0 10px;
  line-height: 32px;
  white-space: nowrap;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 2px;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.suspend .more::after {
  content: '';
  position: absolute;
  display: block;
  top: calc(50% - 5px);
  right: -4px;
  border-top: 5px solid transparent;
  border-left: 5px solid rgba(0, 0, 0, 0.8);
  border-bottom: 5px solid transparent;
}

.suspend .more.weixin {
  width: 100px;
  height: 100px;
  top: calc(50% - 50px);
  padding: 5px;
}

.suspend .more img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.back-top {
  visibility: hidden;
  opacity: 0;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
}

.back-top.show {
  visibility: visible;
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
.pagination {
  padding: 8px;
  text-align: center;
}

.pagination li {
  display: inline-block;
}

.pagination li a {
  display: inline-block;
  color: #666;
  background: #fff;
  border: 1px solid #ddd;
  padding: 4px 10px;
  margin: 0 2px;
  border-radius: 25px;
}

.pagination li a:hover {
  background: #eee;
}

.pagination .active a {
  color: #fff;
  background: #ff7f00;
  border: 1px solid #ff7f00;
}

.pagination .disabled {
  pointer-events: none;
  cursor: not-allowed;
}

.ad {
  display: block;
}

.ad img {
  width: 100%;
}

#captchaImage {
  height: 36px;
  cursor: pointer;
}
.top-grid {
	font-size: 0;
	padding: 8px
}

.top-grid .item {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	width: 10%;
	color: #000000;
	font-size: 13px;
	padding: 10px 1px;
	-webkit-transition: font-weight,background,transform .3s;
	-moz-transition: font-weight,background,transform .3s;
	-o-transition: font-weight,background,transform .3s;
	transition: font-weight,background,transform .3s
	
}

@media(max-width:1300px) {
	.top-grid .item {
		width: 16.6666667%
	}
}

@media(max-width:767px) {
	.top-grid .item {
		width: 20%
	}
}

@media(max-width:480px) {
	.top-grid .item {
		width: 20%;
		padding: 10px 5px;
		font-size: 12px
	}

	.top-grid .item .icon {
		width: 36px;
		height: 36px;
		-webkit-transition: all .3s;
		-moz-transition: all .3s;
		-o-transition: all .3s;
		transition: all .3s
	}
}

.top-grid .item:hover {
	background: #eee;
	color: #ffcf26;
	font-weight: 600;
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-o-transform: scale(1.05);
	transform: scale(1.05)
}

.top-grid .item .icon {
	width: 36px;
	height: 36px;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s
}

.top-grid .item:hover .icon {
	-webkit-transform: rotateZ(360deg);
	-moz-transform: rotateZ(360deg);
	-o-transform: rotateZ(360deg);
	transform: rotateZ(360deg)
}

.top-grid .item .icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px
}

.top-grid .item .name {
	width: 100%;
	text-align: center;
	margin-top: 8px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis
}
.orz-timeline {
	position: relative;
	padding: 5px;
	font-size: 14px
}

.orz-timeline .orz-timeline-item {
	display: block;
	position: relative;
	padding-left: 20px
}

.orz-timeline .orz-timeline-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 6px;
	width: 1px;
	height: 100%;
	background: #aaabbb
}

.orz-timeline .orz-timeline-item::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 14px;
	height: 14px;
	background: #ccc;
	border: 3px solid #fff;
	border-radius: 100px;
	box-shadow: 0 0 6px #ccc
}

.orz-timeline .orz-timeline-time {
	color: #aaabb2;
	line-height: 15px;
	font-size: 13px;
	font-weight: 600
}

.orz-timeline .orz-timeline-main {
	padding: 8px 0
}

.orz-btn {
	height: 36px;
	line-height: 36px;
	padding: 0 15px;
	color: #fff;
	background: #eee;
	font-size: 14px;
	border: none;
	text-align: center;
	border-radius: 2px;
	display: inline-block;
	white-space: nowrap;
	cursor: pointer;
	-webkit-transition: opacity .3s;
	-moz-transition: opacity .3s;
	-o-transition: opacity .3s;
	transition: opacity .3s
}

.orz-btn:hover {
	color: #fff;
	opacity: .8
}

.orz-btn:active {
	opacity: 1
}

.orz-btn-lg {
	height: 38px;
	line-height: 38px;
	padding: 0 20px;
	font-size: 16px
}

.orz-btn-sm {
	height: 28px;
	line-height: 28px;
	padding: 0 10px;
	font-size: 12px
}

.orz-btn-xs {
	height: 22px;
	line-height: 22px;
	padding: 0 5px;
	font-size: 12px
}

.orz-btn-xss {
	height: 20px;
	line-height: 20px;
	padding: 0 5px;
	font-size: 10px
}

.orz-btn-block {
	width: 100%
}

.orz-btn-radius {
	border-radius: 100px
}

.orz-btn-container .orz-btn {
	margin: 5px
}

.orz-bg-red {
	background: #ff5722
}

.orz-bg-blue {
	background: #1e9fff
}

#inputName,#inputEmail,#inputTelegram,#inputUrl {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: -10
}/*alex add start*/.hf {
	margin-top: 0;
	margin-bottom: 0
}
.wrap ul{
    padding: 10px;
    background:#FFF;
}
.wrap ul li {
    background:#F8F8F8;
    padding:10px;
    font-size:13px;
    margin-bottom:10px;
}
.wrap ul li div {
    background:#BBB;
    float:left;
    line-height:22px;
    text-align:center;
    width:22px;
    color:#FFF;
}
.wrap ul li p {
    line-height:22px;
    text-indent:10px;
    margin: 0 0;
}

.wrap ul li p a {
    color:#069;
    font-size:12px;
    margin-left:10px;
}
.wrap ul li p a:hover {
    color:#36F
}
.wrap ul li:nth-child(1) div {
    background:#F66;
}
.wrap ul li:nth-child(2) div {
    background:#00F;
}
.wrap ul li:nth-child(3) div {
    background:#f69;
}
.wrap ul li:nth-child(4) div {
    background:#F3F;
}
.wrap ul li:nth-child(5) div {
    background:#90F;
}
.wrap ul li:nth-child(6) div {
    background:#F90;
}
.wrap ul li:nth-child(7) div {
    background:#090
}
.wrap ul li:nth-child(8) div {
    background:#F00;
}

.fs17{font-size:17px;}
.fs16{font-size:16px;}
.fs14{font-size:14px;}
.fs12{font-size:12px;}
.cu{ font-weight:bolder; font-size:14px;}
.hong{ color:#F00}
.lan{ color:#00F}
.lv{ color:#090}
.fen{ color:#F3F}
.zi{ color:#90F}
.hei{ color:#333}
.huang{ color:#F96}
.hui{ color:#777; font-size:14px;}
.border{ font-weight:bolder;}
.lh20{ line-height:20px;}.lh26{ line-height:26px;}.tac{ text-align:center;}
#footer {clear:both;border-top:5px #f2f2f2 solid;background:rgba(255, 255, 255, 0.85);;padding:10px 0;text-align:center;line-height:21px;font-size:13px;letter-spacing:0;margin-top:20px;}
.copyright {font-family:Tahoma, serif;color:#ccc;}
.copyright a {color:#ccc}

/* 数据网格 */
.data-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.data-item {
    text-align: center;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 10px;
}

.data-num {
    font-size: 32px;
    font-weight: 700;
    color: #1890ff;
    margin-bottom: 8px;
}

.data-label {
    font-size: 13px;
    color: #666;
}

/* 联系方式 */

/* 网格容器：一行两列，设置列间距和行间距 */
.contact-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 一行两列，列宽等分 */
    gap: 20px; /* 列之间的间距 */
}

/* 联系方式单个组件 */
.contact-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
    flex-wrap: wrap; /* 移动端内部换行 */
}

.qq-avatar {
    width: 32px;
    height: 32px;
    border-radius: 10px;
}
.qq-avatar .icon-large {
    font-size: 32px;
}


.qq-info {
    flex: 1;
}

.qq-label {
    font-size: 12px;
    color: #999;
    margin-bottom: 1px;
}

.qq-number {
    font-size: 16px;
    font-weight: 500;
    color: #333;
    overflow: hidden; /* 隐藏溢出内容 */
    text-overflow: ellipsis; /* 溢出时显示省略号 */

}

.qq-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: #1890ff;
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
}

.qq-btn:hover {
    background: #40a9ff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
}

.qq-btn:active {
    transform: translateY(0);
}

.qq-btn i {
    font-size: 16px;
}

/* 响应式 */
@media (max-width: 768px) {

    .data-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    .data-item {
        padding: 16px;
    }

    .data-num {
        font-size: 24px;
    }

    .data-label {
        font-size: 12px;
    }
}
/* 大屏桌面端：一行三列 */
@media (min-width: 1200px) {
    .contact-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 平板：一行两列 */
@media (min-width: 768px) and (max-width: 1199px) {
    .contact-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* 移动端：一行一列 */
@media (max-width: 767px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
	    .qq-number {
        font-size: 12px;
    }
}
/* 1. 颜色变量定义 */
:root {
  --primary: #ff7f00;
  --bg-light: #f9f9f9;
  --text-light: #666;
  --card-bg-light: #fff;
  --border-light: #f2f2f2;
  --shadow-light: 0 0 8px #eee;

  /* 深色模式变量（文字为白色） */
  --bg-dark: #1a1a1a;
  --text-dark: #fff;
  --card-bg-dark: #2d2d2d;
  --border-dark: #444;
  --shadow-dark: 0 0 8px #111;
  --bg-white: #2d2d2d;
  --bg-gray-light: #333;
  --text-primary: #fff;
}

/* 2. 浅色模式（默认） */
body {
  background: var(--bg-light);
  color: var(--text-light);
}

.card {
  background: var(--card-bg-light);
  box-shadow: var(--shadow-light);
}

.card .card-head {
  border-bottom: 1px solid var(--border-light);
}

/* 3. 深色模式核心样式 */
body.dark {
  background: var(--bg-dark);
  color: var(--text-dark);
}

body.dark .card {
  background: var(--card-bg-dark);
  box-shadow: var(--shadow-dark);
  color: #fff;
}

body.dark .card .card-head {
  border-bottom: 1px solid var(--border-dark);
  color: #fff;
}

/* 4. 全局元素文字白色调整 */
body.dark .header.fixed {
  background: rgba(26, 26, 26, 0.9);
  box-shadow: 0 0 8px #111;
}

body.dark .nav li a {
  color: #fff;
}

body.dark .nav-bar span,
body.dark .nav-bar span::before,
body.dark .nav-bar span::after {
  background: #fff;
}

body.dark .search-form .search-input {
  background: rgba(45, 45, 45, 0.85);
  color: #fff;
  border-color: #ff7f00;
}

body.dark .site-item:hover,
body.dark .site-ranking:hover,
body.dark .post-item:hover {
  background: #444;
}

body.dark .footer {
  background: #2d2d2d;
  box-shadow: 0 0 8px #111;
  color: #fff;
}

body.dark .pagination li a {
  background: #2d2d2d;
  border-color: #444;
  color: #fff;
}

/* 页脚样式 */
body.dark #footer {
  background: #1e1e1e;
  color: #fff;
}

body.dark .copyright {
  color: #fff;
}

body.dark .copyright a {
  color: #fff;
}

/* .wrap 区域样式 */
body.dark .wrap ul {
  background: var(--bg-white);
}

body.dark .wrap ul li {
  background: var(--bg-gray-light);
}

body.dark .wrap ul li div {
  background: #666;
  color: #fff;
}

body.dark .wrap ul li:nth-child(1) div { background: #c44; }
body.dark .wrap ul li:nth-child(2) div { background: #008; }
body.dark .wrap ul li:nth-child(3) div { background: #c47; }
body.dark .wrap ul li:nth-child(4) div { background: #a2a; }
body.dark .wrap ul li:nth-child(5) div { background: #70a; }
body.dark .wrap ul li:nth-child(6) div { background: #c70; }
body.dark .wrap ul li:nth-child(7) div { background: #070; }
body.dark .wrap ul li:nth-child(8) div { background: #c00; }

body.dark .wrap ul li p {
  color: #fff;
}

body.dark .wrap ul li p a {
  color: #9cf;
}

body.dark .wrap ul li p a:hover {
  color: #fff;
}

/* 联系方式组件 */
body.dark .contact-wrapper {
  background: var(--bg-gray-light);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}

body.dark .qq-label {
  color: #fff;
}

body.dark .qq-number {
  color: #fff;
}

body.dark .qq-btn {
  background: #0f7acc;
  color: #fff;
}

body.dark .qq-btn:hover {
  background: #2b8ed8;
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.5);
}

/* 开关灯按钮样式 */
.theme-toggle {
  position: fixed;
  right: 2%;
  bottom: 12%;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  color: #eee;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 50%;
  cursor: pointer;
  z-index: 999;
  transition: all 0.3s;
}

.theme-toggle:hover {
  background: var(--primary);
}

body.dark .theme-toggle {
  background: rgba(255, 255, 255, 0.2);
}

body.dark .theme-toggle:hover {
  background: var(--primary);
}

/* 响应式调整 */
@media (max-width: 767px) {
  .theme-toggle {
    right: 5%;
    bottom: 10%;
  }
}
/* 深色模式下 Logo 反色滤镜 */
body.dark .logo {
  /* 常用滤镜组合，可根据实际 Logo 调整 */
  filter: invert(1) brightness(1.2) contrast(1);
  /* 其他可选滤镜：
     - invert(1)：反转颜色（黑白互换）
     - brightness(1.2)：提高亮度，避免过暗
     - hue-rotate(180deg)：色相旋转，适合彩色 Logo
     - grayscale(1) invert(1)：先灰度再反转，适合复杂 Logo
  */
}
/* 深色模式下所有 .name 类文字改为白色 */
body.dark .name {
  color: #fff !important; /* 使用 !important 确保覆盖原有样式 */
}

/* 针对不同场景的 .name 元素强化（可选，防止特殊样式覆盖） */
/* 站点项目中的 .name */
body.dark .site-item .name,
body.dark .site-item.top .name,
body.dark .top-grid .item .name {
  color: #fff;
}

/* 排行榜中的 .name */
body.dark .site-ranking .name {
  color: #fff;
}

/* 时间轴中的 .name */
body.dark .side-latest .oz-timeline-main .name {
  color: #fff;
}
/* 深色模式下 .mr 类及内部文字改为白色 */
body.dark .mr {
  color: #fff !important; /* 强制覆盖原有文字颜色 */
}

/* 针对 .mr 内部子元素的强化（如 .mr-text 等） */
body.dark .mr .mr-text,
body.dark .board .mr * {
  color: #fff !important;
}

/* 特殊场景：登录弹窗中的 .mr 文字 */
body.dark .login-modbox .mr {
  color: #fff;
}
/* 深色模式 - 排序侧边栏（.sort）整体适配 */
body.dark .sort {
  /* 调整排序栏的整体定位背景（可选，若需要） */
  background: transparent; /* 保持透明，与页面背景融合 */
}

/* 排序项的按钮样式 */
body.dark .sort li a {
  background: rgba(45, 45, 45, 0.85); /* 深色背景，替代原白色 */
  box-shadow: 0 0 8px #111; /* 深色阴影，增强层次感 */
  color: #fff; /* 文字白色 */
  border-radius: 0 25px 25px 0;
}

/* 排序项 hover/active 状态 */
body.dark .sort li a:hover,
body.dark .sort li a.active {
  background: #ff7f00; /* 保留橙色主色，增强对比 */
  color: #fff; /* 文字白色 */
}

/* 可选：调整排序项的初始偏移样式（若需要） */
body.dark .sort li a {
  -webkit-transform: translateX(-100%) translateX(30px);
  -moz-transform: translateX(-100%) translateX(30px);
  -o-transform: translateX(-100%) translateX(30px);
  transform: translateX(-100%) translateX(30px);
}

body.dark .sort li a:hover {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}

/* ########## 深色模式 - 导航栏整体适配 ########## */
body.dark nav {
  /* 导航栏背景：选用深色系，与页面背景区分开增强层级 */
  background: #2d2d2d;
  /* 边框：若有底部边框，替换为深色系 */
  border-bottom: 1px solid #444;
  /* 阴影：弱化阴影，适配深色环境 */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* ########## 导航栏文字与链接 ########## */
/* 普通导航链接 */
body.dark nav a {
  color: #fff !important; /* 文字白色，确保高对比度 */
}

/* 导航链接 hover/active 状态 */
body.dark nav a:hover,
body.dark nav a.active,
body.dark nav .nav-item:hover > a {
  color: #ff7f00 !important; /* 保留主色（如橙色）作为高亮，增强交互 */
  background: rgba(255, 255, 255, 0.1); /* 浅色透明背景，提升点击感 */
}

/* ########## 下拉菜单适配（若有） ########## */
body.dark nav .dropdown-menu {
  background: #333; /* 下拉菜单背景 */
  border: 1px solid #444; /* 边框颜色 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); /* 深色阴影 */
}

body.dark nav .dropdown-menu li a {
  color: #fff;
}

body.dark nav .dropdown-menu li a:hover {
  background: #444; /* 下拉项 hover 背景 */
  color: #ff7f00;
}

/* ########## 导航栏中的功能按钮（如搜索、登录） ########## */
/* 搜索框 */
body.dark nav .search-input {
  background: #444;
  border: 1px solid #555;
  color: #fff;
  placeholder: #ccc; /* 占位符文字颜色 */
}

/* 登录/注册按钮 */
body.dark nav .login-btn {
  background: #ff7f00;
  color: #fff;
  border: none;
}

body.dark nav .login-btn:hover {
  background: #e67000;
}

/* ########## 响应式导航（手机端汉堡菜单） ########## */
/* 汉堡菜单图标 */
body.dark nav .hamburger-icon {
  color: #fff;
}

/* 手机端展开的导航菜单 */
body.dark nav .mobile-nav {
  background: #2d2d2d;
  border-top: 1px solid #444;
}

body.dark nav .mobile-nav li a {
  color: #fff;
  border-bottom: 1px solid #444;
}
/* 回家弹窗容器（遮罩层） */
.login-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1002;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.7);
  transition: all 0.3s ease;
}

/* 弹窗主体容器 */
.login-modbox {
  width: 600px;
  min-height: 300px;
  z-index: 1003;
  border-radius: 5px;
  overflow: hidden;
  background: #fff; /* 浅色模式背景 */
  position: relative; /* 为关闭按钮定位 */
  display: flex;
}

/* 登录内容主容器 */
.login-modbox .login-main {
flex: 1;display: flex;width: 100%;margin-left: auto;margin-right: auto
}

/* 左侧背景区域 */
.login-modbox .login-main .left {width: 180px;line-height: 500px;background-color: #353442;background-position: center;background-repeat: no-repeat;background-size: 80%}
.login-modbox .login-main .login-bg {background-image: url('../images/default.jpg')}

/* 右侧表单区域 */
.login-modbox .login-main .right {
padding: 50px;flex: 1;display: block;position: relative
}

/* 右侧标题样式 */
.login-modbox .login-main .right h2 {
width: 100%;border-bottom: 1px solid #eee;margin-bottom: 10px;padding-bottom: 10px;margin-top: 10px
}

/* 分割线样式 */
.login-modbox .login-main .right .border {
width: 100%;border-bottom: 1px solid #eee;margin-bottom: 25px;padding-bottom: 20px;margin-top: 20px
}

/* 底部信息区域 */
.login-modbox .login-main .right .bottom {
position: absolute;bottom: 30px;left: 50px;right: 50px;font-size: 12px
}

.login-modbox .login-main .right .bottom .le {
  float: left;
}

.login-modbox .login-main .right .bottom .ri {
  float: right;
}

/* 关闭按钮样式 */
.login-modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  background: transparent;
  border: none;
  font-size: 18px;
  color: #F00;
  cursor: pointer;
  z-index: 1004; /* 提高层级，确保不被遮挡 */
  transition: color 0.3s ease;
  padding: 0; /* 清除默认内边距 */
}

.login-modal-close:hover {
  color: #ff7f00; /* 主色高亮 */
}

/* 响应式适配：平板及手机端（≤768px） */
@media (max-width: 768px) {
  .loginbox-wrap {
left: 20px !important;right: 20px
  }
  /* 修改点1：平板端先统一为自适应宽度，为手机端做铺垫 */
  .loginbox-wrap .login-modbox {
    width: 100%;
    min-height: 520px;
  }
  .loginbox-wrap .login-modbox .login-main .right {
    padding-left: 50px;
  }
  .loginbox-wrap {
  width: 50% !important;
  margin: 0 auto;
}
}

/* 响应式适配：手机端（≤640px） */
@media (max-width: 640px) {


  .login-modbox .login-main {
    display: block; /* 改为块级布局，上下排列 */
  }

  .layui-layer-content {
    padding: 20px;
  }

  .loginbox-wrap .login-modbox .login-main .right {
    padding-left: 10px;padding-right: 10px;
  }

  .login-modbox .login-main .right .bottom {
bottom: -30px;left: 25px;right: 25px;
  }

  .login-modbox .login-main .left {
width: 100%;height: 150px;background-size: 100%;
  }
}

/* ########## 深色模式适配 ########## */
body.dark .login-modal {
  background: rgba(0, 0, 0, 0.9); /* 深色模式遮罩更暗 */
}

body.dark .login-modbox {
  background: #2d2d2d; /* 深色模式弹窗背景 */
  border-color: #444;
}

body.dark .login-modbox .login-main .left {
  background-color: #444; /* 左侧背景加深 */
}

body.dark .login-modbox .login-main .right {
  color: #fff; /* 右侧文字白色 */
}

body.dark .login-modbox .login-main .right h2,
body.dark .login-modbox .login-main .right .border {
  border-bottom-color: #444; /* 边框深色化 */
}

body.dark .login-modbox .login-main .right .bottom {
  color: #ccc; /* 底部文字浅灰色 */
}

body.dark .login-modal-close {
  color: #fff; /* 深色模式关闭按钮白色 */
}

/* ########## 响应式布局（手机端适配） ########## */
@media (max-width: 768px) {
  .login-modbox {
    width: 90%;
    min-height: auto;
    flex-direction: column;
  }

  .login-modbox .login-main .left {
    width: 100%;
    height: 200px;
    line-height: 200px;
  }

  .login-modbox .login-main .right {
    padding: 30px;
  }

  .login-modbox .login-main .right .bottom {
    position: static;
    margin-top: 20px;
    left: 0;
    right: 0;
  }
}
/* 修复 .oz-form-group 深色模式 */
body.dark .oz-form-group {
  background-color: #2d2d2d !important;
  color: #fff !important;
  border-color: #444 !important;
}

body.dark .oz-form-group label {
  color: #fff !important;
}

body.dark .oz-form-group input,
body.dark .oz-form-group textarea,
body.dark .oz-form-group select {
  background-color: #333 !important;
  border: 1px solid #444 !important;
  color: #fff !important;
}
/* ########## 基础适配：全局 .oz-form-label 深色样式 ########## */
body.dark .oz-form-label {
  color: #fff !important; /* 标签文字改为白色，核心修复 */
  background-color: transparent !important; /* 背景透明（若有默认背景需覆盖） */
  border-color: #444 !important; /* 若标签有边框，改为深色边框 */
}

/* 可选：标签的 hover/active 状态（若有交互） */
body.dark .oz-form-label:hover {
  color: #ff7f00 !important; /* 主色高亮，增强交互 */
}
/***********************************鎼滅储妗�**************************************************/

/* 搜索类型切换样式 */
.search-type {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}
.search-type .item {
    padding: 5px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
}
.search-type .item.active {
    background: #ff7f00;
    color: #fff;
    border-color: #ff7f00;
}

/* 搜索表单样式 */
.search-form {
    display: flex;
    gap: 5px;
}
.search-input {
    flex: 1;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    outline: none;
}
.search-input:focus {
    border-color: #ff7f00;
}
.search-btn {
    padding: 8px 20px;
    background: #ff7f00;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

/* 悬浮按钮样式 */
.suspend {
    position: fixed;
    right: 2%;
    bottom: 5%;
    z-index: 998;
    list-style: none;
    padding: 0;
    margin: 0;
}
.suspend li {
    position: relative;
    width: 32px;
    height: 32px;
    margin: 3px 0;
    line-height: 32px;
    font-size: 13px;
    text-align: center;
    color: #333;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 0 4px rgba(0,0,0,0.1);
}
.suspend li.search-btn i {
    font-size: 16px;
}
.suspend li:hover {
    color: #fff;
    background: #ff7f00;
    transform: scale(1.1);
}
.suspend .more {
    position: absolute;
    display: block;
    visibility: hidden;
    opacity: 0;
    top: 0;
    right: 40px;
    height: 32px;
    padding: 0 10px;
    line-height: 32px;
    white-space: nowrap;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    border-radius: 2px;
    transform: scale(0);
    transition: all 0.3s;
}
.suspend li:hover .more {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
}
.suspend .more::after {
    content: '';
    position: absolute;
    top: calc(50% - 5px);
    right: -4px;
    border-top: 5px solid transparent;
    border-left: 5px solid rgba(0, 0, 0, 0.8);
    border-bottom: 5px solid transparent;
}

/* 深色模式适配 */
body.dark .suspend li {
    background: rgba(45, 45, 45, 0.85);
    color: #fff;
}
body.dark .suspend li:hover {
    background: #ff7f00;
}

/* ====================================== 新增：通用多状态角标 .jian + .hot/.new ====================================== */
 /* ========== 角标样式集合（含同色边框）- 修复语法/变量/定位问题 ========== */
/* 定义缺失的CSS变量，避免样式失效 */
:root {
  --color-red-500: #ef4444;    /* 荐角标红色 */
  --color-gray-500: #6b7280;   /* 墙角标灰色 */
}

/* 推荐角标（荐）- 荐红 */
.site-item.jian {
  position: relative;
}
.site-item.jian::after {
  content: "荐";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #e53e3e; /* 荐红，醒目易识别 */
  color: white;
  font-size: 12px; /* 固定字号，适配不同设备 */
  font-weight: bold;
  padding: 2px 4px; /* 固定内边距，避免角标变形 */
  border-bottom-left-radius: 4px;
  border-top-right-radius: 2px;
  transform: translate(0, 0); /* 取消偏移，解决角标超出/错位 */
  z-index: 10;
  pointer-events: none; /* 不遮挡元素点击 */
  box-sizing: border-box; /* 盒模型统一，避免内边距撑大 */
}

/* 热门角标（热）- 橙色（保留原有配色，不冲突核心配色） */
.site-item.ai {
  position: relative;
}
.site-item.ai::after {
  content: "AI";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #f97316;
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 2px;
  transform: translate(0, 0);
  z-index: 10;
  pointer-events: none;
  box-sizing: border-box;
}

/* 新品角标（新）- 绿色（保留原有配色，不冲突核心配色） */
.site-item.new {
  position: relative;
}
.site-item.new::after {
  content: "新";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #22c55e;
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 2px;
  transform: translate(0, 0);
  z-index: 10;
  pointer-events: none;
  box-sizing: border-box;
}

/* 官方角标 - 官方蓝（标准官方配色，醒目不刺眼） */
.site-item.guanfang {
  position: relative;
}
.site-item.guanfang::after {
  content: "官";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #1677ff; /* 官方蓝，主流官方场景通用色 */
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 2px;
  transform: translate(0, 0);
  z-index: 10;
  pointer-events: none;
  box-sizing: border-box;
}

/* 认证角标 - 认证紫（辨识度高，区分官方蓝） */
.site-item.xinxi {
  position: relative;
}
.site-item.xinxi::after {
  content: "信息";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #9333ea; /* 认证紫，高端专属感 */
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 2px;
  transform: translate(0, 0);
  z-index: 10;
  pointer-events: none;
  box-sizing: border-box;
}

/* 免费角标 - 免费绿（柔和清新，区分新品绿） */
.site-item.zhibo {
  position: relative;
}
.site-item.zhibo::after {
  content: "直播";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #34d399; /* 免费绿，清爽醒目，适配免费场景 */
  color: white; /* 白色字体更清晰，统一视觉风格 */
  font-size: 12px;
  font-weight: bold;
  padding: 2px 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 2px;
  transform: translate(0, 0);
  z-index: 10;
  pointer-events: none;
  box-sizing: border-box;
}

/* 付费角标 - 付费橙（醒目提示，区分热门橙） */
.site-item.vpn {
  position: relative;
}
.site-item.vpn::after {
  content: "VPN";
  position: absolute;
  top: 0;
  right: 0;
  background-color: #f97316; /* 付费橙，高辨识度，提示付费属性 */
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 2px;
  transform: translate(0, 0);
  z-index: 10;
  pointer-events: none;
  box-sizing: border-box;
}

/* 不可用/被墙链接样式（仅墙角标，不修改边框） */
.site-item.link-unavailable {
  position: relative;
  opacity: 0.8; /* 轻微透明，区分可用链接 */
  text-decoration: none !important; /* 确保无删除线 */
}
.site-item.link-unavailable::after {
  content: "墙";
  position: absolute;
  top: 0;
  right: 0;
  background-color: var(--color-gray-500);
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 2px;
  transform: translate(0, 0);
  z-index: 10;
  pointer-events: none;
  box-sizing: border-box;
}

/* 额外：被墙/可达文字颜色区分（可选，若需要） */
.link-blocked {
  color: #FF9800 !important;
  text-decoration: none !important;
}
.link-available {
  color: #4CAF50 !important;
  text-decoration: none !important;
}

/* 友联项容器 - 核心：移动端强制撑满宽度，子元素正常分行 */
.link-item-wrap {
    position: relative;
    padding: 10px 0;
    box-sizing: border-box;
    width: 100% !important; /* 强制撑满父容器，解决宽度被限制的问题 */
    clear: both; /* 清除浮动影响 */
    overflow: hidden; /* 防止子元素溢出 */
    display: block !important; /* 容器本身强制块级，杜绝行内布局影响 */
}

/* 网站名称/友联地址 模块 - 强制独占一行，无任何例外 */
.link-item-wrap .link-name,
.link-item-wrap .link-url {
    margin: 0 0 18px 0 !important; /* 模块间大间距，确保上下分行明显 */
    line-height: 1.8;
    word-break: break-all; /* 长文本强制换行，不溢出 */
    white-space: normal !important; /* 强制关闭单行，兼容所有浏览器 */
    width: 100% !important; /* 模块撑满容器，彻底独占一行 */
    float: none !important; /* 取消所有浮动，防止同行 */
    display: block !important; /* 强制块级，兜底保障 */
    position: relative !important; /* 防止定位导致的布局错乱 */
    left: 0 !important;
    top: 0 !important;
    /* 关键：禁止任何形式的同行排列 */
    flex: none !important;
    grid: none !important;
    inline-size: 100% !important; /* 适配CSS逻辑属性，强制宽度 */
}

/* 最后一个模块取消底部间距 */
.link-item-wrap .link-url {
    margin-bottom: 0 !important;
}

/* 标签样式（灰色背景）- 新增文字居中属性 */
.link-label {
    padding: 3px 8px;
    background: #222;
    color: #fff;
    display: inline-block;
    margin-right: 10px;
    border-radius: 2px;
    vertical-align: middle;
    /* 核心：文字水平+垂直居中 */
    text-align: center !important; /* 水平居中 */
    line-height: normal !important; /* 重置行高，避免垂直偏移 */
}

/* 名称/地址内容 - 限制宽度，不挤压按钮，移动端自适应 */
.link-value {
    color: #F00;
    font-weight: bolder;
    font-size: 15px;
    vertical-align: middle;
    display: inline-block;
    max-width: calc(100% - 110px); /* 适配按钮宽度，预留点击空间 */
}

/* 隐藏复制输入框，不占布局 */
.copy-input {
    position: absolute;
    top: -9999px;
    left: -9999px;
    border: none;
    outline: none;
}

/* 复制按钮 - 垂直居中，增大点击区域 */
.copy-btn {
    margin-left: 8px;
    vertical-align: middle;
    cursor: pointer;
    padding: 0 10px !important;
}

/* ========== 移动端强保障（767px及以下）- 彻底杜绝同行 ========== */
@media (max-width: 767px) {
    .link-item-wrap {
        padding: 3px 0 !important;
    }
    /* 移动端内容字号缩小，适配窄屏 */
    .link-value {
        font-size: 14px !important;
        max-width: calc(100% - 100px) !important; /* 进一步预留按钮空间 */
    }
    /* 模块间距再增大，视觉更清晰 */
    .link-name {
        margin-bottom: 20px !important;
    }
}