
:root{--bg:#0F0E17;--card:#1A1928;--accent:#FF6B35;--accent2:#FFD60A;--ok:#06D6A0;--err:#EF476F;--text:#FFFFFE;--muted:#A7A9BE;--brd:#2E2D3D;--xp:#9B5DE5;}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;display:flex;flex-direction:column;align-items:center;padding:0 14px 90px;max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh;}
.screen{width:100%;display:none;padding-top:14px;}
.screen.active{display:block;}
.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:520px;background:var(--card);border-top:1px solid var(--brd);display:flex;z-index:100;padding:6px 0 max(6px,env(safe-area-inset-bottom));}
.nb{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px;border:none;background:none;color:var(--muted);font-size:0.58rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}
.nb.on{color:var(--accent);}
.ni{font-size:1.2rem;}
.ob{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 20px;}
.ob-em{font-size:4rem;margin-bottom:18px;animation:bob 1s infinite alternate;}
@keyframes bob{to{transform:translateY(-10px);}}
.ob-ti{font-family:'Syne',sans-serif;font-size:1.7rem;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;}
.ob-tx{color:var(--muted);font-size:0.86rem;line-height:1.6;margin-bottom:24px;}
.ob-bt{padding:14px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--accent),#FF8C5A);color:#fff;font-family:'Syne',sans-serif;font-size:0.92rem;font-weight:800;cursor:pointer;width:100%;}
.ob-dots{display:flex;gap:7px;justify-content:center;margin-bottom:18px;}
.od{width:8px;height:8px;border-radius:50%;background:var(--brd);transition:all 0.3s;}
.od.on{background:var(--accent);width:22px;border-radius:99px;}
.ob-sk{background:none;border:none;color:var(--muted);font-size:0.75rem;cursor:pointer;margin-top:12px;}
.ht{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.hg{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;}
.hs{font-size:0.68rem;color:var(--muted);}
.lvc{background:linear-gradient(135deg,rgba(155,93,229,0.14),rgba(255,107,53,0.07));border:1.5px solid rgba(155,93,229,0.22);border-radius:15px;padding:13px 15px;margin-bottom:11px;}
.lvr{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;}
.lvb{background:var(--xp);color:#fff;font-family:'Syne',sans-serif;font-size:0.7rem;font-weight:800;padding:3px 9px;border-radius:99px;}
.lvn{font-size:0.8rem;font-weight:700;color:var(--accent2);}
.xpb{height:7px;background:var(--brd);border-radius:99px;overflow:hidden;}
.xpf{height:100%;background:linear-gradient(90deg,var(--xp),var(--accent));border-radius:99px;transition:width 0.6s cubic-bezier(.34,1.56,.64,1);}
.xpr{display:flex;justify-content:space-between;font-size:0.6rem;color:var(--muted);margin-top:3px;}
.sr{display:flex;gap:7px;margin-bottom:11px;}
.sb{flex:1;background:var(--card);border:1px solid var(--brd);border-radius:12px;padding:9px 5px;text-align:center;}
.sn{font-family:'Syne',sans-serif;font-size:1.2rem;font-weight:800;}
.sl{font-size:0.58rem;color:var(--muted);margin-top:2px;}
.rbtn{width:100%;padding:15px;border-radius:13px;border:none;background:linear-gradient(135deg,var(--accent),#FF8C5A);color:#fff;font-family:'Syne',sans-serif;font-size:0.92rem;font-weight:800;cursor:pointer;margin-bottom:11px;box-shadow:0 4px 14px rgba(255,107,53,0.25);transition:transform 0.1s;}
.rbtn:active{transform:scale(0.98);}
.rbtn:disabled{opacity:0.45;box-shadow:none;}
.mdc{background:linear-gradient(135deg,rgba(99,217,144,0.12) 0%,rgba(127,119,221,0.08) 100%);border:1px solid rgba(99,217,144,0.3);border-radius:14px;padding:13px 14px;margin-bottom:11px;cursor:pointer;transition:transform 0.15s,box-shadow 0.15s;}
.mdc:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,0.15);}
.mdc:active{transform:scale(0.98);}
.mdi{display:flex;align-items:center;gap:9px;}
.st{font-family:'Syne',sans-serif;font-size:0.72rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:7px;}
.dg{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:11px;}
.dc{background:var(--card);border:1.5px solid var(--brd);border-radius:13px;padding:11px;cursor:pointer;text-align:center;transition:all 0.14s;}
.dc:active{transform:scale(0.97);}
.dci{font-size:1.4rem;margin-bottom:3px;}
.dcn{font-family:'Syne',sans-serif;font-size:0.78rem;font-weight:800;margin-bottom:2px;}
.dcd{font-size:0.6rem;color:var(--muted);margin-bottom:5px;}
.dcx{font-size:0.58rem;background:rgba(155,93,229,0.16);color:var(--xp);padding:2px 7px;border-radius:99px;font-weight:700;display:inline-block;}

.daily-promise{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px;}
.promise-card{background:linear-gradient(135deg,rgba(255,107,53,.10),rgba(155,93,229,.08));border:1.5px solid var(--brd);border-radius:14px;padding:12px 13px;display:flex;align-items:center;gap:10px;}
.promise-ico{font-size:1.35rem;min-width:30px;text-align:center;}
.promise-txt{flex:1;}
.promise-txt b{display:block;font-family:'Syne',sans-serif;font-size:.82rem;font-weight:800;margin-bottom:2px;}
.promise-txt span{display:block;color:var(--muted);font-size:.64rem;line-height:1.35;}
.promise-badge{background:rgba(255,214,10,.12);border:1px solid rgba(255,214,10,.24);color:var(--accent2);font-weight:800;font-size:.68rem;border-radius:99px;padding:4px 8px;white-space:nowrap;}
@media(min-width:430px){.daily-promise{grid-template-columns:1fr 1fr}.daily-promise .promise-card:first-child{grid-column:1/-1}}

.cg{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:11px;}
.cg{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:11px;}
.csep{grid-column:1/-1;font-size:0.62rem;font-weight:700;color:var(--muted);padding:5px 0 1px;text-transform:uppercase;letter-spacing:0.7px;}
.cc{background:linear-gradient(135deg,rgba(127,119,221,0.08) 0%,var(--card) 100%);border:1px solid var(--brd);border-radius:14px;padding:12px 11px;cursor:pointer;transition:transform 0.15s,box-shadow 0.15s,border-color 0.15s;position:relative;overflow:hidden;}
.cc:active{transform:scale(0.96);}
.cc:hover{border-color:var(--accent2);box-shadow:0 4px 12px rgba(0,0,0,0.15);}
.cc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 14px 14px;background:var(--brd);}
.cc.l1::after{background:linear-gradient(90deg,#CD7F32,#E8A87C);}
.cc.l2::after{background:linear-gradient(90deg,#C0C0C0,#E8E8E8);}
.cc.l3::after{background:linear-gradient(90deg,#FFD700,#FFA500);}
.cc.l4::after{background:linear-gradient(90deg,#00CED1,#40E0D0);}
.cc.l5::after{background:linear-gradient(90deg,#9B5DE5,#C77DFF);}
.ci{font-size:1.4rem;display:block;margin-bottom:5px;line-height:1;}
.cn{font-size:0.76rem;font-weight:700;display:block;margin-bottom:4px;color:var(--text);}
.ck{font-size:0.58rem;color:var(--muted);display:block;margin-bottom:6px;}
.cp{font-size:0.62rem;font-weight:700;}
.crowns{font-size:0.7rem;letter-spacing:1px;}
.cc-progress{margin-top:6px;height:4px;background:rgba(255,255,255,0.05);border-radius:2px;overflow:hidden;}
.cc-progress-fill{height:100%;border-radius:2px;transition:width 0.4s ease;}
.crowns{font-size:0.7rem;letter-spacing:1px;}
.bk{display:flex;align-items:center;gap:5px;background:none;border:none;color:var(--muted);font-family:'DM Sans',sans-serif;font-size:0.8rem;cursor:pointer;padding:0;margin-bottom:13px;}
.ch{background:var(--card);border:1.5px solid var(--brd);border-radius:15px;padding:17px;text-align:center;margin-bottom:13px;}
.chi{font-size:2.4rem;margin-bottom:5px;}
.chn{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;margin-bottom:3px;}
.chs{font-size:0.7rem;color:var(--muted);}
.chp{font-family:'Syne',sans-serif;font-size:1.6rem;font-weight:800;margin-top:5px;}
.el{display:flex;flex-direction:column;gap:7px;margin-bottom:13px;}
.er{background:var(--card);border:1.5px solid var(--brd);border-radius:12px;padding:11px 13px;display:flex;align-items:center;gap:11px;cursor:pointer;transition:all 0.13s;}
.er:active{transform:scale(0.98);}
.er:hover{border-color:var(--accent);}
.eic{font-size:1.3rem;min-width:30px;text-align:center;}
.ei{flex:1;}
.en{font-family:'Syne',sans-serif;font-size:0.83rem;font-weight:800;margin-bottom:2px;}
.ed{font-size:0.63rem;color:var(--muted);}
.ep{font-size:0.7rem;font-weight:700;color:var(--accent2);}
.cwl{margin-top:13px;margin-bottom:18px;}
.cwh{display:flex;align-items:center;justify-content:space-between;margin:4px 0 8px;}
.cwt{font-family:'Syne',sans-serif;font-size:0.76rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:0.8px;}
.cwc{font-size:0.66rem;color:var(--muted);}
.cwlist{display:flex;flex-direction:column;gap:6px;}
.cwitem{background:var(--card);border:1px solid var(--brd);border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:9px;}
.cwitem.mastered{border-color:rgba(6,214,160,0.35);background:rgba(6,214,160,0.06);}
.cwitem.diff{border-color:rgba(239,71,111,0.35);background:rgba(239,71,111,0.06);}
.cwmain{flex:1;min-width:0;}
.cwtop{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px;}
.cwfr{font-weight:800;font-size:0.82rem;}
.cwtn{color:var(--accent);font-weight:700;font-size:0.78rem;}
.cwar{font-family:'Noto Naskh English',serif;color:var(--muted);font-size:0.88rem;}
.cwstat{font-size:0.62rem;padding:2px 6px;border-radius:99px;border:1px solid var(--brd);color:var(--muted);white-space:nowrap;}
.cwstat.ok{border-color:var(--ok);color:var(--ok);}
.cwstat.err{border-color:var(--err);color:var(--err);}
.cwplay{background:none;border:1px solid var(--brd);color:var(--muted);border-radius:8px;padding:5px 7px;font-size:0.7rem;cursor:pointer;}
.qh{display:flex;align-items:center;gap:8px;margin-bottom:9px;}
.qpb{flex:1;height:5px;background:var(--brd);border-radius:99px;overflow:hidden;}
.qpf{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:99px;transition:width 0.3s;}
.qc{font-size:0.7rem;color:var(--muted);min-width:34px;text-align:right;}
.sc{display:flex;gap:7px;margin-bottom:11px;}
.sp{flex:1;background:var(--card);border:1px solid var(--brd);border-radius:9px;padding:6px;text-align:center;font-size:0.68rem;color:var(--muted);}
.sp span{font-family:'Syne',sans-serif;font-size:0.92rem;font-weight:800;display:block;}
.combo{text-align:center;font-family:'Syne',sans-serif;font-size:0.8rem;font-weight:800;color:var(--accent2);margin-bottom:8px;min-height:20px;}
.wc{background:linear-gradient(180deg,rgba(127,119,221,0.06) 0%,var(--card) 100%);border:1px solid rgba(127,119,221,0.2);border-radius:18px;padding:26px 18px;text-align:center;margin-bottom:13px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 8px rgba(0,0,0,0.08);position:relative;overflow:hidden;}
.wfr{font-size:1.45rem;font-weight:700;color:var(--text);letter-spacing:-0.3px;}
.w-pron-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.w-pron{font-size:1.15rem;color:var(--accent2);font-weight:600;}
.w-ar{font-family:'Noto Naskh English',serif;font-size:1.25rem;color:#FFD700;}
.w-sep{color:var(--brd);font-size:0.9rem;}
.spkb{background:rgba(127,119,221,0.15);border:1px solid rgba(127,119,221,0.35);border-radius:99px;color:var(--accent2);padding:7px 14px;font-size:0.74rem;font-weight:600;cursor:pointer;margin-top:6px;transition:all 0.15s;}
.spkb:hover{background:rgba(127,119,221,0.25);transform:scale(1.05);}
.spkb:active{transform:scale(0.95);}
.og{display:flex;flex-direction:column;gap:7px;margin-bottom:11px;}
.opt{padding:12px 13px;background:var(--card);border:1.5px solid var(--brd);border-radius:10px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.84rem;font-weight:500;cursor:pointer;text-align:left;transition:all 0.12s;}
.opt:active{transform:scale(0.98);}
.opt.ok{border-color:var(--ok);background:rgba(6,214,160,0.1);color:var(--ok);}
.opt.err{border-color:var(--err);background:rgba(239,71,111,0.1);color:var(--err);}
.wi{width:100%;background:var(--card);border:1.5px solid var(--brd);border-radius:10px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.92rem;padding:11px 13px;outline:none;margin-bottom:7px;transition:border-color 0.2s;}
.wi:focus{border-color:var(--accent2);}
.wi.ok{border-color:var(--ok);}
.wi.err{border-color:var(--err);}
.vb{width:100%;padding:11px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent),#FF8C5A);color:#fff;font-family:'Syne',sans-serif;font-size:0.86rem;font-weight:800;cursor:pointer;}
.fb{border-radius:9px;padding:8px 11px;font-size:0.8rem;font-weight:600;margin-bottom:9px;display:none;}
.fb.on{display:block;}
.fb.ok{background:rgba(6,214,160,0.1);color:var(--ok);}
.fb.err{background:rgba(239,71,111,0.1);color:var(--err);}
.ans{background:rgba(255,107,53,0.08);border-radius:7px;padding:6px 10px;font-size:0.76rem;margin-bottom:7px;display:none;}
.nb2{width:100%;padding:11px;border-radius:10px;border:none;background:var(--card);border:1.5px solid var(--brd);color:var(--text);font-family:'Syne',sans-serif;font-size:0.86rem;font-weight:700;cursor:pointer;display:none;}
.nb2.on{display:block;}
.fc{background:var(--card);border:2px solid var(--brd);border-radius:19px;padding:34px 18px;text-align:center;min-height:195px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;margin-bottom:13px;transition:all 0.2s;}
.fc:active{transform:scale(0.98);}
.fc.fl{border-color:var(--ok);}
.fhint{font-size:0.68rem;color:var(--muted);margin-top:12px;}
.ftr{font-size:1.2rem;font-weight:700;color:var(--ok);display:none;margin-top:10px;}
.fb2{display:grid;grid-template-columns:1fr 1fr;gap:9px;display:none;}
.fn{padding:13px;border-radius:12px;border:none;background:rgba(239,71,111,0.12);color:var(--err);font-family:'Syne',sans-serif;font-size:0.86rem;font-weight:800;cursor:pointer;}
.fy{padding:13px;border-radius:12px;border:none;background:rgba(6,214,160,0.12);color:var(--ok);font-family:'Syne',sans-serif;font-size:0.86rem;font-weight:800;cursor:pointer;}
.rh{background:var(--card);border-radius:17px;padding:26px 18px;text-align:center;margin-bottom:13px;}
.re{font-size:2.6rem;margin-bottom:9px;}
.rp{font-family:'Syne',sans-serif;font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.rm{font-size:0.83rem;color:var(--muted);margin-top:4px;}
.xt{display:inline-flex;align-items:center;gap:5px;background:rgba(155,93,229,0.14);border:1px solid rgba(155,93,229,0.28);border-radius:99px;padding:5px 11px;margin-top:9px;font-size:0.78rem;font-weight:700;color:var(--xp);}
.xpdet{margin-top:10px;background:rgba(255,255,255,0.04);border:1px solid var(--brd);border-radius:12px;padding:9px 10px;text-align:left;font-size:0.72rem;color:var(--muted);line-height:1.65}.xpdet b{color:var(--text)}.xpdet .plus{color:var(--ok);font-weight:800}.xpdet .minus{color:var(--err);font-weight:800}
.ms{background:var(--card);border-radius:13px;padding:11px 13px;margin-bottom:11px;}
.mi{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--brd);font-size:0.77rem;}
.mi:last-child{border-bottom:none;}
.mi-ar{font-family:'Noto Naskh English',serif;color:var(--accent2);}
.mi-rm{background:none;border:1px solid var(--ok);border-radius:6px;color:var(--ok);font-size:0.65rem;padding:3px 7px;cursor:pointer;}
.ra{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.rb{padding:11px;border-radius:11px;border:none;font-family:'Syne',sans-serif;font-size:0.8rem;font-weight:800;cursor:pointer;}
.rb.p{background:linear-gradient(135deg,var(--accent),#FF8C5A);color:#fff;}
.rb.s{background:var(--card);border:1.5px solid var(--brd);color:var(--text);}
.dsh{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;}
.dsti{font-family:'Syne',sans-serif;font-size:0.95rem;font-weight:800;}
.dlv{display:flex;gap:3px;font-size:0.95rem;}
.dtm{font-family:'Syne',sans-serif;font-size:2.2rem;font-weight:800;text-align:center;color:var(--accent2);margin-bottom:9px;}
.dtm.urg{color:var(--err);animation:pls 0.5s infinite alternate;}
@keyframes pls{to{transform:scale(1.06);}}
.pc{background:var(--card);border:2px solid var(--brd);border-radius:17px;padding:26px 16px;text-align:center;margin-bottom:11px;cursor:pointer;transition:all 0.18s;}
.pc:active{transform:scale(0.97);}
.pc.rv{border-color:var(--ok);}
.pw{font-family:'Syne',sans-serif;font-size:1.4rem;font-weight:800;color:var(--accent);margin-bottom:8px;}
.pph{font-size:0.68rem;color:var(--muted);}
.pfr{font-size:0.95rem;font-weight:700;color:var(--ok);display:none;margin-top:7px;}
.diff-item{background:var(--card);border:1px solid var(--brd);border-radius:10px;padding:10px 12px;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;}
.diff-info{flex:1;}
.diff-fr{font-weight:600;font-size:0.82rem;}
.diff-ph{font-size:0.68rem;color:var(--accent);margin-top:2px;}
.diff-ar{font-family:'Noto Naskh English',serif;font-size:0.95rem;color:var(--accent2);margin:0 8px;}
.diff-rm{background:none;border:1.5px solid var(--ok);border-radius:7px;color:var(--ok);font-size:0.68rem;padding:4px 8px;cursor:pointer;white-space:nowrap;}
.ai-chat{background:var(--card);border:1px solid var(--brd);border-radius:13px;padding:11px;min-height:280px;max-height:360px;overflow-y:auto;margin-bottom:9px;display:flex;flex-direction:column;gap:8px;}
.am{max-width:88%;padding:9px 11px;border-radius:11px;font-size:0.8rem;line-height:1.5;}
.am.bot{background:rgba(255,107,53,0.1);border:1px solid rgba(255,107,53,0.18);align-self:flex-start;border-bottom-left-radius:3px;}
.am.usr{background:rgba(6,214,160,0.1);border:1px solid rgba(6,214,160,0.18);align-self:flex-end;border-bottom-right-radius:3px;}
.am-tn{font-weight:700;color:var(--accent);font-size:0.83rem;}
.am-fr{font-size:0.68rem;color:var(--muted);margin-top:2px;}
.air{display:flex;gap:7px;}
.aii{flex:1;background:var(--card);border:1.5px solid var(--brd);border-radius:10px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.83rem;padding:9px 11px;outline:none;}
.aii:focus{border-color:var(--accent);}
.ais{padding:9px 13px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent),#FF8C5A);color:#fff;font-family:'Syne',sans-serif;font-size:0.8rem;font-weight:800;cursor:pointer;}
.sec{background:var(--card);border:1px solid var(--brd);border-radius:13px;padding:13px;margin-bottom:11px;}
.seti{font-family:'Syne',sans-serif;font-size:0.8rem;font-weight:800;margin-bottom:11px;color:var(--accent2);}
.setr{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--brd);font-size:0.8rem;}
.setr:last-child{border-bottom:none;}
.ki{width:100%;background:var(--bg);border:1.5px solid var(--brd);border-radius:8px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.8rem;padding:8px 11px;outline:none;margin-top:7px;transition:border-color 0.2s;}
.ki:focus{border-color:var(--xp);}
.ks{display:flex;gap:7px;margin-top:7px;}
.ksb{padding:8px 13px;border-radius:8px;border:none;background:linear-gradient(135deg,var(--xp),#6B35FF);color:#fff;font-family:'Syne',sans-serif;font-size:0.75rem;font-weight:800;cursor:pointer;}
.ktb{padding:8px 13px;border-radius:8px;border:1.5px solid var(--brd);background:none;color:var(--muted);font-size:0.73rem;cursor:pointer;}
.kst{font-size:0.68rem;margin-top:5px;}
.af{background:var(--card);border:1px solid var(--brd);border-radius:13px;padding:13px;margin-bottom:11px;}
.al{font-size:0.68rem;color:var(--muted);margin-bottom:3px;display:block;}
.ai2{width:100%;background:var(--bg);border:1.5px solid var(--brd);border-radius:8px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.85rem;padding:9px 11px;outline:none;margin-bottom:9px;}
.ai2:focus{border-color:var(--accent2);}
.as2{width:100%;background:var(--bg);border:1.5px solid var(--brd);border-radius:8px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.82rem;padding:8px 11px;outline:none;margin-bottom:9px;}
.gb{width:100%;padding:10px;border-radius:9px;border:none;background:linear-gradient(135deg,var(--xp),#6B35FF);color:#fff;font-family:'Syne',sans-serif;font-size:0.82rem;font-weight:800;cursor:pointer;margin-bottom:7px;}
.pv{background:var(--bg);border:1px solid var(--brd);border-radius:9px;padding:11px;margin-bottom:9px;display:none;}
.pvr{display:flex;justify-content:space-between;font-size:0.76rem;padding:3px 0;}
.pvl{color:var(--muted);}
.pvar{font-family:'Noto Naskh English',serif;color:var(--accent2);}
.ab{width:100%;padding:10px;border-radius:9px;border:none;background:linear-gradient(135deg,var(--ok),#04A87E);color:#fff;font-family:'Syne',sans-serif;font-size:0.82rem;font-weight:800;cursor:pointer;display:none;}
.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.75);z-index:200;align-items:flex-start;justify-content:center;overflow-y:auto;padding:20px 14px;}
.modal.on{display:flex;}
.mbox{background:var(--card);border-radius:17px;padding:18px;width:100%;max-width:400px;border:1px solid var(--brd);}
.mt{font-family:'Syne',sans-serif;font-size:0.95rem;font-weight:800;margin-bottom:13px;}
.mi2{width:100%;background:var(--bg);border:1.5px solid var(--brd);border-radius:8px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.85rem;padding:8px 11px;outline:none;margin-bottom:7px;}
.mi2:focus{border-color:var(--accent2);}
.rec-box{background:var(--bg);border-radius:11px;padding:11px;margin-bottom:13px;border:1px solid var(--brd);}
.rec-t{font-size:0.72rem;font-weight:700;margin-bottom:8px;}
.rec-r{display:flex;gap:7px;margin-bottom:5px;}
.recb{flex:1;padding:8px;border-radius:9px;border:none;font-size:0.78rem;font-weight:700;cursor:pointer;}
.recb.r{background:rgba(239,71,111,0.14);color:var(--err);}
.recb.p{background:none;border:1.5px solid var(--brd);color:var(--muted);}
.recs{font-size:0.65rem;color:var(--muted);text-align:center;}
.rect{font-family:'Syne',sans-serif;font-size:1.3rem;font-weight:800;text-align:center;color:var(--err);display:none;}
.ma{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;}
.mab{padding:9px;border-radius:9px;border:none;font-family:'Syne',sans-serif;font-size:0.72rem;font-weight:800;cursor:pointer;}
.pa-tab{flex:1;padding:7px;border-radius:8px;border:1.5px solid var(--brd);background:none;color:var(--muted);font-family:'Syne',sans-serif;font-size:0.75rem;font-weight:800;cursor:pointer;transition:all 0.15s;}
.pa-tab.pa-tab-on{background:var(--accent);border-color:var(--accent);color:#fff;}
.di{width:100%;background:var(--card);border:1.5px solid var(--brd);border-radius:11px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.86rem;padding:10px 11px 10px 33px;outline:none;margin-bottom:9px;transition:border-color 0.2s;}
.di:focus{border-color:var(--accent2);}
.dtgs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:9px;}
.dtg{padding:4px 8px;border:1.5px solid var(--brd);border-radius:99px;background:none;color:var(--muted);font-size:0.63rem;font-weight:600;cursor:pointer;transition:all 0.12s;}
.dtg.on{border-color:var(--accent);color:var(--accent);}
.dct{font-size:0.68rem;color:var(--muted);margin-bottom:7px;}
.ditem{background:var(--card);border:1px solid var(--brd);border-radius:10px;padding:9px 11px;margin-bottom:5px;cursor:pointer;transition:border-color 0.12s;}
.ditem.exp{border-color:var(--accent);}
.drow{display:flex;justify-content:space-between;align-items:flex-start;}
.dfr{font-weight:600;font-size:0.8rem;}
.dpr{display:flex;align-items:center;gap:6px;margin-top:3px;flex-wrap:wrap;}
.dph{font-size:0.68rem;color:var(--accent);}
.dar{font-family:'Noto Naskh English',serif;font-size:0.82rem;color:var(--muted);}
.dcat{font-size:0.58rem;color:var(--muted);margin-top:2px;}
.dpl{background:none;border:1px solid var(--brd);border-radius:5px;color:var(--muted);padding:3px 7px;font-size:0.66rem;cursor:pointer;margin-top:7px;}
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--card);border:1px solid var(--brd);border-radius:11px;padding:9px 16px;font-size:0.8rem;font-weight:700;z-index:1000;animation:fup 0.4s ease;white-space:nowrap;box-shadow:0 5px 18px rgba(0,0,0,0.3);}
@keyframes fup{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.confetti{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999;}
.ph{background:linear-gradient(135deg,rgba(155,93,229,0.17),rgba(255,107,53,0.07));border:1px solid rgba(155,93,229,0.18);border-radius:17px;padding:20px;text-align:center;margin-bottom:11px;}
.pav{font-size:2.6rem;margin-bottom:5px;}
.plv{font-family:'Syne',sans-serif;font-size:0.92rem;font-weight:800;color:var(--xp);}
.pxp{font-size:0.68rem;color:var(--muted);margin-top:2px;}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:11px;}
.sc2{background:var(--card);border:1px solid var(--brd);border-radius:11px;padding:11px;text-align:center;}
.sn2{font-family:'Syne',sans-serif;font-size:1.3rem;font-weight:800;color:var(--accent);}
.sl2{font-size:0.6rem;color:var(--muted);margin-top:2px;}
.ai-tab-row{display:flex;gap:6px;margin-bottom:11px;}
.ai-tab{flex:1;padding:8px;border:1.5px solid var(--brd);border-radius:9px;background:var(--card);color:var(--muted);font-family:'Syne',sans-serif;font-size:0.72rem;font-weight:700;cursor:pointer;text-align:center;transition:all 0.14s;}
.ai-tab.on{border-color:var(--accent);color:var(--accent);}

.tb-flag{
  font-size:2rem;
  margin-bottom:10px;
  position:relative;
}

.topBanner{
  padding:26px 18px;
  border-radius:28px;
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.tb-title{
  position:relative;
  font-family:'Syne',sans-serif;
  font-size:1.5rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-0.03em;
  margin-bottom:12px;
  text-align:center;
}

.tb-sub{
  position:relative;
  font-size:0.82rem;
  line-height:1.5;
  opacity:.95;
  margin-bottom:20px;
  text-align:center;
  max-width:280px;
}

.tb-start-btn{
  position:relative;
  border:none;
  background:#fff;
  color:#111827;
  font-family:'Syne',sans-serif;
  font-weight:800;
  font-size:0.92rem;
  padding:14px 22px;
  border-radius:16px;
  cursor:pointer;
  width:100%;
  max-width:260px;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}

.guide-card{background:linear-gradient(135deg,rgba(255,107,53,0.18),rgba(255,214,10,0.08));border:1.5px solid rgba(255,107,53,0.32);border-radius:17px;padding:16px;margin-bottom:12px;box-shadow:0 8px 24px rgba(0,0,0,0.18);}
.guide-top{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.guide-ico{font-size:2rem;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;}
.guide-title{font-family:'Syne',sans-serif;font-size:1rem;font-weight:800;margin-bottom:3px;}
.guide-sub{font-size:0.7rem;color:var(--muted);line-height:1.45;}
.guide-btn{width:100%;padding:14px;border-radius:13px;border:none;background:linear-gradient(135deg,var(--accent),#FF8C5A);color:#fff;font-family:'Syne',sans-serif;font-size:0.9rem;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(255,107,53,0.25);}
.guide-steps{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0;}
.guide-step{background:rgba(15,14,23,0.42);border:1px solid rgba(255,255,255,0.06);border-radius:10px;padding:8px;font-size:0.66rem;color:var(--muted);}
.guide-step b{display:block;color:var(--text);font-size:0.7rem;margin-bottom:2px;}
.mission-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:11px;}
.mission{background:var(--card);border:1px solid var(--brd);border-radius:12px;padding:10px;}
.mission b{font-family:'Syne',sans-serif;font-size:0.74rem;display:block;margin-bottom:3px;}
.mission span{font-size:0.62rem;color:var(--muted);line-height:1.35;display:block;}

:root{
  --bg:#070812;
  --bg2:#101322;
  --card:#151827;
  --card2:#1E2335;
  --accent:#FF7A1A;
  --accent2:#FFD166;
  --ok:#16DB93;
  --err:#FF4D6D;
  --text:#F8FAFC;
  --muted:#A8B0C3;
  --brd:rgba(255,255,255,.09);
  --xp:#8B5CF6;
  --shadow:0 18px 45px rgba(0,0,0,.32);
}
body{
  background:
    radial-gradient(circle at top left,rgba(255,122,26,.18),transparent 34%),
    radial-gradient(circle at top right,rgba(139,92,246,.18),transparent 30%),
    linear-gradient(180deg,#080914 0%,#0D1020 45%,#070812 100%);
  padding:0 16px 96px;
}
.screen{padding-top:18px;}
.ht{padding:4px 2px 2px;margin-bottom:14px;}
.hg{font-size:1.28rem;letter-spacing:-.03em;}
.hs{font-size:.76rem;color:var(--muted);margin-top:3px;}

.pro-hero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:26px;
  padding:20px;
  margin-bottom:14px;
  background:
    linear-gradient(140deg,rgba(255,122,26,.26),rgba(139,92,246,.18) 55%,rgba(22,219,147,.08)),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  box-shadow:var(--shadow);
}
.pro-hero:before{
  content:'';
  position:absolute;
  width:180px;height:180px;
  right:-70px;top:-70px;
  background:radial-gradient(circle,rgba(255,209,102,.32),transparent 62%);
  filter:blur(2px);
}
.pro-pill{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(7,8,18,.45);
  border:1px solid rgba(255,255,255,.12);
  padding:6px 10px;border-radius:999px;
  font-size:.68rem;font-weight:800;color:var(--accent2);
  margin-bottom:10px;
}
.pro-title{
  position:relative;
  font-family:'Syne',sans-serif;
  font-size:1.75rem;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.06em;
  max-width:310px;
  margin-bottom:8px;
}
.pro-sub{
  position:relative;
  color:#D8DEEA;
  font-size:.83rem;
  line-height:1.45;
  max-width:360px;
  margin-bottom:15px;
}
.pro-main-btn{
  width:100%;
  border:none;
  border-radius:18px;
  padding:16px 15px;
  color:#111827;
  background:linear-gradient(135deg,#FFD166,#FF7A1A);
  box-shadow:0 12px 26px rgba(255,122,26,.28);
  font-family:'Syne',sans-serif;
  font-size:.98rem;
  font-weight:800;
  cursor:pointer;
  transition:transform .12s, filter .12s;
}
.pro-main-btn:active{transform:scale(.98);filter:brightness(.94);}
.pro-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px;}
.pro-mini{
  background:rgba(7,8,18,.42);
  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;
  padding:9px 8px;
  text-align:center;
}
.pro-mini b{display:block;font-family:'Syne',sans-serif;font-size:.88rem;}
.pro-mini span{display:block;color:var(--muted);font-size:.58rem;margin-top:2px;}

.topBanner{
  position:relative;
  overflow:hidden;
  border:none;
  border-radius:22px;
  padding:16px 14px;
  margin-bottom:14px;
  background:linear-gradient(135deg,#FFD60A 0%,#FFB703 46%,#FF7A1A 100%);
  color:#141018;
  text-align:center;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(255,183,3,.24),0 6px 16px rgba(0,0,0,.22);
  transition:transform .12s, filter .12s;
}
.topBanner:before{
  content:'';
  position:absolute;
  width:160px;height:160px;
  right:-70px;top:-80px;
  background:rgba(255,255,255,.32);
  border-radius:50%;
}
.topBanner:active{transform:scale(.985);filter:brightness(.96);}
.tb-title{
  position:relative;
  font-family:'Syne',sans-serif;
  font-size:1.02rem;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.025em;
  margin-bottom:10px;
}
.tb-infos{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.tb-infos span{
  background:rgba(255,255,255,.42);
  border:1px solid rgba(20,16,24,.08);
  border-radius:999px;
  padding:7px 6px;
  font-size:.62rem;
  font-weight:800;
  white-space:nowrap;
}
.pro-path{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:14px;
}
.pro-path-card{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  border-radius:17px;
  padding:12px;
}
.pro-path-card b{display:block;font-family:'Syne',sans-serif;font-size:.76rem;margin-bottom:3px;}
.pro-path-card span{font-size:.62rem;color:var(--muted);line-height:1.35;}

.lvc,.sb,.dc,.cc,.ch,.er,.wc,.fc,.pc,.sec,.af,.ms,.rh,.cwl,.ditem,.diff-item,.ph,.sc2{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.085);
  box-shadow:0 10px 25px rgba(0,0,0,.16);
  backdrop-filter:blur(10px);
}
.lvc{border-radius:19px;padding:14px 15px;margin-bottom:12px;}
.sr{gap:8px;margin-bottom:12px;}
.sb{border-radius:16px;padding:11px 7px;}
.sn{font-size:1.24rem;}
.sl{font-size:.6rem;}
.rbtn{
  border-radius:17px;
  padding:14px;
  background:linear-gradient(135deg,rgba(139,92,246,.95),rgba(255,122,26,.92));
  box-shadow:0 10px 24px rgba(139,92,246,.22);
}
.mdc{border-radius:17px;background:rgba(255,77,109,.09);}
.st{
  font-size:.68rem;
  color:#EEF2FF;
  letter-spacing:.08em;
  margin:16px 0 8px;
  display:flex;align-items:center;gap:6px;
}
.dg,.cg{gap:9px;}
.dc,.cc{
  border-radius:18px;
  padding:13px 11px;
  min-height:92px;
}
.dc:hover,.cc:hover,.er:hover{border-color:rgba(255,122,26,.45);}
.dci,.ci{font-size:1.55rem;}
.dcn,.cn{font-size:.82rem;letter-spacing:-.02em;}
.dcd,.ck{font-size:.62rem;line-height:1.25;}
.dcx{
  background:rgba(255,209,102,.14);
  color:var(--accent2);
}
.csep{
  color:var(--accent2);
  padding-top:9px;
  font-size:.62rem;
}
.cc:after{height:4px;opacity:.9;}
.cp,.crowns{color:var(--accent2);}

.ch{
  border-radius:25px;
  padding:20px 16px;
  background:
    radial-gradient(circle at top,rgba(255,122,26,.17),transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
}
.chi{font-size:2.65rem;}
.chn{font-size:1.26rem;letter-spacing:-.04em;}
.chs{font-size:.74rem;}
.chp{font-size:1.8rem;}
.el{gap:9px;}
.er{
  border-radius:18px;
  padding:13px;
}
.eic{font-size:1.45rem;background:rgba(255,255,255,.055);border-radius:13px;padding:7px;min-width:42px;}
.en{font-size:.88rem;}
.ed{font-size:.65rem;line-height:1.25;}
.ep{background:rgba(255,209,102,.10);padding:4px 8px;border-radius:999px;}
.cwl{
  margin-top:12px;
  border-radius:20px;
  padding:13px;
}
.cwh{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;}
.cwt{font-family:'Syne',sans-serif;font-size:.82rem;font-weight:800;}
.cwc{font-size:.64rem;color:var(--muted);}
.cwlist{display:flex;flex-direction:column;gap:7px;}
.cwitem{
  background:rgba(7,8,18,.34);
  border:1px solid rgba(255,255,255,.065);
  border-radius:14px;
  padding:10px 11px;
}
.cwmain{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.cwfr{font-size:.79rem;font-weight:800;}
.cwtn{font-size:.78rem;color:var(--accent2);font-weight:800;text-align:right;}
.cwar{font-family:'Noto Naskh English',serif;color:var(--muted);font-size:.78rem;margin-top:3px;}
.cwmeta{display:flex;gap:6px;align-items:center;margin-top:7px;flex-wrap:wrap;}
.cwtag{font-size:.56rem;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.07);color:var(--muted);}
.cwtag.ok{background:rgba(22,219,147,.12);color:var(--ok);}
.cwtag.err{background:rgba(255,77,109,.12);color:var(--err);}
.cwlisten{margin-left:auto;border:1px solid rgba(255,255,255,.1);background:none;color:var(--muted);border-radius:999px;padding:3px 8px;font-size:.62rem;}

.qh{margin-top:2px;}
.qpb{height:7px;background:rgba(255,255,255,.08);}
.qpf{background:linear-gradient(90deg,var(--accent2),var(--accent));}
.wc,.fc,.pc{border-radius:24px;min-height:125px;}
.opt,.wi,.vb,.nb2,.fb,.ans{
  border-radius:15px;
}
.opt{padding:14px;background:rgba(255,255,255,.045);}
.vb{padding:13px;}
.nav{
  background:rgba(15,18,32,.88);
  border-top:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  padding-top:8px;
}
.nb{font-size:.57rem;}
.nb.on{color:var(--accent2);}
.ni{font-size:1.22rem;}
.toast{border-radius:15px;background:rgba(21,24,39,.96);backdrop-filter:blur(12px);}

.phrase-admin-card{background:rgba(7,8,18,.34);border:1px solid var(--brd);border-radius:14px;padding:12px;margin-bottom:10px;}
.phrase-admin-card .mi2{margin-bottom:7px;}
.phrase-admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;}
.phrase-save-btn{padding:9px;border-radius:9px;border:none;background:linear-gradient(135deg,var(--ok),#04A87E);color:#fff;font-family:'Syne',sans-serif;font-size:.74rem;font-weight:800;cursor:pointer;}
.phrase-del-btn{padding:9px;border-radius:9px;border:1.5px solid var(--err);background:rgba(239,71,111,.1);color:var(--err);font-family:'Syne',sans-serif;font-size:.74rem;font-weight:800;cursor:pointer;}
.phrase-choice-main{font-family:'Noto Naskh English',serif;font-size:1.02rem;direction:rtl;text-align:right;display:block;line-height:1.45;}
.phrase-choice-sub{font-size:.76rem;color:var(--accent);font-weight:800;display:block;margin-top:2px;}
.phrase-choice-fr{font-size:.84rem;font-weight:700;display:block;}
.missing-word-box{font-size:1.3rem;font-weight:800;color:var(--accent2);letter-spacing:.02em;}

.lost-word-box{line-height:1.55;text-align:center}
.lost-word-box .lost-ar{display:block;font-family:'Noto Naskh English',serif;font-size:1.25rem;color:var(--accent2);margin-top:4px}
.lost-word-box .lost-tn{display:block;font-weight:800;color:var(--text)}
.lost-word-box .lost-fr{display:block;color:var(--muted);font-size:.72rem}

.cat-add-word-btn{
  width:100%;margin-top:10px;padding:13px;border-radius:14px;border:1.5px dashed var(--accent2);
  background:rgba(255,214,10,.08);color:var(--accent2);font-family:'Syne',sans-serif;
  font-size:.82rem;font-weight:800;cursor:pointer;
}
.phrase-audio-row{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 10px}
.phrase-audio-row button,.phrase-audio-row label{
  flex:1;min-width:120px;text-align:center;padding:9px;border-radius:9px;border:1.5px solid var(--brd);
  background:rgba(255,255,255,.04);color:var(--text);font-family:'Syne',sans-serif;font-size:.72rem;font-weight:800;cursor:pointer;
}
.phrase-audio-row .rec{border-color:var(--err);color:var(--err);background:rgba(239,71,111,.08)}
.phrase-audio-row .play{border-color:var(--ok);color:var(--ok);background:rgba(6,214,160,.08)}
.phrase-audio-status{font-size:.66rem;color:var(--muted);margin-bottom:6px}

.cat-add-top-btn{
  width:100%;
  margin:0 0 12px;
  padding:14px;
  border-radius:16px;
  border:1.5px solid rgba(255,214,10,.35);
  background:linear-gradient(135deg,rgba(255,214,10,.16),rgba(255,122,26,.10));
  color:var(--accent2);
  font-family:'Syne',sans-serif;
  font-size:.86rem;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}
.cat-add-word-btn{
  width:100%;
  margin-top:10px;
  padding:13px;
  border-radius:14px;
  border:1.5px dashed var(--accent2);
  background:rgba(255,214,10,.08);
  color:var(--accent2);
  font-family:'Syne',sans-serif;
  font-size:.82rem;
  font-weight:800;
  cursor:pointer;
}

.phrase-hidden-line{display:none;margin-top:6px;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.04);border:1px solid var(--brd);}
.phrase-hidden-line.on{display:block;}
.phrase-toggle-btn,.phrase-edit-btn{
  background:none;border:1px solid var(--accent2);border-radius:8px;color:var(--accent2);
  padding:5px 9px;font-size:.66rem;font-weight:800;cursor:pointer;font-family:'Syne',sans-serif;
}
.phrase-edit-btn{border-color:var(--ok);color:var(--ok);min-width:34px;}
.phrase-admin-card textarea.mi2{min-height:54px;resize:vertical;}

.phrase-audio-title{font-family:'Syne',sans-serif;font-size:.74rem;font-weight:800;color:var(--accent2);margin:12px 0 6px}
.phrase-audio-row .replace-audio{border-color:var(--accent2);color:var(--accent2);background:rgba(255,214,10,.08)}
.phrase-audio-row .delete-audio{border-color:var(--err);color:var(--err);background:rgba(239,71,111,.08)}
.phrase-audio-row .stop-audio{border-color:var(--err);color:var(--err);background:rgba(239,71,111,.16)}

.cwedit{
  background:none;
  border:1.5px solid var(--ok);
  color:var(--ok);
  border-radius:9px;
  padding:6px 8px;
  font-size:.72rem;
  cursor:pointer;
  margin-left:5px;
}
.cwedit:hover{background:rgba(6,214,160,.08);}

.audio-green-dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#06D6A0;
  margin-left:5px;
  vertical-align:middle;
  box-shadow:0 0 0 2px rgba(6,214,160,.12);
}

body:not(.is-editor) .cwedit,
body:not(.is-editor) #editWordsCard,
body:not(.is-editor) #editPhrasesCard,
body:not(.is-editor) .editor-only,
body:not(.is-editor) [onclick*="openPhraseAdmin"],
body:not(.is-editor) #phraseAdminPanel { display: none !important; }

:root{
  --bg:#0C111F;
  --card:#151B2C;
  --brd:#242C42;
  --accent:#FF7849;
  --accent2:#FFC93C;
  --ok:#2DD4A7;
  --err:#F4587A;
  --muted:#96A0BA;
  --xp:#8B7CF6;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 10px 30px -12px rgba(0,0,0,.55);
}

html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(255,120,73,.07), transparent 60%),
    radial-gradient(700px 420px at -10% 105%, rgba(139,124,246,.06), transparent 55%),
    var(--bg);
  -webkit-font-smoothing:antialiased;
}
::selection{background:rgba(255,120,73,.3);}
*{scrollbar-width:thin;scrollbar-color:var(--brd) transparent;}
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-thumb{background:var(--brd);border-radius:99px;}

.tb-img-banner{
  position:relative;width:100%;border-radius:18px;overflow:hidden;
  cursor:pointer;margin-bottom:20px;display:block;
  box-shadow:0 10px 26px -8px rgba(0,0,0,.45);
  background:#000;
}
.tb-coach-img-full{
  width:100%;height:auto;
  display:block;
  border-radius:18px;
}
.tb-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.65) 0%, transparent 45%);
  display:flex;align-items:flex-end;justify-content:center;
  padding-bottom:18px;
  border-radius:18px;
}
.tb-start-btn{
  background:#fff;color:#FF7849;
  border:none;border-radius:12px;padding:13px 28px;
  font-size:.95rem;font-weight:800;cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  transition:transform .15s;
}
.tb-start-btn:active{transform:scale(.96);}
.tb-img-banner:hover .tb-start-btn{transform:translateY(-2px);}

@keyframes screenIn{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}
.screen.active{animation:screenIn .38s var(--ease) both;}

@keyframes popIn{
  0%{opacity:0;transform:scale(.94);}
  100%{opacity:1;transform:scale(1);}
}
.modal[style*="flex"] .mbox, .modal.on .mbox{animation:popIn .28s var(--ease) both;}
.mbox{border-radius:20px;box-shadow:var(--shadow);}
.modal{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(5,8,16,.7);}

.nav{
  background:rgba(17,22,37,.88);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(255,255,255,.06);
  padding:8px 6px max(8px,env(safe-area-inset-bottom));
}
.nb{gap:3px;padding:7px 2px;border-radius:12px;font-size:.6rem;transition:color .2s var(--ease);position:relative;}
.ni{font-size:1.25rem;transition:transform .25s var(--ease);}
.nb.on .ni{transform:translateY(-2px) scale(1.12);}
.nb.on::before{
  content:'';position:absolute;top:-1px;left:22%;right:22%;height:3px;
  border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--accent),var(--accent2));
}
.nb:active{transform:scale(.92);}
.nb:active .ni{transform:scale(.9);}

.rbtn,.vb,.ob-bt,.rb.p,.tb-start-btn,.pro-main-btn,.guide-btn{
  border-radius:14px;
  background:linear-gradient(135deg,var(--accent),#FF9A62);
  box-shadow:0 6px 20px -6px rgba(255,120,73,.5), inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .16s var(--ease), box-shadow .2s var(--ease), filter .2s;
  letter-spacing:.2px;
}
.rbtn:hover,.vb:hover,.ob-bt:hover,.rb.p:hover{filter:brightness(1.06);}
.rbtn:active,.vb:active,.ob-bt:active,.rb.p:active,.tb-start-btn:active,.pro-main-btn:active{
  transform:scale(.965);
  box-shadow:0 3px 10px -4px rgba(255,120,73,.45), inset 0 1px 0 rgba(255,255,255,.15);
}
.rb.s,.nb2{border-radius:14px;transition:transform .16s var(--ease),border-color .2s,background .2s;}
.rb.s:active,.nb2:active{transform:scale(.965);}
.rb.s:hover,.nb2:hover{border-color:var(--accent);}
.fy,.fn{border-radius:14px;transition:transform .15s var(--ease),filter .2s;border:1.5px solid transparent;}
.fy{background:rgba(45,212,167,.14);border-color:rgba(45,212,167,.35);}
.fn{background:rgba(244,88,122,.12);border-color:rgba(244,88,122,.32);}
.fy:active,.fn:active{transform:scale(.95);}
.mab{border-radius:11px;transition:transform .14s,filter .18s;}
.mab:active{transform:scale(.95);}
.spkb{transition:all .2s var(--ease);}
.spkb:hover{background:rgba(139,124,246,.24);border-color:rgba(139,124,246,.5);transform:translateY(-1px);}
.spkb:active{transform:scale(.94);}
.bk{transition:color .2s,transform .18s var(--ease);padding:6px 2px;margin-left:-2px;}
.bk:hover{color:var(--text);transform:translateX(-3px);}
.bk:active{transform:translateX(-5px) scale(.96);}

.sb,.lvc,.ch,.rh,.ms,.promise-card,.mdc{
  border-radius:16px;
  box-shadow:0 1px 0 rgba(255,255,255,.03) inset;
}
.lvc{background:linear-gradient(145deg,rgba(139,124,246,.10),rgba(255,120,73,.05));border-color:rgba(139,124,246,.22);}
.sb{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 60%),var(--card);}
.sn{font-size:1.3rem;}
.sl{font-size:.62rem;letter-spacing:.2px;}
.hs{font-size:.72rem;}

.cc{
  border-radius:16px;padding:14px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 55%),var(--card);
  transition:transform .18s var(--ease),box-shadow .22s var(--ease),border-color .2s;
}
.cc:hover{transform:translateY(-3px);border-color:rgba(255,201,60,.55);box-shadow:0 10px 22px -10px rgba(0,0,0,.5);}
.cc:active{transform:scale(.96);}
.ci{font-size:1.55rem;margin-bottom:6px;}
.cn{font-size:.8rem;}
.ck{font-size:.62rem;}
.csep{font-size:.66rem;padding:8px 0 2px;}

.dc{border-radius:15px;transition:transform .16s var(--ease),border-color .2s,box-shadow .2s;}
.dc:hover{border-color:var(--accent);box-shadow:0 8px 18px -10px rgba(0,0,0,.45);}
.dc:active{transform:scale(.955);}
.dcd{font-size:.63rem;}
.dcx{font-size:.6rem;}

.er{border-radius:14px;transition:transform .16s var(--ease),border-color .2s,box-shadow .2s;}
.er:hover{border-color:var(--accent);transform:translateX(3px);box-shadow:0 6px 16px -10px rgba(0,0,0,.4);}
.er:active{transform:scale(.975);}
.ed{font-size:.66rem;}

.cwitem{border-radius:12px;transition:border-color .2s,background .2s;}
.cwitem:hover{border-color:rgba(255,255,255,.14);}
.cwfr{font-size:.85rem;}
.cwtn{font-size:.8rem;}
.cwstat{font-size:.64rem;}

.wc{
  border-radius:20px;padding:30px 20px;
  background:linear-gradient(180deg,rgba(139,124,246,.07),transparent 65%),var(--card);
  border-color:rgba(139,124,246,.22);
  box-shadow:var(--shadow);
  animation:popIn .32s var(--ease) both;
}
.wfr{font-size:1.5rem;}
.w-pron{font-size:1.18rem;}
.qpf{transition:width .45s var(--ease);}
.xpf{transition:width .7s var(--ease);}
.cc-progress-fill{transition:width .5s var(--ease);}

.opt{
  border-radius:13px;padding:13px 14px;font-size:.87rem;
  transition:transform .15s var(--ease),border-color .18s,background .18s,box-shadow .18s;
}
.opt:hover{border-color:rgba(255,255,255,.22);transform:translateY(-1px);}
.opt:active{transform:scale(.975);}
@keyframes goodPop{0%{transform:scale(1);}45%{transform:scale(1.035);}100%{transform:scale(1);}}
@keyframes badShake{0%,100%{transform:translateX(0);}20%{transform:translateX(-6px);}45%{transform:translateX(5px);}70%{transform:translateX(-3px);}}
.opt.ok{animation:goodPop .38s var(--ease);box-shadow:0 0 0 3px rgba(45,212,167,.18);}
.opt.err{animation:badShake .4s ease;box-shadow:0 0 0 3px rgba(244,88,122,.16);}
.wi{border-radius:13px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;}
.wi:focus{border-color:var(--accent2);box-shadow:0 0 0 3px rgba(255,201,60,.15);}
.wi.ok{box-shadow:0 0 0 3px rgba(45,212,167,.18);}
.wi.err{animation:badShake .4s ease;box-shadow:0 0 0 3px rgba(244,88,122,.16);}
@keyframes fbIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
.fb.on{animation:fbIn .3s var(--ease);border-radius:12px;}
.ans[style*="block"]{animation:fbIn .3s var(--ease);}

.fc{border-radius:20px;box-shadow:var(--shadow);transition:transform .2s var(--ease),border-color .25s;}
.fc:active{transform:scale(.975);}
.fc.fl{box-shadow:0 0 0 3px rgba(45,212,167,.14), var(--shadow);}
.pc{border-radius:18px;transition:transform .18s var(--ease),border-color .25s;box-shadow:var(--shadow);}
.pc:active{transform:scale(.97);}

.rh{border-radius:20px;box-shadow:var(--shadow);animation:popIn .35s var(--ease) both;}
.rp{font-size:3.1rem;}
.xt{transition:transform .2s;}
.mi{font-size:.8rem;}

.toast{
  border-radius:14px;background:rgba(18,24,40,.94);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 10px 30px -8px rgba(0,0,0,.6);
}
.promise-txt span{font-size:.67rem;}
.promise-badge{font-size:.7rem;}
.st{font-size:.7rem;letter-spacing:.9px;margin-bottom:8px;}
.hg{font-size:1.15rem;}
.xpr{font-size:.62rem;}
.fhint{font-size:.7rem;}
.pph{font-size:.7rem;}
.combo{transition:opacity .25s;}

.ob-bt{border-radius:15px;}
.ob-tx{font-size:.88rem;}
.od{transition:all .35s var(--ease);}

button:focus-visible,input:focus-visible,.opt:focus-visible{
  outline:2px solid var(--accent2);outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}

.ht{margin-bottom:6px;}
.hg{font-size:1.25rem;}
.hs{font-size:.7rem;}
#cloudStatus{font-size:.58rem !important;opacity:.55;margin-bottom:10px !important;}

.pro-path{display:none !important;}
.daily-promise .promise-card:nth-child(2),
.daily-promise .promise-card:nth-child(3){display:none !important;}
.daily-promise{margin-bottom:14px;}
.daily-promise .promise-card{background:var(--card);border:1px solid var(--brd);}

.topBanner{
  background:linear-gradient(135deg,var(--accent),#FF9A5C) !important;
  border:none !important;
  border-radius:18px !important;
  padding:20px 18px !important;
  margin-bottom:20px !important;
  text-align:center;
  box-shadow:0 10px 26px -8px rgba(255,120,73,.45);
  cursor:pointer;
  transition:transform .16s var(--ease);
}
.topBanner:active{transform:scale(.98);}
.tb-flag{display:none !important;}
.tb-title{
  font-family:'Syne',sans-serif !important;
  font-size:1.25rem !important;font-weight:800 !important;
  color:#fff !important;line-height:1.25 !important;
  margin:0 0 6px !important;text-shadow:0 1px 2px rgba(0,0,0,.15);
}
.tb-sub{color:rgba(255,255,255,.85) !important;font-size:.74rem !important;margin:0 0 14px !important;}
.tb-infos{display:none !important;}
.tb-start-btn{
  background:#fff !important;color:var(--accent) !important;
  border-radius:12px !important;padding:13px 22px !important;
  font-size:.95rem !important;box-shadow:0 4px 12px rgba(0,0,0,.18) !important;
  width:auto !important;display:inline-block;
}

.lvc{
  background:var(--card);border:1px solid var(--brd);
  border-radius:16px 16px 0 0;margin-bottom:0;
  padding:14px 15px 12px;
}
.lvb{background:var(--brd);color:var(--text);}
.lvn{color:var(--muted);font-weight:600;font-size:.74rem;}
.xpf{background:linear-gradient(90deg,var(--accent2),#FFB03A);}
.sr{
  gap:0;margin-bottom:22px;
  background:var(--card);border:1px solid var(--brd);border-top:none;
  border-radius:0 0 16px 16px;overflow:hidden;
}
.sb{background:none;border:none;border-radius:0;padding:10px 4px;box-shadow:none;}
.sb + .sb{border-left:1px solid var(--brd);}
.sb .sn{font-size:1.05rem;color:var(--text) !important;}
.sb .sl{color:var(--muted);}

.mdc{
  background:var(--card) !important;border:1px solid var(--brd) !important;
  margin-bottom:22px;
}
.mdc .mdi > div > div:first-child{color:var(--text) !important;}
.mdc span[style*="--ok"]{color:var(--accent) !important;border-color:var(--accent) !important;}

.st{
  font-size:.68rem;color:var(--muted);letter-spacing:1px;
  margin:0 0 10px;padding-left:2px;
}
.dg{gap:9px;margin-bottom:22px;}
.dc{background:var(--card);border:1px solid var(--brd);}
.dcx{background:rgba(255,255,255,.05);color:var(--muted);}
.dc:hover{border-color:var(--accent);}

.cg{gap:9px;}
.cc{background:var(--card);}
.cc::after{height:2px;}
.cc:hover{border-color:var(--accent);box-shadow:none;transform:translateY(-2px);}
.cp{color:var(--muted);}

.dcx, .xt{background:rgba(255,201,60,.1);border:1px solid rgba(255,201,60,.22);color:var(--accent2);}
.ep{color:var(--accent2);}

.ch{background:var(--card);border:1px solid var(--brd);}
.er:hover{border-color:var(--accent);}
.wc{background:var(--card);border:1px solid var(--brd);}
.w-ar{color:var(--accent2);}
.spkb{background:rgba(255,255,255,.05);border:1px solid var(--brd);color:var(--text);}
.spkb:hover{border-color:var(--accent);background:rgba(255,120,73,.1);}
.fc{border:1px solid var(--brd);}
.pc{border:1px solid var(--brd);}

.path-note{font-size:.65rem;color:var(--muted);margin:-4px 0 14px;line-height:1.4;}
.path-note b{color:var(--accent);font-weight:700;}

.path-sep{
  font-size:.62rem;font-weight:700;letter-spacing:1.2px;
  color:var(--muted);text-transform:uppercase;
  padding:18px 2px 8px;
  border-top:1px solid var(--brd);
  margin-top:6px;
}
.path-item:first-child + .path-sep,
.path-sep:first-child{border-top:none;padding-top:4px;}

.path-item{display:flex;align-items:flex-start;gap:10px;position:relative;}
.path-item:last-child .path-line{display:none;}
.path-num{
  width:26px;height:26px;min-width:26px;border-radius:50%;
  background:var(--brd);color:var(--muted);
  display:flex;align-items:center;justify-content:center;
  font-family:'Syne',sans-serif;font-weight:800;font-size:.68rem;
  margin-top:4px;position:relative;z-index:2;
}
.path-item.done .path-num{background:var(--ok);color:#0F0E17;}
.path-item:not(.locked) .path-num{background:var(--accent);color:#fff;}
.path-line{
  position:absolute;left:13px;top:30px;bottom:-14px;width:2px;
  background:var(--brd);z-index:1;
}
.path-item.done .path-line{background:var(--ok);}

.path-card{
  flex:1;display:flex;align-items:center;gap:11px;
  background:var(--card);border:1px solid var(--brd);border-radius:14px;
  padding:12px 13px;margin-bottom:14px;cursor:pointer;
  transition:transform .16s var(--ease),border-color .2s;
}
.path-card:hover{border-color:var(--accent);transform:translateX(3px);}
.path-card:active{transform:scale(.98);}
.path-card.locked{cursor:default;opacity:.5;}
.path-card.locked:hover{transform:none;border-color:var(--brd);}
.path-ico{font-size:1.3rem;min-width:26px;text-align:center;}
.path-mid{flex:1;min-width:0;}
.path-name{font-size:.82rem;font-weight:700;color:var(--text);}
.path-sub{font-size:.62rem;color:var(--muted);margin-top:1px;}
.path-pct{font-family:'Syne',sans-serif;font-weight:800;font-size:.78rem;white-space:nowrap;}

.path-exos{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;}
.pex{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:99px;
  background:rgba(255,255,255,.05);border:1px solid var(--brd);
  font-size:.58rem;color:var(--muted);}
.pex b{font-weight:700;}
.pex.on{background:rgba(255,201,60,.1);border-color:rgba(255,201,60,.3);color:var(--accent2);}
.pex.done{background:rgba(45,212,167,.12);border-color:rgba(45,212,167,.35);color:var(--ok);}

.surv-home-card{cursor:pointer;transition:border-color .2s,transform .16s var(--ease);}
.surv-home-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.surv-home-card:active{transform:scale(.96);}

.surv-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(5,8,16,.85);backdrop-filter:blur(8px);
  display:none;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom));
}
.surv-challenge-box,.surv-result-box{
  position:relative;width:100%;max-width:430px;
  background:var(--card);border:1px solid var(--brd);
  border-radius:24px;padding:28px 22px 32px;
  animation:popIn .34s var(--ease) both;
  text-align:center;
}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
@keyframes popIn{0%{transform:scale(.86);opacity:0;}60%{transform:scale(1.03);opacity:1;}100%{transform:scale(1);opacity:1;}}
.surv-close{
  position:absolute;top:14px;right:16px;
  background:rgba(255,255,255,.08);border:none;color:var(--muted);
  width:30px;height:30px;border-radius:50%;font-size:.8rem;cursor:pointer;
}
.surv-rec-label{font-size:.62rem;letter-spacing:1.5px;color:var(--muted);margin-bottom:6px;}
.surv-rec-num{
  font-family:'Syne',sans-serif;font-weight:900;
  font-size:5rem;line-height:1;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:4px;
}
.surv-rec-unit{font-size:.75rem;color:var(--muted);margin-bottom:14px;}
.surv-taunt{
  font-size:.88rem;font-weight:600;color:var(--text);
  background:rgba(255,120,73,.1);border:1px solid rgba(255,120,73,.25);
  border-radius:12px;padding:10px 14px;margin-bottom:18px;line-height:1.4;
}
.surv-hist-title{font-size:.62rem;letter-spacing:1px;color:var(--muted);text-align:left;margin-bottom:8px;}
.surv-hist{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
.surv-hist-row{
  display:flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:9px;
  background:rgba(255,255,255,.03);border:1px solid var(--brd);
}
.surv-hist-row.best{background:rgba(255,201,60,.08);border-color:rgba(255,201,60,.3);}
.surv-hist-n{font-size:.65rem;color:var(--muted);min-width:22px;text-align:left;}
.surv-hist-bar-wrap{flex:1;height:4px;background:var(--brd);border-radius:99px;overflow:hidden;}
.surv-hist-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:99px;transition:width .5s var(--ease);}
.surv-hist-row.best .surv-hist-bar{background:linear-gradient(90deg,var(--accent2),#FFB03A);}
.surv-hist-score{font-family:'Syne',sans-serif;font-weight:700;font-size:.72rem;white-space:nowrap;}
.surv-hist-row.best .surv-hist-score{color:var(--accent2);}
.surv-hist-date{font-size:.58rem;color:var(--muted);white-space:nowrap;}
.surv-play-btn{width:100%;padding:15px;font-size:1rem;font-weight:800;border-radius:14px;margin-top:4px;}

.surv-result-ico{font-size:3rem;margin-bottom:8px;}
.surv-result-title{font-family:'Syne',sans-serif;font-weight:900;font-size:1.1rem;letter-spacing:.5px;margin-bottom:10px;}
.surv-result-score{
  font-family:'Syne',sans-serif;font-weight:900;font-size:4.5rem;line-height:1;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.surv-result-label{font-size:.75rem;color:var(--muted);margin-bottom:8px;}
.surv-result-sub{font-size:.82rem;color:var(--text);margin-bottom:20px;font-weight:600;}
.surv-result-btns{display:flex;gap:10px;}
.surv-result-btns .rbtn,.surv-result-btns .rb{flex:1;padding:13px;}

.diff-section-title{
  font-size:.68rem;font-weight:800;letter-spacing:.8px;
  color:var(--muted);text-transform:uppercase;
  margin-bottom:10px;padding-left:2px;
}
.diff-item{
  display:flex;align-items:center;gap:9px;
  background:var(--card);border:1px solid var(--brd);
  border-radius:12px;padding:10px 12px;margin-bottom:7px;
}
.diff-item-weak{border-color:rgba(255,201,60,.2);background:rgba(255,201,60,.04);}
.diff-play{
  background:none;border:none;font-size:1rem;cursor:pointer;
  padding:0;min-width:22px;color:var(--muted);
  transition:color .18s;
}
.diff-play:hover{color:var(--text);}
.diff-info{flex:1;min-width:0;}
.diff-fr{font-size:.82rem;font-weight:700;color:var(--text);}
.diff-ph{font-size:.65rem;color:var(--accent);margin-top:1px;}
.diff-badge{
  font-size:.58rem;font-weight:700;border-radius:99px;
  padding:3px 8px;white-space:nowrap;
}
.diff-badge.ok{background:rgba(45,212,167,.15);color:var(--ok);border:1px solid rgba(45,212,167,.3);}
.diff-badge.mid{background:rgba(255,201,60,.15);color:var(--accent2);border:1px solid rgba(255,201,60,.3);}
.diff-badge.new{background:rgba(150,160,186,.12);color:var(--muted);border:1px solid var(--brd);}
.diff-rm{
  font-size:.65rem;font-weight:700;white-space:nowrap;
  background:rgba(45,212,167,.1);border:1px solid rgba(45,212,167,.25);
  color:var(--ok);border-radius:8px;padding:4px 8px;cursor:pointer;
  transition:background .18s;
}
.diff-rm:hover{background:rgba(45,212,167,.2);}
.diff-add{
  font-size:.65rem;font-weight:700;white-space:nowrap;
  background:rgba(255,120,73,.1);border:1px solid rgba(255,120,73,.3);
  color:var(--accent);border-radius:8px;padding:4px 8px;cursor:pointer;
  transition:background .18s;
}
.diff-add:hover{background:rgba(255,120,73,.2);}

.path-more{
  width:100%;padding:12px;margin-top:6px;
  background:var(--card);border:1px dashed var(--brd);
  border-radius:12px;color:var(--muted);
  font-size:.72rem;font-weight:600;cursor:pointer;
  transition:all .18s;font-family:'DM Sans',sans-serif;
}
.path-more:hover{border-color:var(--accent);color:var(--accent);}

.res-hero{
  text-align:center;padding:28px 20px 24px;
  background:linear-gradient(160deg,rgba(255,120,73,.12),rgba(255,201,60,.05));
  border:1px solid rgba(255,120,73,.2);border-radius:20px;
  margin-bottom:14px;animation:popIn .4s var(--ease) both;
}
.res-emoji{font-size:3.5rem;margin-bottom:6px;animation:bounceIn .6s var(--ease) both;}
@keyframes bounceIn{0%{transform:scale(0);}60%{transform:scale(1.2);}100%{transform:scale(1);}}
.res-pct{
  font-family:'Syne',sans-serif;font-weight:900;font-size:3.5rem;line-height:1;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.res-msg{font-size:.88rem;font-weight:600;color:var(--text);margin:6px 0 14px;}
.res-xp{
  display:inline-block;font-family:'Syne',sans-serif;font-weight:800;font-size:1.1rem;
  color:var(--accent2);background:rgba(255,201,60,.12);
  border:1px solid rgba(255,201,60,.3);border-radius:99px;padding:7px 18px;
}
.res-stats{display:flex;gap:10px;margin-bottom:14px;}
.res-stat{
  flex:1;text-align:center;background:var(--card);
  border:1px solid var(--brd);border-radius:14px;padding:13px 8px;
}
.res-stat-n{font-family:'Syne',sans-serif;font-weight:900;font-size:1.5rem;color:var(--ok);}
.res-stat-l{font-size:.6rem;color:var(--muted);margin-top:2px;}
.res-level{
  background:var(--card);border:1px solid var(--brd);
  border-radius:14px;padding:14px 15px;margin-bottom:16px;
}
.res-level-top{display:flex;justify-content:space-between;font-size:.7rem;margin-bottom:8px;}
.res-level-top span:first-child{font-weight:700;color:var(--text);}
.res-level-top span:last-child{color:var(--muted);}
.res-level-bar{height:8px;background:var(--brd);border-radius:99px;overflow:hidden;}
.res-level-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:99px;}
.res-level-gain{
  font-size:.75rem;font-weight:800;color:var(--accent2);
  text-align:center;margin-top:8px;
}
.res-level-gain:empty{display:none;}

.top-row{display:flex;gap:10px;align-items:stretch;margin-bottom:16px;}
.top-row .daily-hub{flex:1;margin-bottom:0;min-width:0;}
.top-row .word-of-day{flex-shrink:0;margin:0;}

.daily-hub{
  display:flex;flex-direction:column;gap:10px;
  background:var(--card);border:1px solid var(--brd);
  border-radius:16px;padding:13px 14px;
  transition:border-color .3s;
}
.daily-hub.complete{border-color:rgba(45,212,167,.35);background:rgba(45,212,167,.04);}
.dh-streak{
  display:flex;align-items:center;gap:8px;
  padding-bottom:10px;border-bottom:1px solid var(--brd);
}
.dh-flame{font-size:1.5rem;line-height:1;}
.dh-streak-n{
  font-family:'Syne',sans-serif;font-weight:900;font-size:1.5rem;line-height:1;
  color:var(--accent);
}
.dh-streak-l{font-size:.6rem;color:var(--muted);line-height:1.2;}
.dh-goal{display:flex;flex-direction:column;gap:6px;}
.dh-goal-top{display:flex;justify-content:space-between;align-items:baseline;}
.dh-goal-title{font-size:.72rem;font-weight:700;color:var(--text);}
.dh-goal-count{font-family:'Syne',sans-serif;font-weight:800;font-size:.8rem;color:var(--accent2);}
.dh-dots{display:flex;gap:6px;}
.dh-dot{
  flex:1;height:7px;border-radius:99px;
  background:var(--brd);transition:background .35s var(--ease);
}
.dh-dot.on{background:linear-gradient(90deg,var(--accent),var(--accent2));}
.daily-hub.complete .dh-dot.on{background:var(--ok);}
.dh-goal-msg{font-size:.6rem;color:var(--muted);line-height:1.3;}
.dh-goal-msg:empty{display:none;}

.lvs-head{
  background:linear-gradient(140deg,rgba(230,57,70,.14),rgba(255,120,73,.05));
  border:1px solid rgba(230,57,70,.25);border-radius:18px;
  padding:20px 18px;margin-bottom:14px;text-align:center;position:relative;
}
.lvs-title{
  font-family:'Syne',sans-serif;font-weight:900;font-size:1.7rem;
  color:var(--text);line-height:1;
}
.lvs-sub{font-size:.72rem;color:var(--muted);margin:5px 0 14px;}
.lvs-bar{height:9px;background:rgba(0,0,0,.28);border-radius:99px;overflow:hidden;}
.lvs-fill{
  height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transition:width .8s var(--ease);
}
.lvs-pct{
  font-family:'Syne',sans-serif;font-weight:800;font-size:.9rem;
  color:var(--accent2);margin-top:7px;
}
.lvs-start{
  width:100%;padding:16px;font-size:1rem;font-weight:800;
  border-radius:15px;margin-bottom:20px;
}
.lvs-section{
  font-size:.65rem;font-weight:800;letter-spacing:1px;
  color:var(--muted);text-transform:uppercase;
  margin:0 0 9px 2px;
}
.lvs-exos{display:flex;flex-direction:column;gap:9px;margin-bottom:20px;}
.lvs-exo{
  background:var(--card);border:1px solid var(--brd);
  border-radius:12px;padding:10px 12px;
}
.lvs-exo-top{
  display:flex;justify-content:space-between;
  font-size:.72rem;font-weight:600;margin-bottom:6px;
}
.lvs-exo-pct{font-family:'Syne',sans-serif;font-weight:800;color:var(--accent2);}
.lvs-exo-bar{height:5px;background:var(--brd);border-radius:99px;overflow:hidden;}
.lvs-exo-fill{
  height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transition:width .6s var(--ease);
}
.lvs-words{display:flex;flex-direction:column;gap:6px;}
.lvs-word{
  display:flex;align-items:center;gap:10px;
  background:var(--card);border:1px solid var(--brd);
  border-radius:11px;padding:9px 12px;
}
.lvs-word.done{background:rgba(45,212,167,.05);border-color:rgba(45,212,167,.22);}
.lvs-play{
  background:none;border:none;font-size:.95rem;cursor:pointer;
  color:var(--muted);padding:0;min-width:20px;transition:color .18s;
}
.lvs-play:hover{color:var(--accent);}
.lvs-word-mid{flex:1;min-width:0;}
.lvs-fr{font-size:.8rem;font-weight:600;color:var(--text);}
.lvs-tn{font-size:.65rem;color:var(--accent);margin-top:1px;}
.lvs-badge{
  font-size:.62rem;font-weight:700;white-space:nowrap;
  background:rgba(255,255,255,.05);border:1px solid var(--brd);
  border-radius:99px;padding:3px 8px;color:var(--muted);
}
.lvs-badge.ok{background:rgba(45,212,167,.12);border-color:rgba(45,212,167,.3);color:var(--ok);}

.speak-hint.hidden{display:none;}
.speak-reveal{
  background:rgba(255,255,255,.06);border:1px solid var(--brd);
  color:var(--muted);border-radius:10px;padding:7px 14px;
  font-size:.7rem;cursor:pointer;font-family:inherit;margin-top:10px;
  transition:all .18s;
}
.speak-reveal:hover{border-color:var(--accent2);color:var(--accent2);}
.speak-hint{
  font-family:'Syne',sans-serif;font-weight:800;font-size:1.1rem;
  color:var(--accent2);margin-top:8px;opacity:.85;
}
#speakZone{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:6px;}
.sp-status{font-size:.8rem;color:var(--muted);text-align:center;line-height:1.4;min-height:36px;}
.sp-mic{
  width:82px;height:82px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),#FF9A62);
  border:none;font-size:2.1rem;cursor:pointer;color:#fff;
  box-shadow:0 8px 24px -6px rgba(255,120,73,.5);
  transition:transform .18s var(--ease);
}
.sp-mic:active{transform:scale(.93);}
.sp-mic.rec{
  background:linear-gradient(135deg,var(--err),#D63A5C);
  animation:micPulse 1.1s ease-in-out infinite;
}
@keyframes micPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(244,88,122,.55);}
  50%{box-shadow:0 0 0 18px rgba(244,88,122,0);}
}
.sp-heard{min-height:24px;text-align:center;font-size:.8rem;}
.sp-interim{color:var(--muted);font-style:italic;}
.sp-final{color:var(--text);}
.sp-final b{color:var(--accent2);}
.sp-actions{display:flex;gap:9px;width:100%;margin-top:4px;}
.sp-actions .rb{flex:1;padding:11px;font-size:.78rem;}

.memo-box{
  position:relative;width:100%;max-width:430px;
  background:linear-gradient(160deg,#1A2138,#151B2C);
  border:1px solid var(--brd);
  border-radius:24px;padding:26px 22px 30px;
  animation:popIn .34s var(--ease) both;text-align:center;
}
.memo-ico{font-size:2.8rem;margin-bottom:8px;}
.memo-title{
  font-family:'Syne',sans-serif;font-weight:900;font-size:1.25rem;
  color:var(--accent2);margin-bottom:10px;
}
.memo-sub{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:22px;}
.memo-sub b{color:var(--text);}
.memo-go{width:100%;padding:15px;font-size:1rem;}
.memo-count{
  font-size:.66rem;color:var(--muted);letter-spacing:1px;
  font-weight:700;margin-bottom:14px;
}
.memo-card{
  background:var(--card);border:1px solid var(--brd);
  border-radius:18px;padding:24px 18px;margin-bottom:14px;
}
.memo-fr{font-size:1.15rem;font-weight:700;color:var(--text);}
.memo-arrow{font-size:1.2rem;color:var(--muted);opacity:.5;margin:6px 0;}
.memo-tn{
  font-family:'Syne',sans-serif;font-weight:900;font-size:1.85rem;
  color:var(--accent2);line-height:1.15;
}
.memo-ar{font-size:1.3rem;color:var(--accent);margin-top:6px;direction:rtl;}
.memo-listen{
  background:rgba(255,255,255,.07);border:1px solid var(--brd);
  color:var(--text);border-radius:12px;padding:11px 22px;
  font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;
  transition:all .18s;margin-bottom:10px;
}
.memo-listen:hover{background:rgba(255,120,73,.15);border-color:var(--accent);}
.memo-tip{font-size:.72rem;color:var(--muted);margin-bottom:18px;}
.memo-next{width:100%;padding:15px;font-size:.95rem;}

.memo-box.bravo-img,.reward-box.niv-img{
  background:linear-gradient(170deg,#0F1729,#0B1220);
  border-color:rgba(255,201,60,.3);
  padding:20px 16px 26px;
}
.bi-checks{
  display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-bottom:8px;
}
.bi-check{
  display:flex;flex-direction:column;align-items:center;
  font-size:.72rem;color:#0F0E17;font-weight:900;
  width:27px;height:27px;border-radius:50%;
  background:linear-gradient(135deg,var(--ok),#22B893);
  justify-content:center;line-height:1;
  box-shadow:0 0 10px rgba(45,212,167,.45);
  animation:checkPop .4s var(--ease) both;
}
.bi-check b{font-size:.5rem;font-weight:700;opacity:.75;}
@keyframes checkPop{0%{transform:scale(0);}60%{transform:scale(1.25);}100%{transform:scale(1);}}
.bi-done{
  font-size:.82rem;color:var(--text);font-weight:600;
  text-align:center;margin-bottom:12px;
}
.bi-cards{display:flex;gap:7px;margin-bottom:14px;}
.bi-card{
  flex:1;position:relative;text-align:center;
  background:rgba(255,255,255,.04);border:1px solid var(--brd);
  border-radius:12px;padding:11px 5px;
}
.bi-ico{font-size:1.4rem;display:block;}
.bi-ok{
  position:absolute;top:6px;right:6px;
  width:17px;height:17px;border-radius:50%;
  background:var(--ok);color:#0F0E17;
  font-size:.6rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;
}
.bi-t{font-size:.62rem;font-weight:700;color:var(--text);margin-top:4px;line-height:1.2;}
.bi-s{font-size:.55rem;color:var(--muted);margin-top:1px;}
.bi-img{
  width:100%;border-radius:16px;display:block;margin-bottom:16px;
  box-shadow:0 10px 30px -12px rgba(0,0,0,.7);
  animation:popIn .5s var(--ease) both;
}
.bi-main{
  width:100%;background:#fff;color:#C1121F;
  border:none;border-radius:15px;padding:16px;
  font-family:'Syne',sans-serif;font-weight:800;font-size:1rem;
  cursor:pointer;box-shadow:0 6px 20px -6px rgba(0,0,0,.5);
  transition:transform .16s var(--ease);margin-bottom:9px;
}
.bi-main:active{transform:scale(.975);}
.bi-second{
  width:100%;background:transparent;color:var(--muted);
  border:1px solid var(--brd);border-radius:13px;padding:13px;
  font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;
  transition:all .18s;
}
.bi-second:hover{border-color:var(--accent);color:var(--text);}
.reward-box.niv-img .reward-card{margin-bottom:16px;}

.memo-banner{
  display:flex;align-items:center;gap:13px;
  background:linear-gradient(135deg,#FFD93D 0%,#FFC107 100%);
  border-radius:16px;padding:14px 16px;
  margin:-10px 0 22px;cursor:pointer;
  box-shadow:0 8px 24px -8px rgba(255,201,60,.55);
  transition:transform .16s var(--ease),box-shadow .2s;
  position:relative;overflow:hidden;
}
.memo-banner::before{
  content:'';position:absolute;right:-24px;top:-24px;
  width:96px;height:96px;border-radius:50%;
  background:rgba(255,255,255,.18);pointer-events:none;
}
.memo-banner:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px -8px rgba(255,201,60,.7);
}
.memo-banner:active{transform:scale(.98);}
.mb-ico{font-size:1.7rem;position:relative;z-index:1;}
.mb-mid{flex:1;position:relative;z-index:1;text-align:left;}
.mb-t{
  font-family:'Syne',sans-serif;font-weight:900;font-size:1rem;
  color:#3D2A00;line-height:1.15;
}
.mb-s{font-size:.66rem;color:#6B4F00;margin-top:2px;font-weight:600;}
.mb-go{
  font-size:1.3rem;color:#3D2A00;font-weight:900;
  position:relative;z-index:1;
  animation:mbArrow 1.4s ease-in-out infinite;
}
@keyframes mbArrow{0%,100%{transform:translateX(0);}50%{transform:translateX(5px);}}

.help-bar{
  display:flex;gap:9px;margin-top:14px;
}
.hb-btn{
  flex:1;padding:12px;border-radius:12px;
  background:rgba(13,18,32,.78);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid var(--brd);color:var(--muted);
  font-size:.78rem;font-weight:600;cursor:pointer;
  font-family:inherit;transition:all .18s;
}
.hb-btn:hover{border-color:var(--accent2);color:var(--accent2);}
.hb-btn:active{transform:scale(.97);}
.hb-revoir{border-color:rgba(255,201,60,.35);color:var(--accent2);}
.hb-revoir:hover{background:rgba(255,201,60,.12);}

.corr-row{
  display:flex;align-items:center;gap:9px;
  padding:7px 0;
}
.corr-row + .corr-row{border-top:1px solid rgba(255,255,255,.07);}
.corr-lbl{
  font-size:.6rem;font-weight:700;letter-spacing:.4px;
  border-radius:99px;padding:3px 9px;white-space:nowrap;
}
.corr-lbl.bad{background:rgba(244,88,122,.15);color:var(--err);}
.corr-lbl.good{background:rgba(45,212,167,.15);color:var(--ok);}
.corr-val{font-size:.88rem;font-weight:700;flex:1;text-align:left;}
.corr-val.bad{color:var(--err);text-decoration:line-through;opacity:.8;}
.corr-val.good{color:var(--ok);}

.rm-badge{
  display:inline-block;background:rgba(255,201,60,.14);
  border:1px solid rgba(255,201,60,.4);color:var(--accent2);
  border-radius:99px;padding:5px 15px;font-size:.68rem;
  font-weight:800;margin-bottom:14px;
}
.rm-tip{font-size:.75rem;color:var(--muted);margin-bottom:16px;}

.rl-badge{
  display:inline-block;background:rgba(255,120,73,.14);
  border:1px solid rgba(255,120,73,.4);color:var(--accent);
  border-radius:99px;padding:5px 15px;font-size:.68rem;
  font-weight:800;letter-spacing:.5px;margin-bottom:12px;
}
.rl-title{
  font-family:'Syne',sans-serif;font-weight:900;font-size:1.2rem;
  color:var(--text);margin-bottom:16px;
}
.rl-steps{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;}
.rl-step{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:11px;
  background:rgba(255,255,255,.03);border:1px solid var(--brd);
}
.rl-step.done{background:rgba(45,212,167,.09);border-color:rgba(45,212,167,.3);}
.rl-step.now{background:rgba(255,120,73,.1);border-color:rgba(255,120,73,.4);}
.rl-num{
  width:24px;height:24px;border-radius:50%;flex-shrink:0;
  background:var(--brd);color:var(--muted);
  display:flex;align-items:center;justify-content:center;
  font-family:'Syne',sans-serif;font-weight:800;font-size:.72rem;
}
.rl-step.done .rl-num{background:var(--ok);color:#0F0E17;}
.rl-step.now .rl-num{background:var(--accent);color:#fff;}
.rl-lbl{flex:1;font-size:.8rem;color:var(--text);font-weight:600;text-align:left;}
.rl-step.done .rl-lbl{color:var(--ok);}
.rl-tag{
  font-size:.6rem;font-weight:700;color:var(--accent);
  background:rgba(255,120,73,.15);border-radius:99px;padding:3px 9px;
}
.rl-continue{width:100%;padding:15px;font-size:.95rem;margin-bottom:9px;}
.rl-memo{margin:0 !important;}

.lvs-memo{
  width:100%;background:rgba(255,201,60,.08);
  border:1px solid rgba(255,201,60,.35);color:var(--accent2);
  border-radius:14px;padding:13px;font-size:.85rem;font-weight:700;
  cursor:pointer;font-family:inherit;margin:-12px 0 20px;
  transition:all .18s;
}
.lvs-memo:hover{background:rgba(255,201,60,.16);}

.exo-intro-box{
  position:relative;width:100%;max-width:430px;
  background:linear-gradient(165deg,#1A2138,#151B2C);
  border:1px solid color-mix(in srgb, var(--ic) 40%, transparent);
  border-radius:24px;padding:26px 22px 30px;
  animation:popIn .34s var(--ease) both;text-align:center;
  box-shadow:0 -6px 40px -14px var(--ic);
}
.exo-intro-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  border-radius:24px 24px 0 0;
  background:linear-gradient(90deg,transparent,var(--ic),transparent);
}
.ei-badge{
  display:inline-block;
  background:color-mix(in srgb, var(--ic) 15%, transparent);
  border:1px solid color-mix(in srgb, var(--ic) 45%, transparent);
  color:var(--ic);border-radius:99px;
  padding:5px 14px;font-size:.66rem;font-weight:800;
  letter-spacing:.5px;margin-bottom:14px;
}
.ei-ico{font-size:3rem;margin-bottom:6px;}
.ei-titre{
  font-family:'Syne',sans-serif;font-weight:900;font-size:1.3rem;
  color:var(--text);margin-bottom:10px;
}
.ei-desc{
  font-size:.85rem;color:var(--muted);line-height:1.6;
  margin-bottom:14px;
}
.ei-desc b{color:var(--ic);}
.ei-count{
  font-size:.7rem;color:var(--muted);
  background:rgba(255,255,255,.04);border-radius:99px;
  padding:6px 14px;display:inline-block;margin-bottom:20px;
}
.ei-go{
  width:100%;padding:16px;font-size:1rem;
  background:linear-gradient(135deg, var(--ic), color-mix(in srgb, var(--ic) 65%, white)) !important;
  box-shadow:0 8px 24px -8px var(--ic) !important;
}

.memo-progress{
  height:4px;background:var(--brd);border-radius:99px;
  overflow:hidden;margin-bottom:12px;
}
.memo-progress-fill{
  height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  transition:width .4s var(--ease);
}
.memo-actions{display:flex;gap:9px;margin-bottom:10px;}
.memo-btn{
  flex:1;padding:13px;border-radius:13px;
  font-size:.86rem;font-weight:700;cursor:pointer;
  font-family:inherit;transition:all .18s;
}
.memo-btn.listen{
  background:rgba(255,201,60,.1);
  border:1.5px solid rgba(255,201,60,.45);
  color:var(--accent2);
}
.memo-btn.listen:hover{background:rgba(255,201,60,.2);}
.memo-btn.mic{
  background:rgba(244,88,122,.1);
  border:1.5px solid rgba(244,88,122,.45);
  color:#FF8FA5;
}
.memo-btn.mic:hover{background:rgba(244,88,122,.2);}
.memo-btn.mic.rec{
  background:var(--err);color:#fff;border-color:var(--err);
  animation:micPulse 1.1s ease-in-out infinite;
}
.memo-feedback{
  font-size:.75rem;color:var(--muted);
  min-height:22px;margin-bottom:16px;
}

.memo-box.bravo{
  background:linear-gradient(165deg,#1E2740,#151B2C);
  border-color:rgba(255,201,60,.35);
}
.bravo-art{position:relative;height:92px;display:flex;align-items:center;justify-content:center;}
.bravo-glow{
  position:absolute;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,201,60,.35),transparent 65%);
  animation:bravoGlow 2s ease-in-out infinite;
}
@keyframes bravoGlow{0%,100%{transform:scale(1);opacity:.7;}50%{transform:scale(1.2);opacity:1;}}
.bravo-emoji{font-size:4rem;position:relative;animation:bounceIn .7s var(--ease) both;}
.bravo-title{
  font-family:'Syne',sans-serif;font-weight:900;font-size:2rem;
  letter-spacing:2px;margin:4px 0 6px;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.bravo-sub{font-size:.88rem;color:var(--text);margin-bottom:20px;}
.bravo-card{
  background:rgba(255,255,255,.04);
  border:1px solid var(--brd);border-radius:15px;
  padding:16px 14px;margin-bottom:18px;text-align:left;
}
.bravo-card-t{
  font-family:'Syne',sans-serif;font-weight:800;font-size:.92rem;
  color:var(--accent2);margin-bottom:8px;text-align:center;
}
.bravo-card-d{font-size:.75rem;color:var(--muted);line-height:1.7;text-align:center;}
.bc-step{
  display:inline-block;background:rgba(255,255,255,.05);
  border:1px solid var(--brd);border-radius:8px;
  padding:4px 9px;margin:3px 2px;font-size:.68rem;color:var(--text);
}
.bravo-go{width:100%;padding:16px;font-size:1rem;}

.learn-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0;}
.learn-fr{font-size:1.2rem;font-weight:700;color:var(--text);text-align:center;}
.learn-arrow{font-size:1.1rem;color:var(--muted);opacity:.6;}
.learn-tn{
  font-family:'Syne',sans-serif;font-weight:900;font-size:1.7rem;
  color:var(--accent2);text-align:center;line-height:1.2;
}
.learn-ar{font-size:1.25rem;color:var(--accent);direction:rtl;margin-top:2px;}
.learn-play{
  margin-top:10px;background:rgba(255,255,255,.07);
  border:1px solid var(--brd);color:var(--text);
  border-radius:11px;padding:9px 18px;font-size:.8rem;font-weight:600;
  cursor:pointer;font-family:inherit;transition:all .18s;
}
.learn-play:hover{background:rgba(255,120,73,.14);border-color:var(--accent);}
.learn-ok{background:linear-gradient(135deg,var(--ok),#22B893)!important;}

#quizScreen{
  position:relative;
  min-height:100vh;min-height:100dvh;
}
#quizScreen::before{
  content:'';
  position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(circle 150px at 85% 12%, rgba(255,140,60,.5), rgba(230,57,70,.2) 50%, transparent 72%),
    radial-gradient(ellipse 150% 40% at 50% 100%, rgba(230,80,50,.3), transparent 65%),
    linear-gradient(170deg, #0C1220 0%, #101A2C 38%, #1A2033 70%, #221C28 100%);
}
#quizScreen .wc,
#quizScreen .sc{
  background:rgba(21,27,44,.82);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
#quizScreen .opt{
  background:rgba(21,27,44,.78);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
#quizScreen .pz-slots,#quizScreen .pz-block,
#quizScreen .intrus-btn,#quizScreen .wi{
  background:rgba(21,27,44,.8);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
#quizScreen .learn-play,#quizScreen .memo-listen{
  border:1.5px solid rgba(255,201,60,.55);
  background:rgba(255,201,60,.08);
  color:var(--accent2);
  box-shadow:0 0 14px rgba(255,201,60,.18);
}
#quizScreen .sp-mic{
  box-shadow:0 0 22px rgba(244,88,122,.35), 0 8px 24px -6px rgba(255,120,73,.5);
}

.score-bar{
  display:flex;align-items:center;gap:10px;
  background:rgba(13,18,32,.72);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid color-mix(in srgb, var(--exo) 30%, var(--brd));
  border-radius:16px;padding:11px 13px;margin-bottom:14px;
  box-shadow:0 0 22px -10px color-mix(in srgb, var(--exo) 50%, transparent);
}
.sb-good{display:flex;align-items:center;gap:8px;flex:1;min-width:0;}
.sb-bad{display:flex;align-items:center;gap:7px;}
.sb-icon{
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;font-weight:900;
}
.sb-icon.ok{background:rgba(45,212,167,.16);color:var(--ok);border:1.5px solid var(--ok);}
.sb-icon.err{background:rgba(244,88,122,.14);color:var(--err);border:1.5px solid rgba(244,88,122,.65);}
.sb-txt{font-size:.74rem;font-weight:700;color:var(--ok);line-height:1.2;min-width:0;}
.sb-lbl{font-weight:500;opacity:.85;}
.sb-n{font-size:.74rem;font-weight:700;color:var(--err);white-space:nowrap;}
.sb-n .sb-lbl{color:var(--err);}
.sb-dots{display:flex;gap:3px;margin-top:4px;}
.sbd{
  width:14px;height:5px;border-radius:99px;
  background:rgba(255,255,255,.12);
  transition:background .35s var(--ease);
}
.sbd.on{background:linear-gradient(90deg,var(--ok),#5FE8C4);box-shadow:0 0 6px rgba(45,212,167,.55);}
.sb-sep{width:1px;height:26px;background:rgba(255,255,255,.1);flex-shrink:0;}
.sb-msg{
  font-size:.62rem;color:var(--accent2);line-height:1.25;
  text-align:right;white-space:nowrap;
}

#quizScreen .wc{
  background:rgba(13,18,32,.78) !important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1.5px solid color-mix(in srgb, var(--exo) 40%, transparent) !important;
  border-radius:18px;
}
#quizScreen .wc::before{opacity:.07;}

#quizScreen .opt{
  background:rgba(13,18,32,.72) !important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
}
#quizScreen .opt:hover{
  background:rgba(20,28,48,.85) !important;
}
#quizScreen .pz-slots,#quizScreen .pz-block,#quizScreen .wi,
#quizScreen .intrus-btn,#quizScreen .sp-actions .rb{
  background:rgba(13,18,32,.75) !important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
#quizScreen .qpb{background:rgba(255,255,255,.12);}
#quizScreen .level-dots,#quizScreen .hearts-bar,#quizScreen .bloc-banner{
  text-shadow:0 1px 4px rgba(0,0,0,.8);
}
#quizScreen .bk{text-shadow:0 1px 5px rgba(0,0,0,.9);}

@keyframes optCorrect{
  0%{transform:scale(1);}
  25%{transform:scale(1.04);box-shadow:0 0 0 4px rgba(45,212,167,.35);}
  100%{transform:scale(1);box-shadow:0 0 0 2px rgba(45,212,167,.25);}
}
@keyframes optWrong{
  0%,100%{transform:translateX(0);}
  15%{transform:translateX(-9px);}
  35%{transform:translateX(8px);}
  55%{transform:translateX(-5px);}
  75%{transform:translateX(3px);}
}
#quizScreen .opt.ok{
  animation:optCorrect .5s var(--ease) both !important;
  background:rgba(45,212,167,.16) !important;
  border-color:var(--ok) !important;
}
#quizScreen .opt.err{
  animation:optWrong .45s ease both !important;
  background:rgba(244,88,122,.14) !important;
  border-color:var(--err) !important;
}

@keyframes screenFlash{
  0%{opacity:0;}
  20%{opacity:.5;}
  100%{opacity:0;}
}
.answer-flash{
  position:fixed;inset:0;z-index:9998;pointer-events:none;
  animation:screenFlash .55s ease both;
}
.answer-flash.ok{background:radial-gradient(circle at 50% 45%, rgba(45,212,167,.35), transparent 62%);}
.answer-flash.err{background:radial-gradient(circle at 50% 45%, rgba(244,88,122,.3), transparent 62%);}

@keyframes cardBounce{
  0%{transform:scale(1);}
  40%{transform:scale(1.025);}
  100%{transform:scale(1);}
}
#quizScreen .wc.reacted{animation:cardBounce .4s var(--ease);}

@keyframes sparkFly{
  0%{transform:translate(0,0) scale(0);opacity:1;}
  100%{transform:translate(var(--dx),var(--dy)) scale(1.1);opacity:0;}
}
.spark{
  position:fixed;z-index:9999;pointer-events:none;
  font-size:1.1rem;animation:sparkFly .75s var(--ease) both;
}

#quizScreen::before{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:
    radial-gradient(circle 200px at 85% 6%, color-mix(in srgb, var(--exo) 26%, transparent), transparent 70%),
    linear-gradient(180deg, rgba(8,12,22,.62) 0%, rgba(8,12,22,.42) 35%, rgba(8,12,22,.88) 100%),
    var(--bgimg, url("assets/home.jpg"));
  background-size:cover,cover,cover;
  background-position:center,center,center top;
  background-repeat:no-repeat;
  transition:opacity .5s;
  animation:bgFade .8s ease both;
}
@keyframes bgFade{from{opacity:0;}to{opacity:1;}}
#quizScreen::after{display:none;}

#quizScreen[data-exo="fr2tn"]{ --bgimg:url("assets/home.jpg"); }
#quizScreen[data-exo="tn2fr"]{ --bgimg:url("assets/home.jpg"); }
#quizScreen[data-exo="spell"]{ --bgimg:url("assets/home.jpg"); }
#quizScreen[data-exo="speak"]{ --bgimg:url("assets/home.jpg"); }

#levelScreen{position:relative;min-height:100vh;min-height:100dvh;}
#levelScreen::before{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:
    linear-gradient(180deg, rgba(8,12,22,.72) 0%, rgba(8,12,22,.55) 35%, rgba(8,12,22,.92) 100%),
    url("assets/home.jpg");
  background-size:cover;background-position:center;
  animation:bgFade .8s ease both;
}
#catScreen{position:relative;min-height:100vh;min-height:100dvh;}
#catScreen::before{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:
    linear-gradient(180deg, rgba(8,12,22,.76) 0%, rgba(8,12,22,.6) 35%, rgba(8,12,22,.92) 100%),
    url("assets/home.jpg");
  background-size:cover;background-position:center;
}
#resultsScreen{position:relative;min-height:100vh;min-height:100dvh;}
#resultsScreen::before{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:
    linear-gradient(180deg, rgba(8,12,22,.7) 0%, rgba(8,12,22,.5) 35%, rgba(8,12,22,.92) 100%),
    url("assets/home.jpg");
  background-size:cover;background-position:center;
  animation:bgFade .8s ease both;
}
#levelScreen .lvs-exo,#levelScreen .lvs-word,
#catScreen .er,#catScreen .cwitem,
#resultsScreen .res-stat,#resultsScreen .res-level,#resultsScreen .res-bloc-progress{
  background:rgba(13,18,32,.78) !important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}

#quizScreen[data-exo="fr2tn"]{ --exo:#FF7849; --exo2:#FFA06B; }
#quizScreen[data-exo="tn2fr"]{ --exo:#8B7CF6; --exo2:#B0A5F9; }
#quizScreen[data-exo="spell"]{ --exo:#2DD4A7; --exo2:#6BE5C4; }
#quizScreen[data-exo="speak"]{ --exo:#F4587A; --exo2:#FF8FA5; }
#quizScreen{ --exo:#FF7849; --exo2:#FFA06B; }

#exoTypeLabel{
  display:inline-block;
  background:color-mix(in srgb, var(--exo) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--exo) 42%, transparent);
  color:var(--exo2) !important;
  border-radius:99px;padding:6px 15px;
  margin:6px auto 8px !important;
  font-size:.7rem !important;font-weight:700 !important;
  box-shadow:0 0 16px color-mix(in srgb, var(--exo) 22%, transparent);
}
#quizScreen > #exoTypeLabel{ display:block;width:fit-content; }

#quizScreen .qpf{
  background:linear-gradient(90deg, var(--exo), var(--exo2)) !important;
  box-shadow:0 0 10px color-mix(in srgb, var(--exo) 45%, transparent);
}

#quizScreen .wc{
  border:1px solid color-mix(in srgb, var(--exo) 30%, var(--brd)) !important;
  box-shadow:
    0 0 28px -8px color-mix(in srgb, var(--exo) 32%, transparent),
    0 10px 30px -14px rgba(0,0,0,.6);
  position:relative;overflow:hidden;
}
#quizScreen .wc::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1'%3E%3Cpath d='M22 2L42 22L22 42L2 22z'/%3E%3Cpath d='M22 12L32 22L22 32L12 22z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:44px 44px;
}
#quizScreen .wc::after{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--exo),var(--exo2),transparent);
}

#quizScreen .wfr{
  background:linear-gradient(135deg, #fff, var(--exo2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

#quizScreen .opt{
  border:1px solid var(--brd);
  transition:all .18s var(--ease);
}
#quizScreen .opt:hover{
  border-color:color-mix(in srgb, var(--exo) 55%, transparent);
  box-shadow:0 0 14px -4px color-mix(in srgb, var(--exo) 40%, transparent);
}

#quizScreen .sc{
  border:1px solid var(--brd);
}
#quizScreen .sc:first-child{
  background:rgba(45,212,167,.07);border-color:rgba(45,212,167,.28);
}
#quizScreen .sc:last-child{
  background:rgba(244,88,122,.07);border-color:rgba(244,88,122,.28);
}

