/* myeongban.css — 명반(命盤) 모양 **한 곳** (2026-08-01)
 * ─────────────────────────────────────────────────────────────────────────────
 * myeongban.js 가 그리는 마크업의 모양을 여기서만 정한다.
 * 사주·궁합·택일 세 화면이 이 파일 하나를 함께 쓴다 —
 * 화면 HTML 에 명반 모양을 다시 적지 말 것. 적는 순간 또 갈라진다.
 *
 * [규격 — 2026-08-01 지시]
 *   · 세로 길이를 줄인다(한 쪽을 다 잡아먹지 않게)
 *   · 한자와 한글이 겹치지 않는다 — 한글은 칸 밖 아래에 둔다
 *   · 12신살 줄은 아예 그리지 않는다(myeongban.js 쪽)
 *
 * 인쇄 색·테두리는 print-report.css 가 맡는다. 여기서 인쇄 규격을 정하지 않는다.
 */

/* ★★ [2026-08-03 지시] 「바탕에 색을 넣던지, 선을 다 넣던지 해서
   **하나의 사주명반임을 바로 알 수 있게** 해」

   전에는 네 기둥이 10px 씩 떨어진 채 각자 둥근 모서리를 갖고 있어
   **별개의 카드 넷**으로 보였다. 명반은 원래 한 장의 판(格子)이다.
   → 바깥을 한 줄로 두르고, 안쪽은 **세로 구분선**으로 네 칸을 나눈다.
   ⚠ 이 화면들은 전부 어두운 테마다. **인쇄(밝은 종이)는 `print-report.css` 가 맡는다** —
     여기에 인쇄 색을 적지 말 것(그 규칙이 두 곳으로 갈라진다). */
/* ★★ 명반 담는 그릇이 화면마다 **이름이 다르다.** 여기 셋을 다 적어야 한 번에 바뀐다.
   [왜 셋인가 — 2026-08-03 실측]
     · `.myeongban-grid` … 부품이 스스로 만드는 것. **택일**과 **리포트 근거 블록**이 쓴다
     · `#palaceCards`    … **사주** 화면이 미리 만들어 둔 4열 그릇(`bare:true` 로 칸만 받는다)
     · `.saju-4col-grid` … **궁합** 화면. 두 사람을 나란히 두느라 자기 그릇을 쓴다
   [무슨 일이 있었나] 처음에 `.myeongban-grid` 만 고쳤더니 **택일·리포트만** 판이 되고
     사주·궁합은 카드 넷 그대로였다. 「한 곳에서 고치면 다 바뀐다」가 아니었던 것이다.
   ⚠ **새 화면은 그릇을 새로 만들지 말고** 부품이 만드는 `.myeongban-grid` 를 그대로 쓴다.
     자기 그릇을 쓰면 그 순간 여기에 이름을 하나 더 적어야 하고, 적기 전까지는 조용히 어긋난다.
     (`tests/myeongban-shared.test.js` 가 새 이름이 생기면 잡는다) */
.myeongban-grid,
#palaceCards,
.saju-4col-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 !important;                 /* 화면 쪽 `gap:12px`·모바일 `4px !important` 를 이긴다 */
  align-items: stretch;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, .035);
}

.mb-cell {
  text-align: center;
  padding: 12px 6px;
}
/* 칸과 칸 사이의 선 — 네 자리가 한 판 안의 네 기둥임을 보여 준다. */
.mb-cell + .mb-cell,
#palaceCards .myeongban-card + .myeongban-card,
.saju-4col-grid .myeongban-card + .myeongban-card { border-left: 1px solid rgba(255, 255, 255, .12); }

/* ★ [2026-08-03 지시] 「명반 사람이름 위에 눈에 보일락말락하게 선을 긋자.
   그러면 위의 콘텐트와 구별되겠다」

   명반은 바로 앞 글과 성격이 다른 덩어리다. 사이에 아무 표시가 없으니
   앞 문장에 딸린 그림처럼 읽혔다. **아주 옅은 선 하나**로 자리를 나눈다.
   ⚠ 선을 진하게 그으면 표가 둘로 보인다 — 있는 듯 없는 듯한 굵기가 목적이다.
   ⚠ 인쇄에서는 `body * { border-width:0 }` 가 선을 지운다. 아래 print 절에서 되살린다. */
.mb-lead {
  border-top: 1px solid rgba(255, 255, 255, .10);
  padding-top: 18px;
  margin-top: 24px;
}

/* 기둥 이름 (시주·일주·월주·년주) */
/* ★ [2026-08-06] 라벨이 **한 칸만 두 줄**이 되면 그 칸의 글자가 통째로 아래로 밀린다.
   실제로 「배우자궁(配偶者宮)」이 두 줄이 되어 일주만 한 줄 내려가 있었다(감수용 PDF 실측).
   네 칸이 **같은 자리에서 시작**해야 명반으로 읽힌다 → 라벨 자리를 두 줄로 못 박는다. */
.mb-label { font-size: 11px; opacity: .75; margin-bottom: 2px;
            /* ⚠ **줄높이를 함께 못 박지 않으면 min-height 가 헛돈다** — 두 줄이 상자를 넘겨
               그 칸만 다시 밀린다(한 번 겪었다). 1.2 × 2줄 = 2.4em < 2.8em 이라 넘지 않는다. */
            line-height: 1.2; min-height: 2.8em;
            display: flex; align-items: center; justify-content: center; }

