/* 自動生成ファイル。直接編集しない。正本は tokens/tokens.json → python3 scripts/build.py */
:root {

  /* ── プリミティブカラー（UIで直接使わない） ── */
  --rose-50: #FFF9F8;
  --rose-50-rgb: 255, 249, 248;
  --rose-100: #FDEFF1;
  --rose-150: #FEECEF;
  --rose-200: #FFE9ED;
  --rose-250: #FAE4E8;
  --rose-300: #F6DEE3;
  --rose-350: #FAD8DE;
  --rose-400: #FFD3DA;
  --rose-450: #FD90A8;
  --rose-500: #FB4E76;
  --rose-500-rgb: 251, 78, 118;
  --rose-550: #E23C63;
  --rose-600: #C82A50;
  --rose-650: #B52048;
  --rose-700: #A21741;
  --rose-750: #8F1238;
  --rose-800: #7C0C2F;
  --rose-850: #680C28;
  --rose-900: #550B20;
  --rose-950: #4A0F1D;
  --rose-1000: #25080E;
  --mauve-50: #F5ECF4;
  --mauve-100: #ECE6E8;
  --mauve-150: #EADEE8;
  --mauve-200: #E9D7E7;
  --mauve-250: #D9CAD0;
  --mauve-300: #C9BDB8;
  --mauve-350: #CAB7C0;
  --mauve-400: #CBB1C8;
  --mauve-450: #A48E9B;
  --mauve-500: #7C6A6E;
  --mauve-550: #725C6A;
  --mauve-600: #684E65;
  --mauve-650: #60475E;
  --mauve-700: #584056;
  --mauve-750: #50394E;
  --mauve-800: #493247;
  --mauve-850: #3E2E3A;
  --mauve-900: #332A2E;
  --mauve-950: #2E2430;
  --mauve-950-rgb: 46, 36, 48;
  --mauve-1000: #171218;
  --gray-50: #F1EDEE;
  --gray-100: #EBE6E6;
  --gray-150: #EBE4E4;
  --gray-200: #EBE1E3;
  --gray-250: #E6DCDE;
  --gray-300: #E1D6D9;
  --gray-350: #DFD4D6;
  --gray-400: #DDD1D4;
  --gray-450: #BAACB0;
  --gray-500: #98888C;
  --gray-550: #84767A;
  --gray-600: #716367;
  --gray-650: #64585B;
  --gray-700: #584C4F;
  --gray-750: #4C4144;
  --gray-800: #403639;
  --gray-850: #352C2E;
  --gray-900: #2A2224;
  --gray-950: #281B1F;
  --gray-1000: #000000;
  --green-50: #F2F6EF;
  --green-100: #EBEFE6;
  --green-150: #E8EDE4;
  --green-200: #E5EBE2;
  --green-250: #DFE5DC;
  --green-300: #D9DFD5;
  --green-350: #D6DCD1;
  --green-400: #D2D9CD;
  --green-450: #A4B09C;
  --green-500: #76876C;
  --green-550: #6E7D64;
  --green-600: #65735C;
  --green-650: #5A6652;
  --green-700: #4E5A47;
  --green-750: #444E3E;
  --green-800: #394234;
  --green-850: #30372C;
  --green-900: #262C23;
  --green-950: #22271F;
  --green-1000: #111410;
  --amber-50: #FFFAF6;
  --amber-100: #FCF1E8;
  --amber-150: #FDEEE2;
  --amber-200: #FEECDC;
  --amber-250: #FAE6D6;
  --amber-300: #F5E1D1;
  --amber-350: #FADCC5;
  --amber-400: #FED8B9;
  --amber-450: #F6AD5C;
  --amber-500: #ED8200;
  --amber-550: #C87006;
  --amber-600: #A45E0D;
  --amber-650: #9F5406;
  --amber-700: #9A4A00;
  --amber-750: #884100;
  --amber-800: #773800;
  --amber-850: #612C00;
  --amber-900: #4B2000;
  --amber-950: #411E00;
  --amber-1000: #200F00;
  --red-50: #FFF9F8;
  --red-100: #FFEFED;
  --red-150: #FFECEA;
  --red-200: #FFEAE7;
  --red-250: #FCE4E0;
  --red-300: #F9DEDA;
  --red-350: #FCD9D4;
  --red-400: #FFD4CF;
  --red-450: #FF968F;
  --red-500: #FF584F;
  --red-550: #EA2C32;
  --red-600: #D60016;
  --red-650: #C00012;
  --red-700: #AB000E;
  --red-750: #96000A;
  --red-800: #820007;
  --red-850: #6F0005;
  --red-900: #5C0003;
  --red-950: #540002;
  --red-1000: #2A0001;
  --orange-50: #FFF9F7;
  --orange-100: #FDF0EB;
  --orange-150: #FEEDE7;
  --orange-200: #FFEAE3;
  --orange-250: #FBE4DE;
  --orange-300: #F7DFD8;
  --orange-350: #FBDAD0;
  --orange-400: #FFD5C7;
  --orange-450: #EC8A64;
  --orange-500: #D93F00;
  --orange-550: #C63400;
  --orange-600: #B22A00;
  --orange-650: #A22800;
  --orange-700: #922500;
  --orange-750: #842200;
  --orange-800: #751E00;
  --orange-850: #681B02;
  --orange-900: #5A1804;
  --orange-950: #4B1100;
  --orange-1000: #260800;
  --blue-50: #F8FBFD;
  --blue-100: #EFF4F9;
  --blue-150: #ECF2FA;
  --blue-200: #E8F0FA;
  --blue-250: #E2EBF5;
  --blue-300: #DDE6F0;
  --blue-350: #D8E4F2;
  --blue-400: #D2E2F5;
  --blue-450: #94BEEC;
  --blue-500: #569AE4;
  --blue-550: #4687CC;
  --blue-600: #3774B5;
  --blue-650: #2E68A4;
  --blue-700: #265B93;
  --blue-750: #205082;
  --blue-800: #1A4470;
  --blue-850: #16395E;
  --blue-900: #122E4C;
  --blue-950: #122942;
  --blue-1000: #091421;
  --white-0: #FFFFFF;

  /* ── 余白 ── */
  --p-0: 0px;
  --m-0: 0px;
  --gap-0: 0px;
  --p-0\.5: 2px;
  --m-0\.5: 2px;
  --gap-0\.5: 2px;
  --p-1: 4px;
  --m-1: 4px;
  --gap-1: 4px;
  --p-2: 8px;
  --m-2: 8px;
  --gap-2: 8px;
  --p-3: 12px;
  --m-3: 12px;
  --gap-3: 12px;
  --p-4: 16px;
  --m-4: 16px;
  --gap-4: 16px;
  --p-5: 20px;
  --m-5: 20px;
  --gap-5: 20px;
  --p-6: 24px;
  --m-6: 24px;
  --gap-6: 24px;
  --p-8: 32px;
  --m-8: 32px;
  --gap-8: 32px;
  --p-10: 40px;
  --m-10: 40px;
  --gap-10: 40px;
  --p-12: 48px;
  --m-12: 48px;
  --gap-12: 48px;
  --p-16: 64px;
  --m-16: 64px;
  --gap-16: 64px;
  --p-24: 96px;
  --m-24: 96px;
  --gap-24: 96px;

  /* ── 角丸 ── */
  --radius-none: 0px;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-full: 9999px;

  /* ── アイコン ── */
  --icon-sm: 16px;
  --icon-md: 20px;
  --icon-lg: 24px;
  --icon-xl: 32px;

  /* ── 文字 ── */
  --serif: "Shippori Mincho", serif;
  --sans: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  --font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  --num: Outfit, "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  --font-xs: 12px;
  --font-sm: 14px;
  --font-def: 16px;
  --font-md: 18px;
  --font-lg: 20px;
  --font-xl: 24px;
  --font-2xl: 28px;
  --font-3xl: 32px;
  --font-4xl: 40px;
  --lh-none: 1;
  --lh-tight: 1.3;
  --lh-heading: 1.5;
  --lh-def: 1.6;
  --lh-compact: 1.7;
  --lh-body: 1.85;
  --lh-loose: 1.95;
  --lh-relaxed: 2.1;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;

  /* ── 影 ── */
  --shadow-dropdown: 0 1px 2px 0 rgba(var(--shadow-ink-rgb), .09), 0 4px 12px -2px rgba(var(--shadow-ink-rgb), .12);
  --shadow-sm: 0 10px 24px -16px rgba(var(--shadow-ink-rgb), .28);
  --shadow: 0 24px 48px -28px rgba(var(--shadow-ink-rgb), .32);
  --shadow-modal: 0 10px 15px -3px rgba(var(--shadow-ink-rgb), .18), 0 4px 6px -4px rgba(var(--shadow-ink-rgb), .18);
  --shadow-toast: 0 20px 25px -5px rgba(var(--shadow-ink-rgb), .22), 0 8px 10px -6px rgba(var(--shadow-ink-rgb), .22);

  /* ── 背面の覆い ── */
  --scrim: rgba(var(--shadow-ink-rgb), .5);

  /* ── モーション ── */
  --duration-instant: 100ms;
  --duration-fast: 150ms;
  --duration-def: 200ms;
  --duration-slow: 300ms;
  --duration-reveal: 600ms;
  --duration-fade: 1200ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-enter: cubic-bezier(0, 0, 0, 1);
  --ease-exit: cubic-bezier(0.3, 0, 1, 1);
  --ease-linear: cubic-bezier(0, 0, 1, 1);

  /* ── 重なり順 ── */
  --z-base: 0;
  --z-dropdown: 100;
  --z-floating: 150;
  --z-drawer: 190;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-tooltip: 450;
  --z-toast: 500;
  --z-skip-link: 999;

  /* ── レイアウト ── */
  --admin-main-w: 1120px;
  --admin-form-w: 880px;
  --admin-login-w: 400px;
  --admin-side-w: 240px;
  --admin-drawer-w: 280px;
  --header-h: 72px;
  --container-lg: 1180px;
  --container-md: 760px;
  --bp-header: 1100px;
  --bp-lg: 980px;
  --bp-md: 760px;
  --bp-sm: 620px;

  /* ── セマンティックカラー（UIはこちらを使う） ── */
  --wine: var(--rose-500);
  --wine-rgb: 251, 78, 118;
  --wine-deep: var(--rose-550);
  --wine-tint: var(--rose-200);
  --blush: var(--rose-400);
  --bg: var(--rose-50);
  --bg-rgb: 255, 249, 248;
  --bg-soft: var(--rose-100);
  --panel: var(--white-0);
  --ink: var(--mauve-900);
  --ink-soft: var(--mauve-500);
  --line: var(--rose-300);
  --mute-line: var(--gray-100);
  --sage: var(--green-500);
  --sage-tint: var(--green-100);
  --state-draft: var(--mauve-500);
  --state-scheduled: var(--amber-600);
  --state-published: var(--green-600);
  --ink-icon-bg: var(--mauve-100);
  --table-closed: var(--mauve-450);
  --on-fill: var(--white-0);
  --shadow-ink: var(--mauve-950);
  --shadow-ink-rgb: 46, 36, 48;
  --mask-solid: var(--gray-1000);
  --mute-fill: var(--gray-100);
  --ink-disabled: var(--gray-400);
  --field-line: var(--gray-500);
  --field-line-hover: var(--gray-700);
  --primary-solid: var(--rose-600);
  --primary-solid-hover: var(--rose-700);
  --primary-solid-active: var(--rose-800);
  --primary-tint: var(--rose-100);
  --primary-tint-hover: var(--rose-200);
  --primary-tint-active: var(--rose-300);
  --secondary-solid: var(--gray-600);
  --secondary-solid-hover: var(--gray-700);
  --secondary-solid-active: var(--gray-800);
  --secondary-tint: var(--gray-100);
  --secondary-tint-hover: var(--gray-200);
  --secondary-tint-active: var(--gray-300);
  --negative-solid: var(--red-600);
  --negative-solid-hover: var(--red-700);
  --negative-solid-active: var(--red-800);
  --negative-tint: var(--red-100);
  --negative-tint-hover: var(--red-200);
  --negative-tint-active: var(--red-300);
  --danger-solid: var(--orange-500);
  --danger-solid-hover: var(--orange-600);
  --danger-solid-active: var(--orange-700);
  --danger-tint: var(--orange-100);
  --danger-tint-hover: var(--orange-200);
  --danger-tint-active: var(--orange-300);
  --success-solid: var(--green-600);
  --success-solid-hover: var(--green-700);
  --success-solid-active: var(--green-800);
  --success-tint: var(--green-100);
  --success-tint-hover: var(--green-200);
  --success-tint-active: var(--green-300);
  --tone-info-bg: var(--blue-200);
  --tone-info-line: var(--blue-300);
  --tone-info-fg: var(--blue-700);
  --tone-info-icon: var(--blue-600);
  --tone-warning-bg: var(--amber-200);
  --tone-warning-line: var(--amber-300);
  --tone-warning-fg: var(--amber-700);
  --tone-warning-icon: var(--amber-600);
  --tone-error-bg: var(--red-200);
  --tone-error-line: var(--red-300);
  --tone-error-fg: var(--red-700);
  --tone-error-icon: var(--red-600);
  --tone-success-bg: var(--green-200);
  --tone-success-line: var(--green-300);
  --tone-success-fg: var(--green-700);
  --tone-success-icon: var(--green-600);

  /* ── コンポーネント ── */
  --btn-xl-h: 56px;
  --btn-xl-py: 12px;
  --btn-xl-px: 24px;
  --btn-xl-font: 20px;
  --btn-xl-icon: 24px;
  --btn-lg-h: 48px;
  --btn-lg-py: 12px;
  --btn-lg-px: 24px;
  --btn-lg-font: 16px;
  --btn-lg-icon: 20px;
  --btn-md-h: 40px;
  --btn-md-py: 8px;
  --btn-md-px: 16px;
  --btn-md-font: 16px;
  --btn-md-icon: 20px;
  --btn-sm-h: 32px;
  --btn-sm-py: 4px;
  --btn-sm-px: 12px;
  --btn-sm-font: 14px;
  --btn-sm-icon: 16px;
  --btn-gap: var(--p-1);
  --field-xl-h: 56px;
  --field-lg-h: 48px;
  --field-md-h: 40px;
  --field-sm-h: 32px;
  --field-h: var(--field-lg-h);
  --radius-control: var(--radius-sm);
  --menu-item-h: 40px;
  --toast-duration: 5000ms;
  --form-field-gap: var(--p-6);
  --form-section-gap: var(--p-12);
}
