.wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: -8px;
  left: 8px;
  overflow: hidden;
  font-size: 17px;
  font-weight: 400;
  color: #fff;
  opacity: 0.6;
  -webkit-transition: .3s ease all;
  -moz-transition: .3s ease all;
  -ms-transition: .3s ease all;
  -o-transition: .3s ease all;
  transition: .3s ease all;
}

.wrap:hover {
  opacity: 0.9;
}

.wraps {
  display: inline-block;
  text-align: center;
  width: 200px;
  height: 30px;
  line-height: 27px;
  position: absolute;
  top: 30px;
  right: -50px;
  z-index: 2;
  overflow: hidden;
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  border: 1px dashed;
  box-shadow: 0 0 0 1px #000, 0px 21px 5px -18px rgba(0, 0, 0, 0.6);
  background: rgb(1, 132, 127);
}

.flash {
  font-weight: bold;
  font-size: calc(10px + 4vh);
  line-height: calc(10px + 6.6vh);
  text-shadow: 0 0 5px #ffa500, 0 0 15px #ffa500, 0 0 20px #ffa500, 0 0 40px #ffa500, 0 0 60px #ff0000, 0 0 10px #ff8d00, 0 0 98px #ff0000;
  color: #fff6a9;
  font-family: "Sacramento", cursive;
  text-align: center;
  animation: blink 1s infinite;
  -webkit-animation: blink 1s infinite;
  margin: 1rem 0;
}

.bling {
  text-align: center;
  margin: 2rem 0;
}

.bling1 {
  margin: 0;
  padding: 0;
  color: white;
  display: inline-block;
  font-size: 2.3rem;
  ;
  text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073, 0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
}

/* xifeng0926 peace.elite start */
.defaultimg,
.dx-tag-div:has(> img:not([src])),
.dx-tag-div:has(> img.loading),
a:has(> img:not([src])),
a:has(> img.loading) {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.navbar-nav.side-toolbar-list .dx-tag-li {
  position: relative;
  display: inline-block;
  margin: 0 .25rem;
}

.navbar-nav.side-toolbar-list .dx-tag-li a {
  display: inline-block;
  height: 2.5rem;
  width: 2.5rem;
  line-height: 2.5rem;
  border-radius: 100%;
  font-size: .75rem;
  background: #2c2a2a;
  color: #ccc;
  vertical-align: middle;
  -webkit-transition: 0.3s ease all;
  -moz-transition: 0.3s ease all;
  -ms-transition: 0.3s ease all;
  -o-transition: 0.3s ease all;
  transition: 0.3s ease all;
}

.navbar-nav.side-toolbar-list .dx-tag-li a i {
  font-size: .9rem;
  line-height: 2.5rem;
}

.page-navigator>.dx-tag-li {
  display: none;
}

.page-navigator>.next {
  display: inline-block;
  float: right;
}

@media (max-width: 767px) {
  :where(.dx-tag-div, .dx-tag-p, .dx-tag-ol, .dx-tag-ul, .dx-tag-li) {
    /* all: unset; */
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  body.not-safari #nav .menu .dx-tag-li a,
  body.not-safari .blog-title {
    font-weight: 400;
  }

  #nav .menu .dx-tag-li a {
    padding: 0.375rem 1.75rem;
    position: relative;
    line-height: 2.25rem;
    color: #9ba3ad;
    display: block;
    font-size: 1.25rem;
    text-align: center;
    font-weight: 400;
    -webkit-transition: color 0.2s linear;
    -moz-transition: color 0.2s linear;
    -ms-transition: color 0.2s linear;
    -o-transition: color 0.2s linear;
    transition: color 0.2s linear;
  }

  body.theme-dark #nav .menu .dx-tag-li a {
    color: #ccc !important;
  }

  body.not-safari #nav .menu .dx-tag-li a {
    font-size: 1.125rem;
    line-height: 2rem;
  }

  #nav-toolbar .side-toolbar .side-toolbar-list .dx-tag-li {
    display: inline-block;
    margin: 0 .25rem;
    line-height: 3.625rem;
  }

  #nav-toolbar .side-toolbar .side-toolbar-list .dx-tag-li a {
    display: inline-block;
    height: 2.5rem;
    width: 2.5rem;
    line-height: 2.5rem;
    border-radius: 100%;
    font-size: .75rem;
    background: #2c2a2a;
    color: #ccc;
    vertical-align: middle;
    -webkit-transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -ms-transition: 0.3s ease all;
    -o-transition: 0.3s ease all;
    transition: 0.3s ease all;
  }
}

