/* web 기반 스타일 — 리셋 · 웹폰트/아이콘 로드 · 링크(m11) · focus-visible(m10).
   design-spec §9.3/§9.4 · DS tokens/fonts.css·lucide.css·base.css를 web 규범으로 재작성.
   폰트: Gowun Batang는 googleapis @import(200)가 살아 재해소하므로 죽은 gstatic
   @font-face 2줄(404·D13)은 미포함. Pretendard·lucide는 jsdelivr(200). */

@import url("https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/lucide-static@0.544.0/font/lucide.css");

@font-face {
  font-family: "Pretendard Variable";
  font-weight: 45 920;
  font-style: normal;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/variable/woff2/PretendardVariable.woff2") format("woff2-variations");
}

@font-face {
  font-family: "lucide";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("https://cdn.jsdelivr.net/npm/lucide-static@0.544.0/font/lucide.woff2") format("woff2");
}

/* ── 리셋 · UA 정규화 (문단/제목 기본 마진 0 — 시안은 마진 없는 세계) ── */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font: var(--type-body);
  letter-spacing: var(--ls-body);
  color: var(--text-primary);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
p,
figure {
  margin: 0;
}

button,
input,
select,
textarea {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}

/* ── 링크 (m11 — color→blossom-700 · underline offset 3px) ── */
a {
  color: var(--text-link);
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: var(--blossom-700);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

a:active {
  color: var(--blossom-800);
}

::selection {
  background: var(--blossom-200);
  color: var(--ink-900);
}

/* ── 포커스 (m10 — focus-ring box-shadow) ── */
:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

::-webkit-scrollbar {
  width: 0;
  height: 0;
}

/* ── lucide 아이콘 (.icon-* — 글리프 맵은 @import, 크기는 토큰) ── */
[class^="icon-"],
[class*=" icon-"] {
  display: inline-block;
  font-family: var(--font-icon);
  font-style: normal;
  font-size: var(--icon-size);
  line-height: 1;
  vertical-align: middle;
}
