:root {
  color-scheme: light;
  --paper: #f7f8fa;
  --white: #fff;
  --ink: #172029;
  --muted: #626c77;
  --blue: #0864ef;
  --blue-dark: #0755cc;
  --blue-soft: #e7f0ff;
  --yellow: #f5e657;
  --line: #dfe3e8;
  --radius: 8px;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 48px;
  --space-6: 64px;
  --space-7: 96px;
  --font: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
  --header-height: 81px;
  --viewport-height: calc(100svh - var(--header-height));
  --stage-space: clamp(28px, 5svh, 72px);
  --motion-fast: 180ms;
  --motion-ui: 320ms;
  --motion-return: 460ms;
  --ease-ui: cubic-bezier(.22, 1, .36, 1);
  --ease-spring: cubic-bezier(.34, 1.45, .64, 1);
  font-family: var(--font);
  font-size: 16px;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body { margin: 0; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; color: inherit; }
a { color: inherit; text-decoration: none; }
button, input { border-radius: var(--radius); }
img { display: block; max-width: 100%; height: auto; }
svg { flex-shrink: 0; width: 20px; height: 20px; stroke-width: 1.75; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { font-weight: 700; }
button { border: 0; }
p { line-height: 1.8; }
button:disabled { cursor: not-allowed; opacity: .45; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
::selection { color: var(--ink); background: var(--yellow); }
.container { width: min(1280px, calc(100% - 112px)); margin-inline: auto; }
.section-space { padding-block: 112px; }
.section-index { font-size: 12px; font-weight: 600; color: var(--muted); margin-bottom: 24px; }
h2 { font-size: 52px; line-height: 1.32; }
.text-blue { color: var(--blue); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 56px; padding: 16px 23px; font-size: 14px; font-weight: 650; border-radius: var(--radius); white-space: nowrap; transition: background .2s, box-shadow .2s; }
.button-primary { background: var(--blue); color: var(--white); }
.button-primary:hover { background: var(--blue-dark); box-shadow: 0 6px 18px #0864ef21; }
.button-dark { background: var(--ink); color: var(--white); }
.button-dark:hover { background: #38434f; }
.button-small { min-height: 44px; padding: 11px 16px; font-size: 12px; }
.button-small svg { width: 16px; height: 16px; }
.button:active, .icon-button:active { transform: translateY(1px); }
.button[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: transparent; border: 1px solid var(--line); transition: background .2s; flex-shrink: 0; }
.icon-button:hover { background: var(--blue-soft); }
.text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 14px; font-weight: 600; }
.text-link svg { transition: transform .2s; }
.text-link:hover svg { transform: translate(3px, -3px); }
.skip-link { position: fixed; top: -80px; left: 20px; padding: 16px; background: var(--white); z-index: 200; }
.skip-link:focus { top: 12px; }
.status-dot { width: 6px; height: 6px; display: inline-block; background: var(--blue); border-radius: 50%; }
.mobile-break { display: none; }
section[id] { scroll-margin-top: 96px; }
.toast { position: fixed; z-index: 150; bottom: 28px; left: 50%; transform: translateX(-50%); padding: 14px 22px; border-radius: var(--radius); color: var(--white); background: var(--ink); max-width: calc(100% - 32px); font-size: 14px; box-shadow: 0 6px 30px #17202920; }
.noscript-note { margin: 16px; padding: 20px; border: 1px solid var(--line); }
@media (min-width: 1700px) { .container { width: min(1480px, calc(100% - 160px)); } }
@media (max-width: 1100px) { .container { width: calc(100% - 64px); } h2 { font-size: 42px; } .section-space { padding-block: 88px; } }
@media (max-width: 767px) { .container { width: calc(100% - 40px); } h2 { font-size: 34px; } .section-space { padding-block: 68px; } .section-index { margin-bottom: 18px; font-size: 11px; } .button { min-height: 52px; padding: 14px 18px; font-size: 13px; } .button-small { min-height: 42px; padding: 10px 12px; font-size: 11px; } .button-small svg { width: 15px; } .mobile-break { display: block; } section[id] { scroll-margin-top: 80px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
