/* community-zine-base.css — 원본 toonhub/css/community-zine.css 스테이지 분할(STEP3, 2026-07-30).
   토큰 선언(:root) + 라이트 오버라이드 + 이식 제외/제약 주석. 항상 활성.
   규칙 본문·순서 무변경(byte-exact 이관). 토큰=base.css, radius=tokens.css. */
/* [분할 계약] S9 는 마지막 링크. 링크 순서 base -> s1 -> ... -> s9 유지.
   ★단 이것만으로 캐스케이드 동일이 보장되지 않는다(리뷰어 R3 정정). S9 가 base 를 갖고 다른 스테이지가 그
   오버라이드를 갖는 역방향 쌍이 존재한다 — .cmz .nt (base=S9 알림, 오버라이드=S8 모션 가드). 이 쌍은 가드를
   s9 말미로 별도 이관해 해소했다. 실측: 동일 셀렉터 중복 11쌍 = Sx->S9 정방향 10 + S9->S8 역방향 1.
   S9 는 라이트 테마·@media(max-width:620px) 만이 아니라 방문기록바·레벨배지·알림·푸터도 갖는다
   = "뒤에 와야 하는 규칙만 모인 파일"이 아니다. 신규 분할·이관 시 중복 유무가 아니라 방향까지 확인할 것.
   또한 화면 무변화는 미링크 규칙이 현행 마크업에 매치되지 않을 때만 따라온다 — 짝 규칙(중립화 오버라이드·
   누출 해제)은 활성 스테이지로 이관해야 한다(R1·R2 선례: s1 말미 이관 구역). */
/* [활성화] 해당 스테이지 착수 1단계 = toonhub/ToonHerb.html 의 이 파일 link 주석 해제. */

/* community-zine.css — 커뮤니티 진 스타일 컴포넌트(시안 Design/design_handoff_community/community-redesign.html <style> 이식, S0). 마크업 교체=S1~. 토큰=base.css 재사용, radius=tokens.css. */
/* 전 규칙 .cmz 루트 스코프(시안 클래스가 기존 css와 실측 충돌 — 리뷰어 재측정치: .topbar 14·.foot 3·.gal-grid 2·.shell 1·.led 1·.mono 1·.hd 1·.empty 1. 무스코프면 최종 로드 파일이 전 페이지 헤더·셸을 덮어써 현행화면 파손). S1 마크업이 커뮤니티 페이지 루트에 .cmz 부여. work-detail-zine.css의 .wdz 선례와 동형. */
/* ★S1 제약(1) fixed: .mo/.mo-ov/.hc-ov/.hc-pop/.hc-box/.nt-ov/.am/.am-ov 는 position:fixed 인데 .cmz 조상 셀렉터라 .cmz 서브트리 내부 DOM에 렌더 필수(modal-manager는 classList만 토글, 포탈 이동 안 함). S1 실측: 이들 렌더처는 전부 #page 밖(hub-apply·db-ref·editor·notify·comments) → S1에서 충족 불가, S8 선결 blocker로 이관(진스타일_커뮤니티개편_v1.md S1-d). */
/* ★S1 제약(2) absolute: .nt 는 position:absolute(z-index 없음, 시안 동일)로 .nt-ov(fixed) 자식 전제. S1이 .nt를 .nt-ov 밖이나 형제로 렌더하면 containing block이 엉뚱한 조상으로 이스케이프(선례: .rkx-poster 0492227 포스터 폭주). */
/* ★주석 내 별표 뒤 슬래시 인접 금지: CSS 주석 조기종료로 아래 :root 블록 소실 파손 이력(QA 2026-07-22). */
/* 이식 제외:
   - 시안 :root 및 light :root 토큰 선언 블록 전량(base.css가 담당)
   - 전역 리셋(universal·body·light body·a·a:hover·button·img·svg·input,select,textarea·scrollbar 의사요소)
   - .grain::after 및 light .grain::after (base.css 소유)
   - 실 nav 소유: .hd, .topbar, .topbar .sp, .logo, .wm, .wm .hb, .mk, .links, .links a(+hover/on), .sbox, .sbox svg, .ibtn(+hover/svg), .uav (nav.hd 클로버 방지)
   - .shell (components.css 소유. 실 레이아웃 셸=layout.css .layout-wrap)
   - 미리보기 바 전량: .pvbar(+lbl/sp), .pvdesc, .seg, .seg button(+last-child/on/light on), .gbtn(+hover/on)
   - 밀도 토글 body[data-den] 블록 전량(미리보기 바 구동). B(기본 확정, README 3절)의 값만 .bd-row/.bd-tt/.bd-table 에 접어넣음.
     A(고밀도)·C(모바일 2줄)은 미이식 — 토글 UI 자체가 미이식이라 진입 경로 없음. S1 이후 모바일 2줄뷰 필요 시 C 재검토.
   - .bd-meta 및 620px 미디어의 .bd-meta .au-l — C 밀도 전용(기본 display:none)이라 C와 함께 미이식
   - 썸네일 스캔라인 데코(README 10절 제거 결정) 실측 0건 / mock 데이터 흔적 CSS 내 0건 — 확인만
   - keyframes lp — 전역 keyframes ledpulse(components.css)로 일원화, 정의 중복 제거
   - .bd-head 의 min-height:30px — 시안 전 밀도에서 특이도로 사강한 죽은 선언(상세 사유는 .bd-head 규칙 위 주석)
   - .cm-b.spoil::after content 의 선행 경고 이모지 1자 — CLAUDE.md 8절 렌더 HTML 이모지 전면 금지. 문구 텍스트는 그대로
   - 토스트 3규칙(.cmz #toast-layer · .cmz .tst · .cmz .tst.in) — S1에서 삭제. 토스트는 앱 전역 컴포넌트(utils.js showToast)인데
     .cmz 스코프에 두면 커뮤니티 밖 토스트가 스타일을 못 받는다 = 스코프 위치 오류. 전역 클래스 승격은 별 라운드(선례: home-zine.css .card/.led → components.css 이관 a625223).
*/
/* ★신규 변수(base.css에 대응 토큰 없음. 접두 cz-):
   1) 평론가 등급 뱃지 색 6개 — cz-tb-general-bg/fg, cz-tb-pro-bg/fg, cz-tb-master-bg/fg, cz-tb-official-fg.
      base.css tier-계열은 마일스톤 등급용(단일출처=level-system.js)이라 의미 불일치 → 재사용 금지, 신규 선언.
   2) cz-ig-grad — 인스타 브랜드 그라디언트(브랜드 고정색, 테마 토큰 아님).
   3) cz-hb-auto-grad — 허브 배너 이미지 부재 시 자동 폴백 그라디언트(dark/light 각각).
   4) cz-led / cz-led-glow / cz-hled / cz-hled-glow / cz-hot / cz-hot-bor / cz-kick / cz-hsc
      — 라이트 테마 LED 가독 보정값. dark 기본값은 기존 led 토큰을 그대로 물리고, light에서만 값 교체하는 구조.
        ★2026-08-06 정정: cz-led 는 더 이상 여기서 교체하지 않는다. 그 보정값(#7d8709)이
          base.css 라이트 --led 로 승격돼 :62 의 var(--led) 와 같아졌기 때문이다(중복 제거).
          나머지(hled/hot/kick/hsc)는 여전히 --led 보다 어두운 별개 값이라 교체를 유지한다.
          cz-led-glow 도 유지 — 색이 아니라 번짐 반경·투명도가 다른 보정이다.
*/
/* ★z-index: position:fixed 오버레이 계층만 base.css z 토큰으로 치환(실앱 z스택 상호운용). 컴포넌트 내부 소수치(2·3·9·12)는 리터럴 유지 — 스태킹 컨텍스트가 컴포넌트 내부로 닫혀 전역 z스택과 무관.
   ※ 시안 상대 순서가 전부 보존되진 않는다 — .am/.am-ov 는 시안 56·57(=.hc-pop 59·.mo-ov 60·toast 80 아래)이었으나 이식본은 --z-ctx-menu(9500)로 올라가 전부 위가 된다.
     의도된 역전: 실앱 컨텍스트메뉴 관례(pages.css:497 .ctx-menu, components.css:477 id tag-ctx-menu, js/user-menu.js:37)와의 정합을 시안 내부 순서보다 우선. .am 은 user-menu.js가 담당하는 동종 위젯.
   ★S1 제약(3): .am-ov{position:fixed;inset:0} 가 .mo-ov(1000) 위에 얹히므로, 작성자메뉴 → 모달 전환 시 am-ov 를 먼저 해제해야 모달이 클릭 가능하다.
   ★fragility: .hc-ov/.hc-pop(999·999)와 .am-ov/.am(9500·9500)은 동값이라 소스 순서만으로 승패가 갈린다. 현재 순서(hc-ov→hc-pop, am-ov→am)는 시안 정합이나, S1에서 두 줄 위치가 뒤바뀌면 오버레이가 팝업·메뉴를 덮는다. */

