/* 全画面の土台。フォントは同梱したものだけを使う（EDG-088、外部から読み込まない） */
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-style: normal;
  font-display: block;
  src: url("../fonts/NotoSansJP-Regular.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-style: normal;
  font-display: block;
  src: url("../fonts/NotoSansJP-Medium.otf") format("opentype");
}

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

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  touch-action: manipulation; /* ダブルタップで拡大しない（viewport の user-scalable=no と合わせて。2026-10-22） */
}

body {
  margin: 0;
  background: var(--color-bg-base);
  color: var(--color-text-primary);
  font-family: var(--font-family);
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-body);
  line-height: var(--line-height-default);
  -webkit-font-smoothing: antialiased;
}

/* アイコン（js/icons.js が作る）。色は currentColor で親の文字色に従う */
.tl-icon {
  display: inline-block;
  flex: none;
  vertical-align: middle;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}
