/* RS Design System v2 — GENERATED from DTCG tokens by Style Dictionary. DO NOT EDIT. Edit tokens/*.json. */

/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --color-teal-50: oklch(0.972 0.013 194);
  --color-teal-100: oklch(0.940 0.028 194);
  --color-teal-200: oklch(0.890 0.050 194);
  --color-teal-300: oklch(0.820 0.072 194);
  --color-teal-400: oklch(0.735 0.090 194);
  --color-teal-500: oklch(0.645 0.090 194);
  --color-teal-600: oklch(0.545 0.080 194); /** primary — white-text CTA / active / focus */
  --color-teal-700: oklch(0.470 0.068 194);
  --color-teal-800: oklch(0.395 0.055 194);
  --color-teal-900: oklch(0.325 0.044 194);
  --color-teal-950: oklch(0.255 0.033 194);
  --color-gray-0: oklch(0.995 0.002 210);
  --color-gray-50: oklch(0.976 0.004 210);
  --color-gray-100: oklch(0.955 0.006 210);
  --color-gray-200: oklch(0.912 0.008 210);
  --color-gray-300: oklch(0.858 0.009 210);
  --color-gray-400: oklch(0.720 0.010 210);
  --color-gray-500: oklch(0.545 0.012 210); /** muted text — AA 4.5 on canvas */
  --color-gray-600: oklch(0.500 0.012 210);
  --color-gray-700: oklch(0.400 0.012 210);
  --color-gray-800: oklch(0.305 0.012 210);
  --color-gray-900: oklch(0.235 0.012 210);
  --color-gray-950: oklch(0.180 0.011 210);
  --color-gray-1000: oklch(0.145 0.009 210);
  --color-success-50: oklch(0.960 0.030 145);
  --color-success-500: oklch(0.580 0.100 145);
  --color-success-600: oklch(0.515 0.098 145); /** moss — 理念『社会の成長』 */
  --color-success-700: oklch(0.440 0.088 145);
  --color-warning-50: oklch(0.962 0.040 75);
  --color-warning-500: oklch(0.720 0.120 75);
  --color-warning-600: oklch(0.645 0.122 75);
  --color-warning-700: oklch(0.540 0.110 75);
  --color-danger-50: oklch(0.958 0.022 25);
  --color-danger-500: oklch(0.620 0.185 25);
  --color-danger-600: oklch(0.552 0.190 25);
  --color-danger-700: oklch(0.470 0.170 25);
  --color-info-50: oklch(0.958 0.024 255);
  --color-info-500: oklch(0.585 0.140 255);
  --color-info-600: oklch(0.510 0.160 255);
  --color-info-700: oklch(0.440 0.150 255);
  --color-white: #ffffff;
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-md: 3px;
  --radius-lg: 4px;
  --radius-xl: 6px;
  --radius-full: 999px;
  --font-family-sans: 'IBM Plex Sans', 'IBM Plex Sans JP', system-ui, -apple-system, 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
  --font-family-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-size-xs: 12px;
  --font-size-sm: 13px;
  --font-size-base: 14px; /** ops UI 既定（高密度） */
  --font-size-md: 16px; /** web 本文 既定（a11y 下限） */
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 30px;
  --font-size-4xl: 38px;
  --font-display-sm: clamp(32px, 4vw + 1rem, 48px); /** 表現面（LP章扉） */
  --font-display-md: clamp(40px, 6vw + 1rem, 72px);
  --font-display-lg: clamp(48px, 8vw + 1rem, 96px); /** LP Hero */
  --font-leading-tight: 1.15;
  --font-leading-snug: 1.35;
  --font-leading-normal: 1.5;
  --font-leading-relaxed: 1.7; /** 和文本文 */
  --font-tracking-tight: -0.02em;
  --font-tracking-snug: -0.01em;
  --font-tracking-normal: 0;
  --font-tracking-caps: 0.06em;
  --duration-instant: 80ms;
  --duration-fast: 140ms;
  --duration-base: 200ms;
  --duration-slow: 320ms;
  --duration-slower: 480ms;
  --easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --easing-in: cubic-bezier(0.4, 0, 1, 1);
  --easing-out: cubic-bezier(0, 0, 0.2, 1);
  --easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --button-height: 36px;
  --button-height-sm: 30px;
  --button-height-lg: 44px;
  --input-height: 32px;
  --sidebar-width: 240px;
  --table-row-height: 44px;
  --bg-canvas: var(--color-gray-50); /** ページ地（cool paper） */
  --bg-surface: var(--color-gray-0); /** カード面 */
  --bg-sunken: var(--color-gray-100);
  --bg-hover: var(--color-gray-100);
  --bg-active: var(--color-gray-200);
  --bg-inverse: var(--color-gray-900);
  --text-strong: var(--color-gray-1000);
  --text-body: var(--color-gray-800);
  --text-secondary: var(--color-gray-600);
  --text-muted: var(--color-gray-500);
  --text-on-primary: var(--color-white);
  --text-on-inverse: var(--color-gray-50);
  --text-link: var(--color-teal-700);
  --border-subtle: var(--color-gray-200);
  --border-default: var(--color-gray-300);
  --border-strong: var(--color-gray-400);
  --border-focus: var(--color-teal-600);
  --primary-default: var(--color-teal-600);
  --primary-hover: var(--color-teal-700);
  --primary-active: var(--color-teal-800);
  --primary-fg: var(--color-white);
  --primary-subtle: var(--color-teal-50);
  --status-success-fg: var(--color-success-700);
  --status-success-bg: var(--color-success-50);
  --status-warning-fg: var(--color-warning-700);
  --status-warning-bg: var(--color-warning-50);
  --status-danger-fg: var(--color-danger-700);
  --status-danger-bg: var(--color-danger-50);
  --status-info-fg: var(--color-info-700);
  --status-info-bg: var(--color-info-50);
  --button-radius: var(--radius-md);
  --button-px: var(--space-4);
  --input-radius: var(--radius-sm);
  --input-px: var(--space-3);
  --card-radius: var(--radius-lg);
  --card-pad: var(--space-5);
  --chip-radius: var(--radius-sm);
  --button-primary-bg: var(--primary-default);
  --button-primary-bg-hover: var(--primary-hover);
  --button-primary-fg: var(--primary-fg);
  --button-secondary-fg: var(--text-body);
  --button-secondary-border: var(--border-default);
  --button-ghost-fg: var(--text-link);
  --input-bg: var(--bg-surface);
  --input-border: var(--border-default);
  --input-border-focus: var(--border-focus);
  --input-placeholder: var(--text-muted);
  --card-bg: var(--bg-surface);
  --card-border: var(--border-subtle);
  --sidebar-bg: var(--bg-surface);
  --sidebar-item-fg: var(--text-secondary);
  --sidebar-item-active-fg: var(--primary-default);
  --sidebar-item-active-bg: var(--primary-subtle);
  --sidebar-rule: var(--primary-default); /** the teal rule — 3px active marker */
  --table-border: var(--border-subtle);
  --table-header-fg: var(--text-muted);
}

