/* Generado por tools/extract_design_assets.py desde el export de Claude Design.
 * No editar a mano: se regenera y se perderia. Las reglas escritas a mano de
 * la pagina viven en leaderboard-design-page.css, que este script no toca.
 */
/* =========================================================================
   Darwinex Zero — Colors & Type Foundations
   Brand: serious-about-trading, meritocratic, prop-firm-adjacent
   Signature: electric lime on dark navy
   ========================================================================= */

/* -----------------------------------------------------------------------
   Webfonts
   NOTE: Darwinex Zero ships custom display + sans on the live site. We do
   not have the source font files, so we substitute with the closest free
   Google Fonts equivalents. SEE README "Typography substitutions".
   ----------------------------------------------------------------------- */
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin-ext-italic.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin-italic.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/static/media/dw-dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}




/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/media/dw-jetbrains-mono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/media/dw-jetbrains-mono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}




/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/media/dw-jetbrains-mono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/media/dw-jetbrains-mono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}




/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/media/dw-jetbrains-mono-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/media/dw-jetbrains-mono-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}




/* latin-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/media/dw-source-serif-4-latin-ext-italic.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/media/dw-source-serif-4-latin-italic.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}




/* latin-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/static/media/dw-source-serif-4-latin-ext-italic.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/static/media/dw-source-serif-4-latin-italic.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}




/* latin-ext */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/static/media/dw-source-serif-4-latin-ext-italic.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/static/media/dw-source-serif-4-latin-italic.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}




















