/* ============================================================
   共通Webフォント
   ------------------------------------------------------------
   assets/font/ のフォントをここで @font-face 定義し、各ゲームで
     <link rel="stylesheet" href="../assets/fonts.css" />
   と読み込んで font-family 指定して使う。
   url() はこの fonts.css からの相対パス（"font/xxx"）。

   ※ 日本語フォントは全字だと数MB～十数MBある。見出し等の「固定文字」だけ
     使う場合は、その文字だけにサブセットした軽量woffを置く（下記 BrushTitle）。
   ============================================================ */

/* 見出し用・筆楷書（玉ねぎ楷書 v7改／改変可）。
   櫓戦記の「櫓戦記／守城／守城成功／落城／戦功録」に使う9文字だけを
   サブセット済み（約5.5KB）。使う文字を増やすときは再サブセットが必要。 */
@font-face {
  font-family: "BrushTitle";
  src: url("font/brush-title.woff") format("woff");
  font-display: swap;
}

/* 百鬼一閃（居合リズム）用・筆楷書サブセット（玉ねぎ楷書 v7改／改変可）。
   使用文字：百鬼一閃極良可連斬討死見事戦績録参損ちになりじ！ の24字（約12KB）。
   文字を増やすときは再サブセットが必要。 */
@font-face {
  font-family: "BrushIai";
  src: url("font/brush-iai.woff") format("woff");
  font-display: swap;
}

/* ハブのおみくじ運勢用・筆楷書サブセット（玉ねぎ楷書／改変可）。
   使用文字：大 中 小 吉 末 凶 の6字（約2.3KB）。増やすときは再サブセット。 */
@font-face {
  font-family: "MikujiFortune";
  src: url("font/mikuji-fortune.woff") format("woff");
  font-display: swap;
}

/* ハブのロゴ「Mikuji Games」用・筆楷書サブセット（玉ねぎ楷書／改変可）。
   使用文字：M i k u j G a m e s と空白（約2.7KB）。文字を変えたら再サブセット。 */
@font-face {
  font-family: "BrandBrush";
  src: url("font/brand-logo.woff") format("woff");
  font-display: swap;
}

/* ジグゾー美術館 用・にじみ明朝（幻ノにじみ明朝／改変可）。
   ジグゾー美術館で表示する全テキスト（UI＋33作品の題名・作者・解説）＋
   ひらがな/カタカナ/ASCII等をサブセット済み（約1.07MB, 1274字）。
   作品や文言を増やしたら jigsaw/ のソースから再サブセットが必要:
     python -m fontTools.subset "assets/font/幻ノにじみ明朝.otf" \
       --text-file=<jigsawの全文字> --flavor=woff \
       --output-file=assets/font/nijimi-mincho.woff --desubroutinize --no-hinting */
@font-face {
  font-family: "NijimiMincho";
  src: url("font/nijimi-mincho.woff") format("woff");
  /* ページ全文に使う大きめフォント＝swapだと読込完了時に全文字が組み直ってCLSが大きく出る。
     optionalなら間に合わなければ最初からシステムフォント固定＝後からの組み直りが起きない。 */
  font-display: optional;
}

/* 鬼群 -ONIMURE- 用・にじみ明朝（幻ノにじみ明朝／改変可）。
   鬼群の全表示テキスト＋かな/英数/記号をサブセット済み（約605KB, 702字）。
   文言を増やしたら onimure/ のソースから再サブセットが必要:
     python -m fontTools.subset "assets/font/幻ノにじみ明朝.otf" \
       --text-file=<鬼群の全文字> --flavor=woff \
       --output-file=assets/font/onimure-mincho.woff --desubroutinize --no-hinting */
@font-face {
  font-family: "OnimureMincho";
  src: url("font/onimure-mincho.woff?v=2") format("woff");
  /* ページ全文に使う大きめフォント＝swapだと読込完了時に全文字が組み直ってCLSが大きく出る。
     optionalなら間に合わなければ最初からシステムフォント固定＝後からの組み直りが起きない。 */
  font-display: optional;
}