#quizScreen .pz-block{
  border-color:color-mix(in srgb, var(--exo) 30%, var(--brd));
}
#quizScreen .pz-block:hover{
  border-color:var(--exo);
  box-shadow:0 0 12px -3px color-mix(in srgb, var(--exo) 50%, transparent);
}
#quizScreen .pz-slot{
  background:linear-gradient(135deg, var(--exo), var(--exo2)) !important;
}

#quizScreen .vb{
  background:linear-gradient(135deg, var(--exo), var(--exo2)) !important;
  box-shadow:0 6px 20px -6px color-mix(in srgb, var(--exo) 55%, transparent);
}

#quizScreen .ld-dot.full{
  box-shadow:0 0 9px color-mix(in srgb, var(--ok) 60%, transparent);
}

#quizScreen .bb-exo{ color:var(--exo2) !important; }

.bloc-banner{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin:6px 0 4px;font-size:.66rem;
}
.bb-exo{
  font-family:'Syne',sans-serif;font-weight:800;
  color:var(--accent);letter-spacing:.3px;
}
.bb-sep{color:var(--muted);opacity:.5;}
.bb-mot{color:var(--muted);font-weight:600;}

.res-bloc-progress{
  background:var(--card);border:1px solid var(--brd);
  border-radius:14px;padding:14px;margin-bottom:14px;
}
.rbp-title{
  font-size:.68rem;font-weight:800;color:var(--muted);
  letter-spacing:.8px;text-transform:uppercase;margin-bottom:11px;
}
.rbp-steps{display:flex;flex-direction:column;gap:7px;}
.rbp-step{
  display:flex;align-items:center;gap:10px;
  padding:8px 11px;border-radius:10px;
  background:rgba(255,255,255,.03);border:1px solid var(--brd);
  transition:all .3s;
}
.rbp-step.done{
  background:rgba(45,212,167,.09);border-color:rgba(45,212,167,.3);
}
.rbp-step.now{
  background:rgba(255,120,73,.09);border-color:rgba(255,120,73,.35);
}
.rbp-num{
  width:22px;height:22px;border-radius:50%;
  background:var(--brd);color:var(--muted);
  display:flex;align-items:center;justify-content:center;
  font-family:'Syne',sans-serif;font-weight:800;font-size:.7rem;
  flex-shrink:0;
}
.rbp-step.done .rbp-num{background:var(--ok);color:#0F0E17;}
.rbp-step.now .rbp-num{background:var(--accent);color:#fff;}
.rbp-lbl{font-size:.76rem;color:var(--text);font-weight:600;}
.rbp-step.done .rbp-lbl{color:var(--ok);}

.level-dots{
  display:flex;align-items:center;justify-content:center;gap:5px;
  margin:6px 0 8px;flex-wrap:wrap;
}
.ld-label{
  font-size:.6rem;font-weight:700;color:var(--muted);
  letter-spacing:.5px;margin-right:4px;
}
.ld-dot{
  width:13px;height:13px;border-radius:50%;
  background:var(--brd);border:1.5px solid transparent;
  transition:all .35s var(--ease);
}
.ld-dot.partial{
  background:rgba(255,201,60,.25);
  border-color:var(--accent2);
}
.ld-dot.full{
  background:linear-gradient(135deg,var(--ok),#22B893);
  border-color:var(--ok);
  box-shadow:0 0 7px rgba(45,212,167,.5);
}
.ld-dot.pop{animation:dotPop .6s var(--ease);}
@keyframes dotPop{
  0%{transform:scale(1);}
  35%{transform:scale(1.7);box-shadow:0 0 16px rgba(45,212,167,.9);}
  100%{transform:scale(1);}
}
.ld-count{
  font-family:'Syne',sans-serif;font-weight:800;font-size:.68rem;
  color:var(--ok);margin-left:5px;
}

.hearts-bar{
  display:flex;justify-content:center;gap:5px;margin:4px 0 6px;
}
.heart{font-size:1.05rem;transition:transform .2s var(--ease);}
.heart.lost{opacity:.5;filter:grayscale(1);}
.hearts-bar.shake{animation:heartShake .42s ease;}
@keyframes heartShake{0%,100%{transform:translateX(0);}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}

.heart-reward-overlay{
  position:fixed;inset:0;z-index:5000;display:grid;place-items:center;
  padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom));
  background:rgba(4,7,18,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  animation:heartRewardOverlayIn .24s ease-out,heartRewardOverlayOut .42s ease-in 2.65s forwards;
  cursor:pointer;overflow:hidden;
}
.heart-reward-card{
  position:relative;width:min(92vw,520px);max-height:92dvh;aspect-ratio:3/4;
  border-radius:30px;overflow:hidden;background:#071226;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 28px 90px rgba(0,0,0,.55),0 0 55px rgba(255,202,34,.20);
  animation:heartRewardPhotoPop 2.95s cubic-bezier(.18,.9,.24,1) forwards;
  transform-origin:50% 58%;
}
.heart-reward-photo{
  width:100%;height:100%;display:block;object-fit:cover;
  animation:heartRewardPhotoPulse 1.05s ease-in-out .42s 2;
}
.heart-reward-card:after{
  content:'';position:absolute;inset:-35%;pointer-events:none;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.34) 48%,transparent 58%);
  transform:translateX(-62%) rotate(8deg);animation:heartRewardShine 1.05s ease-out .42s 1;
}
.heart-reward-count{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  z-index:2;white-space:nowrap;padding:7px 13px;border-radius:999px;
  background:rgba(8,13,29,.78);border:1px solid rgba(255,255,255,.24);
  color:#fff;font-family:'Syne',sans-serif;font-size:.72rem;font-weight:800;
  box-shadow:0 7px 22px rgba(0,0,0,.28);backdrop-filter:blur(7px);
}
@keyframes heartRewardOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes heartRewardOverlayOut{to{opacity:0}}
@keyframes heartRewardPhotoPop{
  0%{opacity:0;transform:translateY(34px) scale(.66) rotate(-2deg)}
  18%{opacity:1;transform:translateY(0) scale(1.055) rotate(.6deg)}
  31%{transform:scale(.995) rotate(0)}
  78%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:translateY(-8px) scale(.985)}
}
@keyframes heartRewardPhotoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}
@keyframes heartRewardShine{0%{opacity:0;transform:translateX(-62%) rotate(8deg)}35%{opacity:.9}100%{opacity:0;transform:translateX(68%) rotate(8deg)}}
@media(max-width:380px){.heart-reward-card{width:min(94vw,430px);border-radius:24px}.heart-reward-count{font-size:.66rem}}
@media(prefers-reduced-motion:reduce){
  .heart-reward-overlay,.heart-reward-card,.heart-reward-photo,.heart-reward-card:after{animation-duration:.01ms!important;animation-iteration-count:1!important}
}