:root {
  /* ===== Brand color: signature lime ===================================
     This is THE Darwinex Zero color — the "ZERO" in the logo, every CTA,
     every accent. Use sparingly and confidently: on dark, on photographs,
     on focused interactive elements. Never tint or shade casually. */
  --dz-lime:        #D8F937;   /* primary brand — pulled directly from logo SVG */
  --dz-lime-600:    #BCDB1F;   /* hover / pressed on light */
  --dz-lime-700:    #9CB813;   /* deeper accent / outline focus */
  --dz-lime-100:    #F1FCB3;   /* tinted background wash */
  --dz-lime-50:     #F8FEDC;   /* faintest hint */

  /* ===== Brand color: dark ink =========================================
     Near-black navy used for body text, primary backgrounds (banners,
     dashboards, dark-mode surfaces), and the wordmark on light. */
  --dz-ink:         #14182B;   /* primary dark — banners, headers */
  --dz-ink-900:     #0B0E1A;   /* deepest — modal scrims, dark headers */
  --dz-ink-800:     #1A1F33;   /* secondary surfaces on dark */
  --dz-ink-700:     #262B40;   /* card surfaces on dark */
  --dz-ink-600:     #3A4058;   /* dividers on dark, muted */

  /* ===== Neutrals ====================================================== */
  --dz-white:       #FFFFFF;
  --dz-paper:       #FAFAF8;   /* off-white page background */
  --dz-grey-50:     #F4F5F7;
  --dz-grey-100:    #E8EAEE;
  --dz-grey-200:    #D5D8DF;
  --dz-grey-300:    #B6BAC4;
  --dz-grey-400:    #8A8F9C;
  --dz-grey-500:    #5E6473;
  --dz-grey-600:    #404655;
  --dz-grey-700:    #2A2F3D;

  /* ===== Semantic foreground =========================================== */
  --fg-1:           var(--dz-ink);       /* primary text on light */
  --fg-2:           #3A4054;             /* secondary text */
  --fg-3:           #6B7186;             /* tertiary / meta */
  --fg-disabled:    #B6BAC4;
  --fg-on-dark-1:   var(--dz-white);
  --fg-on-dark-2:   #B8BCCB;
  --fg-on-dark-3:   #7A8099;
  --fg-on-lime:     var(--dz-ink);       /* lime is never below white text */
  --fg-link:        var(--dz-ink);       /* links inherit, underlined */
  --fg-accent:      var(--dz-lime-700);  /* accent on light needs darker lime */

  /* ===== Semantic background =========================================== */
  --bg-1:           var(--dz-white);
  --bg-2:           var(--dz-paper);
  --bg-3:           var(--dz-grey-50);
  --bg-dark-1:      var(--dz-ink);
  --bg-dark-2:      var(--dz-ink-800);
  --bg-dark-3:      var(--dz-ink-700);
  --bg-accent:      var(--dz-lime);

  /* ===== Semantic feedback ============================================= */
  --positive:       #1FB97A;             /* P&L positive, success */
  --positive-bg:    #E8F8F0;
  --negative:       #E5484D;             /* P&L negative, error */
  --negative-bg:    #FCEBEC;
  --warning:        #F5A623;
  --warning-bg:     #FFF3DC;
  --info:           #3B82F6;
  --info-bg:        #E8F0FE;

  /* ===== Borders & dividers ============================================ */
  --border-1:       #E8EAEE;             /* default hairline */
  --border-2:       #D5D8DF;             /* stronger card edge */
  --border-strong:  var(--dz-ink);
  --border-on-dark: rgba(255,255,255,0.08);
  --border-on-dark-strong: rgba(255,255,255,0.16);

  /* ===== Typography families ===========================================
     --font-sans   : Workhorse UI + body. Humanist sans with friendly,
                     slightly geometric shapes. Substituting DM Sans.
     --font-serif  : Italic-emphasis ONLY. Never used for body. Pairs with
                     --font-sans to create the signature "Serious about
                     trading? / So are we." rhythm.
     --font-mono   : Data, tickers, code. */
  --font-sans:    "DM Sans", "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-serif:   "Source Serif 4", "Source Serif Pro", "Iowan Old Style", "Times New Roman", serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* ===== Type scale ====================================================
     Display rendering uses the sans for the main statement and the serif
     italic for the emotional / claim half — a tight pair, no breathing
     room between. */
  --fs-display-1: clamp(48px, 6.4vw, 96px);  /* @kind font */   /* hero */
  --fs-display-2: clamp(40px, 4.8vw, 72px);  /* @kind font */   /* page hero */
  --fs-h1:        clamp(32px, 3.4vw, 48px);  /* @kind font */
  --fs-h2:        clamp(26px, 2.6vw, 36px);  /* @kind font */
  --fs-h3:        22px;  /* @kind font */
  --fs-h4:        18px;  /* @kind font */
  --fs-h5:        16px;  /* @kind font */
  --fs-body-lg:   18px;  /* @kind font */
  --fs-body:      16px;  /* @kind font */
  --fs-body-sm:   14px;  /* @kind font */
  --fs-caption:   13px;  /* @kind font */
  --fs-micro:     11px;  /* @kind font */

  /* ===== Line heights ================================================== */
  --lh-tight:     1.05;  /* @kind font */     /* display */
  --lh-snug:      1.18;  /* @kind font */     /* h1–h3 */
  --lh-normal:    1.5;  /* @kind font */      /* body */
  --lh-relaxed:   1.65;  /* @kind font */     /* long-form body */

  /* ===== Weights ======================================================= */
  --fw-regular:   400;  /* @kind font */
  --fw-medium:    500;  /* @kind font */
  --fw-semibold:  600;  /* @kind font */
  --fw-bold:      700;  /* @kind font */
  --fw-heavy:     800;  /* @kind font */

  /* ===== Letter spacing ================================================ */
  --ls-display:   -0.02em;  /* @kind font */  /* big sizes pull in */
  --ls-heading:   -0.012em;  /* @kind font */
  --ls-body:      0;  /* @kind font */
  --ls-caps:      0.08em;  /* @kind font */   /* eyebrows, labels, all-caps tags */

  /* ===== Spacing scale (4px base) ====================================== */
  --sp-0:   0;  /* @kind spacing */
  --sp-1:   4px;
  --sp-2:   8px;
  --sp-3:   12px;
  --sp-4:   16px;
  --sp-5:   20px;
  --sp-6:   24px;
  --sp-7:   32px;
  --sp-8:   40px;
  --sp-9:   48px;
  --sp-10:  64px;
  --sp-11:  80px;
  --sp-12:  120px;

  /* ===== Radii =========================================================
     Pill buttons are SIGNATURE — fully rounded primary CTAs. Cards use
     a soft 16–20px radius. Tight UI controls use 8px. */
  --r-xs:    4px;
  --r-sm:    8px;
  --r-md:    12px;
  --r-lg:    16px;
  --r-xl:    20px;
  --r-2xl:   28px;
  --r-pill:  999px;

  /* ===== Shadows / elevation ===========================================
     Darwinex Zero uses elevation sparingly. Cards on light get a soft,
     low-spread shadow. Dark surfaces use inner borders + brightness
     instead of shadows. */
  --shadow-0:  none;
  --shadow-1:  0 1px 2px rgba(20, 24, 43, 0.04), 0 1px 1px rgba(20, 24, 43, 0.03);
  --shadow-2:  0 4px 12px rgba(20, 24, 43, 0.06), 0 2px 4px rgba(20, 24, 43, 0.04);
  --shadow-3:  0 12px 32px rgba(20, 24, 43, 0.10), 0 4px 8px rgba(20, 24, 43, 0.06);
  --shadow-pop:0 24px 64px rgba(20, 24, 43, 0.16);
  --shadow-lime-glow: 0 0 0 4px rgba(216, 249, 55, 0.35);
  --focus-ring: 0 0 0 3px rgba(216, 249, 55, 0.55);

  /* ===== Motion ======================================================== */
  --ease-out:   cubic-bezier(0.2, 0.7, 0.3, 1);  /* @kind other */
  --ease-in-out:cubic-bezier(0.6, 0.0, 0.2, 1);  /* @kind other */
  --dur-fast:   120ms;  /* @kind other */
  --dur-base:   200ms;  /* @kind other */
  --dur-slow:   320ms;  /* @kind other */

  /* ===== Container widths ============================================== */
  --container-narrow:  720px;  /* @kind spacing */
  --container-base:    1080px;  /* @kind spacing */
  --container-wide:    1280px;  /* @kind spacing */
  --container-xwide:   1440px;  /* @kind spacing */
}

