/* ============================================================================
   sanctuary-band.css ― ライト相ページの題字帯（2026-08-06   新設）

   ■ 何のためのファイルか
      kago / kantei / weekly の3ページにだけ入った「題字帯」を
     絵が1枚も無かった8ページ（moon / compatibility / letters / almanac /
     monsho / column / history / about）へ広げるための最小スタイルシート。
     「間（ま）」という世界観を言葉としては確立したのに
     8つの部屋には絵が1枚も無かった——その空白を埋めるのが本ファイル。

   ■ 契約（free-campaign.js 方式・までの流儀を踏襲）
     **各HTMLの <link rel="stylesheet" href="sanctuary-band.css"> 1行を外せば、
       見た目は完全に元へ戻る。**
     そのために、本ファイルが定義するセレクタは **すべて .pgband の内側に閉じている**。
     HTML側に追加した <div class="pgband"> は、CSSが無ければ
     単に画像が素で1枚流れるだけ（帯にはならない）ため、
     撤去時は <link> と <div class="pgband">…</div> の2箇所を消せば原状に戻る。

   ■ 意匠の出どころ（⚠️ 再発明していない。値は sanctuary-ext.css からの逐語複製）
     .art-slot / .art-veil / レシピM「燭火」 / --band の羽化 は
     すべて sanctuary-ext.css §2-3（ 2-4 の実コード）が正本。
     本ファイルはその**必要最小のサブセット**を .pgband スコープで再掲するだけで、
     プロパティ値は1つも変えていない。
     （ライト相の情景既定であるレシピP「紙化」は、本素材に対して実描画で不適合と分かったため
       採らなかった。経緯と採点は下の §レシピM のコメント、および
        §1 を参照）
     ⚠️ sanctuary-ext.css §2-3 を改訂したときは本ファイルも必ず同時に直すこと
        （二重定義。sanctuary-ext.css 全体〔gzip 18KB〕を8ページへ読ませると
         LCPを悪化させるため、必要な約1KBだけを切り出している）。
     ⚠️ sanctuary-ext.css §2-3 は「羽化と額装は排他」と明記している。
        レシピMは通常 border＋border-image の額装を伴うが、帯（--band）は羽化型なので
        本ファイルでは額装を付けない（＝同規定の実装であって、独自解釈ではない）。

   ■ 部屋ごとの割り当て（「扉の眺めと部屋の中を対にする」）
     kago.html の扉画像＝その部屋を*外から見た眺め*／本帯＝*その部屋の中*。
       moon          月の間   05_月の間（夜の円堂）        ← 対 door_moon
       compatibility 縁の間   01_水鏡の庭_池（水鏡）        ← 対 door_aisho
       letters       文の間   06_文箱の間（文箱と後陣）     ← 対 door_fumibako
       almanac       栞の間   02_暁の湖（暁の水面）
       monsho        刻印の間 02_暁の湖_次点（対称の穹窿）
       column        書斎     04_女神の書斎（光の差す書庫）
       history       記録の間 03_天への石段（積み上がる段）  ← 対 door_kiroku
       about         お社     07_加護の間_内陣（列柱の内陣） ← 対 kago/band

   ■ 守っていること
     * 文字は帯に**乗せない**（ 2-5 の原則。題字は帯の直下＝各ページ既存の
       見出しがそのままキャプションの役を果たす）。よって帯上のAAコントラスト問題は
       構造的に発生しない。
     * 画像は「敷く」のであって「貼る」のではない。
       ⒜スクリム（.art-veil）を重ね ⒝上下端を羽化して溶かしている。
     * 高さはCSSで確定（clamp）。<img>にwidth/height属性も置いているので
       **新規のレイアウトシフトは発生しない**（既知のCLSは free-campaign.js の
       後挿し由来＝。本ファイルはそれを増やさない）。
     * 人物の切り抜き合成なし（天啓姫は本帯に一切登場しない＝「ここぞに居る」）。
   ========================================================================== */

.pgband{
  position: relative;
  width: 100%;
  /* 帯の高さ。1280px幅で256px・375px幅で140px。題字より控えめな「間の気配」の量 */
  --pgband-h: clamp(140px, 20vw, 260px);
}

/* 平時（＝無料開放キャンペーン終了後。free-campaign.js が .is-active を付けない状態）は
   バナーの高さが無くなり、帯が position:fixed のヘッダーへ潜り込む。
   そのぶんの逃げをここで確保する（キャンペーン中は0＝二重に空かない）。
   ヘッダー実測高＝67px（auth-style.css: padding 15px×2＋中身）。 */
