/* ─────────────────────────────────────────────────────────────────────────
 * board-kit — 플러그인이 소유하는 최소 CSS.
 *
 * 여기 있는 건 딱 두 종류다:
 *   ① 테마 유틸과 특이도 싸움을 하면 안 되는 표시 제어 (`bk-hidden`)
 *   ② **토큰 편차 방어** — 상태색 `-ink` 짝은 보유 테마 21종 중 8종에만 있다.
 *      var() 폴백 체인으로 받으면 토큰이 있는 테마는 그 값이, 없는 테마는 대체값이 적용돼
 *      **죽은 클래스가 안 생긴다.** (원본 ack.php 의 `text-success-ink` 는 13개 테마에서
 *      아무 색도 안 나오는 상태였다.)
 *
 * ⚠ 여기에 레이아웃·간격을 넣지 말 것. 그건 프로파일(클래스 주입)의 몫이고, 섞이면
 *   "테마를 바꿨는데 여백이 안 바뀌는" 이유를 못 찾게 된다.
 * ⚠ Tailwind 빌드 대상이 아니다(플러그인은 theme/ 밖이라 JIT 스캔에서 빠진다).
 *   그래서 여기 규칙은 전부 **생 CSS** 로 쓴다. @apply 금지.
 * ───────────────────────────────────────────────────────────────────────── */

/* ① 표시 제어. !important 라 로드 순서·유틸 방출 순서와 무관하게 이긴다.
      PHP(profiles/tailwind.php 의 util.hidden)와 JS 가 같은 클래스명을 쓴다. */
.bk-hidden { display: none !important; }

/* ② 상태색 폴백 체인.
      -ink(밝은 면 위 글자용, AA 통과) → fill(없으면 차선) → currentColor(최후).
      ⚠ fill 을 글자에 그대로 쓰면 흰 면 대비 success 2.54 · danger 3.76 으로 AA 미달이다.
         그래서 -ink 가 1순위고, 없는 테마에서만 fill 로 떨어진다(미달이지만 무색보다 낫다). */
.bk-ink-success { color: var(--color-success-ink, var(--color-success, currentColor)); }
.bk-ink-danger  { color: var(--color-danger-ink,  var(--color-danger,  currentColor)); }
.bk-ink-warning { color: var(--color-warning-ink, var(--color-warning, currentColor)); }
.bk-ink-info    { color: var(--color-info-ink,    var(--color-info,    currentColor)); }

/* 틴트 면. color-mix 를 쓰면 토큰 하나로 10% 면을 만들 수 있다.
   ⚠ color-mix 미지원 브라우저는 background 가 통째로 무시된다 → 글자만 남는다(읽기는 된다).
      배지가 안 보이는 것보다 낫고, 지원율은 2023년 이후 주요 브라우저 전부다. */
.bk-fill-success { background-color: color-mix(in srgb, var(--color-success, currentColor) 12%, transparent); }
.bk-fill-danger  { background-color: color-mix(in srgb, var(--color-danger,  currentColor) 12%, transparent); }
.bk-fill-warning { background-color: color-mix(in srgb, var(--color-warning, currentColor) 12%, transparent); }
.bk-fill-info    { background-color: color-mix(in srgb, var(--color-info,    currentColor) 12%, transparent); }

.bk-hover-danger:hover { color: var(--color-danger-ink, var(--color-danger, currentColor)); }

/* ④ 사진 위에 얹히는 고정색 배지.
      `bg-danger` 는 테마마다 `.dark` 에서 밝게 뒤집힌다(실측: #a73b21 → #f87171). 그 위의
      흰 아이콘이 라이트 6.38:1 → 다크 2.77:1 로 무너졌다. 이 배지는 **사진 위**라 모드와
      무관하게 항상 어두운 빨강이어야 맞다 — 토큰을 안 쓰고 값을 고정하는 이유다.
      ⚠ `bg-red-600` 같은 생짜 팔레트로 못 한다. `@theme` 가 기본 팔레트를 대체한 테마에서는
         그 클래스가 아예 생성되지 않는다(bg-white/N 이 통째로 죽던 것과 같은 함정). */
.bk-badge-play,
.bk-badge-new { background-color: #c1121f; color: #fff; }

/* danger 채움 위 글자. `bg-danger` 는 테마마다 다크에서 밝게 뒤집혀(실측 #a73b21 → #f87171)
   `text-white` 가 2.77:1 로 무너진다. 그렇다고 `text-on-danger` 로 못 바꾼다 — 보유 테마
   상당수에 그 토큰이 없어 **죽은 클래스**가 된다(veterans-1·housing-3 실측 없음).
   그래서 토큰이 있으면 그 값을, 없으면 모드별 안전값을 쓴다.
     라이트 #fff on #a73b21 = 6.38 · 다크 #1a0505 on #f87171 = 7.11 (실측) */
.bk-on-danger        { color: var(--color-on-danger, #fff); }
.dark .bk-on-danger  { color: var(--color-on-danger, #1a0505); }

/* ⑤ 뷰 전환 — 대체 뷰가 켜졌을 때 **스킨 고유 목록**을 감춘다.
      ⚠ 대체 뷰 패널 자체는 여기서 다루지 않는다. 그쪽은 HTML `hidden` 속성이 소유하고
         PHP 가 처음부터 붙여 내보낸다 — CSS 가 도착하기 전에도 안 보여야 하기 때문이다.
      ⚠ **뷰 이름을 여기에 나열하지 않는다.** 나열하면 뷰를 하나 늘릴 때마다 CSS 를 같이
         고쳐야 하고, 빼먹으면 오류 없이 두 목록이 겹쳐 나온다. "기본뷰가 아니면 감춘다"
         한 줄이면 뷰가 몇 개든 성립한다.
      ⚠ `display:none` 이라 그 안의 이미지는 `loading="lazy"` 가 있으면 받지 않는다. */
[data-bd-view-root]:not([data-bd-view-current="default"]) [data-bd-view-native] { display: none; }

/* ③ 인쇄 — 본문만 남긴다. 모듈이 만든 조작 UI 는 종이에 의미가 없다.
      ⚠ 뷰 전환 버튼도 여기 넣는다. 새 조작 UI 를 만들면 이 목록에 추가할 것. */
@media print {
    [data-bd-share], [data-bd-print], [data-bd-more-wrap], [data-bd-readprogress],
    [data-bd-view-switch] { display: none !important; }
}
