/* Shared site styles. */

:root {
--black: #050505;
 --panel: #0d0d0b;
 --gold: #f5c65a;
 --gold-strong: #ffc64d;
 --gold-dark: #a36f18;
 --text: #f7efe0;
 --muted: rgba(247, 239, 224, 0.68);
 --line: rgba(245, 198, 90, 0.22);
 font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

* {
box-sizing: border-box;
}

body {
margin: 0;
 color: var(--text);
 background: #090908;
}

a {
color: inherit;
 text-decoration: none;
}

.header {
position: sticky;
 top: 0;
 z-index: 100;
 color: var(--text);
 background: var(--black);
 box-shadow: 0 10px 32px rgba(0, 0, 0, 0.38);
}

.header-main {
display: grid;
 grid-template-columns: 260px minmax(0, 1fr) 380px;
 align-items: center;
 min-height: 68px;
 padding: 0 38px;
 border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.brand {
display: inline-flex;
 align-items: center;
 gap: 12px;
 width: fit-content;
}

.brand--compare {
gap: 14px;
}

.brand--compare img {
display: block;
 width: auto;
 max-width: 262px;
 height: 64px;
 object-fit: contain;
}

.brand--compare img + img {
padding-left: 14px;
 border-left: 1px solid rgba(245, 198, 90, 0.24);
}

.brand-mark {
display: grid;
 width: 54px;
 height: 42px;
 place-items: center;
 border-radius: 18px 10px 18px 8px;
 color: #090908;
 background: linear-gradient(135deg, #ffe38a, #f0ae32 58%, #9d6817);
 font-size: 30px;
 line-height: 1;
 font-weight: 900;
 font-style: italic;
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58), 0 0 24px rgba(245, 198, 90, 0.22);
}

.brand-text {
display: grid;
 gap: 2px;
}

.brand-text strong {
color: var(--gold);
 font-size: 26px;
 line-height: 26px;
 font-weight: 900;
 letter-spacing: 0;
}

.brand-text em {
color: var(--gold);
 font-size: 10px;
 line-height: 11px;
 font-weight: 700;
 font-style: normal;
 letter-spacing: 0.02em;
}

.nav {
display: flex;
 align-items: center;
 justify-content: center;
 gap: clamp(20px, 2.15vw, 39px);
 min-width: 0;
 color: rgba(255, 255, 255, 0.86);
 font-size: 17px;
 line-height: 22px;
 font-weight: 600;
 letter-spacing: 0;
 white-space: nowrap;
}

.nav a {
position: relative;
 display: inline-flex;
 align-items: center;
 min-height: 68px;
 transition: color 180ms ease;
}

.nav a::after {
content: "";
 position: absolute;
 right: 0;
 bottom: 12px;
 left: 0;
 height: 2px;
 border-radius: 999px;
 background: var(--gold);
 opacity: 0;
 transform: scaleX(0.42);
 transition: opacity 180ms ease, transform 180ms ease;
}

.nav a:hover,
.nav a.is-current {
color: var(--gold);
 font-weight: 700;
}

.nav a.is-current::after {
opacity: 1;
 transform: scaleX(1);
}

.header-tools {
display: flex;
 align-items: center;
 justify-content: flex-end;
 gap: 14px;
 min-width: 0;
}

.login,
.register {
display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 78px;
 min-height: 38px;
 border-radius: 6px;
 font-size: 17px;
 line-height: 22px;
 font-weight: 600;
 letter-spacing: 0;
}

.login {
border: 1px solid rgba(245, 198, 90, 0.62);
 color: var(--gold);
 background: rgba(245, 198, 90, 0.04);
}

.register {
color: #171008;
 background: linear-gradient(180deg, #ffe9a6, #e3a93f);
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.tool-link {
position: relative;
 display: inline-flex;
 align-items: center;
 gap: 7px;
 color: rgba(255, 255, 255, 0.72);
 font-size: 13px;
 line-height: 18px;
 font-weight: 200;
 letter-spacing: 0;
 transition: color 180ms ease;
}

.tool-link::before {
content: "";
 display: block;
 width: 15px;
 height: 15px;
 border: 0;
 border-radius: 0;
 opacity: 0.86;
}

.tool-link--app::before {
width: 11px;
 height: 17px;
 border: 1.5px solid currentColor;
 border-radius: 2px;
 box-shadow: inset 0 2px 0 -1px currentColor, inset 0 -3px 0 -1.5px currentColor;
}

.tool-link--app::after {
content: "";
 position: absolute;
 left: 4.5px;
 bottom: 2px;
 width: 2.2px;
 height: 2.2px;
 border-radius: 50%;
 background: currentColor;
 opacity: 0.9;
}

.tool-link--help::before {
width: 16px;
 height: 14px;
 border: 1.6px solid currentColor;
 border-bottom: 0;
 border-radius: 10px 10px 0 0;
 transform: none;
}

.tool-link--help::after {
content: "";
 position: absolute;
 left: 2px;
 top: 8px;
 width: 3px;
 height: 7px;
 border-radius: 3px;
 background: currentColor;
 box-shadow: 11px 0 0 currentColor, 7px 6px 0 -1px currentColor;
}

.tool-link:hover {
color: var(--gold);
}

.menu-toggle,
.mobile-panel {
display: none;
}

.announcement {
height: 44px;
 border-bottom: 1px solid rgba(245, 198, 90, 0.12);
 background:
  radial-gradient(circle at 42% 0, rgba(245, 198, 90, 0.16), transparent 35%),
  linear-gradient(90deg, rgba(245, 198, 90, 0.08), rgba(255, 255, 255, 0.02) 45%, rgba(245, 198, 90, 0.08)),
  #10100e;
}

.announcement-inner {
display: flex;
 align-items: center;
 gap: 16px;
 height: 100%;
 padding: 0 38px;
 color: rgba(255, 241, 204, 0.88);
 font-size: 14px;
 line-height: 20px;
 font-weight: 500;
 letter-spacing: 0;
 overflow: hidden;
}

.announcement-label {
display: inline-flex;
 align-items: center;
 flex: 0 0 auto;
 color: var(--gold);
 font-weight: 700;
 white-space: nowrap;
}

.announcement-label::before {
content: "";
 display: inline-block;
 width: 15px;
 height: 15px;
 margin-right: 8px;
 background: var(--gold);
 clip-path: polygon(0 32%, 28% 32%, 58% 8%, 58% 92%, 28% 68%, 0 68%);
}

.announcement-marquee {
position: relative;
 flex: 1 1 auto;
 min-width: 0;
 height: 20px;
 overflow: hidden;
}

.announcement-track {
position: relative;
 height: 100%;
}

.announcement-item {
position: absolute;
 top: 0;
 left: 0;
 display: inline-flex;
 align-items: center;
 gap: 8px;
 max-width: 100%;
 opacity: 0;
 transform: translateY(8px);
 transition: opacity 240ms ease, transform 240ms ease;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
}

.announcement-item.is-active {
opacity: 1;
 transform: translateY(0);
}

.announcement-item em {
color: var(--gold);
 font-style: normal;
 font-weight: 700;
}

.footer {
color: rgba(255, 255, 255, 0.74);
 background:
  radial-gradient(circle at 50% 0, rgba(245, 198, 90, 0.08), transparent 32%),
  #070706;
}

.footer-trust {
border-top: 1px solid rgba(245, 198, 90, 0.2);
 border-bottom: 1px solid rgba(245, 198, 90, 0.16);
 background:
  linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.01)),
  #10100e;
}

.footer-trust-inner {
display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 28px;
 min-height: 52px;
 padding: 0 38px;
}

.footer-trust span {
display: flex;
 align-items: center;
 justify-content: flex-start;
 gap: 7px;
 flex: 0 0 auto;
 white-space: nowrap;
}

.footer-trust span + span {
border-left: 0;
}

.trust-icon {
position: relative;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 22px;
 height: 22px;
 border: 0;
 border-radius: 0;
 color: var(--gold);
 font-size: 9px;
 line-height: 1;
 font-style: normal;
 font-weight: 700;
}

.trust-icon svg {
display: block;
 width: 22px;
 height: 22px;
 fill: none;
 stroke: currentColor;
 stroke-width: 1.7;
 stroke-linecap: round;
 stroke-linejoin: round;
}

.trust-shield {
stroke-width: 1.45;
}

.trust-icon--age {
border: 1.4px solid currentColor;
 border-radius: 50%;
 font-size: 9px;
 font-weight: 800;
}

.footer-trust strong {
color: var(--gold);
 font-size: 13px;
 line-height: 18px;
 font-weight: 700;
}

.footer-trust em {
color: rgba(255, 241, 204, 0.72);
 font-size: 12px;
 line-height: 18px;
 font-style: normal;
}

.footer-main {
display: grid;
 grid-template-columns: 320px minmax(0, 1fr) 220px;
 gap: 38px;
 align-items: center;
 padding: 30px 38px 24px;
}

.footer-brand img {
display: block;
 width: 190px;
 height: auto;
}

.footer-links {
display: flex;
 align-items: center;
 justify-content: center;
 gap: 0;
 min-width: 0;
 color: rgba(255, 255, 255, 0.7);
 font-size: 14px;
 line-height: 20px;
}

.footer-links a {
position: relative;
 padding: 0 18px;
}

.footer-links a + a::before {
content: "|";
 position: absolute;
 left: 0;
 color: rgba(255, 255, 255, 0.22);
}

.footer-links a:hover {
color: var(--gold);
}

.footer-social {
display: flex;
 justify-content: flex-end;
 gap: 12px;
}

.footer-social a {
display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 40px;
 height: 40px;
 border: 1px solid rgba(255, 255, 255, 0.24);
 border-radius: 50%;
 background: rgba(255, 255, 255, 0.08);
 transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.footer-social a:hover {
border-color: rgba(245, 198, 90, 0.56);
 background: rgba(245, 198, 90, 0.08);
 transform: translateY(-1px);
}

.footer-social img {
display: block;
 width: 20px;
 height: 20px;
 object-fit: contain;
 filter: grayscale(1) brightness(0) invert(1);
 opacity: 0.92;
 transition: opacity 180ms ease;
}

.footer-social a:hover img {
opacity: 1;
}

.footer-bottom {
display: flex;
 align-items: center;
 justify-content: center;
 gap: 28px;
 min-height: 44px;
 border-top: 1px solid rgba(255, 255, 255, 0.07);
 color: rgba(255, 255, 255, 0.46);
 font-size: 12px;
 line-height: 18px;
}

.footer-bottom p {
margin: 0;
}

@media (max-width: 1280px) {
.header-main {
grid-template-columns: 230px minmax(0, 1fr) 320px;
  padding: 0 24px;
}
.nav {
gap: 18px;
  font-size: 14px;
}
.header-tools {
gap: 10px;
}
.tool-link {
display: none;
}
.announcement-inner {
padding: 0 24px;
}
.footer-trust-inner {
flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px 28px;
  padding: 8px 24px;
}
.footer-trust span {
min-height: 38px;
}
.footer-main {
grid-template-columns: 260px minmax(0, 1fr);
  padding: 26px 24px 22px;
}
.footer-social {
grid-column: 1 / -1;
  justify-content: flex-start;
}
}

@media (max-width: 768px) {
.header-main {
display: flex;
  min-height: 66px;
  padding: 0 16px;
}
.brand--compare img {
max-width: 152px;
  height: 54px;
}
.brand-mark {
width: 46px;
  height: 36px;
  font-size: 25px;
}
.brand-text strong {
font-size: 20px;
  line-height: 22px;
}
.nav {
display: none;
}
.header-tools {
margin-left: auto;
  gap: 8px;
}
.login {
display: none;
}
.register {
min-width: 66px;
  min-height: 34px;
  font-size: 13px;
}
.menu-toggle {
display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 38px;
  height: 34px;
  border: 1px solid rgba(245, 198, 90, 0.48);
  border-radius: 6px;
  color: var(--gold);
  background: rgba(245, 198, 90, 0.05);
  cursor: pointer;
}
.menu-toggle span {
display: block;
  width: 16px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 180ms ease, opacity 180ms ease;
}
.header.is-menu-open .menu-toggle span:nth-child(1) {
transform: translateY(5.5px) rotate(45deg);
}
.header.is-menu-open .menu-toggle span:nth-child(2) {
opacity: 0;
}
.header.is-menu-open .menu-toggle span:nth-child(3) {
transform: translateY(-5.5px) rotate(-45deg);
}
.mobile-panel {
display: none;
  padding: 12px 16px 14px;
  border-bottom: 1px solid rgba(245, 198, 90, 0.12);
  background:
   radial-gradient(circle at 12% 0, rgba(245, 198, 90, 0.14), transparent 34%),
   #090908;
}
.header.is-menu-open .mobile-panel {
display: block;
}
.mobile-nav {
display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.mobile-nav a,
 .mobile-actions a {
display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid rgba(245, 198, 90, 0.18);
  border-radius: 7px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.035);
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
}
.mobile-nav a.is-current {
border-color: rgba(245, 198, 90, 0.62);
  color: var(--gold);
  background: rgba(245, 198, 90, 0.09);
}
.mobile-actions {
display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.announcement {
height: auto;
}
.announcement-inner {
display: flex;
  gap: 10px;
  min-height: 42px;
  padding: 0 16px;
  font-size: 12px;
}
.announcement-label::before {
width: 13px;
  height: 13px;
  margin-right: 6px;
}
.footer-trust-inner {
display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 12px;
  padding: 10px 16px;
}
.footer-trust span {
justify-content: flex-start;
  min-height: 38px;
}
.footer-trust span + span {
border-left: 0;
}
.footer-trust i {
width: 22px;
  height: 22px;
  font-size: 9px;
}
.footer-trust strong {
font-size: 13px;
}
.footer-trust em {
font-size: 12px;
}
.footer-main {
display: block;
  padding: 24px 16px 20px;
}
.footer-brand img {
width: 168px;
  margin: 0 auto;
}
.footer-links {
display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  justify-content: center;
  margin-top: 22px;
  text-align: center;
}
.footer-links a {
padding: 0 11px;
  margin-right: 0;
}
.footer-links a + a::before {
left: -2px;
}
.footer-social {
justify-content: center;
  margin-top: 22px;
}
.footer-bottom {
display: block;
  min-height: auto;
  padding: 14px 16px 16px;
  text-align: center;
}
.footer-bottom span {
display: block;
  margin-top: 6px;
}
}