:root{
  /* 등급 뱃지 */
  --cz-tb-general-bg:#c8a880; --cz-tb-general-fg:#4a2f0c;
  --cz-tb-pro-bg:#b8c8d8;     --cz-tb-pro-fg:#22303f;
  --cz-tb-master-bg:#f0d060;  --cz-tb-master-fg:#6b4500;
  --cz-tb-official-fg:#04220f;
  /* 브랜드 그라디언트 */
  --cz-ig-grad:linear-gradient(45deg,#f09433,#dc2743,#bc1888);
  /* 허브 배너 자동 폴백 */
  --cz-hb-auto-grad:linear-gradient(135deg,#123a26 0%,#1d5c3a 48%,#0e2a1c 100%);
  /* LED 계열 — dark 기본값은 기존 led 토큰 */
  --cz-led:var(--led);      --cz-led-glow:0 0 7px var(--led);
  --cz-hled:var(--led);     --cz-hled-glow:0 0 5px var(--led);
  --cz-hot:var(--led);      --cz-hot-bor:var(--led);
  --cz-kick:var(--led);     --cz-hsc:var(--led);
}
html[data-theme="light"] .cmz{
  /* 라이트 가독 보정 — 시안 light 오버라이드 값 */
  --cz-hb-auto-grad:linear-gradient(135deg,#cfe6d6 0%,#e2f1e6 48%,#d6ead9 100%);
  /* --cz-led 라이트 오버라이드 제거(2026-08-06) — 이 값(#7d8709)이 base.css 라이트 --led 로
     승격돼 :62 의 --cz-led:var(--led) 와 같아졌다. 남겨두면 같은 값을 두 곳에서 관리하게 된다.
     ★--cz-led-glow 는 유지한다 — 라이트에서 색만이 아니라 번짐 반경·투명도가 다른 별개 보정이다
       (다크 0 0 7px / 라이트 0 0 6px + 55% 혼합). */
  --cz-led-glow:0 0 6px color-mix(in srgb,#7d8709 55%,transparent);
  --cz-hled:#6b7508;  --cz-hled-glow:0 0 5px color-mix(in srgb,#6b7508 60%,transparent);
  --cz-hot:#5f6a06;   --cz-hot-bor:#8f9a0c;
  --cz-kick:#e4ee4a;  --cz-hsc:#eaf356;
}

