@font-face {
  font-family: "Plus Jakarta";
  src: url("../assets/PlusJakartaSans.woff2") format("woff2");
  font-weight: 400 700;
  font-display: swap;
}
:root {
  --zx-ink: #1d1d1f;
  --zx-muted: #6e6e73;
  --zx-muted-2: #86868b;
  --zx-bg: #ffffff;
  --zx-bg-alt: #f5f5f7;
  --zx-bg-soft: #fafafc;
  --zx-blue: #0071e3;
  --zx-link: #0066cc;
  --zx-radius-pill: 980px;
  --zx-motion-fast: 200ms;
  --zx-motion-ui: 320ms;
  --zx-motion-section: 400ms;
  --zx-enter-opacity: 900ms;
  --zx-enter-y-duration: 700ms;
  --zx-enter-y: 30px;
  --zx-stagger: 150ms;
  --zx-ease: cubic-bezier(.4, 0, .6, 1);
  --zx-title: 56px;
  --zx-title-weight: 600;
  --zx-title-lh: 1.1;
  --zx-body: 17px;
  --zx-body-lh: 26px;
  --zx-meta: 13px;

  --ink: var(--zx-ink);
  --muted: var(--zx-muted);
  --line: #d2d2d7;
  --bg: var(--zx-bg);
  --card: #ffffff;
  --paper: var(--zx-bg-alt);
  --accent: var(--zx-blue);
  --accent-hover: #0077ed;
  --accent-soft: #e8f1fc;
  --accent-ring: color-mix(in srgb, var(--zx-blue) 35%, transparent);
  --radius: 12px;
  --motion-fast: var(--zx-motion-fast);
  --motion: var(--zx-motion-ui);
  --motion-slow: var(--zx-motion-section);
  --ease-out-strong: var(--zx-ease);
  --ease-in-out-strong: var(--zx-ease);
  --font: "Plus Jakarta", ui-sans-serif, system-ui, "PingFang SC", "Hiragino Sans GB", sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body {
  font-family: var(--font);
  font-weight: 400;
  color: var(--zx-ink);
  background: var(--zx-bg);
  letter-spacing: 0;
}
h1, h2, h3 { font-weight: 600; letter-spacing: 0; }
button, input, textarea { font: inherit; }
a { color: inherit; }
@media (prefers-reduced-motion: reduce) {
  :root {
    --zx-motion-fast: 0ms;
    --zx-motion-ui: 0ms;
    --zx-motion-section: 0ms;
    --zx-enter-opacity: 0ms;
    --zx-enter-y-duration: 0ms;
    --zx-enter-y: 0px;
    --zx-stagger: 0ms;
    --motion-fast: 0ms;
    --motion: 0ms;
    --motion-slow: 0ms;
  }
  * { animation: none !important; transition: none !important; }
}