/* =========================================================================
   Semantic element styles — drop colors_and_type.css into a page and use
   the classes / elements below directly.
   ========================================================================= */

html, body {
  font-family: var(--font-sans);
  font-size:   var(--fs-body);
  line-height: var(--lh-normal);
  color:       var(--fg-1);
  background:  var(--bg-1);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Display — the big hero statement.
   The signature treatment pairs sans + italic serif on consecutive lines.
   Example:
     <h1 class="dz-display">
       Serious about trading?
       <em class="dz-italic">So are we.</em>
     </h1>                                                                  */
.dz-display, .dz-display-1 {
  font-family:    var(--font-sans);
  font-size:      var(--fs-display-1);
  font-weight:    var(--fw-bold);
  line-height:    var(--lh-tight);
  letter-spacing: var(--ls-display);
}
.dz-display-2 {
  font-family:    var(--font-sans);
  font-size:      var(--fs-display-2);
  font-weight:    var(--fw-bold);
  line-height:    var(--lh-tight);
  letter-spacing: var(--ls-display);
}

/* Italic serif accent — used to close a thought, soften the punch of the
   bold sans, give the brand a literary/personal feeling. ALWAYS italic. */
.dz-italic, em.dz-italic, .dz-serif-italic {
  font-family: var(--font-serif);
  font-style:  italic;
  font-weight: var(--fw-regular);
  letter-spacing: -0.005em;
}

h1, .dz-h1 {
  font-family:    var(--font-sans);
  font-size:      var(--fs-h1);
  font-weight:    var(--fw-bold);
  line-height:    var(--lh-snug);
  letter-spacing: var(--ls-heading);
  margin: 0 0 var(--sp-4) 0;
}
h2, .dz-h2 {
  font-family:    var(--font-sans);
  font-size:      var(--fs-h2);
  font-weight:    var(--fw-bold);
  line-height:    var(--lh-snug);
  letter-spacing: var(--ls-heading);
  margin: 0 0 var(--sp-3) 0;
}
h3, .dz-h3 {
  font-family: var(--font-sans);
  font-size:   var(--fs-h3);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-snug);
  margin: 0 0 var(--sp-3) 0;
}
h4, .dz-h4 {
  font-family: var(--font-sans);
  font-size:   var(--fs-h4);
  font-weight: var(--fw-semibold);
  line-height: 1.3;
  margin: 0 0 var(--sp-2) 0;
}

