/**
 * DOM 표준 폰트 라이브러리
 *
 * 모든 앱에서 공통으로 사용하는 폰트를 중앙 관리합니다.
 *
 * @version 1.2.0
 * @date 2026-03-12
 *
 * 사용법:
 *   <link rel="stylesheet" href="/assets/css/fonts.css">
 *
 * 포함 폰트 (24개):
 *   - 아이콘: Material Symbols Outlined, Material Symbols Rounded (자체 호스팅, font-display: block)
 *   - 한글 본문: Pretendard, Noto Sans KR, SUIT, 서울한강체
 *   - 한글 세리프: Gowun Batang, Noto Serif KR
 *   - 한글 캐주얼: Single Day, Gowun Dodum, 세종글꽃체, 학교안심 그림일기, 야놀자야체, 마포꽃섬, 메모먼트 꾹꾹체
 *   - 영문 본문: Inter
 *   - 영문 세리프: Playfair Display, Lora
 *   - 영문 데코: Pacifico, Dancing Script
 *   - 숫자/시계: Orbitron, Roboto Mono
 *   - 영문 디스플레이: Oswald, Bebas Neue
 */

/* === Material Symbols Outlined (자체 호스팅, FOUT 방지) === */
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url(/assets/fonts/material-symbols-outlined.woff2) format('woff2');
}
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'liga';
}

/* === Material Symbols Rounded (자체 호스팅, FOUT 방지) === */
@font-face {
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url(/assets/fonts/material-symbols-rounded.woff2) format('woff2');
}
.material-symbols-rounded {
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'liga';
}

/* Pretendard - 한글 기본 (CDN) */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

/* Google Fonts - 나머지 폰트 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&family=Noto+Serif+KR:wght@400;700;900&family=Gowun+Batang:wght@400;700&family=Gowun+Dodum&family=Single+Day&family=Inter:wght@300;400;500;700;900&family=Playfair+Display:wght@400;500;700;900&family=Lora:wght@400;500;700&family=Pacifico&family=Dancing+Script:wght@400;500;700&family=Orbitron:wght@400;500;700;900&family=Roboto+Mono:wght@300;400;500;700&family=Oswald:wght@300;400;500;700&family=Bebas+Neue&display=swap');

/* SUIT - 눈누 CDN */
@font-face {
  font-family: 'SUIT';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Light.woff2') format('woff2');
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'SUIT';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'SUIT';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'SUIT';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Bold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

/* 세종글꽃체 - 눈누 CDN */
@font-face {
  font-family: 'SejongGeulggot';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2410-2@1.0/SejongGeulggot.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

/* 서울한강체 - 눈누 CDN */
@font-face {
  font-family: 'SeoulHangang';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_two@1.0/SeoulHangangM.woff') format('woff');
  font-weight: 400;
  font-display: swap;
}

/* 학교안심 그림일기 - 눈누 CDN */
@font-face {
  font-family: 'HakgyoansimGeurimilgi';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-5@1.0/HakgyoansimGeurimilgiTTF-R.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

/* 야놀자야체 - 눈누 CDN */
@font-face {
  font-family: 'YanoljaYache';
  src: url('https://gcore.jsdelivr.net/gh/projectnoonnu/noonfonts_two@1.0/YanoljaYacheR.woff') format('woff');
  font-weight: 400;
  font-display: swap;
}

/* 마포꽃섬 - 눈누 CDN */
@font-face {
  font-family: 'MapoFlowerIsland';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/MapoFlowerIslandA.woff') format('woff');
  font-weight: 400;
  font-display: swap;
}

/* 메모먼트 꾹꾹체 - 눈누 CDN */
@font-face {
  font-family: 'MemomentKkukKkuk';
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2508-2@1.0/memomentKkukKkuk.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

/* 폰트 페이스 정의 (fallback 및 최적화) */
:root {
  /* 기본 폰트 변수 */
  --font-sans: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-serif: 'Noto Serif KR', Georgia, serif;
  --font-mono: 'Roboto Mono', 'Consolas', monospace;
}
