/* =========================================================
   tokens.css — Design Tokens (gallery)
   ---------------------------------------------------------
   Core layer: variables + theme values.
   Loaded by every gallery page. Subsites under /NNN-* / define
   their own tokens independently (no-imitation rule).
   ========================================================= */

:root {
  /* Typography */
  --font-en: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-jp: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
  --font-sans: var(--font-jp), var(--font-en);

  /* Spacing scale (8pt-based, slightly stretched) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* Type scale */
  --text-2xs: 0.6875rem;  /* 11px - eyebrows */
  --text-xs:  0.75rem;    /* 12px - meta */
  --text-sm:  0.8125rem;  /* 13px - body small */
  --text-base: 0.9375rem; /* 15px - body */
  --text-lg:  1.0625rem;  /* 17px - card title */
  --text-xl:  1.5rem;
  --text-2xl: 2.25rem;
  --text-3xl: clamp(2.5rem, 5vw, 4.5rem); /* hero */

  /* Motion */
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 200ms;
  --duration-base: 400ms;
  --duration-slow: 700ms;

  /* Layout */
  --container-max: 1440px;
  --gutter-x: clamp(1.5rem, 5vw, 6rem);

  /* Borders */
  --hairline: 1px;
  --radius-sm: 2px;
}

/* WHITE theme — warm off-white, slightly cream */
[data-theme="white"] {
  --bg:        #faf9f6;
  --bg-soft:   #f3f1ec;
  --fg:        #18181a;
  --fg-muted:  #6b6b6e;
  --fg-faint:  #a8a8aa;
  --line:      rgba(24, 24, 26, 0.08);
  --line-strong: rgba(24, 24, 26, 0.18);
  --accent:    #18181a;

  color-scheme: light;
}

/* BLACK theme — deep neutral, slight cool undertone */
[data-theme="black"] {
  --bg:        #0e0e10;
  --bg-soft:   #161618;
  --fg:        #ebeae5;
  --fg-muted:  #8d8d92;
  --fg-faint:  #5a5a5e;
  --line:      rgba(235, 234, 229, 0.10);
  --line-strong: rgba(235, 234, 229, 0.22);
  --accent:    #ebeae5;

  color-scheme: dark;
}
