@font-face {
  font-family: "F1 Display";
  src: url("../fonts/f1-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "F1 Display";
  src: url("../fonts/f1-bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "F1 Wide";
  src: url("../fonts/f1-wide.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --legal-black: #080808;
  --legal-white: #ffffff;
  --legal-muted: #a7a8ac;
  --legal-line: rgba(255, 255, 255, 0.14);
  --legal-red: #e10600;
  --legal-red-hover: #ff1e16;
  --legal-yellow: #f4c430;
  --legal-container: 1180px;
  --legal-header-height: 72px;
}

.legal-page { min-width: 320px; overflow-x: hidden; background: var(--legal-black); }
.legal-page.menu-open { overflow: hidden; }
.legal-page a { letter-spacing: 0; -webkit-tap-highlight-color: transparent; }
.legal-page :focus-visible { outline: 3px solid var(--legal-yellow); outline-offset: 4px; }
.legal-page .site-container { width: min(calc(100% - 48px), var(--legal-container)); max-width: none; margin-inline: auto; padding: 0; }

.legal-page .site-header {
  position: fixed !important;
  z-index: 100;
  inset: 0 0 auto;
  top: 0 !important;
  height: var(--legal-header-height);
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--legal-line) !important;
  background: rgba(8, 8, 8, 0.96) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-family: "F1 Display", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.legal-page .header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.legal-page .brand { display: inline-flex; align-items: center; gap: 11px; color: var(--legal-white); font-family: "F1 Wide", sans-serif; font-size: 19px; font-weight: 700; font-style: normal; line-height: 1; text-decoration: none; text-transform: none; }
.legal-page .brand img { width: 42px; height: 42px; border-radius: 7px; object-fit: cover; }
.legal-page .legal-desktop-nav { display: flex; align-items: center; gap: 30px; height: 100%; }
.legal-page .legal-desktop-nav a { position: relative; color: #d3d4d6; font-size: 13px; font-weight: 400; text-decoration: none; transition: color 160ms ease; }
.legal-page .legal-desktop-nav a:hover, .legal-page .legal-desktop-nav a[aria-current="page"] { color: var(--legal-white); }
.legal-page .legal-desktop-nav a[aria-current="page"]::after { content: ""; position: absolute; right: 0; bottom: -13px; left: 0; height: 2px; background: var(--legal-red); }
.legal-page .header-actions { display: flex; align-items: center; gap: 12px; }
.legal-page .header-download { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 18px; border-radius: 4px; color: var(--legal-white); background: var(--legal-red); font-size: 14px; font-weight: 700; text-decoration: none; transition: transform 160ms ease, background-color 160ms ease; }
.legal-page .header-download:hover { background: var(--legal-red-hover); transform: translateY(-2px); }
.legal-page .header-download svg { width: 18px; height: 18px; }
.legal-page .menu-button { width: 42px; height: 42px; display: none; align-items: center; justify-content: center; padding: 0; border: 0; color: var(--legal-white); background: transparent; cursor: pointer; }
.legal-page .menu-button svg { width: 24px; height: 24px; }
.legal-page .legal-mobile-nav { position: fixed; inset: var(--legal-header-height) 0 auto; z-index: 99; display: block; height: auto; min-height: 0; padding: 18px 24px 28px; border-bottom: 1px solid var(--legal-line); background: var(--legal-black); }
.legal-page .legal-mobile-nav[hidden] { display: none; }
.legal-page .legal-mobile-nav a { display: block; padding: 16px 0; border-bottom: 1px solid var(--legal-line); color: var(--legal-white); font-size: 16px; font-weight: 700; text-decoration: none; }
.legal-page .legal-mobile-nav a[aria-current="page"] { color: var(--legal-red-hover); }

.legal-page > main { padding-top: 126px !important; padding-bottom: 88px !important; }
.legal-page > main.agreement-shell { margin-top: 0; }

.legal-page .legal-footer {
  position: relative;
  padding: 72px 0 28px !important;
  border: 0 !important;
  border-top: 1px solid var(--legal-line) !important;
  color: var(--legal-white);
  background: var(--legal-black) !important;
  font-family: "F1 Display", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.legal-page .legal-footer-main { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(420px, 1.2fr); gap: 80px; }
.legal-page .legal-footer-brand > p { max-width: 360px; margin: 18px 0 0; color: var(--legal-muted); font-size: 14px; line-height: 1.7; }
.legal-page .legal-footer-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; height: auto; min-height: 0; }
.legal-page .legal-footer-nav div { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.legal-page .legal-footer-nav strong { margin-bottom: 8px; color: var(--legal-white); font-size: 14px; }
.legal-page .legal-footer-nav a { color: var(--legal-muted); font-size: 13px; text-decoration: none; transition: color 160ms ease; }
.legal-page .legal-footer-nav a:hover { color: var(--legal-white); }
.legal-page .legal-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--legal-line); color: #76787e; font-size: 12px; }
.legal-page .legal-footer-bottom a { color: inherit; text-decoration: none; }
.legal-page .legal-footer-bottom a:hover { color: var(--legal-white); }

@media (max-width: 960px) {
  .legal-page .legal-desktop-nav { display: none; }
  .legal-page .menu-button { display: flex; }
  .legal-page .legal-footer-main { grid-template-columns: 1fr; gap: 50px; }
}

@media (max-width: 720px) {
  :root { --legal-header-height: 64px; }
  .legal-page .site-container { width: min(calc(100% - 32px), var(--legal-container)); }
  .legal-page .header-download { display: none; }
  .legal-page .brand { font-size: 17px; }
  .legal-page .brand img { width: 38px; height: 38px; }
  .legal-page > main { padding-top: 100px !important; padding-bottom: 66px !important; }
  .legal-page .legal-footer { padding-top: 58px !important; padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important; }
  .legal-page .legal-footer-nav { grid-template-columns: 1fr 1fr; row-gap: 42px; }
  .legal-page .legal-footer-nav div:last-child { grid-column: 1 / -1; }
  .legal-page .legal-footer-bottom { align-items: flex-start; flex-direction: column; margin-top: 50px; }
}

@media (prefers-reduced-motion: reduce) {
  .legal-page *, .legal-page *::before, .legal-page *::after { transition-duration: 0.01ms !important; }
}
