/* AEGIS Formateur — feuille de style. Reprend les codes visuels de l'application AEGIS
   (fond #11151c, cartes dégradées 17 px, or #edc56c, titres Manrope, texte DM Sans). */

/* ---------- Base ---------- */
.trainer-body{
  --t-bg:#11151c;--t-side:#0c1016;--t-card-a:#20252b;--t-card-b:#191e25;--t-panel:#1b2028;
  --t-line:#303743;--t-line-soft:#262c36;--t-muted:#a7afb8;--t-dim:#8a93a0;
  --t-gold:#edc56c;--t-gold-d:#d8b568;--t-white:#eff1f5;--t-green:#8bbb9c;--t-warn:#e2a07b;
  --t-radius:17px;--t-ease:cubic-bezier(.22,1,.36,1);--t-head:Manrope,sans-serif;--t-demo-height:0px;
  background:var(--t-bg);color:var(--t-white);font-family:"DM Sans",sans-serif;font-size:15px;
  -webkit-font-smoothing:antialiased
}
.trainer-body *{box-sizing:border-box}
.trainer-body button,.trainer-body input,.trainer-body textarea,.trainer-body select{font:inherit}
.trainer-body a{text-decoration:none}
.trainer-body p{color:var(--t-muted);line-height:1.65}
.trainer-body button{border-radius:10px;min-height:42px}
.trainer-body :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--t-gold);outline-offset:3px}
.t-skip{position:fixed;top:-80px;left:20px;padding:15px;background:var(--t-gold);color:#111!important;z-index:1000;border-radius:10px}
.t-skip:focus{top:8px}
.t-gold{color:var(--t-gold)}
.trainer-body h1,.trainer-body h2,.trainer-body h3{font-family:var(--t-head);font-weight:700}
.trainer-body h1{font-size:34px;letter-spacing:-1.3px;line-height:1.12;margin:0 0 12px}
.trainer-body h2{font-size:21px;letter-spacing:-.6px;line-height:1.25}
.trainer-body h3{font-size:16px;letter-spacing:-.25px}
.t-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--t-gold);text-transform:uppercase;margin-bottom:12px}

