/* OTOntology 관리 콘솔 디자인 토큰 — DESIGN_SYSTEM.md §2·§3·§7 전사.
   색·서체의 유일한 정의처. 이 파일 밖 하드코딩 금지. */

@font-face {
  font-family: "Pretendard Variable";
  src: url("../fonts/PretendardVariable.woff2") format("woff2-variations");
  font-weight: 45 920;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light dark; /* 필수 — 없으면 light-dark() 미동작 */

  /* 브랜드 */
  --brand: light-dark(#26c07c, #2ed88c); /* EMERALD — CTA·활성·포커스 */
  --brand-ink: light-dark(#313d47, #e8edf2); /* SLATE — 제목·본문 잉크 */
  --on-brand: #ffffff; /* 브랜드·시맨틱 배경 위 글자색 */

  /* 중립 (slate 계열) */
  --bg-base: light-dark(#ffffff, #14181c);
  --bg-subtle: light-dark(#f8fafc, #1a1f24);
  --bg-hover: light-dark(#f1f5f9, #222930);
  --border: light-dark(#e2e8f0, #2d3740);
  --text-primary: light-dark(#313d47, #e8edf2);
  --text-muted: light-dark(#5b6b7a, #94a3b2);

  /* 시맨틱 — 배지·알림 전용 (텍스트 병행 의무) */
  --ok: light-dark(#1b9e68, #2ed88c);
  --warn: light-dark(#b45309, #f5b04b);
  --danger: light-dark(#b42318, #f97066);
  --ok-bg: light-dark(#e7f8f0, #12291f);
  --warn-bg: light-dark(#fef3e2, #2e2415);
  --danger-bg: light-dark(#fdebe9, #2e1817);

  /* 형태 */
  --radius-sm: 6px; /* 버튼·입력·배지 */
  --radius-lg: 10px; /* 카드·다이얼로그 */
  /* 그림자 2단계 — 라이트는 SLATE(#313D47) 알파, 다크는 심(深)슬레이트 알파.
     모든 표면은 이 두 토큰만 사용한다 (개별 하드코딩 금지). */
  --shadow-color-sm: light-dark(rgb(49 61 71 / 0.06), rgb(8 11 14 / 0.4));
  --shadow-color-lg: light-dark(rgb(49 61 71 / 0.12), rgb(8 11 14 / 0.55));
  --shadow: 0 1px 2px var(--shadow-color-sm);
  --shadow-lg: 0 12px 32px var(--shadow-color-lg);

  font-family:
    "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
    system-ui, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic",
    sans-serif;
}

:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg-subtle);
  color: var(--text-primary);
  font-size: 16px; /* 기본 본문 — 가독성 우선(이전 14px는 과도하게 작았음) */
  line-height: 1.6;
  word-break: keep-all;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.num { font-variant-numeric: tabular-nums; }

a { color: var(--brand); }

/* 접근성 — WCAG 2.2 */
:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}
