/* Mimori — Typography tokens
 * One rounded voice (M PLUS Rounded 1c) across all surfaces for brand cohesion;
 * Zen Kaku Gothic New only for dense admin data where roundness costs legibility.
 * Sizes given for the DEFAULT (family/dashboard) scale. The elderly app opts into
 * a larger scale via [data-scale="lg"] — never below 20px body on elderly screens.
 */
:root {
  --font-core: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Yu Gothic", system-ui, sans-serif;
  --font-data: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;

  /* Weights */
  --fw-regular: 400; /* @kind font */
  --fw-medium:  500; /* @kind font */
  --fw-bold:    700; /* @kind font */
  --fw-heavy:   800; /* @kind font */  /* Type scale — role: size / line-height / letter-spacing / weight */
  --type-display-size: 40px;  /* hero / big numbers */
  --type-title-size:   30px;  /* screen titles */
  --type-heading-size: 22px;  /* section headings */
  --type-subhead-size: 18px;  /* card headings */
  --type-body-size:    16px;  /* body (default scale) */
  --type-body-lg-size: 18px;  /* comfortable body */
  --type-caption-size: 14px;  /* 補足 / metadata */
  --type-micro-size:   12px;  /* dense labels (admin only) */
  --type-button-size:  16px;  /* button label */

  --lh-tight:   1.25;  /* @kind font */
  --lh-snug:    1.4;   /* @kind font */
  --lh-normal:  1.7;   /* @kind font */
  --lh-relaxed: 1.9;   /* @kind font */

  --ls-tight:   -0.01em;  /* @kind font */
  --ls-normal:  0em;      /* @kind font */
  --ls-wide:    0.02em;   /* @kind font */

  /* Elderly (large) scale overrides */
  --type-body-elder:    22px;
  --type-subhead-elder: 26px;
  --type-heading-elder: 32px;
  --type-button-elder:  22px;
}

/* Opt-in large scale for the elderly conversation surface */
[data-scale="lg"] {
  --type-body-size:    var(--type-body-elder);
  --type-body-lg-size: 24px;
  --type-subhead-size: var(--type-subhead-elder);
  --type-heading-size: var(--type-heading-elder);
  --type-button-size:  var(--type-button-elder);
  --type-caption-size: 18px;
}
