/* Shared interface typography. Creator storefront themes and authored rich text keep their own fonts. */
@font-face {
    font-family: 'VIKOC Inter';
    src: url('../../backend/fonts/inter/Inter-Regular.woff2') format('woff2');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'VIKOC Inter';
    src: url('../../backend/fonts/inter/Inter-Medium.woff2') format('woff2');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'VIKOC Inter';
    src: url('../../backend/fonts/inter/Inter-SemiBold.woff2') format('woff2');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'VIKOC Inter';
    src: url('../../backend/fonts/inter/Inter-Bold.woff2') format('woff2');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

:root {
    --vikoc-ui-font: 'VIKOC Inter', 'PingFang SC', 'Microsoft YaHei UI', 'Microsoft YaHei', 'Noto Sans CJK SC', sans-serif;
    --font-family: var(--vikoc-ui-font);
}

body {
    font-family: var(--vikoc-ui-font);
}

/* Theme owners can choose fonts in .main-box; editors and icon glyphs have their own face. */
body :is(h1, h2, h3, h4, h5, h6, p, li, a, span, small, strong, b, em, label, button, input, textarea, select, option, summary, th, td, legend, blockquote, figcaption):not(:is(.main-box *, .note-editable *, .note-editor *, [contenteditable] *, [style*="font-family"], [style*="font-family"] *, .fi, [class^="fi-"], [class*=" fi-"], .fa, [class^="fa-"], [class*=" fa-"], [class^="icon-"], [class*=" icon-"])) {
    font-family: var(--vikoc-ui-font);
}

body :is(h1, h2):not(:is(.main-box *, .note-editable *, [contenteditable] *, [style*="font-family"], [style*="font-family"] *)) {
    font-weight: 700;
}
body :is(h3, h4, h5, h6):not(:is(.main-box *, .note-editable *, [contenteditable] *, [style*="font-family"], [style*="font-family"] *)) {
    font-weight: 600;
}

/* Instructor navigation: clear hierarchy without bolding every menu item. */
body.instructor-studio .studio-nav-primary,
body.instructor-studio .studio-nav-group > summary,
body.instructor-studio .studio-nav-children a,
body.instructor-studio .studio-nav-bottom a { font-size: 13px; font-weight: 500; letter-spacing: 0; }
body.instructor-studio .studio-nav-primary.is-active,
body.instructor-studio .studio-nav-group.is-current-group > summary,
body.instructor-studio .studio-nav-children a.is-active { font-weight: 600; }
body.instructor-studio .studio-nav-caption { font-weight: 600; letter-spacing: .11em; }
body.instructor-studio .studio-page-heading > span { font-weight: 500; }
body.instructor-studio .studio-page-heading h1 { font-weight: 700; }
body.instructor-studio :is(.studio-header-preview, .studio-primary-action, .studio-popover-panel a, .studio-mobile-tabs a) { font-weight: 600; }

/* Administrator menu uses the same navigation scale. */
body:not(.instructor-studio) .sidebar-title { font-weight: 600; }
body:not(.instructor-studio) .sidebar-first-li > a,
body:not(.instructor-studio) .sidebar-second-li > a,
body:not(.instructor-studio) .sidebar-third-li > a { font-weight: 500; }
body:not(.instructor-studio) .sidebar-first-li.active > a,
body:not(.instructor-studio) .sidebar-second-li.active > a,
body:not(.instructor-studio) .sidebar-third-li.active > a { font-weight: 600; }

/* Public header and authentication actions remain legible at small widths. */
body .vikoc-public-nav a,
body .vikoc-drawer-nav a { font-weight: 500; }
body .vikoc-public-nav a[aria-current],
body .vikoc-drawer-nav a[aria-current] { font-weight: 600; }
body :is(.vikoc-header-action, .vikoc-auth-submit, .vikoc-auth-secondary, .vikoc-home-button) { font-weight: 600; }
