/* Hallmark · macrostructure: Long Document（01〜05の番号付き縦一本） · H2 hero knobs: ratio=6/6, right=実機スクショのコラージュ, divider=negative-space
 * theme: studied-DNA (source: https://blockin.biz/ja · 軸の移植: getbrick.com=比較表/ screenzen.co=実画面主義 / one-sec.app=研究引用 / freedom.to=スタットバンド)
 * paper: oklch(99% 0.006 210)（源泉 #F6FEFF） · pastel: oklch(82% 0.08 220)（源泉 #83D0F9） · deep: oklch(47% 0.08 201)（自ブランド #0D6B75 換算）
 * ink: oklch(22% 0.03 260)（源泉 #0F172B） · num: 半透明ピンク（源泉: blockinの巨大セクション番号）
 * display: Satoshi（源泉Poppinsは禁止フォントのため同役割の無料代替） + Noto Sans JP · body: Noto Sans JP
 * nav: N9 edge-aligned · footer: Ft1 mast-headed · 実画像: シミュレータで撮影した実アプリ画面3枚（偽フレーム描画なし）
 * 数字はすべて実出典（総務省 令和6年度調査 / Grüning et al. 2023 PNAS）または自アプリの実仕様
 * motion: なし（静的・ユーザー要望） · studied: yes · JP-override: JP weights 400/700 · body lh 1.9 · line-break strict
 * pre-emit critique: P4 H5 E4 S5 R4 V5 · contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · mobile: pass (34, 49, 50–57) */
:root {
  --color-paper:    oklch(99% 0.006 210);
  --color-wash:     oklch(96.5% 0.012 205);
  --color-card:     oklch(99.5% 0.003 210);
  --color-pastel:   oklch(82% 0.08 220);
  --color-pastel-2: oklch(89% 0.06 205);
  --color-deep:     oklch(47% 0.08 201);
  --color-deep-2:   oklch(38% 0.07 203);
  --color-ink:      oklch(22% 0.03 260);
  --color-ink-2:    oklch(40% 0.025 255);
  --color-muted:    oklch(46% 0.02 250);
  --color-rule:     oklch(90% 0.012 220);
  --color-num:      oklch(80% 0.10 10 / 0.35);
  --color-ok:       oklch(55% 0.12 160);
  --color-ng:       oklch(55% 0.16 25);
  --color-focus:    oklch(47% 0.13 201);
  --shadow-shot:    0 24px 48px -24px oklch(22% 0.03 260 / 0.35);
  --shadow-card:    0 10px 30px -18px oklch(22% 0.03 260 / 0.25);

  --font-display: "Satoshi", "Noto Sans JP", ui-sans-serif, sans-serif;
  --font-body:    "Noto Sans JP", ui-sans-serif, sans-serif;

  --text-xs: 0.8rem; --text-sm: 0.875rem; --text-base: 1rem;
  --text-md: 1.15rem; --text-lg: 1.45rem;
  --text-title: clamp(1.5rem, 2.6vw + 0.5rem, 2.1rem);
  --text-display: clamp(1.9rem, 3.6vw + 0.6rem, 2.9rem);
  --text-num: clamp(4rem, 9vw, 6.5rem);

  --space-2xs: 0.25rem; --space-xs: 0.5rem; --space-sm: 0.75rem;
  --space-md: 1rem; --space-lg: 1.5rem; --space-xl: 2.5rem;
  --space-2xl: 4rem; --space-3xl: 6rem;

  --radius-card: 18px;
  --radius-pill: 999px;
  --radius-shot: 26px;

  --page-max: 1040px;
  --page-gutter: clamp(1rem, 4vw, 1.5rem);
  --z-nav: 300;
}
