
html.campus-unified{--campus-space:104px;--campus-nav:76px;scroll-padding-top:24px;background:#ececf1}html.campus-menu-open{--campus-space:340px;--campus-nav:312px}
html.campus-unified body{margin:0!important;padding:16px 16px 16px var(--campus-space)!important;background:radial-gradient(ellipse at 15% 5%,#f9f9fb,transparent 52%),#ececf1!important;color:#242426;font-family:CampusEffra,Arial,sans-serif;min-height:100dvh;box-sizing:border-box}
#campus-navigation{position:fixed;inset:16px auto 16px 16px;width:var(--campus-nav);display:flex;z-index:1000;font:15px/1.4 CampusEffra,Arial,sans-serif;border-radius:28px;background:#f4f4f8;color:#242426;box-shadow:0 12px 36px -25px #25252740;isolation:isolate}#campus-navigation *{box-sizing:border-box}#campus-navigation svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}#campus-navigation a{text-decoration:none}#campus-navigation a:focus-visible,#campus-navigation button:focus-visible{outline:3px solid #8c8751;outline-offset:3px}#campus-navigation .campus-rail{width:76px;flex-shrink:0;background:linear-gradient(160deg,#303032,#202022);border-radius:28px;display:flex;flex-direction:column;align-items:center;padding:18px 8px;gap:16px;overflow:auto;scrollbar-width:none}#campus-navigation .campus-logo{display:grid;place-items:center;background:#fff;border-radius:12px;width:56px;height:52px;flex-shrink:0;padding:4px}#campus-navigation .campus-logo img{width:100%;height:100%;object-fit:contain}#campus-toggle{display:grid;place-items:center;width:48px;min-height:42px;padding:0;border:0;border-radius:14px;background:transparent;color:#d0d0d4;cursor:pointer}#campus-toggle:hover{background:#ffffff18}#campus-navigation .campus-shortcuts{display:flex;flex-direction:column;gap:8px}#campus-navigation .campus-shortcuts a{display:grid;place-items:center;width:48px;height:46px;border-radius:16px;color:#c9c9cd}#campus-navigation .campus-shortcuts a:hover{background:#ffffff12;color:white}#campus-navigation .campus-shortcuts a[aria-current]{background:#ffffff24;color:white;box-shadow:inset 0 1px 2px #ffffff25}
#campus-panel{width:236px;overflow-y:auto;padding:25px 14px;overscroll-behavior:contain;scrollbar-width:thin}html:not(.campus-menu-open) #campus-panel{display:none}#campus-navigation .campus-panel-brand{display:block;margin:0 auto 25px;width:168px;height:66px}#campus-navigation .campus-panel-brand img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}#campus-navigation .campus-caption{font-size:10px;letter-spacing:.13em;color:#777781;font-weight:700;margin:0 12px 12px}:is(#campus-global-links,#campus-footer-links){display:flex;flex-direction:column;gap:4px}:is(#campus-global-links,#campus-footer-links) a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:22px;color:#606069;font-size:14px;min-height:44px}:is(#campus-global-links,#campus-footer-links) a:hover{background:#e8e8ee;color:#242426}:is(#campus-global-links,#campus-footer-links) a[aria-current]{background:#252527;color:white;box-shadow:0 7px 14px -10px #25252780}:is(#campus-global-links,#campus-footer-links) svg{width:19px;height:19px}
#campus-context:not(:empty){border-top:1px solid #dddde5;margin-top:22px;padding-top:20px}#campus-context .sidebar,#campus-context .account-sidebar{display:flex!important;flex-direction:column!important;position:static!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important}#campus-context .menu-brand,#campus-context .logo,#campus-context .account-logo,#campus-context .sidebar>img,#campus-context .sidebar>a:has(img),#campus-context .account-sidebar>a:has(img),#campus-context .side-note,#campus-context .side-message,#campus-context .side-bottom,#campus-context .sidebar-bottom,#campus-context .sidebar-user,#campus-context .profile,#campus-context .side-identity{display:none!important}#campus-context h2,#campus-context .side-title{font:700 18px/1.3 CampusEffra,Arial,sans-serif!important;letter-spacing:-.3px;margin:0 12px 14px!important}#campus-context nav,#campus-context .account-menu{display:flex!important;flex-direction:column!important;gap:5px!important;height:auto!important}#campus-context nav a,#campus-context .account-menu a,#campus-context button[data-section]{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start!important;gap:9px!important;width:100%;padding:11px 12px!important;font-size:13px!important;border-radius:18px!important;min-height:42px;box-shadow:none!important}#campus-context svg{width:18px;height:18px}#campus-context .nav-count{display:inline!important;margin-left:auto}#campus-context .context-tools{margin-top:18px}#campus-backdrop{display:none}
/* The common navigation replaces all former rails. Context nodes keep their listeners. */
html.campus-unified .icon-rail,html.campus-unified .video-rail,html.campus-unified .account-rail,html.campus-unified aside.rail{display:none!important}html.campus-unified .campus-shell,html.campus-unified .app-shell,html.campus-unified .account-shell,html.campus-unified body>.shell{display:block!important;grid-template-columns:minmax(0,1fr)!important;padding:0!important;margin:0!important;min-height:calc(100dvh - 32px)!important;max-width:none!important;border:0!important;background:transparent!important;box-shadow:none!important}html.campus-unified .workspace,html.campus-unified .account-workspace{margin:0!important;min-width:0;border-radius:28px;background:#fff;min-height:calc(100dvh - 32px)}html.campus-unified body.campus-library{padding-left:var(--campus-space)!important}html.campus-unified body.campus-library>main{margin-left:0!important;max-width:none!important}html.campus-unified #campus-game{top:16px!important;left:var(--campus-space)!important;width:calc(100% - var(--campus-space) - 16px)!important;height:calc(100dvh - 32px)!important;border-radius:24px}html.campus-unified .mobile-nav{display:none!important}
@media(max-width:800px){html.campus-unified,html.campus-menu-open{--campus-space:82px;--campus-nav:64px}html.campus-menu-open{--campus-nav:300px}html.campus-unified body{padding:8px 8px 8px var(--campus-space)!important}#campus-navigation{inset:8px auto 8px 8px;border-radius:24px}#campus-navigation .campus-rail{width:64px;border-radius:24px;padding:12px 4px;gap:12px}#campus-navigation .campus-logo{width:50px;height:46px}#campus-panel{padding-top:20px}html.campus-menu-open #campus-backdrop{display:block;position:fixed;inset:0;z-index:999;border:0;background:#16161c50;backdrop-filter:blur(2px)}html.campus-unified #campus-game{top:8px!important;width:calc(100% - var(--campus-space) - 8px)!important;height:calc(100dvh - 16px)!important}html.campus-unified .workspace,html.campus-unified .account-workspace{border-radius:20px}html.campus-unified main{padding-left:16px!important;padding-right:16px!important}#campus-context .sidebar h2{display:block!important}}
@media(prefers-reduced-motion:no-preference){:is(#campus-global-links,#campus-footer-links) a,#campus-navigation .campus-shortcuts a{transition:background .15s,color .15s}}
#campus-context .hidden,#campus-context [hidden]{display:none!important}#campus-context .account-menu a[aria-current],#campus-context nav a[aria-current],#campus-context nav a.active,#campus-context nav a.selected,#campus-context button[data-section].selected{background:#252527!important;color:white!important}#campus-context .account-menu a,#campus-context nav a,#campus-context button[data-section]{color:#606069}#campus-context .side-count{margin-left:auto}#campus-context .side-label,#campus-context .side-heading{font-size:12px;color:#777781}#campus-context .account-menu a{font-family:CampusEffra,Arial,sans-serif}#campus-context .sidebar{gap:0!important}
html.campus-unified body.campus-library{--rail-space:var(--campus-space)}
#campus-navigation #campus-context .hidden,#campus-navigation #campus-context [hidden]{display:none!important}
@media(max-width:800px){html.campus-unified .campus-library .browsebar{flex-wrap:wrap;min-width:0}html.campus-unified .campus-library .chips{display:flex;flex-wrap:wrap;max-width:100%;border-radius:20px}html.campus-unified .campus-library .chip{padding:10px 13px;font-size:12px}html.campus-unified .campus-library .field{min-width:0}html.campus-unified .campus-library .field input{min-width:0;width:100%}}
/* Logo officiel blanc directement sur le rail, sans pastille. */
#campus-navigation .campus-logo{background:transparent;border-radius:0;padding:0}
#campus-navigation .campus-logo img{filter:brightness(0) invert(1);mix-blend-mode:screen}
/* Une seule surface pour la recherche et le catalogue vidéo. */
html.campus-unified .library-surface{background:#fff;border-radius:28px;min-height:calc(100dvh - 32px);padding-bottom:1px}
html.campus-unified .library-surface>.top{background:transparent;border-radius:28px 28px 0 0}
html.campus-unified .library-surface>.wrap{background:transparent;margin-left:0;max-width:none}
@media(max-width:800px){html.campus-unified .library-surface{border-radius:20px;min-height:calc(100dvh - 16px)}}

/* Larger dashboard copy; the game keeps its existing typography. */
html:not(.campus-parcours) :is(#campus-global-links,#campus-footer-links) a{font-size:17px;line-height:1.35}
html:not(.campus-parcours) #campus-navigation .campus-caption{font-size:13px;line-height:1.4}
html:not(.campus-parcours) #campus-context nav a,html:not(.campus-parcours) #campus-context .account-menu a,html:not(.campus-parcours) #campus-context button[data-section]{font-size:16px!important;line-height:1.4!important}
html:not(.campus-parcours) #campus-context .side-label,html:not(.campus-parcours) #campus-context .side-heading{font-size:15px;line-height:1.4}
@media(max-width:800px){html.campus-unified:not(.campus-parcours) .campus-library .chip{font-size:15px}}

/* Explicit reading sizes requested by Alice: body 18, navigation 16, secondary 15. */
html:not(.campus-parcours) body{font-size:18px}
html:not(.campus-parcours) :is(p,textarea,input,select){font-size:18px}
html:not(.campus-parcours) :is(small,time,label,.meta,.metadata,.caption,.eyebrow,.hint,.note,.badge,.tag,.mono,.dur,.cm,.stat,.side-label,.side-heading){font-size:15px!important}
html:not(.campus-parcours) :is(#campus-global-links,#campus-footer-links) a,html:not(.campus-parcours) #campus-context nav a,html:not(.campus-parcours) #campus-context .account-menu a,html:not(.campus-parcours) #campus-context button[data-section],html:not(.campus-parcours) .campus-library .chip{font-size:16px!important}
html:not(.campus-parcours) #campus-navigation .campus-caption{font-size:15px!important}

/* Account and support stay at the bottom; the main shortcuts scroll on short screens. */
#campus-navigation .campus-rail{overflow:hidden}
#campus-navigation .campus-shortcuts-main{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
#campus-navigation .campus-shortcuts a{flex-shrink:0}
#campus-navigation .campus-shortcuts-footer{flex:0 0 auto;margin-top:auto;padding-top:8px}



html:not(.campus-parcours) body{font-weight:500}
html:not(.campus-parcours) :is(p,input,textarea,select){font-weight:500}
html:not(.campus-parcours) :is(small,time,label,.meta,.metadata,.caption,.eyebrow,.hint,.note,.badge,.tag,.mono,.dur,.cm,.stat,.side-label,.side-heading){font-weight:600!important}

/* Align the expanded account links with the utility icons in the rail. */
#campus-panel{display:flex;flex-direction:column;overflow:hidden;padding:0}
.campus-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:25px 14px 12px;scrollbar-width:thin}
#campus-footer-links{flex:0 0 auto;margin-top:auto;padding:8px 14px 18px;gap:8px}
#campus-footer-links a{height:46px;min-height:46px;flex-shrink:0;padding:8px 14px}
@media(max-width:800px){.campus-panel-scroll{padding-top:20px}#campus-footer-links{padding-bottom:12px}}
/* Shared vertical rhythm for the icon rail and expanded navigation. */
#campus-navigation{--campus-main-start:144px}
#campus-navigation .campus-panel-scroll{padding-top:var(--campus-main-start);position:relative}
#campus-navigation .campus-panel-brand{position:absolute;top:25px;left:50%;transform:translateX(-50%);margin:0;height:66px}
#campus-navigation .campus-caption{position:absolute;top:108px;left:26px;margin:0}
#campus-global-links{gap:8px}
#campus-global-links a{height:46px;min-height:46px;flex-shrink:0;padding:8px 14px}
@media(max-width:800px){#campus-navigation{--campus-main-start:124px}#campus-navigation .campus-panel-brand{top:20px}#campus-navigation .campus-caption{top:94px}}
/* Distinct light-grey surface for the expanded menu. */
#campus-navigation{background:#e4e5e9}
#campus-panel{background:#e4e5e9;border-radius:0 28px 28px 0;box-shadow:inset -1px 0 0 #d7d8de}
@media(max-width:800px){#campus-panel{border-radius:0 24px 24px 0}}
/* Stronger text contrast on the light-grey navigation panel. */
#campus-navigation :is(#campus-global-links,#campus-footer-links) a{color:#303238}
#campus-navigation :is(#campus-global-links,#campus-footer-links) a[aria-current]{color:#fff}
#campus-navigation .campus-caption{color:#4d5059}
#campus-context .account-menu a,#campus-context nav a,#campus-context button[data-section]{color:#303238}
/* Hover adds depth without changing the menu colours. */
#campus-navigation :is(#campus-global-links,#campus-footer-links) a:hover{background:transparent;color:#303238;box-shadow:0 5px 11px #25252720,inset 0 1px 0 #ffffff80;transform:translateY(-1px)}
#campus-navigation :is(#campus-global-links,#campus-footer-links) a[aria-current]:hover{background:#252527;color:#fff;box-shadow:0 8px 15px #25252735,inset 0 1px 0 #ffffff20}
#campus-navigation .campus-shortcuts a:hover{background:transparent;color:#c9c9cd;box-shadow:0 5px 10px #00000045,inset 0 1px 0 #ffffff22;transform:translateY(-1px)}
#campus-navigation .campus-shortcuts a[aria-current]:hover{background:#ffffff24;color:#fff;box-shadow:0 5px 10px #00000045,inset 0 1px 2px #ffffff25}
@media(prefers-reduced-motion:no-preference){#campus-navigation :is(#campus-global-links,#campus-footer-links) a,#campus-navigation .campus-shortcuts a{transition:box-shadow .16s ease,transform .16s ease}}
@media(prefers-reduced-motion:reduce){#campus-navigation :is(#campus-global-links,#campus-footer-links) a:hover,#campus-navigation .campus-shortcuts a:hover{transform:none}}
/* Show only the bull and laurels from the brand artwork in the narrow rail. */
#campus-navigation .campus-logo{position:relative;overflow:hidden}
#campus-navigation .campus-logo img{position:absolute;top:0;left:50%;height:100%;width:auto;max-width:none;object-fit:initial;transform:translateX(-22.5%);clip-path:polygon(0 0,45% 0,45% 16%,29.2% 16%,29.2% 32.6%,38.5% 32.6%,38.5% 49%,45% 49%,45% 100%,0 100%)}

/* One shared bottom-right anchor for support across dashboard pages. */
html.campus-unified #campus-support-bubble{--offset:16px;bottom:calc(16px + env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}
/* Keep a single expanded navigation menu on every dashboard page. */
#campus-navigation #campus-context{display:none!important}


/* One dark sidebar expands to reveal labels beside the existing icons. */
html.campus-menu-open{--campus-space:308px;--campus-nav:280px}
#campus-navigation{background:linear-gradient(160deg,#303032,#202022);overflow:hidden}
#campus-navigation #campus-panel{display:none!important}
#campus-navigation .campus-rail{width:100%;background:transparent;align-items:flex-start;padding-left:14px;padding-right:14px}
#campus-navigation .campus-logo{margin-left:-4px}
#campus-navigation .campus-shortcuts{width:100%;flex-shrink:0}
#campus-navigation .campus-shortcuts a{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:0 12px;gap:16px;flex-shrink:0;overflow:hidden;white-space:nowrap}
#campus-navigation .campus-shortcuts a svg{width:24px;height:24px}
#campus-navigation .campus-link-label{font-size:16px;font-weight:500;opacity:0;visibility:hidden;transition:opacity .15s}
html.campus-menu-open #campus-navigation .campus-link-label{opacity:1;visibility:visible}
#campus-navigation .campus-shortcuts a[aria-current]{background:#ffffff24;color:#fff}
@media(prefers-reduced-motion:no-preference){#campus-navigation{transition:width .22s ease}html.campus-unified body{transition:padding-left .22s ease}}
@media(max-width:800px){
 html.campus-menu-open{--campus-space:82px;--campus-nav:280px}
 #campus-navigation .campus-rail{padding-left:8px;padding-right:8px}
 #campus-navigation .campus-logo{margin-left:0}
}
/* Expanded navigation replaces icons with labels. */
html.campus-menu-open #campus-navigation .campus-shortcuts a svg{display:none}
html.campus-menu-open #campus-navigation .campus-shortcuts a{padding-left:20px;padding-right:20px;gap:0}
html.campus-menu-open #campus-navigation #campus-toggle{align-self:flex-end}
html.campus-menu-open #campus-navigation #campus-toggle svg{transform:scaleX(-1)}
/* Marque complète lorsque les libellés du menu sont dépliés. */
html.campus-menu-open #campus-navigation .campus-logo{width:230px;height:108px;margin:0 auto;overflow:visible}
html.campus-menu-open #campus-navigation .campus-logo img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;clip-path:none}

/* Respecter les évidements blancs du fichier source et une taille compacte. */
#campus-navigation .campus-logo img{filter:invert(1);mix-blend-mode:screen}
html.campus-menu-open #campus-navigation .campus-logo{width:180px;height:86px}
/* Flèches des listes déroulantes espacées du bord, sur les pages du dashboard. */
html.campus-unified select:not([multiple]):not([size]){
 -webkit-appearance:none!important;appearance:none!important;
 padding-right:44px!important;
 background-image:none!important;
 background-repeat:no-repeat!important;background-size:16px 16px!important;background-position:right 16px center!important;
}
/* Bandeau supérieur commun aux pages de contenu. */
html.campus-unified .campus-pagebar{position:static!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;width:100%!important;min-height:76px!important;height:auto!important;padding:24px 36px!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;font:500 15px/1.4 CampusEffra,Arial,sans-serif!important;letter-spacing:normal!important;color:#72727a!important}
html.campus-unified .campus-pagebar>span{font:inherit!important;color:inherit!important;letter-spacing:inherit!important}
html.campus-unified .campus-pagebar>span:last-child{white-space:nowrap}
html.campus-unified .campus-home-pagebar{max-width:1180px;margin:0 auto!important}
@media(max-width:600px){html.campus-unified .campus-pagebar{padding:19px 20px!important;min-height:62px!important;font-size:13px!important;gap:12px!important}}

/* Reserve room inside the scroll area for lifted shortcut cards and shadows. */
#campus-navigation .campus-shortcuts-main{width:calc(100% + 16px);padding:8px 8px 14px;margin:-8px -8px -14px}
