@font-face{font-family:DM Sans;src:url(/brand/fonts/DMSans-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url(/brand/fonts/DMSans-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:DM Sans;src:url(/brand/fonts/DMSans-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:DM Sans;src:url(/brand/fonts/DMSans-Bold.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Cookie;src:url(/brand/fonts/Cookie-Regular.ttf)format("truetype");font-display:swap}:root{--charbon:#232323;--emeraude:#259e70;--emeraude-fonce:#1b7553;--emeraude-pale:#e6f4ee;--lemon:#feff92;--creme:#fff8f5;--gris:#5c5754;--trait:#eadfda;--blanc:#fff;--rouge:#b3261e;--rouge-pale:#fbeae8;--orange:#8a5a00;--orange-pale:#fff3d6;--rayon:14px;--ombre:0 1px 2px #2323230d, 0 6px 20px #2323230d}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--creme);color:var(--charbon);margin:0;font-family:DM Sans,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}h1,h2,h3{text-wrap:balance;margin:0 0 .5em;line-height:1.2}h1{font-size:1.9rem}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:0 0 1em}a{color:var(--emeraude-fonce)}img{max-width:100%}.manuscrit{color:var(--emeraude-fonce);font-family:Cookie,cursive;font-size:1.7em;font-weight:400;line-height:1}.muted{color:var(--gris)}.small{font-size:.875rem}.nowrap{white-space:nowrap}.right{text-align:right}.spacer{flex:1}.topbar{background:var(--blanc);border-bottom:1px solid var(--trait)}.topbar-inner{flex-wrap:wrap;align-items:center;gap:20px;max-width:1180px;margin:0 auto;padding:10px 20px;display:flex}.topbar .logo{height:44px;display:block}.topbar nav{flex-wrap:wrap;gap:4px;display:flex}.topbar nav a{color:var(--charbon);border-radius:999px;padding:8px 14px;font-weight:500;text-decoration:none}.topbar nav a:hover{background:var(--creme)}.topbar nav a.active{background:var(--charbon);color:var(--blanc)}.badge-admin{background:var(--lemon);border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:700}.page{max-width:1180px;margin:0 auto;padding:32px 20px 64px}.page.narrow{max-width:760px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head h1{margin:0}.crumbs{color:var(--gris);margin-bottom:10px;font-size:.9rem}.crumbs a{color:var(--gris)}.footer{text-align:center;color:var(--gris);padding:24px;font-size:.85rem}.footer a{color:var(--gris)}.card{background:var(--blanc);border:1px solid var(--trait);border-radius:var(--rayon);box-shadow:var(--ombre);padding:24px}.card+.card{margin-top:20px}.card h2:first-child{margin-top:0}.grid{gap:20px;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack>*+*{margin-top:14px}.btn{font:inherit;cursor:pointer;background:var(--emeraude-fonce);color:var(--blanc);border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-weight:700;line-height:1.2;text-decoration:none;transition:background .15s,transform 50ms;display:inline-flex}.btn:hover{background:#155e42}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--blanc);color:var(--charbon);border-color:var(--charbon)}.btn.secondary:hover{background:var(--creme)}.btn.lemon{background:var(--lemon);color:var(--charbon)}.btn.lemon:hover{background:#f4f570}.btn.danger{background:var(--blanc);color:var(--rouge);border-color:var(--rouge)}.btn.danger:hover{background:var(--rouge-pale)}.btn.small{padding:6px 14px;font-size:.875rem}.btn.ghost{color:var(--charbon);background:0 0;border-color:#0000;font-weight:500}.btn.ghost:hover{background:var(--creme)}.linklike{font:inherit;color:var(--emeraude-fonce);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}:focus-visible{outline:3px solid var(--emeraude);outline-offset:2px}label.field{font-weight:500;display:block}label.field>span{margin-bottom:6px;display:block}input[type=text],input[type=email],input[type=password],input[type=date],input[type=url],input[type=number],select,textarea{width:100%;font:inherit;color:inherit;background:var(--blanc);border:1.5px solid #cfc4bf;border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:110px}textarea.code{min-height:180px;font-family:Consolas,Courier New,monospace;font-size:.9rem}input:focus,select:focus,textarea:focus{outline:3px solid var(--emeraude-pale);border-color:var(--emeraude)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.check{cursor:pointer;align-items:center;gap:10px;display:flex}.check input{width:18px;height:18px;accent-color:var(--emeraude-fonce);flex:none}.hint{color:var(--gris);font-size:.85rem;font-weight:400}.rules{color:var(--gris);margin:8px 0 0;padding:0;font-size:.875rem;list-style:none}.rules li:before{content:"○ "}.rules li.ok{color:var(--emeraude-fonce)}.rules li.ok:before{content:"✓ "}.alert{border:1px solid;border-radius:10px;margin:0 0 16px;padding:12px 16px}.alert.error{background:var(--rouge-pale);color:var(--rouge);border-color:#f0c2bd}.alert.success{background:var(--emeraude-pale);color:var(--emeraude-fonce);border-color:#b9e0cf}.alert.info{background:var(--orange-pale);color:var(--orange);border-color:#f1dca4}.pill{white-space:nowrap;border-radius:999px;padding:2px 11px;font-size:.8rem;font-weight:700;display:inline-block}.pill.green{background:var(--emeraude-pale);color:var(--emeraude-fonce)}.pill.red{background:var(--rouge-pale);color:var(--rouge)}.pill.orange{background:var(--orange-pale);color:var(--orange)}.pill.grey{color:var(--gris);background:#efe9e6}.pill.lemon{background:var(--lemon);color:var(--charbon)}.loading{text-align:center;color:var(--gris);padding:48px}.progress{align-items:center;gap:12px;display:flex}.progress-track{background:#efe9e6;border-radius:999px;flex:1;min-width:80px;height:10px;overflow:hidden}.progress-fill{background:var(--emeraude);border-radius:999px;height:100%;transition:width .4s}.progress-label{font-variant-numeric:tabular-nums;text-align:right;min-width:3.2em;font-weight:700}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);border-bottom:2px solid var(--trait);white-space:nowrap;padding:8px 12px;font-size:.8rem}td{border-bottom:1px solid var(--trait);vertical-align:middle;padding:12px}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--creme)}.auth-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-side{background:var(--charbon);color:var(--creme);flex-direction:column;justify-content:space-between;gap:24px;padding:48px;display:flex;overflow:hidden}.auth-side .auth-logo{width:190px}.auth-side{justify-content:flex-start}.auth-hero{flex-direction:column;flex:1;justify-content:center;gap:64px;padding:16px 0 40px;display:flex}.auth-side .big{white-space:nowrap;margin:0;font-size:clamp(1.9rem,3.7vw,3.3rem);font-weight:700;line-height:1.1}.auth-side .big .manuscrit{color:var(--lemon);margin-top:6px;font-size:1.25em;display:block}.portrait{aspect-ratio:1;width:min(45vh,72%);margin-left:6%;position:relative}.portrait:before{content:"";border:2px solid var(--emeraude);border-radius:50%;position:absolute;inset:-7%}.portrait .disc{background:var(--lemon);border-radius:50%;padding:5%;position:absolute;inset:0}.portrait .disc img{object-fit:cover;object-position:50% 14%;border-radius:50%;width:100%;height:100%;display:block}.portrait .macaron{width:32%;position:absolute;top:-9%;right:-14%;transform:rotate(8deg)}.auth-main{justify-content:center;align-items:center;padding:32px 20px;display:flex}.auth-box{width:100%;max-width:420px}.auth-box a.discreet{color:var(--gris)}.auth-box .logo-mobile{height:64px;margin-bottom:24px;display:none}@media (width<=820px){.auth-wrap{grid-template-columns:1fr}.auth-side{display:none}.auth-box .logo-mobile{display:block}}.course-card{flex-direction:column;gap:14px;display:flex}.course-card h2{margin:0}.module{border:1px solid var(--trait);border-radius:var(--rayon);background:var(--blanc);overflow:hidden}.module+.module{margin-top:14px}.module-head{align-items:center;gap:12px;padding:16px 20px;display:flex}.module-head h2{flex:1;margin:0;font-size:1.1rem}.module.closed{color:var(--gris);background:0 0;border-style:dashed}.chapter-list{border-top:1px solid var(--trait);margin:0;padding:0;list-style:none}.chapter-list li+li{border-top:1px solid var(--trait)}.chapter-link{color:inherit;align-items:center;gap:12px;padding:12px 20px;text-decoration:none;display:flex}a.chapter-link:hover{background:var(--creme)}.chapter-link.locked{color:var(--gris)}.tick{width:22px;height:22px;color:var(--blanc);border:2px solid #cfc4bf;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.tick.done{background:var(--emeraude);border-color:var(--emeraude)}.chapter-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:28px;display:grid}.outline{background:var(--blanc);border:1px solid var(--trait);border-radius:var(--rayon);max-height:calc(100vh - 32px);padding:16px;position:sticky;top:16px;overflow-y:auto}.outline h3{text-transform:uppercase;letter-spacing:.04em;color:var(--gris);margin:16px 0 6px;font-size:.8rem}.outline h3:first-of-type{margin-top:12px}.outline ul{margin:0;padding:0;list-style:none}.outline .item{color:inherit;border-radius:8px;align-items:flex-start;gap:10px;padding:7px 8px;font-size:.93rem;line-height:1.35;text-decoration:none;display:flex}.outline a.item:hover{background:var(--creme)}.outline .item.current{background:var(--lemon);font-weight:700}.outline .item.locked,.outline .closed-note{color:var(--gris)}.outline .closed-note{padding:4px 8px;font-size:.85rem}.outline .tick{width:18px;height:18px;margin-top:1px;font-size:11px}.chapter-foot{border-top:1px solid var(--trait);flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;padding-top:20px;display:flex}@media (width<=900px){.chapter-layout{grid-template-columns:1fr}.outline{max-height:none;position:static}}.blocks>*+*{margin-top:24px}.richtext h2{margin-top:1.2em}.richtext h2:first-child,.richtext h3:first-child{margin-top:0}.richtext ul,.richtext ol{margin:0 0 1em;padding-left:1.3em}.richtext li p{margin:0}.richtext blockquote{border-left:4px solid var(--emeraude);color:var(--gris);margin:0 0 1em;padding:4px 0 4px 16px}.richtext>:last-child{margin-bottom:0}.video-frame{aspect-ratio:16/9;border-radius:var(--rayon);background:#000;position:relative;overflow:hidden}.video-frame video,.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.block-title{margin-bottom:8px;font-weight:700}.file-block,.link-block{border:1px solid var(--trait);border-radius:var(--rayon);background:var(--creme);flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px;display:flex}.file-block .meta,.link-block .meta{flex:1;min-width:200px}.file-block audio{width:100%;margin-top:10px}.file-image{border-radius:var(--rayon);margin-bottom:12px;display:block}.html-frame{border:0;width:100%;display:block}.empty-block{border-radius:var(--rayon);color:var(--gris);text-align:center;border:1px dashed #cfc4bf;padding:16px}.blocked{text-align:center;max-width:560px;margin:8vh auto}.blocked .icon{background:var(--lemon);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;font-size:28px;display:inline-flex}.stat{text-align:left}.stat .n{font-size:2rem;font-weight:700;line-height:1}.stat .l{color:var(--gris);margin-top:6px;font-size:.9rem}.sortable-row{background:var(--blanc);align-items:center;gap:10px;display:flex}.grip{cursor:grab;color:#b3a8a3;touch-action:none;background:0 0;border:0;border-radius:6px;padding:6px 4px;font-size:18px;line-height:1}.grip:hover{color:var(--charbon);background:var(--creme)}.grip:active{cursor:grabbing}.tree-module{border:1px solid var(--trait);border-radius:var(--rayon);background:var(--blanc);margin-bottom:14px}.tree-module>.sortable-row{padding:12px 14px}.tree-module .title{flex:1;min-width:160px;font-weight:700}.tree-chapters{border-top:1px solid var(--trait);padding:6px 14px 12px 40px}.tree-chapter{border-bottom:1px solid var(--trait);padding:6px 0}.tree-chapter .title{min-width:160px;color:inherit;flex:1;font-weight:500;text-decoration:none}.tree-chapter a.title:hover{color:var(--emeraude-fonce);text-decoration:underline}.inline-add{gap:8px;margin-top:10px;display:flex}.inline-add input{flex:1}.block-editor{border:1px solid var(--trait);border-radius:var(--rayon);background:var(--blanc);margin-bottom:14px}.block-editor>.sortable-row{border-bottom:1px solid var(--trait);border-radius:var(--rayon) var(--rayon) 0 0;background:var(--creme);padding:8px 12px}.block-editor .body{padding:16px}.add-blocks{border-radius:var(--rayon);border:2px dashed #cfc4bf;flex-wrap:wrap;align-items:center;gap:8px;padding:16px;display:flex}.editor{background:var(--blanc);border:1.5px solid #cfc4bf;border-radius:10px}.editor-toolbar{border-bottom:1px solid var(--trait);flex-wrap:wrap;gap:4px;padding:6px;display:flex}.editor-toolbar button{font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 10px;font-size:.875rem}.editor-toolbar button:hover{background:var(--creme)}.editor-toolbar button.on{background:var(--charbon);color:var(--blanc)}.editor .ProseMirror{outline:none;min-height:140px;padding:12px 14px}.modules-check{gap:8px;display:grid}.access-card{border:1px solid var(--trait);border-radius:var(--rayon);padding:18px}.access-card+.access-card{margin-top:14px}details.chapters-done summary{cursor:pointer;color:var(--gris);font-size:.9rem}.tabs{gap:4px;margin-bottom:16px;display:flex}.tabs button{font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 16px;font-weight:500}.tabs button.on{background:var(--charbon);color:var(--blanc)}.preview-banner{background:var(--lemon);border-radius:10px;margin-bottom:16px;padding:8px 14px;font-weight:700}
