html {
  background: #03050a;
}

body {
  background: #03050a url("../../static/images/dark-frost-bg-logo.png") no-repeat 50% 0 fixed !important;
  background-size: cover !important;
}

body:before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .62) 70%, rgba(0, 0, 0, .86)),
    radial-gradient(circle at 50% 8%, rgba(98, 206, 255, .18), transparent 34rem);
  animation: frostPulse 7s ease-in-out infinite;
}

body:after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .46;
  background-image:
    radial-gradient(circle, rgba(190, 238, 255, .75) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(119, 211, 255, .45) 0 1px, transparent 2px),
    linear-gradient(115deg, transparent 0 46%, rgba(127, 221, 255, .08) 49%, transparent 53%);
  background-size: 150px 150px, 230px 230px, 100% 100%;
  background-position: 0 0, 70px -30px, 0 0;
  animation: frostDrift 22s linear infinite;
}

#myVideo {
  display: none !important;
}

#headtop,
.headerCss {
  border-bottom-color: rgba(104, 216, 255, .65) !important;
  background: rgba(2, 10, 25, .92) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .38), inset 0 -1px 0 rgba(255, 255, 255, .08);
}

#headtop a,
#header_nav span a,
a.login_block {
  color: #dff7ff !important;
  text-shadow: 0 0 12px rgba(96, 211, 255, .25);
}

#header_nav span:hover,
.login_block:hover {
  background-color: rgba(73, 190, 255, .13) !important;
}

.logo {
  filter: drop-shadow(0 0 22px rgba(91, 207, 255, .82));
}

.head .logo,
#ysart .logo {
  display: none !important;
}

.ul-nav a {
  color: #c7edff !important;
  text-shadow: 0 0 14px rgba(79, 190, 255, .38) !important;
}

.ul-nav .cap,
.ul-nav .cap:hover {
  color: #ffffff !important;
}

.ul-nav a:hover {
  color: #ffffff !important;
}

.wrap,
#main,
#ysart {
  background: transparent !important;
}

.part-bg {
  background: linear-gradient(180deg, rgba(15, 20, 30, .96), rgba(5, 8, 14, .97)) !important;
  border: 0 !important;
  box-shadow:
    0 18px 46px rgba(0, 0, 0, .54),
    inset 0 0 0 1px rgba(92, 190, 255, .24),
    inset 0 1px 0 rgba(255, 255, 255, .06);
}

.part-bg:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(71, 190, 255, .08), transparent 28%),
    radial-gradient(circle at 50% 0, rgba(148, 226, 255, .14), transparent 42%);
  mix-blend-mode: screen;
}

.part-title,
.part-title b {
  color: #ffffff !important;
  text-shadow: 0 0 16px rgba(88, 205, 255, .46);
}

.part-title {
  color: #a9c8d8 !important;
}

.ul-event .ztuw img[src$="4.jpg"] {
  width: 210px !important;
  height: 220px !important;
  object-fit: cover;
  object-position: center center;
}

.part-info a:has(img[src$="a1.png"]),
.part-info a:has(img[src$="a2.png"]),
.part-info a:has(img[src$="a3.png"]) {
  display: block;
  width: 334px;
  height: 99px;
  margin: 10px auto 0;
  overflow: hidden;
}

.part-info a:has(img[src$="a2.png"]) {
  margin-top: 20px;
}

.part-info img[src$="a1.png"],
.part-info img[src$="a2.png"],
.part-info img[src$="a3.png"] {
  width: 334px !important;
  height: 99px !important;
  padding: 0 !important;
  margin: 0 !important;
  object-fit: contain;
  object-position: center center;
  display: block;
}

.part-nav,
.part-nav a,
.ul-news a,
.ul-event a,
.link-entry a,
.hot_news a {
  color: #c6e8f8 !important;
}

.part-nav a:hover,
.part-nav .on,
.ul-news a:hover,
.ul-event a:hover,
.link-entry a:hover,
.hot_news a:hover {
  color: #6edcff !important;
}

