:root{--bg:#04060c;--card:#090d17;--line:#161e31;--tx:#f1f5ff;--mu:#8b97b3;--sky:#38bdf8;--g:linear-gradient(90deg,#2563eb,#22d3ee);--gb:linear-gradient(90deg,#1e3a8a,#0ea5e9);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}
body{background:var(--bg);color:var(--tx);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
a{color:inherit;text-decoration:none}
.w{max-width:1180px;margin:0 auto;padding:0 24px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:11;background:var(--bg);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;gap:36px;height:68px}
.logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:21px}
.ic{width:30px;height:30px}
nav .l{display:flex;gap:30px;font-size:16px;color:#c3cce3;flex:1}
nav .l a:hover{color:var(--sky)}
.fl{color:var(--mu);font-size:15px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:17px 28px;border-radius:12px;font-weight:600;font-size:17px;background:var(--gb);color:#fff;box-shadow:0 10px 34px #0ea5e944;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn.d{background:var(--card);border:1px solid var(--line);box-shadow:none;color:var(--tx)}
.btn.s{padding:11px 20px;font-size:15px;border-radius:10px}
@media(max-width:820px){nav .l,.fl{display:none}nav{justify-content:space-between}}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:56px 0 40px}
@media(max-width:900px){.hero{grid-template-columns:1fr}}
.pill{display:inline-flex;align-items:center;gap:10px;font-size:14px;padding:5px 16px 5px 5px;border-radius:99px;border:1px solid #1d4ed8;background:#0a1736;color:var(--sky);margin-bottom:26px}
.pill b{background:#1d4ed8;color:#fff;padding:3px 12px;border-radius:99px;font-size:12px;letter-spacing:.04em}
h1{font-size:clamp(40px,6vw,76px);line-height:1.04;font-weight:800;letter-spacing:-.035em;margin-bottom:26px}
h1 em{font-style:normal;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--mu);font-size:20px;max-width:560px;margin-bottom:34px}
.cta-r{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:34px}
.stat{display:flex;gap:24px;flex-wrap:wrap;align-items:center;color:var(--mu);font-size:16px}
.stat b{color:var(--tx)}.stat .z{color:var(--sky)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#22c55e;margin-right:8px}
.win{background:#070a12;border:1px solid #1a2338;border-radius:22px;overflow:hidden;color:#dde3f2;box-shadow:0 30px 90px #0008}
.wh{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;border-bottom:1px solid #121a2b;font-size:20px}
.wh span{color:#6b7794;margin-right:10px;font-size:24px}
.tl i{display:inline-block;width:13px;height:13px;border-radius:50%;margin-left:8px}
.wb{padding:20px 26px}.sp{height:110px}
.sys{display:flex;gap:12px;align-items:center;margin:0 0 18px 18px;color:#9aa6c2;font-size:16px}
.sys b{color:#fff;font-weight:500}.sys i{color:#22c55e;font-style:normal}
.m{display:flex;gap:16px;margin-bottom:20px}
.av{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;font-size:18px}
.m .n{font-size:18px;color:var(--sky)}.m .n.w2{color:#fff}
.app{background:#1d4ed8;color:#fff;font-size:11px;padding:2px 7px;border-radius:5px;margin:0 8px;font-weight:700}
.t{color:#6b7794;font-size:14px}
.emb{margin-top:8px;padding:16px 22px;border-radius:14px;background:linear-gradient(90deg,#1d4ed8,#06b6d4);color:#fff}
.emb small{letter-spacing:.3em;font-size:13px;opacity:.85}
.emb strong{display:block;font-size:24px;margin:2px 0}
.spam{color:#a5aec6;font-size:17px;transition:opacity .5s}.del .spam{text-decoration:line-through;opacity:.5}
.inp{margin:6px 26px 26px;padding:16px 22px;border-radius:12px;background:#0d1320;color:#59647f;font-size:17px}
.sec{padding:80px 0 0}
.eb{text-align:center;color:var(--sky);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
h2{text-align:center;font-size:clamp(26px,4vw,40px);margin:6px 0 8px;letter-spacing:-.02em}
.sub{text-align:center;color:var(--mu);margin-bottom:34px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;transition:.2s}
.card:hover{border-color:#1d4ed8;transform:translateY(-3px)}
.card h3{margin-bottom:4px}.card>p{color:var(--mu);font-size:14px;margin-bottom:14px}
.mini{background:#070a12;border:1px solid #121a2b;border-radius:12px;padding:12px;font-size:13px;color:#dde3f2}
.row{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #121a2b}.row:last-child{border:0}
.st{font-size:12px;padding:1px 9px;border-radius:99px;background:#1d4ed833;color:var(--sky)}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{padding:6px 12px;border-radius:8px;background:#070a12;border:1px solid #121a2b;font-size:13px;color:#dde3f2}
.bar{height:8px;border-radius:9px;background:#121a2b;margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;width:68%;background:var(--g)}
.cd{display:flex;gap:10px}.cd div{flex:1;text-align:center;background:#070a12;border:1px solid #121a2b;border-radius:10px;padding:8px;font-size:22px;font-weight:700;color:#fff}
.cd small{display:block;font-size:11px;color:#6b7794;font-weight:400}
.n1{width:38px;height:38px;border-radius:50%;background:var(--gb);color:#fff;display:grid;place-items:center;font-weight:700;margin-bottom:12px}
.mods{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.mods span{padding:9px 18px;border:1px solid var(--line);border-radius:99px;background:var(--card);font-size:14px;transition:.2s}
.mods span:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.mq{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.track{display:flex;gap:16px;width:max-content;animation:sc 40s linear infinite}
.mq:hover .track{animation-play-state:paused}
.track .card{width:300px;flex:none}.track q{display:block;font-size:14px;margin-bottom:12px;quotes:none}.track small{color:var(--mu)}
@keyframes sc{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.track{animation:none}}
.cta{text-align:center;margin:80px 0;padding:60px 20px;border-radius:24px;background:linear-gradient(135deg,#1d4ed8,#0e7490);color:#fff}
.cta h2{margin:0}.cta p{opacity:.88;margin:8px 0 24px}.cta .btn{background:#fff;color:#0c2a6b;box-shadow:none;margin:0 5px}.cta .btn.d{background:transparent;color:#fff;border-color:#ffffff66}
footer{border-top:1px solid var(--line);padding:40px 0 24px;color:var(--mu);font-size:14px}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
@media(max-width:720px){.fg{grid-template-columns:1fr 1fr}}
footer h4{color:var(--tx);margin-bottom:10px;font-size:14px}footer ul{padding:0}footer li{list-style:none;margin-bottom:6px}footer a:hover{color:var(--tx)}
.copy{text-align:center;margin-top:30px}

/* ===== Animations ===== */
#pre{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-content:center;justify-items:center;gap:14px;transition:opacity .6s,visibility .6s}
#pre.out{opacity:0;visibility:hidden}
#pre .ic{width:54px;height:54px;animation:fl 1.4s ease-in-out infinite}
@keyframes fl{50%{transform:translateY(-8px) scale(1.06)}}
#pre p{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--mu)}
#pre b{color:var(--tx);font-size:28px;text-align:center}
.pbar{width:160px;height:3px;background:var(--line);border-radius:9px;overflow:hidden}
.pbar i{display:block;height:100%;width:0;background:var(--g)}
.ln{display:block;overflow:hidden;padding-bottom:.08em}
.ln>span{display:block;transform:translateY(110%);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.loaded .ln>span{transform:none}
.loaded .ln:nth-child(2)>span{transition-delay:.12s}.loaded .ln:nth-child(3)>span{transition-delay:.24s}
.pill,.lead,.cta-r,.stat,.win{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}
.win{transform:translateX(50px)}
.loaded .pill,.loaded .lead,.loaded .cta-r,.loaded .stat,.loaded .win{opacity:1;transform:none}
.loaded .pill{transition-delay:.05s}.loaded .lead{transition-delay:.4s}.loaded .cta-r{transition-delay:.55s}.loaded .stat{transition-delay:.7s}.loaded .win{transition-delay:.35s}
.band{overflow:hidden;border-block:1px solid var(--line);padding:14px 0;margin-top:30px;white-space:nowrap}
.bt{display:flex;width:max-content;animation:sc 30s linear infinite;font-weight:800;font-size:clamp(20px,3vw,32px);letter-spacing:.08em;color:transparent;-webkit-text-stroke:1px #2a3a5e}
.rv{opacity:0;transform:translateY(32px);transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
header{transition:box-shadow .3s}
header.sc{box-shadow:0 8px 30px #0006}
@media(prefers-reduced-motion:reduce){.ln>span,.pill,.lead,.cta-r,.stat,.win,.rv{opacity:1;transform:none;transition:none}.bt,#pre .ic{animation:none}}

/* ===== Chat en action ===== */
.wb>*{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
.wb>.show{opacity:1;transform:none}
.nt{font-size:16px;margin-top:4px}
.nt.c{margin:-8px 0 18px 58px}
.emb.tk{background:#0d1320;border-left:4px solid #1d4ed8;color:#dde3f2}
.emb.tk strong{font-size:18px}
.emb.tk>span{font-size:14px;color:#9aa6c2}
.c{margin-left:58px}
.emb.tk.c{margin-top:0}
.bs{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.kb{padding:8px 16px;border-radius:8px;background:#1d4ed8;color:#fff;font-size:14px;font-weight:600}
.kb.g{background:#2b3345}
.cap{margin-top:18px;color:var(--mu);font-size:15px;opacity:0;transition:opacity .8s .9s}
.loaded .cap{opacity:1}
@media(prefers-reduced-motion:reduce){.wb>*,.cap{opacity:1;transform:none;transition:none}}

/* ===== Thème sombre + pages ===== */
:root{color-scheme:dark}
[hidden]{display:none!important}
nav{position:relative}
nav .l a.act{color:var(--sky)}
.bg{display:none;background:none;border:1px solid var(--line);color:var(--tx);border-radius:8px;padding:6px 12px;font-size:18px;cursor:pointer}
@media(max-width:820px){.bg{display:block}nav .l.open{display:flex;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:14px;padding:18px 24px;background:var(--bg);border-bottom:1px solid var(--line);z-index:5}}
.ph{padding:64px 0 6px;text-align:center}
.ph h1{font-size:clamp(34px,5vw,56px);margin-bottom:12px}
.ph p{color:var(--mu);max-width:620px;margin:0 auto;font-size:18px}
.pg{padding-top:40px;padding-bottom:90px}
.search{display:block;width:100%;max-width:420px;margin:0 auto 24px;padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--tx);font:inherit}
.tbl{display:grid;gap:10px;margin-bottom:30px}
.cmd{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 20px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.cmd code{color:var(--sky);font-size:16px;font-weight:600;min-width:200px}
.cmd p{color:var(--mu);font-size:14px;flex:1;min-width:200px}
.perm{font-size:12px;padding:2px 10px;border-radius:99px;background:#1d4ed833;color:var(--sky);white-space:nowrap}
.pg h3.t{margin:26px 0 12px;font-size:20px}
.card ol,.card ul{padding-left:20px;color:var(--mu);font-size:14px;display:grid;gap:6px}
.log{max-width:760px;margin:0 auto;display:grid;gap:16px}
.log .v{display:inline-block;background:var(--gb);color:#fff;font-size:13px;font-weight:700;padding:2px 12px;border-radius:99px;margin-right:10px}
.log .d{color:var(--mu);font-size:13px}
.av2{width:64px;height:64px;border-radius:50%;background:var(--gb);display:grid;place-items:center;font-size:26px;font-weight:700;color:#fff;margin-bottom:14px}
.f{display:grid;gap:14px;max-width:620px;margin:0 auto}
.f label{display:grid;gap:6px;font-size:14px;color:var(--mu)}
.f input,.f textarea{padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--tx);font:inherit;font-size:16px}
.f input:focus,.f textarea:focus,.search:focus{outline:2px solid #1d4ed8;border-color:transparent}
.f textarea{min-height:150px;resize:vertical}
.f .btn{border:0;cursor:pointer;justify-content:center;font-family:inherit}
.f small{color:var(--mu);text-align:center}

/* ===== Centre de tutoriels ===== */
a:focus-visible,button:focus-visible,summary:focus-visible,.search:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
.ph .st{color:var(--tx);font-size:20px;margin-bottom:6px}
.flt{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:28px}
.flt button{padding:8px 16px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--mu);font:inherit;font-size:14px;cursor:pointer;transition:.2s}
.flt button:hover{border-color:#1d4ed8;color:var(--tx)}
.flt button[aria-pressed="true"]{background:var(--gb);color:#fff;border-color:transparent}
.flt b{opacity:.75;margin-left:8px;font-weight:600}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.tcard{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;transition:.2s}
.tcard:hover{border-color:#1d4ed8;transform:translateY(-3px)}
.tcard h3{font-size:19px;line-height:1.3}
.tcard p{color:var(--mu);font-size:14px}
.tmeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cat{font-size:12px;font-weight:700;padding:2px 10px;border-radius:99px;background:#1d4ed833;color:var(--sky)}
.kw{font-size:12px;padding:2px 10px;border-radius:99px;border:1px solid var(--line);color:var(--mu)}
.tfoot{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;color:var(--mu);font-size:13px}
.tfoot a{color:var(--sky);font-weight:600;font-size:15px}
.tfoot a:hover{text-decoration:underline}
.empty{text-align:center;color:var(--mu);padding:40px 0}
.back{display:inline-block;color:var(--mu);margin-bottom:26px;font-size:15px}
.back:hover{color:var(--sky)}
.art{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:56px;align-items:start}
.prose{min-width:0}
.prose h1{font-size:clamp(30px,4.4vw,46px);text-align:left;margin:14px 0 12px;line-height:1.12}
.prose .lead2{color:#c3cce3;font-size:19px}
.prose .info{color:var(--mu);font-size:14px;margin:12px 0 24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.prose .intro{color:var(--mu);font-size:18px;line-height:1.75}
.prose h2{text-align:left;font-size:26px;margin:44px 0 12px;display:flex;align-items:center;gap:12px;scroll-margin-top:calc(100px + env(safe-area-inset-top,0px))}
.prose h2 .num{flex:none;width:34px;height:34px;border-radius:10px;background:#1d4ed833;color:var(--sky);display:grid;place-items:center;font-size:15px}
.prose section p,.prose li{color:var(--mu);font-size:17px;line-height:1.75}
.prose ul{padding-left:22px;margin-top:10px;display:grid;gap:6px}
.prose code{background:#0d1320;border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:.9em;color:var(--sky)}
.prose pre{background:#070a12;border:1px solid var(--line);border-radius:12px;padding:16px;overflow-x:auto}
.note{border-left:3px solid #22d3ee;background:#0a1220;padding:14px 18px;border-radius:0 12px 12px 0}
.toc-d{position:sticky;top:calc(68px + env(safe-area-inset-top,0px) + 24px);background:#070a12;border:1px solid #14203a;border-radius:16px;padding:22px}
.toc-d h4{font-size:12px;letter-spacing:.14em;color:#6b7794;margin-bottom:12px}
.toc-d ul,.toc-m ul{list-style:none;padding:0;display:grid;gap:2px}
.toc-d a,.toc-m a{display:block;padding:7px 12px;border-left:2px solid transparent;border-radius:0 8px 8px 0;color:#8b9bbd;font-size:14px;transition:.2s}
.toc-d a:hover,.toc-m a:hover{color:var(--sky)}
.toc-d a.on,.toc-m a.on{color:var(--sky);border-left-color:var(--sky);background:#0c1a2e}
.toc-m{display:none;background:#070a12;border:1px solid #14203a;border-radius:14px;padding:14px 16px;margin:22px 0 0}
.toc-m summary{cursor:pointer;font-weight:600;letter-spacing:.08em;font-size:13px;color:#8b9bbd;text-transform:uppercase}
.toc-m ul{margin-top:10px}
.pg h3.t{text-align:left}
.nf{text-align:center;padding:60px 0}.nf p{color:var(--mu);margin:10px 0 24px}
@media(max-width:900px){.art{grid-template-columns:1fr}.toc-d{display:none}.toc-m{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== v2 : langue, profil, changelog, équipe, tutoriels ===== */
.lang,.pf{position:relative}
.lb,.pb{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--tx);font:inherit;font-size:15px;cursor:pointer;transition:.2s}
.lb:hover,.pb:hover{border-color:#1d4ed8}
.lm,.pm{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 20px 50px #000a;display:none;z-index:30}
.lang.open .lm,.pf.open .pm{display:block}
.lm button,.pm button,.pm a{display:flex;width:100%;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:9px;background:none;color:var(--tx);font:inherit;font-size:15px;cursor:pointer;text-align:left}
.lm button:hover,.pm button:hover,.pm a:hover{background:#0f1830}
.lm .ck{margin-left:auto;color:var(--sky);visibility:hidden}
.lm button[aria-checked="true"] .ck{visibility:visible}
.pb img{border-radius:50%;width:28px;height:28px}
.pb span{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:820px){.lb .lt,.pb span{display:none}}
.chip{display:inline-block;padding:6px 16px;border:1px solid #1d4ed8;border-radius:99px;background:#0a1736;color:var(--sky);font-size:14px;margin-bottom:20px}
/* changelog */
.cl{max-width:900px;margin:0 auto;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden}
.cr{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:20px 28px;border-bottom:1px solid var(--line)}
.cr:last-child{border:0}
.cv b{display:inline-block;background:var(--gb);color:#fff;font-size:14px;padding:3px 14px;border-radius:99px}
.cv span{display:block;color:var(--mu);font-size:13px;margin-top:8px}
.cr ul{list-style:none;padding:0;display:grid;gap:9px}
.cr li{display:flex;gap:12px;align-items:baseline;font-size:15px;color:#c3cce3;line-height:1.5}
.tg{flex:none;min-width:96px;text-align:center;font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px}
.tg.n{background:#1d4ed833;color:var(--sky)}.tg.a{background:#7c3aed33;color:#c4b5fd}.tg.c{background:#16a34a33;color:#86efac}
@media(max-width:700px){.cr{grid-template-columns:1fr;gap:12px}}
/* équipe */
.tm{margin-top:34px;font-size:16px}
.tp{display:grid;gap:44px;max-width:1000px;margin:0 auto}
.rh{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.ri{width:52px;height:52px;border-radius:14px;background:#0a1730;display:grid;place-items:center}
.ri .ic{width:28px;height:28px}.ri .gd{width:22px;height:22px;border-radius:50%;background:#eab308}
.rh h2{text-align:left;margin:0;font-size:28px}.rh small{color:var(--mu);font-size:16px;margin-top:6px}
.role-o h2{color:#0ea5e9}.role-c h2{color:#eab308}.role-c .ri{background:#2a2208}
.mg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.mc{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#070b15;transition:.2s}
.mc:hover{border-color:#1d4ed8}
.pv{flex:none;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:26px;color:#fff;border:2px solid #1d4ed8;overflow:hidden}
.pv img{width:100%;height:100%;object-fit:cover}
.mc b{display:block;font-size:20px}.mc span{color:var(--mu);font-size:15px}
/* tutoriels */
.tgrid{gap:20px}
.tcard{position:relative;padding:26px;border-radius:16px;background:linear-gradient(180deg,#0b1020,#090d17);gap:12px;overflow:hidden}
.tcard::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--g);opacity:0;transition:.2s}
.tcard:hover{transform:none;border-color:#1d4ed855;box-shadow:0 14px 40px #0007}.tcard:hover::before{opacity:1}
.tmeta{display:flex;flex-wrap:wrap;gap:6px}
.tmeta .cat{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;background:#1d4ed833;color:var(--sky)}
.tmeta .kw{font-size:12px;padding:3px 10px;border-radius:99px;border:1px solid var(--line);color:var(--mu)}
.tcard h3{font-size:20px}
.tfoot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line);color:var(--mu);font-size:13px}
.tfoot a{color:var(--sky);font-weight:600}.tfoot a:hover{text-decoration:underline}
.search{max-width:560px;padding:16px 20px;font-size:16px}
.flt{margin-bottom:34px}
.flt button{padding:9px 18px}
/* dashboard */
#dash{max-width:1280px}
#dash .dbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:30px;font-size:19px}
#dash .btn{font-size:17px}
#d-guilds{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
#d-guilds .tcard{padding:30px;gap:16px}#d-guilds h3{font-size:22px}
.bdg{align-self:flex-start;font-size:13px;padding:3px 12px;border-radius:99px;background:#1d4ed833;color:var(--sky)}
.dwrap{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start}
.dnav{position:sticky;top:92px;display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card);max-height:calc(100vh - 120px);overflow:auto}
.dnav button{display:flex;align-items:center;gap:12px;padding:14px 16px;border:0;border-radius:12px;background:none;color:#c3cce3;font:inherit;font-size:17px;cursor:pointer;text-align:left}
.dnav button:hover{background:#0f1830}.dnav button[aria-current="true"]{background:var(--gb);color:#fff}
.dnav .on{margin-left:auto;width:10px;height:10px;border-radius:50%;background:#334155;flex:none}.dnav .on.y{background:#22c55e}
.dmain{border:1px solid var(--line);border-radius:22px;background:var(--card);padding:36px;min-width:0}
.dh{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.dh h2{text-align:left;margin:0;font-size:32px}
.dd{color:var(--mu);font-size:17px;margin-bottom:28px}
.fld{display:grid;gap:8px;margin-bottom:22px;font-size:17px;color:#c3cce3}
.fld small{color:var(--mu);font-size:14px}
.fld input,.fld textarea,.fld select{width:100%;padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:#060913;color:var(--tx);font:inherit;font-size:17px}
.fld textarea{min-height:150px;resize:vertical}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:2px solid #1d4ed8;border-color:transparent}
.chk{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#060913;font-size:17px;cursor:pointer;margin-bottom:12px}
.chk input{width:22px;height:22px;accent-color:#2563eb;flex:none}
.cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 16px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px}
.stats div{padding:24px;border:1px solid var(--line);border-radius:16px;background:#060913;color:var(--mu)}.stats b{display:block;font-size:34px;color:var(--tx)}
.dsave{position:sticky;bottom:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:#0a0f1d;z-index:5}
.dst{margin-right:auto;color:var(--mu);font-size:16px}.dst.ok{color:#86efac}.dst.er{color:#fca5a5}.dst.wr{color:#fde68a}
.dsave .btn{border:0;cursor:pointer;font-family:inherit}
@media(max-width:900px){.dwrap{grid-template-columns:1fr}.dnav{position:static;grid-auto-flow:column;overflow-x:auto;max-height:none}.dnav button{white-space:nowrap}.dmain{padding:22px}}

/* ===== v3 : look HurixBot-like ===== */
.gi{width:20px;height:20px;flex:none}
.logo .ic{box-sizing:content-box;width:30px;height:30px;padding:8px;background:#06101f;border-radius:14px;box-shadow:0 0 22px #0ea5e955}
.btn.dbtn{padding:13px 22px;font-size:16px;border-radius:12px}
.dc{width:48px;height:48px;border-radius:50%;background:#5865f2;display:grid;place-items:center;box-shadow:0 0 0 2px #1d4ed844;transition:.2s}
.dc:hover{transform:scale(1.06)}.dc .gi{width:28px;height:28px}
.lb{border-color:transparent;background:none;padding:9px 8px}
.pf .pb{padding:0;width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid #5865f2}
.pf .pb img{width:100%;height:100%;border-radius:0}.pf .pb span{display:none}
.pn{padding:10px 12px;font-weight:600;border-bottom:1px solid var(--line);margin-bottom:4px}
@media(max-width:820px){.btn.dbtn{display:none}}
.hero{grid-template-columns:1.05fr .95fr;gap:56px;padding:64px 0 48px}
h1{font-size:clamp(38px,4.8vw,64px);line-height:1.08;letter-spacing:-.03em}
.hero .lead{font-size:20px;max-width:540px}
.hero .btn{padding:18px 28px;font-size:18px;border-radius:14px}
.pill{border-color:#1d4ed8;background:#0a1736;color:#38a1ff}.pill b{background:#2f8cff}
.stat .z{display:inline-flex;align-items:center;gap:8px}.stat .gi{color:#38bdf8}
.win{background:#1e1f23;border-color:#2a2c31;border-radius:24px}
.wh{background:#1e1f23;border-bottom:1px solid #2a2c31}
.wb{padding:26px 28px}
.m .n{font-size:19px;color:#4aa3d8}.wb .t{font-size:14px}
.inp{background:#2b2d31;color:#80848e}
.al{display:flex;align-items:center;gap:14px;margin-top:8px;padding:16px 20px;border-radius:12px;background:#17181c;border-left:4px solid #f43f5e;color:#e5e7eb;font-size:17px}
.al .gi{width:22px;height:22px;color:#f43f5e}
.lv{margin-top:8px;padding:14px 18px;border-radius:12px;background:#17181c;color:#e5e7eb;font-size:17px}
.emb.tk{background:#17181c;border-left:4px solid #2563eb;color:#e5e7eb;margin-top:8px}
.emb.tk span{display:block;color:#9aa0ae;font-size:16px}
img.ic{object-fit:contain;display:block}
.logo img.ic{padding:9px;width:30px;height:30px}
.dc,.pf .pb{border-radius:12px}
.pf .pb{border-width:2px}

/* Bouton Login 3D */
.lgb{
  font:inherit;
  background-color:#f0f0f0;
  border:0;
  color:#242424;
  border-radius:0.5em;
  font-size:1.05rem;
  padding:0.375em 1em;
  font-weight:600;
  text-shadow:0 0.0625em 0 #fff;
  box-shadow:inset 0 0.0625em 0 0 #f4f4f4,0 0.0625em 0 0 #efefef,
    0 0.125em 0 0 #ececec,0 0.25em 0 0 #e0e0e0,0 0.3125em 0 0 #dedede,
    0 0.375em 0 0 #dcdcdc,0 0.425em 0 0 #cacaca,0 0.425em 0.5em 0 #cecece;
  transition:0.15s ease;
  cursor:pointer;
  margin-bottom:0.425em;
}
.lgb:active{
  translate:0 0.225em;
  box-shadow:inset 0 0.03em 0 0 #f4f4f4,0 0.03em 0 0 #efefef,
    0 0.0625em 0 0 #ececec,0 0.125em 0 0 #e0e0e0,0 0.125em 0 0 #dedede,
    0 0.2em 0 0 #dcdcdc,0 0.225em 0 0 #cacaca,0 0.225em 0.375em 0 #cecece;
}
.lgb:focus-visible{outline:2px solid var(--sky);outline-offset:4px}

/* Fenêtre de chat : hauteur réduite */
.wb{padding:16px 22px}
.m{margin-bottom:12px;gap:12px}
.al,.lv{padding:11px 16px;font-size:15px}
.emb{padding:12px 16px}
.inp{margin:4px 22px 18px;padding:12px 18px;font-size:15px}

/* Fenêtre de chat : hauteur très réduite */
.wh{padding:12px 20px;font-size:17px}
.wb{padding:10px 18px}
.m{margin-bottom:8px;gap:10px}
.av{width:34px;height:34px;font-size:15px}
.m .n{font-size:16px}
.sys{margin:0 0 10px 12px;font-size:14px}
.al,.lv{padding:8px 14px;font-size:14px;margin-top:4px}
.emb{padding:8px 14px;margin-top:4px}
.emb strong,.emb.tk strong{font-size:16px;margin:0}
.emb small{font-size:11px}
.emb.tk span{font-size:14px}
.bs{margin-top:8px}.kb{padding:6px 12px;font-size:13px}
.inp{margin:2px 18px 14px;padding:10px 16px;font-size:14px}

/* Chat : hauteur fixe, les anciens messages disparaissent vers le haut */
.wb{height:230px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 36px);mask-image:linear-gradient(to bottom,transparent 0,#000 36px)}
.wb>*{opacity:1;transform:none;transition:none;flex:none}
.wb>*:not(.show){display:none}
.wb>.show{animation:pop .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes pop{from{opacity:0;transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){.wb>.show{animation:none}}

/* Boutons de filtre des tutoriels */
.flt{gap:12px}
.flt button.fbtn{--round:.75rem;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;transition:all .25s ease;
  background:radial-gradient(65.28% 65.28% at 50% 100%,rgba(34,211,238,.8) 0%,rgba(34,211,238,0) 100%),linear-gradient(0deg,#2563eb,#2563eb);
  border-radius:var(--round);border:none;outline:none;padding:12px 18px;color:#fff;opacity:.55;filter:saturate(.65)}
.flt button.fbtn:hover{opacity:.9;filter:none}
.flt button.fbtn.on{opacity:1;filter:none;box-shadow:0 0 0 2px #ffffff40,0 10px 28px #2563eb66}
.flt button.fbtn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.fbtn::before,.fbtn::after{content:"";position:absolute;inset:var(--space);transition:all .5s ease-in-out;border-radius:calc(var(--round) - var(--space));z-index:0}
.fbtn::before{--space:1px;background:linear-gradient(177.95deg,rgba(255,255,255,.19) 0%,rgba(255,255,255,0) 100%)}
.fbtn::after{--space:2px;background:radial-gradient(65.28% 65.28% at 50% 100%,rgba(34,211,238,.8) 0%,rgba(34,211,238,0) 100%),linear-gradient(0deg,#2563eb,#2563eb)}
.fbtn:active{transform:scale(.95)}
.fbtn .fold{z-index:1;position:absolute;top:0;right:0;height:1rem;width:1rem;display:inline-block;transition:all .5s ease-in-out;background:radial-gradient(100% 75% at 55%,rgba(34,211,238,.8) 0%,rgba(34,211,238,0) 100%);box-shadow:0 0 3px #000;border-bottom-left-radius:.5rem;border-top-right-radius:var(--round)}
.fbtn .fold::after{content:"";position:absolute;top:0;right:0;width:150%;height:150%;transform:rotate(45deg) translateX(0%) translateY(-18px);background-color:#e8e8e8;pointer-events:none}
.fbtn:hover .fold{margin-top:-1rem;margin-right:-1rem}
.fbtn .points_wrapper{overflow:hidden;width:100%;height:100%;pointer-events:none;position:absolute;inset:0;z-index:1}
.fbtn .point{bottom:-10px;position:absolute;animation:floating-points infinite ease-in-out;pointer-events:none;width:2px;height:2px;background-color:#fff;border-radius:9999px}
@keyframes floating-points{0%{transform:translateY(0)}85%{opacity:0}100%{transform:translateY(-55px);opacity:0}}
.fbtn .point:nth-child(1){left:10%;opacity:1;animation-duration:2.35s;animation-delay:.2s;}
.fbtn .point:nth-child(2){left:30%;opacity:0.7;animation-duration:2.5s;animation-delay:.5s;}
.fbtn .point:nth-child(3){left:25%;opacity:0.8;animation-duration:2.2s;animation-delay:.1s;}
.fbtn .point:nth-child(4){left:44%;opacity:0.6;animation-duration:2.05s;}
.fbtn .point:nth-child(5){left:50%;opacity:1;animation-duration:1.9s;}
.fbtn .point:nth-child(6){left:75%;opacity:0.5;animation-duration:1.5s;animation-delay:1.5s;}
.fbtn .point:nth-child(7){left:88%;opacity:0.9;animation-duration:2.2s;animation-delay:.2s;}
.fbtn .point:nth-child(8){left:58%;opacity:0.8;animation-duration:2.25s;animation-delay:.2s;}
.fbtn .point:nth-child(9){left:98%;opacity:0.6;animation-duration:2.6s;animation-delay:.1s;}
.fbtn .point:nth-child(10){left:65%;opacity:1;animation-duration:2.5s;animation-delay:.2s;}
.fbtn .inner{z-index:2;gap:6px;position:relative;width:100%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;line-height:1.5;transition:color .2s ease-in-out}
.fbtn .inner svg.icon{width:18px;height:18px;transition:fill .1s linear}
.fbtn:focus svg.icon{fill:#fff}
.fbtn:hover svg.icon{fill:transparent;animation:dasharray 1s linear forwards,filled .1s linear forwards .95s}
@keyframes dasharray{from{stroke-dasharray:0 0 0 0}to{stroke-dasharray:68 68 0 0}}
@keyframes filled{to{fill:#fff}}
@media(prefers-reduced-motion:reduce){.fbtn .point{animation:none}.fbtn:hover svg.icon{animation:none;fill:#fff}}

/* Page commandes */
.jump{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px}
.jump a{padding:7px 16px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--mu);font-size:14px;transition:.15s}
.jump a:hover{color:var(--tx);border-color:#1d4ed8}
h3.t{scroll-margin-top:96px}
.cmd code{min-width:260px;max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){.cmd code{min-width:0;width:100%}}

/* Animations de changement de page */
@keyframes pgin{from{opacity:0;transform:translateY(14px)}}
body>.w,body>footer{animation:pgin .5s cubic-bezier(.2,.8,.2,1) backwards}
body>footer{animation-delay:.08s}
html.leaving body>.w,html.leaving body>footer{opacity:0;transform:translateY(-10px);transition:opacity .22s ease,transform .22s ease}
@media(prefers-reduced-motion:reduce){body>.w,body>footer{animation:none}}
/* Tutoriels : sous-titre sans bulle */
.ph p.st{background:none;padding:0;border-radius:0;color:var(--tx);font-size:20px;margin-bottom:6px}
/* Status */
.sbox{max-width:900px;margin:0 auto}
.sbig{display:flex;align-items:center;gap:22px;padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--card);margin-bottom:20px}
.sbig b{display:block;font-size:28px}.sbig span:not(.sdot){color:var(--mu);font-size:16px}
.sdot{flex:none;width:16px;height:16px;border-radius:50%;background:#64748b;box-shadow:0 0 0 6px #64748b33}
.sdot.ok{background:#22c55e;box-shadow:0 0 0 6px #22c55e33;animation:pulse 2s ease-in-out infinite}
.sdot.ko{background:#ef4444;box-shadow:0 0 0 6px #ef444433}
@keyframes pulse{50%{box-shadow:0 0 0 10px #22c55e11}}
.srows{display:grid;gap:10px}
.srow{display:flex;align-items:center;gap:16px;padding:18px 22px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-size:17px}
.srow span:last-child{margin-left:auto;color:var(--mu);font-size:15px}
@media(prefers-reduced-motion:reduce){.sdot.ok{animation:none}}

/* Dashboard : bouton visible seulement connecté, plus petit */
.btn.dbtn{display:none;padding:9px 16px;font-size:14px;border-radius:10px;gap:8px}
html.in .btn.dbtn{display:inline-flex}
.btn.dbtn .gi{width:17px;height:17px}
@media(max-width:820px){html.in .btn.dbtn{display:none}}
/* Pages légales */
.legal{max-width:820px;margin:0 auto}
.legal section{margin-bottom:34px}
.legal h2{font-size:22px;text-align:left;margin:0 0 10px}
.legal p,.legal li{color:var(--mu);font-size:16px;line-height:1.8}
.legal p+p{margin-top:8px}
.legal ul{padding-left:22px;display:grid;gap:8px;margin-top:8px}
.legal a{color:var(--sky)}.legal a:hover{text-decoration:underline}.legal b{color:var(--tx);font-weight:600}
/* Sauvegardes (dashboard) */
.bk{margin-top:36px;border-top:1px solid var(--line);padding-top:28px}
.bk h3.t{margin-top:0}
.bkc{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.bkc input{flex:1;min-width:220px;padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:#060913;color:var(--tx);font:inherit;font-size:17px}
.bkc .btn{border:0;cursor:pointer;font-family:inherit}
.bkm{min-height:26px;margin-bottom:16px;font-size:16px;color:var(--mu)}.bkm.ok{color:#86efac}.bkm.er{color:#fca5a5}
.bki{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 20px;background:#060913;border:1px solid var(--line);border-radius:14px;margin-bottom:10px}
.bkt{flex:1;min-width:220px}.bkt b{display:block;font-size:18px}.bkt small{color:var(--mu);font-size:14px}
.bki .btn{border:0;cursor:pointer;font-family:inherit}.bki .btn:disabled,.bkc .btn:disabled{opacity:.5;cursor:not-allowed}

/* Page commandes (liste + filtres) */
.cmx{display:grid;grid-template-columns:330px minmax(0,1fr);gap:32px;align-items:start}
.cside{position:sticky;top:92px}
.csearch{display:flex;align-items:center;gap:12px;height:54px;padding:0 14px 0 18px;border:1px solid var(--line);border-radius:14px;background:#070b14;color:var(--mu);cursor:text}
.csearch:focus-within{border-color:#1d4ed8}
.csearch input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--tx);font:inherit;font-size:17px}
.csearch kbd{padding:2px 9px;border:1px solid var(--line);border-radius:7px;background:#0d1320;font:inherit;font-size:14px;color:var(--mu)}
.ccats{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#070b14;display:grid;gap:4px}
.ccats button{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:0;border-radius:12px;background:none;color:#c3cce3;font:inherit;font-size:17px;cursor:pointer;text-align:left;transition:.15s}
.ccats button:hover{background:#0c1426}
.ccats button.on{background:#0f2147;color:var(--sky)}
.ccats .cn{color:var(--mu);font-size:15px}.ccats .on .cn{color:var(--sky)}
.ccount{color:var(--mu);font-size:18px;margin:12px 0 18px;min-height:28px}
.cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.ccard{display:flex;flex-direction:column;gap:12px;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#070b14;transition:border-color .2s}
.ccard:hover{border-color:#1d4ed866}
.chd{display:flex;align-items:center;gap:10px}
.cname{font:700 22px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#2f8cff;overflow-wrap:anywhere}
.ccopy{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:none;color:var(--mu);cursor:pointer;transition:.15s}
.ccopy:hover{background:#0f1830;color:var(--tx)}.ccopy.done{color:#34d399}
.ccat{margin-left:auto;flex:none;padding:5px 14px;border:1px solid var(--line);border-radius:99px;background:#0b1120;font-size:14px;font-weight:600}
.cdesc{color:#c3cce3;font-size:17px;line-height:1.5}
.calias{color:var(--mu);font-size:14px}
.cuse{padding:12px 16px;border-radius:10px;background:#0d1320;color:#c3cce3;font:14px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto;white-space:nowrap}
.cft{display:flex;align-items:center;gap:10px;margin-top:auto;flex-wrap:wrap}
.cperm{display:inline-flex;align-items:center;gap:8px;padding:4px 14px 4px 10px;border:1px solid #14523f;border-radius:99px;background:#0a2a24;color:#34d399;font-size:14px}
.cperm.r{border-color:#5a4a12;background:#2a2308;color:#facc15}
.copt{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--mu);font:inherit;font-size:15px;cursor:pointer}
.copt:hover{color:var(--tx)}
.copt .chv{transition:transform .2s}.copt[aria-expanded="true"] .chv{transform:rotate(180deg)}
.cox{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.orow{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 10px;font-size:14px}
.orow code,.shd code{padding:1px 8px;border-radius:6px;background:#0d1320;color:var(--sky);font:13px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.otag{font-size:12px;color:var(--mu);border:1px solid var(--line);border-radius:99px;padding:0 8px}
.odes{color:var(--mu);flex:1 1 180px}
.sgrp{display:grid;gap:8px;padding:10px 12px;border-radius:12px;background:#060913}
.shd{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 10px}
@media(max-width:900px){.cmx{grid-template-columns:1fr}.cside{position:static}.ccats{display:flex;overflow-x:auto;gap:6px}.ccats button{flex:none;gap:10px;white-space:nowrap}}
@media(max-width:700px){.cgrid{grid-template-columns:1fr}}

/* Page contact */
.ctx{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
.cform{padding:36px;border:1px solid var(--line);border-radius:22px;background:#070b14}
.cform form{display:grid;gap:26px}
.cr2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fl2{display:grid;gap:10px;font-size:18px;color:var(--tx)}
.fl2 input,.fl2 textarea{width:100%;padding:18px 20px;border-radius:14px;border:1px solid var(--line);background:#04060c;color:var(--tx);font:inherit;font-size:17px}
.fl2 input::placeholder,.fl2 textarea::placeholder{color:#59647f}
.fl2 input:focus,.fl2 textarea:focus{outline:2px solid #1d4ed8;border-color:transparent}
.fl2 textarea{min-height:280px;resize:vertical;line-height:1.6}
.mh{display:flex;justify-content:space-between;align-items:baseline}.mh small{color:var(--mu);font-size:15px}
.sjs{display:flex;flex-wrap:wrap;gap:10px}
.sj{padding:10px 20px;border-radius:99px;border:1px solid var(--line);background:#070b14;color:#c3cce3;font:inherit;font-size:16px;cursor:pointer;transition:.15s}
.sj:hover{border-color:#1d4ed8;color:var(--tx)}
.sj[aria-pressed="true"]{background:#0f2147;border-color:#1d4ed8;color:var(--sky)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cerr{padding:14px 18px;border-radius:12px;background:#2a0f14;border:1px solid #7f1d1d;color:#fca5a5}
.cfoot{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--line)}
.cpriv{display:flex;gap:12px;max-width:520px;color:var(--mu);font-size:15px;line-height:1.5}
.cpriv svg{flex:none;margin-top:2px}.cpriv a{color:var(--sky)}.cpriv a:hover{text-decoration:underline}
.cfoot .btn{border:0;cursor:pointer;font-family:inherit;padding:18px 34px;font-size:18px;border-radius:14px}
.cfoot .btn:disabled{opacity:.6;cursor:wait}
.cok{text-align:center;padding:56px 20px;display:grid;gap:12px;justify-items:center}
.ckk{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#0a2a24;color:#34d399;font-size:30px}
.cok h2{margin:0}.cok p{color:var(--mu);max-width:420px}
.cside2{display:grid;gap:16px}
.ci{display:flex;gap:18px;align-items:flex-start;padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:#070b14;transition:border-color .2s}
a.ci:hover{border-color:#1d4ed8}
.cii{flex:none;width:56px;height:56px;border-radius:16px;background:#0a1a35;color:#2f8cff;display:grid;place-items:center}
.ci small{display:block;color:var(--mu);font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.ci b{display:block;font-size:22px;font-weight:600;line-height:1.3;margin:2px 0}
.ci em{display:block;font-style:normal;color:var(--mu);font-size:15px;line-height:1.5}
@media(max-width:980px){.ctx{grid-template-columns:1fr}}
@media(max-width:640px){.cr2{grid-template-columns:1fr}.cform{padding:22px}}

/* Page de connexion du dashboard */
html:not(.in) #dph{display:none}
.lg{position:relative;padding:20px 0 10px}
.lg::before{content:"";position:absolute;left:50%;top:-40px;width:min(720px,90vw);height:420px;transform:translateX(-50%);background:radial-gradient(closest-side,#2563eb33,transparent);pointer-events:none}
.lgc{position:relative;max-width:480px;margin:30px auto 0;padding:42px 36px 32px;border:1px solid var(--line);border-radius:26px;background:#070b14;text-align:center;box-shadow:0 30px 90px #0009}
.lgl{width:72px;height:72px;margin:0 auto 20px;border-radius:20px;background:#06101f;display:grid;place-items:center;box-shadow:0 0 34px #0ea5e955}
.lgl img{width:40px;height:40px;object-fit:contain}
.lgc h2{margin:0 0 8px;font-size:28px}
.lgp{color:var(--mu);font-size:17px;margin-bottom:26px}
.dlg{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:17px 22px;border:0;border-radius:14px;background:#5865f2;color:#fff;font:inherit;font-size:18px;font-weight:600;cursor:pointer;box-shadow:0 12px 32px #5865f255;transition:.2s}
.dlg .gi{width:28px;height:28px}
.dlg:hover{background:#4752c4;transform:translateY(-2px)}
.dlg:disabled{opacity:.7;cursor:wait;transform:none}
.lgf{list-style:none;padding:0;margin:26px 0 20px;display:grid;gap:12px;text-align:left}
.lgf li{display:flex;gap:12px;align-items:flex-start;color:#c3cce3;font-size:15px;line-height:1.5}
.lgf b{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#0a2a24;color:#34d399;font-size:13px;margin-top:1px}
.lgs{color:var(--mu);font-size:13px;line-height:1.6;border-top:1px solid var(--line);padding-top:18px}
.lgs a{color:var(--sky)}.lgs a:hover{text-decoration:underline}
.lgm{position:relative;max-width:820px;margin:26px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lgm div{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#070b14}
.lgm b{display:block;font-size:17px;margin-bottom:4px}.lgm span{color:var(--mu);font-size:14px;line-height:1.5}
.ldg{padding:56px 36px}
.spin{width:44px;height:44px;margin:0 auto 22px;border:4px solid var(--line);border-top-color:#2563eb;border-radius:50%;animation:spn .8s linear infinite}
@keyframes spn{to{transform:rotate(360deg)}}
.note.er{border-left-color:#ef4444;background:#1a0b0f;color:#fca5a5;max-width:480px;margin:0 auto 6px}
@media(max-width:700px){.lgm{grid-template-columns:1fr}.lgc{padding:32px 22px 26px}}
@media(prefers-reduced-motion:reduce){.spin{animation-duration:2s}}
