/* ==========================================================================
   heowinsall — 공용 디자인 토큰 (단일 소스)
   e.css(릴) · case.css(케이스 문서) · projects.css(자투리 프로젝트)가 함께 쓴다.
   ★이전에는 파일마다 :root를 복제하고 "값 변경 시 동기화 필요"라고 적어 두었는데,
     세 번째 지면이 생기는 순간 그 규약은 지켜지지 않는다 → 여기로 일원화.
   ========================================================================== */
:root{
  /* §1-1 컬러 — 배경 #F7F7F7(R8)에 맞춰 캔버스 계열만 중성화.
     잉크·팝은 잠긴 값 유지(E-T1 SLATE × FUCHSIA). */
  --canvas:#F7F7F7; --canvas-deep:#EDEDED; --frame:#FFFFFF; --hair:#D2D2D2;
  --ink:#0E1013; --ink-sub:#494D53; --ink-cap:#575C63; --ink-ui:#7B818A;
  /* ★R58 — 잉크 계단의 **한 단 더 옅은 자리**. 지금 쓰는 곳은 이력 지면의 제안 행 한 곳뿐이고
     (`--ink-ui`보다 옅게 = 사용자 지시), 하드코딩 hex를 e.css에 두지 않기 위해 토큰으로 낸다.
     ⚠대비 ●2.57(흰 지면) — WCAG AA 미달이다. **의도적 후퇴**(제안 ≠ 수행)이며
       본문 대역에는 이 값을 쓰지 않는다. 새 자리에 쓰기 전에 반드시 대비를 다시 잰다. */
  --ink-faint:#9CA2AA;
  --pop:#C700A9; --pop-ink:#A50090; --pop-soft:#F7D6F0;
  /* ★R26 — 자투리 상세 지면은 **어둡게**(사용자 결정). R25(밝은 지면)는 시안 후 기각됐다.
     ⚠릴의 PROJECTS 썸네일은 R22로 흰색이므로 「썸네일 색 = 목적지 지면 색」(R18 모프 장치)은
       복원되지 않는다 — 모프는 «흰 타일 → 어두운 방»이다. 되돌리려면 `e.css`의 `.m-pj .cframe`. */
  --pjbg:#101216;
  --gnd:#15171B; --g-sub:#C2C6CB; --g-cap:#8B9198; --g-hair:#3A3E44;

  /* §1-2 타이포 — R20: 본문·표제·영문 라벨을 **전부 Pretendard**로 (2026-07-28 사용자 확정).
     ★SUIT 단일화는 시안·실측까지 갔다가 **사용자 기각**됐다(경위·수치는 E-SPEC §0-E R20).
     ★Space Grotesk(영문 액센트)는 **제거**하고 `--fe`를 --fk에 붙여 자리만 비워 둔다 —
       액센트가 필요한 지점은 사용자가 따로 지정한다. 토큰을 지우지 않는 이유는
       그 자리가 코드에서 계속 보여야 나중에 거기만 다시 분화시킬 수 있기 때문이다.
     ★`--fm`(JetBrains Mono)은 남는다. 취향이 아니라 **두 가지 기능** 때문이다:
       ① 기계가 읽는 값(주소·시각·위치·년도)의 등폭
       ② **◌ ● 글리프 캐노니컬** — Pretendard는 U+25CC·U+25CF를 **보유하지 않는다**
          (●실측 `document.fonts.check` 양쪽 false). 모노를 빼면 무조작 규약이 미검증 수치마다
          쓰는 ◌가 통제 밖 시스템 폴백으로 떨어져 서체가 하나 더 섞인다. */
  /* ★R32 — **서체 1종.** JetBrains Mono도 제거하고 `--fm`을 Pretendard에 붙인다(사용자 재지시).
     R20에서 모노를 남긴 근거는 ①등폭 ②◌ ● 글리프였는데, 둘 다 실측으로 해소됐다:
       ① Pretendard는 `tabular-nums`를 지원한다(0~9 폭 편차 ●0) → 미니맵 `01 / 19`·시계 흔들림 없음
       ② `◌`(U+25CC)·`●`(U+25CF)는 Pretendard에 없지만 **시스템 폴백이 그린다**(전 스택 실측 ✓).
          글리프가 사라지는 게 아니라 그 한 글자만 시스템 서체가 그린다.
     토큰 3개는 남긴다 — 값이 같아졌어도 «본문 / 영문 액센트 / 기계 값»이라는 **자리**가
     코드에서 보여야 나중에 그 자리만 다시 분화시킬 수 있다. */
  --fk:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;
  --fe:var(--fk);
  --fm:var(--fk);
  /* ★R37 — **액센트 지정**(R20에서 「따로 요청하겠다」고 비워 둔 자리).
     디스플레이 전용 = **Wanted Sans Variable**(OFL 1.1 · Wanted Lab · RFN "Wanted Sans Variable").
     쓰이는 곳은 **커버 이름 1곳뿐**이다 — 릴 전체가 Pretendard라는 규율은 그대로 두고,
     첫 화면의 이름에만 다른 목소리를 준다. 폴백은 --fk. */
  --fd:'Wanted Sans Variable','Wanted Sans',var(--fk);

  /* §1-3 형태 — R2: 라디우스 전면 0 · 그림자 0
     부유는 이제 「명도 계단 + 1px 헤어라인」 2중이 전담한다(라디우스 다리 제거). */
  --r:0; --r-chip:0; --r-card:0; --r-pill:0;

  --ghost:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 360' preserveAspectRatio='xMidYMid slice'><g fill='none' stroke='rgba(14,16,19,.34)' stroke-width='2.5'><rect x='8' y='8' width='132' height='344'/><rect x='524' y='28' width='84' height='24'/><line x1='156' y1='72' x2='616' y2='72'/><line x1='156' y1='116' x2='616' y2='116'/><line x1='156' y1='158' x2='616' y2='158'/><line x1='156' y1='200' x2='616' y2='200'/><line x1='156' y1='242' x2='616' y2='242'/><line x1='156' y1='284' x2='616' y2='284'/></g><g fill='rgba(14,16,19,.24)'><rect x='164' y='32' width='180' height='14'/><rect x='164' y='94' width='120' height='12'/><rect x='164' y='136' width='120' height='12'/><rect x='164' y='178' width='120' height='12'/><rect x='164' y='220' width='120' height='12'/><rect x='164' y='262' width='120' height='12'/></g><g fill='rgba(14,16,19,.16)'><rect x='28' y='48' width='92' height='10'/><rect x='28' y='82' width='92' height='10'/><rect x='28' y='116' width='92' height='10'/><rect x='28' y='150' width='92' height='10'/><rect x='316' y='94' width='84' height='12'/><rect x='432' y='94' width='64' height='12'/><rect x='524' y='94' width='88' height='12'/><rect x='316' y='136' width='84' height='12'/><rect x='432' y='136' width='64' height='12'/><rect x='524' y='136' width='88' height='12'/><rect x='316' y='178' width='84' height='12'/><rect x='432' y='178' width='64' height='12'/><rect x='524' y='178' width='88' height='12'/><rect x='316' y='220' width='84' height='12'/><rect x='432' y='220' width='64' height='12'/><rect x='524' y='220' width='88' height='12'/><rect x='316' y='262' width='84' height='12'/><rect x='432' y='262' width='64' height='12'/><rect x='524' y='262' width='88' height='12'/></g></svg>");
  --ghost-ink:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 360' preserveAspectRatio='xMidYMid slice'><g fill='none' stroke='rgba(255,255,255,.34)' stroke-width='2.5'><rect x='8' y='8' width='132' height='344'/><rect x='524' y='28' width='84' height='24'/><line x1='156' y1='72' x2='616' y2='72'/><line x1='156' y1='116' x2='616' y2='116'/><line x1='156' y1='158' x2='616' y2='158'/><line x1='156' y1='200' x2='616' y2='200'/><line x1='156' y1='242' x2='616' y2='242'/><line x1='156' y1='284' x2='616' y2='284'/></g><g fill='rgba(255,255,255,.24)'><rect x='164' y='32' width='180' height='14'/><rect x='164' y='94' width='120' height='12'/><rect x='164' y='136' width='120' height='12'/><rect x='164' y='178' width='120' height='12'/><rect x='164' y='220' width='120' height='12'/><rect x='164' y='262' width='120' height='12'/></g><g fill='rgba(255,255,255,.16)'><rect x='28' y='48' width='92' height='10'/><rect x='28' y='82' width='92' height='10'/><rect x='28' y='116' width='92' height='10'/><rect x='28' y='150' width='92' height='10'/><rect x='316' y='94' width='84' height='12'/><rect x='432' y='94' width='64' height='12'/><rect x='524' y='94' width='88' height='12'/><rect x='316' y='136' width='84' height='12'/><rect x='432' y='136' width='64' height='12'/><rect x='524' y='136' width='88' height='12'/><rect x='316' y='178' width='84' height='12'/><rect x='432' y='178' width='64' height='12'/><rect x='524' y='178' width='88' height='12'/><rect x='316' y='220' width='84' height='12'/><rect x='432' y='220' width='64' height='12'/><rect x='524' y='220' width='88' height='12'/><rect x='316' y='262' width='84' height='12'/><rect x='432' y='262' width='64' height='12'/><rect x='524' y='262' width='88' height='12'/></g></svg>");

  --z:1; /* 카메라 렌더 스케일(역보정용) — JS가 갱신 */
}