/* 五重塔スタッキング 用・不知火EB（見出し・HUD/トースト用の力強い書体／改変可）。
   使用文字：五重塔スタッキング崩落…積み始めるもう一度層こわれで！ドピチャいい感じにズレたすぎ到達まの最高：0123456789ブクカァニャーン（約17KB）。
   文言を増やしたら元フォント assets/font/Shiranui-EB.otf から再サブセットが必要:
     python -m fontTools.subset "assets/font/Shiranui-EB.otf" \
       --text="<gojunotoの全文字>" --flavor=woff \
       --output-file=assets/font/gojunoto-title.woff --desubroutinize --no-hinting */
@font-face {
  font-family: "ShiranuiTitle";
  src: url("font/gojunoto-title.woff?v=3") format("woff");
  font-display: swap;
}

/* 時宗 -TOKIMUNE- 用・大正活字っぽい（taisyokatujippoi7T5／レトロ活版風）。
   時宗の全表示文字＋かな/英数/記号にサブセット済み（約922KB, 約1311字）。
   文言を増やしたら元TTF assets/font/taisyokatujippoi7T5.ttf から再サブセットが必要:
     （tokimune/ の全文字を集めて）python -m fontTools.subset \
       "assets/font/taisyokatujippoi7T5.ttf" --text-file=<時宗の全文字> \
       --flavor=woff --output-file=assets/font/taisho-katsuji.woff \
       --desubroutinize --no-hinting --layout-features=* */
@font-face {
  font-family: "TaishoKatsuji";
  src: url("font/taisho-katsuji.woff?v=3") format("woff");
  /* ページ全文に使う大きめフォント＝swapだと読込完了時に全文字が組み直ってCLSが大きく出る。
     optionalなら間に合わなければ最初からシステムフォント固定＝後からの組み直りが起きない。 */
  font-display: optional;
}

/* ============================================================
   共通UX：タップ時の文字選択・長押しメニューを無効化
   ------------------------------------------------------------
   スマホで「ボタンを押したいのに文字が選択される／長押しメニューが
   出る」のを防ぐ。ゲーム内テキストは選択させない方針。
   ただし入力欄（アカウント名など）は選択・編集できるよう除外する。
   このファイルを読み込む全ページに効く（2048 は読み込んでいないため
   2048/style.css 側にも同等ルールを記載）。
   ============================================================ */
html { -webkit-tap-highlight-color: transparent; }
body {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* 入力・編集可能な要素は選択/編集を許可（除外） */
input, textarea, select, [contenteditable], [contenteditable] * {
  -webkit-touch-callout: default;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}
/* ボタン・リンクはダブルタップズームや300ms遅延をなくす */
button, a, label, summary, [role="button"], .btn,
input[type="button"], input[type="submit"] { touch-action: manipulation; }

/* ============================================================
   みくじの解説（各ゲーム共通・折り畳み）
   ------------------------------------------------------------
   各ゲームの説明を <details class="mikuji-about"> で畳む（既定=閉じる）。
   見出しにみくじ猫アイコン。テーマ非依存の中間トーンで、暗/明どちらでも可読。
   ============================================================ */
details.mikuji-about { margin: 22px auto 0; max-width: 640px; width: 100%; }
details.mikuji-about > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px;
  padding: 9px 14px; border: 1px solid rgba(150, 130, 80, 0.45); border-radius: 12px;
  background: rgba(128, 128, 128, 0.10); font-weight: 700; font-size: 15px; user-select: none;
}
details.mikuji-about > summary::-webkit-details-marker { display: none; }
details.mikuji-about > summary::after {
  content: "▾"; margin-left: auto; opacity: 0.6; transition: transform 0.2s ease;
}
details.mikuji-about[open] > summary::after { transform: rotate(180deg); }
.mikuji-about-ico {
  width: 30px; height: 30px; object-fit: contain; flex: 0 0 auto;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
}
.mikuji-about-body { padding: 12px 15px 2px; }
.mikuji-about-say {
  margin: 0 0 12px; padding: 10px 14px; border-radius: 12px;
  background: rgba(128, 128, 128, 0.10); border: 1px solid rgba(150, 130, 80, 0.3);
  line-height: 1.8; font-size: 14.5px;
}
