@font-face{font-family:Lexend;font-weight:400;font-display:swap;src:url("/static/fonts/Lexend-Regular.ttf") format("truetype")}
@font-face{font-family:Lexend;font-weight:500;font-display:swap;src:url("/static/fonts/Lexend-Medium.ttf") format("truetype")}
@font-face{font-family:Lexend;font-weight:600;font-display:swap;src:url("/static/fonts/Lexend-SemiBold.ttf") format("truetype")}
@font-face{font-family:Lexend;font-weight:700;font-display:swap;src:url("/static/fonts/Lexend-Bold.ttf") format("truetype")}
:root{--violet:#403d88;--electric:#2f1bec;--sky:#4375ff;--purple:#792182;--fuchsia:#e117c1;--yellow:#fbba00;--gray:#adaabb}
*{box-sizing:border-box}html{font-family:Lexend,system-ui,sans-serif}body{margin:0;background:#f2f1f7;color:#111827}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;background:transparent;border:0;padding:0;color:inherit}img,video{max-width:100%}table{border-collapse:collapse;width:100%}[x-cloak]{display:none!important}
.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.table{display:table}.contents{display:contents}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-1{flex:1 1 0%}.flex-none{flex:none}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}
.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){margin-top:.25rem}.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.space-y-5>:not([hidden])~:not([hidden]){margin-top:1.25rem}.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}.space-y-10>:not([hidden])~:not([hidden]){margin-top:2.5rem}
.relative{position:relative}.fixed{position:fixed}.absolute{position:absolute}.inset-0{inset:0}.top-4{top:1rem}.right-4{right:1rem}.z-50{z-index:50}
.mx-auto{margin-left:auto;margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}
.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}
.w-full{width:100%}.w-auto{width:auto}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.h-full{height:100%}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-14{height:3.5rem}.h-32{height:8rem}.min-h-screen{min-height:100vh}.min-h-\[calc\(100vh-10rem\)\]{min-height:calc(100vh - 10rem)}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-none{max-width:none}
.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.border{border:1px solid #e5e7eb}.border-t{border-top:1px solid #e5e7eb}.border-b{border-bottom:1px solid #e5e7eb}.border-red-200{border-color:#fecaca}.border-red-300{border-color:#fca5a5}.border-red-400{border-color:#f87171}.border-gray-200{border-color:#e5e7eb}.border-adaltra-violet\/30{border-color:rgba(64,61,136,.3)}.border-adaltra-violet\/40{border-color:rgba(64,61,136,.4)}.border-adaltra-gray\/10{border-color:rgba(173,170,187,.1)}.border-adaltra-gray\/20{border-color:rgba(173,170,187,.2)}.border-adaltra-gray\/30{border-color:rgba(173,170,187,.3)}.border-adaltra-gray\/40{border-color:rgba(173,170,187,.4)}.border-adaltra-electric\/20{border-color:rgba(47,27,236,.2)}.border-adaltra-electric\/30{border-color:rgba(47,27,236,.3)}
.bg-white{background:#fff}.bg-gray-50{background:#f9fafb}.bg-gray-100{background:#f3f4f6}.bg-red-50{background:#fef2f2}.bg-\[\#f2f1f7\]{background:#f2f1f7}.bg-adaltra-violet{background:var(--violet)}.bg-adaltra-electric{background:var(--electric)}.bg-adaltra-sky{background:var(--sky)}.bg-adaltra-electric\/5{background:rgba(47,27,236,.05)}.bg-adaltra-electric\/10{background:rgba(47,27,236,.1)}.bg-adaltra-violet\/5{background:rgba(64,61,136,.05)}.bg-adaltra-violet\/10{background:rgba(64,61,136,.1)}.bg-adaltra-sky\/10{background:rgba(67,117,255,.1)}.bg-adaltra-yellow\/10{background:rgba(251,186,0,.1)}.bg-adaltra-gray\/20{background:rgba(173,170,187,.2)}
.text-white{color:#fff}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-gray-900{color:#111827}.text-red-400{color:#f87171}.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}.text-red-700{color:#b91c1c}.text-red-800{color:#991b1b}.text-yellow-900{color:#713f12}.text-adaltra-violet{color:var(--violet)}.text-adaltra-electric{color:var(--electric)}.text-adaltra-sky{color:var(--sky)}.text-adaltra-purple{color:var(--purple)}.text-adaltra-gray{color:var(--gray)}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.tracking-tight{letter-spacing:-.025em}.leading-relaxed{line-height:1.625}.whitespace-nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.underline{text-decoration:underline}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}.shadow-md{box-shadow:0 4px 6px rgba(0,0,0,.1)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.opacity-100{opacity:1}.transition-colors,.transition-opacity,.transition-all,.transition-transform{transition:all .15s ease}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.prose p{margin:.75rem 0}.list-disc{list-style:disc}.list-inside{list-style-position:inside}.accent-adaltra-violet{accent-color:var(--violet)}.accent-adaltra-electric{accent-color:var(--electric)}
.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:bg-adaltra-violet:hover{background:var(--violet)}.hover\:bg-adaltra-electric:hover{background:var(--electric)}.hover\:bg-adaltra-sky:hover{background:var(--sky)}.hover\:bg-gray-50:hover{background:#f9fafb}.hover\:bg-red-50:hover{background:#fef2f2}.hover\:bg-adaltra-violet\/10:hover{background:rgba(64,61,136,.1)}.hover\:bg-adaltra-sky\/10:hover{background:rgba(67,117,255,.1)}.hover\:text-adaltra-violet:hover{color:var(--violet)}.hover\:text-adaltra-sky:hover{color:var(--sky)}.hover\:text-gray-700:hover{color:#374151}.hover\:text-red-600:hover{color:#dc2626}.hover\:text-red-700:hover{color:#b91c1c}.hover\:border-adaltra-violet\/40:hover{border-color:rgba(64,61,136,.4)}.hover\:border-adaltra-sky\/40:hover{border-color:rgba(67,117,255,.4)}.hover\:border-red-300:hover{border-color:#fca5a5}.hover\:shadow-sm:hover{box-shadow:0 1px 2px rgba(0,0,0,.05)}
.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:text-adaltra-violet{color:var(--violet)}.group:hover .group-hover\:text-adaltra-sky{color:var(--sky)}
.active\:scale-95:active{transform:scale(.95)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}
@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:items-end{align-items:flex-end}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:grid-cols-\[10rem_1fr_1fr_auto\]{grid-template-columns:10rem 1fr 1fr auto}}
@media (min-width:1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}}
.m-0{margin:0}.-mb-px{margin-bottom:-1px}.p-0{padding:0}.list-none{list-style:none}.w-7{width:1.75rem}.w-28{width:7rem}.w-32{width:8rem}.w-40{width:10rem}.w-48{width:12rem}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-7{height:1.75rem}.max-w-lg{max-width:32rem}.max-w-5xl{max-width:64rem}.gap-0\.5{gap:.125rem}.space-y-1\.5>:not([hidden])~:not([hidden]){margin-top:.375rem}.space-y-8>:not([hidden])~:not([hidden]){margin-top:2rem}.mb-5{margin-bottom:1.25rem}.mt-1\.5{margin-top:.375rem}.pl-4{padding-left:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-16{padding-top:4rem;padding-bottom:4rem}.right-0{right:0}.z-10{z-index:10}.border-b-2{border-bottom:2px solid #e5e7eb}.border-transparent{border-color:transparent}.border-adaltra-yellow\/60{border-color:rgba(251,186,0,.6)}.bg-black{background:#000}.bg-red-100{background:#fee2e2}.bg-adaltra-yellow\/20{background:rgba(251,186,0,.2)}.bg-adaltra-fuchsia\/10{background:rgba(225,23,193,.1)}.bg-adaltra-purple\/10{background:rgba(121,33,130,.1)}.text-yellow-800{color:#854d0e}.text-adaltra-gray\/40{color:rgba(173,170,187,.4)}.text-adaltra-fuchsia{color:var(--fuchsia)}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.uppercase{text-transform:uppercase}.opacity-50{opacity:.5}.cursor-default{cursor:default}.duration-200{transition-duration:.2s}.shadow-lg{box-shadow:0 10px 15px rgba(0,0,0,.1)}.prose-sm{font-size:.875rem;line-height:1.5}.divide-y>:not([hidden])~:not([hidden]){border-top:1px solid #e5e7eb}.divide-adaltra-gray\/10>:not([hidden])~:not([hidden]){border-color:rgba(173,170,187,.1)}.responsive-table{min-width:42rem}
@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.site-header-inner{height:auto;min-height:3.5rem;gap:.75rem}.site-nav{gap:.75rem;overflow-x:auto;max-width:calc(100vw - 11rem);padding:.75rem 0;font-size:.75rem}.py-8{padding-top:1.25rem;padding-bottom:1.25rem}.space-y-10>:not([hidden])~:not([hidden]){margin-top:1.75rem}.w-96{width:calc(100vw - 2rem)}.dashboard-assignment-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem}.dashboard-progress{flex-wrap:wrap;gap:.375rem .75rem}.dashboard-progress-bar{width:100%;flex-basis:100%}.dashboard-action{grid-column:1/-1;width:100%}.dashboard-action a{display:flex;justify-content:center;width:100%}.responsive-table{min-width:38rem}th,td{white-space:nowrap}.prose ul,.prose ol{padding-left:1.25rem}}

/* Contenu texte (WYSIWYG formateur) — remplace les variantes arbitraires [&_x]: non compilees */
.text-content h2{font-size:1.25rem;line-height:1.75rem;font-weight:600;margin:1rem 0 .5rem}
.text-content h3{font-size:1rem;line-height:1.5rem;font-weight:600;margin:.75rem 0 .5rem}
.text-content p{margin:0 0 .75rem}
.text-content ul{list-style:disc;padding-left:1.25rem;margin:0 0 .75rem}
.text-content ol{list-style:decimal;padding-left:1.25rem;margin:0 0 .75rem}
.text-content li{margin-bottom:.25rem}
.text-content a{color:var(--sky);text-decoration:underline}
.text-content img{max-width:100%;height:auto;border-radius:.5rem;margin:.75rem 0}

/* Zones tactiles confortables sur mobile (cible recommandee : 44px) */
@media (max-width:640px){
  .content-nav a,.content-nav button{min-height:44px;display:inline-flex;align-items:center}
  .content-nav{gap:.75rem}
  /* Le padding passe du conteneur aux liens : hauteur du header inchangee */
  .site-nav{padding:0}
  .site-nav a,.site-nav button{min-height:44px;display:inline-flex;align-items:center}
  .dashboard-action a{min-height:44px}
  /* iOS Safari zoome automatiquement si la police d'un champ est < 16px.
     Le selecteur [class] porte la specificite au-dessus de .text-sm. */
  input,select,textarea,
  input[class],select[class],textarea[class]{font-size:16px}
}
