/* THEME 04 — 새벽: 문학적인 밤, 첫차 전의 하늘 */
:root {
  --bg: #191627; --card: #211d33; --line: #322c49;
  --fg: #efe9f4; --fg-dim: #a79fc0;
  --accent: #c9a8ff; --accent2: #ffb38a;
  --sohee: #8fb8f0; --jieun: #f0a0c8; --dayeon: #ecc98a; --etc: #a79fc0;
  --chat-me: #43356b; --chat-you: #2a2440;
  --font-display: 'Noto Serif KR', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
}

body.theme-dawn {
  background:
    linear-gradient(180deg, #131020 0%, #1d1830 34%, #2c2140 62%, #4b3054 84%, #7a4a5e 100%) fixed,
    var(--bg);
}

/* 별 */
body.theme-dawn::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(1.5px 1.5px at 12% 18%, rgba(255,255,255,.5), transparent),
    radial-gradient(1px 1px at 68% 8%, rgba(255,255,255,.45), transparent),
    radial-gradient(1.5px 1.5px at 84% 26%, rgba(255,255,255,.35), transparent),
    radial-gradient(1px 1px at 32% 32%, rgba(255,255,255,.4), transparent),
    radial-gradient(1px 1px at 48% 12%, rgba(255,255,255,.3), transparent);
}
.theme-dawn .site-head, .theme-dawn #ep-tabs, .theme-dawn #script-root, .theme-dawn .site-foot { position: relative; z-index: 1; }

.theme-dawn .site-head { background: rgba(19, 16, 32, .7); border-bottom-color: rgba(201, 168, 255, .18); }
.theme-dawn .head-titles h1 { font-family: var(--font-display); font-weight: 600; letter-spacing: .14em; }
.theme-dawn .lang-switch button.on { background: var(--accent); color: #241d3a; }

.theme-dawn .ep-hero { border-radius: 4px; }
.theme-dawn .ep-hero-img img { filter: saturate(.85) contrast(.98); }
.theme-dawn .ep-hero-name { font-family: var(--font-display); font-weight: 600; letter-spacing: .06em; }

.theme-dawn .scene-head {
  border-bottom: 0; flex-direction: column; gap: 6px; align-items: center; text-align: center;
  margin: 60px 0 26px;
}
.theme-dawn .scene-head::after {
  content: '✦'; color: var(--accent); font-size: 11px; opacity: .8; margin-top: 6px;
}
.theme-dawn .scene-no { letter-spacing: .3em; color: var(--accent2); }
.theme-dawn .scene-slug { font-family: var(--font-display); font-weight: 600; font-size: 19px; letter-spacing: .08em; }

.theme-dawn .action { font-size: 15.5px; line-height: 1.95; text-align: justify; }
.theme-dawn .dlg { margin: 16px 0; }
.theme-dawn .dlg-body { font-family: var(--font-display); font-size: 16.5px; line-height: 1.9; }
.theme-dawn .who { font-size: 13px; letter-spacing: .18em; opacity: .95; }

.theme-dawn .chat-inner { background: rgba(33, 29, 51, .85); border-color: rgba(201, 168, 255, .2); }

.theme-dawn .note-body {
  background: transparent; color: var(--fg);
  border: 1px solid rgba(201, 168, 255, .4); border-radius: 0;
  font-family: var(--font-display); transform: none;
  box-shadow: none; padding: 20px 26px; text-align: center;
  position: relative;
}
.theme-dawn .note-body::before { content: '“'; }
.theme-dawn .note-body::after { content: '”'; }

.theme-dawn .cutto { color: var(--accent); opacity: .7; }
.theme-dawn .cutto::before, .theme-dawn .cutto::after { background: rgba(201, 168, 255, .25); }

.theme-dawn .gcell { border-radius: 3px; border-color: rgba(201, 168, 255, .2); }
.theme-dawn .gcell img { filter: saturate(.9); }
.theme-dawn .ep-tab { background: rgba(33, 29, 51, .7); }
.theme-dawn .ep-tab.on { border-color: var(--accent); background: rgba(201, 168, 255, .12); }
.theme-dawn .ep-tab.on .ep-tab-no { color: var(--accent); }
.theme-dawn .cookie-badge { background: var(--accent2); color: #3a2418; }
.theme-dawn #progress { background: linear-gradient(90deg, var(--accent), var(--accent2)); }
.theme-dawn #bgm { background: rgba(33, 29, 51, .9); border-color: rgba(201, 168, 255, .3); }