#age-warning {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  z-index: 9999
}

#age-warning .dx-warning-container {
  width: 80vw;
  background-image: url(/usr/themes/Mirages/images/pc_background.png);
  box-shadow: 6px 3px 20px 8px rgb(64 64 64/45%);
  padding: 12px 12px 24px;
  border-radius: 8px
}

@media (min-width:768px) {
  #age-warning .dx-warning-container {
    width: 400px;
  }
}

#age-warning .dx-warning-flex-box {
  display: flex;
  align-items: center;
  background: #292828;
  padding: 6px 12px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 8px
}

#age-warning .dx-lang-icon {
  width: 24px;
  margin-right: 4px
}

#age-warning #lang {
  background-color: transparent;
  color: #fff;
  outline: 0;
  border: 0;
}

#age-warning .dx-warn-logo {
  width: 60%;
  display: block;
  margin: 24px auto
}

#age-warning .dx-content-container {
  text-align: center
}

#age-warning .dx-warn-title {
  font-size: 24px
}

#age-warning .dx-warn-content {
  margin: 12px 0;
  font-size: 18px
}

#age-warning .btn-item {
  display: block;
  margin: auto;
  width: 80%;
  padding: 6px 0;
  border-radius: 4px;
  border: 0;
  background-color: transparent;
}

#age-warning .btn-age-confirm {
  color: #000;
  margin: 16px auto;
  background: linear-gradient(to right, #377cff, #fff);
}

#age-warning .btn-age-cancel {
  border: 1px solid #fff;
  color: #fff;
}

.addbox>.dx-tag-div {
  background: #2c2a2a;
  padding: .6rem 2rem .6rem .6rem;
  color: white;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  float: left;
  width: 100%;
  box-sizing: border-box;
}

.addbox>.dx-tag-div .logo {
  width: 2rem;
  margin-left: .4rem;
  border-radius: 7px;
}

.addbox>.dx-tag-div .showSwipe {
  background: rgb(183, 255, 115);
  color: rgb(44, 42, 43);
  padding: .3rem 1rem;
  border-radius: 1rem;
  font-size: .875rem;
}

.addbox>.dx-tag-div .closeX {
  position: absolute;
  top: .5rem;
  right: .9rem;
  font-size: .7rem;
}

.closebox .closeDilog .closeG {
  width: 1rem;
  height: 1rem;
  position: relative;
}

.addbox>.dx-tag-div .closeX:before,
.addbox>.dx-tag-div .closeX:after {
  position: absolute;
  top: 1px;
  right: 1px;
  content: ' ';
  height: 15px;
  width: 2px;
  background-color: white;
}

.closebox .closeDilog .closeG:before,
.closebox .closeDilog .closeG:after {
  position: absolute;
  top: 0;
  content: ' ';
  height: 17px;
  width: 1px;
  background-color: white;
}

.addbox>.dx-tag-div .closeX:before,
.closebox .closeDilog .closeG:before {
  transform: rotate(45deg);
}

.addbox>.dx-tag-div .closeX:after,
.closebox .closeDilog .closeG:after {
  transform: rotate(-45deg);
}

.nav-categories .list .dx-tag-li {
  padding: .4rem .2rem;
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  white-space: nowrap;
  margin-right: .6rem;
}

.nav-categories .list .dx-tag-li:last-child {
  margin-right: 0;
}

.nav-categories .list .dx-tag-li a {
  color: #2f92ff;
  border: 1px solid rgb(161, 161, 161);
  padding: 6px 10px;
  border-radius: 5px;
}

.nav-categories .list .dx-tag-li.active a {
  color: #2f92ff;
  font-weight: 900;
  border-color: #2f92ff;
}