.p_tit,
.index_tit {
  background: linear-gradient(90deg, #071423, #0d4261 52%, #071423) !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.08);
}

.rec,
.rec_pic,
.rec h3,
.rec p,
.list2 {
  background-color: rgba(5, 8, 14, .92) !important;
}

.bm,
.bmw,
.fl .bm_h,
.bm_h {
  border-color: rgba(105, 213, 255, .18) !important;
}

.fl .bm_h,
.bm_h {
  background: rgba(7, 14, 25, .92) !important;
}

.bm_h h2,
.bm_h h2 a,
.fl .bm_h h2 a {
  color: #ffffff !important;
  text-shadow: 0 0 14px rgba(88, 205, 255, .42);
}

.tl .th,
.tl tr:hover th,
.tl tr:hover td,
.xld dl:hover {
  background: rgba(73, 190, 255, .08) !important;
}

.xi2,
.xi2 a,
.xi3 a,
a {
  color: #72d9ff;
}

a:hover {
  color: #ffffff;
}

#ft,
#frt,
.footer_bg,
.win8mi_footer {
  background: linear-gradient(180deg, rgba(2, 9, 22, .98), #00040a) !important;
}

#ft a,
#frt a,
.win8mi_footer a {
  color: #bdefff !important;
}

@keyframes frostDrift {
  0% {
    background-position: 0 0, 70px -30px, 0 0;
  }
  100% {
    background-position: -180px 360px, 180px 430px, 0 0;
  }
}

@keyframes frostPulse {
  0%,
  100% {
    opacity: .95;
  }
  50% {
    opacity: 1;
  }
}

/* Account drop-down: keep navigation readable over the frost theme. */
#umnav_menu,
#umnav_menu.p_pop {
  border: 1px solid rgba(102, 210, 255, .48) !important;
  background: rgba(3, 15, 31, .97) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .52) !important;
}

#umnav_menu li a,
#umnav_menu.p_pop a {
  color: #e6f8ff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .9);
}

#umnav_menu li a:hover,
#umnav_menu.p_pop a:hover {
  color: #fff !important;
  background: rgba(58, 177, 227, .65) !important;
}

/* Homepage server-status panel. */
.server-status-panel {
  padding-top: 10px;
}

.server-status-panel .part-title {
  margin: 0 0 10px;
}

.server-status-heading {
  padding: 9px 11px;
  border: 1px solid rgba(102, 210, 255, .25);
  background: linear-gradient(90deg, rgba(21, 91, 129, .52), rgba(6, 17, 34, .2));
}

.server-status-heading span,
.server-status-heading strong,
.server-status-heading em {
  display: block;
}

.server-status-heading span {
  color: #73e3ff;
  font-size: 10px;
  letter-spacing: 1.5px;
}

.server-status-heading strong {
  margin: 2px 0;
  color: #fff;
  font-size: 16px;
}

.server-status-heading em {
  color: #a9c9d8;
  font-size: 9px;
  letter-spacing: .6px;
}

.server-status-list {
  margin: 10px 0 0;
  padding: 0;
}

.server-status-list li {
  position: relative;
  margin-top: 7px;
  padding: 9px 10px 9px 80px;
  min-height: 18px;
  border: 1px solid rgba(111, 202, 244, .2);
  background: rgba(2, 11, 24, .68);
  list-style: none;
}

.server-status-list strong,
.server-status-list em {
  display: block;
}

.server-status-list strong {
  color: #edfaff;
  font-size: 13px;
}

.server-status-list em {
  margin-top: 2px;
  color: #8db5c8;
  font-size: 11px;
}

.server-checking {
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -12px;
  padding: 4px 7px;
  border: 1px solid rgba(255, 205, 100, .58);
  border-radius: 12px;
  color: #ffe19a;
  font-size: 11px;
  line-height: 14px;
  background: rgba(124, 78, 8, .32);
}

.server-status-list li.is-online {
  border-color: rgba(91, 225, 163, .34);
}

.server-status-list li.is-online .server-checking {
  border-color: rgba(100, 231, 166, .68);
  color: #b8ffd6;
  background: rgba(20, 122, 72, .35);
}

.server-status-list li.is-online em {
  color: #8ff0ba;
}

.server-status-list li.is-offline {
  border-color: rgba(240, 110, 115, .34);
}