.bt-icon{font-size:2.8rem;margin-bottom:8px;animation:btPulse 1s ease-in-out infinite;}
@keyframes btPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.1);}}
.bt-timer{
  height:6px;background:var(--brd);border-radius:99px;
  overflow:hidden;margin:12px auto 0;max-width:220px;
}
.bt-timer-fill{
  height:100%;width:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--ok),var(--accent2));
}
.bt-timer-fill.urgent{background:linear-gradient(90deg,var(--accent),var(--err));}

.pz-slots{
  min-height:52px;display:flex;flex-wrap:wrap;gap:6px;
  align-items:center;justify-content:center;
  background:var(--card);border:1.5px dashed var(--brd);
  border-radius:13px;padding:12px;margin-bottom:12px;
}
.pz-empty{font-size:.72rem;color:var(--muted);}
.pz-slot{
  background:var(--accent);color:#fff;border:none;
  border-radius:9px;padding:9px 13px;font-size:.9rem;font-weight:700;
  cursor:pointer;font-family:inherit;
  animation:popIn .2s var(--ease);
}
.pz-hint{
  font-size:.58rem;color:var(--muted);
  width:100%;text-align:center;margin-top:5px;
}
.pz-bank{
  display:flex;flex-wrap:wrap;gap:7px;justify-content:center;
  margin-bottom:14px;
}
.pz-block{
  background:var(--card);border:1px solid var(--brd);color:var(--text);
  border-radius:9px;padding:10px 14px;font-size:.92rem;font-weight:600;
  cursor:pointer;font-family:inherit;transition:transform .12s,border-color .18s;
}
.pz-block:hover{border-color:var(--accent);}
.pz-block:active{transform:scale(.94);}

