/* ==========================================================================
   RFS — Realtime Fluid Simulator · 디자인 토큰 SSOT
   실시간 GPU 유체 시뮬레이션 엔진 (데이터센터 열관리) 프로모션 사이트

   컨셉 : 암실과 사양서 — 유동이 있는 곳은 어둡고, 읽는 곳은 밝다
   프리셋: darkroom-spec (신규 정의. dark-instrument 를 쓰지 않은 이유는 아래)
   강조색: 계기 청색 1색. 라이트/다크는 규칙으로 정의된 한 쌍이므로 1종으로 센다

   ── 레퍼런스 실측 (2026-08-24, 1440px computed style)
   R1 구조 · luminary.ai (Physics AI 시뮬레이션 플랫폼)
       배경 #2A2C2F · GT Standard + GT Standard Mono 2패밀리
       h1 72px/600 · 본문 16px · 최대÷본문 4.5배
       radius 0px 1898회 지배 (8px 36 / 9999px 11)
       컨테이너 1425 전폭 ↔ 1297 ↔ 974 · 섹션 14
       히어로: 시뮬레이션 영상 1440×1440 이 첫 화면을 100% 덮는다
       → 가져온 원리: 시뮬레이션 결과가 히어로를 통째로 먹고 UI 는 무채색으로 물러난다.
         색은 시각물 안에서만 소리친다
       → 안 가져온 것: 섹션 14개, 비어 있는 h1(접근성 실패), 'Physics AI Factory' 류 조어

   R2 톤 · teenage.engineering / EP-133 (전자악기 — 다른 업종)
       배경 #F9FAF9 · te-20 + TechnoType 2패밀리
       radius 0px 2492회 지배 · 강조색 #FF5000 이 단 10회
       밝은 페이지 안에 다크 블록 #0F0E12 가 18회 · 컨테이너 1308 ↔ 1440 전폭
       최대 52.9px ÷ 본문 13.2px = 4.0배
       → 가져온 원리: 밝은 바탕 안에 어두운 밴드를 리듬으로 둔다. 강조색은 극히 아껴 쓴다
       → 안 가져온 것: h1 부재, 오렌지 색상 자체

   R1 보조 · simscale.com (CFD SaaS)
       배경 #F7F7F7 · Geist 1패밀리 · h1 49.78px/400 · 본문 15.38px (3.24배)
       radius 0px 2558회 + pill 114회 · 컨테이너 1192 본문 ↔ 1425 전폭 교대
       → 라이트 배경 CFD 사이트의 반례로 기록. 별점 리뷰 배너는 가져오지 않는다

   ── dark-instrument 프리셋을 쓰지 않은 이유
   이 저장소에 이미 dark-instrument 가 둘(Pulsegate 코발트, Synapse BCI 골드) 있다.
   셋째를 같은 프리셋으로 만들면 그것은 이 브리프의 결정이 아니라 카테고리 평균이다.
   RFS 는 파티클이 어두운 배경에서만 읽히지만(제품 실제 렌더 확인), 사양·도입 절차는
   밝은 종이에서 읽는 것이 낫다. 그래서 한 페이지를 두 체제로 나눈다 — 그것이 감수한 리스크다.

   ── 강조색의 출처
   제품 실물의 에디터 테마는 --theme-accent: #3b82f6 (Tailwind blue-500) 이다.
   그대로 쓰면 '색을 고르지 않았다'는 신호를 그대로 수입하게 되므로, 채도를 낮추고
   청록 쪽으로 틀어 계기 청색으로 옮겼다. 출발점은 제품의 실제 색이 맞다.
   ========================================================================== */

:root {
  /* ── 타이포그래피 스케일 — 5단계 + 스케일 밖 디스플레이 1개 ── */
  --step--1: 0.8125rem; /* 13px — 라벨·캡션·표 머리 */
  --step-0: 1rem; /* 16px — 본문 (한글 하한) */
  --step-1: 1.1875rem; /* 19px — 리드 문장 */
  --step-2: clamp(1.375rem, 1.15rem + 1.1vw, 1.9375rem); /* 22 → 31px — 섹션 헤딩 */
  --step-3: clamp(1.875rem, 1.4rem + 2.4vw, 3rem); /* 30 → 48px — 큰 헤딩 */
  --display: clamp(2.5rem, 1.6rem + 4.4vw, 4.5rem); /* 40 → 72px — 히어로 전용 */
  /* 최대 ÷ 본문 = 72 ÷ 16 = 4.5배. R1(luminary) 과 같은 비율이다 */

  --leading-tight: 1.18;
  --leading-normal: 1.7; /* 한글 본문 하한 1.6 */
  --leading-loose: 1.85;
  --measure: 34em; /* 한글 한 줄 25~40자 */

  /* 라틴을 폴백 앞에 두면 라틴까지 한글 폰트로 그려진다 — Pretendard 는 둘 다 좋다 */
  --font-body: Pretendard, "Pretendard Variable", -apple-system, system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;

  /* ── 색 · 사양서(라이트) 체제 ── */
  --surface: #f4f5f3;
  --surface-2: #eaece8;
  --surface-3: #dfe2dd;
  --line: #d3d7d1;
  --line-strong: #b6bcb5;
  --ink: #14171a;
  --ink-muted: #545c63; /* 6.23:1 */
  --ink-faint: #626a70; /* 5.10:1 — 13px 캡션도 AA 를 지켜야 하므로 처음 값(#7C858C·3.43:1)에서 내렸다 */
  --accent: #2a6b8a; /* 밝은 바탕 위 5.33:1 */
  --accent-hover: #1f5069;
  --accent-ink: #ffffff;
  --accent-wash: #e3ecf1;

  /* ── 색 · 암실(다크) 체제 — 위 값들의 규칙적 반전 ── */
  --dark-surface: #0e1114;
  --dark-surface-2: #14181c;
  --dark-surface-3: #1b2126;
  --dark-line: #262c31;
  --dark-line-strong: #3a434a;
  --dark-ink: #e8ecef;
  --dark-ink-muted: #98a3ab; /* 7.35:1 */
  --dark-ink-faint: #7b858c; /* 5.03:1 — 처음 값(#6D777E)은 4.14:1 로 미달이었다 */
  --dark-accent: #3e8fb0; /* 어두운 바탕 위 5.20:1 */
  --dark-accent-hover: #5aa6c4;
  --dark-accent-ink: #071016;
  --dark-accent-wash: #16303c;

  /* ── 온도 컬러맵 — 캔버스 안에서만 쓰는 데이터 인코딩이다.
     UI 강조색이 아니므로 강조색 카운트(하드 게이트 2)에서 제외한다.
     제품 실물의 파티클 렌더가 저온 시안 → 고온 그린이라 그 언어를 따랐다 ── */
  --temp-cold: #2f7d9e;
  --temp-mid: #39a894;
  --temp-warm: #8cc152;
  --temp-hot: #d7d64a;

  /* ── 형태 — R1·R2 둘 다 radius 0 이 지배한다. 어휘 1종으로 못박는다 ── */
  --radius: 0;

  /* ── 간격 — 저장소 SSOT 표준 ── */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2.5rem;
  --space-6: 4rem;
  --space-7: 6rem;
  --space-8: clamp(4.5rem, 3rem + 6vw, 9rem);

  --container: 1120px;
  --container-wide: 1360px;
  --pad-inline: clamp(1.25rem, 1rem + 2.5vw, 4rem);

  /* ── 모션 ── */
  --dur-quick: 160ms;
  --dur-normal: 420ms;
  --dur-slow: 900ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);
}
