/* 백도어 THEME 04 — 심야 사옥: 블라인드 그림자와 크림슨 */
:root {
  --bg: #0a0a0d; --card: #121218; --line: #232330;
  --fg: #e8e6e3; --fg-dim: #8e8a94;
  --accent: #e2263e; --accent2: #b9b3c4;
  --sohee: #9fc2e8;   /* 도윤 = 아이스 블루 */
  --jieun: #ff4d63;   /* 지혁 = 크림슨 */
  --dayeon: #d9b36b;  /* 영우 */
  --etc: #918d99;
  --chat-me: #35222a; --chat-you: #1a1a22;
  --font-display: 'Noto Serif KR', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
}

body.theme-bd-noir {
  background:
    repeating-linear-gradient(180deg, rgba(255, 255, 255, .015) 0 2px, transparent 2px 26px),
    radial-gradient(1000px 480px at 80% -10%, rgba(226, 38, 62, .08), transparent 60%),
    var(--bg);
}

.theme-bd-noir .site-head { background: rgba(10, 10, 13, .85); }
.theme-bd-noir .head-titles h1 {
  font-family: var(--font-display); font-weight: 700; letter-spacing: .3em;
  color: #fff;
}
.theme-bd-noir .site-head[data-sign]::after {
  content: attr(data-sign);
  font-size: 10px; font-weight: 900; letter-spacing: .24em;
  color: var(--accent); border-left: 3px solid var(--accent);
  padding: 2px 0 2px 10px;
}
@media (max-width: 640px) { .theme-bd-noir .site-head[data-sign]::after { display: none; } }
.theme-bd-noir .lang-switch button.on { background: var(--accent); color: #fff; }
.theme-bd-noir #progress { background: var(--accent); }

/* 블라인드 그림자 히어로 */
.theme-bd-noir .ep-hero.noimg {
  background:
    repeating-linear-gradient(168deg, rgba(0, 0, 0, .5) 0 14px, rgba(226, 38, 62, .06) 14px 15px, transparent 15px 30px),
    linear-gradient(120deg, #16161e, #0e0e13);
  border: 1px solid var(--line); border-radius: 6px;
}
.theme-bd-noir .ep-hero.noimg .ep-hero-txt { padding: 52px 26px 44px; }
.theme-bd-noir .ep-hero-no { color: var(--accent); letter-spacing: .3em; }
.theme-bd-noir .ep-hero-name { font-family: var(--font-display); letter-spacing: .1em; }

.theme-bd-noir .scene-head {
  border-bottom: 1px solid rgba(226, 38, 62, .35);
  flex-direction: column; align-items: flex-start; gap: 4px;
  margin-top: 56px;
}
.theme-bd-noir .scene-no { color: var(--accent); letter-spacing: .3em; }
.theme-bd-noir .scene-slug { font-family: var(--font-display); font-size: 20px; font-weight: 700; letter-spacing: .06em; }

.theme-bd-noir .action { line-height: 1.9; }
.theme-bd-noir .dlg-body { font-size: 16.5px; }
.theme-bd-noir .dlg[data-who="jieun"] .who { text-shadow: 0 0 14px rgba(255, 77, 99, .6); }
.theme-bd-noir .dlg-n .dlg-body { font-family: var(--font-display); color: #cfc9d6; }

.theme-bd-noir .chat-inner { background: rgba(18, 18, 24, .92); border-color: rgba(226, 38, 62, .25); }

.theme-bd-noir .note-body {
  background: transparent; color: var(--fg);
  border: 1px solid rgba(226, 38, 62, .45); border-radius: 0;
  font-family: var(--font-display); transform: none; box-shadow: none;
  padding: 20px 26px;
}

.theme-bd-noir .cutto { color: var(--accent); }
.theme-bd-noir .cutto::before, .theme-bd-noir .cutto::after { background: rgba(226, 38, 62, .3); }
.theme-bd-noir .fbmark span { border-color: rgba(185, 179, 196, .5); color: var(--accent2); }

.theme-bd-noir .ep-tab { background: var(--card); }
.theme-bd-noir .ep-tab.on { border-color: var(--accent); background: rgba(226, 38, 62, .08); }
.theme-bd-noir .ep-tab.on .ep-tab-no { color: var(--accent); }
.theme-bd-noir .cookie-badge { background: var(--accent); color: #fff; }
.theme-bd-noir .gcell { border-radius: 3px; }
.theme-bd-noir .gcell img { filter: saturate(.8) contrast(1.05); }