#intrusZone{display:flex;flex-direction:column;gap:9px;}
.intrus-btn{
  display:flex;align-items:center;gap:12px;
  background:var(--card);border:1px solid var(--brd);
  border-radius:13px;padding:14px 16px;cursor:pointer;
  transition:all .18s;font-family:inherit;
}
.intrus-btn:hover{border-color:var(--accent);}
.intrus-btn.heard{border-color:var(--accent2);background:rgba(255,201,60,.06);}
.intrus-btn.ok{border-color:var(--ok);background:rgba(45,212,167,.1);}
.intrus-btn.err{border-color:var(--err);background:rgba(244,88,122,.1);}
.intrus-num{
  width:28px;height:28px;border-radius:50%;
  background:var(--brd);color:var(--text);
  display:flex;align-items:center;justify-content:center;
  font-family:'Syne',sans-serif;font-weight:800;font-size:.8rem;
}
.intrus-play{font-size:.85rem;font-weight:600;color:var(--text);}

@keyframes goldFlash{
  0%{box-shadow:0 0 0 rgba(255,201,60,0);}
  50%{box-shadow:0 0 18px rgba(255,201,60,.7);}
  100%{box-shadow:0 0 0 rgba(255,201,60,0);}
}
.lvs-exo-fill.full,.ob-fill.full,.cc-progress-fill.full{
  background:linear-gradient(90deg,#FFD166,#FFF1A8,#FFD166)!important;
  animation:goldFlash 1.2s ease 2;
}

.reward-box{
  position:relative;width:100%;max-width:430px;
  background:linear-gradient(160deg,#1A2138,#151B2C);
  border:1px solid rgba(255,201,60,.3);
  border-radius:24px;padding:28px 22px 34px;
  animation:popIn .38s var(--ease) both;text-align:center;
}
.reward-crown{font-size:3.2rem;animation:bounceIn .6s var(--ease) both;}
.reward-title{
  font-family:'Syne',sans-serif;font-weight:900;font-size:1.3rem;
  color:var(--accent2);margin:6px 0 4px;letter-spacing:.5px;
}
.reward-sub{font-size:.82rem;color:var(--muted);margin-bottom:18px;}
.reward-card{
  background:linear-gradient(140deg,rgba(230,57,70,.1),rgba(255,120,73,.04));
  border:1px solid rgba(230,57,70,.22);border-radius:16px;
  padding:18px 16px;text-align:left;position:relative;
}
.reward-flag{font-size:1.8rem;position:absolute;top:14px;right:16px;opacity:.5;}
.reward-label{
  font-size:.58rem;font-weight:800;letter-spacing:1.5px;
  color:var(--accent);margin-bottom:8px;
}
.reward-anec-t{
  font-family:'Syne',sans-serif;font-weight:800;font-size:1.05rem;
  color:var(--text);margin-bottom:6px;
}
.reward-anec-d{font-size:.78rem;color:var(--muted);line-height:1.55;}

.ob-slogan{
  position:absolute;right:12px;top:14px;
  font-family:'Caveat',cursive;font-size:.92rem;
  color:rgba(255,255,255,.92);line-height:1.15;
  text-align:right;transform:rotate(-6deg);
  pointer-events:none;z-index:2;
}
.ob-slogan u{text-decoration-color:rgba(255,255,255,.6);text-underline-offset:2px;}

.main-start-btn{
  display:block;width:100%;
  background:#fff;color:#C1121F;
  border:none;border-radius:16px;
  padding:17px;margin:12px 0 18px;
  font-family:'Syne',sans-serif;font-weight:800;font-size:1.15rem;
  cursor:pointer;letter-spacing:.3px;
  box-shadow:0 6px 20px -6px rgba(0,0,0,.45);
  transition:transform .16s var(--ease);
}
.main-start-btn:active{transform:scale(.975);}
.main-start-btn:hover{background:#FFF8F6;}

.objectif-banner{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(135deg,#E63946 0%,#C1121F 100%);
  border-radius:18px;padding:18px 18px;margin:22px 0 10px;
  box-shadow:0 10px 28px -10px rgba(230,57,70,.5);
  position:relative;overflow:hidden;
}
.objectif-banner::before{
  content:'';position:absolute;right:-30px;top:-30px;
  width:130px;height:130px;border-radius:50%;
  background:rgba(255,255,255,.07);pointer-events:none;
}
.ob-flag{font-size:2.6rem;line-height:1;flex-shrink:0;}
.ob-content{flex:1;min-width:0;position:relative;z-index:1;padding-right:56px;}
.ob-title{
  font-family:'Syne',sans-serif;font-weight:800;
  font-size:.62rem;letter-spacing:2px;color:rgba(255,255,255,.75);
  line-height:1.15;margin-bottom:7px;
}
.ob-big{
  font-size:1.35rem;letter-spacing:.5px;color:#fff;
  display:block;margin-top:1px;
  text-shadow:0 2px 6px rgba(0,0,0,.2);
}
.ob-bar{
  height:9px;background:rgba(0,0,0,.25);
  border-radius:99px;overflow:hidden;margin-bottom:6px;
}
.ob-fill{
  height:100%;border-radius:99px;
  background:linear-gradient(90deg,#FFD166,#FFF1A8);
  transition:width 1s cubic-bezier(.22,1,.36,1);
  box-shadow:0 0 10px rgba(255,209,102,.5);
}
.ob-stats{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:.63rem;color:rgba(255,255,255,.85);
}
.ob-stats span:last-child{
  font-family:'Syne',sans-serif;font-weight:800;
  font-size:.85rem;color:#FFD166;
}

.combo-bar{
  text-align:center;min-height:0;overflow:hidden;
  transition:min-height .25s var(--ease), opacity .25s;
  opacity:0;
}
.combo-bar.on{
  min-height:26px;opacity:1;
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin-bottom:8px;
}
.cb-flame{font-size:1rem;animation:flameWiggle .6s ease-in-out infinite alternate;}
@keyframes flameWiggle{from{transform:scale(1) rotate(-3deg);}to{transform:scale(1.12) rotate(3deg);}}
.cb-n{
  font-family:'Syne',sans-serif;font-weight:800;font-size:.72rem;
  color:var(--accent2);
}
.combo-bar.hot .cb-n{color:var(--accent);}
.combo-bar.hot{animation:comboPulse .5s var(--ease);}
@keyframes comboPulse{0%{transform:scale(1);}50%{transform:scale(1.06);}100%{transform:scale(1);}}

.next-step{
  display:flex;align-items:center;gap:9px;
  background:linear-gradient(135deg,rgba(255,120,73,.1),rgba(255,201,60,.05));
  border:1px solid rgba(255,120,73,.25);border-radius:13px;
  padding:12px 13px;margin-bottom:10px;cursor:pointer;
  transition:transform .16s var(--ease),border-color .2s;
}
.next-step:hover{border-color:var(--accent);}
.next-step:active{transform:scale(.98);}
.ns-ico{font-size:1.1rem;}
.ns-txt{flex:1;font-size:.74rem;color:var(--text);line-height:1.35;}
.ns-go{font-size:.68rem;font-weight:800;color:var(--accent);white-space:nowrap;}

.resume-card{
  display:flex;align-items:center;gap:11px;
  background:var(--card);border:1px solid var(--brd);
  border-left:3px solid var(--accent);
  border-radius:13px;padding:12px 14px;margin-bottom:10px;
  cursor:pointer;transition:transform .16s var(--ease),border-color .2s;
}
.resume-card:hover{border-color:var(--accent);}
.resume-card:active{transform:scale(.98);}
.rc-ico{font-size:1.4rem;}
.rc-mid{flex:1;}
.rc-t{font-size:.8rem;font-weight:700;color:var(--text);}
.rc-s{font-size:.63rem;color:var(--muted);margin-top:1px;}
.rc-go{font-size:1.1rem;color:var(--accent);}

@keyframes slideInRight{
  from{opacity:0;transform:translateX(22px);}
  to{opacity:1;transform:translateX(0);}
}
@keyframes slideInLeft{
  from{opacity:0;transform:translateX(-22px);}
  to{opacity:1;transform:translateX(0);}
}
.screen.active{animation:slideInRight .3s var(--ease) both;}
.screen.active.back{animation:slideInLeft .3s var(--ease) both;}
#homeScreen.active{animation:slideInLeft .3s var(--ease) both;}

.almost-there{
  display:flex;align-items:center;gap:9px;
  background:linear-gradient(135deg,rgba(255,201,60,.12),rgba(255,120,73,.06));
  border:1px solid rgba(255,201,60,.3);border-radius:13px;
  padding:11px 13px;margin-bottom:10px;cursor:pointer;
  transition:transform .16s var(--ease);
}
.almost-there:active{transform:scale(.98);}
.at-ico{font-size:1.1rem;}
.at-txt{font-size:.75rem;color:var(--text);line-height:1.35;}
.at-txt b{color:var(--accent2);}

.expiring-box{
  display:flex;align-items:center;gap:9px;
  background:var(--card);border:1px solid var(--brd);
  border-radius:13px;padding:11px 13px;margin-bottom:10px;
  transition:all .18s;
}
.expiring-box.urgent{
  background:rgba(244,88,122,.07);border-color:rgba(244,88,122,.28);
  cursor:pointer;
}
.expiring-box.urgent:active{transform:scale(.98);}
.exp-ico{font-size:1.05rem;}
.exp-txt{flex:1;font-size:.73rem;color:var(--text);}
.exp-txt b{color:var(--err);}
.exp-go{font-size:.68rem;font-weight:700;color:var(--accent);white-space:nowrap;}

.word-of-day{
  position:relative;
  width:126px;
  min-height:126px;
  padding:22px 10px 14px;
  background:linear-gradient(170deg,#FFE66D 0%,#FFD93D 100%);
  transform:rotate(-2.5deg);
  cursor:pointer;
  box-shadow:
    2px 4px 10px rgba(0,0,0,.35),
    0 0 0 1px rgba(0,0,0,.05) inset;
  transition:transform .25s var(--ease), box-shadow .25s;
  font-family:'Caveat','Segoe Print','Bradley Hand',cursive;
  clip-path:polygon(0 0, 100% 0, 100% 88%, 88% 100%, 0 100%);
}
.word-of-day:hover{
  transform:rotate(-1deg) scale(1.03);
  box-shadow:3px 7px 16px rgba(0,0,0,.42);
}
.word-of-day:active{transform:rotate(-2.5deg) scale(.97);}
.word-of-day.wiggle{animation:postitWiggle .5s ease;}
@keyframes postitWiggle{
  0%,100%{transform:rotate(-2.5deg);}
  25%{transform:rotate(1.5deg);}
  50%{transform:rotate(-4deg);}
  75%{transform:rotate(0deg);}
}
.word-of-day::after{
  content:'';position:absolute;left:8px;right:8px;bottom:-5px;height:10px;
  background:rgba(0,0,0,.28);filter:blur(7px);z-index:-1;border-radius:50%;
}
.pin{
  position:absolute;top:-7px;left:50%;transform:translateX(-50%);
  width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle at 32% 30%, #FF6B6B, #C1121F 70%);
  box-shadow:0 2px 5px rgba(0,0,0,.45), inset -1px -2px 3px rgba(0,0,0,.3);
  z-index:2;
}
.pin::after{
  content:'';position:absolute;top:5px;left:5px;
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.65);filter:blur(.5px);
}
.postit-label{
  font-size:.68rem;color:#8B6914;text-align:center;
  margin-bottom:8px;letter-spacing:.3px;
  border-bottom:1.5px solid rgba(139,105,20,.3);
  padding-bottom:4px;
}
.postit-tn{
  font-size:1.15rem;font-weight:700;color:#1A1A1A;
  text-align:center;line-height:1.1;
  word-break:break-word;
}
.postit-fr{
  font-size:.82rem;color:#4A3B0A;text-align:center;
  margin-top:5px;line-height:1.2;
}
.postit-ar{
  font-family:'DM Sans',sans-serif;
  font-size:.72rem;color:#6B5410;text-align:center;
  margin-top:4px;direction:rtl;
}
.postit-speaker{
  position:absolute;bottom:8px;left:10px;
  font-size:.85rem;opacity:.55;
}

.week-progress{
  font-size:.68rem;color:var(--muted);
  padding:8px 12px;margin-bottom:14px;
  background:rgba(255,255,255,.02);border-radius:10px;
  text-align:center;
}
.week-progress b{color:var(--text);}

.badges-section{
  background:var(--card);border:1px solid var(--brd);
  border-radius:16px;padding:14px;margin-top:16px;
}
.badges-head{
  display:flex;justify-content:space-between;align-items:center;
  font-size:.75rem;font-weight:800;margin-bottom:12px;
}
.badges-count{font-family:'Syne',sans-serif;color:var(--accent2);font-size:.72rem;}
.badges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.badge-card{
  text-align:center;padding:10px 6px;border-radius:12px;
  background:rgba(255,255,255,.02);border:1px solid var(--brd);
  opacity:.45;transition:all .25s var(--ease);
}
.badge-card.got{
  opacity:1;background:rgba(255,201,60,.08);
  border-color:rgba(255,201,60,.3);
}
.badge-ico{font-size:1.5rem;margin-bottom:4px;}
.badge-nom{font-size:.63rem;font-weight:700;color:var(--text);line-height:1.2;}
.badge-desc{font-size:.52rem;color:var(--muted);margin-top:2px;line-height:1.25;}

.badge-popup{
  position:fixed;top:60px;left:50%;transform:translateX(-50%);
  z-index:10000;display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#1A2138,#151B2C);
  border:1px solid rgba(255,201,60,.4);border-radius:16px;
  padding:14px 18px;min-width:280px;
  box-shadow:0 12px 36px -8px rgba(0,0,0,.6), 0 0 0 1px rgba(255,201,60,.1);
  animation:badgeIn .45s var(--ease) both;
}
@keyframes badgeIn{
  0%{opacity:0;transform:translateX(-50%) translateY(-24px) scale(.9);}
  100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}
}
.badge-popup.out{animation:badgeOut .4s var(--ease) forwards;}
@keyframes badgeOut{to{opacity:0;transform:translateX(-50%) translateY(-20px);}}
.badge-popup-ico{font-size:2.4rem;}
.badge-popup-t{font-size:.6rem;color:var(--accent2);font-weight:800;letter-spacing:.5px;}
.badge-popup-n{font-size:.95rem;font-weight:800;color:var(--text);margin:1px 0;}
.badge-popup-d{font-size:.65rem;color:var(--muted);}

.jeux-list{
  background:var(--card);border:1px solid var(--brd);
  border-radius:16px;overflow:hidden;margin-bottom:22px;
}
.jeu-row{
  display:flex;align-items:center;gap:13px;
  padding:13px 15px;cursor:pointer;
  transition:background .15s;
  border-bottom:1px solid var(--brd);
}
.jeu-row:last-child{border-bottom:none;}
.jeu-row:active{background:rgba(255,255,255,.04);}
.jeu-row:hover{background:rgba(255,255,255,.03);}
.jeu-revision{background:rgba(255,201,60,.04);}
.jeu-revision .jeu-nom{color:var(--accent2);}
.jeu-survie{background:rgba(255,120,73,.04);}
.jeu-ico{font-size:1.3rem;min-width:28px;text-align:center;}
.jeu-mid{flex:1;display:flex;flex-direction:column;gap:2px;}
.jeu-nom{font-size:.85rem;font-weight:700;color:var(--text);}
.jeu-desc{font-size:.62rem;color:var(--muted);}
.jeu-xp{font-family:'Syne',sans-serif;font-weight:800;font-size:.7rem;color:var(--accent2);white-space:nowrap;}
.jeu-survie .jeu-nom{color:var(--accent);}
.surv-home-card{cursor:pointer;}

.lvc-hist-hint{
  font-size:.62rem;color:var(--muted);text-align:right;margin-top:8px;
  transition:color .2s;
}
.lvc:hover .lvc-hist-hint{color:var(--accent);}

.hist-tabs{display:flex;gap:7px;margin:18px 0 14px;}
.hist-tab{
  flex:1;padding:10px;border-radius:12px;border:1px solid var(--brd);
  background:var(--card);color:var(--muted);font-family:'Syne',sans-serif;
  font-size:.74rem;font-weight:700;cursor:pointer;transition:all .18s;
}
.hist-tab.on{background:var(--accent);border-color:var(--accent);color:#fff;}

.hist-empty{
  text-align:center;color:var(--muted);font-size:.76rem;
  padding:34px 20px;line-height:1.6;
}

.hist-sess{
  display:flex;align-items:center;gap:11px;
  background:var(--card);border:1px solid var(--brd);border-radius:13px;
  padding:11px 13px;margin-bottom:8px;
}
.hist-sess-e{font-size:1.3rem;}
.hist-sess-mid{flex:1;min-width:0;}
.hist-sess-pct{font-size:.8rem;font-weight:700;}
.hist-sess-date{font-size:.62rem;color:var(--muted);margin-top:2px;}
.hist-sess-xp{font-family:'Syne',sans-serif;font-weight:800;font-size:.78rem;color:var(--accent2);white-space:nowrap;}

.hist-filters{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.hf{
  padding:6px 11px;border-radius:99px;border:1px solid var(--brd);
  background:var(--card);color:var(--muted);font-size:.66rem;font-weight:600;
  cursor:pointer;transition:all .16s;
}
.hf.on{background:var(--accent);border-color:var(--accent);color:#fff;}

html{
  min-height:100%;
  -webkit-text-size-adjust:100%;
}
body{
  min-height:100vh;
  min-height:100dvh;
  padding-bottom:calc(96px + env(safe-area-inset-bottom));
  overflow-x:hidden;
}
button,[role="button"],.nb,.cwplay,.cwedit,.rbtn,.rb,.opt,.vb,.nb2{
  touch-action:manipulation;
}
.modal{
  min-height:100dvh;
  max-height:100dvh;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(20px + env(safe-area-inset-bottom));
}
#pwdScreen,#adminLoginScreen,#adminDashboard{
  height:100vh !important;
  height:100dvh !important;
  -webkit-overflow-scrolling:touch;
}
.nav{
  padding-bottom:max(8px,env(safe-area-inset-bottom));
}

@supports (-webkit-touch-callout:none){
  .nav{
    background:rgba(17,22,37,.97);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    transform:translate3d(-50%,0,0);
  }
  .modal{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .screen.active{
    animation-duration:.22s;
  }
}



button,
[role="button"],
[onclick],
.nb,
.cc,
.dc,
.er,
.cwitem,
.ditem,
.hb-btn,
.rbtn,
.nb2,
.rb {
  touch-action: manipulation;
  -webkit-touch-callout: none;
}

@media (hover: none) and (pointer: coarse) {
  .screen.active {
    animation: none !important;
  }

  .nb,
  .ni,
  .rbtn,
  .vb,
  .ob-bt,
  .rb,
  .nb2,
  .tb-start-btn,
  .pro-main-btn,
  .guide-btn,
  .cc,
  .dc,
  .er,
  .hb-btn {
    transition-duration: 0.01ms !important;
  }

  .nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(17,22,37,.98) !important;
  }

  .nav .nb:active {
    transform: scale(.97);
  }
}

@supports (-webkit-touch-callout: none) {
  .screen.active {
    animation: none !important;
  }

  .nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}


#dictScreen .ditem{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
  background:rgba(21,27,44,.98) !important;
  transition:none !important;
  content-visibility:auto;
  contain-intrinsic-size:68px;
}

#dictScreen .ditem.exp{
  content-visibility:visible;
  border-color:var(--accent);
}

#dictScreen .dtg{
  transition:none !important;
}

#dictScreen #dList{
  min-height:1px;
}

.dict-load-sentinel{
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:.62rem;
  opacity:.55;
  pointer-events:none;
}

@supports (-webkit-touch-callout:none){
  .screen.active{
    animation:none !important;
    transition:none !important;
  }

  #dictScreen .ditem{
    -webkit-transform:none !important;
    transform:none !important;
  }
}


#conversationScreen,
#conversationDetailScreen{
  padding-bottom:110px;
}

