﻿:root{
  /* 색 토큰 정본 = 이 파일(base.css). Design/design_handoff_(discovery|ranking|workdetail)/tokens/colors.css는 참고 팔레트로 강등(값 불일치 시 base 우선).
     radius는 반대로 tokens.css가 정본 — 축마다 정본이 다름. 근거: docs/todo/색토큰_대조감사_v1.md */
  --acc:#2f9460;
  --bg:#0a0b0c;--bg2:#101214;--bg3:#16191b;--bg4:#1c2023;
  --sur:#101214;--bor:#212528;--bor2:#2b3033;
  --acc2:#1f6b45;--acc-dim:rgba(47,148,96,.15);
  --t1:#eef1ef;--t2:#9aa3a0;--t3:#5e6560;
  --c-white:#fff;--c-black:#000;
  --nav:rgba(10,11,12,.94);
  /* home-zine(진스타일) 신규 토큰 — E1 값교체 개편 */
  --pane:#101214;--pane2:#16191b;--hair:#191c1e;--acc-br:#3cb878;--led:#d9e021;--gold:#d8b24a;
  /* 19금 경고색(워시드레드) — 테마 무관 고정. 브랜드 그린과 분리해 성인경고 신호 보존 */
  --adult:#a3303a;--adult-dim:rgba(163,48,58,.15);
  --card-w:132px;          /* 작품카드 공통 고정폭 (그리드/캐러셀/관련작 전 구간 단일출처) */
  --card-ratio:3/4;        /* 작품카드 이미지 영역 종횡비 (세로 포스터). 변경시 전 구간 일괄 적용 */
  /* 설계 미명시 → 배포표준_적합성감사_v1 P0-3 지시에 따라 결정: 'IBM Plex Sans KR' 1순위 제거.
     근거 — CDN(ToonHerb.html:20, 이번에 삭제)이 404 확정이라 @font-face 등록 자체가 없어(document.fonts 실측
     0건) 이 이름은 애초 렌더된 적 없는 죽은 1순위였다. 죽은 링크만 지우고 이름은 남기면 "복원 예정"으로
     오독되기 쉬워 Pretendard(2순위, 실제 렌더 중이던 폰트)를 그대로 승격한다. 실제 IBM Plex 육안 폰트
     정체성 확정(살아있는 CDN 재연결 vs 제3폰트)은 디자인 결정(AI슬롭_디자인감사_v1 D-1, 디렉터 판단
     대기)이라 이 성능전용 작업 범위 밖 — 여기서 임의 CDN을 새로 붙이지 않는다. */
  --font:'Pretendard',system-ui,sans-serif;
  --font-mono:'Space Mono',ui-monospace,monospace;
  --st-watching:#F5C518;--st-completed:#4CAF50;--st-onhold:#FF9800;
  --st-dropped:var(--t3);--st-interested:#F5C518;--st-binge:#7C4DFF;--st-hiatus:#26A69A;
  --herb-legendary:#F5C518;--herb-normal:#4CAF50;--herb-rotten:#795548;--herb-pending:#555555;
  --neg:#e05050;
  /* ★부정과 위험을 hue 는 빨강으로 두되 명도로 가른다(2026-08-07 제품결정).
     --neg  = 밝은 빨강 : 평론 부정·낮은 평점·비추천 = '값이 나쁘다'는 신호
     --danger = 어두운 빨강 : 삭제·폐기·파기 = '되돌릴 수 없다'는 신호
     전엔 --danger:var(--neg) 라 둘이 같은 색이었다 — 평론 비추와 계정 삭제가 같은 빨강이었다.
     --adult(#a3303a)도 어두운 빨강 계열이라 위험군과 한 묶음으로 읽힌다(의도됨). */
  --danger:#b02a30;--danger-dim:rgba(176,42,48,.12);--danger-bor:rgba(176,42,48,.35);
  /* --score-neg(#4a9eff) 삭제 — 부정을 파랑으로 칠하던 토큰이다. 파랑은 정보(--info)의 색이지
     부정의 색이 아니다. 소비처 전건을 --neg 로 옮겼다. --info 는 존치(진짜 정보 UI 용). */
  /* 등급(마일스톤) 색 토큰 — 단일출처=level-system.js LEVEL_MILESTONES. 마이페이지 통계/뱃지 공용 */
  --tier-iron:#8a8a8a;--tier-bronze:#cd7f32;--tier-silver:#9fb4c4;--tier-gold:#f5c518;
  --tier-platinum:#36c5b0;--tier-diamond:#a855f7;--tier-legend:var(--acc);
  --tier-legend-grad:linear-gradient(90deg,var(--acc),var(--gold)); /* color:/border:/fill: 등 solid 전용 소비처엔 --tier-legend 폴백 사용(그라디언트 불가) */
  /* 활동 히트/긍정 색(통계 게이지·완독률) */
  --heat-4:#56d364;
  /* 참고 팔레트(design_handoff) 선별 도입 — 정의만, 기존 토큰 값 변경 없음. --herb-legendary 등(등급색)과 이름 불충돌 확인됨 */
  --herb-50:#e6f2ec; --herb-100:#c2e0d0; --herb-200:#92c8a9; --herb-300:#5aab7e;
  --herb-400:#2f9460; --herb:#137a52; --herb-600:#0f6342; --herb-700:#0a4c33;
  --warn:#e0a90f; --info:#4a9eff;
  /* --spoiler = 스포일러 가림막 전용(2026-08-07). 전엔 세 색이 섞여 있었다 —
     평론은 주황, zine 은 --danger(빨강), 에디터 인라인은 분홍이었다 — 같은 의미인데 화면마다 달랐다.
     ※옛 리터럴 값을 여기 적지 않는다 — 잔존 전수 grep 이 이 주석에 걸려 "아직 쓰인다"로 오독된다.
     ★--danger 와 분리한 이유: 스포일러는 "가려둔 것"이지 위험·파괴가 아니다. 주황이 맞다.
     ★--warn 과도 분리: --warn 은 시스템 경고, 이건 콘텐츠 상태다.
     ※--pos(#4caf50) 삭제 — 성공/승인/완료가 --acc 로 통일돼 소비처가 0이 됐다(A-1). */
  --spoiler:#e67e00;
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 4px 16px rgba(0,0,0,.45);
  --shadow-3:0 12px 40px rgba(0,0,0,.55);
  --ring:0 0 0 2px var(--acc-dim);
  --z-card-layer-1:2;    /* 카드 내부 레이어1 (플레이버튼 등) */
  --z-card-layer-2:3;    /* 카드 내부 레이어2 (라벨·뱃지) */
  --z-card-layer-3:4;    /* 카드 내부 레이어3 (삭제 버튼) */
  --z-dropdown:300;
  --z-sticky:800;
  --z-nav:900;
  --z-nav-drop:960;
  --z-popover:999;
  --z-modal:1000;
  --z-modal-stack-1:1100;   /* 프로필 모달 — .moverlay 위 */
  --z-report-view:1150;     /* 신고 원문 — 프로필 위 */
  --z-sanction:1200;        /* 제재 — 신고 원문 위 */
  --z-purge:1250;           /* 파기 확인(비가역) — 제재 위 */
  --z-login-gate:1280;      /* 로그인 게이트 — 위 전부보다 위, 패널 아래 */
  --z-panel:1300;
  --z-overlay-special:2000;
  --z-popover-panel:5000;
  --z-toast:9000;
  --z-ctx-menu:9500;
  /* ── 팔로잉 탭 드래그 이징 토큰 (long-press reorder) ── */
  --flw-ease-out:cubic-bezier(.0,.0,.2,1);
  --flw-ease-spring:cubic-bezier(.2,.8,.2,1);
  --flw-ease-in-out:cubic-bezier(.4,.0,.2,1);
  /* ── 팔로잉 탭 드래그 파라미터 토큰 ── */
  --flw-hold-ring-0:0 0 0 0px transparent;
  --flw-hold-ring-end:0 0 0 3px var(--acc),0 0 8px 2px rgba(47,148,96,.35);
  --flw-hold-av-scale-end:1.12;
  --flw-hold-anim-duration:400ms;
  --flw-ready-ring:0 0 0 3px var(--acc),0 0 14px 4px rgba(47,148,96,.40);
  --flw-ready-av-scale:1.12;
  --flw-slot-fade-duration:220ms;
  --flw-slot-content-opacity:0.28;
  --flw-ghost-av-size:80px;
  --flw-ghost-av-shadow:0 6px 20px rgba(0,0,0,.65),0 0 0 2.5px var(--acc);
  --flw-ghost-name-color:var(--t1);
  --flw-ghost-name-shadow:0 1px 4px rgba(0,0,0,.8);
  --flw-ghost-z:var(--z-card-layer-3);
  --flw-ghost-pop-from-scale:1.12;
  --flw-ghost-pop-duration:200ms;
  --flw-drop-indicator-color:var(--acc);
  --flw-drop-indicator-width:2px;
  --flw-drop-indicator-glow:0 0 6px var(--acc);
  --flw-drop-indicator-anim:150ms;
  /* 팔로우 아바타 팔레트(L5) — 허브 그린/골드 리브랜드. 구 팔레트(레드·블루·퍼플·핑크)는 브랜드 이탈이었다.
     ★두 곳이 참조한다: .lbz .fav--N(library-zine.css, 카드) + .flw-ghost__av.fav--N(pages.css, 드래그 고스트).
     고스트는 .lbz 스코프 밖(document.body)이라 스코프 규칙만으론 안 닿는다 — 색 정본을 여기 하나로 둔다. */
  --flw-av-1:#137a52; --flw-av-2:#2f9460; --flw-av-3:#3cb878; --flw-av-4:#d8b24a;
  --flw-av-5:#bd8c08; --flw-av-6:#0f6342; --flw-av-7:#26a69a; --flw-av-8:#6ba33a;
}
/* 폴백 전용 — 정본 아님. tokens.css가 나중에 로드되어 이 값을 덮어쓴다.
   tokens.css 404 시 0px 붕괴 방지용. 값이 tokens.css와 달라지면 그 자체가 결함. */
