/* NXS Learning, kco: the pages the LMS renders (generated by integrations/openedx/theme/build.mjs; do not edit).
 * Foundry UI/UX kit tokens (vendor/foundry), dark unless the learner chose light. Self-hosted; no outside host. */
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Sans"), local("IBMPlexSans"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Sans"), local("IBMPlexSans"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-cyrillic-ext-400-normal.woff2") format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Sans"), local("IBMPlexSans"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-greek-400-normal.woff2") format("woff2"); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Sans Medium"), local("IBMPlexSans-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-cyrillic-500-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Sans Medium"), local("IBMPlexSans-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-cyrillic-ext-500-normal.woff2") format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Sans Medium"), local("IBMPlexSans-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-greek-500-normal.woff2") format("woff2"); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: local("IBM Plex Sans SemiBold"), local("IBMPlexSans-SemiBold"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-cyrillic-600-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: local("IBM Plex Sans SemiBold"), local("IBMPlexSans-SemiBold"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-cyrillic-ext-600-normal.woff2") format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: local("IBM Plex Sans SemiBold"), local("IBMPlexSans-SemiBold"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-greek-600-normal.woff2") format("woff2"); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 400; font-display: swap; src: url("/nexus-brand/_shared/fonts/vazirmatn-arabic-400-normal.woff2") format("woff2"); size-adjust: 100%; unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 500; font-display: swap; src: url("/nexus-brand/_shared/fonts/vazirmatn-arabic-500-normal.woff2") format("woff2"); size-adjust: 100%; unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "Vazirmatn"; font-style: normal; font-weight: 700; font-display: swap; src: url("/nexus-brand/_shared/fonts/vazirmatn-arabic-700-normal.woff2") format("woff2"); size-adjust: 100%; unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "Noto Sans Syriac Eastern"; font-style: normal; font-weight: 400; font-display: swap; src: url("/nexus-brand/_shared/fonts/noto-sans-syriac-eastern-syriac-400-normal.woff2") format("woff2"); unicode-range: U+0303-0304, U+0307-0308, U+030A, U+0320, U+0323-0325, U+032D-032E, U+0330-0331, U+060C, U+061B-061C, U+061F, U+0621, U+0640, U+064B-0655, U+0660-066C, U+0670, U+0700-074F, U+0860-086A, U+1DF8, U+1DFA, U+200C-200F, U+25CC, U+2670-2671; }
@font-face { font-family: "Noto Sans Syriac Eastern"; font-style: normal; font-weight: 500; font-display: swap; src: url("/nexus-brand/_shared/fonts/noto-sans-syriac-eastern-syriac-500-normal.woff2") format("woff2"); unicode-range: U+0303-0304, U+0307-0308, U+030A, U+0320, U+0323-0325, U+032D-032E, U+0330-0331, U+060C, U+061B-061C, U+061F, U+0621, U+0640, U+064B-0655, U+0660-066C, U+0670, U+0700-074F, U+0860-086A, U+1DF8, U+1DFA, U+200C-200F, U+25CC, U+2670-2671; }
@font-face { font-family: "Noto Sans Armenian"; font-style: normal; font-weight: 400; font-display: swap; src: url("/nexus-brand/_shared/fonts/noto-sans-armenian-armenian-400-normal.woff2") format("woff2"); unicode-range: U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17; }
@font-face { font-family: "Noto Sans Armenian"; font-style: normal; font-weight: 500; font-display: swap; src: url("/nexus-brand/_shared/fonts/noto-sans-armenian-armenian-500-normal.woff2") format("woff2"); unicode-range: U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17; }
@font-face { font-family: "IBM Plex Sans Devanagari"; font-style: normal; font-weight: 400; font-display: swap; src: url("/nexus-brand/_shared/fonts/ibm-plex-sans-devanagari-devanagari-400-normal.woff2") format("woff2"); unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
@font-face { font-family: "IBM Plex Sans Devanagari"; font-style: normal; font-weight: 500; font-display: swap; src: url("/nexus-brand/_shared/fonts/ibm-plex-sans-devanagari-devanagari-500-normal.woff2") format("woff2"); unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09; }
@font-face { font-family: "Noto Sans Bengali"; font-style: normal; font-weight: 400; font-display: swap; src: url("/nexus-brand/_shared/fonts/noto-sans-bengali-bengali-400-normal.woff2") format("woff2"); unicode-range: U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1; }
@font-face { font-family: "IBM Plex Sans Hebrew"; font-style: normal; font-weight: 400; font-display: swap; src: url("/nexus-brand/_shared/fonts/ibm-plex-sans-hebrew-hebrew-400-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "IBM Plex Sans Hebrew"; font-style: normal; font-weight: 500; font-display: swap; src: url("/nexus-brand/_shared/fonts/ibm-plex-sans-hebrew-hebrew-500-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "IBM Plex Sans Hebrew"; font-style: normal; font-weight: 600; font-display: swap; src: url("/nexus-brand/_shared/fonts/ibm-plex-sans-hebrew-hebrew-600-normal.woff2") format("woff2"); unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: "Noto Sans Georgian"; font-style: normal; font-weight: 400; font-display: swap; src: url("/nexus-brand/_shared/fonts/noto-sans-georgian-georgian-400-normal.woff2") format("woff2"); unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31; }
@font-face { font-family: "Noto Sans Georgian"; font-style: normal; font-weight: 500; font-display: swap; src: url("/nexus-brand/_shared/fonts/noto-sans-georgian-georgian-500-normal.woff2") format("woff2"); unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Sans"), local("IBMPlexSans"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-latin1-400-normal.woff2") format("woff2"); unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Sans"), local("IBMPlexSans"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-latin2-400-normal.woff2") format("woff2"); unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Sans"), local("IBMPlexSans"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-pi-400-normal.woff2") format("woff2"); unicode-range: U+0E3F, U+2000-200D, U+2015, U+2028-2029, U+202F, U+2032-2033, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+ECE0, U+EFCC, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Sans Medium"), local("IBMPlexSans-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-latin1-500-normal.woff2") format("woff2"); unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Sans Medium"), local("IBMPlexSans-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-latin2-500-normal.woff2") format("woff2"); unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Sans Medium"), local("IBMPlexSans-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-pi-500-normal.woff2") format("woff2"); unicode-range: U+0E3F, U+2000-200D, U+2015, U+2028-2029, U+202F, U+2032-2033, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+ECE0, U+EFCC, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: local("IBM Plex Sans SemiBold"), local("IBMPlexSans-SemiBold"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-latin1-600-normal.woff2") format("woff2"); unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: local("IBM Plex Sans SemiBold"), local("IBMPlexSans-SemiBold"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-latin2-600-normal.woff2") format("woff2"); unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: local("IBM Plex Sans SemiBold"), local("IBMPlexSans-SemiBold"), url("/nexus-brand/_shared/fonts/ibm-plex-sans-pi-600-normal.woff2") format("woff2"); unicode-range: U+0E3F, U+2000-200D, U+2015, U+2028-2029, U+202F, U+2032-2033, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+ECE0, U+EFCC, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Mono"), local("IBMPlexMono"), url("/nexus-brand/_shared/fonts/ibm-plex-mono-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Mono"), local("IBMPlexMono"), url("/nexus-brand/_shared/fonts/ibm-plex-mono-latin1-400-normal.woff2") format("woff2"); unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Mono"), local("IBMPlexMono"), url("/nexus-brand/_shared/fonts/ibm-plex-mono-latin2-400-normal.woff2") format("woff2"); unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: local("IBM Plex Mono"), local("IBMPlexMono"), url("/nexus-brand/_shared/fonts/ibm-plex-mono-pi-400-normal.woff2") format("woff2"); unicode-range: U+03C0, U+0E3F, U+2000-200D, U+2010-2012, U+2015, U+2028-2029, U+202F, U+2032-2033, U+203E, U+205F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+2219-221A, U+221E, U+222B, U+2236, U+2248, U+2260, U+2264-2265, U+2400-2421, U+2500-259F, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+3000, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Mono Medium"), local("IBMPlexMono-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-mono-cyrillic-500-normal.woff2") format("woff2"); unicode-range: U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+0490-04C2, U+04CF-04D9, U+04DC-04E9, U+04EE-04F9, U+0524-0525; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Mono Medium"), local("IBMPlexMono-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-mono-latin1-500-normal.woff2") format("woff2"); unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+FB01-FB02; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Mono Medium"), local("IBMPlexMono-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-mono-latin2-500-normal.woff2") format("woff2"); unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-017F, U+018F, U+0192, U+01A0-01A1, U+01AF-01B0, U+01FA-01FF, U+0218-021B, U+0237, U+0259, U+1E80-1E85, U+1E9E, U+20A1, U+20A4, U+20A6, U+20A8-20AA, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BD, U+20BF; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: local("IBM Plex Mono Medium"), local("IBMPlexMono-Medium"), url("/nexus-brand/_shared/fonts/ibm-plex-mono-pi-500-normal.woff2") format("woff2"); unicode-range: U+03C0, U+0E3F, U+2000-200D, U+2010-2012, U+2015, U+2028-2029, U+202F, U+2032-2033, U+203E, U+205F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+2215, U+2219-221A, U+221E, U+222B, U+2236, U+2248, U+2260, U+2264-2265, U+2400-2421, U+2500-259F, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+3000, U+FEFF, U+FFFD; }
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-cyrillic-ext-400-normal.woff2") format("woff2");unicode-range:U+460-52F, U+1C80-1C8A, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-greek-400-normal.woff2") format("woff2");unicode-range:U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-cyrillic-ext-500-normal.woff2") format("woff2");unicode-range:U+460-52F, U+1C80-1C8A, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-greek-500-normal.woff2") format("woff2");unicode-range:U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-syriac-eastern-syriac-400-normal.woff2") format("woff2");unicode-range:U+60C, U+61B-61C, U+61F, U+621, U+640, U+64B-655, U+660-66C, U+670, U+700-74F, U+860-86A, U+1DF8, U+1DFA, U+200C}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-syriac-eastern-syriac-500-normal.woff2") format("woff2");unicode-range:U+60C, U+61B-61C, U+61F, U+621, U+640, U+64B-655, U+660-66C, U+670, U+700-74F, U+860-86A, U+1DF8, U+1DFA, U+200C}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-syriac-eastern-syriac-500-normal.woff2") format("woff2");unicode-range:U+60C, U+61B-61C, U+61F, U+621, U+640, U+64B-655, U+660-66C, U+670, U+700-74F, U+860-86A, U+1DF8, U+1DFA, U+200C}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-armenian-armenian-400-normal.woff2") format("woff2");unicode-range:U+530-58F, U+FB13-FB17}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-armenian-armenian-500-normal.woff2") format("woff2");unicode-range:U+530-58F, U+FB13-FB17}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-armenian-armenian-500-normal.woff2") format("woff2");unicode-range:U+530-58F, U+FB13-FB17}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-georgian-georgian-400-normal.woff2") format("woff2");unicode-range:U+589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+2D00-2D2F, U+2E31}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-georgian-georgian-500-normal.woff2") format("woff2");unicode-range:U+589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+2D00-2D2F, U+2E31}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-georgian-georgian-500-normal.woff2") format("woff2");unicode-range:U+589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+2D00-2D2F, U+2E31}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-hebrew-hebrew-400-normal.woff2") format("woff2");unicode-range:U+590-5FF, U+200C, U+FB1D-FB4F}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-hebrew-hebrew-500-normal.woff2") format("woff2");unicode-range:U+590-5FF, U+200C, U+FB1D-FB4F}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-hebrew-hebrew-600-normal.woff2") format("woff2");unicode-range:U+590-5FF, U+200C, U+FB1D-FB4F}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-devanagari-devanagari-400-normal.woff2") format("woff2");unicode-range:U+900-97F, U+1CD0-1CF9, U+200C, U+A830-A839, U+A8E0-A8FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-devanagari-devanagari-500-normal.woff2") format("woff2");unicode-range:U+900-97F, U+1CD0-1CF9, U+200C, U+A830-A839, U+A8E0-A8FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-devanagari-devanagari-500-normal.woff2") format("woff2");unicode-range:U+900-97F, U+1CD0-1CF9, U+200C, U+A830-A839, U+A8E0-A8FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-bengali-bengali-400-normal.woff2") format("woff2");unicode-range:U+951-952, U+964-965, U+980-9FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C, U+A8F1}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-bengali-bengali-400-normal.woff2") format("woff2");unicode-range:U+951-952, U+964-965, U+980-9FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C, U+A8F1}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-bengali-bengali-400-normal.woff2") format("woff2");unicode-range:U+951-952, U+964-965, U+980-9FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C, U+A8F1}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/vazirmatn-arabic-400-normal.woff2") format("woff2");size-adjust:100%;unicode-range:U+600-6FF, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/vazirmatn-arabic-500-normal.woff2") format("woff2");size-adjust:100%;unicode-range:U+600-6FF, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/nexus-brand/_shared/fonts/vazirmatn-arabic-700-normal.woff2") format("woff2");size-adjust:100%;unicode-range:U+600-6FF, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-syriac-eastern-syriac-400-normal.woff2") format("woff2");unicode-range:U+60C, U+61B-61C, U+61F, U+621, U+640, U+64B-655, U+660-66C, U+670, U+700-74F, U+860-86A, U+1DF8, U+1DFA, U+200C}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-syriac-eastern-syriac-500-normal.woff2") format("woff2");unicode-range:U+60C, U+61B-61C, U+61F, U+621, U+640, U+64B-655, U+660-66C, U+670, U+700-74F, U+860-86A, U+1DF8, U+1DFA, U+200C}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-armenian-armenian-400-normal.woff2") format("woff2");unicode-range:U+530-58F, U+FB13-FB17}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-armenian-armenian-500-normal.woff2") format("woff2");unicode-range:U+530-58F, U+FB13-FB17}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-georgian-georgian-400-normal.woff2") format("woff2");unicode-range:U+589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+2D00-2D2F, U+2E31}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-georgian-georgian-500-normal.woff2") format("woff2");unicode-range:U+589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+2D00-2D2F, U+2E31}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-hebrew-hebrew-400-normal.woff2") format("woff2");unicode-range:U+590-5FF, U+200C, U+FB1D-FB4F}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-hebrew-hebrew-500-normal.woff2") format("woff2");unicode-range:U+590-5FF, U+200C, U+FB1D-FB4F}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-devanagari-devanagari-400-normal.woff2") format("woff2");unicode-range:U+900-97F, U+1CD0-1CF9, U+200C, U+A830-A839, U+A8E0-A8FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/ibm-plex-sans-devanagari-devanagari-500-normal.woff2") format("woff2");unicode-range:U+900-97F, U+1CD0-1CF9, U+200C, U+A830-A839, U+A8E0-A8FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-bengali-bengali-400-normal.woff2") format("woff2");unicode-range:U+951-952, U+964-965, U+980-9FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C, U+A8F1}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/noto-sans-bengali-bengali-400-normal.woff2") format("woff2");unicode-range:U+951-952, U+964-965, U+980-9FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C, U+A8F1}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/nexus-brand/_shared/fonts/vazirmatn-arabic-400-normal.woff2") format("woff2");size-adjust:100%;unicode-range:U+600-6FF, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/nexus-brand/_shared/fonts/vazirmatn-arabic-500-normal.woff2") format("woff2");size-adjust:100%;unicode-range:U+600-6FF, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Fallback";font-display:swap;src:local("Arial"),local("Liberation Sans"),local("Helvetica"),local("ArialMT");size-adjust:102.76%;ascent-override:99.75%;descent-override:26.76%;line-gap-override:0%;unicode-range:U+0000-024F,U+0259,U+0300-036F,U+0370-03FF,U+0400-052F,U+1E00-1EFF,U+2000-206F,U+20A0-20CF,U+2100-215F,U+2190-21FF,U+2212}
@font-face{font-family:"Vazirmatn Fallback";font-display:swap;src:local("Tahoma"),local("Segoe UI"),local("Noto Sans Arabic"),local("DejaVu Sans");size-adjust:100%;ascent-override:102.54%;descent-override:53.71%;line-gap-override:0%;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
:root, html[data-theme="dark"] {
  --nx-font-sans: "IBM Plex Sans Variable", "IBM Plex Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --nx-font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --nx-bg-canvas: #000000;
  --nx-bg-surface: #0a0a0a;
  --nx-bg-elevated: #111111;
  --nx-bg-overlay: rgba(0, 0, 0, 0.88);
  --nx-bg-muted: #141414;
  --nx-bg-hover: #1a1a1a;
  --nx-bg-pressed: #222222;
  --nx-border-hairline: rgba(255, 255, 255, 0.1);
  --nx-border-hairline-strong: rgba(255, 255, 255, 0.2);
  --nx-border-subtle: #1a1a1a;
  --nx-border-default: #262626;
  --nx-border-strong: #3a3a3a;
  --nx-text-primary: #ffffff;
  --nx-text-primary-rgb: 255 255 255;
  --nx-system-accent: var(--nx-text-primary);
  --nx-system-accent-2: var(--nx-text-secondary);
  --nx-system-accent-rgb: var(--nx-text-primary-rgb);
  --nx-text-secondary: #d4d4d4;
  --nx-text-muted: #a3a3a3;
  --nx-text-disabled: #8c8c8c;
  --nx-accent: #8ab4f8;
  --nx-accent-strong: #a8c7fa;
  --nx-accent-soft: rgba(138, 180, 248, 0.12);
  --nx-accent-glow: rgba(138, 180, 248, 0.24);
  --nx-primary-bg: #ffffff;
  --nx-primary-hover: #e5e5e5;
  --nx-primary-active: #d4d4d4;
  --nx-primary-ink: #000000;
  --nx-info: #78d9ec;
  --nx-info-soft: rgba(120, 217, 236, 0.12);
  --nx-positive: #81c995;
  --nx-positive-soft: rgba(129, 201, 149, 0.12);
  --nx-caution: #fdd663;
  --nx-caution-soft: rgba(253, 214, 99, 0.12);
  --nx-critical: #f28b82;
  --nx-critical-soft: rgba(242, 139, 130, 0.12);
  --nx-quantum: #c58af9;
  --nx-quantum-soft: rgba(197, 138, 249, 0.12);
  --nx-focus: #8ab4f8;
  --nx-scene-accent: #ff5a52;
  --nx-scene-accent-soft: rgba(255, 90, 82, 0.14);
  --nx-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.8);
  --nx-shadow-md: 0 4px 16px -2px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.05);
  --nx-shadow-lg: 0 16px 36px -4px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 255, 255, 0.07);
  --nx-shadow-glow: 0 0 24px -4px rgba(138, 180, 248, 0.2);
  --nx-glass-blur: 16px;
  --nx-space-1: 0.25rem;
  --nx-space-2: 0.5rem;
  --nx-space-3: 0.75rem;
  --nx-space-4: 1rem;
  --nx-space-5: 1.25rem;
  --nx-space-6: 1.5rem;
  --nx-space-8: 2rem;
  --nx-space-10: 2.5rem;
  --nx-space-12: 3rem;
  --nx-radius-chip: 4px;
  --nx-radius-xs: 4px;
  --nx-radius-sm: 5px;
  --nx-radius-md: 5px;
  --nx-radius-lg: 5px;
  --nx-radius-xl: 5px;
  --nx-text-xs: 0.75rem;
  --nx-text-sm: 0.875rem;
  --nx-text-md: 1rem;
  --nx-text-lg: 1.125rem;
  --nx-text-xl: 1.375rem;
  --nx-text-2xl: 1.75rem;
  --nx-leading-tight: 1.2;
  --nx-leading-normal: 1.5;
  --nx-header-height: 3.5rem;
  --nx-context-height: 3rem;
  --nx-mode-height: 2.875rem;
  --nx-nav-width: 17.5rem;
  --nx-nav-compact-width: 4.5rem;
  --nx-inspector-width: 22rem;
  --nx-evidence-height: 2.25rem;
  --nx-z-base: 0;
  --nx-z-sticky: 20;
  --nx-z-overlay: 50;
  --nx-z-dialog: 70;
  --nx-z-toast: 90;
  --nx-motion-fast: 120ms;
  --nx-motion-base: 180ms;
  --nx-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --nx-paper: var(--nx-bg-canvas);
  --nx-surface: var(--nx-bg-surface);
  --nx-elevated: var(--nx-bg-elevated);
  --nx-muted: var(--nx-bg-muted);
  --nx-hover: var(--nx-bg-hover);
  --nx-ink: var(--nx-text-primary);
  --nx-ink2: var(--nx-text-secondary);
  --nx-ink3: var(--nx-text-muted);
  --nx-line: var(--nx-border-hairline);
  --nx-line-strong: var(--nx-border-hairline-strong);
  --nx-link: var(--nx-accent);
  --nx-btn-bg: var(--nx-primary-bg);
  --nx-btn-ink: var(--nx-primary-ink);
  --nx-btn-hover: var(--nx-primary-hover);
  --nx-btn-hover-ink: var(--nx-primary-ink);
  --nx-btn-active: var(--nx-primary-active);
  --nx-btn-active-ink: var(--nx-primary-ink);
  --nx-ok: var(--nx-positive);
  --nx-bad: var(--nx-critical);
  --nx-warn: var(--nx-caution);
  --nx-sans: var(--nx-font-sans);
  --nx-mono: var(--nx-font-mono);
  --nx-r: var(--nx-radius-sm);
  --nx-r-chip: var(--nx-radius-chip);
  --nx-s1: 4px; --nx-s2: 8px; --nx-s3: 12px; --nx-s4: 16px; --nx-s5: 24px; --nx-s6: 32px; --nx-s7: 48px;
  --nx-bar-h: 56px; --nx-container: 1280px;
  --nx-holder: "The Kurdish Cooperation Organization";
  --nx-service: "NXS Learning";
  --nx-year: "2026";
  --nx-wordmark: "The Kurdish Cooperation Organization";
  color-scheme: dark;
}
html[data-theme="light"] {
  --nx-font-sans: "IBM Plex Sans Variable", "IBM Plex Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --nx-font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --nx-bg-canvas: #ffffff;
  --nx-bg-surface: #ffffff;
  --nx-bg-elevated: #fafafa;
  --nx-bg-overlay: rgba(255, 255, 255, 0.92);
  --nx-bg-muted: #f4f4f5;
  --nx-bg-hover: #ededed;
  --nx-bg-pressed: #e0e0e0;
  --nx-border-hairline: rgba(0, 0, 0, 0.1);
  --nx-border-hairline-strong: rgba(0, 0, 0, 0.2);
  --nx-border-subtle: #e8e8e8;
  --nx-border-default: #d4d4d4;
  --nx-border-strong: #a3a3a3;
  --nx-text-primary: #000000;
  --nx-text-primary-rgb: 0 0 0;
  --nx-system-accent: var(--nx-text-primary);
  --nx-system-accent-2: var(--nx-text-secondary);
  --nx-system-accent-rgb: var(--nx-text-primary-rgb);
  --nx-text-secondary: #262626;
  --nx-text-muted: #525252;
  --nx-text-disabled: #5e5e5e;
  --nx-accent: #1a73e8;
  --nx-accent-strong: #1557b0;
  --nx-accent-soft: rgba(26, 115, 232, 0.1);
  --nx-accent-glow: rgba(26, 115, 232, 0.2);
  --nx-primary-bg: #000000;
  --nx-primary-hover: #262626;
  --nx-primary-active: #404040;
  --nx-primary-ink: #ffffff;
  --nx-info: #0b7285;
  --nx-info-soft: rgba(11, 114, 133, 0.08);
  --nx-positive: #1e7e46;
  --nx-positive-soft: rgba(30, 126, 70, 0.08);
  --nx-caution: #b45309;
  --nx-caution-soft: rgba(180, 83, 9, 0.08);
  --nx-critical: #c62828;
  --nx-critical-soft: rgba(198, 40, 40, 0.08);
  --nx-quantum: #6d28d9;
  --nx-quantum-soft: rgba(109, 40, 217, 0.08);
  --nx-focus: #1a73e8;
  --nx-scene-accent: #d0021b;
  --nx-scene-accent-soft: rgba(208, 2, 27, 0.08);
  --nx-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --nx-shadow-md: 0 6px 16px -2px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04);
  --nx-shadow-lg: 0 16px 32px -4px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.05);
  --nx-shadow-glow: 0 0 20px -2px rgba(26, 115, 232, 0.15);
  --nx-glass-blur: 16px;
  color-scheme: light;
}
/* NXS Learning: the pages the LMS itself renders (tutor-indigo's LMS theme, built into the published image): sign-out
 * pages that remain after the redirects, course about pages, legacy account and progress pages, error pages.
 * tutor/plugins/nexus_theme.py links this sheet into every LMS HTML page on the study hosts, sets <html data-theme> and
 * replaces the LMS footer with the estate footer (.nx-chrome--footer). Logical properties only (RTL). */