/* 십성 — 천간 위, 지지 아래 두 자리에 쓴다.
   ★ [2026-08-03] `min-height` 가 없으면 **네 기둥의 글자 높이가 어긋난다.**
     성명학처럼 십성을 안 넘기는 화면에서는 일주만 「일원(日元)」 줄이 있어
     그 칸만 한 줄 아래로 밀렸다(실물 확인). 비어 있어도 자리를 지킨다. */
.mb-sip { font-size: 12px; opacity: .85; margin: 1px 0; min-height: 1.2em; line-height: 1.2; }

/* 한자 칸. 한글은 여기 넣지 않는다(겹쳤던 원인). */
.mb-char {
  width: 64px; height: 64px; margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid currentColor;
  border-radius: 12px;
  font-family: 'Noto Serif KR', serif;
  font-size: 34px; font-weight: 700; line-height: 1;
}

/* 한글 — 칸 **밖 아래**. 겹칠 자리가 없다. */
.mb-ko { font-size: 11px; line-height: 1.2; margin-top: 2px; opacity: .85; }

/* 지장간 */
.mb-jjg { font-size: 12px; margin-top: 4px; letter-spacing: -.2px; opacity: .9; }

/* 12운성 */
.mb-stage { font-size: 11px; margin-top: 1px; opacity: .8; }

/* 좁은 화면 — 네 기둥이 한 줄에 들어가야 명반으로 읽힌다. 줄을 접지 않는다. */
@media (max-width: 560px) {
  .myeongban-grid, #palaceCards, .saju-4col-grid { border-radius: 11px; }
  .mb-cell { padding: 8px 2px; }
  .mb-char { width: 46px; height: 46px; font-size: 24px; border-radius: 9px; }
  .mb-label, .mb-ko, .mb-stage { font-size: 10px; }
  .mb-sip, .mb-jjg { font-size: 10.5px; }
}

/* ── 오행 색 — 명반을 쓰는 **모든 화면**이 같은 색을 갖는다 (2026-08-03 추가) ──
   [무엇이 문제였나] 오행 색이 `saju.html`·`mingli-sungmyung.html` 안에만 정의돼 있어,
   `report-evidence.js` 로 명반을 그리는 리포트 화면(인텔리전스·코칭·데일리)에서는
   클래스만 붙고 **색이 전혀 안 나왔다.** 감수용 PDF 에서 명반이 통째로 검정이었다.
   같은 명반이 화면마다 다르면 그건 명반이 두 벌인 것과 같다 —
   `myeongban.js` 를 한 곳으로 모은 뜻이 없어진다.
   [값] 사주 화면(saju.html)의 색을 그대로 옮겼다. 새로 정하지 않는다. */
.mb-char.wx-wood  { background: rgba(34,197,94,.14);   color:#86efac; border-color: rgba(34,197,94,.35); }
.mb-char.wx-fire  { background: rgba(239,68,68,.14);   color:#fca5a5; border-color: rgba(239,68,68,.35); }
.mb-char.wx-earth { background: rgba(234,179,8,.14);   color:#fde047; border-color: rgba(234,179,8,.35); }
.mb-char.wx-metal { background: rgba(148,163,184,.16); color:#e2e8f0; border-color: rgba(148,163,184,.4); }
.mb-char.wx-water { background: rgba(59,130,246,.14);  color:#93c5fd; border-color: rgba(59,130,246,.35); }

/* 종이에서는 옅은 배경 위 **짙은 글자**로 바꾼다.
   ⚠ 화면용 밝은 색(#86efac 등)을 그대로 인쇄하면 흰 종이에서 거의 안 보인다.
     실제로 8/1 에 같은 사고를 겪었다(표지 흰 글자). 흑백 인쇄까지 생각해 **테두리도 남긴다.** */
@media print {
  /* 이름 위 구분선 — 종이에서도 남긴다. 반투명 흰 선은 흰 종이에서 사라진다.
     ⚠ `print-report.css` 의 `body * { border-width:0 !important }` 를 이겨야 하므로
       굵기까지 다시 적는다(색만 바꾸면 선이 안 보인다). */
  .mb-lead {
    border-top-width: 1px !important;
    border-top-style: solid !important;
    border-top-color: #e0dbd0 !important;
    padding-top: 5mm !important;
    margin-top: 6mm !important;
  }

  /* 판(格子)도 종이에서 보여야 한다 — 화면용 반투명 흰 선은 흰 종이에서 사라진다.
     [2026-08-03 지시] 「하나의 사주명반임을 바로 알 수 있게」는 인쇄에서도 같다. */
  .myeongban-grid { border-color:#b9b2a4 !important; background:#faf9f6 !important; }
  .mb-cell + .mb-cell { border-left-color:#d5cfc3 !important; }

  .mb-char.wx-wood  { background:#eef6ec !important; color:#1f5132 !important; border-color:#9cc4a3 !important; }
  .mb-char.wx-fire  { background:#fbeceb !important; color:#8a2d22 !important; border-color:#d8a49c !important; }
  .mb-char.wx-earth { background:#faf3e0 !important; color:#6b5312 !important; border-color:#cdb87e !important; }
  .mb-char.wx-metal { background:#f1f3f5 !important; color:#333a44 !important; border-color:#b6bcc6 !important; }
  .mb-char.wx-water { background:#eaf1fa !important; color:#1d3a6b !important; border-color:#9db4d4 !important; }
}
