/* V23 — 어두운 권위는 유지하고, 사진과 해설은 누구나 읽히게 만든다. */
body.v16-flow {
  --ink:#f5efe4;
  --ink2:#cec6b8;
  --paper:#171a16;
  --paper2:#171a16;
  --line:rgba(231,195,108,.32);
  --wood:#72c98a;
  --fire:#f17b6e;
  --earth:#e0b94f;
  --metal:#e1e5e6;
  --water:#80b5ed;
  color:#f5efe4;
  background-color:#0b0d0b!important;
  background-image:
    radial-gradient(circle at 12% 10%,rgba(94,126,75,.20),transparent 32%),
    radial-gradient(circle at 88% 30%,rgba(157,70,42,.17),transparent 34%),
    radial-gradient(circle at 48% 58%,rgba(195,146,56,.15),transparent 36%),
    linear-gradient(90deg,#0a0c0a,#111410 50%,#090b09)!important;
}

.v16-banner { min-height:196px; background:#10120f; }
.v16-banner__image {
  filter:grayscale(.08) saturate(.94) contrast(1.04) brightness(.92);
  object-position:68% 42%;
  transform:scale(1.015);
}
.v16-banner::before {
  background:
    linear-gradient(90deg,rgba(8,10,8,.90) 0%,rgba(8,10,8,.68) 42%,rgba(8,10,8,.12) 74%,rgba(8,10,8,.18) 100%),
    linear-gradient(180deg,rgba(8,10,8,.02),rgba(8,10,8,.42) 110%);
}
.v16-banner__copy { min-height:196px; }
.v16-banner__line { color:#e3ddcf; font-size:12px; line-height:1.65; text-shadow:0 1px 10px #000; }
.v16-banner__eyebrow { color:#ffe4a0; }

body.v16-flow.page-app header {
  min-height:270px!important;
  background:
    linear-gradient(90deg,rgba(8,10,8,.80) 0%,rgba(8,10,8,.52) 46%,rgba(8,10,8,.10) 78%,rgba(8,10,8,.18)),
    url('/media/v7-fate-bell.webp') 64% 57%/cover!important;
}
body.v16-flow.page-app header .bub { color:#ffe3a0!important; }
body.v16-flow.page-app header h1 { color:#fff9ec!important; text-shadow:0 2px 18px #000; }
body.v16-flow.page-app header p { color:#eee5d5!important; text-shadow:0 1px 10px #000; }

body.v16-flow.page-app .tabs { background:#111410!important; border-color:rgba(231,195,108,.34)!important; }
body.v16-flow.page-app .tabs button { color:#d8d0c2!important; }
body.v16-flow.page-app .tabs button.on { color:#ffe6a6!important; background:#242319!important; }

body.v16-flow.page-app .card {
  border-color:rgba(231,195,108,.34)!important;
  background:rgba(24,27,23,.98)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.24)!important;
}
body.v16-flow.page-app .card h2,
body.v16-flow.page-app .card h3 { color:#f3d88d!important; }
body.v16-flow.page-app .card p,
body.v16-flow.page-app .card label,
body.v16-flow.page-app .field label,
body.v16-flow.page-app .checkline label,
body.v16-flow.page-app .meta,
body.v16-flow.page-app .dw-meta,
body.v16-flow.page-app .zbody,
body.v16-flow.page-app .cSec p { color:#ded7ca!important; }
body.v16-flow.page-app .meta b { color:#fff8ea!important; }
body.v16-flow.page-app input,
body.v16-flow.page-app select { background:#111410!important; color:#fff8ea!important; border-color:rgba(231,195,108,.42)!important; }
body.v16-flow.page-app .pillar,
body.v16-flow.page-app .dw,
body.v16-flow.page-app .animal-grid button { background:#141814!important; color:#f3ede2!important; border-color:rgba(231,195,108,.30)!important; }
body.v16-flow.page-app .plabel,
body.v16-flow.page-app .hidden-stems,
body.v16-flow.page-app .bar-track { background:#20241e!important; color:#d8d1c5!important; }
body.v16-flow.page-app .bar-row .bl,
body.v16-flow.page-app .tg,
body.v16-flow.page-app .hangul,
body.v16-flow.page-app .dw .age,
body.v16-flow.page-app .dw .yy { color:#cec6b8!important; }

/* 핵심을 먼저 읽고, 원국·오행·십신 표는 원하는 사람만 펼친다. */
body.v16-flow.page-app #result .interp {
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.reading-heading { margin:4px 0 14px; padding:20px 18px; border:1px solid rgba(240,202,112,.45); background:linear-gradient(145deg,#262319,#151814); }
.reading-heading span { display:block; margin-bottom:7px; color:#e8be63; font-size:10px; font-weight:700; letter-spacing:.18em; }
.reading-heading h2 { margin:0 0 7px!important; padding:0!important; border:0!important; color:#fff4d7!important; font-size:24px!important; }
.reading-heading p { margin:0; color:#d8d1c4!important; font-size:13px; line-height:1.7; }

.plain-reading {
  position:relative;
  margin:0 0 14px;
  padding:22px 18px 18px;
  overflow:hidden;
  border:1px solid #cbb98f;
  border-radius:4px;
  color:#2d281f;
  background:
    radial-gradient(circle at 92% 8%,rgba(141,49,39,.08),transparent 22%),
    linear-gradient(145deg,#f6efdf,#e9ddc5);
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.plain-reading::after { content:"解"; position:absolute; right:12px; top:8px; color:rgba(143,48,41,.10); font:700 72px/1 "Song Myung",serif; }
.plain-reading .sec-top { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:13px; }
.plain-reading .sec-step { color:#8b2e28; font-size:11px; font-weight:700; letter-spacing:.08em; }
.plain-reading h3 { position:relative; z-index:1; margin:0 0 11px!important; color:#392d20!important; font-size:18px!important; }
.plain-reading .sec-headline { position:relative; z-index:1; margin:0 0 14px; color:#17130f!important; font:700 21px/1.45 "Noto Sans KR",sans-serif; word-break:keep-all; }
.plain-reading .sec-easy { margin:0 0 13px; padding:13px 14px; border-left:3px solid #a97d32; color:#40382d!important; background:rgba(255,255,255,.34); font-size:14px; line-height:1.75; }
.plain-reading b { display:block; margin-bottom:4px; color:#8a4f20; font-size:11px; letter-spacing:.04em; }
.plain-reading .sec-points { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.plain-reading .sec-points p { margin:0; padding:12px; color:#494035!important; background:rgba(76,61,37,.07); font-size:13px; line-height:1.65; }
.plain-reading .sec-action { margin:9px 0 0; padding:13px 14px; color:#fff8e7!important; background:#3b3428; font-size:13px; line-height:1.65; }
.plain-reading .sec-action b { color:#f2cb78; }
.plain-reading details { margin-top:11px; color:#6f6251; font-size:11px; }
.plain-reading details summary { color:#75654e; letter-spacing:0; }
.plain-reading details p { margin:7px 0 0; color:#756b5c!important; font-size:11px; line-height:1.55; }

.technical-reading { margin:18px 0; }
.technical-reading>summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px 16px; cursor:pointer; border:1px solid rgba(231,195,108,.36); color:#f2ddaa; background:#161914; font-size:14px; font-weight:700; list-style:none; }
.technical-reading>summary::-webkit-details-marker { display:none; }
.technical-reading>summary::after { content:"＋"; margin-left:auto; color:#e1b85e; font-size:18px; }
.technical-reading[open]>summary::after { content:"－"; }
.technical-reading>summary small { color:#aaa294; font-size:10px; font-weight:400; }
.technical-reading>.card { margin-top:10px; }

@media (max-width:390px) {
  .v16-banner { min-height:210px; }
  .v16-banner__copy { min-height:210px; }
  .plain-reading .sec-points { grid-template-columns:1fr; }
  .plain-reading .sec-headline { font-size:19px; }
  .technical-reading>summary { align-items:flex-start; flex-direction:column; position:relative; padding-right:44px; }
  .technical-reading>summary::after { position:absolute; right:15px; top:14px; }
}
/* 기존 .card 글자색보다 높은 우선순위로 한지 본문의 명암을 고정한다. */
body.v16-flow.page-app #result .plain-reading h3 { color:#392d20!important; }
body.v16-flow.page-app #result .plain-reading p.sec-headline { color:#17130f!important; }
body.v16-flow.page-app #result .plain-reading p.sec-easy { color:#40382d!important; }
body.v16-flow.page-app #result .plain-reading .sec-points p { color:#494035!important; }
body.v16-flow.page-app #result .plain-reading p.sec-action { color:#fff8e7!important; }
body.v16-flow.page-app #result .plain-reading details p { color:#756b5c!important; }