p, .dz-body {
  font-family: var(--font-sans);
  font-size:   var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-normal);
  color:       var(--fg-1);
  margin: 0 0 var(--sp-4) 0;
  text-wrap: pretty;
}
.dz-body-lg { font-size: var(--fs-body-lg); line-height: var(--lh-relaxed); }
.dz-body-sm { font-size: var(--fs-body-sm); }

/* Eyebrow / kicker — small all-caps label that sits above a heading. */
.dz-eyebrow {
  font-family:    var(--font-sans);
  font-size:      var(--fs-caption);
  font-weight:    var(--fw-semibold);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  color:          var(--fg-3);
}

.dz-caption { font-size: var(--fs-caption); color: var(--fg-3); }
.dz-micro   { font-size: var(--fs-micro);   color: var(--fg-3); letter-spacing: var(--ls-caps); text-transform: uppercase; }

code, kbd, samp, pre, .dz-mono, .dz-ticker {
  font-family: var(--font-mono);
  font-size:   0.92em;
}

/* Tabular numbers — required for tickers, P&L, prices. */
.dz-num, .dz-figure {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

a {
  color: var(--fg-link);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  transition: color var(--dur-fast) var(--ease-out);
}
a:hover { color: var(--dz-lime-700); }

::selection { background: var(--dz-lime); color: var(--dz-ink); }


:root,:root[data-theme=dark]{--lb-page:#0B0E1A;--lb-surface:#14182B;--lb-surface-2:#1A1F33;--lb-line:rgba(255,255,255,.09);--lb-line-2:rgba(255,255,255,.18);--lb-t1:#FFFFFF;--lb-t2:#B8BCCB;--lb-t3:#7A8099;--lb-pos:#35D69B;--lb-neg:#FF6B6F;--lb-bar:rgba(216,249,55,.16);--lb-hover:rgba(255,255,255,.04);--lb-accent:#D8F937;--lb-spark:#D8F937;--lb-bar-fill:#D8F937;--lb-dot-on:#D8F937;--lb-tg-dark-bg:#D8F937;--lb-tg-dark-fg:#14182B;--lb-tg-light-bg:transparent;--lb-tg-light-fg:#B8BCCB;--lb-dot-off:rgba(255,255,255,.22)}
:root[data-theme=light]{--lb-page:#FAFAF8;--lb-surface:#FFFFFF;--lb-surface-2:#F4F5F7;--lb-line:#E8EAEE;--lb-line-2:#D5D8DF;--lb-t1:#14182B;--lb-t2:#3A4054;--lb-t3:#6B7186;--lb-pos:#0E9E66;--lb-neg:#D03236;--lb-bar:rgba(156,184,19,.22);--lb-hover:#F4F5F7;--lb-accent:#6F8A0F;--lb-spark:#8CA815;--lb-bar-fill:#C7E52C;--lb-dot-on:#8CA815;--lb-tg-dark-bg:transparent;--lb-tg-dark-fg:#B8BCCB;--lb-tg-light-bg:#D8F937;--lb-tg-light-fg:#14182B;--lb-dot-off:#D5D8DF}
html,body{margin:0;padding:0;background:var(--lb-page)}
@keyframes lbGrow{0%,100%{stroke-dashoffset:0}0.3%{stroke-dashoffset:3000}62%{stroke-dashoffset:0}}
@keyframes lbUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