html, body { background: var(--nx-paper) !important; color: var(--nx-ink) !important; }
body, body *:not(code):not(pre):not(kbd):not(samp):not(.fa):not([class^="fa-"]):not([class*=" fa-"]):not([class*="icon"]):not(mjx-container):not(mjx-container *) {
  font-family: var(--nx-sans) !important;
}
code, pre, kbd, samp { font-family: var(--nx-mono) !important; }
h1, h2, h3, h4, .hd { color: var(--nx-ink) !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
a { color: var(--nx-link); text-underline-offset: 0.18em; }
:focus-visible { outline: 2px solid var(--nx-focus) !important; outline-offset: 2px; box-shadow: none !important; }
.ie-banner, .home-page-video-modal, #video-modal { display: none !important; }

/* Header: the estate bar (tutor-indigo header.html). */
header.global-header {
  background: var(--nx-paper) !important;
  border-block-end: 1px solid var(--nx-line) !important;
  box-shadow: none !important;
  color: var(--nx-ink);
}
header.global-header .header-container { max-width: var(--nx-container); margin-inline: auto; padding-inline: var(--nx-s5); min-height: var(--nx-bar-h); }
header.global-header .logo, header.global-header a.logo { display: inline-flex; align-items: center; gap: var(--nx-s3); color: var(--nx-ink); text-decoration: none; }
header.global-header .logo img { max-height: 28px; width: auto; }
/* tutor-indigo's LMS header carries one image (logo.png, the artwork for a light page): in dark, the light-on-dark one. */
html[data-theme="dark"] header.global-header .logo-image { content: url("/static/indigo/images/logo-white.png"); }
header.global-header .logo::after {
  content: var(--nx-service);
  font-family: var(--nx-mono) !important; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--nx-ink2); padding-inline-start: var(--nx-s3); border-inline-start: 1px solid var(--nx-line); line-height: 1.5rem;
}
header.global-header .nav-links a, header.global-header .nav-item a { color: var(--nx-ink2) !important; font-weight: 500; text-decoration: none; }
header.global-header .nav-links a:hover { color: var(--nx-ink) !important; }
/* Marketing links of the stock header point at pages WordPress owns; the catalogue link is the footer's Courses. */
header.global-header .nav-links .main { display: none !important; }
/* Rule R6 (owner 2026-11-11): no sign-in or registration entry on the course site; learners come signed in from their
 * network's own site, administrators use their own way in. */