/* ---------- Bandeau de démonstration locale ---------- */
.t-demo{min-height:36px;background:#26231b;border-bottom:1px solid #625334;color:#dcc991;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 24px;font-size:11px;position:sticky;top:0;z-index:30}
.t-demo[hidden]{display:none}
.t-demo span{display:flex;align-items:center;gap:8px}
.t-demo i{height:6px;width:6px;border-radius:50%;background:var(--t-gold)}
.t-demo label{display:flex;align-items:center;gap:9px}
.t-demo select{background:#26231b;border:1px solid #625334;color:#dcc991;padding:3px 18px 3px 8px;font-size:11px;min-height:25px;border-radius:7px}

/* ---------- Menu latéral ---------- */
.t-sidebar{position:fixed;left:0;top:var(--t-demo-height);bottom:0;width:244px;z-index:20;background:var(--t-side);border-right:1px solid var(--t-line-soft);padding:20px 23px 18px;display:flex;flex-direction:column;overflow-y:auto}
.t-brand{display:flex;align-items:center;justify-content:center;gap:11px;height:70px;padding:0;color:var(--t-white)!important;font:800 26px Manrope,sans-serif;text-decoration:none}
.t-brand svg{width:37px;height:46px;flex:none}
.t-brand>span{display:block;color:#e5be60;font-family:Manrope,"Avenir Next",sans-serif;font-size:26px;font-weight:800;letter-spacing:2.3px;line-height:27.3px}
.t-brand small{display:block;margin-top:2px;color:#c6b48b;font:500 8px/9.6px "DM Sans","Avenir Next",sans-serif;letter-spacing:2.65px}
.t-space{align-self:flex-start;margin:6px 0 6px 10px;padding:5px 10px;border:1px solid #edc56c40;border-radius:999px;background:#edc56c0d;color:var(--t-gold);font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.t-sidebar nav{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;flex-shrink:0;margin:0;padding:0;overflow:visible;white-space:normal}
.t-nav-group{margin:20px 10px 7px;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#8390a3;font-weight:600}
.t-sidebar nav a,.t-side-bottom>a{display:flex;align-items:center;gap:10px;color:#a7afb8;padding:10px;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:600;margin:1px 0;min-height:46px;width:100%;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.t-sidebar nav a:hover,.t-side-bottom>a:hover{color:var(--t-white);background:#ffffff08}
.t-sidebar nav a.active{background:#edc56c12;border-color:#edc56c26;color:#f3d184;box-shadow:inset 3px 0 #edc56c}
.t-icon{width:19px;height:19px;flex-shrink:0;vertical-align:middle}
.t-side-bottom{margin-top:auto;padding-top:20px;flex-shrink:0}
.t-side-bottom>a{font-size:12px}
.t-sub{border:1px solid #edc56c55;border-radius:12px;padding:13px 14px;margin-top:14px;font-size:12px;background:linear-gradient(135deg,#edc56c10,transparent)}
.t-sub small{display:block;color:var(--t-muted);margin-top:5px;font-size:11px}

/* ---------- Coque et en-tête ---------- */
.t-shell{margin-left:244px;min-height:calc(100dvh - var(--t-demo-height))}
.t-header{height:68px;padding:0 40px;border-bottom:1px solid var(--t-line-soft);display:flex;align-items:center;justify-content:space-between;color:var(--t-muted);font-size:12px;max-width:1360px;margin:auto}
.t-header>div{display:flex;gap:12px;align-items:center}
.t-header #mobile-menu{display:none}
#account-name{display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border:1px solid var(--t-line);border-radius:12px;background:#171c24;color:var(--t-white);font-size:12px}
.t-back{color:var(--t-muted)!important}
.t-back:hover{color:var(--t-white)!important}
.t-shell main{max-width:1360px;padding:36px 40px 56px;margin:auto}
.t-screen main{max-width:1120px;padding:32px 32px 60px;margin:auto}
.t-footer{padding:22px 40px;border-top:1px solid var(--t-line-soft);display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:var(--t-dim)}
.t-footer a{color:#9ba3af!important}
.t-footer a:hover{color:var(--t-white)!important}
.t-footer span{margin-right:auto}
.t-loading{padding:90px;text-align:center;color:var(--t-muted)}

/* ---------- Titres de page ---------- */
.t-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}
.t-heading p{margin:0;max-width:640px;font-size:14px}
.t-heading h1{margin-bottom:10px}

/* ---------- Boutons, badges, champs ---------- */
.t-btn,.t-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;border:1px solid var(--t-line);border-radius:10px;background:#1b212a;color:var(--t-white)!important;font-size:13px;font-weight:600;min-height:42px;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s var(--t-ease)}
.t-btn:hover{background:#242c37;border-color:#5b6572}
.t-primary{background:var(--t-gold);color:#1b1912!important;border-color:var(--t-gold)}
.t-primary:hover{background:#f4d283!important;border-color:#f4d283!important}
.t-primary:active,.t-btn:active{transform:translateY(1px)}
.t-btn:disabled,.t-primary:disabled{opacity:.42;cursor:not-allowed}
.t-btn.t-small{padding:7px 12px;font-size:12px;min-height:34px}
.t-btn.gold{border-color:#edc56c70;color:var(--t-gold)!important;background:#edc56c0a}
.t-btn.gold:hover{background:#edc56c18;border-color:var(--t-gold)}
.t-icon-btn{padding:8px!important;display:inline-flex;align-items:center;justify-content:center;width:38px;background:transparent!important;border:1px solid var(--t-line)}
.t-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.t-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #edc56c40;background:#edc56c0d;border-radius:999px;color:#ecd18d;padding:4px 10px;font-size:11px;font-weight:600;letter-spacing:.2px}
.t-badge.green{color:#9fd2b4;border-color:#8bbb9c45;background:#8bbb9c10}
.t-badge.neutral{color:var(--t-muted);border-color:var(--t-line);background:transparent}
.t-badge.warn{color:#efb690;border-color:#e2a07b45;background:#e2a07b10}
.t-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 4px;padding:0;list-style:none}
.t-meta li{display:inline-flex;align-items:center;gap:6px;color:var(--t-muted);font-size:12px}
.t-meta .t-icon{width:15px;height:15px;color:var(--t-dim)}
.t-meta li::before{content:none!important}
.trainer-body :is(input,textarea,select){background:#0f141b;color:var(--t-white);border:1px solid #384050;border-radius:10px;padding:11px 13px;max-width:100%;line-height:1.45}
.trainer-body :is(input,textarea,select):hover{border-color:#4a5363}
.trainer-body textarea{resize:vertical;min-height:140px}
.trainer-body select{cursor:pointer}
.t-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:12px;color:#ced3da;font-weight:500}
.t-field small{color:var(--t-muted);line-height:1.6}
.t-field :is(input,select,textarea){width:100%}
.t-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.t-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}
.t-toolbar input{flex:1;min-width:180px}
.t-inline-error{color:#f0a48d;font-size:12px;line-height:1.6;margin:0}
.t-inline-error:empty{display:none}
.t-section-label{display:block;font-size:11px;letter-spacing:1.5px;color:var(--t-gold);text-transform:uppercase;margin:22px 0 12px;font-weight:700}
.t-note{font-size:12px;color:var(--t-muted);line-height:1.7;display:block}
.t-note-box{padding:16px 18px;background:#edc56c0b;border:1px solid #edc56c2e;border-left:3px solid var(--t-gold);border-radius:4px 12px 12px 4px;margin:18px 0;font-size:12.5px;color:#d3c9b2;line-height:1.7}
.t-note-box .t-icon{width:15px;height:15px;vertical-align:-3px;margin-right:4px;color:var(--t-gold)}
.t-text,.t-panel-head>a{color:var(--t-gold);font-size:12px;font-weight:600}

/* ---------- Cartes ---------- */
.t-panel,.t-cohort-card,.t-lesson-card,.t-stat,.t-launch,.t-ready>div,.t-kpi,.t-flow-step{background:linear-gradient(135deg,var(--t-card-a),var(--t-card-b));border:1px solid var(--t-line);border-radius:var(--t-radius);box-shadow:0 4px 0 #ffffff06}
.t-panel{padding:24px;margin-bottom:20px;min-width:0}
.t-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.t-panel-head h2{font-size:18px;margin:0}
.t-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:20px;align-items:start}
.t-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.t-cohort-grid,.t-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}
.t-list-row{padding:15px 0;border-top:1px solid var(--t-line-soft);display:flex;align-items:center;justify-content:space-between;gap:18px}
.t-list-row:first-of-type{border-top:0}
.t-list-row h3{font-size:14.5px;margin:0 0 5px}
.t-list-row p{font-size:12px;margin:0}
.t-row-title{display:flex;gap:13px;align-items:center;min-width:0}
.t-dot{width:8px;height:8px;border-radius:50%;background:var(--t-gold);flex:none;box-shadow:0 0 0 4px #edc56c1c}
.t-empty{text-align:center;padding:54px 25px;border:1px dashed #454c58;border-radius:var(--t-radius);color:var(--t-muted);background:#ffffff03;margin-bottom:20px}
.t-empty>.t-icon{width:30px;height:30px;color:var(--t-gold)}
.t-empty h2{color:var(--t-white);margin:16px 0 10px}
.t-empty p{font-size:13px;max-width:480px;margin:0 auto 20px}
.t-atlas.t-atlas-static{position:static;display:block;width:104px;margin:0 auto 6px;animation:none;filter:drop-shadow(0 8px 14px #0006)}

/* ---------- Places (12 par promotion) ---------- */
.t-seats{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin:12px 0 7px}
.t-seats i{display:block;height:7px;border-radius:3px;background:#2d3440}
.t-seats i.on{background:linear-gradient(90deg,var(--t-gold-d),var(--t-gold))}
.t-seats-label{font-size:12px;color:var(--t-muted)}
.t-seats-label b{color:var(--t-white);font-weight:700}
.t-avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edc56c14;border:1px solid #edc56c40;color:var(--t-gold);font:700 12px var(--t-head);flex:none}

/* ---------- Vue d'ensemble ---------- */
.t-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:26px;padding:30px 32px;margin-bottom:22px;border:1px solid #edc56c3a;border-radius:var(--t-radius);background:radial-gradient(ellipse at 92% 10%,#edc56c14,transparent 58%),linear-gradient(120deg,#272519,#1a1f26 62%);overflow:hidden;align-items:center}
.t-hero h2{font-size:27px;line-height:1.2;margin:8px 0 12px;max-width:470px;letter-spacing:-.9px}
.t-hero p{font-size:14px;max-width:480px;margin:0 0 20px}
.t-hero .t-eyebrow{margin:0}
.t-hero .t-meta{margin-bottom:20px}
.t-stage{position:relative;display:grid;place-items:center;min-height:200px}
.t-stage .t-stage-art{max-width:300px;width:78%;margin-left:auto}
.t-stage-art{display:grid;place-items:center}
.t-stage-art>svg{width:100%;height:auto}
.t-atlas{position:absolute;left:-6px;bottom:-14px;width:118px;filter:drop-shadow(0 10px 18px #0007);transform-origin:50% 100%;animation:t-atlas-in .9s var(--t-ease) both}
.t-stat{padding:19px 20px;display:flex;align-items:center;gap:16px}
.t-stat>span{color:var(--t-gold);background:#edc56c0c;border:1px solid #edc56c28;padding:11px;border-radius:12px;display:grid}
.t-stat strong{display:block;font:800 28px/1.1 var(--t-head);letter-spacing:-.8px}
.t-stat small{display:block;font-size:12px;color:var(--t-muted);margin-top:6px}
.t-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 22px;position:relative}
.t-flow-step{padding:20px;display:flex;gap:15px;align-items:flex-start;color:var(--t-white)!important;transition:border-color .2s,transform .3s var(--t-ease)}
.t-flow-step:hover{border-color:#edc56c70;transform:translateY(-2px)}
.t-flow-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #edc56c55;color:var(--t-gold);font:700 13px var(--t-head);flex:none}
.t-flow-step strong{display:block;font:700 15px var(--t-head);margin-bottom:5px}
.t-flow-step small{display:block;color:var(--t-muted);font-size:12.5px;line-height:1.55}
.t-step-line{display:flex;gap:11px;align-items:center;font-size:12px;color:var(--t-muted);margin-top:13px}
.t-step-line span{border:1px solid #3b4350;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;color:var(--t-gold);flex:none;font-weight:700;font-size:12px}
.t-step-line strong{display:block;font-size:13px;color:var(--t-white);margin-bottom:3px}
.t-mini-promo{padding:16px 0;border-top:1px solid var(--t-line-soft)}
.t-mini-promo:first-of-type{border-top:0;padding-top:4px}
.t-mini-promo .t-card-top{display:flex;justify-content:space-between;align-items:center;gap:14px}
.t-mini-promo h3{font-size:15px;margin:6px 0 2px}
.t-mini-promo p{margin:0;font-size:12px}

/* ---------- Promotions ---------- */
.t-cohort-card{padding:24px}
.t-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.t-cohort-card h2{margin:16px 0 6px;font-size:21px}
.t-cohort-card p{font-size:12.5px;margin:0}
.t-cohort-footer{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.t-progress-track{height:7px;background:#2d3440;border-radius:4px;overflow:hidden;margin:14px 0 8px}
.t-progress-track>i{display:block;height:100%;background:linear-gradient(90deg,var(--t-gold-d),var(--t-gold));border-radius:4px}

/* ---------- Séances ---------- */
.t-segment{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.t-segment a{padding:8px 15px;border:1px solid var(--t-line);border-radius:999px;color:var(--t-muted);font-size:12.5px;font-weight:600;transition:border-color .2s,color .2s}
.t-segment a:hover{color:var(--t-white);border-color:#5b6572}
.t-segment a.active{border-color:#edc56c70;background:#edc56c0f;color:var(--t-gold)}
.t-lesson-card{position:relative;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .35s var(--t-ease)}
.t-lesson-card:hover{border-color:#edc56c55;transform:translateY(-2px)}
.t-lesson-visual{height:150px;background:radial-gradient(ellipse at 50% 60%,#edc56c12,transparent 68%),#12171e;display:grid;place-items:center;border-bottom:1px solid var(--t-line-soft);position:relative}
.t-lesson-visual>svg{width:168px;max-height:124px}
.t-lesson-visual .t-formation-ico{position:absolute;top:12px;left:14px;width:38px;height:38px;color:var(--t-gold);opacity:.9}
.t-lesson-content{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.t-lesson-content h3{margin:12px 0 8px;font-size:19px;letter-spacing:-.5px}
.t-lesson-content .t-meta{margin-bottom:20px}
.t-lesson-content .t-actions{margin-top:auto}

/* ---------- Animer en salle ---------- */
.t-launch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin-bottom:12px}
.t-launch h3{margin:6px 0 6px;font-size:17px}
.t-launch .t-meta{margin:0}
.t-launch.live{border-color:#edc56c70;background:linear-gradient(120deg,#2b281b,#1b2027)}
.t-live-code-chip{display:inline-flex;align-items:center;gap:8px;font:800 15px var(--t-head);letter-spacing:3px;color:var(--t-gold)}
.t-ready{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 22px}
.t-ready>div{padding:20px}
.t-ready .t-icon{width:22px;height:22px;color:var(--t-gold)}
.t-ready strong{display:block;font:700 15px var(--t-head);margin:12px 0 6px}
.t-ready small{display:block;color:var(--t-muted);line-height:1.6;font-size:12.5px}

/* ---------- Bibliothèque ---------- */
.t-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.t-course{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:#171c24;border:1px solid var(--t-line);border-radius:14px;transition:border-color .2s}
.t-course:hover{border-color:#edc56c55}
.t-course h3{margin:0 0 5px;font-size:15px}
.t-course p{margin:0;font-size:12px}

/* ---------- Questions d'une séance ---------- */
.t-q-list{border:1px solid var(--t-line);border-radius:12px;max-height:320px;overflow:auto;margin-bottom:18px;background:#10151c}
.t-question-pick{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--t-line-soft);font-size:13px;line-height:1.6;cursor:pointer}
.t-question-pick:hover{background:#ffffff05}
.t-question-pick:last-child{border:0}
.t-question-pick input{width:17px;height:17px;accent-color:var(--t-gold);flex:none;margin-top:2px}
.t-question-pick small{display:block;margin-top:3px}

/* ---------- Bilans ---------- */
.t-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.t-kpi{padding:20px}
.t-kpi small{display:block;color:var(--t-muted);font-size:12px;margin-bottom:8px}
.t-kpi strong{display:block;font:800 32px/1.1 var(--t-head);letter-spacing:-1px}
.t-kpi em{font-style:normal;color:var(--t-dim);font-size:12px}
.t-table-wrap{overflow:auto}
.t-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
.t-table th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--t-dim);padding:12px 10px;border-bottom:1px solid var(--t-line);font-weight:700}
.t-table td{padding:14px 10px;border-bottom:1px solid var(--t-line-soft);vertical-align:middle}
.t-table tr:last-child td{border-bottom:0}
.t-who{display:flex;align-items:center;gap:12px}
.t-bar{display:flex;align-items:center;gap:12px;min-width:150px}
.t-bar>i{display:block;flex:1;height:8px;border-radius:5px;background:#2d3440;position:relative;overflow:hidden}
.t-bar>i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--v,0%);border-radius:5px;background:var(--t-gold)}
.t-bar.good>i::after{background:var(--t-green)}
.t-bar.low>i::after{background:var(--t-warn)}
.t-bar b{font-size:12.5px;min-width:42px;text-align:right}
.t-percent{display:inline-block;min-width:44px;color:#9ec9b0}
.t-scorebar{height:8px;min-width:90px;max-width:150px;flex:1;background:#2d3440;border-radius:5px;overflow:hidden}
.t-scorebar i{display:block;height:100%;background:var(--t-warn)}
.t-plan{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.t-plan strong{font:800 24px var(--t-head);letter-spacing:-.6px}

/* ---------- Séance en direct ---------- */
.t-live-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:20px;align-items:start}
.t-stage-frame{border:1px solid #edc56c3a;border-radius:var(--t-radius);overflow:hidden;background:#12171e;box-shadow:0 4px 0 #ffffff06}
.t-stage-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid var(--t-line-soft);background:#161b23;font-size:12px;color:var(--t-muted)}
.t-stage-bar b{color:var(--t-white);font-weight:600}
.t-stage-bar .t-badge{font-size:10.5px}
.t-presentation{background:radial-gradient(ellipse at 82% 8%,#edc56c10,transparent 56%),#141a22;padding:34px;min-height:430px;display:flex;flex-direction:column}
.t-presentation h1{font-size:clamp(25px,3.4vw,46px);max-width:900px;margin:14px 0 22px}
.t-presentation p{font-size:clamp(15px,1.5vw,21px);line-height:1.75;color:#c7ced8}
.t-slide-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--t-line-soft);padding-top:16px;font-size:11px;color:var(--t-dim)}
.t-slide-footer .t-brand{height:auto;gap:8px}
.t-slide-footer .t-brand svg{width:25px;height:31px}
.t-slide-footer .t-brand>span{font-size:17px;line-height:18px;letter-spacing:1.5px}
.t-slide-footer .t-brand small{font-size:5.5px;line-height:7px;letter-spacing:1.8px;margin-top:2px}
.t-dots{display:flex;gap:6px;margin:0 0 4px}
.t-dots i{width:22px;height:4px;border-radius:3px;background:#323a47}
.t-dots i.on{background:var(--t-gold)}
.t-live-code{font:800 clamp(34px,6vw,64px) var(--t-head);letter-spacing:8px;color:var(--t-gold);margin:22px 0}
.t-lobby{display:flex;align-items:center;gap:45px;margin:22px 0}
.t-reveal-hint{border:1px dashed #5a5340;border-radius:12px;padding:24px;color:#bdb08d!important}
.t-answer{display:flex;align-items:center;gap:14px;border:1px solid #384252;padding:15px 18px;margin:10px 0;border-radius:14px;background:#1a212c;font-size:15px;color:var(--t-white);width:100%;text-align:left;line-height:1.5;cursor:pointer;transition:border-color .2s,background .2s}
.t-answer:hover{border-color:#5b6572}
.t-answer:has(input:checked){border-color:var(--t-gold);background:#edc56c10}
.t-answer{position:relative}
.t-answer input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.t-answer:has(input:focus-visible){outline:2px solid var(--t-gold);outline-offset:3px}
.t-answer:has(input:checked) .letter{background:var(--t-gold);border-color:var(--t-gold);color:#1b1912}
.t-answer:has(input:disabled){cursor:default}
.t-answer .letter{display:grid;place-items:center;border:1px solid #586273;border-radius:8px;height:30px;min-width:30px;color:var(--t-gold);font:700 13px var(--t-head)}
.t-answer.correct{border-color:#85ba9d;background:#85ba9d14}
.t-answer>small{margin-left:auto;color:var(--t-gold);white-space:nowrap;font-weight:700}
.t-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border:1px solid var(--t-line);border-radius:12px;background:#10151c}
.t-stepper button{min-height:38px;padding:6px 4px;border:0;background:transparent;color:var(--t-muted);font-size:12px;font-weight:600;cursor:pointer;border-radius:9px;display:grid;gap:2px;place-items:center}
.t-stepper button:hover{color:var(--t-white);background:#ffffff08}
.t-stepper button.active{background:#edc56c14;color:var(--t-gold);box-shadow:inset 0 0 0 1px #edc56c55}
.t-live-controls{display:flex;flex-direction:column;gap:10px}
.t-live-controls .t-btn,.t-live-controls .t-primary{width:100%}
.t-live-controls .t-section-label{margin:10px 0 2px}
.t-live-count{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--t-line);border-radius:12px;background:#10151c;font-size:12.5px;color:var(--t-muted)}
.t-live-count b{color:var(--t-white)}
.t-live-count .t-live-code-chip{font-size:16px}
.t-notes{white-space:pre-wrap;line-height:1.9;color:#c8ced7;font-size:15px;padding:22px;background:#10151c;border:1px solid #3a4250;border-radius:12px}
.t-diagram{margin:15px auto;text-align:center;width:100%}
.t-diagram>svg{width:min(340px,100%);height:auto}
.t-diagram-options{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:15px 0}
.t-diagram-options button{font-size:12px;padding:9px 12px}
.t-diagram-options button.active{border-color:var(--t-gold);color:var(--t-gold)}
.t-triangle-node{transition:opacity .3s,transform .3s}
.t-triangle-node.dim{opacity:.15}
.t-rei{display:flex;justify-content:center;gap:18px;padding:30px 0}
.t-rei div{padding:20px 24px;border:1px solid #edc56c50;border-radius:14px;background:#edc56c0a;text-align:center}
.t-rei strong{display:block;font:800 52px var(--t-head);color:var(--t-gold)}
.t-rei small{font-size:12px;color:var(--t-muted)}

/* ---------- Écran de projection et téléphones ---------- */
.t-screen:has(.t-projection) :is(.t-header,.t-footer){display:none}
.t-projection .t-presentation{min-height:calc(100dvh - var(--t-demo-height) - 70px);border:0;background:transparent;padding:clamp(24px,4vw,64px)}
.t-projection .t-presentation h1{font-size:clamp(34px,4.8vw,70px)}
.t-projection .t-presentation p{font-size:clamp(21px,2.1vw,30px)}
.t-projection .t-answer{font-size:clamp(20px,2.3vw,34px);padding:clamp(14px,1.6vw,24px) 26px;cursor:default;gap:20px;border-radius:18px}
.t-projection .t-answer .letter{height:1.5em;min-width:1.5em;font-size:.62em;border-radius:10px}
[data-trainer-page=projection] .t-screen main{max-width:1600px;padding:0 24px}
[data-trainer-page=notes-formateur] .t-screen main{max-width:1180px}
.t-projection .t-live-code{font-size:clamp(60px,9vw,140px)}
[data-trainer-page=classe] .t-screen main{max-width:560px;padding:22px 16px 60px}
[data-trainer-page=classe] .t-heading{display:block;margin-bottom:20px}
.t-screen #mobile-menu{display:none!important}
[data-trainer-page=classe] .t-answer{padding:18px;font-size:16px}
[data-trainer-page=classe] input[name=code]{font:800 30px var(--t-head);letter-spacing:8px;text-align:center}
.t-waiting{text-align:center;padding:50px 24px}
.t-pulse{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--t-gold);margin-right:8px;animation:t-pulse 1.6s ease-in-out infinite}

/* ---------- Fenêtres, invitations, notifications ---------- */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#28352f;color:#d7efdf;border:1px solid #8bbb9c50;padding:14px 24px;border-radius:12px;z-index:100;box-shadow:0 12px 35px #0006;max-width:min(580px,90vw);font-size:13px;display:none}
#toast.visible{display:block}
#toast.error{background:#392726;color:#f1c2b8;border-color:#c77b6250}
.trainer-body dialog{background:linear-gradient(135deg,#21262d,#181d24);color:var(--t-white);border:1px solid #424a57;border-radius:20px;max-width:min(640px,calc(100vw - 28px));width:640px;padding:28px;max-height:calc(100dvh - 40px);overflow:auto}
.trainer-body dialog::backdrop{background:#03070cc4;backdrop-filter:blur(4px)}
body:has(dialog[open]){overflow:hidden}
.t-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.t-dialog-head h2{margin:0}
.t-dialog-head button{border:0;background:transparent;padding:5px;min-height:32px;color:var(--t-muted);cursor:pointer}
.t-invite-layout{display:flex;align-items:center;gap:28px;padding:14px 0}
.t-invite-code{font:800 30px var(--t-head);letter-spacing:4px;color:var(--t-gold);margin:12px 0}
.t-qr{padding:12px;background:#fff;border-radius:14px;width:164px;height:164px;display:inline-block}
.t-qr svg{display:block;width:100%;height:100%}
.t-consent{display:flex;align-items:flex-start;gap:12px;font-size:12.5px;line-height:1.7;margin:16px 0;color:#cbd1da}
.t-consent input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:var(--t-gold)}
.t-terms-link{text-decoration:underline!important;font-size:12px;color:var(--t-muted)}
.t-faq{padding:0;border-top:1px solid var(--t-line-soft)}
.t-faq summary{cursor:pointer;line-height:1.6;font-weight:600;font-size:15px;padding:17px 4px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.t-faq summary::-webkit-details-marker{display:none}
.t-faq summary::after{content:"+";color:var(--t-gold);font:400 22px/1 var(--t-head);transition:transform .25s var(--t-ease)}
.t-faq[open] summary::after{transform:rotate(45deg)}
.t-faq p{font-size:13.5px;line-height:1.85;margin:0 4px 18px}
.t-legal p{font-size:14px;line-height:1.85;margin:0 0 16px;color:#c3cad4}
.t-legal{max-width:950px}
.t-print-only{display:none}

/* ---------- Page de présentation (publique) ---------- */
.t-lp-nav{display:flex;flex-direction:column}
.t-lp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.95fr);gap:44px;align-items:center;padding:20px 0 34px}
.t-lp-hero h1{font-size:clamp(32px,3.5vw,46px);line-height:1.1;letter-spacing:-1.8px;margin:14px 0 20px}
.t-lp-hero p{font-size:16px;max-width:560px;margin:0 0 26px}
.t-lp-proof{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.t-lp-section{margin:54px 0 0}
.t-sec-head{max-width:660px;margin-bottom:24px}
.t-sec-head h2{font-size:clamp(25px,2.8vw,32px);letter-spacing:-1px;margin:0 0 10px}
.t-sec-head p{margin:0;font-size:15px}

.t-room{position:relative;aspect-ratio:1/.92;width:100%;max-width:560px;margin-left:auto}
.t-win{position:absolute;border:1px solid #3a4352;border-radius:16px;background:linear-gradient(160deg,#1f252d,#151a21);box-shadow:0 22px 50px #0008;overflow:hidden}
.t-win-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid var(--t-line-soft);font-size:10.5px;color:var(--t-dim);background:#171c24}
.t-win-bar i{width:7px;height:7px;border-radius:50%;background:#394251}
.t-win-bar span{margin-left:6px}
.t-win-screen{left:0;top:0;width:82%;animation:t-room-screen 14s infinite}
.t-win-phone{right:0;bottom:0;width:38%;border-radius:22px;animation:t-room-phone 14s infinite;border-color:#edc56c50}
.t-win-notes{left:22%;bottom:0;width:40%;animation:t-room-notes 14s infinite}
.t-slide-mini{padding:20px 22px 22px;background:radial-gradient(ellipse at 85% 0%,#edc56c14,transparent 60%),#141a22}
.t-slide-mini small{display:block;color:var(--t-gold);font-size:10px;letter-spacing:1.4px;font-weight:700}
.t-slide-mini b{display:block;font:700 clamp(18px,2.2vw,25px)/1.15 var(--t-head);letter-spacing:-.6px;margin:8px 0 12px}
.t-slide-mini ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.t-slide-mini li{display:flex;align-items:center;gap:9px;font-size:clamp(11px,1.15vw,13px);color:#d4d9e0}
.t-slide-mini li:nth-child(1){animation:t-room-li1 14s infinite}.t-slide-mini li:nth-child(2){animation:t-room-li2 14s infinite}.t-slide-mini li:nth-child(3){animation:t-room-li3 14s infinite}
.t-slide-mini li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--t-gold);flex:none}
.t-phone-q{padding:14px 12px 16px;font-size:10.5px;background:#10151c}
.t-phone-q small{display:block;color:var(--t-dim);font-size:9.5px;margin-bottom:6px}
.t-phone-q strong{display:block;font:700 11.5px/1.3 var(--t-head);margin-bottom:10px;color:var(--t-white)}
.t-phone-q span{display:flex;gap:7px;align-items:center;padding:6px 7px;border:1px solid #384252;border-radius:8px;margin-top:5px;color:#c4cbd5;font-size:9.5px;line-height:1.25}
.t-phone-q span b{display:grid;place-items:center;min-width:16px;height:16px;border:1px solid #586273;border-radius:5px;color:var(--t-gold);font-size:8.5px}
.t-phone-q span.pick{animation:t-room-pick 14s infinite}
.t-phone-q em{display:block;margin-top:9px;font-style:normal;color:var(--t-green);font-size:9.5px;animation:t-room-em 14s infinite}
.t-note-mini{padding:13px 14px 15px;font-size:10.5px;color:#c8ced7;line-height:1.6;background:#10151c}
.t-note-mini b{display:flex;align-items:center;gap:6px;color:var(--t-gold);font-size:9.5px;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.t-note-mini .t-icon{width:12px;height:12px}
.t-room .t-atlas{left:-10px;bottom:-12px;width:112px;animation:t-room-atlas 14s infinite;z-index:3}

.t-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.t-feature{padding:24px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(135deg,var(--t-card-a),var(--t-card-b));border:1px solid var(--t-line);border-radius:var(--t-radius);box-shadow:0 4px 0 #ffffff06}
.t-feature>.t-icon{width:26px;height:26px;color:var(--t-gold)}
.t-feature h3{font-size:20px;margin:6px 0 0;letter-spacing:-.5px}
.t-feature p{margin:0;font-size:14px}
.t-feature ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.t-feature li{display:flex;gap:9px;font-size:13px;color:#cfd5dd;line-height:1.5;border:0;padding:0;margin:0}
.t-feature li::before{content:"";width:5px;height:5px;margin-top:8px;border-radius:50%;background:var(--t-gold);flex:none}
.t-offer{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:20px;align-items:start}
.t-timeline{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0 14px;margin:20px 0;padding:18px 20px;border:1px solid var(--t-line);border-radius:14px;background:#12171e}
.t-timeline b{display:block;font:700 15px var(--t-head)}
.t-timeline small{display:block;color:var(--t-muted);font-size:11.5px;margin-top:2px}
.t-timeline i{display:block;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--t-gold-d),var(--t-gold));position:relative}
.t-timeline i::before,.t-timeline i::after{content:"";position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--t-gold);box-shadow:0 0 0 4px #edc56c26}
.t-timeline i::before{left:-2px}.t-timeline i::after{right:-2px}
.t-price-box{border:1px solid #edc56c66;background:linear-gradient(150deg,#322c1c,#171c24 70%);border-radius:var(--t-radius);padding:32px;box-shadow:0 4px 0 #ffffff06}
.t-price{font:800 52px/1 var(--t-head);letter-spacing:-2.4px;margin:16px 0 10px}
.t-price small{font-size:15px;color:var(--t-muted);letter-spacing:0;font-weight:500}
.t-price-box .t-seats{margin:18px 0 6px}
.t-checks{padding:0;list-style:none;margin:22px 0}
.t-checks li{padding:9px 0;display:flex;gap:10px;font-size:13.5px;color:#d0d5dc;line-height:1.55}
.t-checks li::before{content:"✓";color:var(--t-gold);font-weight:700}
.t-price-box .t-primary{width:100%}
.t-formations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.t-formation{padding:22px 20px;border:1px solid var(--t-line);border-radius:var(--t-radius);background:linear-gradient(135deg,var(--t-card-a),var(--t-card-b));color:var(--t-white)!important;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 0 #ffffff06;transition:border-color .25s,transform .35s var(--t-ease)}
.t-formation:hover{border-color:#edc56c66;transform:translateY(-2px)}
.t-formation svg{width:64px;height:62px;color:var(--t-gold)}
.t-formation strong{font:700 19px var(--t-head);letter-spacing:-.5px}
.t-formation small{color:var(--t-muted);font-size:12.5px;line-height:1.55}
.t-formation span{margin-top:auto;color:var(--t-gold);font-size:12.5px;font-weight:600}
.t-lp-faq{padding:8px 24px}

/* ---------- Mouvements (réservés à l'arrivée sur la page) ---------- */
@keyframes t-atlas-in{from{opacity:0;transform:translateY(12px) rotate(-4deg)}to{opacity:1;transform:none}}
@keyframes t-pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}

/* ---------- Adaptation ---------- */
@media(min-width:1500px){.t-shell main{padding-top:44px}}
@media(max-width:1180px){
  .t-lp-hero{grid-template-columns:1fr}
  .t-room{margin:10px auto 0}
  .t-formations{grid-template-columns:repeat(2,minmax(0,1fr))}
  .t-feature-grid,.t-ready,.t-flow{grid-template-columns:1fr}
}
@media(max-width:1050px){
  .t-columns,.t-live-grid,.t-offer{grid-template-columns:1fr}
  .t-heading{align-items:flex-start}
  .t-shell main{padding:28px 24px}
  .t-header{padding:0 24px}
  .t-live-controls{display:grid;grid-template-columns:1fr 1fr}
  .t-live-controls>:is(.t-section-label,.t-note,.t-live-count,.t-stepper){grid-column:1/-1}
}
@media(min-width:761px) and (max-width:950px){
  .t-heading{flex-direction:column;align-items:flex-start}
  .t-hero{grid-template-columns:1fr}
  .t-stage{display:none}
}
@media(max-width:760px){
  .t-demo{padding:8px 14px;font-size:10px;min-height:42px;align-items:center}
  .t-demo label{font-size:0;flex-shrink:0}
  .t-demo select{max-width:115px;font-size:10px}
  .t-sidebar{transform:translateX(-100%);transition:transform .25s var(--t-ease);box-shadow:25px 0 70px #0009;padding-top:22px}
  .trainer-body.menu-open .t-sidebar{transform:translateX(0)}
  .trainer-body.menu-open{overflow:hidden}
  .t-shell{margin-left:0}
  .t-header{height:62px;padding:0 16px}
  .t-header>span{font-size:11px;max-width:190px;line-height:1.5}
  .t-header #account-name{display:none}
  .t-header #mobile-menu{display:inline-flex}
  .t-shell main,.t-screen main{padding:24px 16px 36px}
  .trainer-body h1{font-size:28px}
  .t-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:22px}
  .t-hero{padding:22px;grid-template-columns:1fr}
  .t-hero h2{font-size:24px}
  .t-stage{display:none}
  .t-grid3,.t-kpis{grid-template-columns:1fr;gap:10px}
  .t-stat{padding:15px}
  .t-cohort-grid,.t-card-grid,.t-course-grid,.t-formations{grid-template-columns:1fr}
  .t-panel{padding:20px}
  .t-form-grid{grid-template-columns:1fr;gap:0}
  .t-invite-layout{flex-direction:column;align-items:flex-start;gap:15px}
  .t-list-row,.t-launch{gap:12px;flex-wrap:wrap}
  .t-footer{padding:20px 16px}
  .t-footer span{width:100%;margin:0}
  .t-price{font-size:46px}
  .t-lp-hero{gap:26px;padding-top:6px}
  .t-lp-hero h1{font-size:35px;letter-spacing:-1.4px}
  .t-lp-hero p{font-size:15px}
  .t-lp-section{margin-top:42px}
  .t-room{max-width:100%}
  .t-presentation{padding:20px;min-height:340px}
  .t-presentation h1{font-size:26px}
  .t-presentation p{font-size:16px}
  .t-lobby{flex-direction:column;align-items:flex-start;gap:16px}
  .t-live-controls{grid-template-columns:1fr}
  .t-live-code{font-size:42px;letter-spacing:5px}
  .t-answer{font-size:14px;padding:14px 12px}
  .t-rei{gap:8px}
  .t-rei div{padding:15px 10px}
  .t-rei strong{font-size:38px}
  .t-timeline{grid-template-columns:1fr;gap:10px}
  .t-timeline i{display:none}
  .t-lp-faq{padding:4px 16px}
}
@media(max-width:560px){
  .t-room{aspect-ratio:1/.92}
  .t-win-notes{display:none}
  .t-win-screen{width:92%}
  .t-win-phone{width:52%}
  .t-phone-q span{font-size:10.5px}
  .t-phone-q strong{font-size:12.5px}
  .t-room .t-atlas{width:92px;left:-6px;bottom:-10px}
}
@media(prefers-reduced-motion:reduce){
  .trainer-body *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  }

/* ---------- Impression (bilans) ---------- */
@media print{
  .t-sidebar,.t-demo,.t-header,.t-footer,.t-toolbar,.t-heading button,.t-actions,.t-no-print,#toast,dialog,.t-atlas{display:none!important}
  .t-shell{margin:0}
  .trainer-body{background:#fff;color:#111}
  .t-panel,.t-cohort-card,.t-kpi{background:#fff;color:#111;border:1px solid #ccc;box-shadow:none;break-inside:avoid}
  .trainer-body p,.t-note,.t-table th,.t-table td,.t-kpi small{color:#333}
  .t-print-only{display:block}
  .t-table{font-size:11px}
  .t-shell main{padding:0;max-width:none}
  .t-heading h1,.t-kpi strong{color:#000}
  .t-progress-track>i,.t-scorebar i,.t-bar>i::after{background:#444!important}
  .t-panel{margin:10px 0;padding:15px}
}

/* ---------- Boucle : la scène se rejoue toute seule (14 s) ---------- */
@keyframes t-room-screen{0%{opacity:0;transform:translateY(18px) scale(.97)}0.714%{opacity:0;transform:translateY(18px) scale(.97)}7.143%{opacity:1;transform:none}88.571%{opacity:1;transform:none}94.286%{opacity:0;transform:translateY(18px) scale(.97)}100%{opacity:0;transform:translateY(18px) scale(.97)}}
@keyframes t-room-phone{0%{opacity:0;transform:translateY(18px) scale(.97)}3.929%{opacity:0;transform:translateY(18px) scale(.97)}10.357%{opacity:1;transform:none}88.571%{opacity:1;transform:none}94.286%{opacity:0;transform:translateY(18px) scale(.97)}100%{opacity:0;transform:translateY(18px) scale(.97)}}
@keyframes t-room-notes{0%{opacity:0;transform:translateY(18px) scale(.97)}6.786%{opacity:0;transform:translateY(18px) scale(.97)}13.214%{opacity:1;transform:none}88.571%{opacity:1;transform:none}94.286%{opacity:0;transform:translateY(18px) scale(.97)}100%{opacity:0;transform:translateY(18px) scale(.97)}}
@keyframes t-room-atlas{0%{opacity:0;transform:translateY(12px) rotate(-4deg)}8.571%{opacity:0;transform:translateY(12px) rotate(-4deg)}15%{opacity:1;transform:none}88.571%{opacity:1;transform:none}94.286%{opacity:0;transform:translateY(12px) rotate(-4deg)}100%{opacity:0;transform:translateY(12px) rotate(-4deg)}}
@keyframes t-room-li1{0%{opacity:0}8.571%{opacity:0}12.857%{opacity:1}100%{opacity:1}}
@keyframes t-room-li2{0%{opacity:0}12.143%{opacity:0}16.429%{opacity:1}100%{opacity:1}}
@keyframes t-room-li3{0%{opacity:0}15.714%{opacity:0}20%{opacity:1}100%{opacity:1}}
@keyframes t-room-pick{0%{border-color:#384252;background:transparent;color:#c4cbd5}20.714%{border-color:#384252;background:transparent;color:#c4cbd5}24.286%{border-color:var(--t-gold);background:#edc56c14;color:var(--t-white)}100%{border-color:var(--t-gold);background:#edc56c14;color:var(--t-white)}}
@keyframes t-room-em{0%{opacity:0}24.286%{opacity:0}27.857%{opacity:1}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.t-phone-q span.pick{border-color:var(--t-gold);background:#edc56c14;color:var(--t-white)}}
