/* =========================================================
   星を巡る千一話  共通スタイル（index.html・25.html〜175.html 共用）
   ・色は :root の変数だけ直せば全ページに反映されます
   ・各話のHTMLは「ひな形」（README の <article class="entry"> ）を使います
   ========================================================= */

:root {
  --c-date:  #993333;   /* 各話の日付 */
  --c-title: #0000cc;   /* 各話のタイトル */
  --c-em:    #008200;   /* 本文中の強調（緑・太字） */
  --c-warn:  #ff0000;   /* 本文中の注意（赤） */
  --c-star:  #cc9900;   /* 各話の区切り ★ */
  --c-line:  #000066;   /* 枠線・表の罫線 */
  --c-hl:    #ffffcc;   /* 表のハイライトセル */
}

/* ---------- ページ全体 ---------- */
.page {
  max-width: 720px;
  margin: 0 auto 20px;
  padding: 0 12px;
  box-sizing: border-box;
  line-height: 1.75;
}

.page img {
  max-width: 100%;
  height: auto;
}

.page .kana,
.page .logo,
.page .range {
  text-align: center;
}

.page .kana {
  font-size: larger;
}

.page .range {
  margin: 0 0 1em;
}

/* ---------- 枠（導入文・ナビ） ---------- */
.box {
  border: 1px solid var(--c-line);
  padding: 20px;
  margin: 0 0 -1px;
  text-align: left;
}

.intro p {
  margin: 0 0 1em;
}

.intro .sign {
  text-align: right;
  margin-bottom: 0;
}

.nav p {
  margin: 0 0 1em;
}

.nav p:last-child {
  margin-bottom: 0;
}

.nav a[aria-current="page"] {
  color: inherit;
  font-weight: bold;
  text-decoration: none;
}

/* ---------- 検索ボックス（index.html） ---------- */
.search-box-1001 {
  background-color: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 16px 20px;
  margin: 20px 0;
}

.search-box-1001 h2 {
  font-size: 1.1em;
  margin: 0 0 4px 0;
}

.search-box-1001 p {
  margin: 0 0 10px 0;
  font-size: 0.9em;
}

.search-form-1001 {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
}

.search-input-1001 {
  padding: 6px 12px;
  font-size: 0.95em;
  border: 1px solid #ccc;
  border-radius: 4px;
  flex: 1;
  min-width: 200px;
}

.search-btn-1001 {
  padding: 6px 16px;
  font-size: 0.95em;
  background-color: #4a6b82;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.search-btn-1001:hover {
  background-color: #3b5668;
}

/* ---------- 各話 ----------
   <article class="entry" id="w189">
     <header class="entry-head">
       <time class="entry-date" datetime="2026-11-11">2026年11月11日</time>
       <h2 class="entry-title">第189話 タイトル</h2>
     </header>
     <p>本文…</p>
   </article>
   各話の上の ★ 区切りはここで描くので、HTMLには書かない */
.entry {
  font-size: 16px;
}

.entry::before {
  content: "★";
  display: block;
  text-align: center;
  color: var(--c-star);
  margin: 1.6em 0;
}

.entry::after {            /* 回り込み画像が次の話に漏れないように */
  content: "";
  display: block;
  clear: both;
}

.entry-head {
  margin: 0 0 1em;
}

.entry-date {
  color: var(--c-date);
  font-weight: bold;
  margin-right: 0.5em;
}

.entry .entry-title {
  display: inline;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: bold;
  line-height: inherit;
  letter-spacing: normal;
  text-align: inherit;
  text-decoration: none;
  color: var(--c-title);
  /* hpbsite.css の h2 装飾（背景・枠・影など）を打ち消す */
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-shadow: none;
  width: auto;
}

.entry .entry-title::before,
.entry .entry-title::after {
  content: none;
}

.entry p {
  margin: 0 0 1em;
}

.entry ul,
.entry ol {
  margin: 0 0 1em;
}

.entry blockquote {
  margin: 0 0 1em 2em;
}

.entry blockquote p:last-child {
  margin-bottom: 0;
}

/* ---------- 本文の部品 ---------- */
.em   { color: var(--c-em);   font-weight: bold; }   /* 強調（緑） */
.warn { color: var(--c-warn); }                      /* 注意（赤） */
.note { font-size: 0.8125em; }                       /* 注釈（小さめ） */
.center { text-align: center; }
.right  { text-align: right; }

.float-left  { float: left;  margin: 7px 7px 7px 0; }
.float-right { float: right; margin: 7px 0 7px 7px; }

.entry img[width="1"] {    /* 計測用の1pxバナー */
  border: 0;
  margin: 0;
}

/* ---------- 表 ---------- */
.table-wrap {
  overflow-x: auto;
  margin: 0 0 1em;
}

table.data {
  border-collapse: collapse;
}

table.data th,
table.data td {
  border: 1px solid var(--c-line);
  padding: 4px 10px;
  text-align: left;
  vertical-align: top;
}

table.data th {
  text-align: center;
  white-space: nowrap;
}

table.data td.r  { text-align: right; }
table.data td.c  { text-align: center; }
table.data td.hl { background-color: var(--c-hl); }

/* ---------- 狭い画面 ---------- */
@media (max-width: 520px) {
  .box {
    padding: 14px;
  }

  .float-left,
  .float-right {
    float: none;
    display: block;
    margin: 0 auto 1em;
  }
}
