@keyframes dotBounce{0%,80%,100%{transform:scale(0.6);opacity:0.4}40%{transform:scale(1);opacity:1}}@keyframes dotAnim{0%{content:'.'}33%{content:'..'}66%{content:'...'}100%{content:'.'}}.typing-dots::after{content:'.';animation:dotAnim 1.2s steps(1) infinite}

*{padding:0;margin:0;box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Segoe UI,Arial,Roboto,PingFang SC,miui,Hiragino Sans GB,Microsoft Yahei,sans-serif}a{text-decoration:none}button,input,textarea{color:inherit;font:inherit}ol,ul{margin:0;padding:0;list-style:none}.chat .chat_content{flex:1;overflow:auto}.chat .chat_header,.chat .chat_footer{flex-shrink:0}

@font-face{font-family:FZYanSongS-B-GB;src:url(../fonts/fz.f58198fc.TTF);font-weight:400;font-style:normal}@font-face{font-family:"SourceHanSerifSC-VF";src:url(../fonts/SourceHanSerifSC-VF.72b8f613.ttf);font-weight:400;font-style:normal}@font-face{font-family:kaiti;src:url(../fonts/kaiti.19b519c3.ttf);font-weight:400;font-style:normal}@font-face{font-family:newcounty;src:url(../fonts/newcounty.38465847.otf);font-weight:400;font-style:normal}

.ksn-float-actions {
  position: fixed;
  right: 10px;
  bottom: 220px;
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 44px;
}
.ksn-float-actions a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 27px;
  min-height: 72px;
  padding: 8px 3px;
  border-radius: 6px 0 0 6px;
  background: #050505;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
}
.ksn-float-actions a svg {
  display: block;
  width: 12px;
  height: 12px;
  margin: 0 auto 3px;
}
.ksn-float-actions a span {
  writing-mode: vertical-rl;
  letter-spacing: 2px;
}
.ksn-float-actions a:last-child {
  background: #050505;
  color: #fff;
}
@media (max-width: 540px) {
  .ksn-float-actions {
    right: 0;
    bottom: 200px;
    gap: 40px;
  }
  .ksn-float-actions a {
    width: 26px;
    min-height: 68px;
    height: auto;
    font-size: 12px;
  }
  .ksn-float-actions a svg {
    width: 13px;
    height: 13px;
  }
}


/* ====== 顶部公告（整站统一） ====== */
.site-top-notice {
  position: relative;
  height: 27px;
  max-width: 750px;
  margin: 0 auto;
  overflow: hidden;
  background: #24211f;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 27px;
  white-space: nowrap;
  z-index: 200;
}
.site-top-notice__track {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: max-content;
  white-space: nowrap;
  will-change: transform;
  animation: site-top-marquee 22s linear infinite;
}
@keyframes site-top-marquee {
  0% { transform: translateX(100vw); }
  100% { transform: translateX(-100%); }
}
@media (max-width: 540px) {
  .site-top-notice { font-size: 12px; }
  .site-top-notice__track { animation-duration: 19s; }
}

/* ====== 全局 750 居中自适应（PC端750居中，手机端100%宽度） ====== */
body {
  background: #f5f5f5;
}
.page-wrap,
.xmpd-root,
.szys-root,
.bbqm-root,
.default-root,
#app,
#page {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 750px) {
  .page-wrap,
  .xmpd-root,
  .szys-root,
  .bbqm-root,
  .default-root,
  #app,
  #page {
    max-width: 100%;
  }
}
