.progress-container:not(:focus-within):not(:hover)>div.progress-bar-input[data-v-f76a12f2]:not(:focus-within):not(:hover){position:absolute;top:0;overflow-y:hidden;max-height:0!important}.progress-container:focus-within>div.progress-bar-input.has-child[data-v-f76a12f2],.progress-container:hover>div.progress-bar-input.has-child[data-v-f76a12f2]{width:100%;height:100%;max-height:100%;transition:max-height .1s ease-in;position:relative;overflow-y:hidden}:is(.progress-container:focus-within:has(div.progress-bar-input.has-child)>div.progress-bar[data-v-f76a12f2],.progress-container:hover:has(div.progress-bar-input.has-child)>div.progress-bar[data-v-f76a12f2]){visibility:collapse;opacity:0;transition:visibility .1s ease-out,opacity .1s ease-out,display allow-discrete .1s;display:none}.nc-percent-progress-circle[data-v-f76a12f2]{line-height:0}.nc-percent-progress-circle-track[data-v-f76a12f2]{stroke:#e5e5e5}.dark .nc-percent-progress-circle-track[data-v-f76a12f2]{stroke:var(--nc-bg-brand-inverted)}.nc-percent-progress-circle-bar[data-v-f76a12f2]{stroke:var(--color-brand-500)}.nc-cell:has(.progress-container){height:100%!important}td.align-middle .percent-progress[data-v-a4d7dbd3]{align-items:center}td.align-top .percent-progress[data-v-a4d7dbd3]{align-items:center;height:16px}

/* ---------------------------------------------------------------------------
 * Vazirmatn overlay for NocoDB (nbtx eval lab).
 *
 * Appended to every built CSS chunk so it survives per-route code-splitting and
 * needs no proxy. One variable font file covers weights 100-900.
 *
 * NocoDB's grid is CANVAS, so this reaches only the DOM; the JS font literals
 * the grid feeds to ctx.font are patched separately in the Dockerfile.
 *
 * The * rule is blunt because NocoDB (Tailwind + Vuetify) sets font-family on
 * countless elements. Icon fonts, monospace and KaTeX are restored afterwards
 * and win on specificity, not order.
 * ------------------------------------------------------------------------- */

@font-face {
  font-family: 'Vazirmatn';
  src: url('/_nuxt/vazirmatn.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root { --nc-font: 'Vazirmatn', Inter, sans-serif; }

* {
  font-family: 'Vazirmatn', Inter, -apple-system, BlinkMacSystemFont,
               'Segoe UI', Roboto, sans-serif !important;
}

/* Icon fonts must never be re-fonted (higher specificity than *). */
.codicon, [class*="codicon"] { font-family: codicon !important; }
.material-symbols-outlined, .material-symbols, [class*="material-symbols"],
.material-icons {
  font-family: 'Material Symbols', 'Material Symbols Outlined', 'Material Icons' !important;
}
[class*="mdi"], .mdi { font-family: 'Material Design Icons' !important; }

/* Code stays monospace. */
code, pre, kbd, samp, tt,
[class*="mono"], [class*="monospace"],
.cm-editor, .cm-editor *, .cm-content, .cm-content *,
.monaco-editor, .monaco-editor * {
  font-family: 'JetBrainsMono', 'DM Mono', ui-monospace, SFMono-Regular,
               Menlo, Consolas, 'Liberation Mono', monospace !important;
}

/* KaTeX ships metrics-critical faces; overriding them breaks math layout. */
.katex, .katex * { font-family: KaTeX_Main, 'Times New Roman', serif !important; }
.katex .mathdefault, .katex .mathit { font-family: KaTeX_Math, serif !important; }

/* Preserve NocoDB's user-selectable serif/mono doc typography options. */
.nc-doc-font-serif .nc-doc-editor-content.ProseMirror,
.nc-doc-font-serif .nc-doc-editor-content.ProseMirror * {
  font-family: Georgia, 'Times New Roman', Times, serif !important;
}
.nc-doc-font-mono .nc-doc-editor-content.ProseMirror,
.nc-doc-font-mono .nc-doc-editor-content.ProseMirror * {
  font-family: 'JetBrainsMono', ui-monospace, monospace !important;
}

/* Persian reads better with slightly looser leading than Inter's Latin default. */
body { line-height: 1.6; }
