@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/cairo-arabic-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2) format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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: 'Cairo'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/cairo-latin-ext-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/cairo-latin-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/cairo-arabic-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2) format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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: 'Cairo'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/cairo-latin-ext-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/cairo-latin-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/cairo-arabic-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2) format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-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-10EC7, U+10EC9-10EEE, U+10EF0-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: 'Cairo'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/cairo-latin-ext-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cairo'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/cairo-latin-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Caveat'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/caveat-latin-ext-WnznHAc5bAfYB2QRah7pcpNvOx-pjcB9eIupYSxP.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Caveat'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/caveat-latin-WnznHAc5bAfYB2QRah7pcpNvOx-pjcB9eIWpYQ.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/inter-latin-ext-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/inter-latin-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/inter-latin-ext-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/inter-latin-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/inter-latin-ext-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/inter-latin-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/inter-latin-ext-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/inter-latin-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
    --chem: #10B070;
    --chem-ink: #0A7A4C;
    --phys: #3B4FB8;
    --phys-ink: #304090;
    --math: #F59E0B;
    --math-ink: #A85A06;
    --sm:   #8B5CF6;
    --sm-ink: #6D3FD6;
    --chem-soft: #D8F5E8;
    --phys-soft: #E1E5F8;
    --math-soft: #FFEBC7;
    --sm-soft:   #EBE3FF;
    --ink: #1A1D23;
    --ink-soft: #3A414C;
    --muted: #515A67;
    --primary: #00708F;
    --primary-dark: #00526B;
    --primary-soft: #D6EBF2;
    --navy: #00708F;
    --deep: #00465C;
    --graphite: #2B3038;
    --sage: #10B070;
    --sage-soft: #D8F5E8;
    --sand: #F59E0B;
    --sand-soft: #FFEBC7;
    --coral-soft: #FFE3DE;
    --coral-ink: #B42318;
    --line: #D3DAE3;
    --bg: #FFFFFF;
    --band-2: #E3ECFF;
    --band-3: #DDF5EA;
    --band-4: #FFF0D6;
    --radius: 8px;
    --radius-s: 6px;
    --shadow: 0 1px 2px rgba(26, 29, 35, .08), 0 6px 16px rgba(26, 29, 35, .07);
    --shadow-h: 0 10px 26px rgba(26, 29, 35, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: "Inter", "Cairo", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    color: var(--ink);
    background: #F5F7FA;
    line-height: 1.6;
}
a { color: var(--primary); text-decoration: none; }
a:hover { color: var(--primary-dark); text-decoration: underline; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { line-height: 1.3; margin: 0 0 .5em; font-weight: 700; }
ul, ol { margin: 0; }

.wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.skip { position: absolute; inset-inline-start: -999px; top: 0; background: var(--sand); color: #000; padding: 8px 12px; z-index: 100; border-radius: var(--radius-s); }
.skip:focus { inset-inline-start: 8px; }

.strip { background: var(--deep); color: #D5DAE1; font-size: .84rem; }
.strip a { color: #fff; font-weight: 500; }
.strip a:hover { color: var(--sand); }
.strip-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 6px; padding-bottom: 6px; }
.strip-right { display: flex; align-items: center; gap: 16px; }
.langs { display: flex; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; }
.langs a { padding: 2px 12px; font-weight: 600; border-radius: 999px; color: #fff; }
.langs a.on { background: var(--sand); color: #1A1D23; }
.langs a:hover { text-decoration: none; background: rgba(255, 255, 255, .16); color: #fff; }
.langs a.on:hover { background: var(--sand); color: #1A1D23; }

.top { background: #fff; }
.top-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; padding-bottom: 14px; flex-wrap: wrap; }
.logo-univ { display: flex; align-items: center; gap: 12px; min-width: 200px; }
.logo-umc { display: block; width: 76px; height: 76px; flex: 0 0 auto; }
.logo-fse img { display: block; height: 76px; width: auto; }
.search input { border: 1px solid var(--line); border-bottom: 2px solid var(--primary); background: #F4F7FA; border-radius: 999px; padding: 9px 16px; font: inherit; font-size: .9rem; width: 200px; color: var(--ink); }
.search input:focus { outline: 2px solid var(--primary); border-color: transparent; background: #fff; }

.menu { background: var(--navy); box-shadow: 0 3px 10px rgba(27, 39, 51, .22); position: sticky; top: 0; z-index: 30; }
.menu .wrap { position: relative; }
.menu::after { content: ""; pointer-events: none; position: absolute; inset-inline: 0; bottom: 0; height: 4px; background: linear-gradient(to right, var(--chem) 0 25%, var(--phys) 25% 50%, var(--math) 50% 75%, var(--sm) 75% 100%); }
.menu ul { list-style: none; margin: 0; padding: 0; }
.menu-row { display: flex; align-items: center; gap: 6px; }
.menu > .wrap > ul { display: flex; flex-wrap: wrap; flex: 1 1 auto; }
.menu li { position: relative; }
.menu a { display: block; color: #fff; padding: 14px 18px; font-weight: 600; font-size: .93rem; position: relative; }
.menu a:hover, .menu li:focus-within > a { background: var(--deep); color: #fff; text-decoration: none; }
.has-sub > a .chev, .has-sub > a::before { content: none; }
.sub { display: none; position: absolute; z-index: 40; inset-inline-start: 0; top: 100%; min-width: 280px; max-width: 370px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--math); border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow-h); padding: 0; }
.has-sub:hover > .sub, .has-sub:focus-within > .sub { display: block; }
.sub a { color: var(--ink); padding: 10px 16px; font-weight: 400; font-size: .9rem; border-radius: 0; border-bottom: 1px solid var(--line); }
.sub li:last-child > a { border-bottom: 0; }
.sub a:hover, .sub li:focus-within > a { background: var(--primary-soft); color: var(--primary-dark); }
.sub .has-sub > a { padding-inline-end: 28px; }
.sub .has-sub > a::after { content: "\203A"; position: absolute; inset-inline-end: 12px; top: 50%; transform: translateY(-50%); font-size: 1.2rem; color: var(--muted); background: none; height: auto; }
[dir="rtl"] .sub .has-sub > a::after { content: "\2039"; }
.sub a[data-k] { border-inline-start: 5px solid var(--kc); }
.sub a[data-k="chem"] { --kc: var(--chem); }
.sub a[data-k="phys"] { --kc: var(--phys); }
.sub a[data-k="math"] { --kc: var(--math); }
.sub a[data-k="sm"] { --kc: var(--sm); }
.sub .sub { top: -3px; inset-inline-start: 100%; }
.burger { display: none; background: none; border: 0; color: #fff; font-size: 1.6rem; padding: 8px 4px; cursor: pointer; }

.menu li.mega { position: static; }
.mega-panel { display: none; position: absolute; z-index: 40; inset-inline: 0; top: 100%; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--math); border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow-h); padding: 22px 24px 26px; }
.mega:hover > .mega-panel, .mega:focus-within > .mega-panel { display: block; }
.mega-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 22px 28px; align-items: start; }
.mega-col h3 { font-size: .95rem; margin: 0 0 8px; padding-top: 8px; border-top: 4px solid var(--kc, #C3CAD3); color: var(--kci, var(--ink)); }
.menu .mega-col ul { list-style: none; margin: 0; padding: 0; }
.menu .mega-col li { position: static; }
.menu .mega-col a { display: block; color: var(--ink); padding: 6px 8px; font-weight: 400; font-size: .9rem; border: 0; border-radius: var(--radius-s); background: none; }
.menu .mega-col a:hover, .menu .mega-col li:focus-within > a { background: var(--primary-soft); color: var(--primary-dark); }
.mega-col[data-k="chem"] { --kc: var(--chem); --kci: var(--chem-ink); }
.mega-col[data-k="phys"] { --kc: var(--phys); --kci: var(--phys-ink); }
.mega-col[data-k="math"] { --kc: var(--math); --kci: var(--math-ink); }
.mega-col[data-k="sm"]   { --kc: var(--sm);   --kci: var(--sm-ink); }

.msearch { display: flex; align-items: center; flex: 0 0 auto; position: relative; }
.msearch input { position: absolute; inset-inline-end: 44px; top: 50%; transform: translateY(-50%); z-index: 6; width: 0; opacity: 0; padding: 0; border: 0; background: #fff; color: var(--ink); border-radius: 999px; font: inherit; font-size: .9rem; transition: width .25s, opacity .2s, padding .25s; pointer-events: none; }
.msearch.open input { width: 300px; max-width: calc(100vw - 150px); opacity: 1; padding: 8px 16px; pointer-events: auto; box-shadow: 0 4px 16px rgba(0, 0, 0, .28); }
.msearch input:focus { outline: 2px solid var(--sand); }
.msearch-btn { display: grid; place-items: center; width: 40px; height: 40px; background: none; border: 0; border-radius: 50%; color: #fff; cursor: pointer; }
.msearch-btn:hover { background: var(--deep); }

.menu .menu-cta { flex: 0 0 auto; background: var(--sand); color: #1A1D23; padding: 8px 18px; border-radius: 999px; font-weight: 700; font-size: .9rem; margin-inline-start: 6px; }
.menu .menu-cta:hover { background: #FFB52E; color: #1A1D23; }

.band { padding: 44px 0; position: relative; }
.band > .wrap { position: relative; z-index: 1; }
.sec { font-size: 1.5rem; color: var(--ink); margin-bottom: 22px; display: flex; align-items: center; gap: 12px; }
.sec::before { content: ""; width: 6px; height: 1.5rem; border-radius: 4px; background: linear-gradient(to bottom, var(--chem) 0 33%, var(--phys) 33% 66%, var(--math) 66% 100%); }

.band-hero { overflow: hidden; padding: 30px 0 38px; background: linear-gradient(160deg, #EEF0F4 0%, #F6F7F9 100%); }
.hero-row { display: grid; grid-template-columns: 1fr 380px; gap: 24px; align-items: stretch; }
.carousel { position: relative; border-radius: var(--radius); overflow: hidden; min-height: 400px; box-shadow: 0 10px 30px rgba(26, 29, 35, .18); background: #cfd8e0; }
.slide { position: absolute; inset: 0; opacity: 0; transition: opacity .7s; display: flex; align-items: flex-end; }
.slide.on { opacity: 1; }
.slide > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.caption { position: relative; width: 100%; padding: 80px 30px 46px; color: #fff; background: linear-gradient(to top, rgba(30, 42, 55, .72), transparent); }
.caption h2 { font-size: 1.55rem; margin-bottom: .2em; }
.caption p { margin: 0; font-size: 1rem; opacity: .95; }
.c-prev, .c-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255, 255, 255, .88); border: 0; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; color: var(--ink); font-size: 1rem; box-shadow: 0 2px 8px rgba(0, 0, 0, .15); }
.c-prev:hover, .c-next:hover { background: #fff; }
.c-prev { inset-inline-start: 12px; }
.c-next { inset-inline-end: 12px; }
.dots { position: absolute; bottom: 14px; inset-inline: 0; display: flex; justify-content: center; gap: 8px; }
.dots button { width: 9px; height: 9px; border-radius: 999px; border: 0; background: rgba(255, 255, 255, .6); cursor: pointer; padding: 0; transition: width .2s; }
.dots button.on { background: #fff; width: 26px; }
[dir="rtl"] .c-prev, [dir="rtl"] .c-next { transform: translateY(-50%) scaleX(-1); }

.panel { background: #fff; border-radius: var(--radius); border-top: 4px solid var(--math); padding: 18px 20px; box-shadow: var(--shadow-h); display: flex; flex-direction: column; min-height: 400px; }
.ann-scroll { flex: 1 1 0; min-height: 170px; overflow-y: auto; overflow-x: hidden; position: relative; scrollbar-width: thin; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 12px, #000 calc(100% - 14px), transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 12px, #000 calc(100% - 14px), transparent 100%); }
.ann-scroll:focus-visible { outline: 2px solid var(--phys); outline-offset: 2px; }
.ann-track > .ann + .ann li:first-child { border-top: 1px solid var(--line); }
.panel-offers { flex: 0 0 auto; }
.panel h2 { font-size: 1.1rem; color: var(--ink); margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.panel h2::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--coral-ink); opacity: .8; animation: pulse 2s infinite; }
.panel h3 { font-size: .98rem; color: var(--ink); margin: 14px 0 4px; padding-top: 10px; border-top: 1px solid var(--line); }
.ann { list-style: none; padding: 0; }
.ann li { border-top: 1px solid var(--line); padding: 9px 0; font-size: .87rem; }
.ann li:first-child { border-top: 0; }
.ann a { color: var(--ink); }
.ann a:hover { color: var(--primary); }
.ann details summary { cursor: pointer; font-weight: 600; color: var(--ink); }
.ann-in { padding-inline-start: 18px; margin-top: 6px; list-style: disc; }
.ann-in li { border: 0; padding: 3px 0; }
.badge { display: inline-block; background: var(--coral-soft); color: var(--coral-ink); font-size: .68rem; font-weight: 700; padding: 1px 9px; border-radius: 999px; text-transform: uppercase; letter-spacing: .02em; vertical-align: middle; }
@keyframes pulse { 50% { opacity: .25; } }

.band-students { background: #FFFFFF; }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.notice { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--phys); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); transition: box-shadow .2s, transform .2s; }
.notice:hover { box-shadow: var(--shadow-h); transform: translateY(-2px); }
.notice h3 { font-size: 1.03rem; color: var(--ink); margin: 8px 0 8px; }
.notice h4 { font-size: .93rem; color: var(--phys-ink); }
.notice p { margin: 0 0 8px; font-size: .92rem; color: var(--ink-soft); }
.notice .small { font-size: .85rem; }
.doc { list-style: none; padding: 0; margin: 10px 0; }
.doc li { padding: 8px 0; border-top: 1px solid var(--line); font-size: .9rem; word-break: break-word; }
.doc a::before { content: "\2193"; display: inline-grid; place-items: center; width: 22px; height: 22px; margin-inline-end: 8px; border-radius: 50%; background: var(--primary-soft); color: var(--primary-dark); font-size: .8rem; font-weight: 700; }

.band-services { color: #fff; background:
    radial-gradient(620px 300px at 0% 0%, rgba(255, 255, 255, .16), transparent 68%),
    radial-gradient(560px 280px at 100% 100%, rgba(0, 40, 56, .35), transparent 70%),
    radial-gradient(rgba(255, 255, 255, .13) 1px, transparent 1.4px) 0 0 / 22px 22px,
    linear-gradient(135deg, #00708F 0%, #00607D 100%); }
.band-services .sec { color: #fff; }
.svc { text-align: center; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--phys); border-radius: var(--radius); padding: 26px 18px; box-shadow: var(--shadow); transition: box-shadow .2s, transform .2s; }
.svc:hover { box-shadow: var(--shadow-h); transform: translateY(-3px); }
.svc-ico { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 10px; border-radius: 14px; background: var(--phys-soft); color: var(--phys-ink); font-size: 1.4rem; font-weight: 700; }
.svc:nth-child(2) { border-top-color: var(--chem); }
.svc:nth-child(2) .svc-ico { background: var(--chem-soft); color: var(--chem-ink); }
.svc:nth-child(3) { border-top-color: var(--math); }
.svc:nth-child(3) .svc-ico { background: var(--math-soft); color: var(--math-ink); }
.svc:nth-child(4) { border-top-color: var(--sm); }
.svc:nth-child(4) .svc-ico { background: var(--sm-soft); color: var(--sm-ink); }
.svc h3 { font-size: 1.08rem; color: var(--ink); margin-bottom: 4px; }
.svc p { margin: 0 0 14px; font-size: .9rem; color: var(--muted); }
.btn { display: inline-block; background: var(--primary); color: #fff; padding: 8px 20px; border-radius: 999px; font-weight: 600; font-size: .86rem; word-break: break-all; transition: background .2s; }
.btn:hover { background: var(--primary-dark); color: #fff; text-decoration: none; }

.band-dossiers { background: #FFFFFF; }
.acc { background: #fff; border: 1px solid var(--line); border-inline-start: 6px solid var(--chem); border-radius: var(--radius); margin-bottom: 12px; box-shadow: var(--shadow); overflow: hidden; }
.acc summary { cursor: pointer; padding: 16px 22px; font-weight: 600; color: var(--ink); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.acc summary::-webkit-details-marker { display: none; }
.acc summary::after { content: "+"; display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 auto; border-radius: 50%; background: var(--chem-soft); color: var(--chem-ink); font-size: 1.2rem; line-height: 1; }
.acc[open] summary { background: var(--chem-soft); }
.acc[open] summary::after { content: "\2212"; background: #fff; }
.acc-body { padding: 8px 24px 20px; }
.acc-body h4 { color: var(--chem-ink); margin: 16px 0 6px; font-size: .98rem; }
.alpha { list-style: upper-alpha; padding-inline-start: 26px; }
.alpha li { padding: 4px 0; font-size: .92rem; color: var(--ink-soft); }
.alpha li::marker { color: var(--chem); font-weight: 700; }

.band-formations { background: linear-gradient(160deg, #EEF0F4 0%, #F6F7F9 100%); }
.formation { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 24px; box-shadow: var(--shadow); color: var(--ink); position: relative; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.formation::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 6px; background: var(--c); }
.formation:hover { transform: translateY(-3px); box-shadow: var(--shadow-h); text-decoration: none; color: var(--ink); }
.formation strong { font-size: 1.08rem; }
.formation span { color: var(--muted); font-size: .92rem; }

.band-formations { overflow: hidden; }
.symbols { position: absolute; inset: 0; pointer-events: none; font-family: Georgia, "Times New Roman", serif; color: var(--ink); opacity: .055; }
.symbols span { position: absolute; font-size: clamp(54px, 8vw, 118px); line-height: 1; white-space: nowrap; }
.symbols span:nth-child(1) { top: 6%;  inset-inline-start: 3%; }
.symbols span:nth-child(2) { top: 58%; inset-inline-start: 9%; }
.symbols span:nth-child(3) { top: 10%; inset-inline-start: 24%; }
.symbols span:nth-child(4) { top: 62%; inset-inline-start: 31%; }
.symbols span:nth-child(5) { top: 8%;  inset-inline-start: 46%; }
.symbols span:nth-child(6) { top: 64%; inset-inline-start: 55%; }
.symbols span:nth-child(7) { top: 12%; inset-inline-start: 72%; }
.symbols span:nth-child(8) { top: 60%; inset-inline-start: 86%; }
.disc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.disc { --kc: var(--phys); --kci: var(--phys-ink); --ks: var(--phys-soft); background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--kc); border-radius: var(--radius); padding: 24px 22px 20px; box-shadow: var(--shadow); transition: box-shadow .2s, transform .2s; }
.disc:hover { box-shadow: var(--shadow-h); transform: translateY(-3px); }
.disc[data-k="chem"] { --kc: var(--chem); --kci: var(--chem-ink); --ks: var(--chem-soft); }
.disc[data-k="phys"] { --kc: var(--phys); --kci: var(--phys-ink); --ks: var(--phys-soft); }
.disc[data-k="math"] { --kc: var(--math); --kci: var(--math-ink); --ks: var(--math-soft); }
.disc[data-k="sm"]   { --kc: var(--sm);   --kci: var(--sm-ink);   --ks: var(--sm-soft); }
.disc-ico { display: grid; place-items: center; width: 74px; height: 74px; margin-bottom: 14px; border-radius: 18px; background: var(--ks); color: var(--kci); }
.disc h3 { font-size: 1.15rem; margin-bottom: 2px; color: var(--ink); }
.disc-sub { margin: 0 0 10px; font-size: .88rem; color: var(--muted); }
.disc-sym { display: inline-block; margin: 0 0 12px; padding: 3px 10px; border-radius: 999px; background: var(--ks); color: var(--kci); font-family: Georgia, "Times New Roman", serif; font-size: .95rem; font-weight: 700; letter-spacing: .02em; }
.disc-links { list-style: none; padding: 0; margin: 0; }
.disc-links li { border-top: 1px solid var(--line); }
.disc-links a { display: block; padding: 8px 0; font-size: .9rem; color: var(--ink); }
.disc-links a::after { content: " \2192"; color: var(--kc); font-weight: 700; }
[dir="rtl"] .disc-links a::after { content: " \2190"; }
.disc-links a:hover { color: var(--kci); }
.mega-col h3 .ico { vertical-align: -5px; margin-inline-end: 8px; }




.top { position: relative; }
.top::before { content: ""; position: absolute; inset: 0; pointer-events: none; background:
    linear-gradient(to right, transparent calc(50% - .5px), rgba(26, 29, 35, .26) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)),
    linear-gradient(to bottom, transparent calc(50% - .5px), rgba(26, 29, 35, .26) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)),
    linear-gradient(rgba(0, 112, 143, .17) 1px, transparent 1px) 0 0 / 60px 60px,
    linear-gradient(90deg, rgba(0, 112, 143, .17) 1px, transparent 1px) 0 0 / 60px 60px,
    linear-gradient(rgba(0, 112, 143, .075) 1px, transparent 1px) 0 0 / 12px 12px,
    linear-gradient(90deg, rgba(0, 112, 143, .075) 1px, transparent 1px) 0 0 / 12px 12px;
    -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 30%, rgba(0, 0, 0, .15) 100%); mask-image: radial-gradient(ellipse at 50% 50%, #000 30%, rgba(0, 0, 0, .15) 100%); }
.top-row { position: relative; z-index: 1; }
.menu::before { content: ""; position: absolute; inset-inline: 0; bottom: 4px; height: 8px; pointer-events: none; z-index: 1; background:
    repeating-linear-gradient(to right, rgba(255, 255, 255, .5) 0 1px, transparent 1px 60px) 0 100% / 100% 8px no-repeat,
    repeating-linear-gradient(to right, rgba(255, 255, 255, .28) 0 1px, transparent 1px 12px) 0 100% / 100% 4px no-repeat; }



.pencil { position: relative; flex: 1 1 0; min-width: 0; height: 80px; margin: 0 14px; pointer-events: none; user-select: none; }
.pencil-defs { position: absolute; width: 0; height: 0; }
.pencil-curve { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; filter: url(#graphite); }
.pencil-curve path { fill: none; stroke: #4A5560; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.pencil-curve .ax { stroke-width: 1; opacity: .3; }
.pencil-curve .tk { stroke-width: 1; opacity: .26; }
.pencil-curve .cv { stroke-width: 1.3; opacity: .34; }
.pencil-curve .lg { stroke-dasharray: 5 4; opacity: .28; }
.pencil-curve .lb { font-family: "Caveat", "Segoe Script", cursive; font-size: 12px; fill: #4A5560; opacity: .4; }
.pencil span { position: absolute; font-family: "Caveat", "Segoe Script", "Bradley Hand", cursive; font-weight: 500; font-size: var(--s, 1.5rem); line-height: 1; white-space: nowrap; color: #4A5560; opacity: .34; transform: rotate(var(--r, 0deg)); filter: url(#graphite); }
@media (max-width: 1100px) { .pencil { display: none; } }
.univ-lockup { display: flex; flex-direction: column; line-height: 1.12; color: #204080; padding-inline-start: 14px; border-inline-start: 3px solid #204080; }
.univ-lockup .u1 { font-size: .78rem; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: #5C71A0; }
.univ-lockup .u2 { font-size: 1.4rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.univ-lockup .u3 { font-size: .98rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
[dir="rtl"] .univ-lockup .u1, [dir="rtl"] .univ-lockup .u3 { letter-spacing: 0; }
[dir="rtl"] .univ-lockup .u2 { letter-spacing: 0; }

.band-dir { color: #fff; background:
    radial-gradient(620px 300px at 0% 0%, rgba(255, 255, 255, .10), transparent 68%),
    radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.4px) 0 0 / 22px 22px,
    linear-gradient(160deg, #353B45 0%, #22262D 100%); }
.band-dir .sec { color: #fff; }
.two-col { display: grid; grid-template-columns: 3fr 2fr; gap: 36px; }
.dir { list-style: none; padding: 6px 0; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--math); border-radius: var(--radius); box-shadow: var(--shadow); }
.dir li { display: flex; justify-content: space-between; gap: 12px; padding: 11px 22px; border-bottom: 1px solid var(--line); font-size: .92rem; }
.dir li:last-child { border: 0; }
.dir span { color: var(--muted); }
.dir strong { color: var(--ink); white-space: nowrap; }
.contacts { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--math); border-radius: var(--radius); box-shadow: var(--shadow); padding: 18px 22px; margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px 18px; font-size: .92rem; }
.contacts dt { font-weight: 600; color: var(--math-ink); }
.contacts dd { margin: 0; word-break: break-word; color: var(--ink-soft); }

.band-figures { color: #fff; padding: 38px 0 42px; background:
    radial-gradient(620px 240px at 0% 0%, rgba(0, 112, 143, .45), transparent 65%),
    radial-gradient(560px 240px at 100% 100%, rgba(139, 92, 246, .30), transparent 65%),
    linear-gradient(160deg, #14171C 0%, #1D2128 100%); }
.band-figures .sec { color: #fff; }
.figures { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.figures li { text-align: center; padding: 8px 10px; }
.figures li + li { border-inline-start: 1px solid rgba(255, 255, 255, .16); }
.figures + .figures { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .12); }
.figures-struct strong { font-size: clamp(1.7rem, 3vw, 2.3rem); }
.figures-struct span { font-size: .85rem; }
.figures strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.3rem, 4.4vw, 3.4rem); line-height: 1.05; color: var(--c); font-variant-numeric: tabular-nums; }
.figures span { display: block; margin-top: 4px; color: #C9D1DB; font-size: .92rem; }
@media (max-width: 700px) { .figures { grid-template-columns: 1fr 1fr; gap: 18px 8px; } .figures li:nth-child(odd) { border-inline-start: 0; } .figures li:last-child:nth-child(odd) { grid-column: 1 / -1; } }

.band-research { background:
    radial-gradient(640px 300px at 0% 0%, rgba(0, 112, 143, .14), transparent 70%),
    radial-gradient(540px 270px at 100% 100%, rgba(59, 79, 184, .10), transparent 70%),
    #EDF5F8; }
.research-top { display: flex; gap: 32px; align-items: center; margin-bottom: 26px; flex-wrap: wrap; }
.research-intro { flex: 1 1 320px; margin: 0; color: var(--ink-soft); font-size: .96rem; max-width: 760px; }
.lab-grid { display: grid; grid-template-columns: 1.05fr 1.2fr .9fr .95fr; gap: 22px; align-items: start; }
.lab { --kc: var(--phys); --kci: var(--phys-ink); background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--kc); border-radius: var(--radius); padding: 18px 18px 8px; box-shadow: var(--shadow); }
.lab[data-k="chem"] { --kc: var(--chem); --kci: var(--chem-ink); }
.lab[data-k="phys"] { --kc: var(--phys); --kci: var(--phys-ink); }
.lab[data-k="math"] { --kc: var(--math); --kci: var(--math-ink); }
.lab[data-k="sm"]   { --kc: var(--sm);   --kci: var(--sm-ink); }
.lab h3 { display: flex; align-items: center; gap: 8px; font-size: 1.02rem; color: var(--kci); margin-bottom: 8px; }
.lab ul { list-style: none; margin: 0; padding: 0; }
.lab li { padding: 9px 0; border-top: 1px solid var(--line); font-size: .9rem; line-height: 1.35; }
.lab li small { display: block; margin-top: 2px; color: var(--muted); font-size: .8rem; }
.lab li a { font-weight: 600; }
.lab-name { color: var(--ink); }
.research-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 0; }
.research-links a { display: inline-block; background: var(--primary); color: #fff; padding: 9px 22px; border-radius: 999px; font-weight: 600; font-size: .9rem; }
.research-links a:hover { background: var(--primary-dark); color: #fff; text-decoration: none; }

.band-sem { background:
    radial-gradient(rgba(26, 29, 35, .08) 1px, transparent 1.4px) 0 0 / 22px 22px,
    #F7F9FC; }
.sem { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--sm); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); transition: box-shadow .2s, transform .2s; }
.sem:hover { box-shadow: var(--shadow-h); transform: translateY(-3px); }
.sem img { display: block; width: 100%; height: 220px; object-fit: cover; }
.sem h3 { font-size: .93rem; padding: 14px 18px 0; color: var(--ink); text-align: start; }
.sem p { padding: 0 18px 18px; margin: 6px 0 0; color: var(--muted); font-size: .87rem; }

.foot { position: relative;  color: #E6ECF2; margin-top: 0; background:
    radial-gradient(620px 250px at 0% 0%, rgba(0, 112, 143, .38), transparent 65%),
    radial-gradient(620px 250px at 100% 100%, rgba(16, 176, 112, .30), transparent 65%),
    radial-gradient(420px 200px at 55% 0%, rgba(139, 92, 246, .22), transparent 65%),
    linear-gradient(160deg, #14171C 0%, #1D2128 100%); }
.foot::before { content: ""; position: absolute; inset-inline: 0; top: 0; height: 4px; background: linear-gradient(to right, var(--chem) 0 25%, var(--phys) 25% 50%, var(--math) 50% 75%, var(--sm) 75% 100%); }
.foot a { color: #fff; text-decoration: underline; }
.foot-row { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 30px; padding-bottom: 22px; }
.copy { background: rgba(0, 0, 0, .25); text-align: center; padding: 12px 16px; font-size: .84rem; color: #B7C3CF; }

@media (max-width: 960px) {
    .hero-row, .two-col { grid-template-columns: 1fr; }
    .panel { min-height: 0; }
    .ann-scroll { flex: 0 0 auto; height: 280px; }
    .grid3 { grid-template-columns: 1fr 1fr; }
    .grid4 { grid-template-columns: 1fr 1fr; }
    .disc-grid, .lab-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
    .band { padding: 32px 0; }
    .top-row { justify-content: center; }
    .logo-univ { order: 2; min-width: 0; }
    .logo-fse { order: 1; width: 100%; text-align: center; }
    .logo-fse img { height: 58px; margin: 0 auto; }
    .logo-umc { width: 58px; height: 58px; }
    .univ-lockup .u2 { font-size: 1.08rem; }
    .univ-lockup .u1 { font-size: .68rem; }
    .univ-lockup .u3 { font-size: .82rem; }
    .search { order: 3; }
    .burger { display: block; margin-inline-end: auto; }
    .menu-row { flex-wrap: wrap; }
    .menu .menu-cta { padding: 6px 14px; font-size: .84rem; }
    .msearch.open input { width: 150px; }
    .mega-panel { position: static; display: none; box-shadow: none; border: 0; border-radius: 0; background: #EEF2F6; padding: 8px 14px 12px; }
    .mega-grid { grid-auto-flow: row; grid-template-columns: 1fr; gap: 12px; }
    .menu > .wrap > ul { order: 10; flex: 1 1 100%; display: none; flex-direction: column; padding-bottom: 8px; }
    .menu.open > .wrap > ul { display: flex; }
    .menu > .wrap > ul > li > a::after { display: none; }
    .sub, .sub .sub { position: static; display: none; box-shadow: none; border: 0; border-radius: 0; background: #EEF2F6; max-width: none; padding: 0; }
    .has-sub:hover > .sub, .has-sub:focus-within > .sub { display: block; }
    .sub a { padding-inline-start: 30px; border-radius: 0; }
    .sub .sub a { padding-inline-start: 46px; }
    .grid3, .grid4, .disc-grid, .lab-grid { grid-template-columns: 1fr; }
    .caption h2 { font-size: 1.2rem; }
    .carousel { min-height: 260px; }
    .strip-row { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }

.page { padding-top: 26px; padding-bottom: 50px; min-height: 50vh; }
.crumbs { font-size: .88rem; color: var(--muted); margin-bottom: 8px; }
.crumbs a { color: var(--muted); }
.page h1 { font-size: clamp(1.7rem, 3.2vw, 2.4rem); color: var(--ink); margin: 0 0 18px; padding-bottom: 10px; border-bottom: 4px solid transparent; border-image: linear-gradient(to right, var(--chem) 0 25%, var(--phys) 25% 50%, var(--math) 50% 75%, var(--sm) 75% 100%) 1; }
.page-note { padding: 8px 12px; background: #FFF4D8; border: 1px solid #F0CF8E; border-radius: var(--radius-s); font-size: .9rem; }
.prose { max-width: 860px; font-size: 1.04rem; line-height: 1.75; color: var(--ink-soft); }
.prose h2 { color: var(--ink); font-size: 1.45rem; margin: 1.6em 0 .5em; }
.prose h3 { color: var(--phys-ink); font-size: 1.2rem; margin: 1.4em 0 .4em; }
.prose h4 { color: var(--ink); font-size: 1.05rem; margin: 1.2em 0 .3em; }
.prose p { margin: 0 0 1em; }
.prose ul, .prose ol { margin: 0 0 1em; padding-inline-start: 1.5em; }
.prose li { margin: .25em 0; }
.prose a { text-decoration: underline; }
.prose img { max-width: 100%; height: auto; border-radius: var(--radius-s); }
.prose blockquote { margin: 1.2em 0; padding: .6em 1.2em; border-inline-start: 4px solid var(--math); background: #FBF7EF; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: .95rem; }
.prose th, .prose td { padding: 8px 10px; border: 1px solid var(--line); text-align: start; }
.prose th { background: #EEF2F7; color: var(--ink); }
.prose hr { border: 0; border-top: 1px solid var(--line); margin: 1.8em 0; }
.btn-home { display: inline-block; background: var(--primary); color: #fff; padding: 9px 22px; border-radius: 999px; font-weight: 600; }
.btn-home:hover { background: var(--primary-dark); color: #fff; text-decoration: none; }

.band { scroll-margin-top: 72px; }

.search-form { display: flex; gap: 10px; margin: 0 0 20px; max-width: 640px; }
.search-form input { flex: 1; padding: 11px 18px; border: 1px solid var(--line); border-radius: 999px; font: inherit; background: #fff; }
.search-form input:focus { outline: 2px solid var(--primary); border-color: transparent; }
.search-form button { padding: 0 24px; border: 0; border-radius: 999px; background: var(--primary); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.search-form button:hover { background: var(--primary-dark); }
.muted-p { color: var(--muted); }
.results { margin: 26px 0; }
.results h2 { font-size: 1.15rem; border-bottom: 2px solid var(--line); padding-bottom: 6px; display: flex; align-items: center; gap: 8px; }
.results .count { background: var(--primary-soft); color: var(--primary-dark); border-radius: 999px; padding: 0 9px; font-size: .8rem; }
.results ul { list-style: none; margin: 0; padding: 0; }
.results li { padding: 12px 0; border-bottom: 1px solid var(--line); }
.results .r-title { font-weight: 700; font-size: 1.05rem; }
.results .r-tag { margin-inline-start: 8px; font-size: .75rem; color: var(--muted); background: #EEF1F5; padding: 1px 9px; border-radius: 999px; }
.results p { margin: 4px 0 0; color: var(--ink-soft); font-size: .93rem; }
mark { background: #FDE9A8; color: inherit; padding: 0 2px; border-radius: 3px; }
.lib-switch { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.lib-switch a { padding: 6px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink-soft); font-size: .9rem; font-weight: 600; }
.lib-switch a:hover { background: var(--primary-soft); text-decoration: none; }
.lib-switch a.on { background: var(--primary); border-color: var(--primary); color: #fff; }
.lib-tabs { display: flex; gap: 4px; border-bottom: 2px solid var(--line); margin: 0 0 18px; }
.lib-tabs a { padding: 9px 20px; font-weight: 700; color: var(--muted); border-bottom: 3px solid transparent; margin-bottom: -2px; }
.lib-tabs a:hover { text-decoration: none; color: var(--ink); }
.lib-tabs a.on { color: var(--primary-dark); border-color: var(--math); }
.lib-list { list-style: none; margin: 0 0 20px; padding: 0; }
.lib-list li { padding: 11px 4px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 3px; }
.lib-list li:hover { background: #F7F9FB; }
.lib-authors li { flex-direction: row; justify-content: space-between; align-items: center; gap: 12px; }
.lib-title { font-weight: 700; font-size: 1.02rem; }
.lib-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .85rem; color: var(--muted); }
.lib-meta .cote { font-family: ui-monospace, Consolas, monospace; font-size: .8rem; background: #EEF1F5; padding: 0 7px; border-radius: 4px; }
.copies { font-size: .78rem; color: var(--primary-dark); background: var(--primary-soft); padding: 1px 9px; border-radius: 999px; white-space: nowrap; }
.pager { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 24px 0 8px; }
.pager a, .pager span { min-width: 36px; padding: 6px 12px; text-align: center; border: 1px solid var(--line); border-radius: var(--radius-s); background: #fff; font-size: .9rem; }
.pager a:hover { background: var(--primary-soft); text-decoration: none; }
.pager .on { background: var(--primary); color: #fff; border-color: var(--primary); font-weight: 700; }
.notice-dl { display: grid; grid-template-columns: minmax(130px, 220px) 1fr; gap: 0; margin: 0 0 22px; max-width: 880px; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--math); border-radius: var(--radius); box-shadow: var(--shadow); }
.notice-dl dt, .notice-dl dd { padding: 11px 16px; margin: 0; border-bottom: 1px solid var(--line); }
.notice-dl dt { font-weight: 700; color: var(--primary-dark); background: #F7F9FB; }
.notice-dl dt:last-of-type, .notice-dl dd:last-of-type { border-bottom: 0; }
.notice-dl dd.ltr { text-align: start; unicode-bidi: plaintext; }
@media (max-width: 600px) { .notice-dl { grid-template-columns: 1fr; } .notice-dl dt { border-bottom: 0; padding-bottom: 2px; } .lib-authors li { flex-direction: column; align-items: flex-start; } }

.has-aside { display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 40px; align-items: start; }
.page-main { min-width: 0; }
.page-aside { position: sticky; top: 16px; display: grid; gap: 18px; margin-top: 34px; max-height: calc(100vh - 32px); overflow-y: auto; }
.aside-box { background: #fff; border: 1px solid var(--line, #D9DFE6); border-radius: var(--radius-s); padding: 14px 16px 12px; border-top: 3px solid var(--phys, #3B4FB8); }
.aside-box:nth-child(2) { border-top-color: var(--math, #F59E0B); }
.aside-box h2 { font-size: 1.05rem; margin: 0 0 10px; color: var(--ink); }
.aside-news { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.aside-news li { font-size: .92rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.aside-news a { color: var(--ink-soft); text-decoration: none; }
.aside-news a:hover { text-decoration: underline; color: var(--phys-ink, #2A3A8F); }
.aside-more { margin: 10px 0 0; font-size: .88rem; }
.aside-card { border-top: 1px solid var(--line, #E3E8EE); }
.aside-card:first-of-type { border-top: 0; }
.aside-card summary { cursor: pointer; padding: 9px 0; font-size: .92rem; font-weight: 600; line-height: 1.35; color: var(--ink); list-style: none; display: flex; gap: 6px; align-items: baseline; }
.aside-card summary::-webkit-details-marker { display: none; }
.aside-card summary::before { content: "+"; flex: 0 0 auto; width: 1em; font-weight: 700; color: var(--phys-ink, #2A3A8F); }
.aside-card[open] summary::before { content: "−"; }
.aside-card-body { padding: 0 0 10px 1em; font-size: .9rem; line-height: 1.5; color: var(--ink-soft); }
.aside-card-body h3 { font-size: .92rem; margin: 0 0 6px; }
.aside-card-body p { margin: 0 0 8px; }
.aside-card-body .doc { margin: 0 0 6px; }
.sem-link { margin-top: 4px; font-weight: 600; }
@media (max-width: 1000px) { .has-aside { grid-template-columns: minmax(0, 1fr); } .page-aside { position: static; max-height: none; overflow: visible; } }

.dept { --kc: var(--phys); --kci: var(--phys-ink); --ks: var(--phys-soft); }
.dept[data-k="chem"] { --kc: var(--chem); --kci: var(--chem-ink); --ks: var(--chem-soft); }
.dept[data-k="phys"] { --kc: var(--phys); --kci: var(--phys-ink); --ks: var(--phys-soft); }
.dept[data-k="math"] { --kc: var(--math); --kci: var(--math-ink); --ks: var(--math-soft); }
.dept[data-k="sm"]   { --kc: var(--sm);   --kci: var(--sm-ink);   --ks: var(--sm-soft); }
.dept-h1 { display: flex; align-items: center; gap: 14px; border-image: none !important; border-bottom: 4px solid var(--kc) !important; }
.dept-h1 .ico { color: var(--kc); flex: 0 0 auto; }
.dept-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.dept-tabs a { padding: 6px 14px; border-radius: 999px; background: var(--ks); color: var(--kci); font-weight: 600; font-size: .92rem; text-decoration: none; }
.dept-tabs a:hover { background: var(--kc); color: #fff; }
.dept-sec { margin: 0 0 30px; scroll-margin-top: 16px; }
.dept-sec > h2 { font-size: 1.4rem; color: var(--ink); margin: 0 0 12px; padding-inline-start: 12px; border-inline-start: 5px solid var(--kc); }
.dept-train { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.dept-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--kc); border-radius: var(--radius-s); padding: 14px 18px 8px; }
.dept-card h3 { margin: 0 0 6px; color: var(--kci); font-size: 1.1rem; }
.dept-card h4 { margin: 12px 0 4px; font-size: .92rem; color: var(--ink); }
.dept-card ul { margin: 0 0 10px; padding-inline-start: 1.2em; }
.dept-card li { margin: 3px 0; line-height: 1.4; }
.dept-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 8px; }
.dept-docs li { background: var(--ks); border-radius: var(--radius-s); padding: 9px 14px; }
.dept-docs a { color: var(--kci); font-weight: 600; text-decoration: none; }
.dept-news { margin-bottom: 10px; }
.dept-contact { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 0; }
.dept-contact dt { font-weight: 700; color: var(--ink); }
.dept-contact dd { margin: 0; }
.dtag { display: inline-block; font-size: .68rem; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: var(--phys-soft); color: var(--phys-ink); text-decoration: none; vertical-align: middle; margin-inline-end: 4px; }
.dtag[data-k="chem"] { background: var(--chem-soft); color: var(--chem-ink); }
.dtag[data-k="math"] { background: var(--math-soft); color: var(--math-ink); }
.dtag[data-k="sm"] { background: var(--sm-soft); color: var(--sm-ink); }
.mega-col h3 a, .menu .mega-col h3 a { color: inherit; text-decoration: none; padding: 0; font: inherit; background: none; border-radius: 0; }
.mega-col h3 a:hover, .menu .mega-col h3 a:hover { text-decoration: underline; background: none; }

.nf { padding-top: 40px; padding-bottom: 60px; min-height: 55vh; display: flex; align-items: center; justify-content: center; }
.nf-card { max-width: 640px; width: 100%; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-s); padding: 34px 28px 26px; box-shadow: 0 10px 30px rgba(26, 29, 35, .06); }
.nf-code { margin: 0; font-size: clamp(4rem, 14vw, 7rem); font-weight: 800; line-height: 1; letter-spacing: -.03em; background: linear-gradient(90deg, var(--chem), var(--phys), var(--math), var(--sm)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nf-card h1 { margin: 6px 0 10px; font-size: 1.6rem; color: var(--ink); border: 0; padding: 0; }
.nf-msg { color: var(--ink-soft); line-height: 1.6; margin: 0 0 16px; }
.nf-count { margin: 0 0 8px; font-size: .95rem; color: var(--ink); }
.nf-bar { height: 5px; background: #E7EBF1; border-radius: 99px; overflow: hidden; margin: 0 auto 18px; max-width: 360px; }
.nf-bar span { display: block; height: 100%; width: 100%; transform-origin: left center; background: linear-gradient(90deg, var(--chem), var(--phys), var(--math), var(--sm)); animation: nf-run linear forwards; }
[dir=rtl] .nf-bar span { transform-origin: right center; }
@keyframes nf-run { from { transform: scaleX(1); } to { transform: scaleX(0); } }
.nf-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 0 0 20px; }
.btn-home { display: inline-block; padding: 9px 20px; background: var(--phys); color: #fff; border-radius: 999px; font-weight: 600; text-decoration: none; }
.btn-home:hover { background: var(--phys-ink); }
.btn-stay { display: inline-block; padding: 9px 20px; border: 1px solid var(--line); color: var(--ink-soft); border-radius: 999px; text-decoration: none; }
.nf-search { display: flex; gap: 8px; max-width: 420px; margin: 0 auto 18px; }
.nf-search input { flex: 1; min-width: 0; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; font: inherit; }
.nf-search button { padding: 8px 16px; border: 0; border-radius: 999px; background: var(--ink); color: #fff; font: inherit; cursor: pointer; }
.nf-try { margin: 0 0 8px; font-size: .88rem; color: var(--muted); }
.nf-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.nf-links .dtag { font-size: .85rem; padding: 4px 14px; }

.tt-wrap { overflow-x: auto; }
table.tt { width: 100%; border-collapse: separate; border-spacing: 3px; table-layout: fixed; min-width: 720px; }
table.tt th { font-size: .82rem; font-weight: 700; color: var(--muted); padding: 6px 4px; text-align: center; }
table.tt th.tt-time { width: 74px; font-weight: 600; }
table.tt th.tt-time span { display: block; font-size: .78rem; line-height: 1.3; }
table.tt td { vertical-align: top; background: #F6F8FB; border-radius: 6px; padding: 3px; height: 74px; position: relative; }
table.tt td.tt-empty { background: #FAFBFD; border: 1px dashed #DCE2EA; }
.tt-l { display: flex; flex-direction: column; gap: 1px; padding: 5px 7px; margin-bottom: 3px; border-radius: 5px; border-inline-start: 4px solid #3B4FB8; background: #E4E9FA; color: #1A1D23; text-decoration: none; font-size: .8rem; line-height: 1.25; position: relative; }
.tt-l strong { font-size: .83rem; }
.tt-l .tt-k { font-weight: 700; font-size: .7rem; text-transform: uppercase; letter-spacing: .03em; opacity: .75; }
.tt-l .tt-r, .tt-l .tt-t, .tt-l .tt-d { font-size: .75rem; opacity: .85; }
.tt-l.tt-td { background: #D8F5E8; border-color: #10B070; }
.tt-l.tt-tp { background: #FFEBC7; border-color: #F59E0B; }
.tt-l.tt-warn { outline: 2px solid #D14343; background-image: repeating-linear-gradient(135deg, transparent 0 8px, rgba(209, 67, 67, .08) 8px 16px); }
.tt-c { position: absolute; top: 3px; inset-inline-end: 5px; color: #D14343; font-weight: 700; }
.tt-add { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 60px; color: #A5B0C0; font-size: 1.4rem; text-decoration: none; border-radius: 5px; }
.tt-add:hover { background: #E4E9FA; color: #3B4FB8; }
.tt-cont { display: block; text-align: center; color: #A5B0C0; }
@media print { .tt-add, .tt-c { display: none; } table.tt { min-width: 0; } }

.tt-choices { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; }
.tt-choices a { display: block; padding: 10px 14px; background: var(--ks, #E1E5F8); border-radius: var(--radius-s); text-decoration: none; color: var(--ink); line-height: 1.35; }
.tt-choices a:hover { background: var(--kc, #3B4FB8); color: #fff; }
.tt-choices small { display: block; opacity: .75; }
.tt-meta { color: var(--muted); margin: -6px 0 14px; }
.tt-filter { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; margin: 0 0 14px; }
.tt-filter label { display: grid; gap: 3px; font-size: .85rem; font-weight: 600; color: var(--ink-soft); }
.tt-filter select { padding: 6px 10px; border: 1px solid var(--line); border-radius: 999px; font: inherit; background: #fff; }
.tt-print { padding: 7px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; cursor: pointer; font: inherit; }
.tt-legend { font-size: .85rem; color: var(--muted); }
.tt-sw { display: inline-block; width: 14px; height: 14px; border-radius: 3px; margin: 0 4px 0 12px; vertical-align: -2px; background: #E4E9FA; border-inline-start: 4px solid #3B4FB8; }
.tt-sw.tt-td { background: #D8F5E8; border-color: #10B070; }
.tt-sw.tt-tp { background: #FFEBC7; border-color: #F59E0B; }
@media print { .foot, .menu, header, .page-aside, .tt-filter, .crumbs, .tt-legend { display: none !important; } .has-aside { display: block; } }

table.ex-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--line); }
table.ex-table th, table.ex-table td { padding: 9px 12px; border-bottom: 1px solid var(--line); text-align: start; vertical-align: top; }
table.ex-table thead th { background: var(--ks, #E1E5F8); color: var(--kci, #304090); font-size: .85rem; }
table.ex-table tbody tr:nth-child(even) td { background: #FAFBFD; }
.ex-s { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .78rem; font-weight: 700; background: var(--phys-soft); color: var(--phys-ink); }
.ex-s.ex-rattrapage { background: var(--math-soft); color: var(--math-ink); }
.ex-s.ex-controle { background: var(--chem-soft); color: var(--chem-ink); }

.tn-q { padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; font: inherit; background: #fff; min-width: 150px; }
.tn-years { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 6px; }
.tn-years a { display: inline-flex; gap: 6px; align-items: baseline; padding: 4px 14px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); text-decoration: none; }
.tn-years a:hover { border-color: var(--phys); background: var(--phys-soft); }
.tn-years a span { font-size: .78rem; color: var(--muted); }
.tn-year { margin: 26px 0 0; scroll-margin-top: 90px; }
.tn-year > h2 { display: flex; align-items: center; gap: 10px; font-size: 1.5rem; color: var(--ink); margin: 0 0 12px; padding-bottom: 6px; border-bottom: 2px solid var(--line); }
.tn-count { font-size: .8rem; font-weight: 700; padding: 2px 10px; border-radius: 999px; background: var(--phys-soft); color: var(--phys-ink); }
.tn-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.tn-card { background: #fff; border: 1px solid var(--line); border-inline-start: 5px solid var(--phys); border-radius: var(--radius); padding: 14px 18px 14px; box-shadow: 0 1px 4px rgba(26, 29, 35, .09); scroll-margin-top: 90px; }
.tn-card.tn-iss-universite { border-inline-start-color: #7C5CD6; }
.tn-card:target { outline: 2px solid var(--phys); outline-offset: 2px; }
.tn-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tn-ref { font-size: 1.05rem; color: var(--ink); }
.tn-tag { display: inline-block; padding: 1px 10px; border-radius: 999px; font-size: .74rem; font-weight: 700; background: #EEF0F4; color: var(--ink-soft); }
.tn-tag.tn-from-faculte { background: var(--phys-soft); color: var(--phys-ink); }
.tn-tag.tn-from-universite { background: #ECE6FB; color: #4B2FA0; }
.tn-head .tn-s { margin-inline-start: auto; }
.tn-title { font-size: 1.02rem; font-weight: 600; color: var(--ink); margin: 8px 0 8px; line-height: 1.4; }
.tn-meta { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 10px; font-size: .88rem; }
.tn-meta > div { display: flex; align-items: center; gap: 6px; }
.tn-meta dt { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-weight: 600; }
.tn-meta dt::after { content: " :"; margin-inline-start: -3px; }
.tn-meta dd { margin: 0; color: var(--ink); }
.tn-ic { flex: 0 0 auto; }
.tn-docs { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
.tn-docs li { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tn-doc { display: inline-flex; align-items: center; gap: 7px; padding: 6px 14px 6px 11px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: .86rem; font-weight: 600; text-decoration: none; transition: background .15s, border-color .15s; }
.tn-doc:hover { text-decoration: none; background: var(--phys-soft); border-color: var(--phys); }
.tn-doc-appel { color: var(--phys-ink); } .tn-doc-appel:hover { background: var(--phys-soft); border-color: var(--phys); }
.tn-doc-provisoire { color: var(--math-ink); } .tn-doc-provisoire:hover { background: var(--math-soft); border-color: var(--math); }
.tn-doc-definitive { color: var(--chem-ink); } .tn-doc-definitive:hover { background: var(--chem-soft); border-color: var(--chem); }
.tn-doc-infructuosite { color: var(--ink-soft); } .tn-doc-infructuosite:hover { background: #E8EBF0; border-color: var(--ink-soft); }
.tn-doc-annulation { color: var(--coral-ink); } .tn-doc-annulation:hover { background: var(--coral-soft); border-color: var(--coral-ink); }
.tn-doc-autre { color: var(--ink-soft); }
.tn-doc-off { opacity: .55; }
.tn-docdate, .tn-nodoc { font-size: .8rem; color: var(--muted); }
.tn-s { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .78rem; font-weight: 700; white-space: nowrap; background: var(--phys-soft); color: var(--phys-ink); }
.tn-s.tn-provisoire { background: var(--math-soft); color: var(--math-ink); }
.tn-s.tn-definitive { background: var(--chem-soft); color: var(--chem-ink); }
.tn-s.tn-infructuosite { background: #E8EBF0; color: var(--ink-soft); }
.tn-s.tn-annulation { background: var(--coral-soft); color: var(--coral-ink); }
@media (max-width: 560px) { .tn-head .tn-s { margin-inline-start: 0; } .tn-card { padding: 12px 14px; } }

.lb-group { --kc: var(--phys); --kci: var(--phys-ink); --kcs: var(--phys-soft); margin: 28px 0 0; scroll-margin-top: 90px; }
.lb-group[data-k="chem"], .lb-chip[data-k="chem"] { --kc: var(--chem); --kci: var(--chem-ink); --kcs: var(--chem-soft); }
.lb-group[data-k="phys"], .lb-chip[data-k="phys"] { --kc: var(--phys); --kci: var(--phys-ink); --kcs: var(--phys-soft); }
.lb-group[data-k="math"], .lb-chip[data-k="math"] { --kc: var(--math); --kci: var(--math-ink); --kcs: var(--math-soft); }
.lb-group[data-k="sm"], .lb-chip[data-k="sm"] { --kc: var(--sm); --kci: var(--sm-ink); --kcs: var(--sm-soft, #ECE6FB); }
.lb-chip:hover { border-color: var(--kc) !important; background: var(--kcs) !important; }
.lb-group > h2 { display: flex; align-items: center; gap: 10px; font-size: 1.35rem; color: var(--kci); margin: 0 0 12px; padding-bottom: 6px; border-bottom: 2px solid var(--kc); }
.lb-group > h2 .tn-count { background: var(--kcs); color: var(--kci); }
.lb-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
.lb-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--kc); border-radius: var(--radius); padding: 14px 16px 12px; box-shadow: 0 1px 4px rgba(26, 29, 35, .09); display: flex; flex-direction: column; gap: 8px; }
.lb-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.lb-top h3 { font-size: 1rem; line-height: 1.35; color: var(--ink); margin: 0; }
.lb-top h3 a { color: var(--kci); }
.lb-ac { flex: 0 0 auto; padding: 2px 10px; border-radius: 999px; background: var(--kcs); color: var(--kci); font-size: .75rem; font-weight: 800; letter-spacing: .03em; }
.lb-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; margin: 0; font-size: .86rem; }
.lb-meta > div { display: grid; gap: 1px; min-width: 0; }
.lb-meta .lb-wide { grid-column: 1 / -1; }
.lb-meta dt { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.lb-meta dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.lb-ic { flex: 0 0 auto; color: var(--kci); }
.lab-ac { display: inline-block; margin-inline-start: 6px; padding: 0 7px; border-radius: 999px; background: var(--line); color: var(--ink-soft); font-size: .66rem; font-weight: 800; letter-spacing: .03em; vertical-align: 1px; }
@media (max-width: 560px) { .lb-meta { grid-template-columns: 1fr; } }

.of-domain { margin: 22px 0 0; }
.of-domain > h2 { font-size: 1.35rem; color: var(--ink); margin: 0 0 12px; padding-bottom: 6px; border-bottom: 2px solid var(--line); }
.of-map { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: start; }
.of-col { background: #F6F7F9; border-radius: var(--radius); padding: 12px; display: grid; gap: 8px; min-height: 80px; }
.of-col > h3 { font-size: .95rem; color: var(--ink-soft); margin: 0 0 2px; }
.of-col > h3 small { font-weight: 600; color: var(--muted); }
.of-none { margin: 0; color: var(--muted); }
.of-node { display: grid; gap: 2px; background: #fff; border: 1px solid var(--line); border-inline-start: 5px solid var(--phys); border-radius: 10px; padding: 9px 12px; color: var(--ink); text-decoration: none; box-shadow: 0 1px 3px rgba(26, 29, 35, .08); }
.of-node:hover { text-decoration: none; border-color: var(--phys); background: var(--phys-soft); }
.of-node strong { font-size: .95rem; line-height: 1.3; }
.of-node span { font-size: .78rem; color: var(--muted); }
.of-d-chem { border-inline-start-color: var(--chem); } .of-d-chem:hover { border-color: var(--chem); background: var(--chem-soft); }
.of-d-math { border-inline-start-color: var(--math); } .of-d-math:hover { border-color: var(--math); background: var(--math-soft); }
.of-d-sm { border-inline-start-color: var(--sm); } .of-d-sm:hover { border-color: var(--sm); background: var(--sm-soft); }
.of-info { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: flex-start; margin: 4px 0 16px; padding: 12px 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.of-arrete { margin: 0; flex: 1 1 340px; font-size: .92rem; } .of-arrete small { color: var(--muted); }
.of-pdfs { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.of-tabs { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px 22px; margin: 0 0 14px; padding: 0; border-bottom: 2px solid var(--line); position: sticky; top: 0; z-index: 5; background: rgba(246, 247, 249, .97); }
.of-lv { display: flex; flex-direction: column; gap: 2px; }
.of-lv-t { font-size: .72rem; font-weight: 800; color: var(--muted); letter-spacing: .03em; text-transform: uppercase; padding-inline-start: 4px; }
.of-lv-tabs { display: flex; gap: 2px; }
.of-step { padding: 9px 16px 8px; border: 1px solid transparent; border-bottom: 0; border-radius: 10px 10px 0 0; color: var(--ink-soft); font-weight: 700; font-size: .9rem; text-decoration: none; margin-bottom: -2px; }
.of-step:hover { background: var(--phys-soft); color: var(--phys-ink); text-decoration: none; }
.of-step[aria-selected="true"] { background: #fff; color: var(--phys-ink); border-color: var(--line); border-bottom: 2px solid #fff; box-shadow: inset 0 3px 0 var(--phys); }
.of-js .of-sem { display: none; }
.of-js .of-sem.on { display: block; }
.of-js .of-sem { margin-top: 6px; }
@media print { .of-tabs { display: none; } .of-js .of-sem { display: block; } }
.of-help { margin: 0 0 8px; font-size: .9rem; } .of-help summary { cursor: pointer; color: var(--phys-ink); font-weight: 600; } .of-help ul { margin: 8px 0 0; padding-inline-start: 18px; } .of-help li { margin: 3px 0; }
.of-sem { margin: 24px 0 0; scroll-margin-top: 70px; }
.of-sem-h h2 { font-size: 1.4rem; color: var(--ink); margin: 0 0 6px; } .of-sem-h h2 small { font-size: .8rem; font-weight: 700; padding: 2px 10px; border-radius: 999px; background: var(--phys-soft); color: var(--phys-ink); vertical-align: middle; }
.of-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 6px; }
.of-chip { padding: 2px 11px; border-radius: 999px; background: #EEF0F4; color: var(--ink-soft); font-size: .8rem; }
.of-chip strong { color: var(--ink); }
.of-chip-c { background: var(--phys-soft); } .of-chip-td { background: var(--chem-soft); } .of-chip-tp { background: var(--math-soft); }
.of-shared { margin: 0 0 8px; font-size: .84rem; color: var(--muted); }
.of-ue { margin: 0 0 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: 0 1px 4px rgba(26, 29, 35, .08); --uc: var(--phys); --ucs: var(--phys-soft); --uci: var(--phys-ink); }
.of-ue-UEM { --uc: var(--chem); --ucs: var(--chem-soft); --uci: var(--chem-ink); }
.of-ue-UED { --uc: var(--math); --ucs: var(--math-soft); --uci: var(--math-ink); }
.of-ue-UET { --uc: var(--sm); --ucs: var(--sm-soft); --uci: var(--sm-ink); }
.of-ue-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 8px 14px; background: var(--ucs); border-inline-start: 5px solid var(--uc); color: var(--uci); }
.of-ue-k { font-weight: 800; } .of-ue-code { font-size: .8rem; opacity: .85; font-weight: 700; } .of-ue-n { margin-inline-start: auto; font-size: .82rem; font-weight: 600; }
.of-courses { list-style: none; margin: 0; padding: 0; }
.of-course { border-top: 1px solid var(--line); }
.of-course:first-child { border-top: 0; }
.of-course summary { display: grid; grid-template-columns: minmax(0, 2.4fr) minmax(0, 1.3fr) minmax(0, 1.1fr) minmax(0, 1.1fr); gap: 6px 14px; align-items: center; padding: 9px 14px; cursor: pointer; list-style: none; }
.of-course summary::-webkit-details-marker { display: none; }
.of-course details.of-nodet summary { cursor: default; }
.of-course details[open] summary { background: #FAFBFD; }
.of-opt { border-inline-start: 4px dotted var(--uc); }
.of-pick { padding: 5px 14px; font-size: .78rem; font-weight: 700; color: var(--uci); background: var(--ucs); border-top: 1px solid var(--line); list-style: none; }
.of-cn { font-weight: 600; color: var(--ink); line-height: 1.3; }
.of-hrs { display: flex; flex-wrap: wrap; gap: 4px; }
.of-h { padding: 1px 8px; border-radius: 999px; font-size: .78rem; background: #EEF0F4; white-space: nowrap; } .of-h b { font-weight: 800; }
.of-h-cours { background: var(--phys-soft); color: var(--phys-ink); } .of-h-td { background: var(--chem-soft); color: var(--chem-ink); } .of-h-tp { background: var(--math-soft); color: var(--math-ink); }
.of-nums { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: .84rem; color: var(--ink-soft); }
.of-cc { font-weight: 700; color: var(--ink); }
.of-eval small { display: block; font-size: .72rem; color: var(--muted); margin-top: 2px; }
.of-bar { display: flex; height: 7px; border-radius: 999px; overflow: hidden; background: #E3E6EB; }
.of-bar-cc { background: var(--phys); } .of-bar-ex { background: var(--math); }
.of-syl { padding: 4px 16px 14px; border-top: 1px dashed var(--line); background: #FAFBFD; }
.of-syl h4 { margin: 12px 0 4px; font-size: .88rem; color: var(--uci); }
.of-syl-t { font-size: .9rem; line-height: 1.55; color: var(--ink-soft); }
.of-total { margin: 4px 0 0; font-size: .88rem; color: var(--muted); }
@media (max-width: 980px) { .of-map { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .of-map { grid-template-columns: 1fr; } .of-course summary { grid-template-columns: 1fr; } .of-ue-n { margin-inline-start: 0; } }

.tn-recent .tn-scroll { max-height: 96px; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 8px, #000 calc(100% - 12px), transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 8px, #000 calc(100% - 12px), transparent 100%); }
.tn-recent .tn-scroll:focus-visible { outline: 2px solid var(--phys); outline-offset: 2px; }
.tn-recent .ann li { display: block; padding: 7px 0; font-size: .84rem; line-height: 1.35; }
.tn-recent .tn-meta2 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 2px; }
.tn-recent .tn-tag { font-size: .68rem; padding: 0 8px; }
.tn-recent .tn-s { font-size: .68rem; padding: 0 8px; }

.pdf-link { display: inline-block; margin-inline-start: 6px; padding: 0 7px; border-radius: 4px; background: #FDE7E7; color: #B42318; font-size: .7rem; font-weight: 700; text-decoration: none; vertical-align: 1px; }

.ann-ctl { margin-inline-start: auto; display: inline-flex; gap: 4px; }
.ann-ctl button { width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink-soft); font-size: .62rem; line-height: 1; cursor: pointer; padding: 0; }
.ann-ctl button:hover { background: var(--phys-soft); color: var(--phys-ink); border-color: var(--phys); }
.ann-all { margin: 8px 0 0; font-size: .88rem; font-weight: 600; }
.ann-filter { display: flex; gap: 8px; max-width: 460px; margin: 0 0 12px; }
.ann-filter input { flex: 1; min-width: 0; padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; font: inherit; }
.ann-filter button { padding: 8px 18px; border: 0; border-radius: 999px; background: var(--ink); color: #fff; font: inherit; cursor: pointer; }
.ann-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 18px; }
.ann-chips a { padding: 5px 14px; border-radius: 999px; background: #EEF1F5; color: var(--ink-soft); text-decoration: none; font-size: .88rem; font-weight: 600; }
.ann-chips a.on, .ann-chips a:hover { background: var(--phys); color: #fff; }
.ann-chips a[data-k="chem"].on, .ann-chips a[data-k="chem"]:hover { background: var(--chem-ink); }
.ann-chips a[data-k="math"].on, .ann-chips a[data-k="math"]:hover { background: var(--math-ink); }
.ann-chips a[data-k="sm"].on, .ann-chips a[data-k="sm"]:hover { background: var(--sm-ink); }
.ann-full li { font-size: .95rem; padding: 11px 0; }

.figures-science strong { font-size: clamp(1.7rem, 3vw, 2.3rem); }
.figures-science span { font-size: .85rem; }
.figures-note { margin: 16px 0 0; text-align: center; font-size: .85rem; color: #C9D1DB; }
.figures-note a { color: #fff; text-decoration: underline; }
.an-depts a.on { border-color: var(--primary); background: var(--primary-soft); }
.an-depts a[data-k="chem"]:hover, .an-depts a[data-k="chem"].on { border-color: var(--chem); background: var(--chem-soft); }
.an-depts a[data-k="phys"]:hover, .an-depts a[data-k="phys"].on { border-color: var(--phys); background: var(--phys-soft); }
.an-depts a[data-k="math"]:hover, .an-depts a[data-k="math"].on { border-color: var(--math); background: var(--math-soft); }
.an-grid { list-style: none; padding: 0; margin: 0 0 8px; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.an-card { --kc: var(--primary); background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--kc); border-radius: var(--radius); padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 1px 4px rgba(26, 29, 35, .09); }
.an-card[data-k="chem"] { --kc: var(--chem); }
.an-card[data-k="phys"] { --kc: var(--phys); }
.an-card[data-k="math"] { --kc: var(--math); }
.an-card h2 { font-size: 1.02rem; margin: 0; line-height: 1.3; }
.an-card h2 a { color: var(--ink); text-decoration: none; }
.an-card h2 a:hover { color: var(--primary); text-decoration: underline; }
.an-dept { margin: 0; font-size: .85rem; color: var(--muted); }
.an-nums { margin: 2px 0 0; display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .84rem; color: var(--ink-soft); }
.an-kw { margin: 2px 0 0; font-size: .8rem; color: var(--muted); line-height: 1.4; }
.an-stats { list-style: none; padding: 0; margin: 14px 0 20px; display: flex; flex-wrap: wrap; gap: 12px; }
.an-stats li { flex: 1 1 130px; background: var(--primary-soft); border-radius: var(--radius); padding: 12px 16px; text-align: center; }
.an-stats strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.9rem; line-height: 1.1; color: var(--deep); font-variant-numeric: tabular-nums; }
.an-stats span { font-size: .85rem; color: var(--ink-soft); }
.an-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.an-chips li { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 3px 12px; font-size: .84rem; color: var(--ink-soft); }
.an-chips small { color: var(--muted); margin-inline-start: 4px; }
.an-links { margin: 0; padding-inline-start: 1.2em; }
.an-works { padding-inline-start: 2em; margin: 8px 0; }
.an-works li { margin: 0 0 12px; padding-inline-start: 4px; }
.an-works li > span { display: block; }
.an-wt { font-weight: 600; line-height: 1.4; }
.an-wm, .an-wa { font-size: .86rem; color: var(--muted); }
.an-sort { font-size: .9rem; margin: 0 0 8px; }
.an-sort a.on { font-weight: 700; text-decoration: none; color: var(--ink); }
.an-source { font-size: .82rem; color: var(--muted); margin: 14px 0; }
.an-archive { margin-top: 28px; padding-top: 12px; border-top: 1px solid var(--line); }
.an-archive h2 { font-size: 1.1rem; }
.an-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.an-filter input { flex: 1 1 220px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; font: inherit; background: #fff; }
.an-filter select { padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; font: inherit; background: #fff; max-width: 100%; }
.an-filter button { padding: 0 22px; border: 0; border-radius: 999px; background: var(--primary); color: #fff; font: inherit; font-weight: 600; cursor: pointer; min-height: 40px; }
.an-filter input:focus, .an-filter select:focus { outline: 2px solid var(--primary); border-color: transparent; }
.an-tablewrap { overflow-x: auto; }
.an-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.an-table th, .an-table td { padding: 8px 12px; border-bottom: 1px solid var(--line); text-align: start; }
.an-table thead th { background: var(--primary-soft); color: var(--deep); font-size: .85rem; }
.an-table td { font-variant-numeric: tabular-nums; }
.an-table tr[data-k="chem"] th[scope="row"] { border-inline-start: 4px solid var(--chem); }
.an-table tr[data-k="phys"] th[scope="row"] { border-inline-start: 4px solid var(--phys); }
.an-table tr[data-k="math"] th[scope="row"] { border-inline-start: 4px solid var(--math); }
.an-total th, .an-total td { font-weight: 700; background: #F4F7FA; }
.an-bars { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 4px; }
.an-bars li { display: grid; grid-template-columns: 3.2em 1fr 3em; gap: 8px; align-items: center; font-size: .85rem; font-variant-numeric: tabular-nums; }
.an-bar { display: block; height: 14px; background: #EDF1F5; border-radius: 3px; overflow: hidden; }
.an-bar i { display: block; height: 100%; background: var(--primary); border-radius: 3px; }
.an-bn { text-align: end; color: var(--muted); }
.an-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.an-col h3 { font-size: 1rem; margin: 0 0 8px; padding-top: 6px; border-top: 4px solid var(--kc, var(--line)); }
.an-col[data-k="chem"] { --kc: var(--chem); } .an-col[data-k="phys"] { --kc: var(--phys); } .an-col[data-k="math"] { --kc: var(--math); }
@media (max-width: 700px) { .an-grid { grid-template-columns: 1fr; } .an-filter select { flex: 1 1 140px; } }

.dept-old { margin-top: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: 8px 14px; }
.dept-old summary { cursor: pointer; font-weight: 600; color: var(--ink-soft); padding: 4px 0; }
.dept-old h4 { margin: 12px 0 4px; font-size: .95rem; }
.dept-old ul { margin: 0 0 6px; padding-inline-start: 1.3em; }
.dept-labs { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 8px; }
.dept-labs li { background: #fff; border: 1px solid var(--line); border-inline-start: 4px solid var(--kc, var(--primary)); border-radius: var(--radius-s); padding: 8px 12px; }
.dept[data-k="chem"] { --kc: var(--chem); } .dept[data-k="phys"] { --kc: var(--phys); } .dept[data-k="math"] { --kc: var(--math); } .dept[data-k="sm"] { --kc: var(--sm); }
.dept .an-stats li { background: color-mix(in srgb, var(--kc, var(--primary)) 14%, #fff); }

.es-chips { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-wrap: wrap; gap: 10px; }
.es-chips li { --kc: var(--primary); display: flex; flex-direction: column; gap: 2px; min-width: 190px; padding: 10px 14px; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--kc); border-radius: var(--radius); }
.es-chips li[data-k="chem"] { --kc: var(--chem); } .es-chips li[data-k="phys"] { --kc: var(--phys); } .es-chips li[data-k="math"] { --kc: var(--math); }
.es-chips a { text-decoration: none; color: var(--ink); } .es-chips a:hover strong { text-decoration: underline; }
.es-chips .ico { vertical-align: -5px; color: var(--kc); }
.es-sub { font-size: .86rem; color: var(--primary) !important; }
.es-dept h2 { font-size: 1.15rem; margin: 0 0 8px; }
.es-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 14px; }
.es-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--primary); border-radius: var(--radius); padding: 14px 16px; box-shadow: 0 1px 4px rgba(26, 29, 35, .09); }
.es-card h2 { font-size: 1.08rem; margin: 0 0 8px; }
.es-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.es-card li { line-height: 1.35; }

.org { margin: 18px 0 8px; }
.org-top { display: flex; justify-content: center; position: relative; padding-bottom: 28px; }
.org-top::after { content: ""; position: absolute; bottom: 0; left: 50%; width: 3px; height: 28px; background: var(--primary); transform: translateX(-50%); }
.org-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 1px 4px rgba(26, 29, 35, .09); text-align: center; }
.org-dean { min-width: 260px; border-top: 5px solid var(--primary); background: linear-gradient(#fff, var(--primary-soft)); }
.org-role { font-size: .92rem; font-weight: 700; color: var(--ink); line-height: 1.35; }
.org-role a { color: inherit; text-decoration: none; }
.org-role a:hover { text-decoration: underline; color: var(--primary); }
.org-name { font-size: .95rem; color: var(--deep); }
.org-adj, .org-contact { font-size: .84rem; color: var(--muted); }
.org-body { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; position: relative; padding-top: 22px; }
.org-body::before { content: ""; position: absolute; top: 0; left: 25%; right: 25%; height: 3px; background: var(--primary); }
.org-col { position: relative; padding-top: 14px; }
.org-col::before { content: ""; position: absolute; top: -22px; left: 50%; width: 3px; height: 22px; background: var(--primary); transform: translateX(-50%); }
.org-col h2 { text-align: center; font-size: 1.05rem; margin: 0 0 10px; color: var(--deep); }
.org-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.org-services .org-card { border-inline-start: 5px solid var(--primary); text-align: start; }
.org-dept { --kc: var(--primary); border-inline-start: 5px solid var(--kc); text-align: start; }
.org-dept[data-k="chem"] { --kc: var(--chem); } .org-dept[data-k="phys"] { --kc: var(--phys); } .org-dept[data-k="math"] { --kc: var(--math); } .org-dept[data-k="sm"] { --kc: var(--sm); }
.org-dept .ico { vertical-align: -4px; color: var(--kc); }
.org-more { margin-top: 22px; font-size: .92rem; }
@media (max-width: 760px) { .org-body { grid-template-columns: 1fr; } .org-body::before { display: none; } .org-col::before { display: none; } .org-dean { min-width: 0; width: 100%; } }
@media print { .strip, .menu, header nav, .skip, footer, .org-more { display: none !important; } .org-card { box-shadow: none; break-inside: avoid; } }

.rg-src { font-size: .95rem; color: var(--muted); margin: 0 0 8px; }
.rg-note, .rg-small { font-size: .85rem; color: var(--muted); }
.rg-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0 14px; border-bottom: 2px solid var(--line); }
.rg-tabs button { border: 0; background: none; font: inherit; font-weight: 600; padding: 10px 16px; cursor: pointer; color: var(--ink-soft); border-bottom: 3px solid transparent; margin-bottom: -2px; }
.rg-tabs button:hover { color: var(--primary); }
.rg-tabs button[aria-selected="true"] { color: var(--primary); border-bottom-color: var(--primary); }
.rg-chips, .rg-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.rg-chip { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 14px; font: inherit; font-size: .9rem; cursor: pointer; color: var(--ink-soft); }
.rg-chip:hover { border-color: var(--primary); background: var(--primary-soft); }
.rg-chip[aria-selected="true"], .rg-chip[aria-pressed="true"] { background: var(--primary); border-color: var(--primary); color: #fff; font-weight: 600; }
.rg-switch { display: inline-flex; gap: 8px; align-items: center; font-size: .9rem; margin: 0 0 12px; cursor: pointer; }
.rg-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--primary); border-radius: var(--radius); padding: 16px 20px; box-shadow: 0 1px 4px rgba(26, 29, 35, .09); margin: 0 0 14px; }
.rg-card header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.rg-card h2 { font-size: 1.25rem; margin: 0; }
.rg-card h3 { font-size: 1rem; margin: 14px 0 4px; color: var(--deep); }
.rg-art a, .rg-art { font-size: .85rem; color: var(--muted); }
.rg-lead { font-weight: 600; margin: 8px 0 6px; }
.rg-tasks, .rg-list { margin: 0 0 8px; padding-inline-start: 1.3em; }
.rg-tasks li { margin: 6px 0; line-height: 1.5; }
.rg-badge { display: none; font-size: .72rem; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: var(--sand-soft); color: var(--math-ink); margin-inline-start: 6px; vertical-align: 1px; }
.show-new .rg-badge { display: inline-block; }
.show-new .rg-tasks li[data-new] { background: #FFF8E6; border-radius: 4px; box-shadow: -4px 0 0 var(--sand); padding: 2px 6px; margin-inline-start: -6px; }
.rg-prev { font-size: .82rem; color: var(--muted); display: none; }
.show-new .rg-prev { display: block; }
.rg-box { background: var(--primary-soft); border-radius: var(--radius); padding: 12px 18px; margin: 16px 0; }
.rg-box h3 { font-size: 1rem; margin: 0 0 4px; }
.rg-box p { margin: 4px 0; }
.rg-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.rg-matrix-wrap { overflow-x: auto; margin: 10px 0; }
.rg-matrix, .rg-table { border-collapse: collapse; width: 100%; font-size: .92rem; background: #fff; }
.rg-matrix th, .rg-matrix td, .rg-table th, .rg-table td { border: 1px solid var(--line); padding: 8px 10px; text-align: start; vertical-align: top; }
.rg-matrix thead th, .rg-table thead th { background: var(--primary-soft); color: var(--deep); font-size: .82rem; }
.rg-matrix thead th span { display: block; max-width: 110px; line-height: 1.25; }
.rg-matrix td { text-align: center; width: 84px; }
.rg-matrix td.yes { background: #E6F6EE; color: var(--chem-ink); font-weight: 700; }
.rg-matrix td.inh { color: var(--muted); background: #F4F7FA; }
.rg-matrix td.no { color: #B8C0CA; }
.rg-matrix tbody tr:hover th, .rg-matrix tbody tr:hover td { filter: brightness(.97); }
.rg-matrix tbody th { font-weight: 500; min-width: 240px; background: #fff; position: sticky; inset-inline-start: 0; }
.rg-table caption { text-align: start; font-weight: 700; padding: 6px 0; color: var(--deep); }
.rg-more { margin-top: 18px; }
.rg-pdf { margin: 26px 0 8px; padding-top: 14px; border-top: 1px solid var(--line); font-size: .92rem; }
.rg-pdf svg { vertical-align: -3px; }
.rg-hero { background: linear-gradient(135deg, var(--primary-soft), #fff); border: 1px solid var(--line); border-inline-start: 6px solid var(--primary); border-radius: var(--radius); padding: 14px 20px; margin: 14px 0 18px; }
.rg-hero h2 { margin: 0 0 4px; font-size: 1.2rem; }
.rg-posts-nav { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 8px; }
.rg-posts-nav li { display: flex; flex-direction: column; gap: 2px; }
.rg-tools { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin: 0 0 14px; }
.rg-tools input[type="search"] { flex: 1 1 260px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; font: inherit; background: #fff; }
.rg-tools input:focus { outline: 2px solid var(--primary); border-color: transparent; }
.rg-tools .rg-filters { margin: 0; }
.rg-count { font-size: .85rem; color: var(--muted); }
.rg-layout { display: grid; grid-template-columns: 270px 1fr; gap: 24px; align-items: start; }
.rg-toc { position: sticky; top: 12px; max-height: calc(100vh - 24px); overflow: auto; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 14px; font-size: .88rem; }
.rg-toc h2 { font-size: .95rem; margin: 0 0 6px; }
.rg-toc ol { margin: 0; padding-inline-start: 1.2em; }
.rg-toc li { margin: 4px 0; }
.rg-toc small { color: var(--muted); }
.rg-sec { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; margin: 0 0 12px; }
.rg-sec > summary { cursor: pointer; padding: 12px 16px; font-weight: 700; font-size: 1.05rem; display: flex; justify-content: space-between; gap: 10px; align-items: baseline; list-style: none; }
.rg-sec > summary::-webkit-details-marker { display: none; }
.rg-sec > summary small { font-weight: 500; color: var(--muted); font-size: .8rem; white-space: nowrap; }
.rg-sec[open] > summary { border-bottom: 1px solid var(--line); }
.rg-sec-hot { border-color: var(--primary); box-shadow: 0 0 0 2px var(--primary-soft); }
.rg-art-item { padding: 12px 18px; border-bottom: 1px solid #EDF1F5; scroll-margin-top: 12px; }
.rg-art-item:last-child { border-bottom: 0; }
.rg-art-item h3 { font-size: .95rem; margin: 0 0 4px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rg-n { font-weight: 800; color: var(--deep); }
.rg-kind { font-size: .72rem; font-weight: 700; padding: 1px 9px; border-radius: 999px; background: #EDF1F5; color: var(--ink-soft); }
.rg-kind-tasks { background: var(--primary-soft); color: var(--deep); }
.rg-kind-promo, .rg-kind-recruit, .rg-kind-nomination { background: var(--sand-soft); color: var(--math-ink); }
.rg-kind-transition { background: #EEE6FF; color: var(--sm-ink); }
.rg-text p { margin: 6px 0; line-height: 1.6; }
.rg-text ul { margin: 4px 0 8px; padding-inline-start: 1.4em; }
.rg-text li { margin: 4px 0; line-height: 1.5; }
.rg-flash { animation: rgflash 2.2s ease; }
@keyframes rgflash { 0%, 40% { background: #FFF1B8; } 100% { background: transparent; } }
.rg-empty { text-align: center; color: var(--muted); padding: 20px; }
.rg-domain { margin: 22px 0 28px; }
.rg-domain h2 { display: flex; align-items: center; gap: 10px; font-size: 1.35rem; border-bottom: 3px solid var(--kc, var(--primary)); padding-bottom: 6px; }
.rg-domain h2 small { font-weight: 500; font-size: .9rem; color: var(--muted); }
.rg-domain[data-k="math"] { --kc: var(--math); } .rg-domain[data-k="sm"] { --kc: var(--sm); }
.rg-domain h2 .ico { color: var(--kc); }
.rg-people { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin: 12px 0; }
.rg-person { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--kc, var(--primary)); border-radius: var(--radius); padding: 10px 14px; display: flex; flex-direction: column; gap: 2px; }
.rg-role { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); }
.rg-what { color: var(--ink-soft); }
.rg-person small { color: var(--muted); }
.rg-domain h3 { font-size: 1.05rem; margin: 18px 0 6px; }
.rg-orders { list-style: none; padding: 0; margin: 0; font-size: .86rem; }
.rg-orders li + li { margin-top: 2px; }
.rg-frozen { background: #FFF4F2; }
.rg-badge-frozen { display: inline-block; font-size: .75rem; font-weight: 700; padding: 1px 9px; border-radius: 999px; background: #FDE2DE; color: #A93226; }
.muted { color: var(--muted); }
[hidden] { display: none !important; }
@media (max-width: 860px) { .rg-layout { grid-template-columns: 1fr; } .rg-toc { position: static; max-height: none; } .rg-matrix tbody th { min-width: 180px; } }
@media print { .rg-tabs, .rg-tools, .rg-toc, .rg-switch { display: none !important; } .rg-panel[hidden], .rg-card[hidden] { display: block !important; } .rg-sec { break-inside: avoid; } }

.dept-acc { border: 1px solid var(--line); border-radius: var(--radius-s); background: #fff; margin: 0 0 8px; padding: 0 14px; }
.dept-acc > summary { cursor: pointer; font-weight: 700; padding: 10px 0; color: var(--deep); }
.dept-acc[open] > summary { border-bottom: 1px solid #EDF1F5; margin-bottom: 8px; }
.dept-fiche h3 { font-size: 1.1rem; }
.dept-fiche h4 { font-size: 1rem; margin: 10px 0 2px; color: var(--ink); }
.dept-contact small { color: var(--muted); }

@media (min-width: 701px) and (max-width: 1110px) {
    .menu > .wrap > ul > li > a { padding: 14px 9px; font-size: .86rem; }
    .menu .menu-cta { padding: 8px 14px; font-size: .86rem; }
    .menu-row { gap: 2px; }
}

@media (max-width: 700px) {
    .strip-mail, .strip-right > a { display: none; }
    .strip-row { justify-content: center; padding-top: 4px; padding-bottom: 4px; }
    .pencil, .univ-lockup { display: none; }
    .top-row { flex-wrap: nowrap; justify-content: space-between; gap: 12px; padding-top: 8px; padding-bottom: 8px; }
    .logo-univ { order: 1; min-width: 0; flex: 0 0 auto; }
    .logo-umc { width: 54px; height: 54px; }
    .logo-fse { order: 2; width: auto; min-width: 0; text-align: end; flex: 0 1 auto; }
    .logo-fse img { height: 46px; max-width: 100%; margin: 0; object-fit: contain; }
}

.rg-update { background: #FFF8E6; border: 1px solid #F0CF8E; border-inline-start: 5px solid var(--sand); border-radius: var(--radius-s); padding: 10px 14px; font-size: .92rem; margin: 10px 0 14px; }
.rg-kind-am { background: #FFE9B8; color: #8A4B00; }
.rg-amended { border-inline-start: 4px solid var(--sand); }
.rg-old { margin: 8px 0 2px; border: 1px dashed var(--line); border-radius: var(--radius-s); padding: 2px 12px; background: #FAFBFC; }
.rg-old > summary { cursor: pointer; font-size: .85rem; color: var(--muted); padding: 6px 0; }
.rg-old .rg-text { color: var(--ink-soft); font-size: .95rem; }

.prose h3 + p small { display: block; padding: .7em 1em; background: #F2F7F4; border-inline-start: 4px solid var(--phys-ink); border-radius: var(--radius-s); line-height: 1.6; }
.prose h3 + p small a { font-weight: 600; }
.prose h4 + ul, .prose h4 + p + ul { list-style: none; padding-inline-start: 0; }
.prose h4 + ul > li, .prose h4 + p + ul > li { margin: .55em 0; padding: .75em 1em; background: #fff; border: 1px solid var(--line); border-inline-start: 4px solid var(--phys-ink); border-radius: var(--radius-s); line-height: 1.5; font-size: .98rem; }
.prose h4 + ul > li > strong, .prose h4 + p + ul > li > strong { display: inline-block; margin: .45em 0 .1em; padding: .12em .6em; background: #FFF4D6; color: #7A5200; border-radius: 99px; font-size: .86rem; font-weight: 600; }
.prose h4 + ul > li > small, .prose h4 + p + ul > li > small { color: var(--ink-soft); font-size: .86rem; }
.prose li > a[href^="uploads/"] { display: inline-block; margin: .5em .4em 0 0; padding: .22em .8em; border: 1px solid var(--phys-ink); border-radius: 99px; text-decoration: none; font-size: .88rem; font-weight: 600; }
.prose li > a[href^="uploads/"]::before { content: "PDF"; margin-inline-end: .5em; padding: 0 .35em; background: var(--phys-ink); color: #fff; border-radius: 3px; font-size: .72rem; }
.prose li > a[href^="uploads/"]:hover { background: var(--phys-ink); color: #fff; }
.prose li > a:not([href^="uploads/"]) { display: inline-block; margin-top: .5em; font-weight: 600; }

.club-d-chem { --kc: var(--chem); --kci: var(--chem-ink); } .club-d-phys { --kc: var(--phys); --kci: var(--phys-ink); }
.club-d-math { --kc: var(--math); --kci: #8A5A00; } .club-d-sm { --kc: var(--sm); --kci: var(--sm); } .club-d-fac { --kc: var(--phys); --kci: var(--phys-ink); }
.club-grid { list-style: none; margin: 1.2em 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.club-card { background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--kc); border-radius: var(--radius); padding: 16px 18px; box-shadow: var(--shadow); }
.club-card h2 { margin: 0 0 6px; font-size: 1.15rem; color: var(--kci); }
.club-card p { margin: .4em 0; font-size: .95rem; }
.club-link { display: block; text-decoration: none; }
.club-logo { max-width: 72px; max-height: 72px; border-radius: var(--radius-s); margin-bottom: 6px; }
.club-meta { display: flex; gap: 14px; flex-wrap: wrap; color: var(--ink-soft); font-size: .88rem; }
.club-last { color: var(--ink-soft); font-size: .9rem; }
.club-head { display: flex; gap: 16px; align-items: center; padding: 14px 18px; margin: 4px 0 18px; background: #fff; border: 1px solid var(--line); border-inline-start: 6px solid var(--kc); border-radius: var(--radius); }
.club-head h1 { margin: 0 0 4px; padding: 0; border: 0; border-image: none; }
.club-social { display: flex; gap: 10px; flex-wrap: wrap; margin: 6px 0 0; }
.club-social a { padding: .2em .8em; border: 1px solid var(--kc); border-radius: 99px; font-size: .88rem; font-weight: 600; text-decoration: none; color: var(--kci); }
.club-social a:hover { background: var(--kc); color: #fff; }
.club-year { margin: 1.4em 0 .4em; color: var(--kci, var(--ink)); font-size: 1.1rem; }
.club-log { list-style: none; margin: 0; padding: 0; border-inline-start: 3px solid var(--line); }
.club-act { position: relative; margin: 0 0 14px; padding: .2em 0 .2em 18px; }
[dir="rtl"] .club-act { padding: .2em 18px .2em 0; }
.club-act::before { content: ""; position: absolute; inset-inline-start: -8px; top: .7em; width: 13px; height: 13px; border-radius: 50%; background: var(--kc, var(--phys)); border: 2px solid #fff; }
.club-act time { color: var(--ink-soft); font-size: .86rem; font-weight: 600; }
.club-act h4 { margin: .15em 0 .3em; font-size: 1.02rem; }
.club-act p { margin: .3em 0; font-size: .95rem; }
.club-img { max-width: 100%; max-height: 360px; border-radius: var(--radius-s); margin: .4em 0; }
.club-links { display: flex; gap: 10px; flex-wrap: wrap; }
.club-links a { padding: .15em .8em; border: 1px solid var(--line); border-radius: 99px; font-size: .86rem; font-weight: 600; text-decoration: none; }
.club-team { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.club-team li span { color: var(--ink-soft); }
.club-page > section { margin-bottom: 1.4em; }

.sdg-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 0; }
.sdg-chip { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px 2px 2px; background: #fff; border: 1px solid #d5dce3; border-radius: 8px; color: var(--ink); font-size: .78rem; line-height: 1.25; text-decoration: none; }
.sdg-chip b { flex: none; display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 3px; background: var(--c); color: #fff; border-radius: 6px; font-size: .8rem; }
a.sdg-chip:hover, a.sdg-chip:focus-visible { border-color: var(--c); }
[dir="rtl"] .sdg-chip { padding: 2px 2px 2px 10px; }
.sdg-prog { margin: 6px 0 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.sdg-prog .sdg-chips { margin: 0; }
.sdg-lab { font-size: .84rem; color: var(--muted, #5a6572); font-weight: 600; }
.an-works .sdg-chips { margin-top: 4px; }
.sdg-stats li { flex-basis: 150px; }
.sdg-grid { list-style: none; padding: 0; margin: 0 0 26px; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.sdg-tile > a, .sdg-tile > span { display: flex; flex-direction: column; gap: 4px; height: 100%; min-height: 108px; padding: 12px 12px 10px; background: var(--c); color: #fff; border-radius: 10px; text-decoration: none; }
.sdg-tile b { font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; line-height: 1; }
.sdg-tile .sdg-t { font-size: .84rem; font-weight: 600; line-height: 1.25; }
.sdg-tile small { margin-top: auto; font-size: .74rem; opacity: .95; }
.sdg-tile > a:hover, .sdg-tile > a:focus-visible { filter: brightness(1.08); outline: 2px solid var(--ink); outline-offset: 2px; }
.sdg-tile.off > span { background: #eceff2; color: #5d6874; }
.sdg-sec { margin: 30px 0; padding-top: 4px; border-top: 4px solid var(--c); scroll-margin-top: 90px; }
.sdg-sec h2 { display: flex; align-items: center; gap: 12px; margin: 14px 0 8px; }
.sdg-sec h2 b { flex: none; display: grid; place-items: center; min-width: 40px; height: 40px; background: var(--c); color: #fff; border-radius: 8px; font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; }
.sdg-sec h3 { margin: 14px 0 6px; font-size: 1rem; }
.sdg-progs { margin: 0; padding-inline-start: 20px; }
.sdg-progs small { color: var(--muted, #5a6572); }
.sdg-note { margin-top: 28px; font-size: .86rem; }

.band-sdg { background: #f3f7f5; padding: 26px 0 28px; }
.sdg-home { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.sdg-home-txt { flex: 1 1 340px; }
.sdg-home-txt h2 { margin: 0 0 6px; }
.sdg-home-txt p { margin: 0; color: var(--ink); }
.sdg-home-nums { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 320px; }
.sdg-home-nums a { display: grid; place-items: center; width: 42px; height: 42px; background: var(--c); color: #fff; border-radius: 8px; font-family: Georgia, "Times New Roman", serif; font-weight: 700; font-size: 1.05rem; text-decoration: none; }
.sdg-home-nums a:hover, .sdg-home-nums a:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.sdg-home-nums .off { background: #e3e8ec; color: #6a7580; pointer-events: none; }
@media (max-width: 560px) { .sdg-chip .sdg-nm { max-width: 56vw; } .sdg-grid { grid-template-columns: repeat(2, 1fr); } }

.sdg-tile > a, .sdg-tile > span { min-height: 0; padding: 0; background: none; color: var(--ink); gap: 6px; align-items: stretch; }
.sdg-tile .sdg-ic { display: block; width: 100%; height: auto; border-radius: 6px; }
.sdg-tile small { margin-top: 0; text-align: center; color: var(--ink); font-size: .78rem; opacity: 1; }
.sdg-tile > a:hover .sdg-ic, .sdg-tile > a:focus-visible .sdg-ic { filter: brightness(1.06); }
.sdg-tile > a:hover, .sdg-tile > a:focus-visible { filter: none; outline: 2px solid var(--ink); outline-offset: 2px; border-radius: 8px; }
.sdg-tile.off > span { background: none; }
.sdg-tile.off .sdg-ic { filter: grayscale(1); opacity: .3; }
.sdg-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.sdg-sec h2 .sdg-ic-h { flex: none; width: 72px; height: 72px; border-radius: 6px; }
.sdg-home-nums { gap: 8px; }
.sdg-home-nums a, .sdg-home-nums .off { display: block; width: 76px; height: 76px; padding: 0; background: none; border-radius: 6px; }
.sdg-home-nums .sdg-ic { display: block; width: 76px; height: 76px; border-radius: 6px; }
.sdg-home-nums .off { pointer-events: none; }
.sdg-home-nums .off .sdg-ic { filter: grayscale(1); opacity: .28; }
.sdg-home-un { flex: 1 1 100%; }
.sdg-un { margin: 14px 0 0; font-size: .78rem; line-height: 1.45; color: var(--muted, #5a6572); }
.sdg-home-un .sdg-un { margin: 0; }
@media (max-width: 560px) { .sdg-grid { grid-template-columns: repeat(2, 1fr); } .sdg-home-nums a, .sdg-home-nums .off, .sdg-home-nums .sdg-ic { width: 60px; height: 60px; } }

.sdg-grid { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; margin-bottom: 8px; }
.sdg-tile .sdg-ic { max-width: 110px; margin: 0 auto; }
.sdg-sec h2 { gap: 12px; }
.sdg-sec h2 .sdg-ic-h { width: 56px; height: 56px; }
.sdg-sum { margin: 0 0 12px; font-size: .95rem; }
.sdg-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 4px 28px; }
.sdg-cols h3, .sdg-sec h4 { margin: 12px 0 6px; }
.sdg-sec h4 { font-size: .88rem; color: var(--muted, #5a6572); text-transform: none; }
.sdg-sec h4 small { font-weight: 400; }
.sdg-depts { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sdg-depts li { display: grid; grid-template-columns: 110px 1fr auto; align-items: center; gap: 8px; font-size: .88rem; }
.sdg-bar-h { height: 8px; background: #e6ebf0; border-radius: 4px; overflow: hidden; }
.sdg-bar-h i { display: block; height: 100%; background: var(--c); border-radius: 4px; }
.sdg-years { display: flex; align-items: flex-end; gap: 3px; height: 54px; }
.sdg-years span { flex: 1; height: 100%; display: flex; align-items: flex-end; background: #f0f3f6; border-radius: 2px; }
.sdg-years i { display: block; width: 100%; background: var(--c); border-radius: 2px 2px 0 0; }
.sdg-works { margin-top: 2px; }
.band-sdg { padding: 22px 0 20px; }
.sdg-home-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; }
.sdg-home-head .sdg-home-txt { flex: 1 1 420px; }
.sdg-home-head .sdg-home-txt h2 { margin-bottom: 4px; }
.sdg-home-list { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px 18px; }
.sdg-home-list a { display: flex; align-items: center; gap: 10px; padding: 4px 6px; border-radius: 8px; color: var(--ink); text-decoration: none; }
.sdg-home-list a:hover, .sdg-home-list a:focus-visible { background: #fff; outline: 1px solid #d5dce3; }
.sdg-home-list .sdg-ic { flex: none; width: 44px; height: 44px; border-radius: 5px; }
.sdg-home-list strong { display: block; font-size: .86rem; line-height: 1.25; }
.sdg-home-list small { display: block; font-size: .76rem; color: var(--muted, #5a6572); }
.sdg-home-un { margin-top: 10px; }
@media (max-width: 560px) { .sdg-depts li { grid-template-columns: 90px 1fr auto; } .sdg-grid { grid-template-columns: repeat(3, 1fr); } }

table.tt td.tt-fill { padding: 0; }
table.tt td.tt-fill-cours { background: #E4E9FA; border-inline-start: 4px solid #3B4FB8; }
table.tt td.tt-fill-td { background: #D8F5E8; border-inline-start: 4px solid #10B070; }
table.tt td.tt-fill-tp { background: #FFEBC7; border-inline-start: 4px solid #F59E0B; }
table.tt td.tt-fill-warn { outline: 2px solid #D14343; outline-offset: -2px; background-image: repeating-linear-gradient(135deg, transparent 0 8px, rgba(209, 67, 67, .08) 8px 16px); }
table.tt td.tt-fill .tt-l.tt-flat { margin: 0; padding: 6px 8px; background: none; border: 0; border-radius: 0; outline: 0; }
table.tt td.tt-fill a.tt-l.tt-flat::after { content: ""; position: absolute; inset: 0; }
@media print { table.tt td.tt-fill { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
table.tt td.tt-fill { vertical-align: middle; }
