/* ==========================================================================
   パズル探偵スカウト (Murder by Numbers) 専用スタイルシート
   世界観: 1996年ロサンゼルス×90年代ネオンポップ×スカウトのサイバー解析
   ========================================================================== */

body.pattern-indie.mbn-site,
body.mbn-site {
  --pi-bg: #0c1017;            /* 深夜のロサンゼルス・CRT画面の深藍 */
  --pi-panel: #141a24;         /* 端末パネル・カード面 */
  --pi-input: #080b0f;         /* 入力枠・スキャン盤面の深黒 */
  --pi-hover: #1c2533;         /* ホバー時の発光面 */
  --pi-card: #121721;          /* DBカードの面 */
  --pi-paper: #e9f2ff;         /* 本文文字（青白クリアホワイト） */
  --pi-muted: #9bb0c7;         /* 補助文字（高視認性スレート・4.5:1以上） */
  --pi-line: #263346;          /* 境界線・回路グリッドライン */
  --pi-green: #00e5ff;         /* スカウトのシアン（リンク・活性表示） */
  --pi-red: #ff2a85;           /* 90年代ネオンマゼンタ（警告・注目） */
  --pi-red-ink: #ff85b8;       /* ネタバレ・警告見出し文字 */
  --pi-accent-sub: #ffc400;    /* ハリウッドゴールド（TL;DR結論枠帯） */
  --pi-accent-text: #ffe066;   /* 結論・注目文字 */
  --pi-accent-border: #997500; /* ゴールド枠線 */
  --pi-font: "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", sans-serif;
  --pi-radius: 4px;

  color: var(--pi-paper);
  background-color: var(--pi-bg);
}

/* 共通白背景コンポーネントの暗色適応（低コントラスト防止） */
body.mbn-site .gh-top,
body.mbn-site .gnav,
body.mbn-site .mnav,
body.mbn-site .side-box,
body.mbn-site .cat-tiles,
body.mbn-site .ad-label {
  background-color: var(--pi-panel) !important;
  color: var(--pi-paper) !important;
  border-color: var(--pi-line) !important;
}

body.mbn-site .gnav a,
body.mbn-site .mnav a,
body.mbn-site .gh-top a {
  color: var(--pi-paper) !important;
}

body.mbn-site .gnav a.current,
body.mbn-site .mnav a.current {
  background: var(--pi-green) !important;
  color: #080b0f !important;
  font-weight: bold !important;
}

body.mbn-site .ad-label {
  color: var(--pi-muted) !important;
}

/* リンク */
body.mbn-site a {
  color: var(--pi-green);
}
body.mbn-site a:hover {
  color: #ffffff;
}

/* 長い英数字列・ビット列のはみ出し防止 */
body.mbn-site .textbox,
body.mbn-site dd,
body.mbn-site td,
body.mbn-site pre,
body.mbn-site code,
body.mbn-site .facts dd {
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
}

/* ヒーローヘッダーのサイバー演出 */
body.mbn-site .site-hero {
  border-bottom: 2px solid var(--pi-green);
  box-shadow: 0 4px 20px rgba(0, 229, 255, 0.15);
}

/* 用語集（.term-item）の高コントラスト暗色対応（theme_audit.py 対策） */
body.mbn-site .terms,
body.mbn-site dl.terms,
body.mbn-site .term-item {
  background: var(--pi-panel);
  border-color: var(--pi-line);
  color: var(--pi-paper);
}

body.mbn-site .term-item dt,
body.mbn-site .term-item dt .term-name,
body.mbn-site span.term-name {
  color: #ffffff !important;
  font-weight: 700;
}

body.mbn-site .term-item dt small,
body.mbn-site .term-item dt .term-en,
body.mbn-site small.term-en {
  color: var(--pi-muted) !important;
}

body.mbn-site .term-item dd,
body.mbn-site .term-desc {
  color: var(--pi-paper) !important;
}

