////
///
/// Typescale Tokens
/// ===========================================================================
///
/// Design token definitions for typography scale.
/// Only :root CSS custom properties, no selectors.
///
/// @group Lexicon
/// @author Scape Press
/// @link https://scape.style
/// @since 0.1.0 initial release
/// @access public
///
////

@use "../01-core/external" as *;

:root {
    // ========================================================================
    // Base
    // ========================================================================

    --ss-font-size-base: #{q(16)};
    --ss-line-height-base: 1.5;

    // ========================================================================
    // Font Size Scale
    // ========================================================================

    --ss-font-size-xs: #{q(12)};
    --ss-font-size-sm: #{q(14)};
    --ss-font-size-md: #{q(16)};
    --ss-font-size-lg: #{q(18)};
    --ss-font-size-xl: #{q(20)};
    --ss-font-size-2xl: #{q(24)};
    --ss-font-size-3xl: #{q(30)};
    --ss-font-size-4xl: #{q(36)};
    --ss-font-size-5xl: #{q(48)};
    --ss-font-size-6xl: #{q(60)};
    --ss-font-size-7xl: #{q(72)};
    --ss-font-size-8xl: #{q(96)};
    --ss-font-size-9xl: #{q(128)};

    // Legacy alias (older components reference `xxl` instead of `2xl`).
    --ss-font-size-xxl: var(--ss-font-size-2xl);

    // ========================================================================
    // Line Height Scale
    // ========================================================================

    --ss-line-height-none: 1;
    --ss-line-height-tight: 1.25;
    --ss-line-height-snug: 1.375;
    --ss-line-height-normal: 1.5;
    --ss-line-height-relaxed: 1.625;
    --ss-line-height-loose: 2;

    // ========================================================================
    // Font Weight
    // ========================================================================

    --ss-font-weight-thin: 100;
    --ss-font-weight-extralight: 200;
    --ss-font-weight-light: 300;
    --ss-font-weight-normal: 400;
    --ss-font-weight-regular: var(--ss-font-weight-normal);
    --ss-font-weight-medium: 500;
    --ss-font-weight-semibold: 600;
    --ss-font-weight-bold: 700;
    --ss-font-weight-extrabold: 800;
    --ss-font-weight-black: 900;

    // ========================================================================
    // Letter Spacing
    // ========================================================================

    --ss-tracking-tighter: -0.05em;
    --ss-tracking-tight: -0.025em;
    --ss-tracking-normal: 0em;
    --ss-tracking-wide: 0.025em;
    --ss-tracking-wider: 0.05em;
    --ss-tracking-widest: 0.1em;
}
