/* ============================================
   Local Font Definitions (Offline Support)
   ============================================ */

/* Noto Sans KR */
@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/NotoSansKR-Light.ttf') format('truetype');
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/NotoSansKR-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/NotoSansKR-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/NotoSansKR-Bold.ttf') format('truetype');
}

/* Inter (가변폰트: wght 축) — dashboard2(stitch) 라틴 본문/헤딩용. self-host woff2(오프라인).
   라틴 서브셋(한글 글리프 없음) → 한글은 위 Noto Sans KR 로 폴백. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/Inter-Variable.woff2') format('woff2');
}

/* Material Symbols Outlined (가변폰트: FILL/wght/GRAD/opsz 축) — code.html 과 동일한 아이콘 글리프.
   self-host woff2(오프라인). classic Material Icons 는 폴백으로 유지. */
@font-face {
    font-family: 'Material Symbols Outlined';
    font-style: normal;
    font-weight: 100 700;
    font-display: block;
    src: url('../fonts/MaterialSymbolsOutlined.woff2') format('woff2');
}

/* classic Material Icons — Symbols 에 없는 이름의 폴백 */
@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url('../fonts/MaterialIcons-Regular.woff2') format('woff2');
}

/* 앱 전역은 .material-icons 클래스를 쓰므로, 이 클래스를 Symbols 로 재지정 → 마크업 변경 없이 전 페이지 글리프 교체.
   기본 FILL 0(외곽선, code.html 기본값). 채움이 필요한 곳(예: KPI 배지)은 개별적으로 'FILL' 1 지정. */
.material-icons,
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined', 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}
