/* ══════════════════════════════════════════════════════════════
   ZeroSpread Card System — Architecture Foundation (Wave C0)
   Canonical reference: qa-output/phase17-visual-standards/CARD_STANDARD.md

   RULES:
   • :root custom properties ONLY — no selector rules
   • Unused until C1+ selector normalization
   • One-way aliases — no circular references
   • Namespaced to avoid school/density collisions:
     - NOT --zs-card-bg / --zs-card-border (school palette)
     - NOT --zs-card-pad-* (zs-density)
   ══════════════════════════════════════════════════════════════ */

:root {
  /* ── Grid Card (zs-card) ─────────────────────────────────── */
  --zs-card-background: var(--zs-light-surface);
  --zs-card-border-color: var(--zs-light-border-soft);
  --zs-card-border-width: 1px;
  --zs-card-border-color-hover: var(--zs-light-border);
  --zs-card-radius: 12px;
  --zs-card-padding-block: 12px;
  --zs-card-padding-inline: 16px;
  --zs-card-gap: 8px;
  --zs-card-shadow: var(--zs-light-shadow-sm);
  --zs-card-shadow-hover: var(--zs-light-shadow);
  --zs-card-shadow-locked: 0 1px 2px rgba(15, 23, 42, 0.04);
  --zs-card-stripe-width: 3px;

  /* ── Hero Card (zs-card-hero) ──────────────────────────────── */
  --zs-card-hero-background: var(--zs-card-background);
  --zs-card-hero-border-color: var(--zs-card-border-color);
  --zs-card-hero-border-width: var(--zs-card-border-width);
  --zs-card-hero-radius: 16px;
  --zs-card-hero-padding-block: 16px;
  --zs-card-hero-padding-inline: 24px;
  --zs-card-hero-gap: 24px;
  --zs-card-hero-shadow: var(--zs-light-shadow);
  --zs-card-hero-stripe-width: 4px;
  --zs-card-hero-margin-bottom: 16px;

  /* ── Modal Card (zs-card-modal) ────────────────────────────── */
  --zs-card-modal-background: var(--zs-card-background);
  --zs-card-modal-border-color: var(--zs-card-border-color);
  --zs-card-modal-border-width: var(--zs-card-border-width);
  --zs-card-modal-radius: 12px;
  --zs-card-modal-padding: 16px;
  --zs-card-modal-shadow: var(--zs-light-shadow);
  --zs-card-modal-max-width-form: 480px;
  --zs-card-modal-max-width-detail: 720px;
}

/* Fixed site header — stays pinned to the top of the viewport while scrolling.
   Content is offset by the real header height so nothing hides behind it. */

:root {
  --zs-header-height: 72px;
}

@media (max-width: 479px) {
  :root {
    --zs-header-height: 60px;
  }
}

/* The in-flow spacer would stack on top of the padding-top offset below and
   create a 120px gap. Collapse it so the offset comes only from `main`. */
.zs-header-p0 > div[aria-hidden='true'] {
  display: none !important;
}

/* Every page starts exactly one header-height below the fixed header. */
body main {
  padding-top: var(--zs-header-height);
  box-sizing: border-box;
}

/* Full-bleed chart workspace (/lab/zs-chart) — no site-header offset. */
body main:has([data-zs-chart-lab='1']),
body main:has(.zs-charts-page) {
  padding-top: 0 !important;
}

/* Auth V4 is full-screen; the global header is hidden on these routes. */
body main:has(.zsa-root) {
  padding-top: 0 !important;
}

/* Desktop auth: no document / body scrollbar. Mobile V2 keeps its own scroll. */
@media (min-width: 1024px) {
  html:has(.zsa-root),
  body:has(.zsa-root) {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
  }
  body:has(.zsa-root) main {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
  }
}

/* Route transition veil — components/site/RouteTransitionVeil.tsx.
   An opaque white sheet over the whole site (header, bars and footer included) with the ZeroSpread word in
   the middle: graphite face, layered depth and a thin silver rim, one slow sheen and a small tilt.
   Pure CSS (no images, fonts or libraries of its own), so the veil costs nothing to show. */

.zs-route-veil {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: grid;
  place-items: center;
  place-content: center;
  gap: 1.75rem;
  background: #ffffff;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  contain: strict;
}

.zs-route-veil[data-state='in'],
.zs-route-veil[data-state='cover'],
.zs-route-veil[data-state='error'] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

/* Over the page being left: a quick fade so the click reads as acknowledged, not as a cut. */
.zs-route-veil[data-state='in'] {
  transition: opacity 140ms cubic-bezier(0.2, 0, 0, 1);
}

/* A committed route that is not ready yet: fully opaque in the same frame, nothing of it leaks. */
.zs-route-veil[data-state='cover'] {
  transition: none;
}

.zs-route-veil[data-state='out'] {
  visibility: hidden;
  opacity: 0;
  transition:
    opacity 220ms cubic-bezier(0.4, 0, 0.2, 1),
    visibility 0s linear 220ms;
}

/* First load with JavaScript: show the veil while the streamed HTML still holds a pending marker
   (same selector as ROUTE_PENDING_SELECTOR). The controller takes over on hydration and removes the class;
   if JavaScript never starts, the failsafe below lets the server HTML through. */
html.zs-veil-boot:has(main :is([aria-busy='true'], [data-zs-pending], .zs-pending-reveal, .sk))
  .zs-route-veil[data-state='idle'],
html.zs-veil-boot.zs-has-session:has(main [data-zs-session-pending]) .zs-route-veil[data-state='idle'] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  animation: zs-route-veil-failsafe 1ms linear 12s forwards;
}

@keyframes zs-route-veil-failsafe {
  to {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }
}

.zs-route-veil__mark {
  position: relative;
  display: inline-block;
  perspective: 640px;
}

/* Soft contact shadow under the word. */
.zs-route-veil__mark::after {
  content: '';
  position: absolute;
  inset-inline: 12%;
  inset-block-end: -0.7em;
  height: 0.5em;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(16, 18, 22, 0.16), rgba(16, 18, 22, 0));
  filter: blur(2px);
  pointer-events: none;
}

.zs-route-veil__word {
  display: inline-grid;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.625rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  white-space: nowrap;
  transform: rotateX(14deg) rotateY(-9deg);
  transform-style: preserve-3d;
}

/* Text comes from data-text: the word is not in the document's text, only drawn. */
.zs-route-veil__word::before,
.zs-route-veil__word::after {
  content: attr(data-text);
  grid-area: 1 / 1;
}

/* Depth: graphite layers stepping down and back, opened by a thin silver rim. */
.zs-route-veil__word::before {
  color: #1d2024;
  text-shadow:
    0 0.02em 0 #e4e7eb,
    0 0.04em 0 #c9cdd3,
    0 0.06em 0 #a9aeb6,
    0 0.08em 0 #8b9099,
    0 0.1em 0 #6f747c,
    0 0.12em 0 #565a61,
    0 0.14em 0 #3f4248,
    0 0.16em 0 #2b2d31,
    0 0.24em 0.22em rgba(10, 12, 16, 0.2),
    0 0.45em 0.7em rgba(10, 12, 16, 0.1);
}

