/* oshidoki-tokens.css — 単一の正。ライトが標準、ダークは自動追従 */
:root{
  /* 面 */
  --paper:#fdfcf9;   /* ページ背景（ほぼ白・わずかに温かい） */
  --paper2:#f6f2ea;  /* ヘッダ帯・補助面 */
  --card:#ffffff;    /* カード（純白） */
  --card2:#f7f4ec;   /* ネスト面・淡い注記箱 */
  /* 文字（温かいブラウン系。冷たい純黒は使わない） */
  --ink:#37302a; --ink2:#7d7466; --ink3:#a89e8f;
  /* 罫線 */
  --line:#ece5d7; --line2:#f3eee2;
  /* 守る＝ティール（対策・安全・CTA） */
  --guard:#1ba189; --guard-ink:#14806c; --guard-soft:#e4f2ed; --guard-line:#a9ddcf;
  /* 脅威＝サーモン（危険信号にしない・やわらかい） */
  --threat:#e86e4f; --threat-ink:#cc5333; --threat-soft:#fce9e1; --threat-line:#f4c8b8;
  /* 季節/日差し（UV特集など小面積のみ。第3の主張色にしない） */
  --sun:#f2a65a; --sun-soft:#fbeed7;
  /* 方眼・影 */
  --grid:rgba(55,48,42,.04);
  --shadow-sm:0 1px 2px rgba(55,48,42,.05);
  --shadow:0 3px 9px rgba(55,48,42,.06), 0 18px 38px -26px rgba(55,48,42,.32);
  --tag:0 5px 16px -6px rgba(55,48,42,.2);
  /* フォント（システムのみ。丸ゴシック優先＝親しみ） */
  --font-display:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Yu Gothic","YuGothic","Noto Sans JP",system-ui,sans-serif;
  --font-body:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Yu Gothic","YuGothic","Noto Sans JP",system-ui,sans-serif;
  /* レイアウト */
  --measure:720px;   /* 記事本文の最大幅 */
}

*, *::before, *::after {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

/* 全ページ共通 body リセット — 方眼紙風背景（ツール系と統一） */
body {
  background:
    repeating-linear-gradient(0deg, var(--grid) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, var(--grid) 0 1px, transparent 1px 24px),
    var(--paper) !important;
  color: var(--ink) !important;
  font-family: var(--font-body) !important;
  font-feature-settings: "palt";
  line-height: 1.85;
  margin: 0;
}
a { color: var(--guard-ink); text-decoration: none }

/* 強制リセット — style.cssの旧bodyを上書き */
body {
  background:
    repeating-linear-gradient(0deg, var(--grid) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, var(--grid) 0 1px, transparent 1px 24px),
    var(--paper) !important;
  color: var(--ink) !important;
  font-family: var(--font-body) !important;
  font-feature-settings: "palt";
  line-height: 1.85;
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#1c1811; --paper2:#221d14; --card:#272219; --card2:#211c13;
    --ink:#f2ecdd; --ink2:#aea593; --ink3:#7f7665;
    --line:#3b3528; --line2:#2f2a1d;
    --guard:#44c4ac; --guard-ink:#74d9c6; --guard-soft:#192620; --guard-line:#314b43;
    --threat:#ee836a; --threat-ink:#f29a80; --threat-soft:#331f16; --threat-line:#4f3024;
    --sun:#f2b06a; --sun-soft:#2e2415;
    --grid:rgba(255,255,255,.04);
    --shadow-sm:0 1px 2px rgba(0,0,0,.4);
    --shadow:0 3px 9px rgba(0,0,0,.45), 0 20px 44px -28px rgba(0,0,0,.85);
    --tag:0 7px 20px -8px rgba(0,0,0,.7);
  }
}
