/* ============================================
 * DADS公式デザイントークン
 * Based on @digital-go-jp/design-tokens v1.1.2
 * ============================================ */

:root {
	/* ============================================
   * Primitive Colors - Blue
   * ============================================ */
	--color-primitive-blue-50: #e8f1fe;
	--color-primitive-blue-100: #d9e6ff;
	--color-primitive-blue-200: #c5d7fb;
	--color-primitive-blue-300: #9db7f9;
	--color-primitive-blue-400: #7096f8;
	--color-primitive-blue-500: #4979f5;
	--color-primitive-blue-600: #3460fb;
	--color-primitive-blue-700: #264af4;
	--color-primitive-blue-800: #0031d8;
	--color-primitive-blue-900: #0017c1;
	--color-primitive-blue-1000: #00118f;
	--color-primitive-blue-1100: #000071;
	--color-primitive-blue-1200: #000060;

	/* ============================================
   * Primitive Colors - Light Blue
   * ============================================ */
	--color-primitive-light-blue-50: #f0f9ff;
	--color-primitive-light-blue-100: #dcf0ff;
	--color-primitive-light-blue-200: #c0e4ff;
	--color-primitive-light-blue-300: #97d3ff;
	--color-primitive-light-blue-400: #57b8ff;
	--color-primitive-light-blue-500: #39abff;
	--color-primitive-light-blue-600: #008bf2;
	--color-primitive-light-blue-700: #0877d7;
	--color-primitive-light-blue-800: #0066be;
	--color-primitive-light-blue-900: #0055ad;
	--color-primitive-light-blue-1000: #00428c;
	--color-primitive-light-blue-1100: #00316a;
	--color-primitive-light-blue-1200: #00234b;

	/* ============================================
   * Primitive Colors - Cyan
   * ============================================ */
	--color-primitive-cyan-50: #e9f7f9;
	--color-primitive-cyan-100: #c8f8ff;
	--color-primitive-cyan-200: #99f2ff;
	--color-primitive-cyan-300: #79e2f2;
	--color-primitive-cyan-400: #2bc8e4;
	--color-primitive-cyan-500: #01b7d6;
	--color-primitive-cyan-600: #00a3bf;
	--color-primitive-cyan-700: #008da6;
	--color-primitive-cyan-800: #008299;
	--color-primitive-cyan-900: #006f83;
	--color-primitive-cyan-1000: #006173;
	--color-primitive-cyan-1100: #004c59;
	--color-primitive-cyan-1200: #003741;

	/* ============================================
   * Primitive Colors - Green
   * ============================================ */
	--color-primitive-green-50: #e6f5ec;
	--color-primitive-green-100: #c2e5d1;
	--color-primitive-green-200: #9bd4b5;
	--color-primitive-green-300: #71c598;
	--color-primitive-green-400: #51b883;
	--color-primitive-green-500: #2cac6e;
	--color-primitive-green-600: #259d63;
	--color-primitive-green-700: #1d8b56;
	--color-primitive-green-800: #197a4b;
	--color-primitive-green-900: #115a36;
	--color-primitive-green-1000: #0c472a;
	--color-primitive-green-1100: #08351f;
	--color-primitive-green-1200: #032213;

	/* ============================================
   * Primitive Colors - Lime
   * ============================================ */
	--color-primitive-lime-50: #ebfad9;
	--color-primitive-lime-100: #d0f5a2;
	--color-primitive-lime-200: #c0f354;
	--color-primitive-lime-300: #ade830;
	--color-primitive-lime-400: #9ddd15;
	--color-primitive-lime-500: #8cc80c;
	--color-primitive-lime-600: #7eb40d;
	--color-primitive-lime-700: #6fa104;
	--color-primitive-lime-800: #618e00;
	--color-primitive-lime-900: #507500;
	--color-primitive-lime-1000: #3e5a00;
	--color-primitive-lime-1100: #2c4100;
	--color-primitive-lime-1200: #1e2d00;

	/* ============================================
   * Primitive Colors - Yellow
   * ============================================ */
	--color-primitive-yellow-50: #fbf5e0;
	--color-primitive-yellow-100: #fff0b3;
	--color-primitive-yellow-200: #ffe380;
	--color-primitive-yellow-300: #ffd43d;
	--color-primitive-yellow-400: #ffc700;
	--color-primitive-yellow-500: #ebb700;
	--color-primitive-yellow-600: #d2a400;
	--color-primitive-yellow-700: #b78f00;
	--color-primitive-yellow-800: #a58000;
	--color-primitive-yellow-900: #927200;
	--color-primitive-yellow-1000: #806300;
	--color-primitive-yellow-1100: #6e5600;
	--color-primitive-yellow-1200: #604b00;

	/* ============================================
   * Primitive Colors - Orange
   * ============================================ */
	--color-primitive-orange-50: #ffeee2;
	--color-primitive-orange-100: #ffdfca;
	--color-primitive-orange-200: #ffc199;
	--color-primitive-orange-300: #ffa66d;
	--color-primitive-orange-400: #ff8d44;
	--color-primitive-orange-500: #ff7628;
	--color-primitive-orange-600: #fb5b01;
	--color-primitive-orange-700: #e25100;
	--color-primitive-orange-800: #c74700;
	--color-primitive-orange-900: #ac3e00;
	--color-primitive-orange-1000: #8b3200;
	--color-primitive-orange-1100: #6d2700;
	--color-primitive-orange-1200: #541e00;

	/* ============================================
   * Primitive Colors - Red
   * ============================================ */
	--color-primitive-red-50: #fdeeee;
	--color-primitive-red-100: #ffdada;
	--color-primitive-red-200: #ffbbbb;
	--color-primitive-red-300: #ff9696;
	--color-primitive-red-400: #ff7171;
	--color-primitive-red-500: #ff5454;
	--color-primitive-red-600: #fe3939;
	--color-primitive-red-700: #fa0000;
	--color-primitive-red-800: #ec0000;
	--color-primitive-red-900: #ce0000;
	--color-primitive-red-1000: #a90000;
	--color-primitive-red-1100: #850000;
	--color-primitive-red-1200: #620000;

	/* ============================================
   * Primitive Colors - Magenta
   * ============================================ */
	--color-primitive-magenta-50: #f3e5f4;
	--color-primitive-magenta-100: #ffd0ff;
	--color-primitive-magenta-200: #ffaeff;
	--color-primitive-magenta-300: #ff8eff;
	--color-primitive-magenta-400: #f661f6;
	--color-primitive-magenta-500: #f137f1;
	--color-primitive-magenta-600: #db00db;
	--color-primitive-magenta-700: #c000c0;
	--color-primitive-magenta-800: #aa00aa;
	--color-primitive-magenta-900: #8b008b;
	--color-primitive-magenta-1000: #6c006c;
	--color-primitive-magenta-1100: #500050;
	--color-primitive-magenta-1200: #3b003b;

	/* ============================================
   * Primitive Colors - Purple
   * ============================================ */
	--color-primitive-purple-50: #f1eafa;
	--color-primitive-purple-100: #ecddff;
	--color-primitive-purple-200: #ddc2ff;
	--color-primitive-purple-300: #cda6ff;
	--color-primitive-purple-400: #bb87ff;
	--color-primitive-purple-500: #a565f8;
	--color-primitive-purple-600: #8843e1;
	--color-primitive-purple-700: #6f23d0;
	--color-primitive-purple-800: #5c10be;
	--color-primitive-purple-900: #5109ad;
	--color-primitive-purple-1000: #41048e;
	--color-primitive-purple-1100: #30016c;
	--color-primitive-purple-1200: #21004b;

	/* ============================================
   * Neutral Colors
   * ============================================ */
	--color-neutral-white: #ffffff;
	--color-neutral-black: #000000;
	--color-neutral-solid-gray-50: #f2f2f2;
	--color-neutral-solid-gray-100: #e6e6e6;
	--color-neutral-solid-gray-200: #cccccc;
	--color-neutral-solid-gray-300: #b3b3b3;
	--color-neutral-solid-gray-400: #999999;
	--color-neutral-solid-gray-420: #949494;
	--color-neutral-solid-gray-500: #7f7f7f;
	--color-neutral-solid-gray-536: #767676;
	--color-neutral-solid-gray-600: #666666;
	--color-neutral-solid-gray-700: #4d4d4d;
	--color-neutral-solid-gray-800: #333333;
	--color-neutral-solid-gray-900: #1a1a1a;

	/* Opacity Gray */
	--color-neutral-opacity-gray-50: rgba(0, 0, 0, 0.05);
	--color-neutral-opacity-gray-100: rgba(0, 0, 0, 0.1);
	--color-neutral-opacity-gray-200: rgba(0, 0, 0, 0.2);
	--color-neutral-opacity-gray-300: rgba(0, 0, 0, 0.3);
	--color-neutral-opacity-gray-400: rgba(0, 0, 0, 0.4);
	--color-neutral-opacity-gray-420: rgba(0, 0, 0, 0.42);
	--color-neutral-opacity-gray-500: rgba(0, 0, 0, 0.5);
	--color-neutral-opacity-gray-536: rgba(0, 0, 0, 0.54);
	--color-neutral-opacity-gray-600: rgba(0, 0, 0, 0.6);
	--color-neutral-opacity-gray-700: rgba(0, 0, 0, 0.7);
	--color-neutral-opacity-gray-800: rgba(0, 0, 0, 0.8);
	--color-neutral-opacity-gray-900: rgba(0, 0, 0, 0.9);

	/* ============================================
   * Semantic Colors
   * ============================================ */
	--color-semantic-success-1: var(--color-primitive-green-600);
	--color-semantic-success-2: var(--color-primitive-green-800);
	--color-semantic-error-1: var(--color-primitive-red-800);
	--color-semantic-error-2: var(--color-primitive-red-900);
	--color-semantic-warning-yellow-1: var(--color-primitive-yellow-700);
	--color-semantic-warning-yellow-2: var(--color-primitive-yellow-900);
	--color-semantic-warning-orange-1: var(--color-primitive-orange-600);
	--color-semantic-warning-orange-2: var(--color-primitive-orange-800);

	/* ============================================
   * Alert Box Colors (Accessibility View)
   * ============================================ */
	--color-alert-warning-bg: #fff3cd;
	--color-alert-warning-border: #ffc107;
	--color-alert-warning-text: #856404;
	--color-alert-success-bg: #d4edda;
	--color-alert-success-border: #28a745;
	--color-alert-success-text: #155724;

	/* ============================================
   * Typography
   * ============================================ */
	--font-weight-400: 400;
	--font-weight-700: 700;
	--font-family-sans:
		"Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
	--font-family-mono: "Noto Sans Mono", monospace;

	/* Font Sizes */
	--font-size-14: 0.875rem;
	--font-size-16: 1rem;
	--font-size-17: 1.0625rem;
	--font-size-18: 1.125rem;
	--font-size-20: 1.25rem;
	--font-size-22: 1.375rem;
	--font-size-24: 1.5rem;
	--font-size-26: 1.625rem;
	--font-size-28: 1.75rem;
	--font-size-32: 2rem;
	--font-size-36: 2.25rem;
	--font-size-45: 2.8125rem;
	--font-size-48: 3rem;
	--font-size-57: 3.5625rem;
	--font-size-64: 4rem;

	/* Line Heights */
	--line-height-100: 1;
	--line-height-120: 1.2;
	--line-height-130: 1.3;
	--line-height-140: 1.4;
	--line-height-150: 1.5;
	--line-height-160: 1.6;
	--line-height-170: 1.7;
	--line-height-175: 1.75;

	/* ============================================
   * Border Radius
   * ============================================ */
	--border-radius-4: 0.25rem;
	--border-radius-6: 0.375rem;
	--border-radius-8: 0.5rem;
	--border-radius-12: 0.75rem;
	--border-radius-16: 1rem;
	--border-radius-24: 1.5rem;
	--border-radius-32: 2rem;
	--border-radius-full: 624.9375rem;

	/* ============================================
   * Elevation (Box Shadow)
   * ============================================ */
	--shadow-subtle: 0 1px 3px rgba(0, 0, 0, 0.06);
	--elevation-1:
		0 2px 8px 1px rgba(0, 0, 0, 0.1), 0 1px 5px 0 rgba(0, 0, 0, 0.3);
	--elevation-2:
		0 2px 12px 2px rgba(0, 0, 0, 0.1), 0 1px 6px 0 rgba(0, 0, 0, 0.3);
	--elevation-3:
		0 4px 16px 3px rgba(0, 0, 0, 0.1), 0 1px 6px 0 rgba(0, 0, 0, 0.3);
	--elevation-4:
		0 6px 20px 4px rgba(0, 0, 0, 0.1), 0 2px 6px 0 rgba(0, 0, 0, 0.3);
	--elevation-5:
		0 8px 24px 5px rgba(0, 0, 0, 0.1), 0 2px 10px 0 rgba(0, 0, 0, 0.3);
	--elevation-6:
		0 10px 30px 6px rgba(0, 0, 0, 0.1), 0 3px 12px 0 rgba(0, 0, 0, 0.3);
	--elevation-7:
		0 12px 36px 7px rgba(0, 0, 0, 0.1), 0 3px 14px 0 rgba(0, 0, 0, 0.3);
	--elevation-8:
		0 14px 40px 7px rgba(0, 0, 0, 0.1), 0 3px 16px 0 rgba(0, 0, 0, 0.3);

	/* ============================================
   * 互換性レイヤー (旧 --dads-* トークン)
   * components.css で使用中 - 段階的に移行
   * ============================================ */

	/* Primitive Neutral */
	--dads-primitive-neutral-900: var(--color-neutral-solid-gray-900);
	--dads-primitive-neutral-800: var(--color-neutral-solid-gray-800);
	--dads-primitive-neutral-700: var(--color-neutral-solid-gray-700);
	--dads-primitive-neutral-600: var(--color-neutral-solid-gray-600);
	--dads-primitive-neutral-500: var(--color-neutral-solid-gray-500);
	--dads-primitive-neutral-400: var(--color-neutral-solid-gray-400);
	--dads-primitive-neutral-300: var(--color-neutral-solid-gray-300);
	--dads-primitive-neutral-200: var(--color-neutral-solid-gray-200);
	--dads-primitive-neutral-100: var(--color-neutral-solid-gray-100);
	--dads-primitive-neutral-50: var(--color-neutral-solid-gray-50);
	--dads-primitive-white: var(--color-neutral-white);
	--dads-primitive-black: var(--color-neutral-black);

	/* Semantic Fixed Colors (for accessibility display) */
	--dads-primitive-success-600: var(--color-semantic-success-1);
	--dads-primitive-success-100: var(--color-primitive-green-50);
	--dads-primitive-warning-600: var(--color-semantic-warning-orange-1);
	--dads-primitive-warning-100: var(--color-primitive-orange-50);
	--dads-primitive-error-600: var(--color-semantic-error-1);
	--dads-primitive-error-100: var(--color-primitive-red-50);
	--dads-primitive-info-600: var(--color-primitive-blue-900);
	--dads-primitive-info-100: var(--color-primitive-blue-50);

	/* Semantic Surface */
	--dads-surface-primary: var(--color-neutral-white);
	--dads-surface-secondary: var(--color-neutral-solid-gray-50);
	--dads-surface-tertiary: var(--color-neutral-solid-gray-100);
	--dads-surface-inverse: var(--color-neutral-solid-gray-900);

	/* Semantic Border */
	--dads-border-default: var(--color-neutral-solid-gray-200);
	--dads-border-strong: var(--color-neutral-solid-gray-400);
	--dads-border-subtle: var(--color-neutral-solid-gray-100);
	--dads-border-active: var(--color-primitive-blue-900);

	/* Semantic Text */
	--dads-text-primary: var(--color-neutral-solid-gray-900);
	--dads-text-secondary: var(--color-neutral-solid-gray-600);
	--dads-text-tertiary: var(--color-neutral-solid-gray-400);
	--dads-text-inverse: var(--color-neutral-white);
	--dads-text-link: var(--color-primitive-blue-900);

	/* Focus Ring */
	--dads-focus-ring-color: var(--color-neutral-black);
	--dads-focus-ring-offset: 2px;
	--dads-focus-ring-width: 4px;

	/* Component: Button */
	--dads-button-bg: var(--color-neutral-white);
	--dads-button-bg-hover: var(--color-neutral-solid-gray-50);
	--dads-button-bg-active: var(--color-primitive-blue-50);
	--dads-button-border: var(--color-neutral-solid-gray-200);
	--dads-button-border-active: var(--color-primitive-blue-900);
	--dads-button-text: var(--color-neutral-solid-gray-900);

	/* Component: Badge */
	--dads-badge-success-bg: var(--color-primitive-green-50);
	--dads-badge-success-text: var(--color-semantic-success-1);
	--dads-badge-warning-bg: var(--color-primitive-orange-50);
	--dads-badge-warning-text: var(--color-semantic-warning-orange-1);
	--dads-badge-error-bg: var(--color-primitive-red-50);
	--dads-badge-error-text: var(--color-semantic-error-1);

	/* Component: Card */
	--dads-card-bg: var(--color-neutral-white);
	--dads-card-border: var(--color-neutral-solid-gray-100);

	/* Spacing (maintaining original values) */
	--dads-spacing-xs: 0.25rem;
	--dads-spacing-sm: 0.5rem;
	--dads-spacing-md: 1rem;
	--dads-spacing-lg: 1.5rem;
	--dads-spacing-xl: 2rem;
	--dads-spacing-2xl: 3rem;

	/* Border Radius (mapping to official) */
	--dads-radius-sm: var(--border-radius-4);
	--dads-radius-md: var(--border-radius-8);
	--dads-radius-lg: var(--border-radius-12);
	--dads-radius-xl: var(--border-radius-24);
	--dads-radius-full: var(--border-radius-full);

	/* Shadow (mapping to official elevation) */
	--dads-shadow-sm: var(--elevation-1);
	--dads-shadow-md: var(--elevation-3);
	--dads-shadow-lg: var(--elevation-5);

	/* Typography (mapping to official) */
	--dads-font-family: var(--font-family-sans);
	--dads-font-mono: var(--font-family-mono);
	--dads-font-size-xs: var(--font-size-14);
	--dads-font-size-sm: var(--font-size-14);
	--dads-font-size-md: var(--font-size-16);
	--dads-font-size-lg: var(--font-size-18);
	--dads-font-size-xl: var(--font-size-20);
	--dads-font-weight-normal: var(--font-weight-400);
	--dads-font-weight-medium: 500;
	--dads-font-weight-semibold: 600;
	--dads-font-weight-bold: var(--font-weight-700);
}