header.global-header .register-btn, header.global-header a.sign-in-btn, header.global-header a[href*="/login"], header.global-header a[href*="/register"] { display: none !important; }
header.global-header a.sign-in-btn, header.global-header .nav-links a.btn, header.global-header .btn {
  background: var(--nx-btn-bg) !important; color: var(--nx-btn-ink) !important; border: 1px solid var(--nx-btn-bg) !important;
  border-radius: var(--nx-r) !important; min-height: 36px; padding: 0 var(--nx-s4) !important; display: inline-flex; align-items: center; box-shadow: none !important;
}
header.global-header .user-dropdown, header.global-header .dropdown-user-menu { background: var(--nx-surface) !important; border: 1px solid var(--nx-line) !important; border-radius: var(--nx-r); box-shadow: none !important; }
header.global-header .dropdown-user-menu a { color: var(--nx-ink) !important; }

/* Content surfaces. */
.content-wrapper, main, #main, .container, section.home, .find-courses { background: transparent !important; color: var(--nx-ink); }
.home .outer-wrapper, .home .title { background: var(--nx-paper) !important; background-image: none !important; box-shadow: none !important; }
.home .title .heading-group h1, .find-courses h2 { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem) !important; }
.courses-container .course, .course-card, .card, .modal-content, .wrapper-course-image, .course-about .details {
  background: var(--nx-surface) !important; border: 1px solid var(--nx-line) !important; border-radius: var(--nx-r) !important; box-shadow: none !important; color: var(--nx-ink);
}
.btn, button.btn, a.btn, .action, input[type="submit"], button[type="submit"] {
  border-radius: var(--nx-r) !important; box-shadow: none !important; background-image: none !important; text-shadow: none !important; font-weight: 500 !important;
}
.btn-primary, .btn-brand, .register, .action-primary, input[type="submit"], button[type="submit"] {
  background: var(--nx-btn-bg) !important; border-color: var(--nx-btn-bg) !important; color: var(--nx-btn-ink) !important;
}
input[type="text"], input[type="email"], input[type="search"], input[type="password"], select, textarea, .search-input, .discovery-input {
  background: var(--nx-paper) !important; color: var(--nx-ink) !important; border: 1px solid var(--nx-line) !important; border-radius: var(--nx-r) !important; min-height: 2.75rem; box-shadow: none !important;
}
.msg, .message, .alert, .status { background: var(--nx-surface) !important; color: var(--nx-ink) !important; border: 1px solid var(--nx-line) !important; border-inline-start: 3px solid var(--nx-ink3) !important; border-radius: var(--nx-r) !important; box-shadow: none !important; }

