:root{--teal:#0d6eaa;--teal-l:#1a8acc;--teal-d:#084e7a;--teal-glow:rgba(13,110,170,0.15);--orange:#e67311;--orange-l:#d46a0f;--og:rgba(230,115,17,0.1);--bg:#0c2952;--bgc:#ffffff;--bgh:#f0f2f6;--bgs:#eaecf0;--t1:#ffffff;--t2:rgba(255,255,255,0.7);--t3:rgba(255,255,255,0.45);--red:#e74c3c;--rbg:rgba(231,76,60,0.08);--green:#16a34a;--gbg:rgba(22,163,74,0.08);--gbdr:rgba(22,163,74,0.25);--yellow:#ca8a04;--purple:#7c3aed;--pbg:rgba(124,58,237,0.08);--cyan:#0891b2;--r:16px;--rs:10px}
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden}
body{font-family:'DM Sans',sans-serif;background:#0c2952;color:var(--t1);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-overflow-scrolling:touch;-webkit-font-smoothing:antialiased}
.screen{display:none;padding:20px 16px 110px;max-width:500px;margin:0 auto;animation:si .25s ease}
.screen.active{display:block}
@keyframes si{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#sw{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;min-height:100dvh;padding:52px 24px 60px;position:relative;overflow:clip;background:#0c2952}
#sw::before{content:'';position:absolute;top:-80px;left:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.1) 0%,transparent 70%);pointer-events:none}
#sw::after{content:'';position:absolute;bottom:-60px;right:-80px;width:320px;height:320px;border-radius:50%;background:none;pointer-events:none}
.wlogo{width:280px;height:auto;margin-bottom:28px;position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.wlogo img{width:100%;height:auto;object-fit:contain}
.wtitle{font-size:34px;font-weight:700;text-align:center;margin-bottom:6px;z-index:1;position:relative}
.wtitle span{color:var(--teal-l)}
.wsub{font-size:15px;color:rgba(255,255,255,0.85);text-align:center;margin-bottom:44px;line-height:1.6;z-index:1;position:relative}
.mcards{width:100%;max-width:360px;z-index:1;position:relative}
.mcard{border-radius:var(--r);padding:24px 22px;margin-bottom:14px;cursor:pointer;transition:all .3s ease;border:1px solid transparent;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.15)}
.mcard:active{transform:scale(0.97)}
.mcard:hover{box-shadow:0 8px 28px rgba(0,0,0,0.12);transform:translateY(-2px)}
.mcard.libre{background:#fff;border-color:rgba(13,124,145,0.2);box-shadow:0 4px 20px rgba(0,0,0,0.06)}
.mcard.rx{background:#fff;border-color:rgba(230,115,17,0.2);box-shadow:0 4px 20px rgba(0,0,0,0.06)}
.mbadge{position:absolute;top:14px;right:14px;font-size:16px;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:0.4px}
.bf{background:rgba(22,163,74,0.1);color:var(--green)}
.br{background:rgba(230,115,17,0.1);color:var(--orange)}
.micon{font-size:28px;margin-bottom:10px}
.mtitle{font-size:17px;font-weight:700;margin-bottom:4px}
.mdesc{font-size:16px;color:var(--t2);line-height:1.5}
.wfoot{margin-top:32px;text-align:center;font-size:15px;color:var(--t3);z-index:1;position:relative;padding-bottom:20px}
.hp-sec{width:100%;max-width:380px;margin-top:36px;z-index:1;position:relative}
.hp-stitle{font-size:22px;font-weight:700;letter-spacing:0.5px;text-transform:none;color:var(--teal-l);margin-bottom:16px;text-align:center}
.hp-steps{display:flex;gap:10px}
.hp-step{flex:1;background:#fff;border-radius:var(--r);padding:16px 10px;text-align:center;border:1px solid rgba(0,0,0,0.06);box-shadow:0 2px 8px rgba(0,0,0,0.04);display:flex;flex-direction:column;align-items:center;min-width:0}
.hp-step-num{width:28px;height:28px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;margin:0 auto 8px}
.hp-step-icon{font-size:22px;margin-bottom:6px;text-align:center}
.hp-step-lbl{font-size:14px;font-weight:600;color:var(--t1);margin-bottom:4px;text-align:center;width:100%;hyphens:auto;word-break:break-word}
.hp-step-desc{font-size:13px;color:var(--t2);line-height:1.4;text-align:center;width:100%}
.hp-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -24px;padding:0 24px}
.hp-scroll-wrap::-webkit-scrollbar{display:none}
.hp-scroll{display:flex;gap:12px;padding-bottom:8px}
.hp-ex{min-width:130px;background:#fff;border-radius:var(--r);padding:16px 14px;text-align:center;border:1px solid rgba(0,0,0,0.06);cursor:pointer;transition:border-color .2s;box-shadow:0 2px 8px rgba(0,0,0,0.04)}
.hp-ex:hover{border-color:var(--teal)}
.hp-ex-icon{font-size:26px;margin-bottom:8px}
.hp-ex-name{font-size:14px;font-weight:600;color:var(--t1);line-height:1.3}
.hp-cta{text-align:center;margin-top:16px}
.hp-cta-btn{background:var(--teal);border:none;color:#fff;font-size:15px;font-weight:600;padding:10px 24px;border-radius:30px;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 14px rgba(13,110,170,0.25)}
.hp-cta-btn:hover{background:rgba(25,109,125,0.12)}
.hp-cta-btn:active{transform:scale(0.97)}
.hp-wu{background:linear-gradient(135deg,rgba(13,110,170,0.06),rgba(13,110,170,0.02));border:1px solid rgba(13,110,170,0.12);border-radius:var(--r);padding:24px 20px;text-align:center}
.hp-wu-icon{font-size:32px;margin-bottom:8px}
.hp-wu-title{font-size:17px;font-weight:700;color:var(--t1);margin-bottom:6px}
.hp-wu-desc{font-size:15px;color:var(--t2);line-height:1.5;margin-bottom:8px}
.hp-wu-meta{font-size:14px;color:var(--teal-l);font-weight:600;margin-bottom:14px}
.hp-targets{display:flex;justify-content:space-around;gap:8px}
.hp-target{flex:1;text-align:center;padding:14px 4px;background:#fff;border-radius:var(--r);border:1px solid rgba(0,0,0,0.06)}
.hp-target-icon{font-size:28px;margin-bottom:6px}
.hp-target-lbl{font-size:13px;font-weight:600;color:var(--t2)}
@keyframes logoGlow{0%,100%{filter:drop-shadow(0 0 12px rgba(25,109,125,0.25))}50%{filter:drop-shadow(0 0 28px rgba(25,109,125,0.5))}}
.wlogo{animation:logoGlow 4s ease-in-out infinite}
.mcard .mtitle{font-size:18px;font-weight:700;letter-spacing:0.3px}
.hp-radar{width:100%;max-width:380px;margin-top:32px;z-index:1;position:relative;background:#fff;border-radius:var(--r);padding:24px 20px;border:1px solid rgba(0,0,0,0.06);text-align:center;box-shadow:0 2px 12px rgba(0,0,0,0.04)}
.hp-radar-title{font-size:15px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--teal-l);margin-bottom:12px}
.hp-radar-canvas{width:100%;max-width:220px;height:auto;margin:0 auto;display:block}
.hp-radar-sub{font-size:13px;color:var(--t3);margin-top:10px;line-height:1.4;font-style:italic}
#sc{display:none;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px 24px}
#sc.active{display:flex}
.chdr{text-align:center;margin-bottom:32px}
.chdr h2{font-size:22px;font-weight:700;margin-bottom:6px}
.chdr p{font-size:17px;color:var(--t2);line-height:1.5}
.cwrap{width:100%;max-width:320px}
.cinput{width:100%;padding:16px 20px;background:#fff;border:1.5px solid rgba(0,0,0,0.12);border-radius:var(--r);color:var(--t1);font-family:'DM Mono',monospace;font-size:18px;font-weight:500;text-align:center;outline:none;transition:border-color .2s;letter-spacing:2px;text-transform:uppercase;box-shadow:0 2px 8px rgba(0,0,0,0.04)}
.cinput::placeholder{font-size:17px;letter-spacing:0;color:var(--t3);font-family:'DM Sans',sans-serif}
.cinput:focus{border-color:var(--teal)}
.cinput.err{border-color:var(--red);animation:shake .3s ease}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.cerr{font-size:16px;color:var(--red);margin-top:8px;text-align:center;min-height:18px}
.chint{margin-top:22px;font-size:16px;color:var(--t3);text-align:center;line-height:1.6}
.chint strong{color:var(--teal-l)}
.btn{width:100%;padding:15px;border:none;border-radius:var(--r);color:white;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;margin-top:12px}
.btn:active{transform:scale(0.97);opacity:.9}
.btn.t{background:linear-gradient(135deg,var(--teal),var(--teal-l))}
.btn.o{background:linear-gradient(135deg,var(--orange),var(--orange-l))}
.btn.g{background:linear-gradient(135deg,var(--green),#27ae60)}
.btn.gh{background:rgba(255,255,255,0.06);color:var(--t2)}
.nav{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,0.92);border-top:1px solid rgba(0,0,0,0.08);display:none;z-index:100;padding:6px 0 env(safe-area-inset-bottom,8px) 0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav.on{display:flex}
.ni{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;color:var(--t3);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;border:none;background:none;-webkit-tap-highlight-color:transparent}
.ni.active{color:var(--orange)}
.ni svg{width:24px;height:24px}
.hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-top:12px}
.htitle{font-size:22px;font-weight:700}
.hsub{font-size:16px;color:var(--t2);margin-top:1px}
.lm{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.lm img{width:100%;height:100%;object-fit:contain}
.bk{display:inline-flex;align-items:center;gap:6px;color:var(--t2);font-size:17px;font-weight:500;cursor:pointer;padding:10px 0;margin-bottom:6px;border:none;background:none;-webkit-tap-highlight-color:transparent;transition:color .2s}
.bk:active{color:var(--teal-l)}
.card{background:#fff;border-radius:var(--r);padding:18px;margin-bottom:14px;border:none;box-shadow:0 4px 16px rgba(0,0,0,0.12)}
.clbl{font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;color:var(--t3);margin-bottom:12px}
.rxb{background:linear-gradient(135deg,var(--teal-d),var(--teal));border-radius:var(--r);padding:20px 20px 16px;margin-bottom:20px;position:relative;overflow:hidden}
.rxb::before{content:'';position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,0.06)}
.rxb h2{font-size:19px;font-weight:700;margin-bottom:2px}
.rxb p{font-size:16px;color:rgba(255,255,255,0.65)}
.rxstats{display:flex;gap:18px;margin-top:14px}
.rxst .n{font-family:'DM Mono',monospace;font-size:22px;font-weight:700;color:var(--orange-l)}
.rxst .l{font-size:16px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.4px}
.pw{margin-bottom:20px}
.pr{display:flex;justify-content:space-between;margin-bottom:8px}
.pr span{font-size:17px;color:var(--t2)}
.pr strong{font-size:17px;color:var(--orange)}
.pb{height:5px;background:rgba(255,255,255,0.06);border-radius:3px;overflow:hidden}
.pf{height:100%;background:linear-gradient(90deg,var(--teal),var(--orange));border-radius:3px;transition:width .6s cubic-bezier(.4,0,.2,1)}
.exc{background:#fff;border-radius:16px;padding:16px;margin-bottom:12px;border:none;border-top:6px solid #0d6eaa;cursor:pointer;transition:all .25s;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 16px rgba(0,0,0,0.1);color:#1a2233}
.exc:active{transform:scale(0.97);opacity:0.9}
.exc.done{opacity:.5}
.etop{display:flex;align-items:flex-start;gap:12px}
.eico{width:42px;height:42px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px}
.ico-o{background:rgba(6,182,212,0.18)}
.ico-c{background:rgba(25,109,125,0.2)}
.ico-r{background:rgba(46,204,113,0.15)}
.ico-p{background:rgba(25,109,125,0.2)}
.ico-m{background:rgba(230,115,17,0.18)}
.ico-i{background:rgba(241,196,15,0.15)}
.ico-g{background:rgba(167,139,250,0.18)}
.ico-w{background:rgba(230,115,17,0.18)}
.ei{flex:1;min-width:0}
.en{font-size:15px;font-weight:700;margin-bottom:2px;color:#1a2233}
.ec{font-size:13px;color:#6b7a8d;margin-bottom:7px}
.etags{display:flex;flex-wrap:wrap;gap:5px}
.tag{font-size:13px;padding:4px 10px;border-radius:20px;font-weight:600;letter-spacing:0.2px}
.tag.deficit{background:var(--rbg);color:var(--red)}
.tag.maintien{background:var(--gbg);color:var(--green)}
.tag.regulation{background:var(--pbg);color:var(--purple)}
.tag.warm,.tag.libre{background:rgba(255,255,255,0.07);color:var(--t2)}
.tag.dur{background:rgba(255,255,255,0.06);color:var(--t2)}
.tag.lvl{background:rgba(25,109,125,0.15);color:var(--teal-l)}
.tag.pe{background:rgba(46,204,113,0.1);color:var(--green)}
.tag.pm{background:rgba(241,196,15,0.1);color:var(--yellow)}
.tag.pl,.tag.pi{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.45)}
.est{font-size:12px;font-weight:700;padding:5px 14px;border-radius:24px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;white-space:nowrap;flex-shrink:0;letter-spacing:0.3px;border:none;box-shadow:0 2px 8px rgba(22,163,74,0.3)}
.est.ds{background:rgba(0,0,0,0.06);color:#6b7a8d;box-shadow:none}
.lib-shdr{display:flex;align-items:center;gap:12px;margin:22px 0 14px;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.45)}
.lib-shdr::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0.1),transparent)}
.lib-count{font-size:15px;color:var(--t2);margin-top:2px;margin-bottom:4px}
.dom-hdr{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;margin-bottom:8px;margin-top:18px;font-size:14px;font-weight:700;letter-spacing:0.5px}
.dom-hdr-Coord{background:rgba(25,109,125,0.12);border-left:3px solid var(--teal);color:var(--teal-l)}
.dom-hdr-React{background:rgba(230,115,17,0.1);border-left:3px solid var(--orange);color:var(--orange-l)}
.dom-hdr-Traject{background:rgba(231,76,60,0.1);border-left:3px solid var(--red);color:var(--red)}
.dom-hdr-Inhibit{background:rgba(241,196,15,0.08);border-left:3px solid var(--yellow);color:var(--yellow)}
.dom-hdr-Percep{background:rgba(6,182,212,0.1);border-left:3px solid var(--cyan);color:var(--cyan)}
.dom-hdr-Multi{background:rgba(167,139,250,0.1);border-left:3px solid var(--purple);color:var(--purple)}
.dom-hdr-Regul{background:rgba(46,204,113,0.08);border-left:3px solid var(--green);color:var(--green)}
.exc-Coord{border-top-color:#0d7c91;background:#fff}
.exc-React{border-top-color:#e67311;background:#fff}
.exc-Traject{border-top-color:#e74c3c;background:#fff}
.exc-Inhibit{border-top-color:#d4a017;background:#fff}
.exc-Percep{border-top-color:#0891b2;background:#fff}
.exc-Multi{border-top-color:#7c3aed;background:#fff}
.exc-Regul{border-top-color:#16a34a;background:#fff}
.fab-warmup{position:fixed;bottom:72px;left:50%;transform:translateX(-50%);z-index:90;background:linear-gradient(135deg,var(--orange),#d4600a);color:#fff;font-size:15px;font-weight:700;padding:13px 28px;border-radius:30px;border:none;cursor:pointer;box-shadow:0 0 24px rgba(230,115,17,0.45),0 4px 16px rgba(0,0,0,0.3);transition:all .2s;-webkit-tap-highlight-color:transparent;white-space:nowrap;max-width:90vw}
.fab-warmup:active{transform:translateX(-50%) scale(0.96)}
.fab-warmup .fab-ico{margin-right:6px}
.chip-ico{margin-right:4px;font-size:14px}
.frow{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:16px}
.frow::-webkit-scrollbar{display:none}
.chip{font-size:14px;font-weight:600;padding:9px 18px;border-radius:24px;white-space:nowrap;cursor:pointer;border:1.5px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.7);transition:all .2s;-webkit-tap-highlight-color:transparent}
.chip.on{background:var(--teal);border-color:transparent;color:#fff;font-weight:700;box-shadow:0 4px 12px rgba(13,110,170,0.25)}
.wban{background:linear-gradient(135deg,rgba(230,115,17,0.18),rgba(230,115,17,0.06));border:1px solid rgba(230,115,17,0.22);border-radius:var(--r);padding:18px 20px;margin-bottom:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:14px;-webkit-tap-highlight-color:transparent}
.wban:active{transform:scale(0.98)}
.wiw{width:48px;height:48px;border-radius:13px;background:var(--og);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.wban h3{font-size:16px;font-weight:700;margin-bottom:3px}
.wban p{font-size:16px;color:var(--t2)}
.warr{margin-left:auto;color:var(--orange-l);font-size:20px;font-weight:300}
.whc{background:linear-gradient(135deg,rgba(13,110,170,0.08),rgba(13,110,170,0.02));border:1px solid rgba(13,110,170,0.12);border-radius:var(--r);padding:20px;margin-bottom:18px}
.whc h2{font-size:20px;font-weight:700;margin-bottom:4px}
.whc p{font-size:17px;color:var(--t2)}
.wmeta{display:flex;gap:8px;margin-top:14px}
.wmi{flex:1;text-align:center;padding:10px 6px;background:rgba(255,255,255,0.04);border-radius:var(--rs)}
.wmi .n{font-family:'DM Mono',monospace;font-size:18px;font-weight:700;color:var(--orange-l)}
.wmi .l{font-size:9px;color:var(--t3);margin-top:2px;text-transform:uppercase}
.wan{background:rgba(13,110,170,0.04);border:1px solid rgba(13,110,170,0.1);border-radius:var(--rs);padding:12px 14px;margin-bottom:16px;font-size:16px;color:rgba(255,255,255,0.7);line-height:1.5}
.dh{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.dh .eico{width:52px;height:52px;font-size:22px;border-radius:14px}
.dtt{font-size:22px;font-weight:700;margin-bottom:3px}
.dct{font-size:17px;color:var(--t2);margin-bottom:8px}
.dtags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.db{background:rgba(255,255,255,0.06);border-radius:var(--r);padding:16px;margin-bottom:11px;border:1px solid rgba(255,255,255,0.1);backdrop-filter:blur(8px)}
.dbt{font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:0.8px;color:var(--teal);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.db p{font-size:16px;line-height:1.65;color:var(--t2)}
.cpr{display:flex;flex-wrap:wrap;gap:6px}
.cm{font-size:16px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,0.06);color:var(--t2)}
.ck{font-size:16px;padding:4px 10px;border-radius:6px;background:var(--og);color:var(--orange-l)}
.cb{font-size:16px;padding:4px 10px;border-radius:6px;background:var(--teal-glow);color:var(--teal-l)}
.pl{list-style:none}
.pi{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(0,0,0,0.06);font-size:17px;color:var(--t2)}
.pi:last-child{border:none}
.pn{width:22px;height:22px;border-radius:50%;background:rgba(25,109,125,0.2);color:var(--teal-l);font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ctip{background:rgba(13,110,170,0.04);border-left:2px solid var(--teal);border-radius:0 6px 6px 0;padding:10px 14px;font-size:17px;color:var(--t2);line-height:1.5;margin-top:10px}
.fbb{background:#f8f9fb;border:1px solid rgba(0,0,0,0.06);border-radius:var(--r);padding:20px;margin-top:12px}
.fbb h3{font-size:16px;font-weight:600;color:var(--orange-l);margin-bottom:16px}
.fg{margin-bottom:18px}
.fl{font-size:16px;font-weight:500;color:var(--t2);margin-bottom:8px;display:block}
.sr{display:flex;align-items:center;gap:10px}
.sr input[type=range]{flex:1;-webkit-appearance:none;height:4px;background:rgba(0,0,0,0.1);border-radius:2px;outline:none;cursor:pointer}
.sr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--teal);cursor:pointer;border:2px solid var(--teal-l);box-shadow:0 2px 8px rgba(25,109,125,0.4)}
.se{font-size:17px}
.sv{font-family:'DM Mono',monospace;font-size:20px;font-weight:700;color:var(--orange);min-width:30px;text-align:center}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sb{padding:10px 8px;border-radius:var(--rs);border:1px solid rgba(255,255,255,0.08);background:var(--bgc);color:var(--t2);font-size:17px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center;font-family:'DM Sans',sans-serif;-webkit-tap-highlight-color:transparent}
.sb.sel{border-color:var(--red);background:var(--rbg);color:var(--red)}
.sb[data-s="Aucun"].sel{border-color:var(--green);background:var(--gbg);color:var(--green)}
.dbox{background:var(--gbg);border:1px solid var(--gbdr);border-radius:var(--r);padding:16px;margin-top:12px}
.dbt2{font-size:16px;font-weight:600;color:var(--green);margin-bottom:4px}
.dbd{font-size:17px;color:var(--t2)}
.hday{margin-bottom:20px}
.hdl{font-size:17px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;padding-left:2px}
.hi{background:var(--bgc);border-radius:var(--rs);padding:13px 14px;margin-bottom:7px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,0.04)}
.hil{display:flex;align-items:center;gap:10px}
.hn{font-size:16px;font-weight:500}
.hm{font-size:17px;color:var(--t3);margin-top:1px}
.hs{font-family:'DM Mono',monospace;font-size:16px;font-weight:700}
.hse{color:var(--green)}.hsm{color:var(--yellow)}.hsh{color:var(--red)}
.ph{background:linear-gradient(135deg,var(--bgc),var(--bgs));border-radius:var(--r);padding:24px;text-align:center;margin-bottom:20px;border:1px solid rgba(255,255,255,0.04)}
.pav{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--orange));display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;margin:0 auto 12px}
.pnm{font-size:20px;font-weight:700}
.pid{font-size:16px;color:var(--t3);font-family:'DM Mono',monospace;margin-top:3px}
.pmb{display:inline-block;font-size:17px;font-weight:600;padding:4px 12px;border-radius:20px;margin-top:10px}
.psg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.pst{background:var(--bg);border-radius:var(--rs);padding:14px 8px}
.pst .n{font-family:'DM Mono',monospace;font-size:20px;font-weight:700;color:var(--orange)}
.pst .l{font-size:16px;color:var(--t3);margin-top:3px}
.scr{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(0,0,0,0.06);font-size:17px}
.scr:last-child{border:none}
.bsw{width:100%;padding:13px;border:1px solid rgba(255,255,255,0.08);border-radius:var(--r);background:transparent;color:var(--t2);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;margin-top:8px}
.bsw:active{background:rgba(255,255,255,0.04)}
.es{text-align:center;padding:48px 20px;color:rgba(255,255,255,0.45)}
.es .icon{font-size:44px;margin-bottom:14px;opacity:.45}
.es p{font-size:16px;line-height:1.6}
.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-80px);background:#1e3a2f;border:1px solid rgba(46,204,113,0.4);color:var(--green);padding:11px 22px;border-radius:var(--rs);font-size:16px;font-weight:600;z-index:999;transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 24px rgba(0,0,0,0.35);white-space:nowrap}
.toast.show{transform:translateX(-50%) translateY(0)}
.st{font-size:16px;font-weight:600;color:var(--t2);text-transform:uppercase;letter-spacing:0.6px;margin:20px 0 12px}
.prr{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,0.06);font-size:17px}
.prr:last-child{border:none}

.ico-t{background:rgba(167,139,250,0.18)}
.tag.traject{background:rgba(167,139,250,0.12);color:var(--purple)}
.wtabs{display:flex;gap:0;margin-bottom:18px;background:var(--bgc);border-radius:var(--rs);padding:3px}
.wtab{flex:1;padding:9px;border-radius:7px;border:none;background:none;color:var(--t2);font-size:17px;font-weight:600;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;-webkit-tap-highlight-color:transparent}
.wtab.on{background:var(--teal);color:white}
.srow{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.schip{font-size:17px;padding:9px 15px;border-radius:20px;border:1px solid rgba(255,255,255,0.1);background:var(--bgc);color:var(--t2);cursor:pointer;transition:all .2s;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.schip.on{background:var(--orange);border-color:var(--orange);color:white}
.pmblock{background:var(--bgc);border-radius:var(--r);padding:16px;margin-bottom:12px;border:1px solid rgba(255,255,255,0.04)}
.pmbh{font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;color:var(--teal-l);margin-bottom:12px}
.pmstep{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(0,0,0,0.06);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s}
.pmstep:active{opacity:.7}
.pmstep:last-child{border:none}
.pmsn{width:28px;height:28px;border-radius:50%;background:rgba(230,115,17,0.2);color:var(--orange-l);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pmsn.sp{background:rgba(25,109,125,0.2);color:var(--teal-l)}
.pmsn.anc{background:rgba(167,139,250,0.2);color:var(--purple)}
.pmsi{flex:1;min-width:0}
.pmsn2{font-size:16px;font-weight:600}
.pmsd{font-size:17px;color:var(--t3);margin-top:1px}
.pmsa{font-size:16px;font-weight:600;padding:3px 8px;border-radius:20px;background:rgba(255,255,255,0.06);color:var(--t3);white-space:nowrap;flex-shrink:0}
.pmtip{background:rgba(230,115,17,0.08);border-left:2px solid var(--orange);border-radius:0 6px 6px 0;padding:10px 14px;font-size:16px;color:var(--t2);line-height:1.55}

/* DYNAMODE */


.dynaiw{width:48px;height:48px;border-radius:13px;background:rgba(167,139,250,0.18);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}


.dynarr{margin-left:auto;color:var(--purple);font-size:20px}
.dyna-full{position:fixed;inset:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:500;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dyna-stim{font-family:'DM Mono',monospace;font-weight:700;text-align:center;line-height:1;transition:opacity .15s;user-select:none}
.dyna-stim.sz-num{font-size:clamp(100px,26vw,200px);color:#fff;font-weight:700;line-height:1}
.dyna-stim.sz-word{font-size:clamp(80px,20vw,160px);color:#fff;font-weight:700;line-height:1.05}
.dyna-stim.sz-calc{font-size:clamp(80px,20vw,160px);color:#fff;font-weight:700;line-height:1.05}
.dyna-stim.sz-stroop{font-size:clamp(80px,20vw,160px);font-weight:700;line-height:1.05}
.dyna-hint{font-size:17px;color:rgba(255,255,255,0.3);margin-top:22px;text-align:center;max-width:260px;line-height:1.5}
.dyna-bar{position:absolute;bottom:0;left:0;height:4px;background:var(--teal);transition:width 0s linear;border-radius:0}
.dyna-timer{position:absolute;top:20px;right:20px;font-family:'DM Mono',monospace;font-size:16px;font-weight:700;color:rgba(255,255,255,0.35)}
.dyna-phase{position:absolute;top:20px;left:20px;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,0.25)}
.dyna-counter{position:absolute;bottom:28px;right:20px;font-family:'DM Mono',monospace;font-size:17px;color:rgba(255,255,255,0.3)}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.mode-card{padding:14px 12px;border-radius:var(--rs);border:1.5px solid rgba(255,255,255,0.08);background:var(--bgc);cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}
.mode-card.on{border-color:var(--purple);background:rgba(167,139,250,0.1)}
.mode-card .mi{font-size:22px;margin-bottom:7px}
.mode-card .mn{font-size:17px;font-weight:600;margin-bottom:2px}
.mode-card .md{font-size:17px;color:var(--t3);line-height:1.4}
.cfg-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.05)}
.cfg-row:last-child{border:none}
.cfg-row span{font-size:16px;color:var(--t2)}
.cfg-sel{display:flex;gap:6px}
.cfg-opt{font-size:16px;padding:5px 11px;border-radius:20px;border:1px solid rgba(255,255,255,0.1);background:transparent;color:var(--t2);cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif}
.cfg-opt.on{background:var(--teal);border-color:var(--teal);color:white}
.dyna-end{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;width:100%;max-width:380px}
.dyna-end h2{font-size:22px;font-weight:700;color:white;text-align:center}
.dsr{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.dsr-item{background:rgba(255,255,255,0.06);border-radius:var(--rs);padding:14px;text-align:center}
.dsr-n{font-family:'DM Mono',monospace;font-size:28px;font-weight:700;color:var(--orange)}
.dsr-l{font-size:16px;color:rgba(255,255,255,0.4);margin-top:3px;text-transform:uppercase}
.recall-box{width:100%;background:rgba(255,255,255,0.05);border:1.5px solid rgba(255,255,255,0.12);border-radius:var(--rs);padding:12px 14px;color:white;font-family:'DM Sans',sans-serif;font-size:17px;resize:none;min-height:70px;outline:none}
.recall-box:focus{border-color:var(--teal)}
.dbl{font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:0.6px;color:rgba(255,255,255,0.4);margin-bottom:8px;width:100%}
.dyna-launch{width:100%;padding:16px;border:none;border-radius:var(--r);background:linear-gradient(135deg,#7c3aed,#a78bfa);color:white;font-size:16px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.dyna-launch:active{transform:scale(.97)}

/* Presets grid */
.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preset-btn{padding:14px 12px;border-radius:var(--rs);border:1.5px solid rgba(255,255,255,0.08);background:linear-gradient(135deg,rgba(124,58,237,0.12),rgba(167,139,250,0.06));cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;text-align:center}
.preset-btn:active{transform:scale(.96);background:linear-gradient(135deg,rgba(124,58,237,0.25),rgba(167,139,250,0.15))}
.preset-icon{font-size:24px;margin-bottom:6px}
.preset-name{font-size:15px;font-weight:700;color:white;margin-bottom:3px}
.preset-desc{font-size:13px;color:var(--t3);line-height:1.35}

/* Tip card */
.dy-tip-card{background:rgba(230,115,17,0.08);border:1px solid rgba(230,115,17,0.2);border-radius:var(--rs);padding:14px 16px;margin-bottom:12px}

/* Clinical note */
.dy-clinical-note{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:var(--rs);padding:12px 16px;margin-bottom:18px}

/* Preset difficulty badge */
.preset-diff{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;margin-bottom:4px}

/* Mode cognitive load */
.mode-load{font-size:13px;font-weight:600;margin-bottom:3px;letter-spacing:0.3px}

/* Quick feedback */
.fb-quick{display:flex;gap:10px;margin-bottom:14px}
.fb-qbtn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--rs);cursor:pointer;transition:all 0.2s ease;-webkit-tap-highlight-color:transparent}
.fb-qbtn:active{transform:scale(0.96)}
.fb-qbtn-icon{font-size:28px}
.fb-qbtn-label{font-size:14px;font-weight:700;color:var(--t2)}
.fb-qbtn.q-easy{border-color:rgba(74,222,128,0.2)}.fb-qbtn.q-easy:active,.fb-qbtn.q-easy:hover{background:rgba(74,222,128,0.1);border-color:var(--green)}
.fb-qbtn.q-ok{border-color:rgba(249,115,22,0.2)}.fb-qbtn.q-ok:active,.fb-qbtn.q-ok:hover{background:rgba(249,115,22,0.1);border-color:var(--orange)}
.fb-qbtn.q-hard{border-color:rgba(239,68,68,0.2)}.fb-qbtn.q-hard:active,.fb-qbtn.q-hard:hover{background:rgba(239,68,68,0.1);border-color:var(--red)}
.fb-qbtn.q-easy .fb-qbtn-label{color:var(--green)}
.fb-qbtn.q-ok .fb-qbtn-label{color:var(--orange)}
.fb-qbtn.q-hard .fb-qbtn-label{color:var(--red)}
.fb-details-toggle{display:block;width:100%;text-align:center;padding:8px;font-size:14px;font-weight:600;color:var(--t3);background:none;border:1px dashed rgba(255,255,255,0.08);border-radius:var(--rs);cursor:pointer;margin-bottom:10px;transition:color 0.2s}
.fb-details-toggle:hover{color:var(--t2)}
.fb-details{display:none}
.fb-details.open{display:block}

/* Regulation "Fait" button */
.fb-fait{display:flex;justify-content:center;margin:16px 0}
.fb-fait-btn{display:flex;align-items:center;gap:8px;padding:14px 32px;border-radius:14px;background:linear-gradient(135deg,var(--green),#22c55e);color:#fff;font-size:15px;font-weight:700;cursor:pointer;border:none;transition:transform 0.15s,box-shadow 0.15s;box-shadow:0 2px 12px rgba(34,197,94,0.25)}
.fb-fait-btn:active{transform:scale(0.96)}

/* Profile enhancements */
.prof-last{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid rgba(255,255,255,0.06);margin-top:12px}
.prof-last-lbl{font-size:14px;color:var(--t3);font-weight:500}
.prof-last-val{font-size:15px;color:var(--t1);font-weight:600;font-family:'DM Mono',monospace}
.prof-streak{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:14px;font-weight:700;margin-top:6px}
.prof-streak.active{background:rgba(249,115,22,0.12);color:var(--orange)}
.prof-streak.inactive{background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.45)}

/* Domain bars */
.dom-bars{margin-top:6px}
.dom-row{display:flex;align-items:center;gap:10px;padding:6px 0}
.dom-label{width:120px;font-size:13px;font-weight:600;color:var(--t2);flex-shrink:0}
.dom-bar-bg{flex:1;height:6px;background:rgba(255,255,255,0.06);border-radius:3px;overflow:hidden}
.dom-bar-fill{height:100%;border-radius:3px;transition:width 0.4s ease}
.dom-count{width:28px;text-align:right;font-size:13px;font-weight:700;color:var(--t2);font-family:'DM Mono',monospace}

/* NeuroMetrics teaser */
.nm-teaser{position:relative;overflow:hidden;text-align:center;padding:20px 16px}
.nm-teaser-lock{font-size:32px;margin-bottom:8px;opacity:0.5}
.nm-teaser-title{font-size:14px;font-weight:700;color:var(--t2);margin-bottom:4px}
.nm-teaser-sub{font-size:14px;color:var(--t3);line-height:1.5}
.nm-teaser-badge{display:inline-block;margin-top:10px;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:700;background:rgba(25,109,125,0.12);color:var(--teal-l)}

/* Warmup solo/duo toggle */
.tag-solo{background:rgba(25,109,125,0.10);color:var(--teal-l)}
.tag-duo{background:rgba(249,115,22,0.10);color:var(--orange)}

.wu-setup-row{display:flex;gap:8px;padding:0 16px 8px;justify-content:center}
.wu-setup-chip{padding:6px 16px;border-radius:20px;font-size:14px;font-weight:700;cursor:pointer;border:1.5px solid rgba(255,255,255,0.08);background:rgba(0,0,0,0.02);color:var(--t3);transition:all 0.2s}
.wu-setup-chip.on{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 2px 8px rgba(25,109,125,0.3)}
.wu-setup-chip .wu-setup-icon{margin-right:4px}

/* Warmup protocol chips */
.wu-proto-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.wu-proto-row::-webkit-scrollbar{display:none}
.wu-proto-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:20px;cursor:pointer;white-space:nowrap;transition:all 0.2s ease;flex-shrink:0}
.wu-proto-chip.on{background:rgba(25,109,125,0.15);border-color:var(--teal);box-shadow:0 0 12px rgba(25,109,125,0.2)}
.wu-proto-chip:hover{border-color:rgba(255,255,255,0.2)}
.wu-proto-icon{font-size:16px}
.wu-proto-name{font-size:14px;font-weight:600;color:var(--t2)}
.wu-proto-chip.on .wu-proto-name{color:var(--teal-l)}

/* Warmup progress bar */
.wu-progress{margin-bottom:16px;padding:14px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--rs)}
.wu-prog-bar{height:6px;background:rgba(255,255,255,0.08);border-radius:3px;overflow:hidden;margin-bottom:8px}
.wu-prog-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--teal));border-radius:3px;transition:width 0.4s ease}
.wu-prog-label{font-size:14px;font-weight:600;color:var(--t2);text-align:center;letter-spacing:0.3px}
.wu-step-wrap{position:relative;transition:all 0.3s ease}
.wu-step-wrap.wu-active{border-left:3px solid var(--green);margin-left:-3px}
.wu-step-wrap.wu-active::before{content:'\u25B6 En cours';position:absolute;top:12px;right:14px;font-size:10px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:0.8px;z-index:2;background:rgba(74,222,128,0.1);padding:2px 8px;border-radius:10px}

/* Launch sequence button */
.wu-launch-btn{display:block;width:100%;margin-top:12px;padding:12px 0;background:linear-gradient(135deg,var(--teal-d),var(--teal));color:#fff;border:none;border-radius:var(--rs);font-size:15px;font-weight:700;cursor:pointer;letter-spacing:0.3px;transition:all 0.2s ease}
.wu-launch-btn:hover{opacity:0.9;transform:scale(1.01)}
.wu-launch-btn.wu-launch-done{background:rgba(74,222,128,0.15);color:var(--green);cursor:default}

/* Instruction card label */
.dy-instr-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--t3);margin-bottom:10px}
.dy-instr-load{font-size:14px;font-weight:600;margin-bottom:8px}

.recall-section{width:100%;display:flex;flex-direction:column;align-items:flex-start;}
.recall-input-wrap{position:relative;width:100%;margin-top:8px}
.recall-input-wrap .recall-box{width:100%;padding-right:52px;box-sizing:border-box}
.recall-mic{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:6px 10px;font-size:16px;cursor:pointer;color:white;transition:background .2s}
.recall-result{width:100%}
.recall-seq-target{font-family:'DM Mono',monospace;font-size:28px;font-weight:700;color:rgba(255,255,255,0.2);letter-spacing:2px;text-align:center;width:100%;padding:12px 0}
.recall-calc-list{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-bottom:8px}
.recall-calc-q{font-family:'DM Mono',monospace;font-size:17px;background:rgba(255,255,255,0.06);border-radius:var(--rs);padding:8px 12px;color:var(--orange-l)}

.dy-instr-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--r);padding:20px 18px;margin-bottom:14px;text-align:center}
.dy-instr-icon{font-size:36px;margin-bottom:10px}
.dy-instr-title{font-size:17px;font-weight:700;margin-bottom:10px}
.dy-instr-text{font-size:17px;color:var(--t2);line-height:1.8}

/* ── Video Placeholder ── */
.vid-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;margin:16px 0;cursor:pointer;background:#0a1a2e;border:1px solid rgba(255,255,255,0.08);box-shadow:0 4px 16px rgba(0,0,0,0.2)}
.vid-thumb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1a3a5e 0%,#0a1a2e 100%)}
.vid-icon{font-size:72px;opacity:0.2;filter:grayscale(0.3);transition:all .3s}
.vid-wrap:active .vid-icon{opacity:0.3}
.vid-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:all .3s}
.vid-play{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,0.95);display:flex;align-items:center;justify-content:center;font-size:26px;color:#0a1a2e;padding-left:5px;box-shadow:0 4px 20px rgba(0,0,0,0.3);transition:all .2s}
.vid-wrap:active .vid-play{transform:scale(0.92)}
.vid-bar{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:linear-gradient(transparent,rgba(0,0,0,0.6))}
.vid-label{font-size:13px;font-weight:600;color:rgba(255,255,255,0.85);letter-spacing:0.3px}
.vid-soon{font-size:11px;color:#fff;font-weight:600;background:rgba(230,115,17,0.9);padding:3px 10px;border-radius:20px;letter-spacing:0.3px;text-transform:uppercase}


/* ── Difficulty selector ── */
.diff-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.diff-btn{padding:14px 8px;border-radius:var(--rs);background:var(--bgc);border:1.5px solid rgba(255,255,255,0.08);text-align:center;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}
.diff-btn:active{transform:scale(0.96)}
.diff-btn.on{border-width:2px}
.diff-icon{font-size:22px;margin-bottom:4px}
.diff-name{font-size:13px;font-weight:600;color:var(--t1)}

/* ── Advanced params toggle ── */
.adv-toggle{width:100%;padding:12px 16px;background:var(--bgc);border:1px solid rgba(255,255,255,0.06);border-radius:var(--rs);color:var(--t3);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:all .2s;-webkit-tap-highlight-color:transparent}
.adv-toggle:hover{color:var(--t2);border-color:rgba(255,255,255,0.12)}

/* ── Warmup step labels ── */
.wu-step-phase{font-size:12px;font-weight:600;color:var(--orange);text-transform:uppercase;letter-spacing:0.5px;padding:8px 14px 0;margin-top:4px}
.wu-step-tip{font-size:13px;color:var(--t3);padding:2px 14px 6px;line-height:1.4}

/* ── Micro-consigne + detail toggle ── */
.short-consigne{font-size:16px;color:var(--t1);line-height:1.6;font-weight:500;margin-bottom:4px}
.detail-toggle{display:block;background:none;border:none;color:var(--teal-l);font-size:13px;font-weight:500;cursor:pointer;padding:6px 0;margin-top:4px;-webkit-tap-highlight-color:transparent}
.detail-full{display:none;font-size:14px;color:var(--t2);line-height:1.6;padding:10px 0 0;border-top:1px solid rgba(255,255,255,0.06);margin-top:8px}
.detail-full.open{display:block}

/* ── Focus line ── */
.focus-line{padding:10px 16px;margin:0 0 2px;font-size:14px;color:var(--teal-l);background:rgba(25,109,125,0.08);border-radius:var(--rs);line-height:1.5}

/* ── Premium badges ── */
.prem-badge{display:inline-block;font-size:10px;font-weight:600;color:#f5c842;background:rgba(245,200,66,0.12);padding:2px 8px;border-radius:20px;margin-left:6px;vertical-align:middle;letter-spacing:0.3px;border:1px solid rgba(245,200,66,0.3);box-shadow:0 0 8px rgba(245,200,66,0.1)}
.prem-badge-sm{font-size:10px;margin-left:4px}

/* ── SVG Illustration ── */
.svg-illus{margin:14px 0;border-radius:var(--r);overflow:hidden;border:1px solid rgba(255,255,255,0.06)}
.svg-illus svg{display:block;width:100%}




/* ═══ LIGHT + BLUE CARDS OVERRIDES ═══ */

.screen{background:transparent}

/* Buttons */
.btn.t{background:linear-gradient(135deg,#0d6eaa,#1a8acc);box-shadow:0 4px 16px rgba(13,110,170,0.25)}
.btn.o{background:linear-gradient(135deg,#e67311,#f09030);box-shadow:0 4px 16px rgba(230,115,17,0.25)}
.btn.g{background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 4px 16px rgba(22,163,74,0.2)}
.dyna-launch{box-shadow:0 6px 20px rgba(230,115,17,0.3)!important}
.fab-warmup{background:linear-gradient(135deg,#0d6eaa,#1a8acc)!important;box-shadow:0 4px 20px rgba(13,110,170,0.3),0 2px 8px rgba(0,0,0,0.1)!important}

/* Nav */
nav{background:rgba(8,22,50,0.85)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-top:1px solid rgba(255,255,255,0.08)!important}
.ni{color:rgba(255,255,255,0.45)}
.ni.active{color:var(--teal)}

/* Tags inside blue cards — semi-transparent white */
.exc .tag{border:1px solid rgba(0,0,0,0.08);background:rgba(0,0,0,0.03);color:#5a6678}
.exc .tag.lvl{color:#0d6eaa;border-color:rgba(13,110,170,0.2);background:rgba(13,110,170,0.06)}

/* Premium badge inside blue cards */
.exc .prem-badge{background:rgba(234,179,8,0.2);border-color:rgba(234,179,8,0.4);color:#fbbf24}

/* Domain headers — light bg */
.dom-hdr{background:rgba(255,255,255,0.05);border:none;border-left:4px solid;border-radius:12px}
.dom-hdr-Coord{border-left-color:var(--teal);color:var(--teal)}
.dom-hdr-React{border-left-color:var(--orange);color:var(--orange)}
.dom-hdr-Traject{border-left-color:var(--red);color:var(--red)}
.dom-hdr-Inhibit{border-left-color:var(--yellow);color:var(--yellow)}
.dom-hdr-Percep{border-left-color:var(--cyan);color:var(--cyan)}
.dom-hdr-Multi{border-left-color:var(--purple);color:var(--purple)}
.dom-hdr-Regul{border-left-color:var(--green);color:var(--green)}

/* Separator */
.lib-shdr{color:rgba(255,255,255,0.45)}
.lib-shdr::after{background:linear-gradient(90deg,rgba(255,255,255,0.1),transparent)}

/* Premium badge — gold on white */
.prem-badge{background:rgba(234,179,8,0.15);border:1px solid rgba(234,179,8,0.3);color:#fbbf24}

/* Diff buttons */
.diff-btn{background:#fff;border:1.5px solid rgba(255,255,255,0.12)}
.diff-btn.on{box-shadow:0 4px 12px rgba(0,0,0,0.1)}

/* Adv toggle */
.adv-toggle{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.45)}

/* Progress */
.wu-prog-fill{background:linear-gradient(90deg,var(--teal),var(--teal-l))!important}
.wu-progress{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);box-shadow:0 2px 8px rgba(0,0,0,0.04)}
.wu-prog-bar{background:rgba(0,0,0,0.06)!important}
.wu-launch-btn{background:linear-gradient(135deg,var(--teal),var(--teal-l));box-shadow:0 4px 14px rgba(13,110,170,0.2)}

/* Focus line */
.focus-line{background:rgba(13,110,170,0.05);color:var(--teal)}

/* Short consigne + detail */
.short-consigne{color:#fff}
.detail-toggle{color:var(--teal)}
.detail-full{border-top:1px solid rgba(0,0,0,0.06)}

/* Mode card on */
.mode-card.on{border-color:var(--teal);box-shadow:0 4px 14px rgba(13,110,170,0.15)}

/* Fb qbtn */
.fbb{background:rgba(255,255,255,0.06)!important;border:1px solid rgba(255,255,255,0.1)!important}
.fb-qbtn{border:1.5px solid rgba(255,255,255,0.12);background:#fff;border-radius:14px}

/* Diff summary */
.diff-summary div{background:rgba(255,255,255,0.05)!important;color:var(--t2)!important}

/* Wu step labels */
.wu-step-phase{color:var(--teal)}
.wu-step-tip{color:var(--t2)}

/* Back button */
.bk{color:rgba(255,255,255,0.7)}
.bk:active{color:var(--teal)}

/* Rxb */
.rxb{background:linear-gradient(135deg,var(--teal-d),var(--teal))}

/* Tags on white cards — domain colored */
.exc .tag.tag-duo{background:rgba(230,115,17,0.08)!important;color:#d46a0f!important;border-color:rgba(230,115,17,0.15)!important}
.exc .tag.tag-solo{background:rgba(0,0,0,0.03)!important;color:#6b7a8d!important}

/* Premium badge on white cards */
.exc .prem-badge{background:rgba(202,138,4,0.1);border-color:rgba(202,138,4,0.25);color:#a16207}

/* Dual on white cards */
.exc .tag[style]{background:rgba(124,58,237,0.08)!important;color:#7c3aed!important;border-color:rgba(124,58,237,0.15)!important}

/* Dual tag — purple accent on white cards */
.tag-dual{background:rgba(124,58,237,0.08);color:#7c3aed;border:1px solid rgba(124,58,237,0.15)}


/* ═══ Dark text overrides for white-bg elements ═══ */
/* Detail blocks (white bg) */
.db p{color:#5a6678}
.db{color:#1a2233}
.ctip{color:#5a6678}
.short-consigne{color:#1a2233}
.detail-full{color:#5a6678;border-top:1px solid rgba(0,0,0,0.06)}
.focus-line{color:var(--teal)}

/* Feedback section */
.fbb{color:#1a2233}
.fbb h3{color:var(--teal)}
.fl{color:#5a6678}
.sv{color:#1a2233}
.se{color:#5a6678}

/* Cards (white bg) */
.card{color:#1a2233}
.clbl{color:#5a6678}

/* Warmup header */
.whc h2{color:#fff}
.whc p{color:rgba(255,255,255,0.7)}

/* Nav bar (white bg) */
nav .ni{color:#8899aa}
nav .ni.active{color:var(--teal)}

/* Premium badge on white cards */
.exc .prem-badge{color:#a16207}

/* Back button */
.bk{color:rgba(255,255,255,0.7)}
.bk:active{color:#fff}

/* Code screen — glass input on blue */
#sc .cinput{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.15);color:#fff}
#sc .cinput::placeholder{color:rgba(255,255,255,0.4)}

/* Detail view — dtt/dct on blue bg */
.dtt{color:#fff}
.dct{color:rgba(255,255,255,0.6)}
.dtags .tag{border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.8)}
.dtags .tag.lvl{color:rgba(255,255,255,0.9)}

/* Welcome cards (white bg on blue) — dark text */
.mcard{color:#1a2233}
.mcard .mtitle{color:#1a2233}
.mcard .mdesc{color:#5a6678}

/* Téléphone-Mur banner — white card on blue bg */





/* Échauffement card on welcome screen — same treatment */
.hp-wu{background:#fff;border:none;box-shadow:0 4px 16px rgba(0,0,0,0.12)}
.hp-wu .hp-wu-title{color:#1a2233}
.hp-wu .hp-wu-desc{color:#5a6678}
.hp-wu .hp-wu-meta{color:var(--teal)}

/* Profile card — white bg, dark text */
.ph{background:#fff;border:none;box-shadow:0 4px 16px rgba(0,0,0,0.12)}
.pnm{color:#1a2233}
.pid{color:#6b7a8d}
.psg{margin-top:18px}
.pst{background:rgba(13,110,170,0.06);border:1px solid rgba(13,110,170,0.1)}
.pst .n{color:var(--orange)}
.pst .l{color:#6b7a8d}
.prof-last{border-top:1px solid rgba(0,0,0,0.06)}
.prof-last-lbl{color:#6b7a8d}
.prof-last-val{color:#1a2233}
.prof-streak.inactive{background:rgba(0,0,0,0.04);color:#8899aa}
.prof-streak.active{background:rgba(230,115,17,0.1);color:var(--orange)}
.pmb{color:var(--teal)!important;background:rgba(13,110,170,0.08)!important}

/* Profile domain blocks — white bg */
.pmblock{background:#fff;border:none;box-shadow:0 4px 16px rgba(0,0,0,0.12)}
.pmbh{color:var(--teal)}

/* History items — white bg, dark text */
.hi{background:#fff;border:none;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.hi .hil span{color:#1a2233}
.hi .hir{color:#6b7a8d}
.hday .hd{color:rgba(255,255,255,0.8)}

/* All white-bg cards — dark text inside */
.card .clbl{color:#5a6678}
.card p{color:#5a6678}
.card .scr span{color:#5a6678}
.nm-teaser-title{color:#1a2233!important}
.nm-teaser-sub{color:#6b7a8d!important}
.nm-teaser-badge{color:var(--teal)!important;background:rgba(13,110,170,0.08)!important}
.prr span{color:#5a6678}
.dom-bars{color:#1a2233}

/* ═══ DynaMode screen — white cards, dark text ═══ */
.mode-card{background:#fff;border:1.5px solid rgba(0,0,0,0.08);box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.mode-card .mn{color:#1a2233}
.mode-card .md{color:#6b7a8d}
.mode-card.on{border-color:var(--teal);background:rgba(13,110,170,0.06);box-shadow:0 4px 14px rgba(13,110,170,0.12)}
.mode-card.on .mn{color:var(--teal)}

/* Cfg options */
.cfg-opt{background:#fff;border:1px solid rgba(0,0,0,0.08);color:#5a6678}
.cfg-opt.on{background:var(--teal);border-color:var(--teal);color:#fff}

/* Diff buttons */
.diff-btn{background:#fff;border:1.5px solid rgba(0,0,0,0.08)}
.diff-btn .diff-name{color:#1a2233}
.diff-btn.on .diff-name{font-weight:700}

/* Diff summary */
.diff-summary div{background:rgba(0,0,0,0.03)!important;color:#5a6678!important}

/* Mode load indicator */
.mode-load{color:#6b7a8d}

/* Adv toggle */
.adv-toggle{background:#fff;border:1px solid rgba(0,0,0,0.08);color:#5a6678}

/* DynaMode instruction card */
.dy-instr-card{background:#fff;border:1px solid rgba(0,0,0,0.06);color:#1a2233}
.dy-instr-text{color:#5a6678}

/* Tip card */
.dy-tip-card{color:rgba(255,255,255,0.7)}
.dy-clinical-note{color:rgba(255,255,255,0.5)}

/* Ex card in DynaMode */
#dy-ex-name{color:#1a2233}
#dy-ex-tip{color:#5a6678}


/* Profile cards — blue header strip for titles */
#pc .card .clbl{background:#0c2952;color:#fff;margin:-18px -18px 16px;padding:12px 18px;border-radius:16px 16px 0 0;font-size:13px}

/* ═══ Profile white cards — force all text dark ═══ */
#pc .card *{color:#1a2233}
#pc .card .clbl{color:#fff}
#pc .card span[style*="color:var(--t2)"]{color:#5a6678!important}
#pc .card span[style*="color:var(--t3)"]{color:#8899aa!important}
#pc .card p[style*="color:var(--t2)"]{color:#5a6678!important}
#pc .card span[style*="color:var(--green)"]{color:var(--green)!important}
#pc .card span[style*="color:var(--orange)"]{color:var(--orange)!important}
#pc .card span[style*="color:var(--red)"]{color:var(--red)!important}
.dom-label{color:#1a2233!important}
.dom-count{color:#1a2233!important;font-weight:700}
.dom-bar-bg{background:rgba(0,0,0,0.08)!important}
.nm-teaser-lock{color:#1a2233!important}

/* ═══ Welcome screen — dark text on white elements ═══ */
/* Steps cards (white bg) */
.hp-step-lbl{color:#1a2233!important}
.hp-step-desc{color:#6b7a8d!important}

/* Exercise preview cards (white bg) */
.hp-ex-name{color:#1a2233!important}

/* Warmup card (white bg) */
.hp-wu .hp-wu-title{color:#1a2233!important}
.hp-wu .hp-wu-desc{color:#5a6678!important}

/* Radar section (white bg) */
.hp-radar{background:#fff!important;box-shadow:0 4px 16px rgba(0,0,0,0.12)}
.hp-radar-title{color:#1a2233!important}
.hp-radar-sub{color:#6b7a8d!important}

/* Target cards (white bg) */
.hp-target-lbl{color:#1a2233!important}
.hp-target-icon{color:#1a2233}

/* ═══ DynaMode — Pause + Quit ═══ */
.dyna-full{cursor:none}
#dy-pause-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.7);z-index:510;font-family:'DM Sans',sans-serif;font-size:clamp(48px,12vw,80px);font-weight:700;color:#fff;letter-spacing:6px;text-transform:uppercase;-webkit-tap-highlight-color:transparent;user-select:none}
#dy-quit-btn{position:absolute;top:20px;left:20px;z-index:520;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.15);color:#fff;font-size:22px;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;border:1px solid rgba(255,255,255,0.2)}
#dy-quit-btn:hover{background:rgba(255,255,255,0.25)}
#dy-quit-btn:active{transform:scale(0.9)}

/* ═══ Warmup banner in library ═══ */
.warmup-ban{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#0d7c91,#1a9eb5);border-radius:var(--r);padding:16px 18px;margin-bottom:18px;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 16px rgba(13,124,145,0.3)}
.warmup-ban:active{transform:scale(0.98)}
.warmup-ban-icon{font-size:28px;flex-shrink:0}
.warmup-ban-text{flex:1;color:#fff}
.warmup-ban-text strong{display:block;font-size:16px;font-weight:700;margin-bottom:2px}
.warmup-ban-text span{display:block;font-size:13px;opacity:0.8}
.warmup-ban-go{color:#fff;font-size:14px;font-weight:700;white-space:nowrap;opacity:0.9}

/* ═══ Beginner badge ═══ */
.begin-badge{display:inline-block;font-size:10px;font-weight:700;color:#16a34a;background:rgba(22,163,74,0.1);padding:2px 8px;border-radius:20px;margin-left:6px;vertical-align:middle;border:1px solid rgba(22,163,74,0.2)}

/* ═══ Dual tag (renamed from Tél-Mur) ═══ */
.tag-dual{background:rgba(124,58,237,0.08);color:#7c3aed;border:1px solid rgba(124,58,237,0.15)}


/* ═══ Domain headers — colored bg, white text, bold ═══ */
.dom-hdr{background:#0d7c91!important;border:none!important;border-radius:12px!important;padding:14px 18px!important;margin-top:24px!important;margin-bottom:10px!important;font-size:15px!important;font-weight:700!important;letter-spacing:1px!important;color:#fff!important;box-shadow:0 4px 14px rgba(0,0,0,0.15)}
.dom-hdr-Coord{background:linear-gradient(135deg,#0d7c91,#1a9eb5)!important}
.dom-hdr-React{background:linear-gradient(135deg,#d4600a,#e67311)!important}
.dom-hdr-Traject{background:linear-gradient(135deg,#c0392b,#e74c3c)!important}
.dom-hdr-Inhibit{background:linear-gradient(135deg,#b8860b,#d4a017)!important}
.dom-hdr-Percep{background:linear-gradient(135deg,#0879a1,#0a9dc4)!important}
.dom-hdr-Multi{background:linear-gradient(135deg,#6d28d9,#8b5cf6)!important}
.dom-hdr-Regul{background:linear-gradient(135deg,#15803d,#22c55e)!important}


/* ═══ Premium badge — BOLD & visible ═══ */
.prem-badge{display:inline-flex!important;align-items:center;gap:2px;font-size:11px!important;font-weight:800!important;color:#92600a!important;background:linear-gradient(135deg,#fef3c7,#fde68a)!important;padding:4px 10px!important;border-radius:20px!important;margin-left:8px!important;border:1.5px solid #f59e0b!important;letter-spacing:0.4px!important;box-shadow:0 2px 6px rgba(245,158,11,0.2)!important;text-transform:uppercase}


/* ═══ Nav bar — full width, items centered ═══ */
.nav{left:0!important;right:0!important;max-width:none!important;transform:none!important;border-radius:0!important}
.nav.on{display:flex;justify-content:center}
.nav .ni{max-width:125px}

/* ═══ DynaBan — redesign impactant ═══ */
.dynaban{background:linear-gradient(135deg,#b8860b,#d4a017)!important;border:none!important;border-radius:var(--r)!important;padding:0!important;margin-bottom:18px!important;cursor:pointer;transition:all .2s;box-shadow:0 6px 24px rgba(184,134,11,0.35)!important;overflow:hidden;display:block!important;-webkit-tap-highlight-color:transparent}
.dynaban:active{transform:scale(0.97)}
.dynaban-inner{padding:24px;text-align:center}
.dynaban-top{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}
.dynaban-label{font-size:16px;font-weight:800;color:#fff;letter-spacing:1px}
.dynaban .prem-badge{background:rgba(255,255,255,0.2)!important;border-color:rgba(255,255,255,0.3)!important;color:#fff!important;font-size:10px!important}
.dynaban-desc{font-size:15px;color:rgba(255,255,255,0.8);line-height:1.5;margin-bottom:16px}
.dynaban-go{display:inline-block;font-size:14px;font-weight:700;color:#fff;background:rgba(255,255,255,0.18);padding:10px 24px;border-radius:24px;transition:background .2s}
.dynaban:hover .dynaban-go{background:rgba(255,255,255,0.28)}

/* ═══ Mode banners — harmonized ═══ */
.mode-ban{border-radius:var(--r);padding:22px;margin-bottom:12px;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;text-align:center}
.mode-ban:active{transform:scale(0.97)}
.mode-ban-teal{background:linear-gradient(135deg,#0d7c91,#1a9eb5);box-shadow:0 4px 18px rgba(13,124,145,0.35)}
.mode-ban-gold{background:linear-gradient(135deg,#b8860b,#d4a017);box-shadow:0 4px 18px rgba(184,134,11,0.3)}
.mode-ban-title{font-size:18px;font-weight:800;color:#fff;margin-bottom:6px}
.mode-ban-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}
.mode-ban-row .mode-ban-title{margin-bottom:0}
.mode-ban-desc{font-size:14px;color:rgba(255,255,255,0.8);line-height:1.5;margin-bottom:14px}
.mode-ban-btn{display:inline-block;font-size:14px;font-weight:700;color:#fff;padding:9px 22px;border-radius:24px;transition:background .2s}
.mode-ban-btn-teal{background:rgba(255,255,255,0.18)}
.mode-ban-btn-gold{background:rgba(255,255,255,0.18)}
.mode-ban:hover .mode-ban-btn{background:rgba(255,255,255,0.28)}
.mode-ban .prem-badge{background:rgba(255,255,255,0.2)!important;border-color:rgba(255,255,255,0.3)!important;color:#fff!important}

/* ═══ Flow steps — exercise detail ═══ */
.flow-steps{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0;padding:12px 16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.flow-step{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#1a2233}
.flow-num{width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.flow-sep{color:#8899aa;font-size:14px;font-weight:300}

/* ═══ DynaMode intro — why + how ═══ */
.dyna-intro{background:#fff;border-radius:var(--r);padding:18px;margin-bottom:18px;box-shadow:0 2px 12px rgba(0,0,0,0.06)}
.dyna-intro-why{font-size:14px;color:#5a6678;line-height:1.6;margin-bottom:14px}
.dyna-intro-why strong{color:#1a2233}
.dyna-intro-how{font-size:14px;font-weight:700;color:#1a2233;margin-bottom:10px}
.dyna-intro-steps{display:flex;flex-direction:column;gap:8px}
.dyna-intro-step{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#1a2233}
.dyna-intro-step .flow-num{flex-shrink:0}

/* ═══ Exercise detail — force dark text on white cards ═══ */
#dc .db{background:#fff;border:1px solid rgba(0,0,0,0.06)}
#dc .db *{color:#1a2233}
#dc .db .dbt{color:var(--teal)!important}
#dc .db p{color:#5a6678!important}
#dc .db .cm{color:#5a6678!important;background:rgba(0,0,0,0.04)!important}
#dc .db .ck{color:var(--orange)!important;background:rgba(230,115,17,0.08)!important}
#dc .db .cb{color:var(--teal)!important;background:rgba(13,110,170,0.06)!important}
#dc .db .pi{color:#5a6678!important;border-bottom-color:rgba(0,0,0,0.06)!important}
#dc .db .pn{color:var(--teal)!important;background:rgba(13,110,170,0.1)!important}
#dc .db .ctip{color:#5a6678!important;background:rgba(13,110,170,0.04)!important}
#dc .short-consigne{color:#1a2233!important}
#dc .detail-toggle{color:var(--teal)!important}
#dc .detail-full{color:#5a6678!important;border-top-color:rgba(0,0,0,0.06)!important}
#dc .focus-line{color:#fff!important;background:rgba(255,255,255,0.1)!important}
#dc .focus-line strong{color:#fff!important}
#dc .flow-steps{background:#fff}
#dc .flow-step{color:#1a2233}
#dc .vid-label{color:rgba(255,255,255,0.85)!important}
#dc .vid-soon{color:#fff!important}

/* Feedback section */
#dc .fbb{background:#fff!important;border:1px solid rgba(0,0,0,0.06)!important}
#dc .fbb h3{color:#1a2233!important}
#dc .fbb .fl{color:#5a6678!important}
#dc .fbb .sv{color:#1a2233!important}
#dc .fbb .se{color:#5a6678!important}
#dc .fbb .sb{background:#fff!important;border-color:rgba(0,0,0,0.1)!important;color:#5a6678!important}
#dc .fbb .sb.on{background:var(--teal)!important;color:#fff!important;border-color:var(--teal)!important}
#dc .fb-details-toggle{color:var(--teal)!important}

/* Done box */
#dc .dbox{background:#fff;border:1px solid rgba(0,0,0,0.06)}
#dc .dbox *{color:#1a2233}

/* ═══ DynaMode block in exercise detail ═══ */
#dc .dyna-detail-block{background:linear-gradient(135deg,#084e7a,#0d6eaa)!important;border:none!important;box-shadow:0 4px 16px rgba(8,78,122,0.3)}
#dc .dyna-detail-block *{color:#fff!important}
#dc .dyna-detail-block .dbt{color:#fff!important;opacity:0.9}
#dc .dyna-detail-block p{color:rgba(255,255,255,0.85)!important;font-size:15px!important;line-height:1.6!important;margin-bottom:12px!important}

/* Focus line on blue bg */
.focus-line{color:#fff!important;background:rgba(255,255,255,0.08)!important}
.focus-line strong{color:#fff!important}

/* Dual launch button — white on teal bg */
#dc .dyna-detail-block .btn{background:#fff!important;color:#084e7a!important;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,0.15)}

/* ═══ DynaMode advanced params — dark text on white cards ═══ */
.cfg-row span{color:#1a2233!important}
.cfg-row{border-bottom-color:rgba(0,0,0,0.06)!important}

/* ═══ Warmup screen — readable text on blue bg ═══ */
.wu-step-phase{color:#fff!important;opacity:0.9}
.wu-step-tip{color:rgba(255,255,255,0.75)!important}
.wu-prog-label{color:rgba(255,255,255,0.7)!important}
.wu-progress{background:rgba(255,255,255,0.08)!important;border-color:rgba(255,255,255,0.12)!important}
.wu-prog-bar{background:rgba(255,255,255,0.12)!important}

/* Warmup header card */
.whc{background:linear-gradient(135deg,#0d7c91,#1a9eb5)!important;border:none!important;box-shadow:0 4px 16px rgba(13,124,145,0.3)}
.whc h2{color:#fff!important}
.whc p{color:rgba(255,255,255,0.85)!important}
.whc .wmeta{color:rgba(255,255,255,0.7)}

/* Warmup instruction box */
#screen-warmup .wan{background:rgba(255,255,255,0.08)!important;border-color:rgba(255,255,255,0.12)!important;color:rgba(255,255,255,0.8)!important}

/* ═══ Warmup completion ═══ */
.wu-done{text-align:center;background:#fff;border-radius:var(--r);padding:32px 24px;margin-bottom:20px;box-shadow:0 4px 20px rgba(0,0,0,0.1)}
.wu-done-icon{font-size:48px;margin-bottom:12px}
.wu-done-title{font-size:22px;font-weight:700;color:#1a2233;margin-bottom:8px}
.wu-done-desc{font-size:15px;color:#5a6678;line-height:1.5;margin-bottom:20px}
.wu-done .btn{max-width:280px;margin:0 auto}

/* ═══ Exercise Timer Overlay ═══ */
#ex-timer-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}
.ex-timer-full{position:fixed;inset:0;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:none}
.ex-timer-name{position:absolute;top:24px;left:0;right:0;text-align:center;font-size:16px;font-weight:600;color:rgba(255,255,255,0.4);letter-spacing:0.5px}
.ex-timer-countdown{font-family:'DM Mono',monospace;font-size:clamp(80px,22vw,160px);font-weight:700;color:#fff;line-height:1;user-select:none}
.ex-timer-hint{font-size:14px;color:rgba(255,255,255,0.25);margin-top:20px;user-select:none}
.ex-timer-bar-wrap{position:absolute;bottom:0;left:0;right:0;height:6px;background:rgba(255,255,255,0.08)}
.ex-timer-bar{height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-l));transition:width 1s linear;border-radius:0}
#ex-timer-pause{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.7);z-index:510;font-family:'DM Sans',sans-serif;font-size:clamp(48px,12vw,80px);font-weight:700;color:#fff;letter-spacing:6px;text-transform:uppercase;user-select:none}
#ex-timer-quit{position:absolute;top:20px;left:20px;z-index:520;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.15);color:#fff;font-size:22px;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,0.2)}
#ex-timer-quit:hover{background:rgba(255,255,255,0.25)}
#ex-timer-quit:active{transform:scale(0.9)}

/* Timer launch button on exercise detail */
.ex-timer-launch{margin:0 0 8px}
.ex-timer-launch .btn{display:flex;align-items:center;justify-content:center;gap:8px;font-size:17px;padding:16px;border-radius:14px}

/* ═══ Warmup Runner ═══ */
#wu-runner,#wu-runner-done{position:fixed;inset:0;z-index:490;display:flex;align-items:center;justify-content:center;background:#0c2952}
.wu-runner-inner{width:100%;max-width:420px;padding:24px;position:relative}
.wu-runner-quit{position:absolute;top:0;right:24px;background:none;border:none;color:rgba(255,255,255,0.5);font-size:15px;font-weight:600;cursor:pointer;padding:8px;-webkit-tap-highlight-color:transparent}
.wu-runner-quit:active{color:#fff}
.wu-runner-progress{text-align:center;font-size:14px;font-weight:700;color:rgba(255,255,255,0.5);letter-spacing:1px;margin-bottom:24px}
.wu-runner-card{background:#fff;border-radius:20px;padding:32px 24px;text-align:center;box-shadow:0 8px 40px rgba(0,0,0,0.2)}
.wu-runner-phase{font-size:13px;font-weight:700;color:#0d7c91;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}
.wu-runner-name{font-size:24px;font-weight:800;color:#1a2233;margin-bottom:12px;line-height:1.2}
.wu-runner-consigne{font-size:15px;color:#5a6678;line-height:1.6;margin-bottom:20px}
.wu-runner-dur{font-family:'DM Mono',monospace;font-size:32px;font-weight:700;color:#0d7c91;margin-bottom:24px}
.wu-runner-go{width:100%;padding:16px;border:none;border-radius:14px;background:linear-gradient(135deg,#0d7c91,#1a9eb5);color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(13,124,145,0.3);-webkit-tap-highlight-color:transparent}
.wu-runner-go:active{transform:scale(0.97)}

/* Warmup done screen */
.wu-done-screen{text-align:center;padding:20px 0}
.wu-done-screen .wu-done-icon{font-size:56px;margin-bottom:16px}
.wu-done-screen .wu-done-title{font-size:26px;font-weight:800;color:#fff;margin-bottom:10px}
.wu-done-screen .wu-done-desc{font-size:16px;color:rgba(255,255,255,0.75);line-height:1.6;margin-bottom:24px}
.wu-done-recap{margin-bottom:24px}
.wu-done-ex{font-size:14px;color:rgba(255,255,255,0.6);padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.wu-done-ex:last-child{border:none}
.wu-done-screen .btn{max-width:280px;margin:0 auto}

/* ═══ Warmup runner — duration selector ═══ */
.wu-runner-dur{display:flex;justify-content:center;gap:8px;margin-bottom:24px!important;font-family:inherit!important;font-size:inherit!important}
.wu-dur-opt{padding:8px 16px;border-radius:24px;border:1.5px solid rgba(0,0,0,0.1);background:#fff;color:#5a6678;font-size:15px;font-weight:600;font-family:'DM Mono',monospace;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}
.wu-dur-opt.on{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 2px 10px rgba(13,124,145,0.25)}
.wu-dur-opt:active{transform:scale(0.95)}

/* ═══ Warmup step — header with "Depuis ici" button ═══ */
.wu-step-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 0;margin-top:4px}
.wu-step-start{background:none;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.6);font-size:12px;font-weight:600;padding:4px 12px;border-radius:20px;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.wu-step-start:active{background:rgba(255,255,255,0.1);color:#fff}

/* ═══ Exercise detail — duration selector ═══ */
.ex-dur-select{display:flex;justify-content:center;gap:8px;margin-bottom:12px}
.ex-dur-btn{padding:8px 14px;border-radius:24px;border:1.5px solid rgba(0,0,0,0.1);background:#fff;color:#5a6678;font-size:14px;font-weight:600;font-family:'DM Mono',monospace;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}
.ex-dur-btn.on{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 2px 10px rgba(13,124,145,0.25)}
.ex-dur-btn:active{transform:scale(0.95)}

/* ═══ Peripheral vision toggle ═══ */
.periph-toggle-wrap{margin-bottom:10px}
.periph-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:24px;border:1.5px solid rgba(0,0,0,0.1);background:#fff;color:#5a6678;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}
.periph-toggle .periph-eye{font-size:16px}
.periph-toggle.on{background:linear-gradient(135deg,#0d7c91,#1a9eb5);border-color:transparent;color:#fff;box-shadow:0 2px 10px rgba(13,124,145,0.25)}
.periph-toggle:active{transform:scale(0.95)}
.periph-consigne{color:#0d7c91!important;font-weight:600!important;font-style:italic}
#dc .periph-consigne{color:#0d7c91!important}

/* ═══ Peripheral tip explanation ═══ */
.periph-tip{font-size:13px;color:#5a6678;line-height:1.6;padding:10px 14px;margin-top:8px;background:rgba(13,124,145,0.04);border-left:3px solid var(--teal);border-radius:0 8px 8px 0}
.periph-tip strong{color:#1a2233}
#dc .periph-tip{color:#5a6678!important}
#dc .periph-tip strong{color:#1a2233!important}

/* ═══ Peripheral Vision — Overlay Zones ═══ */
.dy-periph-left,.dy-periph-right{position:absolute;top:0;bottom:0;width:60px;display:none;opacity:0;transition:opacity .2s ease,box-shadow .2s ease;z-index:505;pointer-events:none}
.dy-periph-left{left:0;border-radius:0 20px 20px 0}
.dy-periph-right{right:0;border-radius:20px 0 0 20px}

/* ═══ Peripheral Config Card ═══ */
.periph-mode-desc{font-size:14px;color:#5a6678;line-height:1.5;margin-bottom:14px}
.periph-mode-toggle{display:flex;gap:8px;margin-bottom:14px}
.periph-mode-btn{flex:1;padding:10px;border-radius:12px;border:1.5px solid rgba(0,0,0,0.1);background:#fff;color:#5a6678;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;text-align:center}
.periph-mode-btn.on{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 2px 10px rgba(13,124,145,0.25)}
.periph-mode-btn:active{transform:scale(0.97)}
.periph-rules{display:flex;flex-direction:column;gap:8px;padding:12px;background:rgba(0,0,0,0.02);border-radius:10px}
.periph-rule{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#1a2233}
.periph-dot{width:20px;height:20px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,0.15)}

/* Legacy periph legend classes */
.periph-legend-title{font-size:13px;font-weight:700;color:#1a2233;margin-bottom:8px}
.periph-legend-items{display:flex;flex-direction:column;gap:6px;padding:12px;background:rgba(0,0,0,0.02);border-radius:10px}
.periph-legend-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#1a2233}

/* Dyna end overlay — center content */
#dyna-end-overlay{align-items:flex-start;justify-content:center}
.dyna-end{margin:0 auto}

/* ═══ Login Screen ═══ */
#login-screen{position:fixed;inset:0;z-index:1000;background:#0c2952;display:flex;align-items:center;justify-content:center;overflow-y:auto}
#login-screen.hidden{display:none}
.login-inner{width:100%;max-width:380px;padding:32px 24px;text-align:center}
.login-logo{margin-bottom:16px;display:flex;justify-content:center}
.login-logo img{height:80px;width:auto;max-width:200px;object-fit:contain;border-radius:0}
.login-title{font-size:28px;font-weight:800;color:#fff;margin-bottom:4px}
.login-sub{font-size:15px;color:rgba(255,255,255,0.5);margin-bottom:32px}
.login-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 40px rgba(0,0,0,0.2)}
.login-tabs{display:flex;gap:4px;margin-bottom:20px;background:rgba(0,0,0,0.04);border-radius:12px;padding:4px}
.login-tab{flex:1;padding:10px;border:none;border-radius:10px;background:transparent;color:#5a6678;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}
.login-tab.on{background:#fff;color:#1a2233;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.login-input{width:100%;padding:14px 16px;border:1.5px solid rgba(0,0,0,0.1);border-radius:12px;font-size:15px;font-family:'DM Sans',sans-serif;color:#1a2233;margin-bottom:10px;box-sizing:border-box;transition:border-color .2s;outline:none;background:#fff}
.login-input:focus{border-color:var(--teal)}
.login-input::placeholder{color:#aab3c0}
.login-error{font-size:13px;color:#ef4444;min-height:20px;margin-bottom:6px}
.login-btn{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#0d7c91,#1a9eb5);color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;box-shadow:0 4px 16px rgba(13,124,145,0.3);-webkit-tap-highlight-color:transparent}
.login-btn:active{transform:scale(0.97)}
.login-footer{font-size:12px;color:rgba(255,255,255,0.3);margin-top:24px}

/* ═══ Logout button ═══ */
.logout-btn{display:block;width:100%;padding:14px;margin-top:12px;border:1.5px solid rgba(239,68,68,0.2);border-radius:12px;background:rgba(239,68,68,0.04);color:#ef4444;font-size:15px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;-webkit-tap-highlight-color:transparent;text-align:center}
.logout-btn:active{background:rgba(239,68,68,0.1)}

/* ═══ Video player — real videos ═══ */
.vid-player-wrap{width:100%;margin:16px 0;border-radius:var(--r);overflow:hidden;background:#000;box-shadow:0 4px 20px rgba(0,0,0,0.2)}
.vid-player{width:100%;display:block;border-radius:var(--r);max-height:60vh}

/* ═══ Timer end — repeat/finish buttons ═══ */
.timer-end-btns{display:flex;gap:14px;justify-content:center;margin-top:8px}
.timer-end-btn{padding:14px 28px;border-radius:14px;border:none;font-size:16px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;-webkit-tap-highlight-color:transparent}
.timer-end-btn.repeat{background:rgba(255,255,255,0.15);color:#fff;border:1.5px solid rgba(255,255,255,0.3)}
.timer-end-btn.repeat:active{background:rgba(255,255,255,0.25)}
.timer-end-btn.finish{background:#fff;color:#0a1a2e}
.timer-end-btn.finish:active{transform:scale(0.97)}

/* ═══ DynaMode — exercise banner ═══ */
.dy-ex-banner{background:#fff;border-radius:var(--r);padding:18px;margin-bottom:14px;box-shadow:0 4px 16px rgba(0,0,0,0.08);border-left:4px solid var(--teal)}
.dy-ex-banner-label{font-size:11px;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.dy-ex-banner-name{font-size:20px;font-weight:800;color:#1a2233;margin-bottom:6px}
.dy-ex-banner-tip{font-size:14px;color:#5a6678;line-height:1.5}

/* ═══ Force cursor hidden on fullscreen overlays ═══ */
.cursor-hidden,.cursor-hidden *{cursor:none!important}
.cursor-visible,.cursor-visible *{cursor:default!important}

/* ═══ Profile edit ═══ */
.pmeta{font-size:14px;color:var(--t2);margin-top:4px;text-align:center}


#prof-edit-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}
.prof-edit-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px)}
.prof-edit-card{position:relative;width:100%;max-width:480px;background:#fff;border-radius:20px 20px 0 0;padding:24px;max-height:90vh;overflow-y:auto;box-shadow:0 -8px 40px rgba(0,0,0,0.3);animation:slideUp .25s ease-out}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(min-width:600px){.prof-edit-card{border-radius:20px;margin-bottom:20vh}}
.prof-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.prof-edit-title{font-size:18px;font-weight:800;color:#1a2233}
.prof-edit-close{background:none;border:none;font-size:22px;color:#5a6678;cursor:pointer;padding:4px 8px;-webkit-tap-highlight-color:transparent}
.prof-edit-lbl{display:block;font-size:13px;font-weight:600;color:#5a6678;margin-bottom:6px;margin-top:12px}
.prof-edit-lbl:first-child{margin-top:0}
.prof-edit-input{width:100%;padding:12px 14px;border:1.5px solid rgba(0,0,0,0.1);border-radius:10px;font-size:15px;font-family:'DM Sans',sans-serif;color:#1a2233;box-sizing:border-box;transition:border-color .2s;outline:none;background:#fff}
.prof-edit-input:focus{border-color:var(--teal)}
.prof-edit-error{font-size:13px;color:#ef4444;min-height:20px;margin-top:8px}
.prof-edit-save{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#0d7c91,#1a9eb5);color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:6px;-webkit-tap-highlight-color:transparent}
.prof-edit-save:active{transform:scale(0.97)}
.prof-edit-save:disabled{opacity:0.6;cursor:not-allowed}
.prof-edit-hint{font-weight:400;color:#aab3c0;font-size:11px;text-transform:none;letter-spacing:0}

/* ═══ Pull-to-refresh indicator ═══ */
#pull-indicator{position:fixed;top:0;left:50%;transform:translateX(-50%) translateY(-40px);width:44px;height:44px;background:rgba(255,255,255,0.95);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,transform .2s ease;box-shadow:0 4px 16px rgba(0,0,0,0.2);z-index:9999;pointer-events:none;margin-top:env(safe-area-inset-top,0)}
.pull-spinner{width:22px;height:22px;border:2.5px solid rgba(13,124,145,0.2);border-top-color:var(--teal);border-radius:50%;transition:transform .3s ease}
#pull-indicator.ready .pull-spinner{transform:rotate(180deg);border-top-color:#22c55e;border-color:rgba(34,197,94,0.2);border-top-color:#22c55e}
#pull-indicator.refreshing .pull-spinner{animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ═══ Splash screen ═══ */
#splash-screen{position:fixed;inset:0;z-index:9999;background:#0c2952;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}
#splash-screen.fade-out{opacity:0}
.splash-inner{display:flex;flex-direction:column;align-items:center;gap:24px}
.splash-logo{width:96px;height:96px;border-radius:24px;box-shadow:0 8px 32px rgba(0,0,0,0.3)}
.splash-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,0.15);border-top-color:rgba(255,255,255,0.7);border-radius:50%;animation:spin 0.8s linear infinite}

/* ═══ Profile edit icon (corner) ═══ */
.ph{position:relative}
.prof-edit-icon{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(13,124,145,0.2);background:rgba(13,124,145,0.08);color:var(--teal);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;z-index:10}
.prof-edit-icon:hover,.prof-edit-icon:active{background:var(--teal);color:#fff;border-color:var(--teal)}
.prof-edit-icon svg{width:16px;height:16px}

/* ═══ Profile photo ═══ */
.pav-wrap{position:relative;display:flex;justify-content:center}
.pav{overflow:hidden;width:80px;height:80px;border-radius:50%}
.pav img{width:100%;height:100%;object-fit:cover;display:block}

/* Photo upload section in edit modal */
.pe-photo-section{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid rgba(0,0,0,0.06)}
.pe-photo-preview{width:96px;height:96px;border-radius:50%;background:rgba(13,124,145,0.08);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;border:2px solid rgba(13,124,145,0.15)}
.pe-photo-placeholder{font-size:32px;opacity:0.5}
.pe-photo-btn{padding:8px 18px;border-radius:20px;border:1.5px solid var(--teal);background:#fff;color:var(--teal);font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;-webkit-tap-highlight-color:transparent;transition:all .2s}
.pe-photo-btn:active{background:var(--teal);color:#fff}
.pe-photo-remove{padding:6px 14px;border-radius:20px;border:none;background:transparent;color:#ef4444;font-size:12px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;-webkit-tap-highlight-color:transparent;text-decoration:underline}