#tenkeiFreeBanner:not(.is-active) + .pgband{ padding-top: 68px; }

/* ── 画像スロット基盤（sanctuary-ext.css §2-3 .art-slot / .art-slot img の逐語複製。
      ただし aspect-ratio ではなく高さ固定＝帯用） ── */
.pgband .art-slot{
  position: relative;
  overflow: hidden;
  height: var(--pgband-h);
  background: var(--bg-alt);      /* 画像未着時のプレースホルダー（ライト相既定） */
  /* ⚠️ 2026-08-09（ W6-1）追加＝この1行が無いと帯が潰れる。
     sanctuary-ext.css §2-3 の .art-slot は aspect-ratio:var(--ratio, 3/2) を持つ。
     本ファイルは上で height を固定しているが aspect-ratio は打ち消していなかったため、
     幅が「高さ×3/2」で算出され、1280px幅のページで帯が w=384px に潰れ、
     右側3分の2が地色のまま空く不具合が letters/moon/compatibility/almanac/monsho の
     5ページで発生していた（-2/1-3 で sanctuary-ext.css を各ページへ配線した時点で
     顕在化したWave跨ぎの統合バグ。1280pxの実描画で w=384px を実測して確認）。
     帯は「高さ固定・幅いっぱい」が設計意図（本ブロック冒頭のコメントのとおり）。 */
  aspect-ratio: auto;
  width: 100%;
}
.pgband .art-slot img{
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: var(--focus, 50% 50%);
}

/* ── レシピM「燭火」：本改修の8帯すべてに使う。sanctuary-ext.css §2-3 の値をそのまま使用。
      ⚠️ なぜ「ライト相の情景既定」であるレシピP「紙化」を採らなかったか（実測に基づく判断・
         次工程の監査で判定を仰ぐ）：
         レシピPは sanctuary-ext.css 自身が「本改修の新設ページでは未使用＝将来ライト相ページに
         情景を足す場合の規定として保持」と記す**一度も実適用されたことのない規定**だった。
         今回それを8帯へ初適用して1280px幅で実描画したところ、
         grayscale + brightness(104%) + contrast(88%) + 白20%のヴェールという構成が、
         明るい石造建築という本素材（平均輝度 114〜163）に対しては効きすぎ、
         **7枚中6枚が地の #DDDDDB とほぼ判別できない白い霞**になった（letters/almanac/column/about が顕著）。
         Pは「暗い夜相素材をライト相の紙面へ馴染ませる」ための規定であり、
         もともと明るい素材には過剰だった、というのが実測から得た理解。
         代わりに、 kago/kantei/weekly の3帯が実際に使って通っているレシピMを採った。
         Mは brightness(.82) で沈めるため明るい素材でも像が立ち、色を残すが、
         残る色は石の銀鼠と暁の金＝§7カラートークン（銀鼠×墨×金）の内側に収まる。
         結果、サイト上の**題字帯は11枚すべてがレシピM**で揃い、系として一貫する。
      §5-3「月の間だけは明るくしない」は、moon.html の素材（夜の円堂）自体が暗いため
      同じMのままで自動的に満たされる（の夜相移行で本格対応）。 ── */
.pgband .art-slot--candle img{
  filter: brightness(.82) contrast(.94) saturate(.88) sepia(6%);
}
.pgband .art-slot--candle .art-veil{
  position: absolute; inset: 0;
  box-shadow: inset 0 0 56px rgba(10,11,14,.42);
  pointer-events: none;
}

/* ── 帯の羽化（sanctuary-ext.css §2-3 .art-slot--band の逐語複製）。
      上下端を透明へ溶かし、矩形の写真が「貼られている」状態を消す。
      border:0 は同§の「羽化と額装は排他」規定の実装（レシピM側の額装を打ち消す）。 ── */
.pgband .art-slot--band{
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  border: 0;
}

/* ── 帯の直後に来る見出しブロックの間合い ──
   almanac / monsho / column / about は固定ヘッダーを避けるため padding-top を
   120〜130px 取っている。その上にさらに帯が乗ると題字が遠くへ落ちるので、
   帯があるときだけ詰める（<link>を外せば元の値へ戻る＝撤去契約を保つ）。 */
.pgband + .alm-wrap,
.pgband + .mon-wrap{ padding-top: 34px; }
.pgband + .page-hero{ padding-top: 34px; }
