/* GEKUMI Design System V1 frozen tokens. Source: config/design-tokens.json. */
:root {
  --gekumi-color-background: #F4F1E9;
  --gekumi-color-primary: #222725;
  --gekumi-color-secondary: #52685A;
  --gekumi-color-accent: #B65345;
  --gekumi-color-accent-strong: #984538;
  --gekumi-color-surface: #FFFFFF;
  --gekumi-color-surface-alt: #ECE8DE;
  --gekumi-color-border: #D8D3C8;
  --gekumi-color-muted-text: #6D706C;
  --gekumi-color-text-subtle: #5F635F;
  --gekumi-color-inverse: #FFFFFF;
  --gekumi-color-korea-accent: #315BFF;
  --gekumi-color-korea-soft: #C7E7DE;
  --gekumi-color-success: #35614B;
  --gekumi-color-success-soft: #E5F1E9;
  --gekumi-color-warning: #8A4B21;
  --gekumi-color-warning-soft: #FFF4E6;
  --gekumi-color-error: #9B2C2C;
  --gekumi-color-error-soft: #FFF0EF;
  --gekumi-color-info: #315BFF;
  --gekumi-color-info-soft: #EEF2FF;
  --gekumi-color-overlay: rgba(34, 39, 37, 0.72);

  --gekumi-font-latin: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gekumi-font-ja-sans: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  --gekumi-font-ja-serif: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --gekumi-font-ko: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;

  --gekumi-font-size-h1: clamp(2.5rem, 1.75rem + 3vw, 4.5rem);
  --gekumi-font-size-h2: clamp(2rem, 1.625rem + 1.5vw, 3rem);
  --gekumi-font-size-h3: clamp(1.5rem, 1.25rem + 1vw, 2rem);
  --gekumi-font-size-h4: clamp(1.25rem, 1.125rem + 0.5vw, 1.5rem);
  --gekumi-font-size-body-large: clamp(1.0625rem, 1rem + 0.25vw, 1.25rem);
  --gekumi-font-size-body: 1rem;
  --gekumi-font-size-body-small: 0.875rem;
  --gekumi-font-size-caption: 0.75rem;
  --gekumi-font-size-spec-label: 0.75rem;
  --gekumi-font-size-spec-value: 0.9375rem;
  --gekumi-font-size-button: 0.9375rem;
  --gekumi-font-size-navigation: 0.9375rem;
  --gekumi-font-size-badge: 0.75rem;

  --gekumi-font-weight-regular: 400;
  --gekumi-font-weight-medium: 500;
  --gekumi-font-weight-semibold: 600;
  --gekumi-font-weight-bold: 700;
  --gekumi-line-height-heading: 1.2;
  --gekumi-line-height-body: 1.6;
  --gekumi-line-height-cjk: 1.75;
  --gekumi-line-height-compact: 1.4;
  --gekumi-letter-spacing-heading: -0.02em;
  --gekumi-letter-spacing-interface: 0.01em;
  --gekumi-letter-spacing-label: 0.04em;

  --gekumi-space-1: 0.25rem;
  --gekumi-space-2: 0.5rem;
  --gekumi-space-3: 0.75rem;
  --gekumi-space-4: 1rem;
  --gekumi-space-6: 1.5rem;
  --gekumi-space-8: 2rem;
  --gekumi-space-12: 3rem;
  --gekumi-space-16: 4rem;
  --gekumi-space-24: 6rem;
  --gekumi-space-32: 8rem;

  --gekumi-container-standard: 80rem;
  --gekumi-container-wide: 90rem;
  --gekumi-container-gutter: clamp(1rem, 4vw, 2.5rem);
  --gekumi-grid-columns-desktop: 12;
  --gekumi-grid-columns-tablet: 8;
  --gekumi-grid-columns-mobile: 4;
  --gekumi-grid-gap: clamp(1rem, 2vw, 1.5rem);
  --gekumi-breakpoint-tablet: 48rem;
  --gekumi-breakpoint-desktop: 64rem;
  --gekumi-breakpoint-wide: 80rem;

  --gekumi-radius-button: 0.5rem;
  --gekumi-radius-card: 0.75rem;
  --gekumi-radius-media: 1rem;
  --gekumi-radius-pill: 999px;
  --gekumi-border-width: 1px;
  --gekumi-shadow-card: 0 0.75rem 1.875rem rgba(34, 39, 37, 0.08);
  --gekumi-shadow-overlay: 0 1.5rem 4rem rgba(34, 39, 37, 0.18);
  --gekumi-control-min-target: 2.75rem;
  --gekumi-control-focus-ring: 0 0 0 3px rgba(49, 91, 255, 0.28);
  --gekumi-motion-fast: 120ms;
  --gekumi-motion-standard: 180ms;
  --gekumi-motion-easing: ease-out;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --gekumi-motion-fast: 0ms;
    --gekumi-motion-standard: 0ms;
  }
}