.conv-head{
  padding:8px 2px 18px;
}
.conv-kicker{
  color:var(--accent2);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:7px;
}
.conv-title{
  font-family:'Syne',sans-serif;
  font-size:1.65rem;
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.035em;
}
.conv-sub{
  color:var(--muted);
  font-size:.8rem;
  line-height:1.48;
  margin-top:8px;
  max-width:390px;
}

.conv-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.conv-card{
  min-width:0;
  border:1px solid var(--brd);
  background:#151B2C;
  border-radius:18px;
  padding:15px 13px 13px;
  color:var(--text);
  text-align:left;
  cursor:pointer;
  font-family:inherit;
  min-height:142px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  box-shadow:none;
  transition:transform .08s ease,border-color .08s ease,background .08s ease;
}
.conv-card:active{
  transform:scale(.985);
  border-color:rgba(255,201,60,.5);
  background:#192035;
}
.conv-emoji{
  font-size:2rem;
  line-height:1;
  margin-bottom:13px;
}
.conv-name{
  font-family:'Syne',sans-serif;
  font-size:.88rem;
  font-weight:800;
  line-height:1.15;
}
.conv-desc{
  color:var(--muted);
  font-size:.64rem;
  line-height:1.35;
  margin-top:5px;
}
.conv-go{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--accent2);
  font-size:.66rem;
  font-weight:800;
  margin-top:12px;
}
.conv-arrow{
  font-size:1rem;
}

.conv-info{
  margin-top:14px;
  border:1px solid rgba(255,201,60,.18);
  background:rgba(255,201,60,.045);
  border-radius:15px;
  padding:12px 13px;
  color:var(--muted);
  font-size:.7rem;
  line-height:1.45;
}
.conv-info b{color:var(--text);}

.conv-detail-hero{
  background:#151B2C;
  border:1px solid var(--brd);
  border-radius:22px;
  padding:22px 17px;
  text-align:center;
  margin-top:8px;
}
.conv-detail-emoji{
  font-size:3.2rem;
  line-height:1;
  margin-bottom:12px;
}
.conv-detail-title{
  font-family:'Syne',sans-serif;
  font-size:1.35rem;
  font-weight:800;
}
.conv-detail-desc{
  color:var(--muted);
  font-size:.76rem;
  line-height:1.5;
  margin:7px auto 0;
  max-width:330px;
}

.conv-mode-title{
  font-family:'Syne',sans-serif;
  font-size:.82rem;
  font-weight:800;
  margin:19px 2px 9px;
}
.conv-mode{
  width:100%;
  border:1px solid var(--brd);
  background:#151B2C;
  color:var(--text);
  border-radius:15px;
  padding:13px 14px;
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
  margin-bottom:8px;
  font-family:inherit;
  cursor:pointer;
  touch-action:manipulation;
}
.conv-mode:active{
  border-color:var(--accent2);
  transform:scale(.99);
}
.conv-mode-ico{
  width:37px;
  height:37px;
  flex:0 0 37px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,201,60,.09);
  font-size:1.1rem;
}
.conv-mode-mid{
  flex:1;
  min-width:0;
}
.conv-mode-name{
  font-family:'Syne',sans-serif;
  font-weight:800;
  font-size:.77rem;
}
.conv-mode-desc{
  color:var(--muted);
  font-size:.64rem;
  line-height:1.35;
  margin-top:2px;
}
.conv-mode-state{
  color:var(--accent2);
  font-size:.72rem;
  font-weight:800;
}

#nAi{
  font-size:.52rem;
}

@supports (-webkit-touch-callout:none){
  .conv-card,.conv-mode,.conv-detail-hero{
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
  }
}

@media (max-width:350px){
  .conv-grid{gap:8px;}
  .conv-card{padding:13px 11px;min-height:136px;}
  .conv-name{font-size:.82rem;}
}