/* Footer: the stock footer goes; the middleware prints the estate footer in its place (fallback: the stock one is
 * hidden piece by piece if the markup ever differs). */
.wrapper-footer .powered-area, .wrapper-footer .logo-list, .wrapper-footer .copyright-site, .wrapper-footer .colophon .copyright,
img[src*="tutor-logo"], img[src*="openedx-logo"] { display: none !important; }
.wrapper-footer { background: var(--nx-paper) !important; border-block-start: 1px solid var(--nx-line); }
.nx-chrome--footer { border-block-start: 1px solid var(--nx-line); margin-block-start: var(--nx-s7); background: var(--nx-paper); color: var(--nx-ink2); }
.nx-foot { max-width: var(--nx-container); margin-inline: auto; padding: var(--nx-s6) var(--nx-s5) var(--nx-s5); }
.nx-foot__bar-list { display: flex; flex-wrap: wrap; gap: var(--nx-s2) var(--nx-s5); margin: 0; padding: 0; list-style: none; }
.nx-foot__bar-list li { margin: 0; }
.nx-foot__bar-list a { color: var(--nx-ink) !important; text-decoration: none; min-height: 24px; display: inline-flex; align-items: center; }
.nx-foot__bar-list a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.nx-foot__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--nx-s4); margin-block-start: var(--nx-s5); padding-block-start: var(--nx-s4); border-block-start: 1px solid var(--nx-line); }
.nx-foot__holder { margin: 0; font-family: var(--nx-mono) !important; font-size: 0.75rem; color: var(--nx-ink2); }
/* The language choice keeps the platform's own form (it stores the preference), styled as the estate control. */
.nx-foot .settings-language-form, .nx-foot form { display: flex; align-items: center; gap: var(--nx-s2); margin: 0; }
.nx-foot select { min-height: 36px !important; font-size: 0.875rem; padding-inline: var(--nx-s2) !important; }
.nx-foot input[type="submit"], .nx-foot button[type="submit"] {
  background: transparent !important; color: var(--nx-ink) !important; border: 1px solid var(--nx-line) !important; min-height: 36px; padding: 0 var(--nx-s3) !important;
}

