:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1b2533;background:#f2eee6;--ink:#132033;--ink-soft:#25344a;--paper:#f7f3eb;--paper-deep:#ece5d9;--white:#fffdfa;--wine:#7b2639;--wine-dark:#5d1c2b;--brass:#b28a4a;--brass-light:#d5bd8a;--line:#d9d1c5;--muted:#6f756f;--success:#315c49;--shadow:0 18px 50px rgba(19,32,51,.08)}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;min-width:320px;background:linear-gradient(135deg,#f7f3eb,#f1ece3 55%,#eee7db);color:var(--ink)}button,input,select{font:inherit}button{border:0;border-radius:3px;background:var(--wine);color:#fff;padding:.9rem 1.2rem;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}button:hover:not(:disabled){background:var(--wine-dark);box-shadow:0 8px 22px #7b26392e}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.48;cursor:not-allowed}a{color:var(--wine);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}h1,h2,h3{font-family:Georgia,Times New Roman,serif;color:var(--ink);font-weight:500;letter-spacing:-.025em}h1{font-size:clamp(2rem,3.2vw,3.6rem);line-height:1.04;margin:.35rem 0 1rem}h2{font-size:clamp(1.55rem,2vw,2.2rem);margin:.3rem 0}p{line-height:1.65}::selection{background:var(--brass-light);color:var(--ink)}:focus-visible{outline:3px solid rgba(178,138,74,.45);outline-offset:3px}.eyebrow{margin:0;color:var(--wine);text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.16em}.muted{color:var(--muted)}.error{color:#9b1c31;background:#fff1f3;border-left:3px solid #9b1c31;padding:.8rem 1rem;margin:.25rem 0}.center{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:2rem;background:var(--ink)}.center:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(178,138,74,.15),transparent 28%),linear-gradient(120deg,transparent 0 55%,rgba(178,138,74,.055) 55% 55.4%,transparent 55.4% 100%)}.center:after{content:"§";position:absolute;right:-.05em;bottom:-.28em;font-family:Georgia,Times New Roman,serif;font-size:min(66vw,680px);line-height:1;color:#ffffff06;pointer-events:none}.card{background:#fffdfaf5;border:1px solid var(--line);border-radius:2px;padding:clamp(1.5rem,3vw,2.5rem);box-shadow:var(--shadow);position:relative}.card:before{content:"";position:absolute;left:-1px;top:-1px;width:72px;height:3px;background:var(--brass)}.login{width:min(100%,470px);z-index:1;padding:3rem}.login:after{content:"§";position:absolute;right:2.4rem;top:2rem;font-family:Georgia,Times New Roman,serif;font-size:2rem;color:var(--brass);opacity:.75}.login h1{font-size:clamp(2.35rem,5vw,3.25rem);margin:.65rem 0 .9rem}.login>.muted{max-width:330px;margin-bottom:1.9rem}form{display:grid;gap:1rem;margin-top:1.5rem}label{display:grid;gap:.45rem;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}input,select{width:100%;border:1px solid #cfc6b8;border-radius:2px;padding:.9rem 1rem;background:#ffffffeb;color:var(--ink);transition:border .18s ease,box-shadow .18s ease}input:focus,select:focus{border-color:var(--brass);box-shadow:0 0 0 3px #b28a4a1f;outline:0}input::placeholder{color:#9b9a96}input[type=file]{padding:.67rem;background:#fff}input[type=file]::file-selector-button{border:0;border-right:1px solid var(--line);background:transparent;color:var(--wine);font-weight:800;margin:-.67rem 1rem -.67rem -.67rem;padding:.85rem 1rem;cursor:pointer}.login button{margin-top:.35rem;width:100%;padding:1rem 1.25rem}header{min-height:72px;background:var(--ink);border-bottom:1px solid rgba(213,189,138,.35);display:flex;align-items:center;justify-content:space-between;padding:.85rem clamp(1.2rem,3vw,3rem);gap:1rem;box-shadow:0 7px 24px #13203324;position:relative;z-index:10}header>strong{display:flex;align-items:center;gap:.8rem;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:500;color:#fff;letter-spacing:.01em}header>strong:before{content:"§";display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(213,189,138,.5);color:var(--brass-light);font-size:1.25rem}nav{display:flex;align-items:center;gap:1.35rem;flex-wrap:wrap}nav a,header .link{color:#e4e7eb;font-size:.8rem;font-weight:700;letter-spacing:.035em;background:transparent;padding:.35rem 0}nav a:hover,header .link:hover{color:var(--brass-light);text-decoration:none;box-shadow:none;background:transparent}.shell{display:grid;grid-template-columns:360px 1fr;min-height:calc(100vh - 72px);background:var(--paper)}.path-sidebar{padding:0;background:#18263a;color:#fff;border-right:1px solid rgba(19,32,51,.2);min-height:calc(100vh - 72px)}.path-heading{padding:2.1rem 1.6rem 1.55rem;background:linear-gradient(180deg,#162337,#19283d);border-bottom:1px solid rgba(213,189,138,.2)}.path-heading .eyebrow{color:var(--brass-light)}.path-heading h2{color:#fff;margin:.35rem 0 0;font-size:2rem}.chapter-level{padding:1.4rem 1rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.08)}.chapter-heading{display:grid;gap:.28rem;padding:0 .55rem;margin-bottom:.85rem}.chapter-heading span{font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-light)}.chapter-heading strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500;line-height:1.3;color:#fff}.course-list{display:grid;gap:.38rem}.course-entry{width:100%;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:.7rem;text-align:left;background:transparent;color:#d8dee7;border:1px solid transparent;border-radius:2px;padding:.74rem .68rem;box-shadow:none}.course-entry:hover:not(:disabled){background:#ffffff0e;box-shadow:none}.course-entry.active{background:#f4efe5;color:var(--ink);border-color:#f4efe5;box-shadow:0 9px 24px #0000001f}.course-entry:disabled{background:transparent;color:#697689;opacity:.65}.course-status{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;font-family:Georgia,Times New Roman,serif;font-size:.72rem;opacity:.82}.course-copy{display:grid;gap:.12rem;min-width:0}.course-copy small{font-size:.61rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:inherit;opacity:.62}.course-copy strong{font-size:.82rem;line-height:1.25;font-weight:700;white-space:normal}.content{position:relative;width:100%;max-width:1180px;padding:clamp(3rem,6vw,6rem);align-self:start}.content:before{content:"";position:absolute;left:clamp(3rem,6vw,6rem);top:2.1rem;width:84px;height:2px;background:var(--brass)}.content>.eyebrow{margin-top:.8rem}.lesson-meta{font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#737873;margin:.45rem 0 .9rem}.content h1{max-width:880px}.course-video-block{margin:2.35rem 0}.course-video-label{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:#e7dfd1;border:1px solid #d5ccbc;border-bottom:0;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.course-video-label:after{content:"Lecture sécurisée";font-size:.62rem;color:#85857f}.video{background:#090d13;border:1px solid #0a111b;box-shadow:0 24px 46px #13203324}.video video{display:block;width:100%;max-height:620px;background:#000}.content>button{min-width:190px}.admin{display:grid;gap:1.4rem;padding:clamp(1.4rem,3vw,3rem);max-width:1360px;margin:auto}.admin h1{font-size:clamp(2.1rem,3vw,3.4rem)}.grid{grid-template-columns:1fr 1.5fr 1fr auto;align-items:end}.admin-form{grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) auto;align-items:end}.video-form{grid-template-columns:1.2fr 1.45fr 2fr .7fr auto}.admin-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.admin-link{position:relative;display:grid;gap:.45rem;min-height:160px;padding:1.5rem;border:1px solid var(--line);background:#f8f4ec;transition:transform .18s ease,border .18s ease,box-shadow .18s ease}.admin-link:hover{text-decoration:none;transform:translateY(-2px);border-color:#c3ad84;box-shadow:0 12px 28px #13203314}.admin-link:before{content:"01";font-family:Georgia,Times New Roman,serif;color:var(--brass);font-size:1.8rem}.admin-link:nth-child(2):before{content:"02"}.admin-link:nth-child(3):before{content:"03"}.admin-link strong{font-family:Georgia,Times New Roman,serif;font-size:1.22rem;font-weight:500;color:var(--ink)}.admin-link span{color:#737873;font-size:.86rem;line-height:1.5}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:transparent}th,td{text-align:left;padding:1rem;border-bottom:1px solid #dfd7ca}th{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;color:#737873;font-weight:800;background:#f5f0e7}td{font-size:.9rem}tbody tr:hover{background:#faf6ef}.secondary{background:#e8e1d6;color:var(--ink)}.secondary:hover:not(:disabled){background:#ddd3c4;box-shadow:none}.empty-state{padding:1rem 0 0}@media(max-width:1000px){.shell{grid-template-columns:320px 1fr}.admin-form,.video-form,.admin-links{grid-template-columns:1fr}}@media(max-width:760px){header{align-items:flex-start;padding:.85rem 1rem}header>strong{font-size:.95rem}nav{justify-content:flex-end;gap:.8rem}.shell{grid-template-columns:1fr}.path-sidebar{min-height:auto}.path-heading{padding:1.5rem 1rem}.chapter-level{padding:1rem}.content{padding:3rem 1.35rem}.content:before{left:1.35rem}.grid{grid-template-columns:1fr}.admin{padding:1rem}.login{padding:2rem 1.5rem}}
