/*
  유형 B(CREWBET) — 수집에서 누락된 원본 규칙 복원본

  🔴 **여기는 "우리가 지어낸 스타일" 을 넣는 곳이 아니다.**
     원본 사이트에 실재하는데 우리 수집 CSS 19개에 안 들어온 규칙만,
     **측정한 값으로** 복원한다. 값의 출처를 규칙마다 주석으로 남긴다.
     새 디자인을 하고 싶으면 이 파일이 아니라 별도 파일에서 해라.

  🔴 `all-css.css` 를 직접 고치지 않는 이유 — 그건 정답 사이트에서 통째로 받아온
     산출물이라 **재수집하면 덮인다**. 복원분을 거기 섞으면 다음 수집 때 조용히 사라진다.
     그래서 별도 파일로 두고 `index-b.html` 이 `all-css.css` **뒤에** 링크한다.
*/

/* ─────────────────────────────────────────────────────────────
   사이드바 메뉴 hover — 글자색

   출처: 사장님 캡처 2장(2026-08-13)의 픽셀 측정 — **아이콘 영역과 글자 영역을 나눠서** 쟀다.
     claude/reference/boss-captures/2026-08-13/img-06-sidebar-deposit-hover.png
     claude/reference/boss-captures/2026-08-13/img-07-sidebar-deposit-normal.png

     hover  글자영역(우 30~100%)  최빈 초록 **#20e495**
     hover  아이콘영역(좌 0~30%)  최빈 초록 #24ef8a
     normal 밝은회색 471px / 초록 55px

   🔴 **#20e495 는 이 CSS 안에 실재하는 값이다** — `--color-primary-400: #20e495`
      → `--ui-color-primary-400/500` → **`--ui-primary`**. 근사치가 아니라 **정확히 일치**한다.
   ⚠️ 처음엔 `#23ec88`(`.grident-btn` 그라디언트 시작)을 썼다. **틀렸다** — 그건 전체 이미지에서
      가장 채도 높은 픽셀을 잡은 것이고, 그 픽셀은 **글자가 아니라 아이콘** 것이었다.
      영역을 안 가르고 최빈색을 쓰면 이렇게 엉뚱한 값이 나온다. 되돌리지 마라.

   왜 복원이 필요한가 (전수 확인, 2026-08-13):
     · `.pc-left-side-btn` 이 든 CSS 파일 = 캡처 34개 중 **6개**, 그 안의 셀렉터는
       `.pc-left-side-btn { … }` **하나뿐**. `:hover` 변형 0건.
     · 원본 사이드바 마크업의 class 토큰 **328개 중 `hover:`/`group-hover:` 0개**.
     · 원본 사이드바에 `data-v-*` **0개**(대조군: 캡처 전체엔 25개 존재) → Vue scoped style 유실 아님.
     · **HAR 12개 전수** — 사이트가 부르는 CSS 는 7종뿐이고 **전부 우리가 갖고 있다.**
       `pc-left-side-btn` 을 가진 건 `default.CqIYes8Z.css`(5018B) 하나이고 그것도 보유.
     · `.text-primary { color: var(--ui-primary) }` 는 **컴파일돼 있다.**
   → 결론: 못 받아온 CSS 가 있는 게 아니라, 원본은 **JS 가 hover 때 클래스를 붙인다**(INV-5 로
     우리는 원본 JS 를 안 싣는다). 그래서 같은 결과를 **CSS `:hover` 로** 복원한다.

   구 "⚠️ 아이콘은 아직 안 했다 · 남은 가능성 ①못 받은 hover 이미지 ②JS 인라인" 기록 stale 정정
   (같은 날 심야) — ①이 정답으로 판명됐다: HAR 실측에서 `<이름>_a.webp` 요청을 확인, 아래
   §"사이드바 메뉴 hover — 아이콘" 에서 이미지 교체로 복원 완료. 추측 없이 원본 방식 그대로다.
   ───────────────────────────────────────────────────────────── */
.pc-left-side-btn:hover,
.pc-left-side-btn:hover span {
  color: var(--ui-primary);
}

/* ─────────────────────────────────────────────────────────────
   사이드바 메뉴 hover — 아이콘 (초록 이미지로 교체)

   원본 방식 확정 (2026-08-13, 사장님 HAR 12개 실측):
     원본은 filter 가 아니라 **초록 버전 이미지가 따로 있고 hover 때 교체**한다.
     증거 = HAR 에 `/_ipx/_/c/left/<이름>_a.webp` 요청 다수(casino_a·withdraw_a·notice_a·
     bet_rule_a·event_a·attendance_a·bet365_a …) + 확보된 _a 8개 실측 = **전부 같은 실루엣의
     단색 #24ef8a**. 원본은 JS 로 src 를 바꾸지만(INV-5 로 미탑재) 우리는 CSS `content` 교체로
     같은 결과를 낸다 — 크기는 마크업의 w-[20px] 류 클래스가 정하므로 원본 픽셀 크기와 무관.

   에셋 두 층 (INV-17):
     `/crewbet/c/left/*_a.webp`  = 수집된 **원본** 7개 (casino·holdem·live·minigame·slot·sports·message)
     `/skin-b/icons/*_a.webp`    = **파생** 9개 — 원본 사이트가 로컬에서 차단(HTTP 000)이라 못 받아,
        각 아이콘의 원본 비트맵에서 실루엣만 남기고 실측색 #24ef8a 로 칠해 생성했다
        (생성기 = 이 커밋의 python 스크립트, 알파 보존·무손실 WEBP).
        ⚠️ 원본 `_a.webp` 를 확보하게 되면 이 9개는 그것으로 교체하라 — 파생본은 대역이다.
        (HAR 상 원본에 실재 확인: withdraw·notice·bet_rule·event·attendance(=calendar)·bet365.
         deposit·livetv·bet_result 은 HAR 에도 없지만 사장님 hover 캡처가 충전 아이콘까지
         같은 패턴임을 증명한다 — img-06, 아이콘영역 초록 407px.)
   ───────────────────────────────────────────────────────────── */
/* 원본 확보분 7개 */
.pc-left-side-btn:hover img[src="/crewbet/c/left/casino.svg"]   { content: url("/crewbet/c/left/casino_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/holdem.svg"]   { content: url("/crewbet/c/left/holdem_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/live.webp"]    { content: url("/crewbet/c/left/live_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/minigame.svg"] { content: url("/crewbet/c/left/minigame_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/slot.svg"]     { content: url("/crewbet/c/left/slot_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/sports.svg"]   { content: url("/crewbet/c/left/sports_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/message.svg"]  { content: url("/crewbet/c/left/message_a.webp"); }
/* 파생 9개 (원본 확보 시 교체 대상) */
.pc-left-side-btn:hover img[src="/crewbet/c/left/deposit.svg"]    { content: url("/skin-b/icons/deposit_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/withdraw.svg"]   { content: url("/skin-b/icons/withdraw_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/bet_result.svg"] { content: url("/skin-b/icons/bet_result_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/bet365.webp"]    { content: url("/skin-b/icons/bet365_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/notice.svg"]     { content: url("/skin-b/icons/notice_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/bet_rule.svg"]   { content: url("/skin-b/icons/bet_rule_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/calendar.svg"]   { content: url("/skin-b/icons/calendar_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/event.svg"]      { content: url("/skin-b/icons/event_a.webp"); }
.pc-left-side-btn:hover img[src="/crewbet/c/left/livetv.webp"]    { content: url("/skin-b/icons/livetv_a.webp"); }