:root{
  --r-sm:2px; --rad:3px; --r:4px;
  --r1:3px; --r2:4px; --r3:6px; --r4:8px; --r-pill:999px;
}
[data-theme=light]{
  --acc:#1f8a52;
  --spoiler:#e67e00;   /* 다크와 동값 — 주황은 양 테마에서 가독된다 */
  --bg:#f4f5f2;--bg2:#ffffff;--bg3:#eef1ec;--bg4:#e4e4e7;
  --sur:#ffffff;--bor:#dfe4dc;--bor2:#d4d4d8;
  --acc2:#1f6b45;--acc-dim:rgba(31,138,82,.12);
  --t1:#13160f;--t2:#52584c;--t3:#878d7e;
  --nav:rgba(244,245,242,.94);
  /* --led 라이트값 = #7d8709. 새로 고른 색이 아니라 community-zine-base.css 의 라이트
     오버라이드(--cz-led)가 이미 쓰던 값을 전역으로 올린 것이다. 커뮤니티는 흰 배경 대비가
     모자라 진작 보정해 뒀는데, 평론 요약이 .cmz 스코프를 떠나 전역 --led 를 쓰게 되면서
     그 보정이 빠졌다(2026-08-06 이관). 값을 통일해 화면마다 LED 색이 갈리지 않게 한다.
     실측(라이트) — 점·테두리 흰 배경 대비 2.27:1(FAIL) → 3.93:1(PASS, 비텍스트 기준 3:1).
     ★--led 를 배경으로 깔고 어두운 글자를 얹는 두 곳(.tg.fill 홈히어로 · .lbz .grid .ntag)은
       8.67:1 → 5.01:1 로 내려가지만 AA(4.5:1)를 유지한다. 새로 기준 미달이 되는 곳은 없다. */
  --pane:#ffffff;--pane2:#eef1ec;--hair:#e8ebe4;--acc-br:#178a48;--led:#7d8709;--gold:#a8801f;
  --adult:#a3303a;--adult-dim:rgba(163,48,58,.15);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
/* 데스크탑 고정폭: 실 레이아웃 셸은 css/layout.css .layout-wrap(grid-template-columns:300px 1080px 300px, max-width:1764px) —
   전부 리터럴 px·미디어쿼리 없음 → 창 줄여도 신축 안 하고 그대로 가로 스크롤 발생(위 "1752"는 부정확한 구값, 실제론 1764).
   여기 min-width:320px는 body 자체의 최소 붕괴 방지 폭일 뿐, 위 고정폭 레이아웃과 무관 */
body{background:var(--bg);color:var(--t1);font-family:var(--font);font-size:14px;line-height:1.5;min-width:320px}
a{color:inherit;text-decoration:none;cursor:pointer}
button{font-family:inherit;cursor:pointer;border:none;background:none}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--bor2);border-radius:var(--rad)}
/* ── grain 오버레이 (진스타일 E1). z-index 200 = 카드(2~4) 위·드롭다운(300) 아래. pointer-events:none이라 상호작용 무영향 ── */
.grain::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.32;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
html[data-theme=light] .grain::after{opacity:.14}
