/* =========================================================
   Center of the —— base.css
   デザイントークン / リセット / タイポグラフィ
   ========================================================= */

:root {
  /* ベース色 */
  --bg: #fbf7f0;
  --bg-paper: #ffffff;
  --ink: #1f1d1a;
  --ink-soft: #4a463f;
  --ink-mute: #8a857b;
  --line: #ebe5d8;

  /* カード用パレット（Eテレ／デザインあ風の柔らかい原色） */
  --card-pink:     #ffc8d6;
  --card-mint:     #b8e8c8;
  --card-yellow:   #ffe27a;
  --card-sky:      #b4dcf5;
  --card-coral:    #ffb38a;
  --card-lavender: #d4c4f0;
  --card-cream:    #fff0c8;
  --card-navy:     #2c3a5a;
  --card-grass:    #a9d65c;
  --card-rose:     #f08aa0;

  /* タイポ */
  --font-jp: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Yu Gothic", "Hiragino Sans", system-ui, sans-serif;
  --font-num: "Rubik", "M PLUS Rounded 1c", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* レイアウト */
  --radius-card: 28px;
  --radius-chip: 999px;
  --radius-fig: 20px;
  --shadow-card: 0 1px 0 rgba(0,0,0,.04), 0 18px 40px -28px rgba(40,30,10,.25);
  --shadow-card-hover: 0 4px 0 rgba(0,0,0,.05), 0 30px 60px -28px rgba(40,30,10,.35);

  /* モーション */
  --ease: cubic-bezier(.2,.7,.2,1);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-jp);
  font-weight: 500;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  min-height: 100vh;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img, svg, video {
  display: block;
  max-width: 100%;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}

/* スクリーンリーダー用 */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