/* Right to left and motion. */
:lang(ar) body, :lang(fa) body, :lang(ckb) body, :lang(ur) body, :lang(azb) body, :lang(prs) body {
  --nx-sans: "IBM Plex Sans Arabic", "IBM Plex Sans", system-ui, sans-serif; line-height: 1.85;
}
[dir="rtl"] header.global-header .logo::after, [dir="rtl"] .nx-foot__holder { letter-spacing: 0; text-transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }

/* "Courses for <network> are coming" (tutor/plugins/nexus_theme.py, owner 2026-11-05): the home and /courses of a study
 * host whose catalogue lists no course yet, in place of an empty grid. One card, one action, kit corners. */
.nx-coming { max-width: var(--nx-container); margin: var(--nx-s6) auto; padding-inline: var(--nx-s5); }
.nx-coming__card { padding: var(--nx-s6) var(--nx-s5); background: var(--nx-surface); border: 1px solid var(--nx-line); border-radius: var(--nx-r); }
.nx-coming__eyebrow { margin: 0 0 var(--nx-s2); font-family: var(--nx-mono) !important; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--nx-ink2); }
.nx-coming__title { margin: 0 0 var(--nx-s3) !important; font-size: clamp(1.5rem, 1vw + 1.1rem, 2rem); line-height: 1.2; }
.nx-coming__text { margin: 0 0 var(--nx-s5); max-width: 62ch; color: var(--nx-ink2); }
.nx-coming__action { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 var(--nx-s5); border-radius: var(--nx-r); background: var(--nx-btn-bg); color: var(--nx-btn-ink) !important; font-weight: 600; text-decoration: none; }
.nx-coming ~ .courses-container, .nx-coming ~ * .courses-container { display: none !important; }
[dir="rtl"] .nx-coming__eyebrow { letter-spacing: 0; text-transform: none; }