/* Face: graphite to black, with a silver sheen that crosses once per cycle. */
.zs-route-veil__word::after {
  color: transparent;
  background-image:
    linear-gradient(
      105deg,
      transparent 0%,
      transparent 40%,
      rgba(236, 239, 243, 0.92) 50%,
      transparent 60%,
      transparent 100%
    ),
    linear-gradient(180deg, #555a63 0%, #1f2226 48%, #08090b 100%);
  background-size:
    260% 100%,
    100% 100%;
  background-position:
    130% 0,
    0 0;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
}

.zs-route-veil[data-state='in'] .zs-route-veil__mark,
.zs-route-veil[data-state='cover'] .zs-route-veil__mark,
html.zs-veil-boot .zs-route-veil__mark {
  animation: zs-route-veil-rise 360ms cubic-bezier(0.2, 0, 0, 1) both;
}

.zs-route-veil[data-state='in'] .zs-route-veil__word,
.zs-route-veil[data-state='cover'] .zs-route-veil__word,
html.zs-veil-boot .zs-route-veil__word {
  animation: zs-route-veil-tilt 2.8s cubic-bezier(0.45, 0, 0.55, 1) infinite alternate;
}

.zs-route-veil[data-state='in'] .zs-route-veil__word::after,
.zs-route-veil[data-state='cover'] .zs-route-veil__word::after,
html.zs-veil-boot .zs-route-veil__word::after {
  animation: zs-route-veil-sheen 2.2s cubic-bezier(0.4, 0, 0.2, 1) 0.2s infinite;
}

@keyframes zs-route-veil-rise {
  from {
    opacity: 0;
    transform: translateY(4px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes zs-route-veil-tilt {
  from {
    transform: rotateX(14deg) rotateY(-9deg);
  }
  to {
    transform: rotateX(10deg) rotateY(9deg);
  }
}

@keyframes zs-route-veil-sheen {
  0% {
    background-position:
      130% 0,
      0 0;
  }
  60%,
  100% {
    background-position:
      -30% 0,
      0 0;
  }
}

/* Past the hold limit with the page still loading: a short, calm "could not load" with Retry and Back,
   instead of revealing a half-built page. Lifts by itself if the page completes. */
.zs-route-veil__error {
  display: none;
  max-width: min(22rem, calc(100vw - 2rem));
  text-align: center;
  font-family: var(--zs-font-institutional, inherit);
  color: #1d2024;
}

.zs-route-veil[data-state='error'] .zs-route-veil__error {
  display: block;
  animation: zs-route-veil-rise 260ms cubic-bezier(0.2, 0, 0, 1) both;
}

.zs-route-veil__error-title {
  margin: 0 0 0.375rem;
  font-size: 1rem;
  font-weight: 700;
}

.zs-route-veil__error-hint {
  margin: 0 0 1.125rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #5b6068;
}

.zs-route-veil__error-actions {
  display: flex;
  justify-content: center;
  gap: 0.625rem;
}

.zs-route-veil__btn {
  min-height: 2.5rem;
  padding: 0 1.125rem;
  border: 1px solid #d5d8dd;
  border-radius: 999px;
  background: #ffffff;
  color: #1d2024;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}

.zs-route-veil__btn--primary {
  border-color: #16181c;
  background: #16181c;
  color: #ffffff;
}

.zs-route-veil__btn:focus-visible {
  outline: 2px solid #a3ff12;
  outline-offset: 2px;
}

/* Screen readers: the veil itself is decorative; this live region says what is happening. */
.zs-route-veil__status {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  .zs-route-veil[data-state='in'],
  .zs-route-veil[data-state='out'] {
    transition-duration: 0s;
  }

  .zs-route-veil .zs-route-veil__mark,
  .zs-route-veil .zs-route-veil__word,
  .zs-route-veil .zs-route-veil__word::after,
  html.zs-veil-boot .zs-route-veil__mark,
  html.zs-veil-boot .zs-route-veil__word,
  html.zs-veil-boot .zs-route-veil__word::after {
    animation: none !important;
  }

  .zs-route-veil__word {
    transform: rotateX(12deg) rotateY(-6deg);
  }

  /* A still highlight instead of the moving sheen. */
  .zs-route-veil__word::after {
    background-position:
      60% 0,
      0 0;
  }
}

@media print {
  .zs-route-veil {
    display: none !important;
  }
}

/* Reserved right sidebar column — layout inset, not overlay over page content. */

:root {
  --zs-right-utility-rail-width: 60px;
  --zs-right-sidebar-width: var(--zs-right-utility-rail-width);
  --zs-sidebar-brand-slot: var(--zs-right-utility-rail-width);
  --zs-header-height: 72px;
  --zs-tt-header-height: var(--zs-header-height);
  --zs-header-brand-width: var(--zs-right-sidebar-width);
  --zs-layout-sidebar-inset: 0px;
  --zs-right-sidebar-bg: #000000;
  --zs-right-sidebar-fg: #f8fafc;
  --zs-right-sidebar-border: rgba(255, 255, 255, 0.1);
}

html.light,
html[data-theme='light'] {
  --zs-right-sidebar-bg: #ffffff;
  --zs-right-sidebar-fg: #0f172a;
  --zs-right-sidebar-border: rgba(15, 23, 42, 0.1);
}

html.dark,
html[data-theme='dark'] {
  --zs-right-sidebar-bg: #000000;
  --zs-right-sidebar-fg: #f8fafc;
  --zs-right-sidebar-border: rgba(255, 255, 255, 0.1);
}

@media (min-width: 768px) {
  body.has-right-sidebar-open {
    --zs-layout-sidebar-inset: var(--zs-right-utility-rail-width);
  }

  html:has(.zsTradingToolbar),
  body:has(.zsTradingToolbar) {
    --zs-layout-sidebar-inset: var(--zs-right-utility-rail-width);
  }

  body.has-right-sidebar-layout {
    overflow-x: clip;
    max-width: 100%;
  }

  /* Header canvas ends at the rail. Physical right — do not use logical inset. */
  html:has(.zsTradingToolbar) .zs-header-p0 .zs-site-header,
  body.has-right-sidebar-open .zs-header-p0 .zs-site-header {
    left: 0 !important;
    right: var(--zs-right-utility-rail-width, 52px) !important;
    width: auto !important;
    max-width: none !important;
  }

  /* Header mega-menu must clear the reserved sidebar column. */
  body.has-right-sidebar-layout:not(.zs-is-home-page) .navArea .mega-menu-panel {
    max-width: calc(100% - var(--zs-right-utility-rail-width) - 24px);
    box-sizing: border-box;
  }

  /* Application canvas terminates at the physical left edge of the rail.
     Use margin-right (not width calc): in RTL, a specified width aligns to the
     right and would leave the gap on the left. */
  body.has-right-sidebar-open main,
  html:has(.zsTradingToolbar) main,
  body:has(.zsTradingToolbar) main {
    width: auto !important;
    max-width: none;
    margin-right: var(--zs-right-utility-rail-width, 52px) !important;
    box-sizing: border-box;
  }

  body.has-right-sidebar-open footer[role='contentinfo'],
  html:has(.zsTradingToolbar) footer[role='contentinfo'],
  body:has(.zsTradingToolbar) footer[role='contentinfo'] {
    width: auto !important;
    max-width: none;
    margin-right: var(--zs-right-utility-rail-width, 52px) !important;
    box-sizing: border-box;
  }
}

@media (max-width: 767px) {
  html:has(.zsTradingToolbar),
  body:has(.zsTradingToolbar),
  body.has-right-sidebar-open,
  body.has-right-sidebar-layout {
    --zs-layout-sidebar-inset: 0px;
  }
}

/* Full-viewport right workspace: the shell owns y-axis from 0 → 100dvh and
   stacks above .zs-site-header (z-50). The rail stays above the workspace. */
html:has(.zsTradingToolbar) .zsTradingPanel,
html:has(.zsTradingToolbar) .zsWl,
html:has(.zsTradingToolbar) .ntfShell,
html:has(.zsTradingToolbar) .altShell,
html:has(.zsTradingToolbar) .recShell,
html:has(.zsTradingToolbar) .ecdShell,
html:has(.zsTradingToolbar) .mrdShell {
  top: 0;
  bottom: 0;
  height: 100vh;
  height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  z-index: 51;
}

html:has(.zsTradingToolbar) .mrdBackdrop {
  top: 0;
}

/* Temporary global disable. Matches html[data-zs-intelligence-rail="off"]
   from the root layout when GLOBAL_INTELLIGENCE_RAIL_ENABLED is false.
   Collapses leftover rail-width tokens (search, news article) without
   per-page display rules. Setting the flag back to true removes the attribute. */
html[data-zs-intelligence-rail='off'] {
  --zs-right-utility-rail-width: 0px;
  --zs-right-sidebar-width: 0px;
  --zs-layout-sidebar-inset: 0px;
  --zs-sidebar-brand-slot: 0px;
}

/* ═══════════════════════════════════════════════════════════════════════
   ZeroSpread — Auth & Identity V4 · header identity (entry, menu, moments)
   Import once where the header mounts (site-wide).
   ═══════════════════════════════════════════════════════════════════════ */

.zsa-entry,
.zsa-release-host {
  --zsa-ink: #141715;
  --zsa-graphite: #2b302d;
  --zsa-text-2: #555b57;
  --zsa-text-3: #666c68;
  --zsa-line: #e2e4e0;
  --zsa-pearl: #fdfdfc;
  --zsa-paper: #f8f8f6;
  --zsa-green: #2f6b54;
  --zsa-lime: var(--zs-green-primary, #a3ff12);
  --zsa-danger-text: #843a33;
  --zsa-ease: cubic-bezier(0.22, 0.68, 0.15, 1);
  font-family: var(--zs-font-institutional);
  font-variant-numeric: lining-nums tabular-nums;
}

.zsa-entry {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
}
.zsa-entry__placeholder {
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #eeefec;
}
.zsa-entry__signin,
.zsa-entry__signup {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s, transform 0.3s var(--zsa-ease);
}
.zsa-entry__signin {
  color: var(--zsa-graphite);
}
.zsa-entry__signin:hover {
  color: var(--zsa-ink);
  background: rgba(20, 23, 21, 0.04);
}
.zsa-entry__signup {
  background: var(--zsa-ink);
  color: #fff;
  font-weight: 700;
}
.zsa-entry__signup:hover {
  background: #000;
}
.zsa-entry :is(a, button):focus-visible,
.zsa-menu :is(a, button):focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--zsa-ink);
}

.zsa-entry__trigger {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  max-width: 200px;
  padding-block: 4px;
  padding-inline: 4px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--zsa-ink);
  font: inherit;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}
.zsa-entry__trigger:hover,
.zsa-entry__trigger[aria-expanded='true'] {
  background: rgba(20, 23, 21, 0.04);
  border-color: var(--zsa-line);
}
.zsa-entry__name {
  font-size: 14px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zsa-entry__chev {
  color: var(--zsa-text-3);
  transform: rotate(90deg);
  transition: transform 0.3s var(--zsa-ease);
}
.zsa-entry__trigger[aria-expanded='true'] .zsa-entry__chev {
  transform: rotate(-90deg);
}

.zsa-entry *,
.zsa-entry *::before,
.zsa-entry *::after,
.zsa-release-host *,
.zsa-release-host *::before,
.zsa-release-host *::after {
  box-sizing: border-box;
}

/* ─────────────── avatar ─────────────── */
.zsa-avatar {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: none;
  border-radius: 50%;
  overflow: visible;
}
.zsa-avatar img,
.zsa-avatar svg {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
.zsa-avatar img {
  box-shadow: 0 0 0 1px rgba(20, 23, 21, 0.06);
}
.zsa-avatar__point {
  position: absolute;
  bottom: 0;
  inset-inline-end: -1px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--zsa-lime);
  box-shadow: 0 0 0 2px #fff, 0 0 0 2.8px rgba(43, 48, 45, 0.55);
}

/* ─────────────── menu ─────────────── */
.zsa-menu {
  position: absolute;
  z-index: 60;
  top: calc(100% + 10px);
  inset-inline-end: 0;
  width: 320px;
  max-height: min(78vh, 640px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 8px;
  border: 1px solid var(--zsa-line);
  border-radius: 20px;
  background: #fff;
  color: var(--zsa-ink);
  box-shadow: 0 1px 2px rgba(20, 23, 21, 0.04), 0 28px 60px -28px rgba(20, 23, 21, 0.32);
  transform-origin: calc(100% - 24px) 0;
  animation: zsa-menu-in 0.32s var(--zsa-ease) both;
}
[dir='rtl'] .zsa-menu,
.zsa-menu:dir(rtl) {
  transform-origin: 24px 0;
}
@keyframes zsa-menu-in {
  from {
    opacity: 0;
    transform: perspective(900px) rotateX(-6deg) translate3d(0, -6px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.zsa-menu__id {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 10px 12px;
}
.zsa-menu__who {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.zsa-menu__who strong {
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zsa-menu__email {
  display: block;
  font-size: 13px;
  color: var(--zsa-text-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  unicode-bidi: isolate;
}
.zsa-menu__plan {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 10px 8px;
  padding: 9px 12px;
  border-radius: 12px;
  background: var(--zsa-paper);
  font-size: 13px;
  font-weight: 500;
  color: var(--zsa-graphite);
}
.zsa-menu__plan i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 1px solid var(--zsa-graphite);
  background: #fff;
}
.zsa-menu__plan[data-tone='active'] i {
  background: var(--zsa-lime);
}
.zsa-menu__plan[data-tone='trial'] i {
  background: var(--zsa-green);
  border-color: var(--zsa-green);
}
.zsa-menu__plan[data-tone='warn'] {
  color: var(--zsa-danger-text);
}
.zsa-menu__plan[data-tone='warn'] i {
  border-color: var(--zsa-danger-text);
}
.zsa-skel {
  display: inline-block;
  width: 96px;
  height: 10px;
  border-radius: 6px;
  background: #ecedea;
}
.zsa-menu:focus {
  outline: none;
}
.zsa-menu__group {
  display: flex;
  flex-direction: column;
  padding-block: 6px;
  border-top: 1px solid #efefec;
}
.zsa-menu__item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  padding-inline: 12px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--zsa-graphite);
  font: inherit;
  font-size: 14.5px;
  font-weight: 500;
  text-align: start;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
.zsa-menu__item:hover,
.zsa-menu__item:focus-visible {
  background: #f4f5f2;
  color: var(--zsa-ink);
}
.zsa-menu__item[aria-current='page'] {
  color: var(--zsa-ink);
  font-weight: 700;
}
.zsa-menu__item[aria-current='page']::after {
  content: '';
  margin-inline-start: auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--zsa-lime);
  box-shadow: 0 0 0 1px rgba(43, 48, 45, 0.5);
}
.zsa-menu__icon {
  flex: none;
  color: var(--zsa-text-3);
}
.zsa-menu__item[data-danger] {
  color: var(--zsa-danger-text);
}
.zsa-menu__item[data-danger] .zsa-menu__icon {
  color: currentColor;
}
[dir='rtl'] .zsa-menu__item[data-danger] .zsa-menu__icon {
  transform: scaleX(-1);
}

.zsa-menu__handle {
  display: block;
  width: 36px;
  height: 4px;
  margin: 4px auto 6px;
  border-radius: 4px;
  background: #d9dbd7;
}
.zsa-scrim {
  position: fixed;
  inset: 0;
  z-index: 59;
  border: 0;
  padding: 0;
  background: rgba(20, 23, 21, 0.28);
  animation: zsa-fade 0.25s var(--zsa-ease) both;
}
@keyframes zsa-fade {
  from {
    opacity: 0;
  }
}
.zsa-menu[data-variant='sheet'] {
  position: fixed;
  top: auto;
  bottom: 0;
  inset-inline: 0;
  width: auto;
  max-height: 86svh;
  padding: 6px 10px calc(12px + env(safe-area-inset-bottom));
  border-radius: 24px 24px 0 0;
  border-bottom: 0;
  animation: zsa-sheet-in 0.38s var(--zsa-ease) both;
}
@keyframes zsa-sheet-in {
  from {
    transform: translate3d(0, 24px, 0);
    opacity: 0;
  }
  to {
    transform: none;
    opacity: 1;
  }
}
.zsa-menu[data-variant='sheet'] .zsa-menu__item {
  min-height: 50px;
}

/* ─────────────── sign-out release / expired ─────────────── */
.zsa-release-host {
  position: fixed;
  z-index: 70;
  top: calc(env(safe-area-inset-top) + 84px);
  inset-inline: 0;
  display: flex;
  justify-content: center;
  pointer-events: none;
}
.zsa-release {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 8px 20px 8px 14px;
  padding-inline: 12px 20px;
  border: 1px solid var(--zsa-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--zsa-ink);
  box-shadow: 0 20px 44px -24px rgba(20, 23, 21, 0.35);
  pointer-events: auto;
  animation: zsa-release-in 0.42s var(--zsa-ease) both, zsa-release-out 0.5s var(--zsa-ease) 2.1s both;
}
.zsa-release[data-kind='expired'] {
  animation: zsa-release-in 0.42s var(--zsa-ease) both;
}
@keyframes zsa-release-in {
  from {
    opacity: 0;
    transform: translate3d(0, -10px, 0);
  }
}
@keyframes zsa-release-out {
  to {
    opacity: 0;
    transform: translate3d(0, -6px, 0);
  }
}
.zsa-release__point {
  position: relative;
  width: 30px;
  height: 30px;
  flex: none;
}
.zsa-release__ring,
.zsa-release__core {
  position: absolute;
  border-radius: 50%;
}
.zsa-release__ring {
  inset: 6px;
  border: 1px solid rgba(43, 48, 45, 0.5);
  animation: zsa-ring-release 1.2s var(--zsa-ease) 0.15s both;
}
.zsa-release__core {
  inset: 11px;
  border: 1px solid var(--zsa-graphite);
  background: var(--zsa-lime);
  animation: zsa-core-release 0.9s var(--zsa-ease) 0.25s both;
}
@keyframes zsa-ring-release {
  to {
    transform: scale(2.1);
    opacity: 0;
  }
}
@keyframes zsa-core-release {
  to {
    background: #fff;
  }
}
.zsa-release__text {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-size: 14.5px;
  white-space: nowrap;
}
.zsa-release__text strong {
  font-weight: 700;
}
.zsa-release__text span {
  color: var(--zsa-text-2);
}
.zsa-release__action {
  margin-inline-start: 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--zsa-ink);
  text-underline-offset: 4px;
}
@media (max-width: 1023.98px) {
  .zsa-release-host {
    top: auto;
    bottom: calc(env(safe-area-inset-bottom) + 88px);
    padding-inline: 16px;
  }
  .zsa-release__text {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zsa-menu,
  .zsa-scrim,
  .zsa-release,
  .zsa-release__ring,
  .zsa-release__core {
    animation-duration: 0.01ms !important;
    animation-delay: 0s !important;
  }
  .zsa-release {
    animation: none !important;
  }
  .zsa-release__ring {
    opacity: 0;
  }
  .zsa-release__core {
    background: #fff;
  }
}

/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
:root{--zs-z-content:0;--zs-z-raised:10;--zs-z-sticky:40;--zs-z-topbar:52;--zs-z-bottomnav:52;--zs-z-page-overlay:60;--zs-z-popover:1000;--zs-z-sheet-backdrop:1190;--zs-z-sheet:1200;--zs-z-modal:2000;--zs-z-toast:2500;--zs-z-critical:10000;--zs-m-gutter:16px;--zs-m-section-gap:40px;--zs-m-block-gap:16px;--zs-m-stack-gap:12px;--zs-m-inline-gap:8px;--zs-m-topbar-h:56px;--zs-m-nav-h:62px;--zs-m-safe-top:env(safe-area-inset-top,0px);--zs-m-safe-bottom:env(safe-area-inset-bottom,0px);--zs-m-nav-space:calc(var(--zs-m-nav-h) + var(--zs-m-safe-bottom));--zs-m-bottom-offset:var(--zs-m-nav-space);--zs-m-control-h:44px;--zs-m-control-h-lg:50px;--zs-m-control-h-sm:36px;--zs-m-hit:44px;--zs-m-card-pad:16px;--zs-m-card-pad-lg:20px;--zs-m-radius-sm:10px;--zs-m-radius-md:14px;--zs-m-radius-lg:18px;--zs-m-radius-sheet:22px;--zs-m-radius-pill:999px;--zs-m-hairline:1px;--zs-m-content-max:720px;--zs-m-reading-max:640px;--zs-m-text-xs:11px;--zs-m-text-sm:13px;--zs-m-text-md:15px;--zs-m-text-lg:17px;--zs-m-text-xl:20px;--zs-m-text-2xl:24px;--zs-m-text-display:clamp(34px,10.4vw,48px);--zs-m-ease:var(--zs-ease-out,cubic-bezier(.16,1,.3,1));--zs-m-ease-inout:var(--zs-ease-inout,cubic-bezier(.65,0,.35,1));--zs-m-dur-press:var(--zs-dur-instant,80ms);--zs-m-dur-state:var(--zs-dur-fast,.14s);--zs-m-dur-surface:var(--zs-dur-normal,.22s);--zs-m-dur-sheet:.3s;--zs-m-brand:#a3ff12;--zs-m-brand-ink:#0a0e07}@media (max-width:374.98px){:root{--zs-m-gutter:14px;--zs-m-card-pad:14px}}@media (min-width:414px) and (max-width:767.98px){:root{--zs-m-gutter:20px}}@media (min-width:768px) and (max-width:1023.98px){:root{--zs-m-gutter:32px;--zs-m-section-gap:56px;--zs-m-card-pad:20px;--zs-m-topbar-h:60px}}:root,html[data-zs-header-theme=dark],html:has(main [data-zs-page-appearance=dark],main [data-zs-about-page],main [data-zs-contact-page]){--zs-m-bg:#070908;--zs-m-chrome-bg:#0b0d0cf0;--zs-m-chrome-solid:#0b0d0c;--zs-m-chrome-line:#ffffff14;--zs-m-ink:#f3f5f2;--zs-m-ink-2:#c4cac6;--zs-m-ink-3:#99a19c;--zs-m-press:#ffffff12;--zs-m-focus:#a3ff12;--zs-m-tab-active-ink:#a3ff12;--zs-m-tab-active-pill:#a3ff1221;--zs-m-tab-active-label:#f3f5f2;--zs-m-sheet-bg:#121514;--zs-m-sheet-raised:#1a1e1c;--zs-m-sheet-line:#ffffff12;--zs-m-backdrop:#0000009e;--zs-m-grip:#ffffff38;--zs-m-btn-primary-bg:#f3f5f2;--zs-m-btn-primary-ink:#0b0d0c;--zs-m-btn-secondary-bg:#ffffff14;--zs-m-btn-secondary-ink:#f3f5f2;--zs-m-danger-ink:#ff8a8a;--zs-m-danger-bg:#ef44441a;--zs-m-shadow-up:0 -1px 0 #ffffff0f;--zs-m-shadow-sheet:0 -18px 48px #0000008c}html[data-zs-header-theme=light],html:has(main [data-zs-page-appearance=light]),html[data-zs-mobile-light]:not([data-zs-header-theme]):not(:has([data-zs-page-appearance=dark])){--zs-m-bg:#f7f8f5;--zs-m-chrome-bg:#fafaf8f0;--zs-m-chrome-solid:#fafaf8;--zs-m-chrome-line:#11151217;--zs-m-ink:#111512;--zs-m-ink-2:#3d4440;--zs-m-ink-3:#5b625e;--zs-m-press:#1115120f;--zs-m-focus:#111512;--zs-m-tab-active-ink:#0a0e07;--zs-m-tab-active-pill:#a3ff12;--zs-m-tab-active-label:#111512;--zs-m-sheet-bg:#fff;--zs-m-sheet-raised:#f4f5f2;--zs-m-sheet-line:#11151214;--zs-m-backdrop:#11151261;--zs-m-grip:#1115122e;--zs-m-btn-primary-bg:#111512;--zs-m-btn-primary-ink:#fafaf8;--zs-m-btn-secondary-bg:#1115120f;--zs-m-btn-secondary-ink:#111512;--zs-m-danger-ink:#b42318;--zs-m-danger-bg:#b4231812;--zs-m-shadow-up:0 -1px 0 #1115120d;--zs-m-shadow-sheet:0 -18px 48px #11151224}html.light[data-zs-page-canvas=white]{--zs-m-bg:#fff;--zs-m-chrome-bg:#fff;--zs-m-chrome-solid:#fff}@media (min-width:1024px){:root{--zs-m-bottom-offset:0px}}.zs-desktop-chrome{display:contents}.zs-m-chrome,.zs-m-bottomnav,.zs-m-nav-spacer,.zs-m-pagehead{display:none}@media (max-width:1023.98px){.zs-desktop-chrome{display:none}.zs-m-chrome,.zs-m-bottomnav{display:block}.zs-m-nav-spacer{block-size:var(--zs-m-nav-space);display:block}.zs-m-pagehead{display:grid}}.zs-m-topbar{z-index:var(--zs-z-topbar);block-size:calc(var(--zs-m-topbar-h) + var(--zs-m-safe-top));color:var(--zs-m-ink);font-family:var(--zs-font-institutional,"Tajawal",sans-serif);font-synthesis:none;letter-spacing:0;transition:color var(--zs-m-dur-surface)var(--zs-m-ease);padding-block-start:var(--zs-m-safe-top);position:fixed;inset-block-start:0;inset-inline:0}.zs-m-topbar-surface{background:var(--zs-m-chrome-bg);border-block-end:var(--zs-m-hairline)solid var(--zs-m-chrome-line);-webkit-backdrop-filter:saturate(1.4)blur(18px);backdrop-filter:saturate(1.4)blur(18px);opacity:1;transition:opacity var(--zs-m-dur-surface)var(--zs-m-ease);position:absolute;inset:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.zs-m-topbar-surface{background:var(--zs-m-chrome-solid)}}.zs-m-topbar-inner{justify-content:space-between;align-items:center;gap:var(--zs-m-inline-gap);block-size:var(--zs-m-topbar-h);padding-inline:calc(var(--zs-m-gutter) - 6px);max-inline-size:100%;display:flex;position:relative}.zs-m-brand{min-block-size:var(--zs-m-hit);color:inherit;border-radius:var(--zs-m-radius-sm);align-items:center;padding-inline:6px;font-size:17px;font-weight:700;text-decoration:none;display:inline-flex}.zs-m-brand .zs-laser-reveal{color:inherit}.zs-m-topbar-actions{align-items:center;gap:2px;display:flex}.zs-m-topbar-slot{display:inline-flex}html:has([data-zs-guest-parallax-hero]):not([data-zs-guest-hero-past="1"]) .zs-m-topbar{color:#141715}html:has([data-zs-guest-parallax-hero]):not([data-zs-guest-hero-past="1"]) .zs-m-topbar-surface{opacity:0}.zs-m-iconbtn{inline-size:var(--zs-m-hit);block-size:var(--zs-m-hit);border-radius:var(--zs-m-radius-pill);color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--zs-m-dur-state)var(--zs-m-ease),transform var(--zs-m-dur-press)var(--zs-m-ease);background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.zs-m-iconbtn svg{block-size:22px;inline-size:22px}.zs-m-iconbtn:active{background:var(--zs-m-press);transform:scale(.94)}.zs-m-iconbtn[aria-expanded=true]{background:var(--zs-m-press)}.zs-m-avatar{background:var(--zs-m-btn-primary-bg);block-size:44px;inline-size:44px;color:var(--zs-m-btn-primary-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:17px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.zs-m-avatar.is-small{block-size:30px;inline-size:30px;box-shadow:0 0 0 1.5px var(--zs-m-chrome-line);font-size:13px}.zs-m-avatar img{object-fit:cover;block-size:100%;inline-size:100%}.zs-m-bottomnav{z-index:var(--zs-z-bottomnav);background:var(--zs-m-chrome-bg);border-block-start:var(--zs-m-hairline)solid var(--zs-m-chrome-line);-webkit-backdrop-filter:saturate(1.4)blur(18px);backdrop-filter:saturate(1.4)blur(18px);color:var(--zs-m-ink-3);font-family:var(--zs-font-institutional,"Tajawal",sans-serif);font-synthesis:none;letter-spacing:0;transition:transform var(--zs-m-dur-surface)var(--zs-m-ease),visibility 0s linear 0s;padding-block-end:var(--zs-m-safe-bottom);position:fixed;inset-block-end:0;inset-inline:0;transform:translate(0)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.zs-m-bottomnav{background:var(--zs-m-chrome-solid)}}.zs-m-bottomnav-list{block-size:var(--zs-m-nav-h);grid-template-columns:repeat(5,minmax(0,1fr));max-inline-size:560px;margin:0 auto;padding:0 4px;list-style:none;display:grid}.zs-m-bottomnav-cell{min-inline-size:0;display:flex}.zs-m-tab{min-inline-size:0;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:var(--zs-m-radius-sm);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 2px 4px;text-decoration:none;display:flex;position:relative}.zs-m-tab-icon{border-radius:var(--zs-m-radius-pill);block-size:30px;inline-size:52px;transition:background-color var(--zs-m-dur-state)var(--zs-m-ease),color var(--zs-m-dur-state)var(--zs-m-ease),transform var(--zs-m-dur-press)var(--zs-m-ease);justify-content:center;align-items:center;display:inline-flex}.zs-m-tab-icon svg{block-size:22px;inline-size:22px}.zs-m-tab-label{text-overflow:ellipsis;white-space:nowrap;max-inline-size:100%;font-size:var(--zs-m-text-xs);font-weight:500;line-height:14px;overflow:hidden}.zs-m-tab:active .zs-m-tab-icon{background:var(--zs-m-press);transform:scale(.92)}.zs-m-tab[data-active="1"]{color:var(--zs-m-tab-active-label)}.zs-m-tab[data-active="1"] .zs-m-tab-icon{background:var(--zs-m-tab-active-pill);color:var(--zs-m-tab-active-ink)}.zs-m-tab[data-active="1"] .zs-m-tab-label{font-weight:700}html[data-zs-mfocus="1"] .zs-m-bottomnav,.zs-m-bottomnav[data-focus-flow="1"]{visibility:hidden;transition:transform var(--zs-m-dur-surface)var(--zs-m-ease),visibility 0s linear var(--zs-m-dur-surface);transform:translateY(110%)}html[data-zs-mfocus="1"] .zs-m-nav-spacer{block-size:var(--zs-m-safe-bottom)}html[data-zs-keyboard=open] .zs-m-bottomnav{visibility:hidden;transition:transform var(--zs-m-dur-state)var(--zs-m-ease),visibility 0s linear var(--zs-m-dur-state);transform:translateY(110%)}@media (min-width:768px) and (max-width:1023.98px){.zs-m-tab{flex-direction:row;gap:8px}.zs-m-tab-icon{inline-size:40px}.zs-m-tab-label{font-size:var(--zs-m-text-sm)}}.zs-m-sheet-layer{z-index:var(--zs-z-sheet);font-family:var(--zs-font-institutional,"Tajawal",sans-serif);font-synthesis:none;letter-spacing:0;color:var(--zs-m-ink);flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.zs-m-sheet-backdrop{z-index:0;background:var(--zs-m-backdrop);opacity:0;transition:opacity var(--zs-m-dur-sheet)var(--zs-m-ease);position:absolute;inset:0}.zs-m-sheet{z-index:1;max-block-size:calc(100dvh - var(--zs-m-safe-top) - 24px);background:var(--zs-m-sheet-bg);inline-size:100%;max-inline-size:640px;color:var(--zs-m-ink);box-shadow:var(--zs-m-shadow-sheet);transition:transform var(--zs-m-dur-sheet)var(--zs-m-ease);will-change:transform;border-start-start-radius:var(--zs-m-radius-sheet);border-start-end-radius:var(--zs-m-radius-sheet);outline:none;flex-direction:column;margin-inline:auto;display:flex;position:relative;transform:translateY(100%)}.zs-m-sheet-layer[data-size=tall] .zs-m-sheet{block-size:calc(100dvh - var(--zs-m-safe-top) - 36px)}.zs-m-sheet-layer[data-state=open] .zs-m-sheet-backdrop{opacity:1}.zs-m-sheet-layer[data-state=open] .zs-m-sheet{transform:translate(0)}.zs-m-sheet-layer[data-state=closed] .zs-m-sheet{transition-duration:var(--zs-m-dur-surface);transition-timing-function:var(--zs-m-ease-inout)}.zs-m-sheet-head{padding:8px var(--zs-m-gutter)4px;touch-action:none;flex:none}.zs-m-sheet-grip{border-radius:var(--zs-m-radius-pill);background:var(--zs-m-grip);block-size:4px;inline-size:36px;margin:0 auto 6px;display:block}.zs-m-sheet-titlebar{min-block-size:var(--zs-m-hit);justify-content:space-between;align-items:center;gap:12px;display:flex}.zs-m-sheet-title{font-size:var(--zs-m-text-lg);color:var(--zs-m-ink);margin:0;font-weight:700;line-height:1.3}.zs-m-sheet-close{color:var(--zs-m-ink-2);margin-inline-end:-8px}.zs-m-sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-block-size:0;padding:4px var(--zs-m-gutter)calc(20px + var(--zs-m-safe-bottom));flex:auto;overflow-y:auto}.zs-m-sheet-foot{padding:12px var(--zs-m-gutter)calc(12px + var(--zs-m-safe-bottom));border-block-start:var(--zs-m-hairline)solid var(--zs-m-sheet-line);background:var(--zs-m-sheet-bg);flex:none}.zs-m-sheet-foot+.zs-m-sheet-body,.zs-m-sheet-body:has(+.zs-m-sheet-foot){padding-block-end:16px}.zs-m-group{margin-block-start:20px}.zs-m-group:first-child{margin-block-start:4px}.zs-m-group-title{font-size:var(--zs-m-text-sm);color:var(--zs-m-ink-3);margin:0 4px 8px;font-weight:500;line-height:1.4}.zs-m-list{border-radius:var(--zs-m-radius-md);background:var(--zs-m-sheet-raised);margin:0;padding:0;list-style:none;overflow:hidden}.zs-m-list>li+li{border-block-start:var(--zs-m-hairline)solid var(--zs-m-sheet-line)}.zs-m-list-inset{margin-block-start:12px}.zs-m-row{min-block-size:52px;inline-size:100%;color:var(--zs-m-ink);font:inherit;font-size:var(--zs-m-text-md);text-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--zs-m-dur-state)var(--zs-m-ease);background:0 0;border:0;align-items:center;gap:12px;padding:0 14px;font-weight:500;text-decoration:none;display:flex}.zs-m-row:active{background:var(--zs-m-press)}.zs-m-row-icon{block-size:24px;inline-size:24px;color:var(--zs-m-ink-2);flex:none;justify-content:center;align-items:center;display:inline-flex}.zs-m-row-icon svg{block-size:20px;inline-size:20px}.zs-m-row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-inline-size:0;overflow:hidden}.zs-m-row-chevron{block-size:18px;inline-size:18px;color:var(--zs-m-ink-3);flex:none}.zs-m-row[data-active="1"] .zs-m-row-label{font-weight:700}.zs-m-row[data-active="1"] .zs-m-row-icon{color:var(--zs-m-ink)}.zs-m-row[data-active="1"]:before{content:"";border-radius:0 var(--zs-m-radius-pill)var(--zs-m-radius-pill)0;background:var(--zs-m-brand);flex:none;block-size:20px;inline-size:3px;margin-inline:-14px 11px}.zs-m-badge{border-radius:var(--zs-m-radius-pill);background:var(--zs-m-brand);block-size:20px;min-inline-size:20px;color:var(--zs-m-brand-ink);font-size:var(--zs-m-text-xs);text-align:center;font-variant-numeric:tabular-nums;flex:none;padding:0 6px;font-weight:700;line-height:20px}.zs-m-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.zs-m-tile{border-radius:var(--zs-m-radius-md);background:var(--zs-m-sheet-raised);min-block-size:84px;color:var(--zs-m-ink);font-size:var(--zs-m-text-md);-webkit-tap-highlight-color:transparent;box-shadow:inset 0 0 0 var(--zs-m-hairline)var(--zs-m-sheet-line);transition:background-color var(--zs-m-dur-state)var(--zs-m-ease),transform var(--zs-m-dur-press)var(--zs-m-ease);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;font-weight:700;line-height:1.3;text-decoration:none;display:flex}.zs-m-tile .zs-m-row-icon{border-radius:var(--zs-m-radius-sm);background:var(--zs-m-sheet-bg);block-size:36px;inline-size:36px;color:var(--zs-m-ink);box-shadow:inset 0 0 0 var(--zs-m-hairline)var(--zs-m-sheet-line)}.zs-m-tile:active{background:var(--zs-m-press);transform:scale(.98)}.zs-m-tile[data-active="1"]{box-shadow:inset 0 0 0 1.5px var(--zs-m-ink)}.zs-m-tile[data-active="1"] .zs-m-row-icon{background:var(--zs-m-tab-active-pill);color:var(--zs-m-tab-active-ink)}@media (min-width:560px){.zs-m-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.zs-m-card{border-radius:var(--zs-m-radius-md);background:var(--zs-m-sheet-raised);gap:16px;padding:14px;display:grid}.zs-m-pref{gap:8px;display:grid}.zs-m-pref-label{font-size:var(--zs-m-text-sm);color:var(--zs-m-ink);font-weight:700}.zs-m-segmented{border-radius:var(--zs-m-radius-sm);background:var(--zs-m-sheet-bg);box-shadow:inset 0 0 0 var(--zs-m-hairline)var(--zs-m-sheet-line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;display:grid}.zs-m-segment{min-block-size:40px;color:var(--zs-m-ink-2);font:inherit;font-size:var(--zs-m-text-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--zs-m-dur-state)var(--zs-m-ease),color var(--zs-m-dur-state)var(--zs-m-ease);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:inline-flex}.zs-m-segment svg{block-size:17px;inline-size:17px}.zs-m-segment[data-checked="1"]{background:var(--zs-m-btn-primary-bg);color:var(--zs-m-btn-primary-ink);font-weight:700}.zs-m-pref-note{font-size:var(--zs-m-text-sm);color:var(--zs-m-ink-3);margin:0;line-height:1.55}.zs-m-btn{inline-size:100%;min-block-size:var(--zs-m-control-h-lg);border-radius:var(--zs-m-radius-md);font:inherit;font-size:var(--zs-m-text-md);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--zs-m-dur-press)var(--zs-m-ease),opacity var(--zs-m-dur-state)var(--zs-m-ease);border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.zs-m-btn svg{block-size:19px;inline-size:19px}.zs-m-btn:active{transform:scale(.98)}.zs-m-btn[disabled],.zs-m-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.zs-m-btn-primary{background:var(--zs-m-btn-primary-bg);color:var(--zs-m-btn-primary-ink)}.zs-m-btn-secondary{background:var(--zs-m-btn-secondary-bg);color:var(--zs-m-btn-secondary-ink)}.zs-m-btn-danger{background:var(--zs-m-danger-bg);color:var(--zs-m-danger-ink)}.zs-m-identity{border-radius:var(--zs-m-radius-md);background:var(--zs-m-sheet-raised);color:var(--zs-m-ink);-webkit-tap-highlight-color:transparent;align-items:center;gap:14px;padding:14px;text-decoration:none;display:flex}.zs-m-identity-text{flex:1;gap:3px;min-inline-size:0;display:grid}.zs-m-identity-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--zs-m-text-lg);font-weight:700;overflow:hidden}.zs-m-identity-email{text-overflow:ellipsis;white-space:nowrap;font-size:var(--zs-m-text-sm);color:var(--zs-m-ink-3);text-align:end;overflow:hidden}[dir=rtl] .zs-m-identity-email{text-align:right}.zs-m-guest{border-radius:var(--zs-m-radius-md);background:var(--zs-m-sheet-raised);gap:6px;padding:18px 16px 16px;display:grid}.zs-m-guest-title{font-size:var(--zs-m-text-xl);margin:0;font-weight:700;line-height:1.3}.zs-m-guest-body{font-size:var(--zs-m-text-md);color:var(--zs-m-ink-2);margin:0 0 10px;line-height:1.6}.zs-m-guest-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.zs-m-skeleton{background:linear-gradient(90deg,var(--zs-m-press),var(--zs-m-sheet-line),var(--zs-m-press));background-size:200% 100%;border-radius:6px;animation:1.4s linear infinite zs-m-shimmer;display:block}.zs-m-skeleton-line{block-size:14px;inline-size:60%}.zs-m-skeleton-line.is-short{block-size:11px;inline-size:40%}@keyframes zs-m-shimmer{to{background-position:-200% 0}}.zs-m-pagehead{padding:8px calc(var(--zs-m-gutter) - 8px)12px;color:var(--zs-m-ink);grid-template-columns:auto 1fr auto;align-items:center;gap:4px}.zs-m-pagehead-back{min-block-size:var(--zs-m-hit);border-radius:var(--zs-m-radius-sm);color:var(--zs-m-ink-2);font-size:var(--zs-m-text-md);align-items:center;gap:2px;padding-inline:4px 10px;font-weight:500;text-decoration:none;display:inline-flex}.zs-m-pagehead-back svg{block-size:22px;inline-size:22px}.zs-m-pagehead-titles{grid-area:2/1/auto/-1;min-inline-size:0;padding-inline:8px}.zs-m-pagehead-eyebrow{font-size:var(--zs-m-text-sm);color:var(--zs-m-ink-3);margin:4px 0 2px;font-weight:500}.zs-m-pagehead-title{font-size:var(--zs-m-text-2xl);color:var(--zs-m-ink);margin:0;font-weight:700;line-height:1.25}.zs-m-pagehead-action{grid-area:1/3}.zs-m-settings-index{color:var(--zs-m-ink);padding-block:12px 28px}.zs-m-settings-title{color:var(--zs-m-ink);margin:4px;font-size:28px;font-weight:700;line-height:1.2}.zs-m-settings-group-title{align-items:center;gap:8px;display:flex}.zs-m-settings-sub{font-size:var(--zs-m-text-xs);color:var(--zs-m-ink-3);margin:14px 4px 8px;font-weight:500}@media (min-width:1024px){.zs-m-settings-index{display:none}}:is(.zs-m-topbar,.zs-m-bottomnav,.zs-m-sheet,.zs-m-pagehead,.zs-m-settings-index) :is(a,button,[tabindex]):focus-visible{outline:2px solid var(--zs-m-focus);outline-offset:2px}.zs-m-sheet:focus-visible{outline:none}@media (max-width:1023.98px){.zs-search-center-root{z-index:var(--zs-z-sheet)}[data-zs-floating-bottom]{bottom:calc(var(--zs-m-bottom-offset) + 12px)!important}}@media (prefers-reduced-motion:reduce){.zs-m-topbar,.zs-m-topbar-surface,.zs-m-bottomnav,.zs-m-sheet,.zs-m-sheet-backdrop,.zs-m-tab-icon,.zs-m-iconbtn,.zs-m-btn,.zs-m-row,.zs-m-tile,.zs-m-segment{transition:none!important}.zs-m-skeleton{animation:none}}:root,html[data-zs-header-theme=dark]{--zs-m-surface:#111413;--zs-m-surface-2:#171b19;--zs-m-surface-line:#ffffff14;--zs-m-field-bg:#151917;--zs-m-field-line:#ffffff29;--zs-m-field-ink:#f3f5f2;--zs-m-positive:#3ddc97;--zs-m-negative:#ff6b6b}html[data-zs-header-theme=light],html:has(main [data-zs-page-appearance=light]),html[data-zs-mobile-light]:not([data-zs-header-theme]):not(:has([data-zs-page-appearance=dark])){--zs-m-surface:#fff;--zs-m-surface-2:#f4f5f2;--zs-m-surface-line:#11151214;--zs-m-field-bg:#fff;--zs-m-field-line:#11151233;--zs-m-field-ink:#111512;--zs-m-positive:#0f7a4a;--zs-m-negative:#c42b2b}@media (max-width:1023.98px){html,body{overflow-x:clip}main{max-inline-size:100vw;overflow-x:clip}main :where(img,video,canvas,svg,iframe){max-inline-size:100%}main :where(img,video){block-size:auto}main :where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){font-size:max(16px,1em)}main :where(input,textarea,select):-webkit-autofill{-webkit-text-fill-color:var(--zs-m-field-ink);caret-color:var(--zs-m-field-ink);box-shadow:0 0 0 1000px var(--zs-m-field-bg)inset;transition:background-color 600000s,color 600000s}main :where(input,textarea,select):-webkit-autofill:hover{-webkit-text-fill-color:var(--zs-m-field-ink);caret-color:var(--zs-m-field-ink);box-shadow:0 0 0 1000px var(--zs-m-field-bg)inset;transition:background-color 600000s,color 600000s}main :where(input,textarea,select):-webkit-autofill:focus{-webkit-text-fill-color:var(--zs-m-field-ink);caret-color:var(--zs-m-field-ink);box-shadow:0 0 0 1000px var(--zs-m-field-bg)inset;transition:background-color 600000s,color 600000s}html{scroll-padding-block-start:calc(var(--zs-header-height) + 12px);scroll-padding-block-end:calc(var(--zs-m-nav-space) + 12px)}main :where(a,button,[role=button],summary){-webkit-tap-highlight-color:transparent}}.zs-m-section{padding-inline:var(--zs-m-gutter);margin-block:var(--zs-m-section-gap)}.zs-m-section-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-block-end:var(--zs-m-block-gap);display:flex}.zs-m-section-eyebrow{font-size:var(--zs-m-text-sm);color:var(--zs-m-ink-3);margin:0 0 4px;font-weight:500}.zs-m-section-title{font-size:var(--zs-m-text-xl);color:var(--zs-m-ink);margin:0;font-weight:700;line-height:1.3}.zs-m-surface{border-radius:var(--zs-m-radius-md);background:var(--zs-m-surface);box-shadow:inset 0 0 0 var(--zs-m-hairline)var(--zs-m-surface-line);padding:var(--zs-m-card-pad)}.zs-m-scroll-x{margin-inline:calc(-1*var(--zs-m-gutter));padding-inline:var(--zs-m-gutter);overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-padding-inline:var(--zs-m-gutter);scrollbar-width:none;grid-auto-columns:minmax(78%,1fr);grid-auto-flow:column;gap:10px;display:grid;overflow-x:auto}.zs-m-scroll-x::-webkit-scrollbar{display:none}.zs-m-scroll-x>*{scroll-snap-align:start;min-inline-size:0}.zs-m-toolbar{scrollbar-width:none;align-items:center;gap:6px;padding-block:2px;display:flex;overflow-x:auto}.zs-m-toolbar::-webkit-scrollbar{display:none}.zs-m-chip{min-block-size:var(--zs-m-control-h-sm);border-radius:var(--zs-m-radius-pill);background:var(--zs-m-surface-2);color:var(--zs-m-ink-2);font:inherit;font-size:var(--zs-m-text-sm);font-variant-numeric:tabular-nums;border:0;flex:none;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.zs-m-chip[aria-pressed=true],.zs-m-chip[aria-selected=true],.zs-m-chip[data-active="1"]{background:var(--zs-m-btn-primary-bg);color:var(--zs-m-btn-primary-ink);font-weight:700}.zs-m-num{font-variant-numeric:tabular-nums lining-nums;direction:ltr;unicode-bidi:isolate}.zs-m-up{color:var(--zs-m-positive)}.zs-m-down{color:var(--zs-m-negative)}.zs-m-state{border-radius:var(--zs-m-radius-md);background:var(--zs-m-surface-2);text-align:center;color:var(--zs-m-ink-2);font-size:var(--zs-m-text-md);justify-items:center;gap:8px;padding:28px 20px;line-height:1.6;display:grid}.zs-m-state-title{font-size:var(--zs-m-text-lg);color:var(--zs-m-ink);margin:0;font-weight:700}.zs-m-state[data-kind=error] .zs-m-state-title{color:var(--zs-m-danger-ink)}.zs-m-list.is-page{background:var(--zs-m-surface);box-shadow:inset 0 0 0 var(--zs-m-hairline)var(--zs-m-surface-line)}.zs-m-list.is-page>li+li{border-block-start-color:var(--zs-m-surface-line)}@media (prefers-reduced-motion:reduce){.zs-m-scroll-x{scroll-behavior:auto}}.zs-m-intel-step{display:contents}.zs-m-intel-marker{display:none}@media (max-width:1023.98px){html[data-zs-mroute=markets] [data-zs-page=markets-overview]{--mo-gutter:var(--zs-m-gutter);--mo-gutter-compact:var(--zs-m-gutter);--mo-section-gap:var(--zs-m-block-gap);--mo-card-padding:var(--zs-m-card-pad)}html[data-zs-mroute=radar] .rdr-shell[data-zs-visual-mode=light-tool]{--rdr-inline-gutter:var(--zs-m-gutter);--rdr-ed-gutter:var(--zs-m-gutter);--rdr-comp-gutter:var(--zs-m-gutter);--rdr-wt-gutter:var(--zs-m-gutter)}html[data-zs-mroute=news] .news-page.zn-page{--zn-gutter:var(--zs-m-gutter)}html[data-zs-mroute=pricing] .zs-pricing-page{--zs-pricing-pad-inline:var(--zs-m-gutter)}html[data-zs-mroute^=school]{--school-lesson-gutter:var(--zs-m-gutter)}html[data-zs-mroute] :is(.ntfShell,.altShell,.recShell,.ecdShell,.mrdShell){--zs-product-gutter:var(--zs-m-gutter)}html[data-zs-mroute=vip]{--vip-section-pad:var(--zs-m-section-gap);--vip-section-pad-sm:var(--zs-m-section-gap)}.zs-m-intel-marker{margin:8px var(--zs-m-gutter)12px;font-size:var(--zs-m-text-sm);color:var(--zs-m-ink-3);font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-weight:500;display:flex}.zs-m-intel-marker:before{content:"";background:var(--zs-m-brand);block-size:8px;inline-size:8px;box-shadow:0 0 0 4px var(--zs-m-press);border-radius:50%;flex:none;order:-1}.zs-m-intel-marker:after{content:"";background:var(--zs-m-surface-line);flex:1;block-size:1px}.zs-m-intel-marker b{color:var(--zs-m-ink);font-weight:700}html[data-zs-mroute=auth] main{min-block-size:calc(100dvh - var(--zs-header-height));color-scheme:light;padding-block-end:calc(24px + var(--zs-m-safe-bottom))}html[data-zs-mroute=auth] main :where(label,legend){color:var(--zs-m-ink-2)}html[data-zs-mroute=auth] main :where(input:not([type=checkbox],[type=radio]),select,textarea){min-block-size:var(--zs-m-control-h-lg);border-radius:var(--zs-m-radius-md);background-color:var(--zs-m-field-bg);color:var(--zs-m-field-ink);border:1px solid var(--zs-m-field-line)}html[data-zs-mroute=auth] main :where(input,textarea)::placeholder{color:var(--zs-m-ink-3);opacity:1}html[data-zs-mroute=auth] main :where(input[type=checkbox]){block-size:20px;inline-size:20px;accent-color:var(--zs-m-btn-primary-bg)}html[data-zs-mroute=auth] main :where(button[type=button]){min-block-size:var(--zs-m-hit);color:var(--zs-m-ink)}html[data-zs-mroute=auth][data-zs-keyboard=open] main :where(form){padding-block-end:24px}html[data-zs-mroute=checkout] main{padding-block-end:calc(24px + var(--zs-m-safe-bottom))}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-cards-grid{margin-inline:calc(-1*var(--zs-m-gutter));padding-inline:var(--zs-m-gutter);overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-padding-inline:var(--zs-m-gutter);scrollbar-width:none;grid-template-columns:none;grid-auto-columns:minmax(84%,1fr);grid-auto-flow:column;gap:12px;padding-block:4px 12px;display:grid;overflow-x:auto}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-cards-grid::-webkit-scrollbar{display:none}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-cards-grid>.zs-plan-card{scroll-snap-align:center;inline-size:auto;min-inline-size:0;max-inline-size:none}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-cards-grid>.zs-plan-card.is-featured{order:-1}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-plan-feature--placeholder{display:none}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-cmp-scroll{overscroll-behavior-inline:contain;margin-inline:calc(-1*var(--zs-m-gutter));padding-inline:var(--zs-m-gutter);overflow-x:auto}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-cmp-table{border-collapse:separate;border-spacing:0;min-inline-size:468px}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) :is(.zs-cmp-th-label,.zs-cmp-row-label){z-index:1;background:inherit;background-color:var(--zs-pricing-bg,var(--zs-m-bg));inline-size:132px;min-inline-size:132px;position:sticky;inset-inline-start:calc(-1*var(--zs-m-gutter))}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) :is(.zs-cmp-th-plan,.zs-cmp-td){min-inline-size:112px}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-enterprise-inline{flex-direction:column;align-items:stretch;gap:14px}html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-enterprise-inline-cta{min-block-size:var(--zs-m-control-h-lg);inline-size:100%}html[data-zs-mroute^=settings] main :where(input,select,textarea)::placeholder{color:var(--zs-m-ink-3);opacity:1}html[data-zs-mroute=school-lesson]{--school-prose-max:min(var(--zs-m-reading-max),100%);--school-section-gap:var(--zs-m-section-gap)}html:not(.light)[data-zs-mroute=news] .news-page.zn-page .zn-hero-support{color:var(--zn-secondary,#ffffffd1)}html:not(.light)[data-zs-mroute=news] .news-page.zn-page .zn-hero-desc{color:var(--zn-muted,#ffffffa8)}html[data-zs-mroute=news] .news-page.zn-page .zn-hero-headline{white-space:normal;font-size:var(--zs-m-text-xl)}html[data-zs-mroute=news] .news-page.zn-page .zn-hero-title{font-size:40px}html[data-zs-mroute=news] .news-page.zn-page .zn-hero-visual{display:none}html[data-zs-mroute=indicator-studio] .zsv2-wrap{padding-inline:var(--zs-m-gutter)}html[data-zs-mroute=indicator-studio] :is(.zsv2-suite,.zsv2-plate){margin-inline:calc(-1*var(--zs-m-gutter))}html[data-zs-mroute=indicator-studio] :is(.zsv2-chart,.zsv2-chart-state){min-block-size:clamp(280px,52vh,420px)}html[data-zs-mroute=crypto] :is(.crypto-all-coins-page,.crypto-detail-page) table{font-variant-numeric:tabular-nums}html[data-zs-mroute=crypto] :is(.crypto-all-coins-page,.crypto-detail-page) :where(.table-wrap,[class*=table-scroll],[class*=TableScroll]){overscroll-behavior-inline:contain;overflow-x:auto}html[data-zs-mroute=vip-live] main{padding-block-end:8px}html[data-zs-mroute=shock] .shock-mode-root{min-block-size:calc(100dvh - var(--zs-header-height) - var(--zs-m-nav-space))}html[data-zs-mroute=content] :is([data-zs-about-page],[data-zs-contact-page]){padding-inline:0}html[data-zs-mroute=content] [data-zs-contact-page] :where(input,textarea,select){min-block-size:var(--zs-m-control-h-lg)}html[data-zs-mroute=content] [data-zs-contact-page] :where(textarea){min-block-size:132px}}@media (min-width:768px) and (max-width:1023.98px){html[data-zs-mroute=pricing] .zs-pricing-page:not([data-zs-school-pricing-page]) .zs-cards-grid{grid-auto-columns:minmax(46%,1fr)}html[data-zs-mroute=settings-index] .zs-m-settings-index,html[data-zs-mroute=content] main>*{max-inline-size:var(--zs-m-content-max);margin-inline:auto}}@media (max-width:1023.98px){[data-zs-theme-toggle]{display:none!important}iframe[data-zs-static-lesson-frame]:not([data-zs-theme-synced]),.zs-brokers-embed__frame[src*=theme\=dark]{visibility:hidden}}