.server-status-list li.is-offline .server-checking {
  border-color: rgba(240, 110, 115, .7);
  color: #ffc4c5;
  background: rgba(130, 35, 42, .35);
}

.server-status-list li.is-offline em {
  color: #ffafb2;
}

.server-status-updated {
  margin: 8px 0 0;
  color: #8caab8;
  font-size: 10px;
  text-align: right;
}

/* Compact traffic-light indicator for the live server list. */
.server-status-panel .part-title {
  display: none;
}

.server-status-list li {
  padding-left: 34px;
}

.server-indicator {
  position: absolute;
  top: 50%;
  left: 12px;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  border-radius: 50%;
  background: #e4bd63;
  box-shadow: 0 0 10px rgba(228, 189, 99, .95);
}

.server-status-list li.is-online .server-indicator {
  background: #5ee49b;
  box-shadow: 0 0 11px rgba(94, 228, 155, .95);
}

.server-status-list li.is-offline .server-indicator {
  background: #ef6268;
  box-shadow: 0 0 11px rgba(239, 98, 104, .95);
}

.server-indicator.is-checking {
  background: #e4bd63;
  box-shadow: 0 0 10px rgba(228, 189, 99, .95);
}

/* Refined server panel: one calm surface, with dividers instead of boxes. */
.server-status-heading {
  padding: 4px 0 10px;
  border: 0;
  background: transparent;
}

.server-status-heading strong {
  font-size: 15px;
}

.server-status-list {
  margin-top: 2px;
  border-top: 1px solid rgba(127, 214, 255, .2);
}

.server-status-list li,
.server-status-list li.is-online,
.server-status-list li.is-offline {
  margin: 0;
  padding: 11px 8px 11px 34px;
  min-height: 0;
  border: 0;
  border-bottom: 1px solid rgba(127, 214, 255, .16);
  background: transparent;
}

.server-status-list li:hover {
  background: rgba(91, 196, 238, .06);
}

.server-status-list strong {
  font-size: 14px;
}

.server-status-list em {
  margin-top: 1px;
}

.server-status-updated {
  display: none;
}

/* Compact status-board treatment, inspired by the reference site's sidebar. */
.server-status-panel {
  padding-top: 0;
}

.server-status-heading {
  position: relative;
  margin: 0 -10px 5px;
  padding: 13px 18px 10px;
  border-bottom: 1px solid rgba(104, 221, 255, .34);
  background:
    linear-gradient(90deg, rgba(4, 18, 35, .92), rgba(5, 37, 60, .55), rgba(4, 18, 35, .82)),
    url("../../static/images/dark-frost-bg.png") center 44% / cover;
}

.server-status-heading span {
  margin-bottom: 3px;
  color: #8cecff;
  font-size: 9px;
  letter-spacing: 2px;
}

.server-status-heading strong {
  color: #f3fcff;
  font-size: 15px;
  letter-spacing: .5px;
}

.server-status-heading em {
  color: #a9ddeb;
  font-size: 9px;
  letter-spacing: 1.1px;
}

.server-status-list {
  margin: 0;
  border-top: 0;
}

.server-status-list li,
.server-status-list li.is-online,
.server-status-list li.is-offline {
  padding: 11px 88px 11px 30px;
  border-bottom-color: rgba(130, 214, 244, .18);
}

.server-status-list strong {
  color: #e9f9ff;
  font-size: 13px;
  line-height: 16px;
}

.server-status-list em {
  position: absolute;
  top: 50%;
  right: 8px;
  margin: -7px 0 0;
  color: #91f0b9;
  font-size: 11px;
  line-height: 14px;
  white-space: nowrap;
}

.server-status-list li.is-offline em {
  color: #ff9ea3;
}

.server-indicator {
  left: 8px;
  width: 9px;
  height: 9px;
  margin-top: -5px;
}

/* Remove the carousel's numeric controls and slide number labels. */
.part-banner .slidebar,
.part-banner .slideshow .title {
  display: none !important;
}

/* Forum thread list: remove the author-avatar column and reclaim its space. */
#threadlisttableid td.icon,
#threadlisttableid .arvtx {
  display: none !important;
}
