/**
 * Material 3 Design Tokens
 * Dark/Light Theme for lab.wales
 */

:root {
  /* === Color Tokens (Dark Theme Primary) === */
  --md-sys-color-primary: #8fc87a;
  --md-sys-color-on-primary: #15310e;
  --md-sys-color-primary-container: #3a5624;
  --md-sys-color-on-primary-container: #c5e8b0;

  --md-sys-color-secondary: #a4b586;
  --md-sys-color-on-secondary: #2e3619;
  --md-sys-color-secondary-container: #444e2e;
  --md-sys-color-on-secondary-container: #d2e0b5;

  --md-sys-color-tertiary: #d4a474;
  --md-sys-color-on-tertiary: #3b2308;
  --md-sys-color-tertiary-container: #533a1e;
  --md-sys-color-on-tertiary-container: #f2d5b5;

  --md-sys-color-error: #ffb4ab;
  --md-sys-color-on-error: #690005;
  --md-sys-color-error-container: #93000a;
  --md-sys-color-on-error-container: #ffdad6;

  --md-sys-color-background: #1a1f16;
  --md-sys-color-on-background: #e2e8d8;

  --md-sys-color-surface: #1a1f16;
  --md-sys-color-on-surface: #e2e8d8;
  --md-sys-color-surface-variant: #434840;
  --md-sys-color-on-surface-variant: #c3c8c0;
  --md-sys-color-surface-container-lowest: #121610;
  --md-sys-color-surface-container-low: #1e2319;
  --md-sys-color-surface-container: #22281e;
  --md-sys-color-surface-container-high: #2a3025;
  --md-sys-color-surface-container-highest: #353b30;

  --md-sys-color-inverse-surface: #e2e8d8;
  --md-sys-color-inverse-on-surface: #2c3028;
  --md-sys-color-inverse-primary: #4a7335;

  --md-sys-color-outline: #7a8a6d;
  --md-sys-color-outline-variant: #434840;

  --md-sys-color-shadow: #000000;
  --md-sys-color-scrim: #000000;

  /* === Elevation Shadows === */
  --md-sys-elevation-1: 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.15);
  --md-sys-elevation-2: 0 1px 2px rgba(0, 0, 0, 0.3), 0 2px 6px 2px rgba(0, 0, 0, 0.15);
  --md-sys-elevation-3: 0 4px 8px 3px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.3);
  --md-sys-elevation-4: 0 6px 10px 4px rgba(0, 0, 0, 0.15), 0 2px 3px rgba(0, 0, 0, 0.3);
  --md-sys-elevation-5: 0 8px 12px 6px rgba(0, 0, 0, 0.15), 0 4px 4px rgba(0, 0, 0, 0.3);

  /* === Shape Tokens === */
  --md-sys-shape-corner-none: 0px;
  --md-sys-shape-corner-extra-small: 4px;
  --md-sys-shape-corner-small: 8px;
  --md-sys-shape-corner-medium: 12px;
  --md-sys-shape-corner-large: 16px;
  --md-sys-shape-corner-extra-large: 28px;
  --md-sys-shape-corner-full: 9999px;

  /* === Typography Tokens === */
  --md-sys-typescale-display-large-font: 'Roboto', sans-serif;
  --md-sys-typescale-display-large-size: 3.562rem;
  --md-sys-typescale-display-large-weight: 400;
  --md-sys-typescale-display-large-line-height: 4rem;
  --md-sys-typescale-display-large-letter-spacing: -0.015625rem;

  --md-sys-typescale-display-medium-font: 'Roboto', sans-serif;
  --md-sys-typescale-display-medium-size: 2.812rem;
  --md-sys-typescale-display-medium-weight: 400;
  --md-sys-typescale-display-medium-line-height: 3.25rem;
  --md-sys-typescale-display-medium-letter-spacing: 0;

  --md-sys-typescale-display-small-font: 'Roboto', sans-serif;
  --md-sys-typescale-display-small-size: 2.25rem;
  --md-sys-typescale-display-small-weight: 400;
  --md-sys-typescale-display-small-line-height: 2.75rem;
  --md-sys-typescale-display-small-letter-spacing: 0;

  --md-sys-typescale-headline-large-font: 'Roboto', sans-serif;
  --md-sys-typescale-headline-large-size: 2rem;
  --md-sys-typescale-headline-large-weight: 400;
  --md-sys-typescale-headline-large-line-height: 2.5rem;
  --md-sys-typescale-headline-large-letter-spacing: 0;

  --md-sys-typescale-headline-medium-font: 'Roboto', sans-serif;
  --md-sys-typescale-headline-medium-size: 1.75rem;
  --md-sys-typescale-headline-medium-weight: 400;
  --md-sys-typescale-headline-medium-line-height: 2.25rem;
  --md-sys-typescale-headline-medium-letter-spacing: 0;

  --md-sys-typescale-headline-small-font: 'Roboto', sans-serif;
  --md-sys-typescale-headline-small-size: 1.5rem;
  --md-sys-typescale-headline-small-weight: 400;
  --md-sys-typescale-headline-small-line-height: 2rem;
  --md-sys-typescale-headline-small-letter-spacing: 0;

  --md-sys-typescale-title-large-font: 'Roboto', sans-serif;
  --md-sys-typescale-title-large-size: 1.375rem;
  --md-sys-typescale-title-large-weight: 400;
  --md-sys-typescale-title-large-line-height: 1.75rem;
  --md-sys-typescale-title-large-letter-spacing: 0;

  --md-sys-typescale-title-medium-font: 'Roboto', sans-serif;
  --md-sys-typescale-title-medium-size: 1rem;
  --md-sys-typescale-title-medium-weight: 500;
  --md-sys-typescale-title-medium-line-height: 1.5rem;
  --md-sys-typescale-title-medium-letter-spacing: 0.009375rem;

  --md-sys-typescale-title-small-font: 'Roboto', sans-serif;
  --md-sys-typescale-title-small-size: 0.875rem;
  --md-sys-typescale-title-small-weight: 500;
  --md-sys-typescale-title-small-line-height: 1.25rem;
  --md-sys-typescale-title-small-letter-spacing: 0.00625rem;

  --md-sys-typescale-body-large-font: 'Roboto', sans-serif;
  --md-sys-typescale-body-large-size: 1rem;
  --md-sys-typescale-body-large-weight: 400;
  --md-sys-typescale-body-large-line-height: 1.5rem;
  --md-sys-typescale-body-large-letter-spacing: 0.03125rem;

  --md-sys-typescale-body-medium-font: 'Roboto', sans-serif;
  --md-sys-typescale-body-medium-size: 0.875rem;
  --md-sys-typescale-body-medium-weight: 400;
  --md-sys-typescale-body-medium-line-height: 1.25rem;
  --md-sys-typescale-body-medium-letter-spacing: 0.015625rem;

  --md-sys-typescale-body-small-font: 'Roboto', sans-serif;
  --md-sys-typescale-body-small-size: 0.75rem;
  --md-sys-typescale-body-small-weight: 400;
  --md-sys-typescale-body-small-line-height: 1rem;
  --md-sys-typescale-body-small-letter-spacing: 0.025rem;

  --md-sys-typescale-label-large-font: 'Roboto', sans-serif;
  --md-sys-typescale-label-large-size: 0.875rem;
  --md-sys-typescale-label-large-weight: 500;
  --md-sys-typescale-label-large-line-height: 1.25rem;
  --md-sys-typescale-label-large-letter-spacing: 0.00625rem;

  --md-sys-typescale-label-medium-font: 'Roboto', sans-serif;
  --md-sys-typescale-label-medium-size: 0.75rem;
  --md-sys-typescale-label-medium-weight: 500;
  --md-sys-typescale-label-medium-line-height: 1rem;
  --md-sys-typescale-label-medium-letter-spacing: 0.03125rem;

  --md-sys-typescale-label-small-font: 'Roboto', sans-serif;
  --md-sys-typescale-label-small-size: 0.688rem;
  --md-sys-typescale-label-small-weight: 500;
  --md-sys-typescale-label-small-line-height: 1rem;
  --md-sys-typescale-label-small-letter-spacing: 0.03125rem;

  /* === Motion Tokens === */
  --md-sys-motion-duration-short1: 50ms;
  --md-sys-motion-duration-short2: 100ms;
  --md-sys-motion-duration-short3: 150ms;
  --md-sys-motion-duration-short4: 200ms;
  --md-sys-motion-duration-medium1: 250ms;
  --md-sys-motion-duration-medium2: 300ms;
  --md-sys-motion-duration-medium3: 350ms;
  --md-sys-motion-duration-medium4: 400ms;
  --md-sys-motion-duration-long1: 450ms;
  --md-sys-motion-duration-long2: 500ms;
  --md-sys-motion-duration-long3: 550ms;
  --md-sys-motion-duration-long4: 600ms;
  --md-sys-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --md-sys-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --md-sys-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
  --md-sys-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);

  /* === Layout Tokens === */
  --md-sys-spacing-xs: 4px;
  --md-sys-spacing-sm: 8px;
  --md-sys-spacing-md: 16px;
  --md-sys-spacing-lg: 24px;
  --md-sys-spacing-xl: 32px;
  --md-sys-spacing-xxl: 48px;
  --md-sys-spacing-xxxl: 64px;

  --md-sys-max-content-width: 1200px;
}
