/* 無蓋貨車 — 디자인 토큰 (색·타입·공간·모션의 단일 출처). 근거: DESIGN.md */

:root {
  /* 색 — 쿨 뉴트럴 한 계열(화차 백드롭 기준) + 주황 신호(온기는 여기만) */
  --paper:      #f4f0f3;   /* 배경 — openwagon.jpg 백드롭 #f4eff3 기준 */
  --paper-2:    #eae5ea;   /* 카드·오목한 면 */
  --ink:        #1a1718;   /* 본문 */
  --ink-soft:   #454149;   /* 부제·인용 */
  --muted:      #89858e;   /* 캡션·비활성 */
  --line:       #e2dde2;   /* 경계선 */
  --signal:     #f26212;   /* 주황 — 유일한 강조색(불) */
  --signal-ink: #4a1b0c;   /* 주황 면 위의 텍스트(순검정 금지) */

  /* 타입 */
  --font-serif: "Nanum Myeongjo", "Jeju Myeongjo", serif;
  --font-sans:  "Noto Sans KR", sans-serif;

  --t-display: clamp(2.5rem, 6vw, 3.25rem);
  --t-title:   1.5rem;    /* 글·섹션 제목 — 본문 대비 과하지 않게(약 1.36×) */
  --t-h2:      1.375rem;
  --t-h3:      1.125rem;
  --t-body:    1.0625rem;
  --t-ui:      1rem;
  --t-caption: 0.8125rem;

  --leading-verse: 1.9;
  --leading-prose: 1.7;
  --leading-ui:    1.5;
  --leading-tight: 1.2;

  /* 공간 & 레이아웃 */
  --space-1: .25rem;  --space-2: .5rem;   --space-3: .75rem;
  --space-4: 1rem;    --space-6: 1.5rem;  --space-8: 2rem;
  --space-12: 3rem;   --space-16: 4rem;
  /* 콘텐츠 폭 — discrete 3단(DESIGN §4). 임의값 1000px를 걷고 업계 표준에 정렬:
     prose=좁은 읽기폭(시) · text=산문 본문(Bootstrap md 컨테이너 720) · content=넓은
     컨테이너/목록/노선도/헤더(Tailwind 5xl·lg 브레이크포인트 1024). 전부 rem. */
  --max-prose:   34rem;   /* 544px — 시(운문). 상단 nav 좌우 영역에 맞춘 명조 한 줄 폭 */
  --max-text:    45rem;   /* 720px — 산문 본문(기관실·운행일지 글·채록집) */
  --max-content: 64rem;   /* 1024px — 넓은 것(목록·노선도·헤더/nav 정렬 기준) */
  --header-offset: 170px;
  --radius-sm: 4px;   --radius: 8px;      --radius-lg: 12px;

  /* 모션 */
  --dur-fast: 120ms;  --dur: 180ms;       --dur-slow: 320ms;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

/* 다크 토큰 — 정의만 해둔다. 실제 전환(data-theme)은 invert 해킹 제거 +
   레거시 흡수와 함께 켠다. 그전까진 inert. (DESIGN.md §9) */
:root[data-theme="dark"] {
  --paper:      #15151a;
  --paper-2:    #1e1e24;
  --ink:        #ece8ee;
  --ink-soft:   #bcb8c2;
  --muted:      #84818b;
  --line:       #2a2a31;
  --signal:     #f26212;
  --signal-ink: #ffd9c4;
}