/* The LMS page frame and the course about page (live 2026-11-05: .window-wrap and the course header kept their white
 * backgrounds under dark tokens, so the about page read white on white). */
.window-wrap, .content-wrapper, #content, .course-info { background: var(--nx-paper) !important; color: var(--nx-ink); }
.course-info .intro-inner-wrapper, header.course-profile .intro-inner-wrapper { background: transparent !important; box-shadow: none !important; }
header.course-profile { background: var(--nx-surface) !important; border: 1px solid var(--nx-line) !important; border-radius: var(--nx-r); box-shadow: none !important; }
header.course-profile .heading-group h1, .course-info h1, .course-info h2, .course-about h1 { color: var(--nx-ink) !important; }
.course-info .details, .course-info .details p, .course-info .details li, .important-dates .important-dates-item-text, .important-dates .important-dates-item-title { color: var(--nx-ink) !important; }
.course-info .details h2 { margin-block: var(--nx-s5) var(--nx-s2) !important; font-size: 1.25rem; }
.course-info .course-sidebar, .course-info .important-dates li { border-color: var(--nx-line) !important; background: transparent !important; }
.course-info .sharing-message { background-image: none !important; color: var(--nx-ink2) !important; }
.home > header .outer-wrapper, section.home > header { background: var(--nx-surface) !important; }