@media (max-width: 767px) {

  .post-near .dx-tag-nav {
    display: flex !important;
    flex-direction: column;
  }

  .post-near .dx-tag-nav span {
    flex: 1;
  }


}

/* xifeng0926 peace.elite end */

/* 2026-09-04 CLS 修复：
 * 桌面端导航是 fixed-top，#wrap 的顶部留白由 navbar.php 的脚本按导航真实高度回填。
 * 原来只有 body.no-banner 才有 5rem 的静态预留，其它页面首帧 padding 是 0，
 * 而 #wrap 又带 transition: .5s all，留白从 0 动画到 ~99px，每一帧都是一次布局偏移（实测 CLS 0.03+）。
 * 1) 所有用固定导航的页面都先静态预留一行导航的高度（5rem），脚本只做微调；
 * 2) #wrap 的过渡只保留菜单树/背景用到的属性，padding 变化立即生效不再动画。 */
@media (min-width: 768px) {
  body.use-navbar #wrap {
    padding-top: 5rem;
  }
}
#wrap {
  -webkit-transition-property: background-color, width, margin, -webkit-transform;
  transition-property: background-color, width, margin, transform;
}

/* 2026-09-11 友情链接：首页推荐位 + 申请页（component/friend_links*.php、flink_apply.php）
 * 亮色先写，再用 body.theme-dark 覆盖 —— 与 FootMenu/foot_menu.css 一致的做法。
 * 卡片配色对齐详情页 FAQ 模块（#232323 卡片底 / #f5f5f5 标题 / #8c8c8c 次要文字）。 */
.fix_flink {
  margin: 1.5rem auto 0;
  padding: 1.25rem 1rem 1.5rem;
  border-radius: 16px;
  background: #f7f7f9;
}

.fix_flink--page { margin-top: 1rem; }
/* 申请页的内容容器比首页窄，再硬撑 4 列站名会被截成「帝王...」。
 * 这里按可用宽度自适应，窄容器自动降到 3/2 列，名字能看全。 */
