:root{
  --bg:#04050d; --ink:#f3f5ff; --muted:#9ba3c9; --dim:#646c93;
  --line:rgba(255,255,255,.10); --glass:rgba(255,255,255,.045); --glass2:rgba(255,255,255,.08);
  --accent:#22d3ee; --accent2:#6366f1;
  --g:#34d399; --w:#fbbf24; --r:#f87171; --b:#60a5fa; --p:#c084fc;
  --ease:cubic-bezier(.16,1,.3,1);
  --disp:'Plus Jakarta Sans',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#000;color:var(--ink);font-family:var(--body);overflow:hidden;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

/* ---------- stage 1920x1080, scaled to fit ---------- */
#viewport{position:fixed;inset:0;background:#000}
#stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform-origin:50% 50%;overflow:hidden;background:var(--bg)}
#bg{position:absolute;inset:0;width:100%;height:100%}
#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 45%,transparent 55%,rgba(0,0,0,.65) 100%)}
#grain{position:absolute;inset:-50%;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#layers{position:absolute;inset:0}
.shot{position:absolute;inset:0;will-change:opacity,transform,filter}
.cam{position:absolute;inset:0;will-change:transform}
@keyframes cam{from{transform:scale(1)}to{transform:scale(1.04)}}

/* overlays */
#bug{position:absolute;left:64px;top:48px;display:flex;align-items:center;gap:14px;font:700 26px var(--disp);letter-spacing:-.01em;opacity:.9;z-index:5}
#bug b{color:var(--accent);transition:color 1s}
#chtag{position:absolute;right:64px;top:52px;display:flex;align-items:center;gap:14px;font:600 17px var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);z-index:5}
#chnum{font:700 17px var(--mono);color:var(--accent);padding:6px 12px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;letter-spacing:.05em}
#caption{position:absolute;left:0;right:0;bottom:54px;display:flex;justify-content:center;z-index:6;pointer-events:none;transition:opacity .4s}
#caption.off{opacity:0}
#captext{max-width:1440px;padding:16px 34px;border-radius:18px;background:rgba(4,6,16,.62);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.08);
  font:500 29px/1.4 var(--body);text-align:center;color:#fff;text-wrap:balance}
#captext:empty{display:none}
#captext .cw{opacity:.28;transition:opacity .25s}
#captext .cw.on{opacity:1}
#gprog{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(255,255,255,.05);z-index:6}
#gprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 18px var(--accent)}

/* ---------- logo ---------- */
.logo-n{display:grid;place-items:center;font:800 40px var(--disp);color:#fff;width:76px;height:76px;border-radius:22px;
  background:linear-gradient(135deg,#06b6d4,#6366f1);box-shadow:0 20px 60px -10px rgba(99,102,241,.7),inset 0 1px 0 rgba(255,255,255,.4)}
.logo-n.sm{width:44px;height:44px;border-radius:13px;font-size:24px;box-shadow:0 8px 24px -6px rgba(99,102,241,.8)}
.logo-n.xl{width:150px;height:150px;border-radius:42px;font-size:84px}
.logo-n.xxl{width:220px;height:220px;border-radius:60px;font-size:124px}

/* ---------- animation primitives ---------- */
.a{animation:var(--an,up) var(--du,1.1s) var(--ease) var(--d,0s) both}
@keyframes up{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}
@keyframes down{from{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:none}}
@keyframes left{from{opacity:0;transform:translateX(-70px)}to{opacity:1;transform:none}}
@keyframes right{from{opacity:0;transform:translateX(70px)}to{opacity:1;transform:none}}
@keyframes zoom{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}
@keyframes pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:none}}
@keyframes blurin{from{opacity:0;filter:blur(24px);transform:scale(1.08)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes flip{from{opacity:0;transform:perspective(900px) rotateX(-70deg) translateY(30px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes draw{from{stroke-dashoffset:var(--len,1000)}to{stroke-dashoffset:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinr{to{transform:rotate(-360deg)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}50%{transform:scale(1.035);box-shadow:0 0 0 26px transparent}}
@keyframes ping{from{transform:scale(.6);opacity:.9}to{transform:scale(2.4);opacity:0}}
@keyframes blink{50%{opacity:0}}
@keyframes shine{from{background-position:-200% 0}to{background-position:200% 0}}
@keyframes scanY{0%,100%{top:8%}50%{top:88%}}
@keyframes strike{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes stamp{0%{opacity:0;transform:scale(2.4) rotate(-14deg)}70%{opacity:1;transform:scale(.95) rotate(-14deg)}100%{opacity:1;transform:scale(1) rotate(-14deg)}}

/* ---------- typography ---------- */
.center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 160px 170px}
.kicker{font:700 20px var(--body);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:14px}
.kicker::before{content:"";width:46px;height:2px;background:currentColor;border-radius:2px}
.h-mega{font:800 124px/1.02 var(--disp);letter-spacing:-.045em}
.h-xl{font:800 96px/1.04 var(--disp);letter-spacing:-.04em}
.h-l{font:800 72px/1.08 var(--disp);letter-spacing:-.035em}
.h-m{font:750 54px/1.12 var(--disp);letter-spacing:-.03em}
.h-s{font:700 36px/1.2 var(--disp);letter-spacing:-.02em}
.lead{font:400 32px/1.5 var(--body);color:var(--muted);max-width:1300px}
.grad{background:linear-gradient(100deg,var(--accent) 10%,var(--accent2) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.gradw{background:linear-gradient(100deg,#fff 20%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.line{display:block;overflow:visible}
.w{display:inline-block;animation:wordin 1.1s var(--ease) var(--d,0s) both;transform-origin:50% 100%}
@keyframes wordin{from{opacity:0;transform:translateY(55%) rotateX(-50deg);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
.mt1{margin-top:18px}.mt2{margin-top:34px}.mt3{margin-top:56px}.mt4{margin-top:80px}

/* ---------- glass ---------- */
.glass{background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:28px;backdrop-filter:blur(18px);
  box-shadow:0 30px 80px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08)}
.chip{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border-radius:999px;font:600 20px var(--body);background:var(--glass2);border:1px solid var(--line)}
.chip svg{width:22px;height:22px;color:var(--accent)}
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font:700 15px var(--body);letter-spacing:.02em}
.st-g{background:rgba(52,211,153,.14);color:var(--g)}.st-w{background:rgba(251,191,36,.14);color:var(--w)}.st-r{background:rgba(248,113,113,.15);color:var(--r)}
.st-b{background:rgba(96,165,250,.15);color:var(--b)}.st-p{background:rgba(192,132,252,.15);color:var(--p)}
.ico{width:1em;height:1em}
.ibox{display:grid;place-items:center;border-radius:20px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}
.ibox svg{width:50%;height:50%;stroke-width:1.8}

/* ---------- grids of cards ---------- */
.grid{display:grid;gap:26px}
.card{padding:34px;display:flex;flex-direction:column;gap:14px;text-align:left}
.card h4{font:700 30px/1.2 var(--disp);letter-spacing:-.02em}
.card p{font:400 22px/1.45 var(--body);color:var(--muted)}
.card .ibox{width:74px;height:74px}
.card.hl{border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent),0 30px 90px -20px color-mix(in srgb,var(--accent) 50%,transparent)}

/* modules wall */
.mods{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:1600px}
.mod{display:flex;align-items:center;gap:18px;padding:22px 24px;border-radius:22px;font:600 24px var(--body);text-align:left}
.mod .ibox{width:58px;height:58px;flex:none;border-radius:16px}

/* ---------- split layout (focus) ---------- */
.split{position:absolute;inset:0;display:grid;grid-template-columns:720px 900px;gap:90px;align-items:center;justify-content:center;padding:110px 0 170px}
.split .txt{display:flex;flex-direction:column;gap:26px}
.pts{display:flex;flex-direction:column;gap:20px;margin-top:10px}
.pt{display:flex;gap:18px;align-items:center;font:500 29px/1.35 var(--body);color:#dfe3fa}
.pt .ck{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}
.pt .ck svg{width:24px;height:24px;stroke-width:2.6}
.vis{height:680px;position:relative;overflow:hidden;padding:0}
.flabel{display:flex;align-items:center;gap:18px}
.flabel .ibox{width:80px;height:80px}

/* ---------- app window mockup ---------- */
.win{position:relative;border-radius:22px;overflow:hidden;background:#0b0e1c;border:1px solid rgba(255,255,255,.12);box-shadow:0 60px 140px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.03)}
.win .tb{height:46px;display:flex;align-items:center;gap:9px;padding:0 18px;background:#12162a;border-bottom:1px solid rgba(255,255,255,.07)}
.win .tb i{width:13px;height:13px;border-radius:50%;background:#ff5f57}.win .tb i:nth-child(2){background:#febc2e}.win .tb i:nth-child(3){background:#28c840}
.win .url{margin-left:22px;flex:1;max-width:640px;height:28px;border-radius:8px;background:rgba(255,255,255,.06);display:flex;align-items:center;gap:10px;padding:0 14px;font:500 15px var(--body);color:#aeb6da}
.win .url svg{width:14px;height:14px;color:var(--g)}
.app{display:grid;grid-template-columns:250px 1fr;height:calc(100% - 46px)}
.side{background:#0e1224;border-right:1px solid rgba(255,255,255,.06);padding:22px 14px;display:flex;flex-direction:column;gap:6px}
.side .brand{display:flex;align-items:center;gap:10px;font:700 18px var(--disp);padding:4px 10px 18px}
.side .brand .sq{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:#04121a}
.side .brand .sq svg{width:18px;height:18px}
.side .it{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;font:500 16px var(--body);color:#98a0c6}
.side .it b{width:8px;height:8px;border-radius:3px;background:currentColor;opacity:.6}
.side .it.on{background:color-mix(in srgb,var(--accent) 16%,transparent);color:#fff}
.side .it.on b{background:var(--accent);opacity:1}
.main{padding:26px 30px;display:flex;flex-direction:column;gap:20px;overflow:hidden}
.main .top{display:flex;justify-content:space-between;align-items:center}
.main .top h5{font:700 26px var(--disp)}
.main .top .srch{width:260px;height:38px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.kpi small{display:block;font:500 14px var(--body);color:#8f97bd}
.kpi strong{display:block;font:800 32px var(--disp);margin-top:6px;letter-spacing:-.02em}
.kpi em{font-style:normal;font-size:16px;color:#8f97bd;font-weight:600}
.kpi .spark{height:4px;border-radius:4px;margin-top:12px;background:linear-gradient(90deg,var(--accent),transparent);transform-origin:left;animation:growx 1.4s var(--ease) var(--d) both}
.row2{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;flex:1;min-height:0}
.panel{border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);padding:18px 20px;display:flex;flex-direction:column;min-height:0}
.panel h6{font:600 15px var(--body);color:#aab2d8;margin-bottom:12px}
.chart{flex:1;display:flex;align-items:flex-end;gap:10px;padding-top:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.chart i{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 25%,transparent));transform-origin:bottom;animation:grow 1.3s var(--ease) var(--d) both}
.tbl{width:100%;border-collapse:collapse;font:500 15px var(--body)}
.tbl th{text-align:left;color:#7d85ab;font-weight:600;padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.08)}
.tbl td{padding:11px 6px;border-bottom:1px solid rgba(255,255,255,.05);color:#d6daf2;white-space:nowrap}
.tbl tr{animation:left .8s var(--ease) var(--d) both}
.tbl .badge{font-size:13px;padding:4px 10px}

/* ---------- browser + screenshots ---------- */
.browser{position:absolute;left:50%;top:132px;width:1160px;transform:translateX(-50%)}
.browser .screenwrap{position:relative;width:1160px;height:725px;overflow:hidden;background:#f8fafc}
.screen{position:absolute;left:0;top:0;width:1440px;height:900px;transform-origin:0 0}
.screen img{position:absolute;inset:0;width:1440px;height:900px;display:block}
.cursor{position:absolute;width:40px;height:40px;z-index:10;margin:-4px 0 0 -6px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.cursor .rip{position:absolute;left:-26px;top:-26px;width:60px;height:60px;border-radius:50%;border:3px solid #06b6d4;opacity:0}
.typed{position:absolute;display:flex;align-items:center;padding-left:14px;font:400 17px var(--body);color:#0f172a;border-radius:8px}
.typed.focus{box-shadow:0 0 0 2px #06b6d4}
.typed .car{display:inline-block;width:2px;height:20px;background:#0f172a;margin-left:1px;animation:blink 1s steps(1) infinite}
.callout{position:absolute;z-index:12;padding:12px 20px;border-radius:14px;font:700 20px var(--body);color:#fff;background:linear-gradient(135deg,#06b6d4,#6366f1);box-shadow:0 14px 40px -8px rgba(99,102,241,.7);white-space:nowrap}
.hlbox{position:absolute;border:3px solid #06b6d4;border-radius:14px;box-shadow:0 0 0 9999px rgba(2,6,23,.35),0 0 30px rgba(6,182,212,.7);z-index:9}
.stepbadge{position:absolute;left:50%;top:40px;transform:translateX(-50%);z-index:12;display:flex;align-items:center;gap:16px;font:700 24px var(--disp);padding:12px 26px 12px 12px;border-radius:999px}
.stepbadge b{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));font:800 22px var(--disp)}

/* ---------- pricing ---------- */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;width:1640px;align-items:stretch}
.plan{padding:36px 30px;display:flex;flex-direction:column;gap:12px;text-align:left;position:relative}
.plan h4{font:700 26px var(--disp);color:#dfe3fa}
.plan .price{font:800 50px/1 var(--disp);letter-spacing:-.03em;margin-top:6px}
.plan .price small{font:600 20px var(--body);color:var(--muted);letter-spacing:0}
.plan .old{font:500 22px var(--body);color:var(--dim);text-decoration:line-through;height:26px}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:14px}
.plan li{display:flex;gap:12px;align-items:center;font:500 20px var(--body);color:#c9cfee}
.plan li svg{width:20px;height:20px;color:var(--g);flex:none;stroke-width:3}
.plan.pop{border-color:color-mix(in srgb,var(--accent) 70%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 20%,transparent),rgba(255,255,255,.03));transform:translateY(-18px);box-shadow:0 40px 120px -30px color-mix(in srgb,var(--accent) 70%,transparent)}
.plan .tagpop{position:absolute;top:-18px;left:30px;padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));font:800 15px var(--body);letter-spacing:.08em;text-transform:uppercase;color:#fff}

/* ---------- CTA ---------- */
.cta{display:inline-flex;align-items:center;gap:18px;padding:30px 56px;border-radius:26px;font:800 40px var(--disp);letter-spacing:-.02em;color:#fff;
  background:linear-gradient(120deg,var(--accent),var(--accent2));box-shadow:0 30px 80px -20px color-mix(in srgb,var(--accent) 80%,transparent);animation:pulse 2.4s ease-in-out infinite}
.cta svg{width:40px;height:40px}
.urlpill{display:inline-flex;align-items:center;gap:14px;padding:18px 30px;border-radius:18px;font:600 30px var(--mono);background:rgba(255,255,255,.06);border:1px solid var(--line)}
.urlpill svg{width:30px;height:30px;color:var(--accent)}

/* ---------- start / UI ---------- */
#start{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(ellipse at 30% 20%,rgba(6,182,212,.25),transparent 55%),radial-gradient(ellipse at 75% 80%,rgba(99,102,241,.3),transparent 55%),#04050d}
#start.gone{opacity:0;pointer-events:none;transition:opacity .8s}
.start-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px}
.start-card h1{font:800 clamp(44px,7vw,84px)/1 var(--disp);letter-spacing:-.04em;margin-top:10px}
.start-card h1 b{color:#22d3ee}
.start-card p{color:var(--muted);font-size:clamp(16px,2vw,21px)}
#bStart{margin-top:18px;display:inline-flex;align-items:center;gap:12px;padding:18px 36px;border-radius:18px;font:700 clamp(18px,2.2vw,22px) var(--disp);background:linear-gradient(120deg,#06b6d4,#6366f1);box-shadow:0 20px 60px -15px rgba(99,102,241,.8);transition:transform .2s}
#bStart:hover{transform:translateY(-2px) scale(1.02)}
#bStart svg{width:24px;height:24px;fill:currentColor}
.start-opts{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;color:var(--muted);font-size:15px}
.start-opts input{accent-color:#06b6d4;margin-right:6px}
.start-card small{color:var(--dim);font-size:13px}
.start-card .logo-n.xl{width:110px;height:110px;font-size:62px;border-radius:32px}

#ui{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:0 16px 14px;opacity:1;transition:opacity .4s;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent);padding-top:60px}
#ui.hide{opacity:0;pointer-events:none}
#tl{position:relative;height:18px;cursor:pointer;display:flex;align-items:center}
#tl::before{content:"";position:absolute;left:0;right:0;height:5px;border-radius:5px;background:rgba(255,255,255,.18)}
#tlfill{position:absolute;left:0;height:5px;border-radius:5px;background:linear-gradient(90deg,#06b6d4,#6366f1);width:0}
#tlmarks i{position:absolute;top:5px;width:2px;height:8px;background:rgba(255,255,255,.55);border-radius:1px}
#tltip{position:absolute;bottom:24px;transform:translateX(-50%);background:#111528;border:1px solid rgba(255,255,255,.12);padding:6px 10px;border-radius:8px;font-size:13px;white-space:nowrap;display:none}
#ctrl{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
#ctrl button{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;font-size:14px;color:#dfe3fa}
#ctrl button:hover{background:rgba(255,255,255,.1)}
#ctrl button svg{width:20px;height:20px}
#ctrl button.off{opacity:.45}
#ctrl .big svg{width:26px;height:26px}
#time{font:500 14px var(--mono);color:#cfd4ef;margin-left:8px}
#curch{font-size:14px;color:var(--muted);margin-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40vw}
#ctrl .sp{flex:1}
#chmenu{position:absolute;right:16px;bottom:88px;width:min(360px,calc(100vw - 32px));max-height:60vh;overflow:auto;background:#0d1122;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:8px}
#chmenu button{display:flex;width:100%;gap:12px;padding:10px 12px;border-radius:9px;text-align:left;font-size:15px}
#chmenu button:hover,#chmenu button.on{background:rgba(255,255,255,.08)}
#chmenu button span{font:500 13px var(--mono);color:var(--muted);min-width:44px}
@media (max-width:640px){#ctrl button span{display:none}#curch{display:none}}
body.render #ui,body.render #start{display:none}
/* export vidéo : effets coûteux allégés */
body.render .glass,body.render #captext{backdrop-filter:none}
body.render .glass{background:linear-gradient(160deg,rgba(22,26,46,.92),rgba(14,17,32,.88))}
body.render #captext{background:rgba(4,6,16,.85)}
body.render #grain{display:none}

/* langues */
#captext.ar{font-family:'Cairo',var(--body);font-size:32px;line-height:1.55}
.langpick{display:flex;gap:8px;padding:6px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.langpick button{padding:10px 18px;border-radius:10px;font:600 16px var(--body);color:var(--muted)}
.langpick button[lang=ar]{font-family:'Cairo',var(--body)}
.langpick button.on{background:linear-gradient(120deg,#06b6d4,#6366f1);color:#fff}

/* ===== rythme ===== */
#sweep{position:absolute;top:-10%;bottom:-10%;left:0;width:55%;pointer-events:none;z-index:4;opacity:0;mix-blend-mode:screen;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.0) 20%,color-mix(in srgb,var(--accent) 45%,#fff 20%) 50%,rgba(255,255,255,0) 80%,transparent);filter:blur(18px)}
.pt{padding:8px 14px;margin:-8px -14px;border-radius:16px;transition:background .35s,transform .35s,box-shadow .35s}
.pt.hl{background:color-mix(in srgb,var(--accent) 16%,transparent);transform:translateX(10px);box-shadow:inset 3px 0 0 var(--accent)}
.h-mega,.h-xl,.h-l{text-shadow:0 10px 40px color-mix(in srgb,var(--accent) 25%,transparent)}

/* ===== scènes claires ===== */
.shot{color:var(--ink)}
.shot.light{--ink:#0f172a;--muted:#475569;--dim:#94a3b8;--line:rgba(15,23,42,.09);--glass:rgba(255,255,255,.8);--glass2:rgba(15,23,42,.05)}
.shot.light .h-mega,.shot.light .h-xl,.shot.light .h-l{text-shadow:none}
.shot.light .glass{background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.78));border-color:rgba(15,23,42,.07);box-shadow:0 30px 70px -28px rgba(40,50,110,.35),inset 0 1px 0 #fff}
body.render .shot.light .glass{background:linear-gradient(160deg,#fff,#f7f8ff)}
.shot.light .gradw{background:linear-gradient(100deg,#0f172a 15%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text}
.shot.light .plan h4{color:#1e293b}.shot.light .plan li{color:#334155}
.shot.light .plan.pop{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 12%,#fff),#fff);box-shadow:0 40px 100px -30px color-mix(in srgb,var(--accent) 60%,transparent)}
.shot.light .chip,.shot.light .urlpill{background:#fff;border-color:rgba(15,23,42,.08);box-shadow:0 10px 30px -12px rgba(40,50,110,.3)}
.shot.light .stepnum{background:#fff !important}
.shot.light .ibox{background:color-mix(in srgb,var(--accent) 12%,#fff)}
.shot.light .card.hl,.shot.light .mod.hl{background:#fff}
#stage.lightmode #bug{color:#0f172a}
#stage.lightmode #chtag{color:#475569}
