/*
 * 프리또 기본 스타일 — docs/디자인/디자인-시스템.md §6.1
 * 새 화면(<html data-ui="v2">)에서만 부른다. Tabler·normalize 대신 쓰는 최소 리셋 + 글자 + 포커스
 * 옛 화면에는 넣지 않는다 (전역 리셋이 옛 본문을 바꾼다 — §6.2). 옛 화면에도 필요한 .ft-sr-only·.ft-skip·.ft-icon은 shell.css에 있다
 */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--ft-font);
  font-size: var(--ft-text-md);
  line-height: var(--ft-lh-md);
  color: var(--ft-text);
  background: var(--ft-bg);
  -webkit-font-smoothing: antialiased;
  word-break: keep-all;          /* 한국어 어절 단위 줄바꿈 */
  overflow-wrap: anywhere;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
h1, h2, h3, h4 { font-size: inherit; font-weight: inherit; line-height: inherit; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
table { border-collapse: collapse; width: 100%; }
[hidden] { display: none !important; }
small { font-size: var(--ft-text-xs); }

/* 포커스 — 키보드일 때만, 모든 상호작용 요소 공통 */
:focus { outline: none; }
:focus-visible {
  outline: 2px solid var(--ft-focus);
  outline-offset: 2px;
  border-radius: var(--ft-radius-sm);
}

/* 숫자 — 금액·인원·회차는 고정폭 숫자 */
.ft-num { font-variant-numeric: tabular-nums; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0ms !important; animation-duration: 0ms !important; scroll-behavior: auto !important; }
}