/**
 * Do not edit directly, this file was auto-generated.
 */

[data-theme="dark"] {
  --bg-canvas: var(--color-gray-950); /** dark ページ地（near-black・teal undertone） */
  --bg-surface: var(--color-gray-900);
  --bg-sunken: var(--color-gray-1000);
  --bg-hover: var(--color-gray-800);
  --bg-active: var(--color-gray-700);
  --bg-inverse: var(--color-gray-50);
  --text-strong: var(--color-gray-50);
  --text-body: var(--color-gray-200);
  --text-secondary: var(--color-gray-400);
  --text-muted: var(--color-gray-400);
  --text-on-primary: var(--color-gray-1000); /** dark: bright teal 上の暗文字 */
  --text-on-inverse: var(--color-gray-900);
  --text-link: var(--color-teal-300);
  --border-subtle: var(--color-gray-800);
  --border-default: var(--color-gray-700);
  --border-strong: var(--color-gray-600);
  --border-focus: var(--color-teal-400);
  --primary-default: var(--color-teal-400); /** dark: 明 teal（暗背景でコントラスト確保） */
  --primary-hover: var(--color-teal-300);
  --primary-active: var(--color-teal-200);
  --primary-fg: var(--color-gray-1000);
  --primary-subtle: var(--color-teal-950);
  --status-success-fg: var(--color-success-50);
  --status-success-bg: var(--color-success-700);
  --status-warning-fg: var(--color-warning-50);
  --status-warning-bg: var(--color-warning-700);
  --status-danger-fg: var(--color-danger-50);
  --status-danger-bg: var(--color-danger-700);
  --status-info-fg: var(--color-info-50);
  --status-info-bg: var(--color-info-700);
}
