/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --color-yellow-400: oklch(85.2% 0.199 91.936);
  --color-green-500: oklch(72.3% 0.219 149.579);
  --color-blue-500: oklch(62.3% 0.214 259.815);
  --color-purple-500: oklch(62.7% 0.265 303.9);
  --color-purple-600: oklch(55.8% 0.288 302.321);
  --color-purple-700: oklch(49.6% 0.265 301.924);
  --color-gray-500: oklch(55.1% 0.027 264.364);
  --color-black: #000;
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-xs: 20rem;
  --container-md: 28rem;
  --container-lg: 32rem;
  --container-2xl: 42rem;
  --container-3xl: 48rem;
  --container-4xl: 56rem;
  --container-5xl: 64rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --text-2xl: 1.5rem;
  --text-2xl--line-height: calc(2 / 1.5);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --text-5xl: 3rem;
  --text-5xl--line-height: 1;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --leading-tight: 1.25;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
  --blur-2xl: 40px;
  --blur-3xl: 64px;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --color-primary: #165DFF;
  --color-secondary: #FF3A3A;
  --color-accent: #36CFC9;
  --color-dark: #121826;
  --color-darker: #0A0F1C;
  --color-gray-dark: #1D2129;
  --color-gray-medium: #4E5969;
  --color-gray-light: #C9CDD4;
  --font-gaming: Rajdhani, Inter, system-ui, sans-serif;
}
.invisible {
  visibility: hidden;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.relative {
  position: relative;
}
.-inset-1 {
  inset: calc(var(--spacing) * -1);
}
.inset-0 {
  inset: calc(var(--spacing) * 0);
}
.top-0 {
  top: calc(var(--spacing) * 0);
}
.top-1\/2 {
  top: calc(1/2 * 100%);
}
.top-1\/4 {
  top: calc(1/4 * 100%);
}
.top-2 {
  top: calc(var(--spacing) * 2);
}
.-right-8 {
  right: calc(var(--spacing) * -8);
}
.right-0 {
  right: calc(var(--spacing) * 0);
}
.right-1\/4 {
  right: calc(1/4 * 100%);
}
.right-2 {
  right: calc(var(--spacing) * 2);
}
.right-6 {
  right: calc(var(--spacing) * 6);
}
.-bottom-8 {
  bottom: calc(var(--spacing) * -8);
}
.bottom-0 {
  bottom: calc(var(--spacing) * 0);
}
.bottom-1\/4 {
  bottom: calc(1/4 * 100%);
}
.bottom-2 {
  bottom: calc(var(--spacing) * 2);
}
.bottom-6 {
  bottom: calc(var(--spacing) * 6);
}
.bottom-28 {
  bottom: calc(var(--spacing) * 28);
}
.left-0 {
  left: calc(var(--spacing) * 0);
}
.left-1\/2 {
  left: calc(1/2 * 100%);
}
.left-1\/4 {
  left: calc(1/4 * 100%);
}
.left-2 {
  left: calc(var(--spacing) * 2);
}
.-z-0 {
  z-index: calc(0 * -1);
}
.-z-10 {
  z-index: calc(10 * -1);
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-40 {
  z-index: 40;
}
.mx-2 {
  margin-inline: calc(var(--spacing) * 2);
}
.mx-auto {
  margin-inline: auto;
}
.mt-1 {
  margin-top: calc(var(--spacing) * 1);
}
.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}
.mt-6 {
  margin-top: calc(var(--spacing) * 6);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mt-10 {
  margin-top: calc(var(--spacing) * 10);
}
.mt-12 {
  margin-top: calc(var(--spacing) * 12);
}
.mt-16 {
  margin-top: calc(var(--spacing) * 16);
}
.mr-2 {
  margin-right: calc(var(--spacing) * 2);
}
.mr-3 {
  margin-right: calc(var(--spacing) * 3);
}
.mr-4 {
  margin-right: calc(var(--spacing) * 4);
}
.mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}
.mb-3 {
  margin-bottom: calc(var(--spacing) * 3);
}
.mb-4 {
  margin-bottom: calc(var(--spacing) * 4);
}
.mb-5 {
  margin-bottom: calc(var(--spacing) * 5);
}
.mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}
.mb-8 {
  margin-bottom: calc(var(--spacing) * 8);
}
.mb-10 {
  margin-bottom: calc(var(--spacing) * 10);
}
.mb-16 {
  margin-bottom: calc(var(--spacing) * 16);
}
.ml-2 {
  margin-left: calc(var(--spacing) * 2);
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.inline-flex {
  display: inline-flex;
}
.h-1 {
  height: calc(var(--spacing) * 1);
}
.h-2 {
  height: calc(var(--spacing) * 2);
}
.h-3 {
  height: calc(var(--spacing) * 3);
}
.h-4 {
  height: calc(var(--spacing) * 4);
}
.h-6 {
  height: calc(var(--spacing) * 6);
}
.h-8 {
  height: calc(var(--spacing) * 8);
}
.h-10 {
  height: calc(var(--spacing) * 10);
}
.h-12 {
  height: calc(var(--spacing) * 12);
}
.h-14 {
  height: calc(var(--spacing) * 14);
}
.h-32 {
  height: calc(var(--spacing) * 32);
}
.h-48 {
  height: calc(var(--spacing) * 48);
}
.h-60 {
  height: calc(var(--spacing) * 60);
}
.h-96 {
  height: calc(var(--spacing) * 96);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.w-2 {
  width: calc(var(--spacing) * 2);
}
.w-3 {
  width: calc(var(--spacing) * 3);
}
.w-4 {
  width: calc(var(--spacing) * 4);
}
.w-6 {
  width: calc(var(--spacing) * 6);
}
.w-8 {
  width: calc(var(--spacing) * 8);
}
.w-10 {
  width: calc(var(--spacing) * 10);
}
.w-12 {
  width: calc(var(--spacing) * 12);
}
.w-14 {
  width: calc(var(--spacing) * 14);
}
.w-16 {
  width: calc(var(--spacing) * 16);
}
.w-32 {
  width: calc(var(--spacing) * 32);
}
.w-48 {
  width: calc(var(--spacing) * 48);
}
.w-96 {
  width: calc(var(--spacing) * 96);
}
.w-full {
  width: 100%;
}
.max-w-2xl {
  max-width: var(--container-2xl);
}
.max-w-3xl {
  max-width: var(--container-3xl);
}
.max-w-4xl {
  max-width: var(--container-4xl);
}
.max-w-5xl {
  max-width: var(--container-5xl);
}
.max-w-lg {
  max-width: var(--container-lg);
}
.max-w-md {
  max-width: var(--container-md);
}
.max-w-xs {
  max-width: var(--container-xs);
}
.min-w-\[120px\] {
  min-width: 120px;
}
.-translate-x-1\/2 {
  --tw-translate-x: calc(calc(1/2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.translate-x-1\/2 {
  --tw-translate-x: calc(1/2 * 100%);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.-translate-y-1\/2 {
  --tw-translate-y: calc(calc(1/2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.transform {
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
}
.animate-ping {
  animation: var(--animate-ping);
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-row {
  flex-direction: row;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.items-end {
  align-items: flex-end;
}
.items-start {
  align-items: flex-start;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-6 {
  gap: calc(var(--spacing) * 6);
}
.gap-8 {
  gap: calc(var(--spacing) * 8);
}
.gap-10 {
  gap: calc(var(--spacing) * 10);
}
.space-y-3 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-4 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-8 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.-space-x-2 {
  :where(& > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)));
  }
}
.space-x-2 {
  :where(& > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }
}
.space-x-4 {
  :where(& > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
  }
}
.overflow-hidden {
  overflow: hidden;
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.rounded-bl-lg {
  border-bottom-left-radius: var(--radius-lg);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-2 {
  border-style: var(--tw-border-style);
  border-width: 2px;
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-dark {
  border-color: var(--color-dark);
}
.border-gray-medium\/20 {
  border-color: color-mix(in srgb, #4E5969 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-gray-medium) 20%, transparent);
  }
}
.border-primary {
  border-color: var(--color-primary);
}
.bg-accent {
  background-color: var(--color-accent);
}
.bg-accent\/20 {
  background-color: color-mix(in srgb, #36CFC9 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-accent) 20%, transparent);
  }
}
.bg-black\/30 {
  background-color: color-mix(in srgb, #000 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-black) 30%, transparent);
  }
}
.bg-blue-500\/20 {
  background-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
  }
}
.bg-dark {
  background-color: var(--color-dark);
}
.bg-darker {
  background-color: var(--color-darker);
}
.bg-gray-dark {
  background-color: var(--color-gray-dark);
}
.bg-gray-medium\/20 {
  background-color: color-mix(in srgb, #4E5969 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-gray-medium) 20%, transparent);
  }
}
.bg-gray-medium\/30 {
  background-color: color-mix(in srgb, #4E5969 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-gray-medium) 30%, transparent);
  }
}
.bg-green-500 {
  background-color: var(--color-green-500);
}
.bg-primary {
  background-color: var(--color-primary);
}
.bg-primary\/10 {
  background-color: color-mix(in srgb, #165DFF 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);
  }
}
.bg-primary\/20 {
  background-color: color-mix(in srgb, #165DFF 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-primary) 20%, transparent);
  }
}
.bg-primary\/30 {
  background-color: color-mix(in srgb, #165DFF 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
  }
}
.bg-purple-500\/20 {
  background-color: color-mix(in srgb, oklch(62.7% 0.265 303.9) 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-purple-500) 20%, transparent);
  }
}
.bg-purple-600 {
  background-color: var(--color-purple-600);
}
.bg-secondary {
  background-color: var(--color-secondary);
}
.bg-secondary\/10 {
  background-color: color-mix(in srgb, #FF3A3A 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-secondary) 10%, transparent);
  }
}
.bg-secondary\/20 {
  background-color: color-mix(in srgb, #FF3A3A 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-secondary) 20%, transparent);
  }
}
.bg-white {
  background-color: var(--color-white);
}
.bg-white\/60 {
  background-color: color-mix(in srgb, #fff 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 60%, transparent);
  }
}
.bg-gradient-to-t {
  --tw-gradient-position: to top in oklab;
  background-image: linear-gradient(var(--tw-gradient-stops));
}
.from-black\/40 {
  --tw-gradient-from: color-mix(in srgb, #000 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-gradient-from: color-mix(in oklab, var(--color-black) 40%, transparent);
  }
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-transparent {
  --tw-gradient-to: transparent;
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.object-cover {
  object-fit: cover;
}
.p-4 {
  padding: calc(var(--spacing) * 4);
}
.p-6 {
  padding: calc(var(--spacing) * 6);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-6 {
  padding-inline: calc(var(--spacing) * 6);
}
.py-1 {
  padding-block: calc(var(--spacing) * 1);
}
.py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.py-12 {
  padding-block: calc(var(--spacing) * 12);
}
.py-16 {
  padding-block: calc(var(--spacing) * 16);
}
.py-20 {
  padding-block: calc(var(--spacing) * 20);
}
.pt-8 {
  padding-top: calc(var(--spacing) * 8);
}
.pt-24 {
  padding-top: calc(var(--spacing) * 24);
}
.pb-6 {
  padding-bottom: calc(var(--spacing) * 6);
}
.pb-20 {
  padding-bottom: calc(var(--spacing) * 20);
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.font-gaming {
  font-family: var(--font-gaming);
}
.font-sans {
  font-family: var(--font-sans);
}
.text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.text-4xl {
  font-size: var(--text-4xl);
  line-height: var(--tw-leading, var(--text-4xl--line-height));
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.text-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xl {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.text-\[clamp\(1\.8rem\,4vw\,2\.5rem\)\] {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
}
.text-\[clamp\(2rem\,5vw\,3\.5rem\)\] {
  font-size: clamp(2rem, 5vw, 3.5rem);
}
.leading-tight {
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
}
.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.font-medium {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.text-accent {
  color: var(--color-accent);
}
.text-gray-500 {
  color: var(--color-gray-500);
}
.text-gray-light {
  color: var(--color-gray-light);
}
.text-gray-medium {
  color: var(--color-gray-medium);
}
.text-primary {
  color: var(--color-primary);
}
.text-secondary {
  color: var(--color-secondary);
}
.text-white {
  color: var(--color-white);
}
.text-white\/80 {
  color: color-mix(in srgb, #fff 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 80%, transparent);
  }
}
.text-yellow-400 {
  color: var(--color-yellow-400);
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-0 {
  opacity: 0%;
}
.opacity-75 {
  opacity: 75%;
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-primary\/10 {
  --tw-shadow-color: color-mix(in srgb, #165DFF 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-primary) 10%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.blur-2xl {
  --tw-blur: blur(var(--blur-2xl));
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.blur-3xl {
  --tw-blur: blur(var(--blur-3xl));
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.filter {
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-transform {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.group-hover\:bg-primary {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      background-color: var(--color-primary);
    }
  }
}
.hover\:-translate-y-1 {
  &:hover {
    @media (hover: hover) {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
}
.hover\:-translate-y-2 {
  &:hover {
    @media (hover: hover) {
      --tw-translate-y: calc(var(--spacing) * -2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
}
.hover\:scale-105 {
  &:hover {
    @media (hover: hover) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
.hover\:border-primary\/30 {
  &:hover {
    @media (hover: hover) {
      border-color: color-mix(in srgb, #165DFF 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
      }
    }
  }
}
.hover\:border-primary\/50 {
  &:hover {
    @media (hover: hover) {
      border-color: color-mix(in srgb, #165DFF 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
      }
    }
  }
}
.hover\:bg-black\/50 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #000 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
      }
    }
  }
}
.hover\:bg-primary {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-primary);
    }
  }
}
.hover\:bg-primary\/90 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #165DFF 90%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);
      }
    }
  }
}
.hover\:bg-purple-700 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-purple-700);
    }
  }
}
.hover\:bg-secondary\/90 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #FF3A3A 90%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-secondary) 90%, transparent);
      }
    }
  }
}
.hover\:bg-white {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-white);
    }
  }
}
.hover\:text-primary\/80 {
  &:hover {
    @media (hover: hover) {
      color: color-mix(in srgb, #165DFF 80%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-primary) 80%, transparent);
      }
    }
  }
}
.hover\:text-white {
  &:hover {
    @media (hover: hover) {
      color: var(--color-white);
    }
  }
}
.sm\:top-4 {
  @media (width >= 40rem) {
    top: calc(var(--spacing) * 4);
  }
}
.sm\:-right-10 {
  @media (width >= 40rem) {
    right: calc(var(--spacing) * -10);
  }
}
.sm\:right-4 {
  @media (width >= 40rem) {
    right: calc(var(--spacing) * 4);
  }
}
.sm\:-bottom-10 {
  @media (width >= 40rem) {
    bottom: calc(var(--spacing) * -10);
  }
}
.sm\:bottom-4 {
  @media (width >= 40rem) {
    bottom: calc(var(--spacing) * 4);
  }
}
.sm\:left-4 {
  @media (width >= 40rem) {
    left: calc(var(--spacing) * 4);
  }
}
.sm\:mt-0 {
  @media (width >= 40rem) {
    margin-top: calc(var(--spacing) * 0);
  }
}
.sm\:ml-4 {
  @media (width >= 40rem) {
    margin-left: calc(var(--spacing) * 4);
  }
}
.sm\:h-4 {
  @media (width >= 40rem) {
    height: calc(var(--spacing) * 4);
  }
}
.sm\:h-6 {
  @media (width >= 40rem) {
    height: calc(var(--spacing) * 6);
  }
}
.sm\:h-8 {
  @media (width >= 40rem) {
    height: calc(var(--spacing) * 8);
  }
}
.sm\:h-10 {
  @media (width >= 40rem) {
    height: calc(var(--spacing) * 10);
  }
}
.sm\:h-40 {
  @media (width >= 40rem) {
    height: calc(var(--spacing) * 40);
  }
}
.sm\:h-64 {
  @media (width >= 40rem) {
    height: calc(var(--spacing) * 64);
  }
}
.sm\:h-72 {
  @media (width >= 40rem) {
    height: calc(var(--spacing) * 72);
  }
}
.sm\:w-4 {
  @media (width >= 40rem) {
    width: calc(var(--spacing) * 4);
  }
}
.sm\:w-6 {
  @media (width >= 40rem) {
    width: calc(var(--spacing) * 6);
  }
}
.sm\:w-8 {
  @media (width >= 40rem) {
    width: calc(var(--spacing) * 8);
  }
}
.sm\:w-10 {
  @media (width >= 40rem) {
    width: calc(var(--spacing) * 10);
  }
}
.sm\:w-40 {
  @media (width >= 40rem) {
    width: calc(var(--spacing) * 40);
  }
}
.sm\:w-64 {
  @media (width >= 40rem) {
    width: calc(var(--spacing) * 64);
  }
}
.sm\:flex-row {
  @media (width >= 40rem) {
    flex-direction: row;
  }
}
.sm\:flex-nowrap {
  @media (width >= 40rem) {
    flex-wrap: nowrap;
  }
}
.sm\:justify-start {
  @media (width >= 40rem) {
    justify-content: flex-start;
  }
}
.sm\:gap-4 {
  @media (width >= 40rem) {
    gap: calc(var(--spacing) * 4);
  }
}
.sm\:p-6 {
  @media (width >= 40rem) {
    padding: calc(var(--spacing) * 6);
  }
}
.sm\:px-8 {
  @media (width >= 40rem) {
    padding-inline: calc(var(--spacing) * 8);
  }
}
.sm\:text-left {
  @media (width >= 40rem) {
    text-align: left;
  }
}
.sm\:text-base {
  @media (width >= 40rem) {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
}
.sm\:text-lg {
  @media (width >= 40rem) {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
}
.sm\:text-xl {
  @media (width >= 40rem) {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
}
.md\:mb-0 {
  @media (width >= 48rem) {
    margin-bottom: calc(var(--spacing) * 0);
  }
}
.md\:block {
  @media (width >= 48rem) {
    display: block;
  }
}
.md\:h-96 {
  @media (width >= 48rem) {
    height: calc(var(--spacing) * 96);
  }
}
.md\:w-1\/2 {
  @media (width >= 48rem) {
    width: calc(1/2 * 100%);
  }
}
.md\:grid-cols-2 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.md\:grid-cols-3 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.md\:grid-cols-4 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.md\:flex-row {
  @media (width >= 48rem) {
    flex-direction: row;
  }
}
.md\:p-8 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 8);
  }
}
.md\:pt-32 {
  @media (width >= 48rem) {
    padding-top: calc(var(--spacing) * 32);
  }
}
.md\:pr-8 {
  @media (width >= 48rem) {
    padding-right: calc(var(--spacing) * 8);
  }
}
.md\:pb-28 {
  @media (width >= 48rem) {
    padding-bottom: calc(var(--spacing) * 28);
  }
}
.md\:text-5xl {
  @media (width >= 48rem) {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
}
.lg\:h-\[25rem\] {
  @media (width >= 64rem) {
    height: 25rem;
  }
}
.lg\:grid-cols-2 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.lg\:grid-cols-3 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}
:root {
    --site-primary: #165dff;
    --site-primary-dark: #0f46c9;
    --site-secondary: #ff3a3a;
    --site-accent: #36cfc9;
    --site-dark: #121826;
    --site-darker: #0a0f1c;
    --site-panel: #1d2129;
    --site-border: rgba(78, 89, 105, 0.3);
    --site-border-strong: rgba(22, 93, 255, 0.55);
    --site-text: #ffffff;
    --site-muted: #c9cdd4;
    --site-muted-dark: #86909c;
    --site-radius-sm: 0.5rem;
    --site-radius: 0.75rem;
    --site-shadow: 0 0.75rem 2.5rem rgba(0, 0, 0, 0.24);
    --site-header-height: 4.75rem;
    --site-gutter: clamp(1rem, 2.6vw, 2rem);
    --site-container: 90rem;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-width: 20rem;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--site-header-height) + 1rem);
}

body {
    min-height: 100vh;
    margin: 0;
    overflow-x: clip;
    color: var(--site-text);
    background: var(--site-dark);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-synthesis: none;
    line-height: 1.7;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html.menu-open,
body.menu-open {
    overflow: hidden;
    overscroll-behavior: none;
}

main,
section,
article,
header,
footer,
nav,
div {
    min-width: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
    margin-top: 0;
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

img,
video {
    height: auto;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    border: 0;
}

button,
[role="button"] {
    -webkit-tap-highlight-color: transparent;
}

[hidden] {
    display: none;
}

.container {
    width: min(100%, var(--site-container));
    max-width: var(--site-container);
    margin-inline: auto;
    padding-inline: var(--site-gutter);
}

a {
    color: inherit;
    text-decoration: none;
    text-underline-offset: 0.2em;
}

a:hover {
    text-decoration-color: currentColor;
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
summary:focus-visible {
    outline: 0.1875rem solid rgba(54, 207, 201, 0.82);
    outline-offset: 0.1875rem;
}

a:active,
button:active {
    opacity: 0.82;
}

a[aria-disabled="true"],
a.disabled,
.disabled > a,
button:disabled,
button[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.48;
    pointer-events: none;
}

::selection {
    color: #fff;
    background: rgba(22, 93, 255, 0.72);
}

.skip-link {
    position: fixed;
    top: 0.5rem;
    left: 0.75rem;
    z-index: 1200;
    padding: 0.65rem 1rem;
    border-radius: var(--site-radius-sm);
    color: var(--site-darker);
    background: var(--site-accent);
    box-shadow: var(--site-shadow);
    transform: translateY(-180%);
    transition: transform 0.2s ease;
}

.skip-link:focus-visible {
    transform: translateY(0);
}
.fa {
    display: inline-flex;
    width: 1.25em;
    height: 1.25em;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: inherit;
    font-style: normal;
    line-height: 1;
    vertical-align: -0.15em;
}

.fa::before {
    display: block;
    width: 1em;
    height: 1em;
    content: "";
    background-color: currentColor;
    -webkit-mask-image: var(--fa-icon);
    mask-image: var(--fa-icon);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.fa-gamepad { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNNi41IDhoMTFhNC41IDQuNSAwIDAgMSA0LjMgNS44bC0uNyAyLjJhMyAzIDAgMCAxLTQuOSAxLjNMMTQuOCAxNkg5LjJsLTEuNCAxLjNBMyAzIDAgMCAxIDIuOSAxNmwtLjctMi4yQTQuNSA0LjUgMCAwIDEgNi41IDhaIi8+PHBhdGggZD0iTTcgMTF2NE01IDEzaDQiLz48Y2lyY2xlIGN4PSIxNi41IiBjeT0iMTIiIHI9Ii44IiBmaWxsPSJibGFjayIgc3Ryb2tlPSJub25lIi8+PGNpcmNsZSBjeD0iMTguNSIgY3k9IjE0IiByPSIuOCIgZmlsbD0iYmxhY2siIHN0cm9rZT0ibm9uZSIvPjwvc3ZnPg=="); }
.fa-download { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNMTIgM3YxMSIvPjxwYXRoIGQ9Im03IDEwIDUgNSA1LTUiLz48cGF0aCBkPSJNNSAyMWgxNGEyIDIgMCAwIDAgMi0ydi0zTTMgMTZ2M2EyIDIgMCAwIDAgMiAyIi8+PC9zdmc+"); }
.fa-user-plus { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSI5IiBjeT0iNyIgcj0iNCIvPjxwYXRoIGQ9Ik0yIDIxYTcgNyAwIDAgMSAxNCAwIi8+PHBhdGggZD0iTTE5IDh2Nk0xNiAxMWg2Ii8+PC9zdmc+"); }
.fa-qq { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNNyAxOGMtMS41IDEtMi41IDEuNS00IDEuNS44LTEuMSAxLjMtMi4yIDEuNS0zLjVBOCA4IDAgMSAxIDggMTkiLz48Y2lyY2xlIGN4PSI5IiBjeT0iMTEiIHI9IjEiIGZpbGw9ImJsYWNrIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxNSIgY3k9IjExIiByPSIxIiBmaWxsPSJibGFjayIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0iTTkgMTVjMS44IDEuMiA0LjIgMS4yIDYgMCIvPjwvc3ZnPg=="); }
.fa-tag { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNMjAgMTMgMTEgMjJsLTktOVY0YTIgMiAwIDAgMSAyLTJoOVoiLz48Y2lyY2xlIGN4PSI3IiBjeT0iNyIgcj0iMS41Ii8+PC9zdmc+"); }
.fa-calendar { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHJ4PSIyIi8+PHBhdGggZD0iTTE2IDN2NE04IDN2NE0zIDEwaDE4Ii8+PHBhdGggZD0iTTggMTRoLjAxTTEyIDE0aC4wMU0xNiAxNGguMDFNOCAxOGguMDFNMTIgMThoLjAxIi8+PC9zdmc+"); }
.fa-user { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjQiLz48cGF0aCBkPSJNNCAyMWE4IDggMCAwIDEgMTYgMCIvPjwvc3ZnPg=="); }
.fa-bar-chart { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNNCAyMFYxME0xMCAyMFY0TTE2IDIwdi03TTIyIDIwSDIiLz48L3N2Zz4="); }
.fa-crosshairs { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI3Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMiIvPjxwYXRoIGQ9Ik0xMiAydjNNMTIgMTl2M00yIDEyaDNNMTkgMTJoMyIvPjwvc3ZnPg=="); }
.fa-bullseye { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNSIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEuNSIgZmlsbD0iYmxhY2siIHN0cm9rZT0ibm9uZSIvPjwvc3ZnPg=="); }
.fa-map-o { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJtMyA2IDUtMiA4IDIgNS0ydjE0bC01IDItOC0yLTUgMloiLz48cGF0aCBkPSJNOCA0djE0TTE2IDZ2MTQiLz48L3N2Zz4="); }
.fa-users { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSI5IiBjeT0iOCIgcj0iMyIvPjxwYXRoIGQ9Ik0zIDIwYTYgNiAwIDAgMSAxMiAwIi8+PGNpcmNsZSBjeD0iMTciIGN5PSI5IiByPSIyLjUiLz48cGF0aCBkPSJNMTUuNSAxNC41QTUgNSAwIDAgMSAyMiAxOSIvPjwvc3ZnPg=="); }
.fa-cloud-download { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNNyAxOEg2YTQgNCAwIDAgMS0uNi04QTYuNSA2LjUgMCAwIDEgMTggOC41IDQuNSA0LjUgMCAwIDEgMTguNSAxOEgxNyIvPjxwYXRoIGQ9Ik0xMiAxMHYxME04LjUgMTYuNSAxMiAyMGwzLjUtMy41Ii8+PC9zdmc+"); }
.fa-check { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJtNCAxMiA1IDVMMjAgNiIvPjwvc3ZnPg=="); }
.fa-headphones { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNNCAxNHYtMmE4IDggMCAwIDEgMTYgMHYyIi8+PHBhdGggZD0iTTQgMTRhMiAyIDAgMCAxIDItMmgxdjdINmEyIDIgMCAwIDEtMi0yWk0yMCAxNGEyIDIgMCAwIDAtMi0yaC0xdjdoMWEyIDIgMCAwIDAgMi0yWiIvPjwvc3ZnPg=="); }
.fa-life-ring { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNCIvPjxwYXRoIGQ9Im01LjYgNS42IDMuNiAzLjZNMTQuOCAxNC44bDMuNiAzLjZNMTguNCA1LjZsLTMuNiAzLjZNOS4yIDE0LjhsLTMuNiAzLjYiLz48L3N2Zz4="); }
.fa-angle-double-right { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJtNyA2IDYgNi02IDZNMTMgNmw2IDYtNiA2Ii8+PC9zdmc+"); }
.fa-angle-right { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJtOSA2IDYgNi02IDYiLz48L3N2Zz4="); }
.fa-arrow-right { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNNSAxMmgxNE0xMyA2bDYgNi02IDYiLz48L3N2Zz4="); }
.fa-chevron-down { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJtNiA5IDYgNiA2LTYiLz48L3N2Zz4="); }
.fa-chevron-up { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJtNiAxNSA2LTYgNiA2Ii8+PC9zdmc+"); }
.fa-home { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJtMyAxMSA5LTggOSA4Ii8+PHBhdGggZD0iTTUgMTB2MTBoMTRWMTBNOSAyMHYtNmg2djYiLz48L3N2Zz4="); }
.fa-folder-o { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNMyA2YTIgMiAwIDAgMSAyLTJoNWwyIDJoN2EyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yWiIvPjwvc3ZnPg=="); }
.fa-info-circle { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ii8+PHBhdGggZD0iTTEyIDExdjZNMTIgN2guMDEiLz48L3N2Zz4="); }
.fa-star { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiA+PHBhdGggZD0ibTEyIDIuOCAyLjggNS43IDYuMy45LTQuNSA0LjQgMS4xIDYuMi01LjctMy01LjcgMyAxLjEtNi4yLTQuNS00LjQgNi4zLS45WiIvPjwvc3ZnPg=="); }
.fa-star-o { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJtMTIgMi44IDIuOCA1LjcgNi4zLjktNC41IDQuNCAxLjEgNi4yLTUuNy0zLTUuNyAzIDEuMS02LjItNC41LTQuNCA2LjMtLjlaIi8+PC9zdmc+"); }
.fa-star-half-o { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48ZGVmcz48Y2xpcFBhdGggaWQ9ImgiPjxyZWN0IHdpZHRoPSIxMiIgaGVpZ2h0PSIyNCIvPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Im0xMiAyLjggMi44IDUuNyA2LjMuOS00LjUgNC40IDEuMSA2LjItNS43LTMtNS43IDMgMS4xLTYuMi00LjUtNC40IDYuMy0uOVoiLz48cGF0aCBkPSJtMTIgMi44IDIuOCA1LjcgNi4zLjktNC41IDQuNCAxLjEgNi4yLTUuNy0zLTUuNyAzIDEuMS02LjItNC41LTQuNCA2LjMtLjlaIiBmaWxsPSJibGFjayIgc3Ryb2tlPSJub25lIiBjbGlwLXBhdGg9InVybCgjaCkiLz48L3N2Zz4="); }
.fa-weibo { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSI1Ii8+PHBhdGggZD0iTTggOGM0LTMgOS0yIDEwIDJNMTQgNGMzIDAgNiAyIDYgNSIvPjxjaXJjbGUgY3g9IjExIiBjeT0iMTIiIHI9IjEiIGZpbGw9ImJsYWNrIiBzdHJva2U9Im5vbmUiLz48L3N2Zz4="); }
.fa-wechat { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cGF0aCBkPSJNNCAxNWMtMS4yLTEtMi0yLjQtMi00IDAtMy4zIDMuMS02IDctNnM3IDIuNyA3IDYtMy4xIDYtNyA2Yy0xIDAtMi0uMi0yLjgtLjVMMyAxOGwxLTNaIi8+PHBhdGggZD0iTTEzIDE3Yy44IDEuOCAyLjggMyA1LjIgMyAuOCAwIDEuNi0uMSAyLjItLjRMMjIgMjFsLS41LTIuMkE1IDUgMCAwIDAgMjMgMTVjMC0yLjctMi41LTUtNS41LTUtLjYgMC0xLjEuMS0xLjYuMiIvPjxjaXJjbGUgY3g9IjciIGN5PSIxMCIgcj0iLjgiIGZpbGw9ImJsYWNrIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxMSIgY3k9IjEwIiByPSIuOCIgZmlsbD0iYmxhY2siIHN0cm9rZT0ibm9uZSIvPjwvc3ZnPg=="); }
.fa-play-circle { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ii8+PHBhdGggZD0ibTEwIDggNiA0LTYgNFoiIGZpbGw9ImJsYWNrIiBzdHJva2U9Im5vbmUiLz48L3N2Zz4="); }
.fa-calendar-o { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHJ4PSIyIi8+PHBhdGggZD0iTTE2IDN2NE04IDN2NE0zIDEwaDE4Ii8+PHBhdGggZD0iTTggMTRoLjAxTTEyIDE0aC4wMU0xNiAxNGguMDFNOCAxOGguMDFNMTIgMThoLjAxIi8+PC9zdmc+"); }
.fa-user-o { --fa-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiID48Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjQiLz48cGF0aCBkPSJNNCAyMWE4IDggMCAwIDEgMTYgMCIvPjwvc3ZnPg=="); }
.text-shadow {
    text-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.5);
}

.text-glow {
    text-shadow: 0 0 0.625rem rgba(22, 93, 255, 0.7);
}

.bg-gradient-gaming {
    background: linear-gradient(135deg, var(--site-dark) 0%, var(--site-darker) 100%);
}

.transition-ui {
    transition-property: color, background-color, border-color, box-shadow, opacity, transform, visibility;
    transition-duration: 0.25s;
    transition-timing-function: ease;
}

.focus-ring:focus-visible {
    outline: 0.1875rem solid rgba(54, 207, 201, 0.82);
    outline-offset: -0.1875rem;
}

.performance-bar {
    max-width: 100%;
}

.performance-bar-72 { width: 72%; }
.performance-bar-45 { width: 45%; }
.performance-bar-38 { width: 38%; }
.performance-bar-52 { width: 52%; }
.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    min-height: var(--site-header-height);
    border-bottom: 1px solid rgba(78, 89, 105, 0.25);
    background: rgba(29, 33, 41, 0.78);
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(0.625rem);
    transition: min-height 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.site-header.is-compact {
    min-height: 4.1rem;
    background: rgba(18, 24, 38, 0.96);
    box-shadow: 0 0.35rem 1.25rem rgba(0, 0, 0, 0.3);
}

.header-inner {
    display: flex;
    min-height: inherit;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.site-brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.55rem;
    color: #fff;
    font-weight: 800;
}

.site-brand:hover {
    color: #fff;
}

.brand-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.625rem;
    color: var(--site-primary);
    background: rgba(22, 93, 255, 0.12);
    font-size: 1.4rem;
}

.brand-name {
    min-width: 0;
    overflow: hidden;
    font-family: Rajdhani, Inter, system-ui, sans-serif;
    font-size: clamp(1.1rem, 0.95rem + 0.55vw, 1.35rem);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brand-name span {
    color: var(--site-secondary);
}

.desktop-nav {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: clamp(0.75rem, 2vw, 2rem);
}

.nav-link {
    position: relative;
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    padding: 0.45rem 0.1rem;
    color: var(--site-muted);
    font-weight: 600;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.nav-link::after {
    position: absolute;
    right: 0;
    bottom: 0.2rem;
    left: 0;
    height: 0.125rem;
    border-radius: 999rem;
    content: "";
    background: var(--site-accent);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
}

.nav-link:hover,
.nav-link:focus-visible {
    color: #fff;
}

.nav-link:hover::after,
.nav-link:focus-visible::after {
    transform: scaleX(1);
}

.nav-link:active {
    color: var(--site-accent);
}

.menu-button {
    position: relative;
    z-index: 1004;
    display: none;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    border: 1px solid rgba(54, 207, 201, 0.3);
    border-radius: 0.625rem;
    cursor: pointer;
    background: rgba(54, 207, 201, 0.08);
}

.menu-button-icon,
.menu-button-icon::before,
.menu-button-icon::after {
    position: absolute;
    left: 50%;
    width: 1.35rem;
    height: 0.125rem;
    border-radius: 999rem;
    background: var(--site-accent);
    transform: translateX(-50%);
    transition: top 0.2s ease, transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.menu-button-icon {
    top: 50%;
    transform: translate(-50%, -50%);
}

.menu-button-icon::before,
.menu-button-icon::after {
    content: "";
}

.menu-button-icon::before { top: -0.45rem; }
.menu-button-icon::after { top: 0.45rem; }

.menu-button.is-open .menu-button-icon {
    background: transparent;
}

.menu-button.is-open .menu-button-icon::before,
.menu-button.is-open .menu-button-icon::after {
    top: 0;
    background: #fff;
}

.menu-button.is-open .menu-button-icon::before {
    transform: translateX(-50%) rotate(45deg);
}

.menu-button.is-open .menu-button-icon::after {
    transform: translateX(-50%) rotate(-45deg);
}

.menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1001;
    visibility: hidden;
    background: rgba(4, 8, 18, 0.7);
    opacity: 0;
    pointer-events: none;
    backdrop-filter: blur(0.125rem);
    transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}

.menu-backdrop.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
}

.mobile-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1003;
    display: none;
    width: min(78vw, 24rem);
    height: 100dvh;
    flex-direction: column;
    overflow: hidden;
    border-left: 1px solid rgba(54, 207, 201, 0.24);
    background: linear-gradient(180deg, #111b2e 0%, #0a1220 100%);
    box-shadow: -1.25rem 0 3rem rgba(0, 0, 0, 0.35);
    transform: translateX(105%);
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-drawer.is-open {
    transform: translateX(0);
}

.mobile-drawer-header {
    display: flex;
    min-height: var(--site-header-height);
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem 0.75rem 1.25rem;
    border-bottom: 1px solid rgba(54, 207, 201, 0.18);
}

.mobile-drawer-title {
    color: #fff;
    font-size: 1.05rem;
    font-weight: 800;
}

.drawer-close {
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 2.5rem;
    border-radius: 0.55rem;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.06);
}

.drawer-close span::before,
.drawer-close span::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.25rem;
    height: 0.125rem;
    border-radius: 999rem;
    content: "";
    background: #fff;
}

.drawer-close span::before { transform: translate(-50%, -50%) rotate(45deg); }
.drawer-close span::after { transform: translate(-50%, -50%) rotate(-45deg); }

.mobile-nav-list {
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    grid-auto-rows: minmax(3.35rem, 1fr);
    align-content: stretch;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0;
    scrollbar-color: rgba(54, 207, 201, 0.45) transparent;
    scrollbar-width: thin;
}

.mobile-nav-link {
    display: flex;
    width: 100%;
    min-height: 3.35rem;
    height: 100%;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid rgba(78, 89, 105, 0.22);
    color: var(--site-muted);
    font-weight: 650;
    text-align: left;
    overflow-wrap: anywhere;
    transition: color 0.2s ease, background-color 0.2s ease, padding-left 0.2s ease;
}

.mobile-nav-link .fa {
    width: 1.25rem;
    color: var(--site-accent);
}

.mobile-nav-link:hover,
.mobile-nav-link:focus-visible {
    padding-left: 1.45rem;
    color: #fff;
    background: rgba(22, 93, 255, 0.12);
}
.carousel-item {
    position: absolute;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s ease, visibility 0s linear 0.6s;
}

.carousel-item.active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition-delay: 0s;
}

.carousel-indicators .indicator {
    border: 0;
    cursor: pointer;
}

.carousel-indicators .indicator.active {
    width: 1.5rem;
    border-radius: 0.375rem;
    background-color: #fff;
}

#play-pause.is-paused svg {
    transform: rotate(90deg);
}

.faq-toggle {
    appearance: none;
    border: 0;
    color: #fff;
    background: transparent;
    cursor: pointer;
    font: inherit;
}

.faq-toggle > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.faq-toggle:hover,
.faq-toggle:focus-visible,
.faq-toggle[aria-expanded="true"] {
    color: #fff;
    background: rgba(22, 93, 255, 0.1);
}

.faq-toggle .fa-chevron-down {
    transition: transform 0.2s ease;
}

.faq-toggle .fa-chevron-down.is-rotated {
    transform: rotate(180deg);
}

.faq-content {
    padding-top: 1rem;
    border-top: 1px solid rgba(78, 89, 105, 0.28);
    color: var(--site-muted);
    background: rgba(10, 15, 28, 0.48);
}

.faq-content p:last-child {
    margin-bottom: 0;
}

#performanceChart {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 17.5rem;
}

#backToTop {
    pointer-events: none;
}

#backToTop.is-visible {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.support-widget {
    max-width: min(20rem, calc(100vw - 2rem));
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0s;
}

@media (max-width: 47.99rem) {
    .support-widget.is-near-footer {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(0.75rem);
        transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
    }
}

.support-card {
    max-width: 100%;
}
.site-footer {
    border-top: 1px solid rgba(78, 89, 105, 0.28);
    background: var(--site-dark);
}

.footer-inner {
    padding-block: 3rem 1.5rem;
    text-align: center;
}

.footer-about {
    max-width: 42rem;
    margin-inline: auto;
}

.footer-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    margin-bottom: 1rem;
    color: #fff;
    font-family: Rajdhani, Inter, system-ui, sans-serif;
    font-size: clamp(1.05rem, 0.95rem + 0.45vw, 1.3rem);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.footer-brand-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.625rem;
    color: var(--site-primary);
    background: rgba(22, 93, 255, 0.12);
}

.footer-brand-accent {
    color: var(--site-secondary);
}

.footer-about p {
    margin-bottom: 1.25rem;
    color: var(--site-muted);
}

.social-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

.social-link {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--site-border);
    border-radius: 50%;
    color: var(--site-muted);
    background: rgba(255, 255, 255, 0.03);
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.social-link:hover,
.social-link:focus-visible {
    color: #fff;
    border-color: var(--site-primary);
    background: rgba(22, 93, 255, 0.14);
    transform: translateY(-0.125rem);
}

.copyright {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(78, 89, 105, 0.24);
}

.copyright p {
    margin: 0;
    color: var(--site-muted);
    font-size: 0.875rem;
    overflow-wrap: anywhere;
}
.inner-main {
    min-height: 65vh;
}

.inner-page {
    padding-block: calc(var(--site-header-height) + clamp(2.5rem, 5vw, 4rem)) clamp(4rem, 7vw, 6rem);
    background:
        radial-gradient(circle at 18% 10%, rgba(22, 93, 255, 0.08), transparent 30rem),
        linear-gradient(180deg, var(--site-darker), var(--site-dark));
}

.breadcrumb {
    display: flex;
    width: 100%;
    min-height: 3.25rem;
    align-items: center;
    margin-bottom: clamp(2rem, 4vw, 3rem);
    padding: 0.75rem 1rem;
    border: 1px solid var(--site-border);
    border-radius: var(--site-radius-sm);
    background: rgba(29, 33, 41, 0.72);
    box-shadow: 0 0.35rem 1.2rem rgba(0, 0, 0, 0.12);
}

.breadcrumb ol {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.55rem;
    list-style: none;
}

.breadcrumb li {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.35rem;
    color: var(--site-muted);
    font-size: 0.925rem;
    overflow-wrap: anywhere;
}

.breadcrumb li:not(:last-child)::after {
    margin-left: 0.55rem;
    color: var(--site-muted-dark);
    content: "/";
}

.breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--site-muted);
    transition: color 0.2s ease;
}

.breadcrumb a:hover,
.breadcrumb a:focus-visible {
    color: var(--site-primary);
}

.breadcrumb a:active {
    color: var(--site-accent);
}

.breadcrumb [aria-current="page"] {
    color: #fff;
}

.page-heading {
    max-width: 54rem;
    margin: 0 auto clamp(2.5rem, 5vw, 4rem);
    text-align: center;
}

.page-heading h1,
.article-header h1 {
    margin-bottom: 1rem;
    color: #fff;
    font-family: Rajdhani, Inter, system-ui, sans-serif;
    font-size: clamp(1.9rem, 1.35rem + 2.25vw, 3.25rem);
    font-weight: 800;
    line-height: 1.2;
    text-shadow: 0 0 0.625rem rgba(22, 93, 255, 0.55);
    overflow-wrap: anywhere;
}

.page-heading p {
    margin-bottom: 0;
    color: var(--site-muted);
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.1rem);
}

.article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.25rem, 2.5vw, 2rem);
    list-style: none;
}

.article-grid > li {
    min-width: 0;
}

.article-card {
    display: flex;
    min-height: 20rem;
    height: 100%;
    flex-direction: column;
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    border: 1px solid var(--site-border);
    border-radius: var(--site-radius);
    background: var(--site-panel);
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.14);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.article-card:hover,
.article-card:focus-within {
    border-color: var(--site-border-strong);
    box-shadow: var(--site-shadow);
    transform: translateY(-0.2rem);
}

.article-card h2 {
    margin-bottom: 1rem;
    color: #fff;
    font-size: clamp(1.2rem, 1.08rem + 0.45vw, 1.45rem);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.article-card h2 a {
    color: inherit;
    transition: color 0.2s ease;
}

.article-card h2 a:hover,
.article-card h2 a:focus-visible {
    color: var(--site-primary);
}

.article-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 1rem;
    margin-bottom: 1rem;
    color: var(--site-muted);
    font-size: 0.875rem;
}

.article-card-meta > span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.4rem;
}

.article-card-meta > span:last-child {
    gap: 0.35rem;
}

.article-card-meta > span:last-child .fa {
    color: #8fb2ff;
}

.article-card-meta > span:last-child a {
    display: inline-flex;
    min-height: 1.55rem;
    align-items: center;
    padding: 0.08rem 0.42rem;
    border: 1px solid rgba(22, 93, 255, 0.28);
    border-radius: 999rem;
    color: #8fb2ff;
    background: rgba(22, 93, 255, 0.1);
    font-size: 0.9rem;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.article-card-meta > span:last-child a:hover,
.article-card-meta > span:last-child a:focus-visible {
    color: #fff;
    border-color: rgba(54, 207, 201, 0.58);
    background: rgba(22, 93, 255, 0.2);
}

.article-card-meta > span:last-child a:active {
    color: #dbe7ff;
    border-color: rgba(22, 93, 255, 0.72);
    background: rgba(22, 93, 255, 0.28);
}

.article-card p {
    display: -webkit-box;
    margin-bottom: 1.25rem;
    overflow: hidden;
    color: var(--site-muted);
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.read-more {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.45rem;
    margin-top: auto;
    color: var(--site-primary);
    font-weight: 700;
    transition: color 0.2s ease, transform 0.2s ease;
}

.read-more:hover,
.read-more:focus-visible {
    color: var(--site-accent);
    transform: translateX(0.2rem);
}

.read-more:active {
    color: var(--site-primary-dark);
    transform: translateX(0);
}
.pagination,
.pagination > :is(div, p, ul, ol),
ul.page {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.pagination,
ul.page {
    --pagination-control-size: 2.75rem;
}

.pagination {
    width: 100%;
    margin-top: 3rem;
}

.pagination > :is(div, p, ul, ol),
ul.page {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pagination li,
ul.page > li {
    display: flex;
    height: var(--pagination-control-size);
    align-items: center;
    margin: 0;
    list-style: none;
}

.pagination .pagination-control,
ul.page .pagination-control,
.pagination > :is(a, span, strong, em),
.pagination > :is(div, p) > :is(a, span, strong, em),
.pagination > li > :is(a, span, strong, em),
.pagination > :is(ul, ol) > li > :is(a, span, strong, em),
ul.page > li > :is(a, span, strong, em) {
    display: inline-flex;
    width: var(--pagination-control-size);
    min-width: var(--pagination-control-size);
    max-width: var(--pagination-control-size);
    height: var(--pagination-control-size);
    min-height: var(--pagination-control-size);
    max-height: var(--pagination-control-size);
    flex: 0 0 var(--pagination-control-size);
    align-self: center;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 1px solid var(--site-border);
    border-radius: var(--site-radius-sm);
    color: var(--site-muted);
    background: rgba(29, 33, 41, 0.9);
    font-family: Inter, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

:is(.pagination, ul.page) :is(.pagination-prev, .pagination-next) {
    overflow: hidden;
    color: var(--site-muted);
    font-size: 0;
    text-indent: 0;
}

:is(.pagination, ul.page) :is(.pagination-prev, .pagination-next) > * {
    display: none;
}

:is(.pagination, ul.page) :is(.pagination-prev, .pagination-next)::before {
    display: block;
    width: 0.52rem;
    height: 0.52rem;
    border-style: solid;
    border-color: currentColor;
    border-width: 0.14rem 0.14rem 0 0;
    content: "";
}

:is(.pagination, ul.page) .pagination-prev::before {
    transform: translateX(0.08rem) rotate(-135deg);
}

:is(.pagination, ul.page) .pagination-next::before {
    transform: translateX(-0.08rem) rotate(45deg);
}

:is(.pagination, ul.page) a:hover,
:is(.pagination, ul.page) a:focus-visible {
    color: #fff;
    border-color: var(--site-primary);
    background: rgba(22, 93, 255, 0.18);
    transform: translateY(-0.1rem);
}

:is(.pagination, ul.page) a:active {
    color: #fff;
    background: var(--site-primary-dark);
    transform: translateY(0);
}

:is(.pagination, ul.page) :is(
    .pagination-control[aria-current="page"],
    .pagination-control.pagination-current,
    .pagination-control.active,
    .pagination-control.current,
    .active > .pagination-control,
    .current > .pagination-control
) {
    color: #fff;
    border-color: #4d7dff;
    background: linear-gradient(180deg, #2f6bff 0%, var(--site-primary) 100%);
    box-shadow: 0 0.5rem 1.2rem rgba(22, 93, 255, 0.34), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
    font-weight: 800;
}

:is(.pagination, ul.page) :is(
    .pagination-control.disabled,
    .pagination-control[aria-disabled="true"],
    .disabled > .pagination-control
) {
    cursor: not-allowed;
    opacity: 0.46;
    pointer-events: none;
}

.content-card {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(1.35rem, 3.25vw, 3rem);
    border: 1px solid var(--site-border);
    border-radius: var(--site-radius);
    background: var(--site-panel);
    box-shadow: var(--site-shadow);
}

.article-header {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--site-border);
    text-align: center;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.7rem 1.4rem;
    margin-bottom: 1.75rem;
    color: var(--site-muted);
}

.article-meta > span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.45rem;
    overflow-wrap: anywhere;
}

.article-meta .fa {
    color: var(--site-primary);
}

.article-summary {
    padding: clamp(1.1rem, 2.3vw, 1.5rem);
    border-left: 0.25rem solid var(--site-primary);
    border-radius: 0 var(--site-radius-sm) var(--site-radius-sm) 0;
    background: var(--site-darker);
    text-align: left;
}

.summary-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 800;
}

.summary-title .fa {
    width: 1.35rem;
    height: 1.35rem;
    border: 1px solid var(--site-primary);
    border-radius: 50%;
    color: var(--site-primary);
    font-size: 0.8rem;
}

.summary-content p:last-child {
    margin-bottom: 0;
}
.article-body {
    max-width: 100%;
    color: var(--site-muted);
    font-size: clamp(1rem, 0.97rem + 0.15vw, 1.075rem);
    line-height: 1.82;
    text-align: left;
    overflow-wrap: anywhere;
    word-break: normal;
}

.article-body p,
.article-body ul,
.article-body ol,
.article-body figure,
.article-body table,
.article-body blockquote,
.article-body pre,
.article-body details {
    margin-top: 0;
    margin-bottom: 1.35rem;
}

.article-body p {
    color: var(--site-muted);
}

.article-body h1,
.article-body h2,
.article-body h3,
.article-body h4,
.article-body h5,
.article-body h6 {
    margin: 2rem 0 0.9rem;
    color: #fff;
    font-weight: 800;
    line-height: 1.3;
    text-align: left;
    overflow-wrap: anywhere;
}

.article-body h1:first-child,
.article-body h2:first-child,
.article-body h3:first-child,
.article-body h4:first-child,
.article-body h5:first-child,
.article-body h6:first-child {
    margin-top: 0;
}

.article-body h1 { font-size: clamp(1.75rem, 1.35rem + 1.7vw, 2.7rem); }
.article-body h2 { font-size: clamp(1.5rem, 1.22rem + 1.15vw, 2.15rem); }
.article-body h3 { font-size: clamp(1.3rem, 1.13rem + 0.7vw, 1.7rem); }
.article-body h4 { font-size: 1.25rem; }
.article-body h5 { font-size: 1.1rem; }
.article-body h6 { font-size: 1rem; letter-spacing: 0.02em; }

.article-body strong {
    color: #fff;
    font-weight: 800;
}

.article-body em {
    font-style: italic;
}

.article-body mark {
    padding: 0.08em 0.28em;
    border-radius: 0.2rem;
    color: #fff;
    background: rgba(22, 93, 255, 0.42);
}

.article-body ul,
.article-body ol {
    padding-left: 1.75rem;
    color: var(--site-muted);
    list-style-position: outside;
}

.article-body ul { list-style-type: disc; }
.article-body ol { list-style-type: decimal; }

.article-body li {
    margin-bottom: 0.5rem;
    padding-left: 0.1rem;
}

.article-body li::marker {
    color: var(--site-primary);
}

.article-body li > ul,
.article-body li > ol {
    margin: 0.5rem 0;
}

.article-body img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1.5rem auto;
    border-radius: var(--site-radius-sm);
}

.article-body figure {
    max-width: 100%;
    margin-inline: 0;
    overflow-x: auto;
}

.article-body figure img {
    margin-bottom: 0;
}

.article-body figcaption {
    margin-top: 0.65rem;
    color: var(--site-muted-dark);
    font-size: 0.9rem;
    line-height: 1.55;
    text-align: center;
}

.article-body table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    border-spacing: 0;
    -webkit-overflow-scrolling: touch;
}

.article-body caption {
    margin-bottom: 0.7rem;
    color: #fff;
    font-weight: 700;
    text-align: left;
}

.article-body thead {
    background: rgba(22, 93, 255, 0.08);
}

.article-body tbody {
    background: transparent;
}

.article-body tr {
    border-color: rgba(255, 255, 255, 0.14);
}

.article-body th,
.article-body td {
    min-width: 8rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    text-align: left;
    vertical-align: top;
}

.article-body th {
    color: #fff;
    font-weight: 800;
}

.article-body td {
    color: var(--site-muted);
}

.article-body blockquote {
    padding: 1rem 1.2rem;
    border-left: 0.25rem solid var(--site-primary);
    border-radius: 0 var(--site-radius-sm) var(--site-radius-sm) 0;
    color: #d8dce3;
    background: rgba(255, 255, 255, 0.05);
}

.article-body blockquote > :last-child {
    margin-bottom: 0;
}

.article-body cite {
    display: block;
    margin-top: 0.7rem;
    color: var(--site-muted-dark);
    font-size: 0.9rem;
    font-style: normal;
}

.article-body code,
.article-body pre,
.article-body kbd {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.article-body code {
    padding: 0.12em 0.35em;
    border-radius: 0.3rem;
    color: #e5e6eb;
    background: rgba(255, 255, 255, 0.09);
    font-size: 0.9em;
    overflow-wrap: anywhere;
}

.article-body pre {
    max-width: 100%;
    padding: 1rem;
    overflow-x: auto;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--site-radius-sm);
    color: #e5e6eb;
    background: #080d18;
    line-height: 1.65;
    -webkit-overflow-scrolling: touch;
}

.article-body pre code {
    display: block;
    min-width: max-content;
    padding: 0;
    color: inherit;
    background: transparent;
    white-space: pre;
    word-break: normal;
    overflow-wrap: normal;
}

.article-body kbd {
    display: inline-block;
    padding: 0.12em 0.42em;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-bottom-width: 0.15rem;
    border-radius: 0.3rem;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.88em;
}

.article-body details {
    padding: 0.95rem 1.05rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--site-radius-sm);
    background: rgba(255, 255, 255, 0.04);
}

.article-body summary {
    color: #fff;
    cursor: pointer;
    font-weight: 800;
}

.article-body details[open] summary {
    margin-bottom: 0.8rem;
}

.article-body details > :last-child {
    margin-bottom: 0;
}

.article-body abbr[title] {
    cursor: help;
    text-decoration: underline dotted;
    text-underline-offset: 0.16em;
}

.article-body time {
    color: var(--site-muted);
    font-variant-numeric: tabular-nums;
}

.article-body a {
    color: #7aa2ff;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.article-body a:visited {
    color: #9eb9ff;
}

.article-body a:hover,
.article-body a:focus-visible {
    color: #afc6ff;
}

.article-body a:active {
    color: var(--site-accent);
}

.article-body a[aria-disabled="true"],
.article-body a.disabled {
    cursor: not-allowed;
    opacity: 0.48;
    pointer-events: none;
}

.article-navigation {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid var(--site-border);
}

.article-nav-item {
    min-width: 0;
}

.article-nav-next {
    text-align: right;
}

.article-nav-card {
    display: block;
    min-height: 5.25rem;
    padding: 1rem;
    border: 1px solid transparent;
    border-radius: var(--site-radius-sm);
    color: #fff;
    background: var(--site-darker);
    overflow-wrap: anywhere;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

a.article-nav-card:hover,
a.article-nav-card:focus-visible {
    color: var(--site-primary);
    border-color: var(--site-border-strong);
    background: rgba(10, 15, 28, 0.86);
    transform: translateY(-0.1rem);
}

a.article-nav-card:active {
    color: var(--site-accent);
    transform: translateY(0);
}

.article-nav-label {
    display: block;
    margin-bottom: 0.3rem;
    color: var(--site-muted-dark);
    font-size: 0.875rem;
}

@media (max-width: 64rem) {
    .article-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 47.99rem) {
    :root {
        --site-header-height: 4.25rem;
    }

    .desktop-nav {
        display: none;
    }

    .menu-button,
    .mobile-drawer {
        display: flex;
    }

    .header-inner {
        gap: 0.65rem;
    }

    .site-brand {
        max-width: calc(100% - 3.5rem);
    }

    .brand-name {
        font-size: 1.08rem;
    }

    .article-grid {
        grid-template-columns: 1fr;
    }

    .article-navigation {
        grid-template-columns: 1fr;
    }

    .article-nav-next {
        text-align: left;
    }

    .article-meta {
        align-items: flex-start;
        justify-content: flex-start;
        text-align: left;
    }

    .article-header {
        text-align: left;
    }

    .content-card {
        padding: 1.15rem;
    }

    .breadcrumb {
        margin-bottom: 1.5rem;
        padding: 0.7rem 0.8rem;
    }

    .support-widget {
        right: 1rem;
        bottom: 1rem;
        left: 1rem;
        max-width: none;
    }

    #backToTop {
        right: 1rem;
        bottom: 1rem;
    }

    .support-widget + #backToTop {
        bottom: 8.5rem;
    }
}

@media (max-width: 30rem) {
    .mobile-drawer {
        width: min(78vw, 22rem);
    }

    .article-card-meta {
        flex-direction: column;
        gap: 0.4rem;
    }

    .pagination,
    ul.page {
        --pagination-control-size: 2.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .skip-link,
    .site-header,
    .nav-link,
    .nav-link::after,
    .menu-button-icon,
    .menu-button-icon::before,
    .menu-button-icon::after,
    .menu-backdrop,
    .mobile-drawer,
    .mobile-nav-link,
    .carousel-item,
    .faq-toggle .fa-chevron-down,
    .article-card,
    .read-more,
    .article-nav-card,
    .social-link,
    .transition-ui {
        transition-duration: 0.01ms;
    }
}
#features {
    margin-top: 0;
    padding-top: 0;
}
.bg-gradient-gaming > .absolute.bottom-0.left-0 {
    bottom: -0.125rem;
    line-height: 0;
}

.bg-gradient-gaming > .absolute.bottom-0.left-0 > svg {
    display: block;
    width: 100%;
    height: auto;
}
#pricing > .container > .mt-16.max-w-3xl h3,
#pricing > .container > .mt-16.max-w-3xl h4 {
    margin-top: 0;
    color: #fff;
    font-family: var(--font-sans);
    font-style: normal;
    font-synthesis: none;
    letter-spacing: 0;
    line-height: 1.45;
    text-shadow: none;
    text-rendering: optimizeLegibility;
}
#pricing > .container > .grid.max-w-5xl {
    width: 100%;
    max-width: 80rem;
    align-items: stretch;
    gap: clamp(1.25rem, 2.2vw, 1.8rem);
}

#tutorial > .container > .grid.max-w-5xl {
    width: 100%;
    max-width: 80rem;
}

#pricing > .container > .mt-16.max-w-3xl {
    width: 100%;
    max-width: 72rem;
    padding: clamp(1.75rem, 3vw, 2.5rem);
    border-color: rgba(78, 89, 105, 0.34);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.2);
}

#pricing > .container > .mt-16.max-w-3xl > h3 {
    margin-bottom: 1.5rem;
    font-size: clamp(1.3rem, 1.15rem + 0.45vw, 1.65rem);
}

#pricing > .container > .mt-16.max-w-3xl > .grid {
    gap: clamp(1rem, 2vw, 1.5rem);
}

#pricing > .container > .mt-16.max-w-3xl > .grid > .flex {
    min-height: 7.25rem;
    padding: 1.4rem 1.6rem;
    border: 1px solid rgba(78, 89, 105, 0.28);
    border-radius: 0.8rem;
    background: linear-gradient(145deg, rgba(10, 15, 28, 0.98), rgba(18, 24, 38, 0.94));
    box-shadow: 0 0.65rem 1.5rem rgba(0, 0, 0, 0.16);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

#pricing > .container > .mt-16.max-w-3xl > .grid > .flex:hover,
#pricing > .container > .mt-16.max-w-3xl > .grid > .flex:focus-within {
    border-color: rgba(22, 93, 255, 0.48);
    box-shadow: 0 0.85rem 1.8rem rgba(0, 0, 0, 0.22);
    transform: translateY(-0.125rem);
}

#pricing > .container > .mt-16.max-w-3xl > .grid > .flex > .fa {
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
    padding: 0.65rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: rgba(22, 93, 255, 0.08);
}

#pricing > .container > .mt-16.max-w-3xl > .grid > .flex h4 {
    margin-bottom: 0;
    font-size: clamp(1.05rem, 1rem + 0.2vw, 1.2rem);
    font-weight: 700;
}
#features .grid > .bg-gray-dark {
    display: flex;
    min-height: 17.5rem;
    flex-direction: column;
    justify-content: flex-start;
    padding: clamp(1.65rem, 2.5vw, 2.15rem);
    border-color: rgba(78, 89, 105, 0.3);
    box-shadow: 0 0.85rem 2rem rgba(0, 0, 0, 0.16);
}

#features .grid > .bg-gray-dark > div:first-child {
    width: 4rem;
    height: 4rem;
    flex: 0 0 4rem;
    margin-bottom: 1.35rem;
}

#features .grid > .bg-gray-dark h3 {
    margin-bottom: 0.9rem;
    font-family: var(--font-sans);
    font-size: clamp(1.2rem, 1.1rem + 0.35vw, 1.45rem);
    font-style: normal;
    line-height: 1.4;
    text-shadow: none;
}

#features .grid > .bg-gray-dark p {
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.82;
}
#pricing > .container > .grid.max-w-5xl > .bg-gray-dark {
    position: relative;
    display: flex;
    height: 100%;
    min-height: 36.5rem;
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 1rem 2.4rem rgba(0, 0, 0, 0.18);
    transform: none;
}

#pricing > .container > .grid.max-w-5xl > .bg-gray-dark:hover,
#pricing > .container > .grid.max-w-5xl > .bg-gray-dark:focus-within {
    transform: translateY(-0.25rem);
}

#pricing > .container > .grid.max-w-5xl > .bg-gray-dark > .p-6 {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    padding: clamp(1.75rem, 2.6vw, 2.25rem);
}

#pricing > .container > .grid.max-w-5xl > .bg-gray-dark h3 {
    margin-bottom: 0.55rem;
    font-family: var(--font-sans);
    font-size: clamp(1.35rem, 1.18rem + 0.5vw, 1.65rem);
    font-style: normal;
    line-height: 1.35;
    text-align: left;
    text-shadow: none;
}

#pricing > .container > .grid.max-w-5xl > .bg-gray-dark h3 + p {
    margin-bottom: 1.35rem;
    line-height: 1.65;
    text-align: left;
}

#pricing > .container > .grid.max-w-5xl > .bg-gray-dark > .p-6 > .mb-6 {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    gap: 0.35rem;
    margin-bottom: 1.6rem;
    text-align: left;
}

#pricing > .container > .grid.max-w-5xl > .bg-gray-dark .text-4xl {
    font-size: clamp(2.35rem, 1.9rem + 1.45vw, 3.15rem);
    line-height: 1;
}

#pricing > .container > .grid.max-w-5xl > .bg-gray-dark ul {
    width: 100%;
    flex: 1 1 auto;
    margin-right: 0;
    margin-left: 0;
}

#pricing > .container > .grid.max-w-5xl > .bg-gray-dark li {
    min-height: 2.25rem;
    align-items: center;
    line-height: 1.55;
}

#pricing > .container > .grid.max-w-5xl > .bg-gray-dark a.block {
    min-height: 3.25rem;
    margin-top: auto;
    font-weight: 700;
}
#tutorial .grid > .relative > .bg-gray-dark {
    min-height: 18rem;
    padding: clamp(1.65rem, 2.5vw, 2.1rem);
    box-shadow: 0 0.85rem 2rem rgba(0, 0, 0, 0.16);
}