#conversationPlayScreen{padding-bottom:112px}
.cplay-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cplay-count{color:var(--muted);font-size:.68rem;font-weight:800;white-space:nowrap}
.cplay-progress{height:6px;background:var(--brd);border-radius:99px;overflow:hidden;margin:2px 0 18px}
.cplay-progress-fill{height:100%;width:20%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .18s ease}
.cplay-scene{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.cplay-scene-emoji{width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#151B2C;border:1px solid var(--brd);display:flex;align-items:center;justify-content:center;font-size:1.45rem}
.cplay-scene-name{font-family:'Syne',sans-serif;font-size:.95rem;font-weight:800}
.cplay-scene-mode{color:var(--accent2);font-size:.63rem;font-weight:800;margin-top:2px}
.chat-row{display:flex;gap:9px;margin-bottom:13px}
.chat-row.user{justify-content:flex-end}
.chat-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#151B2C;border:1px solid var(--brd);display:flex;align-items:center;justify-content:center;font-size:1rem;margin-top:4px}
.chat-bubble{max-width:82%;border-radius:17px;padding:12px 13px;border:1px solid var(--brd);background:#151B2C}
.chat-row.user .chat-bubble{background:rgba(255,201,60,.08);border-color:rgba(255,201,60,.28)}
.chat-who{color:var(--muted);font-size:.58rem;font-weight:800;margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em}
.chat-tn{font-family:'Syne',sans-serif;font-size:.93rem;font-weight:800;line-height:1.35}
.chat-fr{color:var(--muted);font-size:.7rem;line-height:1.4;margin-top:6px}
.chat-tip{color:var(--accent2);font-size:.64rem;line-height:1.4;margin-top:7px}
.cplay-audio-btn{width:100%;border:1px solid rgba(45,212,167,.32);background:rgba(45,212,167,.07);color:var(--ok);border-radius:13px;min-height:44px;padding:10px 12px;font-family:'Syne',sans-serif;font-size:.73rem;font-weight:800;cursor:pointer;touch-action:manipulation;margin:2px 0 10px}
.cplay-action{width:100%;border:none;background:linear-gradient(135deg,var(--accent),#ff985f);color:#fff;border-radius:14px;min-height:50px;padding:12px 14px;font-family:'Syne',sans-serif;font-size:.82rem;font-weight:800;cursor:pointer;touch-action:manipulation}
.cplay-action:active,.cplay-audio-btn:active{transform:scale(.987)}
.cplay-hint{text-align:center;color:var(--muted);font-size:.64rem;line-height:1.4;margin:9px 8px 0}
.cplay-complete{display:none;text-align:center;border:1px solid rgba(45,212,167,.28);background:rgba(45,212,167,.06);border-radius:20px;padding:24px 17px}
.cplay-complete.on{display:block}
.cplay-complete-emoji{font-size:3rem;margin-bottom:9px}
.cplay-complete-title{font-family:'Syne',sans-serif;font-size:1.15rem;font-weight:800}
.cplay-complete-text{color:var(--muted);font-size:.72rem;line-height:1.45;margin-top:6px}
@supports (-webkit-touch-callout:none){
  .chat-bubble,.cplay-scene-emoji,.cplay-complete{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
  .cplay-progress-fill{transition:none}
}


.conv-admin-open{
  width:100%;
  margin:10px 0 0;
  min-height:46px;
  border:1px solid rgba(45,212,167,.35);
  background:rgba(45,212,167,.07);
  color:var(--ok);
  border-radius:13px;
  font-family:'Syne',sans-serif;
  font-size:.74rem;
  font-weight:800;
  cursor:pointer;
  touch-action:manipulation;
}

#conversationAdminScreen{padding-bottom:120px}

.conv-admin-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.conv-admin-title{
  font-family:'Syne',sans-serif;
  font-size:1.16rem;
  font-weight:800;
}
.conv-admin-sub{
  color:var(--muted);
  font-size:.67rem;
  line-height:1.4;
  margin-top:3px;
}
.conv-admin-status{
  min-height:20px;
  color:var(--muted);
  font-size:.66rem;
  line-height:1.4;
  margin:5px 1px 10px;
}

.conv-edit-card{
  border:1px solid var(--brd);
  background:#151B2C;
  border-radius:16px;
  padding:13px;
  margin-bottom:10px;
}
.conv-edit-num{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
  font-family:'Syne',sans-serif;
  font-size:.72rem;
  font-weight:800;
  color:var(--accent2);
}
.conv-edit-label{
  display:block;
  color:var(--muted);
  font-size:.6rem;
  font-weight:800;
  margin:7px 0 4px;
}
.conv-edit-input{
  width:100%;
  border:1px solid var(--brd);
  background:#0C111F;
  color:var(--text);
  border-radius:9px;
  padding:9px 10px;
  min-height:40px;
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;
  line-height:1.35;
  outline:none;
  resize:vertical;
}
.conv-edit-input:focus{border-color:var(--accent2)}

.conv-audio-box{
  margin-top:10px;
  padding:10px;
  border-radius:12px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.055);
}
.conv-audio-title{
  font-size:.64rem;
  font-weight:800;
  color:var(--text);
  margin-bottom:7px;
}
.conv-audio-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.conv-small-btn{
  min-height:40px;
  border-radius:9px;
  border:1px solid var(--brd);
  background:#0C111F;
  color:var(--text);
  padding:7px 8px;
  font-family:'DM Sans',sans-serif;
  font-size:.66rem;
  font-weight:800;
  cursor:pointer;
  touch-action:manipulation;
}
.conv-small-btn.rec{border-color:rgba(244,88,122,.45);color:#ff7894}
.conv-small-btn.play{border-color:rgba(45,212,167,.4);color:var(--ok)}
.conv-small-btn.del{border-color:rgba(244,88,122,.32);color:var(--err)}
.conv-small-btn:disabled{opacity:.35}

.conv-audio-state{
  color:var(--muted);
  font-size:.58rem;
  margin-top:6px;
}
.conv-audio-state.ok{color:var(--ok)}
.conv-audio-state.pending{color:var(--accent2)}

.conv-delete-step{
  border:none;
  background:none;
  color:var(--err);
  font-size:.64rem;
  font-weight:800;
  cursor:pointer;
}

.conv-admin-bottom{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.conv-admin-add,.conv-admin-save{
  min-height:48px;
  border-radius:13px;
  font-family:'Syne',sans-serif;
  font-size:.72rem;
  font-weight:800;
  cursor:pointer;
  touch-action:manipulation;
}
.conv-admin-add{
  border:1px dashed var(--accent2);
  background:rgba(255,201,60,.06);
  color:var(--accent2);
}
.conv-admin-save{
  border:none;
  background:linear-gradient(135deg,var(--ok),#17a982);
  color:#fff;
}

@supports (-webkit-touch-callout:none){
  .conv-edit-card,.conv-audio-box{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:none!important;
  }
}


.cplay-action.secondary{
  background:#151B2C;
  border:1px solid rgba(255,201,60,.35);
  color:var(--accent2);
}
.cplay-action.done{
  background:linear-gradient(135deg,var(--ok),#17a982);
}
.cplay-audio-btn.learning-done{
  border-color:rgba(45,212,167,.55);
  background:rgba(45,212,167,.12);
}



:root{
  --bg:#0B0F18 !important;
  --card:#121826 !important;
  --card2:#171F31;
  --accent:#FF875F !important;
  --accent2:#FFC93C !important;
  --ok:#2DD4A7 !important;
  --err:#FF6B81 !important;
  --text:#F7F8FB !important;
  --muted:#9CA8BD !important;
  --brd:#263149 !important;
  --xp:#FFC93C !important;
  --web-radius:22px;
  --web-shadow:0 18px 50px rgba(0,0,0,.22);
}

html{
  background:#0B0F18;
}
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(255,201,60,.10),transparent 28%),
    radial-gradient(circle at 92% 7%,rgba(45,212,167,.07),transparent 24%),
    #0B0F18 !important;
  color:var(--text) !important;
  padding-left:14px !important;
  padding-right:14px !important;
}
#app{
  position:relative;
}
.screen{
  padding-top:17px !important;
}

.app-hero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:28px;
  padding:18px 17px 21px;
  margin:2px 0 11px;
  background:
    radial-gradient(circle at 8% 0%,rgba(255,201,60,.15),transparent 34%),
    radial-gradient(circle at 100% 100%,rgba(45,212,167,.09),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),
    #121826;
  box-shadow:0 20px 55px rgba(0,0,0,.22);
}
.app-hero::after{
  content:'';
  position:absolute;
  width:150px;height:150px;
  border-radius:50%;
  right:-75px;top:-75px;
  background:rgba(255,201,60,.05);
  pointer-events:none;
}
.app-hero-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:19px;
}
.app-brand{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:'Syne',sans-serif;
  font-size:.92rem;
  font-weight:800;
}
.app-logo{
  width:34px;height:34px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  color:#111520;
  font-size:1rem;
  box-shadow:0 8px 25px rgba(255,157,75,.15);
}
.app-flag{font-size:1.45rem}
.app-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(255,201,60,.22);
  background:rgba(255,201,60,.055);
  color:#FFE27F;
  border-radius:999px;
  padding:6px 9px;
  font-size:.60rem;
  line-height:1;
  font-weight:800;
  margin-bottom:12px;
}
.app-hero-title{
  font-family:'Syne',sans-serif;
  font-size:2rem;
  line-height:.97;
  letter-spacing:-.052em;
  font-weight:800;
  margin-bottom:11px;
}
.app-hero-title span{
  background:linear-gradient(90deg,#fff 5%,#FFD55F 55%,#FF916E);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.app-hero-sub{
  max-width:380px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.5;
}
.app-cloud-status{
  color:var(--muted) !important;
  text-align:center;
  font-size:.61rem !important;
  margin:0 0 10px !important;
}
body:not(.is-editor) #cloudStatus{display:none!important;}

.lvc,.daily-hub,.objectif-banner,.resume-card,.next-step,
.jeu-row,.mdc,.dc,.cc,.ch,.er,.wc,.fc,.pc,.sec,.af,.ms,.rh,
.cwl,.ditem,.diff-item,.ph,.sc2,.promise-card,.guide-card,
.mission,.conv-card,.conv-detail-hero,.conv-mode,.chat-bubble,
.conv-edit-card,.conv-audio-box,.panel,.word-of-day{
  background:
    linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.010)),
    var(--card) !important;
  border-color:var(--brd) !important;
  box-shadow:none !important;
}

.lvc,.daily-hub,.objectif-banner,.resume-card,.next-step,
.jeu-row,.mdc,.dc,.cc,.ch,.er,.wc,.fc,.pc,.sec,.af,.ms,.rh,
.cwl,.ditem,.diff-item,.ph,.sc2,.promise-card,.guide-card,
.mission,.conv-card,.conv-detail-hero,.conv-edit-card{
  border-radius:20px !important;
}

.lvc{
  border:1px solid rgba(255,201,60,.17) !important;
  background:
    radial-gradient(circle at 0 0,rgba(255,201,60,.075),transparent 42%),
    var(--card) !important;
}
.lvb{
  background:rgba(255,201,60,.11) !important;
  border:1px solid rgba(255,201,60,.22);
  color:var(--accent2) !important;
}
.lvn{color:var(--text) !important}
.xpb{background:#202A3C !important;height:6px !important}
.xpf{
  background:linear-gradient(90deg,var(--accent2),var(--accent)) !important;
  box-shadow:none !important;
}

.sr{
  gap:9px !important;
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:18px;
  padding:2px 3px;
}
.sb{
  background:transparent !important;
  border:none !important;
  padding:12px 6px !important;
}
.sb + .sb{
  border-left:1px solid var(--brd) !important;
}
.sn{color:var(--text) !important}
.sl{font-size:.60rem !important}

.st{
  color:#D7DDEA !important;
  font-family:'Syne',sans-serif !important;
  font-size:.74rem !important;
  letter-spacing:.03em !important;
  text-transform:none !important;
  margin:20px 2px 9px !important;
}
.path-note{
  border:1px solid rgba(255,201,60,.13);
  background:rgba(255,201,60,.04);
  color:var(--muted) !important;
  border-radius:14px;
  padding:10px 11px;
  font-size:.65rem !important;
  line-height:1.45;
  margin-bottom:9px;
}

.cg{
  gap:9px !important;
}
.cc{
  min-height:112px;
  padding:14px 12px !important;
  background:var(--card) !important;
}
.cc:hover,.cc:active{
  border-color:rgba(255,201,60,.40) !important;
}
.cc::after{
  height:2px !important;
  background:linear-gradient(90deg,var(--accent2),var(--accent)) !important;
  opacity:.65;
}
.ci{font-size:1.65rem !important}
.cn,.ct{
  color:var(--text) !important;
}

.jeux-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.jeu-row{
  margin:0 !important;
  min-height:68px;
  padding:12px 13px !important;
  border:1px solid var(--brd) !important;
}
.jeu-row:active{
  transform:scale(.99) !important;
  border-color:rgba(255,201,60,.30) !important;
}
.jeu-ico{
  width:40px;height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,201,60,.07);
}
.jeu-xp{color:var(--accent2) !important}

.tb-img-banner{
  border-radius:24px !important;
  overflow:hidden !important;
  border:1px solid var(--brd) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.18) !important;
}
.tb-coach-img-full{
  border-radius:24px !important;
}
.main-start-btn,.rbtn,.ob-bt,.cplay-action,.conv-admin-save,
.mab[style*="background:linear-gradient"],.qbtn,.start-btn{
  border:none !important;
  background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
  color:#111520 !important;
  border-radius:14px !important;
  font-family:'Syne',sans-serif !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
.main-start-btn{
  min-height:52px !important;
  margin:11px 0 12px !important;
}
.main-start-btn:active,.rbtn:active,.cplay-action:active{
  transform:scale(.985) !important;
}

.nav{
  left:50% !important;
  bottom:0 !important;
  width:calc(100% - 16px) !important;
  max-width:504px !important;
  transform:translateX(-50%) !important;
  margin-bottom:max(6px,env(safe-area-inset-bottom)) !important;
  padding:5px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:20px !important;
  background:rgba(18,24,38,.94) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  backdrop-filter:blur(14px) !important;
  box-shadow:0 14px 45px rgba(0,0,0,.34) !important;
}
.nb{
  min-height:53px;
  gap:3px !important;
  border-radius:15px !important;
  color:var(--muted) !important;
  font-size:.54rem !important;
  font-weight:700 !important;
}
.nb.on{
  color:var(--text) !important;
  background:rgba(255,201,60,.075) !important;
}
.nb.on::before{display:none !important}
.nb.on .ni{
  transform:none !important;
  color:var(--accent2) !important;
}
.ni{font-size:1.18rem !important}

.conv-kicker{
  color:var(--accent2) !important;
  letter-spacing:.09em !important;
}
.conv-title{
  font-size:1.72rem !important;
  line-height:1.03 !important;
  letter-spacing:-.045em !important;
}
.conv-sub{
  font-size:.76rem !important;
  line-height:1.48 !important;
}
.conv-grid{gap:10px !important}
.conv-card{
  min-height:150px !important;
  padding:15px !important;
}
.conv-card:active{
  background:#171F31 !important;
  border-color:rgba(255,201,60,.35) !important;
}
.conv-go{color:var(--accent2) !important}
.conv-info{
  border:1px solid rgba(255,201,60,.15) !important;
  background:rgba(255,201,60,.035) !important;
  border-radius:16px !important;
}
.conv-detail-hero{
  background:
    radial-gradient(circle at 50% 0,rgba(255,201,60,.08),transparent 55%),
    var(--card) !important;
}
.conv-mode{
  border-radius:16px !important;
}
.conv-mode-ico{
  background:rgba(255,201,60,.075) !important;
}
.conv-mode-state{color:var(--accent2) !important}

.chat-bubble{
  border-radius:17px !important;
}
.chat-row.user .chat-bubble{
  background:rgba(255,201,60,.075) !important;
  border-color:rgba(255,201,60,.20) !important;
}
.cplay-audio-btn{
  border-color:rgba(45,212,167,.25) !important;
  background:rgba(45,212,167,.055) !important;
  color:var(--ok) !important;
  border-radius:13px !important;
}
.cplay-progress{
  background:#202A3C !important;
}
.cplay-progress-fill{
  background:linear-gradient(90deg,var(--accent2),var(--accent)) !important;
}
.cplay-scene-emoji{
  background:var(--card) !important;
}

#dictScreen .ditem{
  background:var(--card) !important;
  border:1px solid var(--brd) !important;
  border-radius:16px !important;
  margin-bottom:7px !important;
}
#dictScreen .ditem.exp{
  border-color:rgba(255,201,60,.35) !important;
}
.dfr{color:var(--text) !important}
.dcat{color:var(--accent2) !important}
.dph{color:var(--green,var(--ok)) !important}

input,textarea,select,
.conv-edit-input{
  background:#0D1320 !important;
  color:var(--text) !important;
  border-color:var(--brd) !important;
}
input:focus,textarea:focus,select:focus,.conv-edit-input:focus{
  border-color:rgba(255,201,60,.50) !important;
  outline:none !important;
}
.bk{
  color:var(--muted) !important;
}
.bk:hover,.bk:active{color:var(--text) !important}

#pwdScreen,#adminLoginScreen,#adminDashboard{
  background:
    radial-gradient(circle at 12% 0%,rgba(255,201,60,.10),transparent 28%),
    radial-gradient(circle at 90% 10%,rgba(45,212,167,.06),transparent 24%),
    #0B0F18 !important;
}
#pwdScreen > div,
#adminLoginScreen > div{
  background:var(--card);
  border:1px solid var(--brd);
  border-radius:28px;
  padding:24px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
#pwdScreen input,#adminLoginScreen input{
  background:#0D1320 !important;
  border-color:var(--brd) !important;
  border-radius:13px !important;
}
#pwdScreen button[onclick="doLogin()"],
#adminLoginScreen button[onclick="checkAdminCode()"]{
  background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
  color:#111520 !important;
  border-radius:14px !important;
}
.ob{
  background:
    radial-gradient(circle at 50% 25%,rgba(255,201,60,.10),transparent 30%),
    transparent;
}
.ob-ti{
  background:linear-gradient(90deg,#fff,#FFD55F,#FF916E) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}

@media(max-width:380px){
  .app-hero-title{font-size:1.76rem}
  .app-hero{padding:16px 14px 18px}
  .conv-card{min-height:142px !important}
}
@supports (-webkit-touch-callout:none){
  .nav{
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    background:#121826 !important;
  }
  .app-hero,.lvc,.jeu-row,.cc,.conv-card,.chat-bubble{
    box-shadow:none !important;
  }
}


.games-intro{
  color:var(--muted);
  font-size:.67rem;
  line-height:1.45;
  margin:-2px 2px 10px;
}

#catGrid{
  position:relative;
  padding:6px 0 8px;
  min-height:120px;
}
#catGrid::before{
  content:'';
  position:absolute;
  top:20px;
  bottom:20px;
  left:50%;
  width:3px;
  transform:translateX(-50%);
  background:linear-gradient(
    180deg,
    rgba(255,201,60,.28),
    rgba(255,135,95,.18),
    rgba(45,212,167,.18)
  );
  border-radius:99px;
  opacity:.8;
}

#catGrid .path-item{
  position:relative;
  display:block !important;
  min-height:112px;
  margin:0 !important;
}
#catGrid .path-item .path-line{
  display:none !important;
}
#catGrid .path-num{
  position:absolute !important;
  left:50% !important;
  top:8px !important;
  transform:translateX(-50%);
  width:62px !important;
  height:62px !important;
  min-width:62px !important;
  border-radius:50% !important;
  margin:0 !important;
  z-index:4 !important;
  font-size:.84rem !important;
  font-family:'Syne',sans-serif !important;
  font-weight:800 !important;
  border:5px solid #0B0F18 !important;
  box-shadow:
    0 0 0 2px rgba(255,201,60,.20),
    0 11px 26px rgba(0,0,0,.28) !important;
  background:linear-gradient(145deg,#FFC93C,#FF875F) !important;
  color:#10141D !important;
}
#catGrid .path-item.done .path-num{
  background:linear-gradient(145deg,#50E0BA,#20B98F) !important;
  box-shadow:
    0 0 0 2px rgba(45,212,167,.25),
    0 11px 26px rgba(0,0,0,.25) !important;
}
#catGrid .path-item.locked .path-num{
  background:#252E42 !important;
  color:#778198 !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.04) !important;
}

#catGrid .path-card{
  position:absolute !important;
  top:5px !important;
  width:calc(50% - 45px) !important;
  min-height:76px;
  margin:0 !important;
  padding:10px 11px !important;
  border-radius:17px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),#121826 !important;
  border:1px solid #263149 !important;
  display:flex !important;
  gap:8px !important;
  align-items:center !important;
  transform:none !important;
}
#catGrid .path-item:nth-child(odd) .path-card{
  left:0 !important;
  right:auto !important;
  text-align:right;
  flex-direction:row-reverse;
}
#catGrid .path-item:nth-child(even) .path-card{
  right:0 !important;
  left:auto !important;
}
#catGrid .path-item:not(.locked) .path-card:active{
  border-color:rgba(255,201,60,.42) !important;
  transform:scale(.985) !important;
}
#catGrid .path-card.locked{
  opacity:.42 !important;
}
#catGrid .path-ico{
  min-width:25px !important;
  font-size:1.28rem !important;
}
#catGrid .path-name{
  font-family:'Syne',sans-serif !important;
  font-size:.68rem !important;
  line-height:1.18 !important;
  color:var(--text) !important;
}
#catGrid .path-sub{
  font-size:.55rem !important;
  line-height:1.25 !important;
}
#catGrid .path-pct{
  position:absolute;
  top:72px;
  left:50%;
  transform:translateX(-50%);
  z-index:5;
  background:#0B0F18;
  border:1px solid #263149;
  border-radius:99px;
  padding:2px 6px;
  font-size:.55rem !important;
}
#catGrid .path-exos{
  display:none !important;
}
#catGrid .path-more{
  position:relative;
  z-index:5;
  width:82%;
  margin:7px auto 4px !important;
  display:block;
  border-radius:15px !important;
  background:#121826 !important;
  border:1px solid #263149 !important;
  color:var(--muted) !important;
  min-height:44px;
}

.journey-checkpoint{
  position:relative;
  z-index:6;
  width:84%;
  margin:0 auto 18px;
  padding:9px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:14px;
  border:1px solid rgba(255,201,60,.18);
  background:rgba(255,201,60,.05);
  color:#FFE27F;
  font-family:'Syne',sans-serif;
  font-size:.62rem;
  font-weight:800;
}
.journey-checkpoint span{font-size:1rem}

.game-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:9px !important;
}
.game-grid .jeu-row{
  min-height:118px !important;
  padding:13px !important;
  border-radius:19px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:8px !important;
  background:
    radial-gradient(circle at 100% 0,rgba(255,201,60,.06),transparent 42%),
    #121826 !important;
}
.game-grid .jeu-ico{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  border-radius:13px !important;
  font-size:1.25rem;
}
.game-grid .jeu-mid{
  width:100%;
}
.game-grid .jeu-nom{
  font-family:'Syne',sans-serif;
  font-size:.72rem !important;
  font-weight:800;
  display:block;
}
.game-grid .jeu-desc{
  font-size:.58rem !important;
  line-height:1.3;
  display:block;
  margin-top:2px;
}
.game-grid .jeu-xp{
  font-size:.58rem !important;
  border:1px solid rgba(255,201,60,.16);
  background:rgba(255,201,60,.05);
  border-radius:99px;
  padding:3px 6px;
}
.game-grid .new-game{
  border-color:rgba(45,212,167,.18) !important;
}
.game-grid .new-game .jeu-ico{
  background:rgba(45,212,167,.08) !important;
}

#yehlaGameScreen{
  padding-bottom:112px;
}
.yg-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.yg-xp{
  color:var(--accent2);
  font-size:.64rem;
  font-weight:800;
  border:1px solid rgba(255,201,60,.18);
  background:rgba(255,201,60,.05);
  border-radius:99px;
  padding:5px 8px;
}
.yg-head{
  margin:12px 0 12px;
}
.yg-kicker{
  color:var(--accent2);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.1em;
}
.yg-title{
  font-family:'Syne',sans-serif;
  font-size:1.5rem;
  font-weight:800;
  line-height:1.05;
  margin-top:4px;
}
.yg-sub{
  color:var(--muted);
  font-size:.72rem;
  margin-top:5px;
}
.yg-progress{
  height:6px;
  background:#202A3C;
  border-radius:99px;
  overflow:hidden;
  margin:0 0 16px;
}
.yg-progress > div{
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--accent2),var(--accent));
  border-radius:99px;
  transition:width .16s ease;
}
.yg-card{
  background:#121826;
  border:1px solid #263149;
  border-radius:20px;
  padding:18px;
}
.yg-center{
  text-align:center;
}
.yg-big{
  font-family:'Syne',sans-serif;
  font-size:1.45rem;
  font-weight:800;
  line-height:1.2;
}
.yg-muted{
  color:var(--muted);
  font-size:.7rem;
  line-height:1.4;
  margin-top:7px;
}
.yg-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:14px;
}
.yg-btn{
  min-height:48px;
  border-radius:14px;
  border:1px solid #263149;
  background:#171F31;
  color:var(--text);
  font-family:'Syne',sans-serif;
  font-size:.72rem;
  font-weight:800;
  cursor:pointer;
  touch-action:manipulation;
}
.yg-btn:active{transform:scale(.985)}
.yg-btn.primary{
  border:none;
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  color:#10141D;
}
.yg-btn.good{
  border-color:rgba(45,212,167,.35);
  background:rgba(45,212,167,.09);
  color:var(--ok);
}
.yg-btn.bad{
  border-color:rgba(255,107,129,.35);
  background:rgba(255,107,129,.08);
  color:#FF91A3;
}

.pair-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.pair-card{
  min-height:70px;
  border-radius:14px;
  border:1px solid #263149;
  background:#151C2C;
  color:var(--text);
  padding:8px;
  font-size:.72rem;
  font-weight:800;
  cursor:pointer;
  touch-action:manipulation;
}
.pair-card.selected{
  border-color:var(--accent2);
  background:rgba(255,201,60,.08);
}
.pair-card.matched{
  border-color:rgba(45,212,167,.35);
  background:rgba(45,212,167,.08);
  color:var(--ok);
  opacity:.7;
}
.pair-card.wrong{
  border-color:rgba(255,107,129,.45);
  background:rgba(255,107,129,.08);
}

.puzzle-target{
  min-height:72px;
  border-radius:16px;
  border:1px dashed rgba(255,201,60,.25);
  background:rgba(255,201,60,.035);
  padding:10px;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:flex-start;
  margin-top:12px;
}
.puzzle-bank{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.puzzle-token{
  border:1px solid #263149;
  background:#171F31;
  color:var(--text);
  border-radius:11px;
  padding:8px 10px;
  font-size:.72rem;
  font-weight:700;
  cursor:pointer;
  touch-action:manipulation;
}
.puzzle-token.used{
  opacity:.25;
  pointer-events:none;
}
.puzzle-token.in-target{
  border-color:rgba(255,201,60,.28);
  background:rgba(255,201,60,.06);
}

.yg-finish{
  text-align:center;
  padding:24px 16px;
}
.yg-finish-emoji{
  font-size:3rem;
}
.yg-finish-title{
  font-family:'Syne',sans-serif;
  font-size:1.25rem;
  font-weight:800;
  margin-top:8px;
}
.yg-finish-xp{
  color:var(--accent2);
  font-size:.86rem;
  font-weight:800;
  margin-top:7px;
}

@media(max-width:360px){
  #catGrid .path-card{width:calc(50% - 39px) !important;padding:8px !important}
  #catGrid .path-num{width:56px !important;height:56px !important;min-width:56px !important}
  .game-grid{gap:7px !important}
  .game-grid .jeu-row{min-height:112px !important}
}

@supports (-webkit-touch-callout:none){
  #catGrid .path-num,.game-grid .jeu-row,.yg-card{
    box-shadow:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  .yg-progress > div{transition:none}
}



:root{
  --bg:#141B2B !important;
  --card:#1C2638 !important;
  --card2:#222E43 !important;
  --brd:#34435D !important;
  --text:#FFFFFF !important;
  --muted:#B8C3D5 !important;
  --accent2:#FFD255 !important;
  --accent:#FF956F !important;
  --ok:#43DDB2 !important;
}

html{
  background:#141B2B !important;
}
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(255,210,85,.16),transparent 28%),
    radial-gradient(circle at 92% 7%,rgba(67,221,178,.11),transparent 25%),
    linear-gradient(180deg,#172033 0%,#141B2B 52%,#111827 100%) !important;
}

.screen{
  background:transparent !important;
}

.app-hero{
  background:
    radial-gradient(circle at 8% 0%,rgba(255,210,85,.20),transparent 36%),
    radial-gradient(circle at 100% 100%,rgba(67,221,178,.13),transparent 34%),
    linear-gradient(145deg,#243149,#1C2638) !important;
  border-color:#3A4A64 !important;
}
.app-hero-title{
  font-size:2.12rem !important;
  line-height:.96 !important;
  text-shadow:0 2px 16px rgba(0,0,0,.18);
}
.app-hero-sub{
  color:#CFD7E5 !important;
}

.lvc,.daily-hub,.objectif-banner,.resume-card,.next-step,
.jeu-row,.mdc,.dc,.cc,.ch,.er,.wc,.fc,.pc,.sec,.af,.ms,.rh,
.cwl,.ditem,.diff-item,.ph,.sc2,.promise-card,.guide-card,
.mission,.conv-card,.conv-detail-hero,.conv-mode,.chat-bubble,
.conv-edit-card,.conv-audio-box,.panel,.word-of-day,
.yg-card,.path-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),
    #1C2638 !important;
  border-color:#34435D !important;
}

#catGrid::before{
  background:linear-gradient(
    180deg,
    rgba(255,210,85,.48),
    rgba(255,149,111,.34),
    rgba(67,221,178,.34)
  ) !important;
}
#catGrid .path-card{
  background:
    linear-gradient(145deg,#223049,#1C2638) !important;
  border-color:#3A4A64 !important;
}
#catGrid .path-num{
  border-color:#141B2B !important;
  box-shadow:
    0 0 0 3px rgba(255,210,85,.24),
    0 10px 24px rgba(0,0,0,.22) !important;
}
#catGrid .path-item.locked .path-num{
  background:#34405A !important;
  color:#9DA9BE !important;
}

.st{
  position:relative;
  display:flex !important;
  align-items:center;
  min-height:42px;
  margin:25px 0 12px !important;
  padding:9px 13px 9px 15px !important;
  border-radius:14px;
  background:linear-gradient(
    90deg,
    rgba(255,210,85,.13),
    rgba(255,210,85,.035)
  ) !important;
  border:1px solid rgba(255,210,85,.18);
  border-left:4px solid var(--accent2) !important;
  color:#FFFFFF !important;
  font-family:'Syne',sans-serif !important;
  font-size:.88rem !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  text-transform:none !important;
  box-shadow:0 8px 24px rgba(0,0,0,.10);
}