.fix_flink--page .fix_flink-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.fix_flink-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; margin-bottom: 1.25rem;
}
.fix_flink-head-main { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.fix_flink-head-icon {
  flex: none; width: 44px; height: 44px; line-height: 44px; text-align: center;
  font-size: 24px; border-radius: 12px; background: linear-gradient(135deg, #a855f7, #ec4899);
}
.fix_flink-head-text { min-width: 0; }
.fix_flink-title { margin: 0; font-size: 1.5rem; font-weight: 700; line-height: 1.2; color: #222; }
.fix_flink-subtitle { margin: .25rem 0 0; font-size: .8125rem; color: #888; }
.fix_flink-head-tip {
  flex: none; display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem;
  border-radius: 12px; border: 1px solid rgba(168, 85, 247, .25); background: rgba(168, 85, 247, .06);
}
.fix_flink-head-tip-text { font-size: .75rem; line-height: 1.4; color: #888; }
.fix_flink-head-tip-icon { font-size: 1.125rem; }

.fix_flink-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem; margin: 0; padding: 0; list-style: none;
}
.fix_flink-item { margin: 0; padding: 0; list-style: none; min-width: 0; }
.fix_flink-card {
  display: flex; align-items: center; gap: .625rem; padding: .75rem; height: 100%;
  border-radius: 12px; background: #fff; border: 1px solid #ececec; text-decoration: none;
  transition: transform .15s ease, border-color .15s ease;
}
.fix_flink-card:hover {
  transform: translateY(-2px); border-color: rgba(168, 85, 247, .5); text-decoration: none;
}
.fix_flink-icon {
  flex: none; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  border-radius: 10px; overflow: hidden; background: rgba(168, 85, 247, .08);
}
.fix_flink-icon img { width: 40px; height: 40px; object-fit: cover; border-radius: 10px; }
.fix_flink-icon-char {
  font-size: 18px; font-weight: 700; line-height: 1; color: #a855f7; text-transform: uppercase;
}
.fix_flink-meta { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .1875rem; }
.fix_flink-name {
  font-size: .9375rem; font-weight: 600; color: #222;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* 描述最多两行：一行放不下折到第二行，超两行才截断（参考萌翻导航的卡片）。
 * 卡片 height:100% 撑满 grid 行，同一排里有的两行有的一行也不会高低不齐。 */
.fix_flink-desc {
  font-size: .75rem; line-height: 1.5; color: #999; overflow: hidden;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  word-break: break-word; overflow-wrap: anywhere;
}
.fix_flink-arrow { flex: none; font-size: .875rem; color: #bbb; }

/* 首页底部的申请入口（两个都是链接，指向申请页） */
.fix_flink-apply {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: .75rem 1.25rem; margin-top: 1.25rem; padding: 1rem;
  border-radius: 14px; border: 1px dashed rgba(168, 85, 247, .45);
}
.fix_flink-apply-entry, .fix_flink-apply-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .9375rem; text-decoration: none;
}
.fix_flink-apply-entry:hover, .fix_flink-apply-btn:hover { text-decoration: none; }
.fix_flink-apply-entry { color: #222; font-weight: 600; }
.fix_flink-apply-plus {
  width: 28px; height: 28px; line-height: 28px; text-align: center; border-radius: 50%;
  color: #fff; background: linear-gradient(135deg, #a855f7, #ec4899);
}
.fix_flink-apply-slogan { font-size: .8125rem; color: #999; }
.fix_flink-apply-btn {
  padding: .5rem 1.25rem; border-radius: 10px; color: #fff;
  background: linear-gradient(135deg, #a855f7, #ec4899);
}

/* 申请页：要求说明 + 表单 */
.fix_flink-rules { font-size: .875rem; line-height: 1.8; color: #555; }
.fix_flink-rules-title { margin: 0 0 .25rem; font-weight: 600; color: #222; }
.fix_flink-rules ol { margin: 0; padding-left: 1.5rem; }
.fix_flink-apply-page {
  max-width: 520px; margin: 1.5rem auto 2rem; padding: 1.5rem;
  border-radius: 16px; background: #f7f7f9;
}
.fix_flink-apply-title { margin: 0 0 1rem; font-size: 1.25rem; font-weight: 700; color: #222; }
.fix_flink-field { display: block; margin-bottom: .75rem; }
.fix_flink-label { display: block; margin-bottom: .25rem; font-size: .8125rem; color: #666; }
.fix_flink-label i { font-style: normal; color: #ec4899; margin-left: 2px; }
.fix_flink-field input {
  width: 100%; box-sizing: border-box; padding: .5rem .625rem; border-radius: 8px;
  border: 1px solid #ddd; background: #fff; color: #222; font-size: .875rem; font-family: inherit;
}
.fix_flink-field input:focus { outline: none; border-color: #a855f7; }

/* 蜜罐：真人看不见也 tab 不到，脚本会老实填 */
.fix_flink-hp {
  position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0;
}

.fix_flink-msg { min-height: 1.25rem; margin: 0 0 .5rem; font-size: .8125rem; line-height: 1.5; }
.fix_flink-msg.is-error { color: #ec4899; }
.fix_flink-msg.is-ok { color: #5FB878; }
.fix_flink-submit {
  width: 100%; padding: .625rem; border: 0; border-radius: 10px; color: #fff;
  font-size: .9375rem; font-family: inherit; cursor: pointer;
  background: linear-gradient(135deg, #a855f7, #ec4899);
}

/* 专属友链 + 验证码（2026-09-12） */
.fix_flink-code {
  margin-bottom: 1.25rem; padding: .875rem;
  border-radius: 12px; border: 1px solid rgba(168, 85, 247, .35); background: rgba(168, 85, 247, .05);
}
.fix_flink-code-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; margin-bottom: .5rem; }
.fix_flink-code-label { font-size: .875rem; font-weight: 600; color: #222; }
.fix_flink-code-tip { font-size: .75rem; color: #999; }
.fix_flink-code-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.fix_flink-code-url {
  flex: 1 1 220px; min-width: 0; padding: .5rem .625rem; border-radius: 8px;
  background: #fff; border: 1px solid #ddd; color: #a855f7;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .8125rem; word-break: break-all;
}
.fix_flink-code-btns { display: flex; gap: .5rem; flex: none; }
.fix_flink-code-btn {
  padding: .4375rem .875rem; border-radius: 8px; cursor: pointer; font-size: .8125rem; font-family: inherit;
  border: 1px solid rgba(168, 85, 247, .5); background: transparent; color: #a855f7;
}
.fix_flink-code-btn:hover { background: rgba(168, 85, 247, .1); }

.fix_flink-captcha-row { display: flex; align-items: center; gap: .5rem; }
.fix_flink-captcha-row input { flex: 1 1 auto; min-width: 0; }
.fix_flink-captcha-img {
  flex: none; width: 120px; height: 44px; border-radius: 8px; cursor: pointer;
  background: #1a1a1a; border: 1px solid #ddd;
}

/* 暗色（站点默认主题） */
body.theme-dark .fix_flink,
body.theme-dark .fix_flink-apply-page { background: #1a1a1a; }
body.theme-dark .fix_flink-title,
body.theme-dark .fix_flink-apply-title,
body.theme-dark .fix_flink-rules-title { color: #f5f5f5; }
body.theme-dark .fix_flink-subtitle,
body.theme-dark .fix_flink-head-tip-text,
body.theme-dark .fix_flink-apply-slogan,
body.theme-dark .fix_flink-label { color: #8c8c8c; }
body.theme-dark .fix_flink-rules { color: #b5b5b5; }
body.theme-dark .fix_flink-card { background: #232323; border-color: #2e2e2e; }
body.theme-dark .fix_flink-name { color: #f0f0f0; }
body.theme-dark .fix_flink-desc { color: #8c8c8c; }
body.theme-dark .fix_flink-arrow { color: #6b6b6b; }
body.theme-dark .fix_flink-apply-entry { color: #f0f0f0; }
body.theme-dark .fix_flink-field input { background: #232323; border-color: #333; color: #f0f0f0; }
body.theme-dark .fix_flink-code-label { color: #f0f0f0; }
body.theme-dark .fix_flink-code-tip { color: #8c8c8c; }
body.theme-dark .fix_flink-code-url { background: #232323; border-color: #333; }
body.theme-dark .fix_flink-captcha-img { border-color: #333; }

@media (max-width: 1024px) {
  .fix_flink-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .fix_flink { padding: 1rem .75rem 1.25rem; }
  .fix_flink-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fix_flink-head-tip { display: none; }
  .fix_flink-title { font-size: 1.25rem; }
  .fix_flink-apply { flex-direction: column; gap: .625rem; }
  .fix_flink-apply-slogan { display: none; }
  .fix_flink-apply-page { padding: 1rem; margin: 1rem auto 1.5rem; }
  .fix_flink-code-url { flex: 1 1 100%; }
  .fix_flink-code-btns { width: 100%; }
  .fix_flink-code-btn { flex: 1 1 0; }
}

/* 小屏仍然保持 2 列：16 条友链排成 1 列会给首页底部凭空加近 1000px 高度，
 * 对一个刚做完性能/SEO 整改的首页不划算。窄屏只留图标 + 站名，描述省掉。 */
@media (max-width: 420px) {
  .fix_flink-grid { gap: .5rem; }
  .fix_flink-card { padding: .625rem .5rem; gap: .5rem; }
  .fix_flink-icon, .fix_flink-icon img { width: 32px; height: 32px; }
  .fix_flink-icon-char { font-size: 15px; }
  .fix_flink-desc, .fix_flink-arrow { display: none; }
  .fix_flink-name { font-size: .875rem; }

  /* 申请页窄屏下是整行宽的单列，塞得下描述；首页是 2 列才需要省掉 */
  .fix_flink--page .fix_flink-desc { display: -webkit-box; }
  .fix_flink--page .fix_flink-arrow { display: inline; }
  .fix_flink--page .fix_flink-card { padding: .75rem; gap: .625rem; }
  .fix_flink--page .fix_flink-icon,
  .fix_flink--page .fix_flink-icon img { width: 40px; height: 40px; }
}