#testimonials .grid > .bg-gray-dark,
#news .grid > .bg-gray-dark {
    display: flex;
    min-height: 17rem;
    flex-direction: column;
    padding: clamp(1.65rem, 2.5vw, 2.1rem);
    box-shadow: 0 0.85rem 2rem rgba(0, 0, 0, 0.16);
}

#news .grid > .bg-gray-dark > a:last-child {
    margin-top: auto;
}
section[aria-label="DNF辅助使用数据"] .grid > .p-6 {
    display: flex;
    min-height: 10rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    border: 1px solid rgba(78, 89, 105, 0.26);
    border-radius: 0.9rem;
    background: linear-gradient(145deg, rgba(29, 33, 41, 0.88), rgba(18, 24, 38, 0.9));
    box-shadow: 0 0.75rem 1.8rem rgba(0, 0, 0, 0.14);
}

@media (max-width: 47.99rem) {
    #pricing > .container > .mt-16.max-w-3xl {
        padding: 1.25rem;
    }

    #pricing > .container > .mt-16.max-w-3xl > .grid > .flex {
        min-height: 6rem;
        padding: 1.15rem;
    }

    #features .grid > .bg-gray-dark,
    #pricing > .container > .grid.max-w-5xl > .bg-gray-dark,
    #tutorial .grid > .relative > .bg-gray-dark,
    #testimonials .grid > .bg-gray-dark,
    #news .grid > .bg-gray-dark {
        min-height: auto;
    }

    #pricing > .container > .grid.max-w-5xl > .bg-gray-dark:hover,
    #pricing > .container > .grid.max-w-5xl > .bg-gray-dark:focus-within {
        transform: none;
    }

    section[aria-label="DNF辅助使用数据"] .grid > .p-6 {
        min-height: 8.5rem;
        padding: 1.1rem 0.8rem;
    }
}
#testimonials .grid > .bg-gray-dark > .flex.items-center.mb-4 > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 0.25rem;
}

#testimonials .grid > .bg-gray-dark h4 {
    margin: 0;
    color: #fff;
    line-height: 1.35;
}

#testimonials .grid > .bg-gray-dark .text-yellow-400 {
    display: flex;
    align-items: center;
    gap: 0.18rem;
    margin: 0;
    line-height: 1;
}

#testimonials .grid > .bg-gray-dark .text-yellow-400 .fa {
    width: 1em;
    height: 1em;
}

.article-body > :last-child {
    margin-bottom: 0;
}

.article-body hr {
    height: 1px;
    margin: 2rem 0;
    border: 0;
    background: rgba(255, 255, 255, 0.14);
}

.article-body iframe,
.article-body video,
.article-body audio {
    max-width: 100%;
}

.article-body video,
.article-body audio {
    display: block;
    margin: 1.5rem auto;
}

.article-body sup,
.article-body sub {
    position: relative;
    font-size: 0.75em;
    line-height: 0;
    vertical-align: baseline;
}

.article-body sup { top: -0.5em; }
.article-body sub { bottom: -0.25em; }