/* 見出し・強調・プロフィール名のコントラスト強化 */
body.mbn-site .article-head h1,
body.mbn-site .article-head h2,
body.mbn-site .profile-name,
body.mbn-site .profile-name-ja,
body.mbn-site .browse-cards a,
body.mbn-site .card-body > a,
body.mbn-site .side-menu a,
body.mbn-site .gnav-more summary {
  color: #ffffff !important;
}

body.mbn-site .profile-name-en {
  color: var(--pi-muted) !important;
}

/* ネオン見出しアクセント */
body.mbn-site h2 {
  position: relative;
  border-left: 4px solid var(--pi-green);
  padding-left: 0.75rem;
  color: var(--pi-paper);
}

body.mbn-site h2::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, var(--pi-green), transparent);
}

/* 結論枠（.c-answer）のネオンサイバー装飾 */
body.mbn-site .c-answer {
  background: linear-gradient(135deg, rgba(20, 26, 36, 0.95), rgba(12, 16, 23, 0.95));
  border: 1px solid var(--pi-accent-border);
  border-left: 4px solid var(--pi-accent-sub);
  box-shadow: 0 4px 15px rgba(255, 196, 0, 0.08);
  color: var(--pi-paper);
}

body.mbn-site .c-answer b {
  color: var(--pi-accent-text);
}

/* カード一覧のホバー発光 */
body.mbn-site .p-card {
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  border: 1px solid var(--pi-line);
  background: var(--pi-panel);
  color: var(--pi-paper);
}

body.mbn-site .p-card:hover {
  transform: translateY(-2px);
  border-color: var(--pi-green);
  box-shadow: 0 6px 18px rgba(0, 229, 255, 0.12);
}

body.mbn-site .p-card.is-primary {
  border-left: 3px solid var(--pi-green);
}

body.mbn-site .p-card small {
  color: var(--pi-muted);
}

/* ステップリスト（.steps） */
body.mbn-site ol.steps > li::before {
  background: var(--pi-green) !important;
  color: #080b0f !important;
  font-weight: bold;
}

/* ネタバレ折りたたみ（details） */
body.mbn-site details {
  background: var(--pi-panel);
  border: 1px solid var(--pi-line);
  border-radius: var(--pi-radius);
  padding: 0.75rem 1rem;
  margin: 1rem 0;
  color: var(--pi-paper);
}

body.mbn-site details summary {
  cursor: pointer;
  font-weight: bold;
  color: var(--pi-paper);
}

body.mbn-site details[open] summary {
  border-bottom: 1px solid var(--pi-line);
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
  color: var(--pi-green);
}

/* 表スタイル */
body.mbn-site table.data,
body.mbn-site .compare-table,
body.mbn-site .kv-table,
body.mbn-site .chart-table {
  background: var(--pi-panel);
  border: 1px solid var(--pi-line);
  border-radius: var(--pi-radius);
}

body.mbn-site table.data th,
body.mbn-site .compare-table th {
  background: var(--pi-hover);
  color: #ffffff;
  border-bottom: 2px solid var(--pi-line);
}

body.mbn-site table.data td,
body.mbn-site .compare-table td {
  border-bottom: 1px solid var(--pi-line);
  color: var(--pi-paper);
}

/* 陣営バッジ（chip）の暗背景適応 */
body.mbn-site .chip {
  background: var(--pi-hover);
  border: 1px solid var(--pi-line);
  color: var(--pi-paper);
}

body.mbn-site .chip-blue {
  background: #10345e;
  border-color: #1e5ba3;
  color: #e6f1ff;
}

body.mbn-site .chip-purple {
  background: #351a5c;
  border-color: #5d2ea6;
  color: #f3eaff;
}

body.mbn-site .chip-red {
  background: #591630;
  border-color: #9e2353;
  color: #ffe6ef;
}

body.mbn-site .chip-amber {
  background: #523b0a;
  border-color: #8c6411;
  color: #fff4dc;
}

body.mbn-site .chip-teal {
  background: #0f4547;
  border-color: #197275;
  color: #e6ffff;
}

body.mbn-site .chip-green {
  background: #114723;
  border-color: #1f823f;
  color: #e6ffed;
}

body.mbn-site .chip-dark {
  background: #1c222b;
  border-color: #2e3745;
  color: #e1e7f0;
}