.conv-title,
.yg-title,
.conv-admin-title,
.cplay-scene-name{
  color:#FFFFFF !important;
  font-weight:800 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.14);
}
.conv-title{
  font-size:1.92rem !important;
  line-height:1.02 !important;
}
.yg-title{
  font-size:1.66rem !important;
}
.conv-detail-title{
  font-size:1.48rem !important;
  color:#FFFFFF !important;
}

.eyebrow,
.conv-kicker,
.yg-kicker,
.cplay-scene-mode{
  color:#FFD96C !important;
}

.path-note,.games-intro,.conv-sub,.yg-sub,.conv-detail-desc{
  color:#C5CFDE !important;
}

.game-grid .jeu-row{
  background:
    radial-gradient(circle at 100% 0,rgba(255,210,85,.10),transparent 45%),
    linear-gradient(145deg,#233149,#1C2638) !important;
  border-color:#3A4A64 !important;
}
.game-grid .new-game{
  background:
    radial-gradient(circle at 100% 0,rgba(67,221,178,.11),transparent 45%),
    linear-gradient(145deg,#213146,#1C2638) !important;
}
.jeu-nom{
  color:#FFFFFF !important;
}
.jeu-desc{
  color:#BFC9D9 !important;
}

#dictScreen .ditem{
  background:#1C2638 !important;
  border-color:#34435D !important;
}
.dfr{
  color:#FFFFFF !important;
}
.dcat{
  color:#FFD96C !important;
}

.conv-card{
  background:
    radial-gradient(circle at 100% 0,rgba(255,210,85,.08),transparent 42%),
    linear-gradient(145deg,#233149,#1C2638) !important;
}
.conv-card:active{
  background:#26344B !important;
}
.chat-row.user .chat-bubble{
  background:rgba(255,210,85,.12) !important;
  border-color:rgba(255,210,85,.27) !important;
}
.cplay-audio-btn{
  background:rgba(67,221,178,.10) !important;
  border-color:rgba(67,221,178,.35) !important;
}

.nav{
  background:#1B2537 !important;
  border-color:#394A64 !important;
  box-shadow:0 14px 40px rgba(0,0,0,.26) !important;
}
.nb.on{
  background:rgba(255,210,85,.13) !important;
  color:#FFFFFF !important;
}
.nb{
  color:#AFBACB !important;
}

input,textarea,select,.conv-edit-input{
  background:#172033 !important;
  border-color:#3B4A63 !important;
}

.journey-checkpoint{
  background:linear-gradient(
    90deg,
    rgba(255,210,85,.14),
    rgba(255,149,111,.08)
  ) !important;
  border-color:rgba(255,210,85,.28) !important;
  color:#FFE58D !important;
}

.pair-card,.puzzle-token,.yg-btn{
  background:#222E43 !important;
  border-color:#3A4A64 !important;
}
.yg-btn.primary{
  background:linear-gradient(135deg,var(--accent2),var(--accent)) !important;
}

.sr{
  background:#1C2638 !important;
  border-color:#34435D !important;
}
.sb + .sb{
  border-color:#34435D !important;
}

@supports (-webkit-touch-callout:none){
  .nav{
    background:#1B2537 !important;
  }
  .app-hero,.lvc,.jeu-row,.cc,.conv-card,.chat-bubble,.yg-card{
    box-shadow:none !important;
  }
}

@media(max-width:380px){
  .app-hero-title{font-size:1.92rem !important}
  .st{font-size:.82rem !important}
  .conv-title{font-size:1.72rem !important}
}



.home-desktop-top,
.home-desktop-main{
  width:100%;
}

.listen-game-card{
  border-color:rgba(116,176,255,.28) !important;
  background:
    radial-gradient(circle at 100% 0,rgba(116,176,255,.12),transparent 45%),
    linear-gradient(145deg,#233149,#1C2638) !important;
}
.listen-game-card .jeu-ico{
  background:rgba(116,176,255,.12) !important;
}
.listen-headphones{
  font-size:4rem;
  line-height:1;
  margin:6px 0 12px;
}
.listen-play-btn{
  width:100%;
  margin:15px 0 13px;
}
.listen-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.listen-option{
  min-height:54px !important;
}

@media (min-width:700px) and (max-width:1099px){
  body{
    max-width:none !important;
    width:100% !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }

  #app{
    width:min(100%,820px) !important;
    max-width:820px !important;
    margin:0 auto !important;
  }

  #obScreen{
    max-width:820px !important;
  }

  .nav{
    width:calc(100% - 32px) !important;
    max-width:790px !important;
  }

  .conv-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .game-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .game-grid .jeu-row{
    min-height:132px !important;
  }

  #dictScreen #dList{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  #dictScreen .ditem{
    margin-bottom:0 !important;
  }

  #conversationDetailScreen,
  #conversationPlayScreen,
  #conversationAdminScreen,
  #yehlaGameScreen,
  #levelScreen,
  #diffScreen{
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (min-width:1100px){
  html,body{
    min-width:100%;
  }

  body{
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding:0 32px 112px !important;
    align-items:center !important;
  }

  #app{
    width:min(1180px,100%) !important;
    max-width:1180px !important;
    margin:0 auto !important;
  }

  #obScreen{
    width:min(900px,100%) !important;
    max-width:900px !important;
    margin:0 auto !important;
  }

  .screen{
    width:100% !important;
  }

  .app-hero{
    padding:27px 30px 30px !important;
    margin-top:16px !important;
  }

  .app-hero-top{
    margin-bottom:22px !important;
  }

  .app-hero-title{
    font-size:3.25rem !important;
    max-width:720px;
  }

  .app-hero-sub{
    max-width:690px !important;
    font-size:.92rem !important;
  }

  .app-badge{
    font-size:.68rem !important;
    padding:8px 11px !important;
  }

  .home-desktop-top{
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);
    grid-template-rows:auto auto auto auto;
    gap:14px 18px;
    align-items:stretch;
    margin-top:6px;
  }

  .home-desktop-top .top-row{
    grid-column:2;
    grid-row:1;
    margin:0 !important;
    min-width:0;
  }

  .home-desktop-top .objectif-banner{
    grid-column:2;
    grid-row:2;
    margin:0 !important;
  }

  .home-desktop-top #learningBanner{
    grid-column:1;
    grid-row:1 / span 2;
    margin:0 !important;
    height:100%;
    min-height:350px;
  }

  .home-desktop-top #learningBanner img{
    width:100% !important;
    height:100% !important;
    min-height:350px;
    object-fit:cover !important;
  }

  .home-desktop-top .main-start-btn{
    grid-column:1;
    grid-row:3;
    margin:0 !important;
    min-height:58px !important;
    font-size:.95rem !important;
  }

  .home-desktop-top .lvc{
    grid-column:2;
    grid-row:3;
    margin:0 !important;
  }

  .home-desktop-top .sr{
    grid-column:2;
    grid-row:4;
    margin:0 !important;
  }

  .home-desktop-main{
    display:grid !important;
    grid-template-columns:minmax(0,1.22fr) minmax(370px,.78fr);
    grid-template-rows:auto auto auto auto auto;
    gap:10px 24px;
    align-items:start;
    margin-top:20px;
  }

  .home-desktop-main .adventure-heading{
    grid-column:1;
    grid-row:1;
  }

  .home-desktop-main .adventure-note{
    grid-column:1;
    grid-row:2;
  }

  .home-desktop-main #catGrid{
    grid-column:1;
    grid-row:3 / span 5;
    width:100%;
    min-width:0;
  }

  .home-desktop-main .games-heading{
    grid-column:2;
    grid-row:1;
  }

  .home-desktop-main .games-intro{
    grid-column:2;
    grid-row:2;
  }

  .home-desktop-main .game-grid{
    grid-column:2;
    grid-row:3;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .home-desktop-main .revision-heading{
    grid-column:2;
    grid-row:4;
    margin-top:16px !important;
  }

  .home-desktop-main .revision-list{
    grid-column:2;
    grid-row:5;
  }

  .game-grid .jeu-row{
    min-height:126px !important;
  }

  .game-grid{
    grid-auto-flow:row;
  }

  .nav{
    width:auto !important;
    min-width:650px;
    max-width:760px !important;
    left:50% !important;
    bottom:12px !important;
    padding:6px !important;
    border-radius:22px !important;
  }

  .nb{
    padding:8px 14px !important;
    font-size:.62rem !important;
  }

  .ni{
    font-size:1.26rem !important;
  }

  #conversationScreen .conv-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  #conversationScreen .conv-card{
    min-height:170px !important;
    padding:18px !important;
  }

  #dictScreen #dList{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 12px;
  }

  #dictScreen .ditem{
    margin:0 !important;
    min-width:0;
  }

  #dictScreen .dict-load-sentinel{
    grid-column:1 / -1;
  }

  #conversationDetailScreen,
  #conversationPlayScreen,
  #conversationAdminScreen,
  #yehlaGameScreen,
  #levelScreen,
  #diffScreen,
  #quickScreen{
    max-width:900px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #yehlaGameScreen .yg-card{
    padding:26px !important;
  }

  #yehlaGameScreen .yg-title{
    font-size:2rem !important;
  }

  #yehlaGameScreen .yg-sub{
    font-size:.82rem !important;
  }

  .listen-options{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
  }

  #settScreen,
  #phrasesScreen,
  #profilScreen{
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (min-width:1500px){
  #app{
    max-width:1280px !important;
  }

  .home-desktop-top{
    grid-template-columns:minmax(0,1.4fr) minmax(380px,.6fr);
  }

  .home-desktop-main{
    grid-template-columns:minmax(0,1.28fr) minmax(400px,.72fr);
  }
}


.speech-check{
  margin-top:9px;
  border:1px solid var(--brd);
  background:rgba(255,255,255,.025);
  border-radius:14px;
  padding:11px 12px;
}
.speech-check.listening{
  border-color:rgba(255,107,129,.42);
  background:rgba(255,107,129,.055);
}
.speech-check.success{
  border-color:rgba(67,221,178,.40);
  background:rgba(67,221,178,.065);
}
.speech-check.near{
  border-color:rgba(255,210,85,.36);
  background:rgba(255,210,85,.055);
}
.speech-check-title{
  font-family:'Syne',sans-serif;
  font-size:.69rem;
  font-weight:800;
  color:var(--text);
}
.speech-check-heard{
  color:var(--muted);
  font-size:.68rem;
  line-height:1.4;
  margin-top:5px;
  word-break:break-word;
}
.speech-check-feedback{
  font-size:.66rem;
  font-weight:800;
  line-height:1.4;
  margin-top:5px;
}
#cplayRepeatBtn.is-listening{
  background:linear-gradient(135deg,#FF6B81,#FF956F) !important;
  color:#fff !important;
}
#cplayRepeatBtn.is-success{
  background:linear-gradient(135deg,var(--ok),#24B98F) !important;
  color:#07140F !important;
}
@keyframes speechPulseV45{
  0%,100%{transform:scale(1)}
  50%{transform:scale(.985)}
}
#cplayRepeatBtn.is-listening{
  animation:speechPulseV45 .85s ease-in-out infinite;
}
@supports (-webkit-touch-callout:none){
  #cplayRepeatBtn.is-listening{animation:none}
}


#dictScreen{max-width:1040px;margin:0 auto;padding:8px 12px 110px}
#dictScreen .dict-hero-premium{position:relative;overflow:hidden;margin:0 0 18px;padding:26px;border:1px solid rgba(249,213,117,.28);border-radius:24px;background:linear-gradient(135deg,#253449 0%,#1b2738 58%,#21434a 100%);box-shadow:0 20px 45px rgba(0,0,0,.22)}
#dictScreen .dict-hero-premium:after{content:'🇩🇪';position:absolute;right:24px;top:13px;font-size:76px;opacity:.10;transform:rotate(-9deg);pointer-events:none}
#dictScreen .dict-kicker{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(249,213,117,.28);border-radius:999px;color:#f9d575;background:rgba(249,213,117,.08);font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
#dictScreen .dict-title{margin:12px 0 5px;font-family:'Syne',sans-serif;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.05;letter-spacing:-.04em;color:#fff}
#dictScreen .dict-subtitle{max-width:650px;margin:0;color:#b9c5d5;font-size:.78rem;line-height:1.55}
#dictScreen .dict-back-home{position:absolute;z-index:2;right:18px;bottom:18px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(10,17,28,.5);color:#fff;padding:9px 12px;font-size:.66rem;font-weight:800;cursor:pointer}
#dictScreen .dict-search-shell{position:relative;margin-top:19px;max-width:720px}
#dictScreen .dict-search-shell .dict-search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:1rem;pointer-events:none}
#dictScreen .dict-search-shell .di{width:100%;height:54px;padding:0 18px 0 46px;border:1px solid #53667e;border-radius:15px;background:#101b2c;color:#fff;font-size:.88rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
#dictScreen .dict-search-shell .di:focus{border-color:#f9d575;box-shadow:0 0 0 3px rgba(249,213,117,.10)}
#dictScreen .dict-categories-wrap{margin:0 0 15px;padding:16px;border:1px solid var(--brd);border-radius:18px;background:rgba(28,39,56,.82)}
#dictScreen .dict-section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
#dictScreen .dict-section-title{font-family:'Syne',sans-serif;font-size:.78rem;font-weight:900;color:#fff}
#dictScreen .dict-more-btn{border:1px solid rgba(249,213,117,.34);border-radius:10px;background:rgba(249,213,117,.08);color:#f9d575;padding:7px 10px;font-size:.61rem;font-weight:900;cursor:pointer}
#dictScreen .dtgs{display:flex;flex-wrap:wrap;gap:7px;margin:0;max-height:none;overflow:visible}
#dictScreen .dtg{margin:0!important;padding:8px 11px!important;border:1px solid #425268!important;border-radius:999px!important;background:#172236!important;color:#dbe4ee!important;font-size:.62rem!important;font-weight:800!important;white-space:nowrap}
#dictScreen .dtg.on{border-color:#f9d575!important;background:linear-gradient(110deg,#f9d575,#ff9d77)!important;color:#172033!important;box-shadow:0 6px 16px rgba(249,213,117,.14)}
#dictScreen .dtg.dict-extra{display:none}
#dictScreen .dtg.dict-extra{display:inline-flex!important}
#dictScreen .dtgs.expanded .dtg.dict-extra{display:inline-flex}
#dictScreen .dict-list-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 2px 10px}
#dictScreen .dict-current-label{font-size:.71rem;font-weight:900;color:#f4f7fb}
#dictScreen .dct{margin:0;color:#91a0b2;font-size:.64rem}
#dictScreen #dList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#dictScreen .ditem{position:relative;margin:0!important;min-height:118px;padding:15px 15px 13px!important;border:1px solid #34455b!important;border-radius:17px!important;background:linear-gradient(145deg,#1d2a3d,#182335)!important;box-shadow:0 8px 20px rgba(0,0,0,.12)!important;cursor:pointer;transition:transform .16s ease,border-color .16s ease!important}
#dictScreen .ditem:hover{transform:translateY(-2px);border-color:#65778f!important}
#dictScreen .ditem.exp{border-color:#f9d575!important;background:linear-gradient(145deg,#25344a,#1b283b)!important}
#dictScreen .drow{height:100%;align-items:flex-start;gap:12px}
#dictScreen .dfr{font-family:'Syne',sans-serif;font-size:.94rem;font-weight:900;color:#fff;line-height:1.25}
#dictScreen .dcat{display:inline-flex;margin:5px 0 8px!important;padding:3px 7px;border-radius:999px;background:rgba(249,213,117,.08);color:#f9d575!important;font-size:.54rem!important;font-weight:800}
#dictScreen .dpr{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;color:#d7e0ea;font-size:.73rem}
#dictScreen .dph{color:#8fe0bc;font-weight:900}
#dictScreen .dar{font-family:'Noto Naskh English',serif;color:#dce5ef;font-size:.9rem;direction:rtl}
#dictScreen .dict-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px;flex:none}
#dictScreen .dict-audio-play{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(249,213,117,.42);border-radius:50%;background:linear-gradient(135deg,#f9d575,#ffad83);color:#182235;font-size:.92rem;box-shadow:0 7px 16px rgba(249,213,117,.15);cursor:pointer}
#dictScreen .dict-audio-play.no-audio{border-color:#46566c;background:#253247;color:#718097;box-shadow:none}
#dictScreen .dict-audio-label{font-size:.5rem;font-weight:900;color:#8fe0bc;text-transform:uppercase;letter-spacing:.06em}
#dictScreen .dict-audio-label.missing{color:#7f8c9d}
#dictScreen .dpl-row{grid-column:1/-1!important;margin-top:10px!important;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
#dictScreen .dict-load-sentinel{grid-column:1/-1}
body.public-dict-preview .nav{display:none!important}
body.public-dict-preview #dictScreen{padding-bottom:30px}
@media(max-width:720px){
  #dictScreen{padding:3px 10px 95px}
  #dictScreen .dict-hero-premium{padding:21px 17px 18px;border-radius:20px}
  #dictScreen .dict-hero-premium:after{font-size:54px;right:12px}
  #dictScreen .dict-back-home{position:relative;right:auto;bottom:auto;margin-top:14px;width:100%}
  #dictScreen #dList{grid-template-columns:1fr}
  #dictScreen .dict-categories-wrap{padding:13px}
  #dictScreen .dict-section-top{align-items:flex-start}
  #dictScreen .dict-more-btn{max-width:145px}
}


#homeScreen .app-brand > span:last-child{
  font-family:'Syne',sans-serif!important;font-weight:900!important;
  letter-spacing:-.03em!important;font-size:1.02rem!important;color:#fff!important;
}
#homeScreen .objectif-banner{
  position:relative!important;isolation:isolate!important;
  display:flex!important;flex-direction:column!important;gap:13px!important;
  padding:34px 20px 18px!important;margin:0!important;
  border:6px solid transparent!important;
  border-radius:58px 58px 20px 20px!important;
  background:
    linear-gradient(160deg,#153a43 0%,#102d37 55%,#0b222b 100%) padding-box,
    conic-gradient(from 45deg,
      #c99435 0 12.5%,#f1d590 0 25%,#356e73 0 37.5%,#8d4a2e 0 50%,
      #c99435 0 62.5%,#f1d590 0 75%,#356e73 0 87.5%,#8d4a2e 0 100%) border-box!important;
  box-shadow:
    inset 0 0 0 2px rgba(244,216,146,.28),
    inset 0 0 42px rgba(0,0,0,.34),
    0 18px 34px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
}
#homeScreen .objectif-banner:before{
  content:'✦  ❖  ✦'!important;
  position:absolute!important;left:50%!important;top:7px!important;right:auto!important;
  width:auto!important;height:auto!important;border-radius:0!important;
  transform:translateX(-50%)!important;
  background:none!important;color:#f1d590!important;
  font-size:.72rem!important;letter-spacing:.34em!important;opacity:.95!important;
  text-shadow:0 1px 0 #6a3b21!important;z-index:3!important;
}
#homeScreen .objectif-banner:after{
  content:'';position:absolute;z-index:-1;inset:11px;
  border:1px solid rgba(241,213,144,.5);border-radius:47px 47px 13px 13px;
  pointer-events:none;
  background:
    radial-gradient(circle at 12px 12px,rgba(241,213,144,.17) 0 2px,transparent 2.5px) 0 0/24px 24px;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;padding:6px;
}
#homeScreen .objectif-main{
  position:relative!important;z-index:2!important;display:grid!important;
  grid-template-columns:auto 1fr!important;gap:10px 12px!important;align-items:center!important;
  width:100%!important;min-width:0!important;
}
#homeScreen .objectif-main .ob-flag{
  grid-column:1!important;grid-row:1!important;font-size:2.25rem!important;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.25));
}
#homeScreen .objectif-main .ob-content{
  grid-column:2!important;grid-row:1!important;padding:0!important;min-width:0!important;
}
#homeScreen .ob-title{
  color:#ecd9a2!important;font-size:.62rem!important;letter-spacing:.18em!important;
  text-shadow:0 1px 1px rgba(0,0,0,.35)!important;margin-bottom:8px!important;
}
#homeScreen .ob-big{
  color:#fff7dc!important;font-size:1.42rem!important;letter-spacing:.04em!important;
  text-shadow:0 2px 7px rgba(0,0,0,.4)!important;
}
#homeScreen .ob-bar{
  height:9px!important;background:rgba(0,0,0,.34)!important;border:1px solid rgba(241,213,144,.18)!important;
}
#homeScreen .ob-fill{background:linear-gradient(90deg,#c78d30,#f6df99,#c78d30)!important;}
#homeScreen .ob-stats{color:#dbe6e5!important;font-size:.61rem!important;}
#homeScreen .ob-stats span:last-child{color:#f1d590!important;}
#homeScreen .ob-slogan{
  right:15px!important;top:32px!important;color:#f1d590!important;opacity:.8!important;
  font-size:.72rem!important;line-height:1.05!important;transform:rotate(-5deg)!important;
}
#homeScreen .objectif-level{
  position:relative!important;z-index:2!important;width:100%!important;margin:0!important;
  padding:12px 13px!important;border:1px solid rgba(241,213,144,.35)!important;
  border-radius:12px!important;background:linear-gradient(180deg,rgba(6,23,29,.68),rgba(8,28,34,.52))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 7px 14px rgba(0,0,0,.13)!important;
}
#homeScreen .objectif-level:before{
  content:'NIVEAU';position:absolute;right:11px;top:8px;
  font-size:.48rem;font-weight:900;letter-spacing:.18em;color:rgba(241,213,144,.62);
}
#homeScreen .objectif-level .lvb{
  background:linear-gradient(135deg,#f0d187,#c49337)!important;color:#142833!important;
  border:1px solid rgba(255,245,205,.55)!important;
}
#homeScreen .objectif-level .lvn{color:#fff3cf!important;}
#homeScreen .objectif-level .xpb{background:rgba(0,0,0,.4)!important;border:1px solid rgba(241,213,144,.12)!important;}
#homeScreen .objectif-level .xpf{background:linear-gradient(90deg,#3b8f83,#f0d187)!important;}
#homeScreen .objectif-level .xpr,#homeScreen .objectif-level .lvc-hist-hint{color:#bfcfce!important;}
@media(max-width:430px){
 #homeScreen .objectif-banner{border-width:5px!important;border-radius:46px 46px 18px 18px!important;padding:29px 15px 15px!important;}
 #homeScreen .objectif-banner:after{inset:9px;border-radius:38px 38px 11px 11px;}
 #homeScreen .ob-big{font-size:1.22rem!important;}
 #homeScreen .ob-slogan{font-size:.64rem!important;right:12px!important;top:29px!important;}
}


#homeScreen .objectif-wordrush-card{
  position:relative!important;z-index:2!important;width:100%!important;margin:0!important;
  min-height:86px!important;padding:12px 13px!important;cursor:pointer!important;
  border:1px solid rgba(241,213,144,.35)!important;border-radius:12px!important;
  background:linear-gradient(180deg,rgba(6,23,29,.68),rgba(8,28,34,.52))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 7px 14px rgba(0,0,0,.13)!important;
}
#homeScreen .objectif-wordrush-card:before{
  content:'WORDRUSH';position:absolute;right:11px;top:8px;
  font-size:.48rem;font-weight:900;letter-spacing:.18em;color:rgba(241,213,144,.62);
}
#homeScreen .objectif-wordrush-card .objectif-wordrush-badge{
  background:linear-gradient(135deg,#f0d187,#c49337)!important;color:#142833!important;
  border:1px solid rgba(255,245,205,.55)!important;
}
#homeScreen .objectif-wordrush-card .objectif-wordrush-rank{color:#fff3cf!important;padding-right:76px;}
#homeScreen .objectif-wordrush-title{
  color:#dbe6e5;font-size:.70rem;font-weight:700;line-height:1.35;margin:7px 0 8px;
}
#homeScreen .objectif-wordrush-title strong{color:#f1d590;font-family:'Syne',sans-serif;font-weight:900;}
#homeScreen .objectif-wordrush-stats{color:#bfcfce!important;margin-top:0!important;}
#homeScreen .objectif-wordrush-play{
  width:100%;margin-top:9px;padding:8px 10px;border-radius:10px;
  border:1px solid rgba(241,213,144,.48);background:linear-gradient(135deg,rgba(240,209,135,.16),rgba(196,147,55,.12));
  color:#fff3cf;font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:900;letter-spacing:.01em;
  cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:.18s ease;
}
#homeScreen .objectif-wordrush-play:hover{border-color:rgba(241,213,144,.78);background:linear-gradient(135deg,rgba(240,209,135,.23),rgba(196,147,55,.18));transform:translateY(-1px);}
#homeScreen .objectif-wordrush-play:disabled{opacity:.58;cursor:default;transform:none;}
#homeScreen .objectif-wordrush-card:hover{border-color:rgba(241,213,144,.58)!important;}
@media(max-width:430px){
  #homeScreen .objectif-wordrush-card{min-height:86px!important;}
  #homeScreen .objectif-wordrush-rank{padding-right:70px!important;}
}


#dictScreen .dict-word-edit-btn{
  margin-top:7px;
  border:1px solid rgba(255,209,102,.58);
  background:rgba(255,209,102,.08);
  color:#FFD166;
  border-radius:8px;
  padding:5px 8px;
  font-family:'DM Sans',sans-serif;
  font-size:.62rem;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
#dictScreen .dict-word-edit-btn:hover{background:rgba(255,209,102,.15);}
@media(max-width:520px){
  #dictScreen .dict-word-edit-btn{padding:6px 7px;font-size:.6rem;}
}


#dictScreen.dict-searching-v70 .dict-list-top{
  width:100%;
  margin:12px 0 8px;
}
#dictScreen.dict-searching-v70 #dList{
  width:100%;
  margin:0;
}
#dictScreen.dict-searching-v70 .ditem{
  width:100%;
}
#dictScreen.dict-searching-v70 .dict-hero-premium{
  padding-bottom:18px;
}


.st-lang-dock{position:fixed;z-index:20020;top:max(10px,env(safe-area-inset-top));right:12px;display:flex;align-items:center;gap:7px;padding:8px;border:1px solid rgba(249,213,117,.48);border-radius:16px;background:rgba(20,31,47,.95);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.3);font-family:'DM Sans',sans-serif}.st-lang-hint{color:#d7e0ec;font-size:.62rem;font-weight:800;margin:0 4px}.st-lang-dock button,.st-app-lang button{border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#26364a;color:#fff;padding:8px 10px;font:800 .68rem 'DM Sans',sans-serif;cursor:pointer}.st-lang-dock button.on,.st-app-lang button.on{background:linear-gradient(135deg,#ffe58d,#f8c65d);color:#172235;border-color:#fff1a8}.st-app-lang{display:flex;gap:5px;align-items:center}.st-app-lang button{padding:5px 7px;font-size:.58rem}@media(max-width:650px){.st-lang-dock{left:10px;right:10px;top:8px;justify-content:center}.st-lang-hint{font-size:.56rem}.st-lang-dock button{flex:1 1 120px;max-width:160px}.st-lang-dock{flex-wrap:wrap}#englishLandingFrame{padding-top:100px;background:#151f2f}}


#stLangDock,
.st-app-lang,
#stLanguageSettings,
#stLangFr,#stLangEn,#stLangDe,#stLangIt,#stAppFr,#stAppEn,#stAppDe,#stAppIt,#stSettFr,#stSettEn,#stSettDe,#stSettIt{
  pointer-events:auto !important;
  touch-action:manipulation !important;
}
#stLangDock{
  z-index:2147483000 !important;
}
#stLangFr,#stLangEn,#stLangDe,#stLangIt,#stAppFr,#stAppEn,#stAppDe,#stAppIt,#stSettFr,#stSettEn,#stSettDe,#stSettIt{
  position:relative;
  z-index:2147483001 !important;
  cursor:pointer !important;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color:rgba(255,255,255,.12);
}


