/*
 * SITE-FACTORY TOKEN CONTRACT  (SPEC.md §3)
 * =========================================
 * 모든 테마가 정의해야 할 변수 이름의 목록 (= 계약).
 * 모든 부품은 이 목록의 변수만 var()로 참조한다.
 *
 * 값은 테마가 채운다.  여기 박힌 sentinel(hotpink / Comic Sans / 99px 등)은
 * 테마가 변수를 빠뜨렸을 때 showcase 눈검수에서 즉시 잡히게 하는 디버그용 fallback이다.
 *
 *   showcase 로딩 순서:  TOKEN-CONTRACT.css  →  themes/<id>.css
 *   theme이 정의하지 않은 변수는 hotpink로 노출됨 → 즉시 발견.
 *
 * 변수 수: 45개 (§3).  추가/삭제는 SPEC을 먼저 갱신하고 진행한다.
 */

:root {
  /* ===== 색: 액션 ===== */
  --c-action:            hotpink;   /* 주 CTA/브랜드 액션색 */
  --c-action-hover:      hotpink;   /* 액션 hover */
  --c-on-action:         hotpink;   /* 액션색 위 텍스트 */
  --c-accent:            hotpink;   /* 보조 강조색 (선택) */

  /* ===== 색: 텍스트 ===== */
  --c-ink:               hotpink;   /* 헤드라인/주요 텍스트 */
  --c-body:              hotpink;   /* 본문 */
  --c-muted:             hotpink;   /* 흐린/보조 텍스트 */
  --c-on-dark:           hotpink;   /* 어두운 배경 위 텍스트 */
  --c-on-dark-muted:     hotpink;   /* 어두운 배경 위 흐린 텍스트 */
  --c-link:              hotpink;   /* 인라인 링크 */

  /* ===== 색: 배경/표면 ===== */
  --c-canvas:            hotpink;   /* 페이지 배경 */
  --c-surface:           hotpink;   /* 카드/섹션 표면 */
  --c-surface-soft:      hotpink;   /* 섹션 구분용 살짝 다른 표면 */
  --c-surface-dark:      hotpink;   /* 다크 섹션/히어로 배경 */
  --c-surface-dark-elev: hotpink;   /* 다크 위 떠 있는 카드 */

  /* ===== 색: 경계 ===== */
  --c-hairline:          hotpink;   /* 기본 경계선 */
  --c-border-strong:     hotpink;   /* 강한 경계선 */

  /* ===== 색: 의미 ===== */
  --c-success:           hotpink;   /* 상승/성공 */
  --c-danger:            hotpink;   /* 하락/에러 */

  /* ===== 폰트 ===== */
  /* SPEC §3.3: 폰트 변수는 registry/fontsets/<id>.css 가 채운다.
     아래 sentinel(Comic Sans) 이 보이면 = fontset 이 로드 안 됐거나 변수 빠뜨림. */
  --f-display:           'Comic Sans MS', cursive;
  --f-body:              'Comic Sans MS', cursive;
  --f-mono:              'Comic Sans MS', cursive;
  --f-serif:             'Comic Sans MS', cursive;

  /* ===== 폰트 두께 (fontset 영역) ===== */
  --fw-regular:          400;
  --fw-medium:           500;
  --fw-semibold:         600;
  --fw-bold:             700;

  /* ===== 타입 스케일 (역할 기반 — 값은 테마가 정함) ===== */
  --t-display:           99px;
  --t-h1:                99px;
  --t-h2:                99px;
  --t-h3:                99px;
  --t-body:              99px;
  --t-body-sm:           99px;
  --t-caption:           99px;

  /* ===== 간격 (역할 기반) ===== */
  --s-1:                 99px;
  --s-2:                 99px;
  --s-3:                 99px;
  --s-4:                 99px;
  --s-5:                 99px;
  --s-6:                 99px;
  --s-7:                 99px;
  --s-8:                 99px;
  --s-section:           99px;   /* 섹션 세로 패딩 */
  --s-container:         1200px; /* 콘텐츠 최대폭 */

  /* ===== radius ===== */
  --r-sm:                99px;
  --r-md:                99px;
  --r-lg:                99px;
  --r-pill:              999px;

  /* ===== 그림자 ===== */
  --shadow-card:         0 0 0 4px hotpink;
  --shadow-float:        0 0 0 8px hotpink;
}