.st-app-lang{flex-wrap:wrap;justify-content:flex-end;max-width:210px}
.st-settings-lang-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.st-settings-lang-row button{border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#26364a;color:#fff;padding:9px 11px;font:800 .72rem 'DM Sans',sans-serif;cursor:pointer}
.st-settings-lang-row button.on{background:linear-gradient(135deg,#ffe58d,#f8c65d);color:#172235;border-color:#fff1a8}
@media(max-width:650px){.st-app-lang{max-width:174px;gap:4px}.st-app-lang button{padding:4px 6px}.st-settings-lang-row button{flex:1 1 42%}}


#homeScreen .app-brand > span:last-child{
  color:#FFD84D !important;
}
#landingJourneyOverlay .ld-brand{
  color:#FFD84D !important;
}
.journey-story-page .jsp-brand{
  color:#FFD84D !important;
}


#homeScreen{
  padding-top:8px !important;
}
#homeScreen .st-v93-app-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  padding:7px 3px 8px;
}
#homeScreen .st-v93-app-brand{
  color:#FFD84D;
  font-family:'Syne','DM Sans',sans-serif;
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:-.02em;
}
#homeScreen .st-v93-app-langs{
  margin-left:auto;
}
#homeScreen .home-desktop-top .top-row{
  display:none !important;
}
#homeScreen #wordOfDay{
  display:none !important;
}
#homeScreen #cloudStatus{
  display:none !important;
}
#homeScreen .home-desktop-top{
  margin-top:0 !important;
}

@media(min-width:900px){
  #homeScreen .home-desktop-top{
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr) !important;
    grid-template-rows:auto auto !important;
    gap:14px 18px !important;
  }
  #homeScreen .home-desktop-top .objectif-banner{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  #homeScreen .home-desktop-top #learningBanner{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  #homeScreen .home-desktop-top .main-start-btn{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
  }
}
@media(max-width:520px){
  #homeScreen .st-v93-app-header{
    position:relative;
    z-index:2;
    margin-bottom:6px;
  }
  #homeScreen .st-v93-app-brand{
    font-size:.94rem;
  }
  #homeScreen .st-v93-app-langs button{
    padding:5px 6px;
    font-size:.55rem;
  }
}


#wordOfDay,
#stV93PublicWordDay,
.st-v93-wordday-section,
.st-v93-wordday-board,
[class*="wordday"],
[class*="word-of-day"]{
  display:none !important;
}


#homeScreen .home-desktop-top .top-row,
#homeScreen #wordOfDay,
.word-of-day{
  display:none !important;
  background-image:none !important;
}


#homeScreen .st-app-lang,
#settingsScreen .st-app-lang,
#settingsScreen .st-settings-lang,
#settingsScreen [class*="lang-switch"],
#settingsScreen [class*="language-switch"],
#settingsScreen [id*="Lang"],
#homeScreen [id^="stApp"]{
  display:none !important;
}


.st-v97-language-gate{
  position:fixed;
  inset:0;
  z-index:2147483000;
  min-height:100vh;
  min-height:100dvh;
  overflow:auto;
  display:grid;
  place-items:center;
  padding:max(24px,env(safe-area-inset-top)) 20px max(28px,env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 12% 12%,rgba(249,213,117,.13),transparent 24%),
    radial-gradient(circle at 88% 15%,rgba(78,175,168,.16),transparent 25%),
    linear-gradient(145deg,#121b2a 0%,#142334 52%,#0d2027 100%);
  color:#fff;
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.st-v97-gate-bg{
  position:fixed;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.st-v97-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(1px);
  opacity:.75;
}
.st-v97-orb-a{
  width:420px;height:420px;
  right:-180px;top:-190px;
  background:radial-gradient(circle,#f9d57524,transparent 70%);
}
.st-v97-orb-b{
  width:520px;height:520px;
  left:-260px;bottom:-300px;
  background:radial-gradient(circle,#4eb0a827,transparent 70%);
}
.st-v97-star{
  position:absolute;
  color:#f9d575;
  opacity:.25;
  font-size:38px;
}
.st-v97-star-1{top:17%;left:8%}
.st-v97-star-2{right:9%;bottom:14%;font-size:24px}
.st-v97-gate-card{
  position:relative;
  z-index:2;
  width:min(920px,100%);
  padding:42px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:34px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),
    rgba(19,31,47,.88);
  box-shadow:0 32px 90px rgba(0,0,0,.34);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.st-v97-brand-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  margin-bottom:15px;
}
.st-v97-britain-mark{
  width:50px;height:50px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(145deg,#24394a,#172736);
  border:1px solid rgba(249,213,117,.25);
  font-size:25px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.st-v97-brand{
  font-family:'Syne','DM Sans',sans-serif;
  font-size:clamp(31px,5vw,48px);
  line-height:1;
  font-weight:900;
  letter-spacing:-.05em;
  color:#FFD84D;
}
.st-v97-kicker{
  text-align:center;
  color:#f3d77d;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:24px;
}
.st-v97-gate-card h1{
  max-width:720px;
  margin:0 auto;
  text-align:center;
  font-family:'Syne','DM Sans',sans-serif;
  font-size:clamp(30px,5.2vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:900;
  color:#fff;
}
.st-v97-gate-card h1 span{
  display:block;
  margin-top:5px;
  color:#bdc9d7;
  font-size:.43em;
  line-height:1.35;
  letter-spacing:-.01em;
  font-family:'DM Sans',sans-serif;
  font-weight:700;
}
.st-v97-intro{
  max-width:610px;
  margin:20px auto 30px;
  text-align:center;
  color:#aebccc;
  font-size:15px;
  line-height:1.55;
}
.st-v97-language-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  max-width:760px;
  margin:0 auto;
}
.st-v97-language-card{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:14px;
  min-height:112px;
  padding:20px 22px;
  border:1px solid #34465c;
  border-radius:22px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),
    #19283a;
  color:#fff;
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.st-v97-language-card:hover{
  transform:translateY(-3px);
  border-color:#f9d575;
  background:
    linear-gradient(145deg,rgba(249,213,117,.09),rgba(255,255,255,.018)),
    #1c2c3d;
  box-shadow:0 13px 28px rgba(0,0,0,.18);
}
.st-v97-language-card:active{
  transform:scale(.985);
}
.st-v97-flag{
  grid-row:1 / 3;
  width:48px;height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#101b29;
  font-size:25px;
  border:1px solid rgba(255,255,255,.075);
}
.st-v97-lang-name{
  font-family:'Syne','DM Sans',sans-serif;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.025em;
}
.st-v97-lang-action{
  color:#aebccc;
  font-size:12px;
  font-weight:600;
}
.st-v97-arrow{
  grid-column:3;
  grid-row:1 / 3;
  width:34px;height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(249,213,117,.10);
  color:#f9d575;
  font-size:19px;
  font-weight:900;
}
.st-v97-gate-footer{
  margin-top:28px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  color:#8699ad;
  font-size:12px;
  text-align:center;
}

@media(max-width:650px){
  .st-v97-language-gate{
    padding:16px 13px max(18px,env(safe-area-inset-bottom));
    place-items:start center;
  }
  .st-v97-gate-card{
    margin-top:max(8px,env(safe-area-inset-top));
    padding:28px 16px 24px;
    border-radius:27px;
  }
  .st-v97-brand-row{margin-bottom:12px}
  .st-v97-britain-mark{width:43px;height:43px;border-radius:14px;font-size:22px}
  .st-v97-kicker{font-size:10px;margin-bottom:19px}
  .st-v97-gate-card h1{
    font-size:clamp(31px,10vw,44px);
  }
  .st-v97-gate-card h1 span{
    font-size:.38em;
    margin-top:4px;
  }
  .st-v97-intro{
    margin:17px auto 22px;
    font-size:13px;
    padding:0 6px;
  }
  .st-v97-language-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .st-v97-language-card{
    min-height:84px;
    padding:14px 15px;
    border-radius:18px;
  }
  .st-v97-flag{width:43px;height:43px;font-size:22px}
  .st-v97-lang-name{font-size:17px}
  .st-v97-lang-action{font-size:11px}
  .st-v97-gate-footer{margin-top:20px;font-size:11px}
}

#stV98LanguageGate{
  z-index:2147483600 !important;
}
#englishLandingFrame{
  padding-top:0 !important;
  background:#151f2f !important;
}


.st-v100-auth-gate,.st-v100-admin-overlay{
  position:fixed;inset:0;z-index:2147483640;overflow:auto;
  padding:max(18px,env(safe-area-inset-top)) 14px max(22px,env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 10% 4%,rgba(249,213,117,.12),transparent 24%),
    radial-gradient(circle at 90% 8%,rgba(63,169,160,.14),transparent 25%),
    linear-gradient(145deg,#111a29,#142334 56%,#0d2027);
  color:#fff;font-family:'DM Sans',system-ui,sans-serif;
}
.st-v100-auth-shell{
  position:relative;width:min(560px,100%);margin:18px auto;padding:34px;
  border:1px solid rgba(255,255,255,.10);border-radius:30px;
  background:rgba(24,38,55,.94);box-shadow:0 30px 80px rgba(0,0,0,.34);
}
.st-v100-auth-back{
  position:absolute;left:18px;top:18px;width:39px;height:39px;border-radius:50%;
  border:1px solid #3b4e64;background:#142235;color:#fff;font-size:18px;cursor:pointer;
}
.st-v100-auth-brand{text-align:center;color:#FFD84D;font:900 23px 'Syne','DM Sans',sans-serif}
.st-v100-auth-icon{
  width:64px;height:64px;display:grid;place-items:center;margin:22px auto 12px;
  border-radius:21px;background:#1b2c40;border:1px solid rgba(249,213,117,.20);font-size:31px;
}
.st-v100-auth-shell h1,.st-v100-access-state h2{
  margin:0;text-align:center;font:900 clamp(27px,5vw,40px)/1.05 'Syne','DM Sans',sans-serif;letter-spacing:-.04em;
}
.st-v100-auth-shell p{color:#aebccd;line-height:1.55;text-align:center;font-size:14px}
.st-v100-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:25px 0 18px;padding:5px;border-radius:15px;background:#101c2a}
.st-v100-auth-tabs button{border:0;border-radius:11px;background:transparent;color:#95a6b9;padding:11px 9px;font-weight:900;cursor:pointer}
.st-v100-auth-tabs button.on{background:#25384d;color:#FFD84D}
.st-v100-auth-form{display:grid;gap:8px}
.st-v100-auth-form label{font-size:12px;font-weight:800;color:#dce5ee;margin-top:5px}
.st-v100-auth-form input[type=email],
.st-v100-auth-form input[type=text],
.st-v100-auth-form input[type=password]{
  width:100%;padding:13px 14px;border:1px solid #40536a;border-radius:13px;
  background:#101d2c;color:#fff;outline:none;font-size:15px;
}
.st-v100-auth-form input:focus{border-color:#f9d575}
.st-v100-primary{
  min-height:48px;margin-top:8px;border:0;border-radius:13px;padding:12px 16px;
  background:linear-gradient(110deg,#f9d575,#ff9d77);color:#182334;font-weight:900;cursor:pointer;
}
.st-v100-primary:disabled{opacity:.48;cursor:wait}
.st-v100-link{border:0;background:none;color:#f9d575;padding:10px;font-weight:800;cursor:pointer}
.st-v100-check{display:flex!important;align-items:flex-start;gap:9px;margin:7px 0!important;color:#aebccd!important;font-weight:600!important;line-height:1.4}
.st-v100-check input{margin-top:3px}
.st-v100-auth-msg{min-height:20px;margin-top:10px;text-align:center;color:#aebccd;font-size:12px;line-height:1.4}
.st-v100-auth-msg.ok{color:#68dfb8}.st-v100-auth-msg.err{color:#ff8098}
.st-v100-auth-foot{margin-top:18px;padding:11px;border:1px solid rgba(255,255,255,.07);border-radius:12px;color:#8597aa;font-size:10px;line-height:1.45;text-align:center}
.st-v100-config-warning{padding:14px;border:1px solid rgba(255,209,102,.28);border-radius:14px;background:rgba(255,209,102,.07);color:#ffe39a;font-size:12px;line-height:1.5;margin:18px 0}
.st-v100-access-state{padding:15px 2px;text-align:center}
.st-v100-state-icon{font-size:48px;margin:10px 0 14px}
.st-v100-access-state .st-v100-primary{width:100%;margin-top:16px}

.st-v100-profile-account{
  display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:14px;
  border:1px solid var(--brd);border-radius:18px;background:var(--card);
}
.st-v100-profile-avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#101c2a;font-size:21px}
.st-v100-profile-copy{flex:1;min-width:0}
.st-v100-profile-kicker{display:block;color:var(--accent2);font-size:.52rem;font-weight:900;letter-spacing:.10em}
.st-v100-profile-copy strong{display:block;margin-top:2px;font:900 .86rem 'Syne',sans-serif;overflow:hidden;text-overflow:ellipsis}
.st-v100-profile-copy small{display:block;color:var(--muted);font-size:.56rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.st-v100-profile-actions{display:flex;gap:6px;flex-direction:column}
.st-v100-profile-actions button{border:1px solid rgba(255,201,60,.25);border-radius:10px;background:rgba(255,201,60,.07);color:var(--accent2);padding:7px 9px;font-size:.58rem;font-weight:800;cursor:pointer}

.st-v100-admin-overlay{z-index:2147483645}
.st-v100-admin-shell{width:min(1050px,100%);margin:10px auto;padding:26px;border:1px solid rgba(255,255,255,.10);border-radius:28px;background:#152438}
.st-v100-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.st-v100-admin-head span{color:#FFD84D;font-size:10px;font-weight:900;letter-spacing:.14em}
.st-v100-admin-head h2{margin:4px 0 0;font:900 clamp(27px,4vw,40px) 'Syne',sans-serif}
.st-v100-admin-head>button{width:40px;height:40px;border-radius:50%;border:1px solid #3b4e64;background:#101d2d;color:#fff;cursor:pointer}
.st-v100-admin-note{color:#9eb0c2;line-height:1.5;font-size:13px}
.st-v100-admin-tools{display:flex;gap:8px;margin:18px 0}
.st-v100-admin-tools button,.st-v100-admin-tools select{border:1px solid #3d5167;background:#101e2e;color:#fff;border-radius:11px;padding:9px 12px;font-weight:800}
.st-v100-admin-list{display:grid;gap:10px}
.st-v100-admin-user{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(110px,.7fr) minmax(260px,1.4fr);gap:12px;align-items:center;padding:14px;border:1px solid #31465c;border-radius:16px;background:#17283b}
.st-v100-admin-user strong{display:block}
.st-v100-admin-user small{display:block;color:#91a5b8;margin-top:3px;font-size:11px}
.st-v100-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;background:#24384c}
.st-v100-status.active{color:#70e7bd}.st-v100-status.pending{color:#ffd879}.st-v100-status.blocked,.st-v100-status.expired{color:#ff839a}
.st-v100-admin-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.st-v100-admin-actions button{border:1px solid #40566e;background:#101e2e;color:#dce6ef;border-radius:9px;padding:7px 8px;font-size:10px;font-weight:800;cursor:pointer}
.st-v100-admin-actions button.good{border-color:#3b806b;color:#73e1bd}
.st-v100-admin-actions button.bad{border-color:#774352;color:#ff92a7}

@media(max-width:680px){
  .st-v100-auth-shell{margin:3px auto;padding:28px 15px 22px;border-radius:24px}
  .st-v100-auth-back{left:11px;top:11px}
  .st-v100-admin-shell{padding:17px 12px}
  .st-v100-admin-user{grid-template-columns:1fr}
  .st-v100-admin-actions{justify-content:flex-start}
}


.st-v101-trial-banner{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 13px;
  padding:12px 13px;
  border:1px solid rgba(255,216,77,.24);
  border-radius:17px;
  background:
    linear-gradient(135deg,rgba(255,216,77,.075),rgba(45,212,167,.035)),
    var(--card);
}
.st-v101-trial-badge{
  flex:none;
  border-radius:999px;
  padding:6px 8px;
  background:#FFD84D;
  color:#182334;
  font-size:.53rem;
  font-weight:900;
  letter-spacing:.07em;
}
.st-v101-trial-copy{
  flex:1;
  min-width:0;
}
.st-v101-trial-copy strong{
  display:block;
  color:var(--text);
  font-family:'Syne',sans-serif;
  font-size:.73rem;
}
.st-v101-trial-copy span{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.57rem;
}
.st-v101-trial-lock{
  flex:none;
  font-size:1.1rem;
}

#conversationGrid .conv-card.st-v101-conv-locked{
  position:relative;
  opacity:.57;
  filter:saturate(.45);
}
#conversationGrid .conv-card.st-v101-conv-locked::after{
  content:'🔒';
  position:absolute;
  right:10px;
  top:10px;
  width:27px;height:27px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(9,15,26,.88);
  border:1px solid rgba(255,255,255,.14);
  font-size:.72rem;
}
#conversationGrid .conv-card.st-v101-conv-free{
  border-color:rgba(255,216,77,.33);
}
.st-v101-conv-free-badge{
  display:inline-flex;
  margin-top:7px;
  border-radius:999px;
  padding:3px 6px;
  background:rgba(255,216,77,.10);
  color:#FFD84D;
  font-size:.48rem;
  font-weight:900;
}

.st-v101-dict-info,
.st-v101-dict-locked{
  margin:10px 0;
  padding:12px 13px;
  border-radius:14px;
  border:1px solid rgba(255,216,77,.18);
  background:rgba(255,216,77,.045);
  color:var(--muted);
  font-size:.67rem;
  line-height:1.45;
}
.st-v101-dict-locked{
  text-align:center;
  padding:22px 14px;
}
.st-v101-dict-locked b{
  display:block;
  color:var(--text);
  font-size:.82rem;
  margin-bottom:5px;
}

.st-v101-trial-lock-overlay{
  position:fixed;
  inset:0;
  z-index:2147483646;
  display:none;
  place-items:center;
  padding:20px;
  background:rgba(7,12,20,.82);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.st-v101-trial-lock-card{
  position:relative;
  width:min(490px,100%);
  padding:31px 24px 24px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:27px;
  background:
    radial-gradient(circle at 50% 0,rgba(255,216,77,.10),transparent 38%),
    #172639;
  color:#fff;
  text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,.38);
}
.st-v101-trial-close-x{
  position:absolute;
  right:13px;top:13px;
  width:35px;height:35px;
  border-radius:50%;
  border:1px solid #40536a;
  background:#101d2c;
  color:#fff;
  cursor:pointer;
}
.st-v101-trial-lock-icon{
  font-size:44px;
  margin-bottom:8px;
}
.st-v101-trial-lock-badge{
  display:inline-flex;
  border-radius:999px;
  padding:5px 9px;
  background:#FFD84D;
  color:#182334;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.08em;
}
.st-v101-trial-lock-card h2{
  margin:14px 0 8px;
  font:900 clamp(23px,5vw,32px)/1.08 'Syne',sans-serif;
  letter-spacing:-.035em;
}
.st-v101-trial-lock-card p{
  color:#aebccd;
  font-size:.78rem;
  line-height:1.5;
  margin:0 auto 18px;
  max-width:390px;
}
.st-v101-trial-includes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin:17px 0;
}
.st-v101-trial-includes div{
  padding:11px 7px;
  border:1px solid #32465c;
  border-radius:14px;
  background:#111f30;
}
.st-v101-trial-includes span{
  display:block;
  font-size:1.2rem;
  margin-bottom:4px;
}
.st-v101-trial-includes b{
  display:block;
  font-size:.59rem;
  color:#dce5ee;
}
.st-v101-trial-close{
  width:100%;
  min-height:47px;
  margin-top:4px;
  border:0;
  border-radius:13px;
  background:linear-gradient(110deg,#f9d575,#ff9d77);
  color:#182334;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:480px){
  .st-v101-trial-includes{grid-template-columns:1fr}
  .st-v101-trial-includes div{display:flex;align-items:center;gap:8px;text-align:left}
  .st-v101-trial-includes span{margin:0}
}


body:not(.is-editor) .st-admin-content-only,
body:not(.is-editor) .cat-add-word-btn,
body:not(.is-editor) .dict-add-missing-v69,
body:not(.is-editor) #aiScreen,
body:not(.is-editor) #conversationAdminScreen,
body:not(.is-editor) #editModal,
body:not(.is-editor) #phraseAdminModal,
body:not(.is-editor) #editPhraseModal,
body:not(.is-editor) #singlePhraseModal{
  display:none !important;
}

.st-v102-legacy-admin-disabled{
  display:none !important;
}

body.is-editor .st-admin-content-only{
}
body.is-editor .cat-add-word-btn,
body.is-editor .dict-add-missing-v69{
  display:block;
}

.st-v102-readonly-note{
  margin:10px 0;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:var(--muted);
  font-size:.62rem;
  line-height:1.45;
}


.st-v104-home-admin-btn{
  width:100%;
  margin:0 0 12px;
  padding:12px 15px;
  border-radius:14px;
  border:1px solid rgba(255,216,77,.35);
  background:linear-gradient(135deg,rgba(255,216,77,.13),rgba(255,120,73,.08));
  color:#FFD84D;
  font-family:'Syne',sans-serif;
  font-size:.72rem;
  font-weight:900;
  cursor:pointer;
}
.st-v104-admin-badge{
  margin-left:auto;
  padding:5px 8px;
  border-radius:999px;
  background:#FFD84D;
  color:#182334;
  font-size:.5rem;
  font-weight:900;
  letter-spacing:.08em;
}
.st-v104-admin-desc{
  color:var(--muted);
  font-size:.65rem;
  line-height:1.45;
  margin:4px 0 10px;
}
.st-v104-admin-main-btn{
  width:100%;
  min-height:43px;
  border-radius:11px;
  border:1px solid rgba(255,216,77,.28);
  background:rgba(255,216,77,.08);
  color:#FFD84D;
  font-family:'Syne',sans-serif;
  font-size:.68rem;
  font-weight:900;
  cursor:pointer;
}

body:not(.is-editor) .st-v104-admin-entry{
  display:none !important;
}


.st-v113-wordrush-inline{margin-top:5px;cursor:pointer;user-select:none}
.st-v113-wordrush-inline:hover span{color:var(--accent2)}
.st-v113-trial-remain{font-weight:800;color:var(--accent2)}


.st-v117-global-nav{
  position:fixed;
  top:max(10px,env(safe-area-inset-top));
  right:12px;
  z-index:19990;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  pointer-events:auto;
}
.st-v116-nav-btn{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:11px;
  background:#1a2a3c;
  color:#dce5ee;
  font:800 .62rem 'DM Sans',sans-serif;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .16s ease,color .18s ease;
  -webkit-tap-highlight-color:transparent;
  box-shadow:0 7px 20px rgba(0,0,0,.18);
}
.st-v116-nav-btn:hover{
  border-color:rgba(249,213,117,.52);
  background:#213449;
  color:#fff3cf;
  transform:translateY(-1px);
}
.st-v116-nav-btn:active{transform:scale(.97);}
.st-v116-logout-btn{
  border-color:rgba(255,128,152,.23);
  color:#ffc1cd;
  background:rgba(108,34,53,.88);
}
.st-v116-logout-btn:hover{
  border-color:rgba(255,128,152,.55);
  background:rgba(108,34,53,.96);
  color:#ffe4e9;
}
@media(max-width:650px){
  .st-v117-global-nav{
    top:max(7px,env(safe-area-inset-top));
    left:8px;
    right:8px;
    justify-content:flex-end;
    gap:5px;
  }
  .st-v116-nav-btn{min-height:34px;padding:7px 8px;font-size:.56rem;}
}


#homeScreen .objectif-wordrush-reminder{
  width:100%;margin-top:8px;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(241,213,144,.34);background:rgba(10,18,32,.42);
  color:#f8e9bd;font:800 .72rem/1.15 'Syne',system-ui,sans-serif;cursor:pointer;
  transition:.18s ease;letter-spacing:.01em
}
#homeScreen .objectif-wordrush-reminder:hover{background:rgba(241,213,144,.12);border-color:rgba(241,213,144,.65);transform:translateY(-1px)}
#homeScreen .objectif-wordrush-reminder.on{border-color:rgba(126,226,170,.55);color:#a9f0c8;background:rgba(45,160,105,.09)}
#homeScreen .objectif-wordrush-reminder:disabled{opacity:.62;cursor:default;transform:none}


#gameHubScreen{padding:18px 0 105px}
#gameHubScreen .game-hub-head{padding:4px 4px 14px}
#gameHubScreen .game-hub-kicker{font-size:.62rem;font-weight:900;letter-spacing:.18em;color:var(--accent2);margin:14px 0 5px}
#gameHubScreen h2{font-family:'Syne',sans-serif;font-size:1.55rem;margin:0 0 8px}
#gameHubScreen .game-hub-head p{font-size:.78rem;line-height:1.5;color:var(--muted);margin:0 0 12px}
#gameHubScreen .game-hub-hearts{font-size:1.35rem;letter-spacing:2px;margin-top:8px}
#gameHubScreen .game-hub-heart-note{font-size:.7rem;color:var(--muted);font-weight:800;margin-top:4px}
#gameHubScreen .game-hub-grid{margin-top:10px}
#gameHubScreen .game-hub-wordrush-note{margin:14px 2px 0;padding:12px 13px;border:1px solid rgba(255,214,10,.22);border-radius:14px;background:rgba(255,214,10,.06);color:var(--muted);font-size:.7rem;line-height:1.45}
#gameHubScreen .game-hub-wordrush-note b{color:var(--accent2)}
#gameHubScreen .pronunciation-game-card{border-color:rgba(6,214,160,.28);background:rgba(6,214,160,.045)}
#gameHubScreen .pronunciation-game-card .jeu-nom{color:var(--ok)}
#yehlaGameScreen .pron-game-word{font-family:'Syne',sans-serif;font-size:1.55rem;font-weight:900;margin:12px 0 5px}
#yehlaGameScreen .pron-game-model{font-size:1rem;font-weight:800;color:var(--accent2);margin:4px 0 12px}
#yehlaGameScreen .pron-game-heard{min-height:24px;margin-top:11px;color:var(--muted);font-size:.75rem}
#yehlaGameScreen .pron-game-score{font-size:.66rem;color:var(--muted);margin-top:10px}
.nav .nb{min-width:0;padding-left:1px;padding-right:1px;font-size:.52rem}
.nav .ni{font-size:1.08rem}
@media(max-width:380px){.nav .nb{font-size:.48rem}.nav .ni{font-size:1rem}}


#stLangFr,#stLangEn,#stLangDe,#stLangIt,
#stAppFr,#stAppEn,#stAppDe,#stAppIt,
#stSettFr,#stSettEn,#stSettDe,#stSettIt,
.st-language-switch,.language-switch,.st-lang-switch{
  display:none !important;
}

