/* Askaci v50 - premium dark mobile redesign */
:root{
  --bg:#050713; --bg-2:#080B18; --surface:rgba(18,22,38,.82); --surface-2:rgba(28,34,56,.72);
  --glass:rgba(255,255,255,.065); --line:rgba(255,255,255,.10); --line-strong:rgba(255,255,255,.18);
  --text:#F7F8FF; --text-soft:#C2C7D6; --muted:#7F879B;
  --navy:#F7F8FF; --blue:#7B5CFF; --blue-strong:#5A3DF0; --blue-soft:rgba(123,92,255,.18); --blue-tint:rgba(123,92,255,.10);
  --gold:#FFD21E; --gold-2:#F5B700; --gold-soft:rgba(255,210,30,.16);
  --good:#35D399; --good-bg:rgba(53,211,153,.12); --warn:#FFD166; --warn-bg:rgba(255,209,102,.12); --bad:#FF5C7A; --bad-bg:rgba(255,92,122,.12);
  --r-xs:10px; --r-sm:16px; --r:20px; --r-lg:26px; --r-xl:32px; --pill:999px; --safe-b:env(safe-area-inset-bottom); --nav-h:82px;
  --shadow-sm:0 4px 14px rgba(0,0,0,.22); --shadow:0 18px 45px rgba(0,0,0,.32); --shadow-lg:0 30px 80px rgba(0,0,0,.48); --ring:0 0 0 4px rgba(255,210,30,.22);
  --primary:var(--blue); --border:var(--line); --card:var(--surface); --txt:var(--text); --mut:var(--muted); --cyan:var(--blue);
}
html{background:#050713!important;color-scheme:dark;}
body{margin:0!important;font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;color:var(--text)!important;background:radial-gradient(700px 420px at 78% -8%, rgba(123,92,255,.28), transparent 62%),radial-gradient(620px 380px at 4% 10%, rgba(255,210,30,.10), transparent 58%),radial-gradient(800px 540px at 50% 118%, rgba(40,80,255,.16), transparent 65%),linear-gradient(180deg,#050713 0%,#070A16 52%,#050713 100%)!important;background-attachment:fixed!important;min-height:100vh!important;padding-bottom:calc(var(--nav-h) + var(--safe-b) + 18px)!important;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.035) 38%, transparent 58%),radial-gradient(circle at 50% 0%, rgba(255,255,255,.06), transparent 42%);mix-blend-mode:screen;opacity:.65;z-index:-1;}
#app{width:min(640px,100%);margin:auto;padding:18px 16px 28px;box-sizing:border-box;}
h1,h2,h3,.section-title{color:var(--text)!important;letter-spacing:-.035em;font-weight:800;}
p,.muted,.fineprint,.page-head p,small{color:var(--text-soft);}
.brand-logo,.auth-logo,img[src*="askaci-logo"]{filter:brightness(0) invert(1) contrast(1.05);}
.nav{position:fixed!important;left:50%!important;right:auto!important;bottom:calc(10px + var(--safe-b))!important;top:auto!important;transform:translateX(-50%)!important;width:min(430px,calc(100% - 22px))!important;height:72px!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:4px!important;padding:7px!important;border-radius:28px!important;z-index:999!important;background:rgba(10,13,24,.78)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 20px 55px rgba(0,0,0,.48)!important;backdrop-filter:saturate(170%) blur(24px)!important;-webkit-backdrop-filter:saturate(170%) blur(24px)!important;box-sizing:border-box!important;}
.nav button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;border:0!important;border-radius:22px!important;background:transparent!important;color:rgba(255,255,255,.52)!important;font-size:11px!important;font-weight:800!important;padding:0!important;transition:transform .16s ease,color .16s ease,background .16s ease!important;min-width:0!important;}
.nav button.active{color:var(--gold)!important;background:linear-gradient(180deg,rgba(255,210,30,.16),rgba(255,210,30,.06))!important;}
.nav button.active .ic{filter:drop-shadow(0 0 10px rgba(255,210,30,.42));}
.nav .ic{font-size:21px!important;line-height:1!important;display:block!important;}
body.quiz-open .nav{display:none!important;}
.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:46px!important;padding:12px 18px!important;border-radius:16px!important;font-weight:850!important;font-size:14px!important;color:var(--text)!important;background:rgba(255,255,255,.07)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-sm)!important;transition:transform .12s ease,box-shadow .16s ease,background .16s ease!important;}
.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(180deg,var(--gold),var(--gold-2))!important;color:#101010!important;border-color:rgba(255,255,255,.22)!important;box-shadow:0 12px 30px rgba(255,210,30,.20)!important}.btn.wide{width:100%!important}.btn:disabled{opacity:.55!important}.card,.glass-panel,.glass-card,.stat-card,.feature,.quiz-type,.alpha-card,.phrase-new,.deck-new,.level-card,.plan-card,.billing-hero-card{background:rgba(255,255,255,.06)!important;border:1px solid var(--line)!important;border-radius:26px!important;box-shadow:var(--shadow)!important;color:var(--text)!important}.card b,.deck-new b,.quiz-type b,.alpha-card b,.phrase-new b,.level-card h2{color:var(--text)!important}.deck-new small,.quiz-type span,.level-card p,.phrase-new small,.phrase-new span{color:var(--text-soft)!important}input,select,textarea{background:rgba(255,255,255,.07)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:16px!important}input::placeholder,textarea::placeholder{color:rgba(255,255,255,.38)!important}.page-head{margin:4px 0 16px}.page-head h1{font-size:clamp(34px,9vw,48px);line-height:1.02}.page-head p{margin:8px 0 0;font-size:15px}.home-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:6px 0 18px}.home-top .brand-logo{width:118px;height:auto;object-fit:contain}.home-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line);font-weight:900;box-shadow:var(--shadow-sm)}.home-hero-card{position:relative;overflow:hidden;padding:22px;border-radius:32px;background:radial-gradient(420px 240px at 94% 8%, rgba(255,210,30,.12), transparent 62%),radial-gradient(360px 260px at 0% 100%, rgba(123,92,255,.24), transparent 64%),rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow-lg)}.home-hero-card::after{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.08) 45%,transparent 68%);opacity:.5}.hello-line{margin:0 0 8px;color:var(--text);font-weight:900;font-size:22px}.home-hero-card h1{font-size:clamp(30px,8vw,44px);line-height:1.02;margin:0}.hero-sub{color:var(--text-soft);margin:8px 0 20px}.progress-focus{display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:center;margin-top:10px}.progress-ring{--p:0;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#0B0E1B 0 58%,transparent 59%),conic-gradient(var(--blue) calc(var(--p) * 1%),rgba(255,255,255,.10) 0);box-shadow:inset 0 0 30px rgba(123,92,255,.16),0 10px 30px rgba(0,0,0,.28)}.progress-ring span{font-size:27px;font-weight:950;color:var(--text);letter-spacing:-.04em}.progress-copy strong{display:block;color:var(--text);font-size:20px;font-weight:950}.progress-copy small{display:block;color:var(--text-soft);margin-top:2px}.progress-copy em{display:block;color:var(--text-soft);font-style:normal;font-size:12px;text-align:right;margin-top:7px}.mini-progress{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.10);margin-top:12px}.mini-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),#9E8CFF)}.glass-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:16px}.glass-card b{display:block;color:var(--text)}.glass-card span{display:block;color:var(--text-soft);font-size:13px;margin-top:2px}.quick-actions{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px;margin:16px 0 22px}.action-card{min-height:104px;text-align:left;border-radius:24px;padding:15px;background:rgba(255,255,255,.065);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--text)}.action-card span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:12px;margin-bottom:10px;background:rgba(255,255,255,.08)}.action-card b{display:block;font-size:14px;color:var(--text)}.action-card small{display:block;color:var(--text-soft);font-size:11px;line-height:1.35;margin-top:3px}.primary-action{background:linear-gradient(180deg,rgba(255,210,30,.20),rgba(255,210,30,.07));border-color:rgba(255,210,30,.22)}.primary-action span{background:var(--gold);color:#111}.section-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.section-row h2{font-size:20px;margin:0}.section-row button{color:var(--gold);font-size:13px;font-weight:900;background:transparent;border:0}.recommended-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-tile{min-height:172px;text-align:left;padding:16px;border-radius:26px;color:#101426;background:linear-gradient(180deg,#DDEEFF,#C9DBF7);box-shadow:0 16px 34px rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.30)}.lesson-tile:nth-child(2){background:linear-gradient(180deg,#E5F1FF,#CFDDF4)}.tile-emoji{display:block;font-size:34px;margin-bottom:14px}.lesson-tile small{display:block;color:rgba(16,20,38,.72)!important;font-weight:850;font-size:12px;margin-bottom:5px}.lesson-tile b{display:block;color:#101426!important;font-size:16px;line-height:1.18}.lesson-tile i{display:flex;gap:4px;margin-top:18px;font-style:normal}.lesson-tile i em{width:8px;height:8px;border-radius:50%;background:rgba(16,20,38,.18)}.lesson-tile i em:first-child{background:#4DB6AC}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.stats-strip div{padding:14px 10px;text-align:center;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid var(--line)}.stats-strip strong{display:block;color:var(--text);font-size:16px;font-weight:950}.stats-strip span{display:block;color:var(--text-soft);font-size:11px;margin-top:2px}.glass-panel,.course-hero{padding:18px;border-radius:28px;background:rgba(255,255,255,.06);border:1px solid var(--line);box-shadow:var(--shadow)}.eyebrow{display:inline-flex;color:var(--gold);font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.course-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0}.course-hero h2{font-size:22px;margin:0}.course-hero p{color:var(--text-soft);margin:6px 0 0}.course-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 22px}.course-shortcuts button,.v54-mode-card{appearance:none;text-align:left;padding:16px;border-radius:24px;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text);box-shadow:var(--shadow-sm)}.course-shortcuts span,.v54-mode-card span{display:grid;place-items:center;width:38px;height:38px;border-radius:15px;background:rgba(123,92,255,.18);color:var(--text);margin-bottom:10px;font-size:20px;font-weight:950}.course-shortcuts b,.v54-mode-card b{display:block;color:var(--text);font-size:15px}.course-shortcuts small,.v54-mode-card small{display:block;color:var(--text-soft);font-size:12px;margin-top:2px}.v54-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}.v50-panel-title{display:flex;align-items:end;justify-content:space-between;margin:18px 0 10px}.v50-panel-title h2{margin:0;font-size:20px}.v50-panel-title small{color:var(--text-soft)}.deck-list{display:grid;gap:10px}.deck-new{border-radius:22px!important;padding:14px!important}.level-card{padding:16px!important;margin:14px 0!important}.level-head{align-items:flex-start!important}.level-code{color:var(--gold)!important;background:rgba(255,210,30,.13)!important;border:1px solid rgba(255,210,30,.20)!important}.filterbar{display:flex;gap:8px;overflow:auto;padding:0 0 8px}.chip{border-radius:999px;background:rgba(255,255,255,.06)!important;color:var(--text-soft)!important;border:1px solid var(--line)!important}.chip.on{background:rgba(255,210,30,.16)!important;color:var(--gold)!important;border-color:rgba(255,210,30,.25)!important}.phrase-list,.alphabet-grid,.grammar-list{display:grid;gap:10px}.alphabet-grid{grid-template-columns:repeat(auto-fit,minmax(82px,1fr))}.alpha-card{padding:14px}.alpha-card b{font-size:32px!important}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.quiz-shell,.result{color:var(--text)!important}.question-card{background:rgba(255,255,255,.07)!important;border:1px solid var(--line)!important;color:var(--text)!important;border-radius:30px!important}.option{background:rgba(255,255,255,.07)!important;color:var(--text)!important;border:1px solid var(--line)!important}.option.right{background:var(--good-bg)!important;border-color:rgba(53,211,153,.45)!important}.option.wrong{background:var(--bad-bg)!important;border-color:rgba(255,92,122,.45)!important}.x{background:rgba(255,255,255,.09)!important;color:var(--text)!important;border:1px solid var(--line)!important}.dash-stat,.level-prog,.missed-item,.progression-card{background:rgba(255,255,255,.06)!important;border:1px solid var(--line)!important;color:var(--text)!important}.dash-stat strong,.level-prog-head,.missed-item b{color:var(--text)!important}@media(max-width:370px){.progress-focus{grid-template-columns:96px 1fr}.progress-ring{width:96px;height:96px}.quick-actions,.v54-modes{grid-template-columns:1fr}.course-hero{display:block}.course-hero .btn{margin-top:14px;width:100%}}@media(min-width:720px){#app{padding-top:28px}.nav{bottom:18px!important}}


/* ===== Askaci v50 - finition Revolut/iOS : sobriété, fluidité, densité maîtrisée ===== */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
button{font-family:inherit;cursor:pointer;touch-action:manipulation;}
@media (hover:hover){button:hover{transform:translateY(-1px);} .nav button:hover{transform:none;background:rgba(255,255,255,.045)!important;} .lesson-tile:hover,.action-card:hover,.course-shortcuts button:hover,.v54-mode-card:hover{box-shadow:0 18px 42px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.08) inset;}}
@media (prefers-reduced-motion:no-preference){
  #app>section,#app>header,.home-hero-card,.course-hero,.card{animation:v50FadeUp .26s cubic-bezier(.2,.8,.2,1) both;}
  .progress-ring{animation:v50Pop .32s cubic-bezier(.2,.8,.2,1) both;}
  @keyframes v50FadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  @keyframes v50Pop{from{opacity:.65;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
}
body{overflow-x:hidden;}
#app{min-height:calc(100vh - var(--nav-h));}
.app-home,.courses-head,.page-head{position:relative;}
.app-home::before,.courses-head::before{content:"";position:absolute;right:-70px;top:-70px;width:180px;height:180px;border-radius:999px;background:rgba(255,210,30,.08);filter:blur(28px);pointer-events:none;}
.home-top{position:sticky;top:0;z-index:20;padding:4px 0 6px;background:linear-gradient(180deg,rgba(5,7,19,.96),rgba(5,7,19,.74) 65%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.home-avatar,.nav,.glass-card,.glass-panel,.course-hero,.action-card,.lesson-tile,.card,.course-shortcuts button,.v54-mode-card{will-change:transform;}
.home-hero-card{min-height:245px;display:flex;flex-direction:column;justify-content:space-between;}
.home-hero-card h1{max-width:9ch;}
.progress-focus{position:relative;z-index:1;}
.progress-ring{background:radial-gradient(circle at center,#080B18 0 57%,transparent 58%),conic-gradient(from 210deg,#7B5CFF calc(var(--p) * 1%),rgba(255,255,255,.12) 0)!important;}
.progress-ring::after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;box-shadow:0 0 40px rgba(123,92,255,.18) inset;pointer-events:none;}
.quick-actions{align-items:stretch;}
.action-card{position:relative;overflow:hidden;}
.action-card::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 42%);opacity:.55;pointer-events:none;}
.action-card>*{position:relative;z-index:1;}
.lesson-tile{position:relative;overflow:hidden;min-height:178px;}
.lesson-tile::after{content:"";position:absolute;right:-36px;top:-36px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.38);filter:blur(18px);pointer-events:none;}
.lesson-tile:active,.action-card:active,.course-shortcuts button:active,.v54-mode-card:active,.home-avatar:active{transform:scale(.985);}
.stats-strip div,.dash-stat{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.course-hero{background:radial-gradient(260px 160px at 100% 0%,rgba(255,210,30,.11),transparent 60%),rgba(255,255,255,.06)!important;}
.course-shortcuts button,.v54-mode-card{min-height:116px;}
.course-shortcuts span,.v54-mode-card span{background:linear-gradient(180deg,rgba(123,92,255,.23),rgba(123,92,255,.11));border:1px solid rgba(255,255,255,.08);}
.v50-section-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:6px;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid var(--line);margin:0 0 16px;}
.v50-section-switch button{min-height:42px;border:0;border-radius:16px;background:transparent;color:var(--text-soft);font-weight:850;}
.v50-section-switch button.is-active{background:rgba(255,210,30,.16);color:var(--gold);}
.level-card{overflow:hidden;position:relative;}
.level-card::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);}
.deck-new,.phrase-new,.alpha-card{transition:transform .16s ease, border-color .16s ease, background .16s ease;}
.deck-new:active,.phrase-new:active,.alpha-card:active{transform:scale(.99);}
.alpha-card em{display:block;margin-top:8px;color:var(--gold)!important;font-style:normal;font-size:11px;letter-spacing:.02em;}
.gram{border-radius:20px;background:rgba(255,255,255,.055);border:1px solid var(--line);padding:12px 14px;color:var(--text);}
.gram summary{font-weight:850;color:var(--text);}
.gram p{margin:8px 0 0;color:var(--text-soft);}
.result{padding-bottom:24px;}
.quiz-shell{min-height:calc(100vh - 28px);}
.question-card h1,.question-card h2,.question-card b{color:var(--text)!important;}
.option{min-height:54px;border-radius:18px!important;font-weight:800;}
.auth-screen #app{display:grid;place-items:center;min-height:100vh;padding-bottom:28px;}
.auth-screen .auth-card,.auth-screen .card,.auth-wrap,.login-card{max-width:430px;width:100%;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:var(--shadow-lg)!important;border-radius:30px!important;}
.auth-screen .brand-logo,.auth-screen img[src*="askaci-logo"]{max-width:142px;}
.plan-card{overflow:hidden;}
.plan-card.recommended,.plan-card.best{border-color:rgba(255,210,30,.32)!important;box-shadow:0 22px 54px rgba(255,210,30,.10),var(--shadow)!important;}
.nav{padding-bottom:max(7px,calc(7px + env(safe-area-inset-bottom)*0))!important;}
.nav button span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
body:not(.auth-screen) .nav{display:grid!important;} body.quiz-open .nav{display:none!important;}
@media(max-width:420px){#app{padding-left:14px;padding-right:14px}.home-hero-card{padding:20px}.recommended-grid{gap:10px}.lesson-tile{padding:15px}.nav{height:70px!important;border-radius:27px!important}.nav .ic{font-size:20px!important}}
@media(max-width:340px){.recommended-grid,.course-shortcuts{grid-template-columns:1fr}.stats-strip{grid-template-columns:1fr}.home-hero-card h1{max-width:none}.progress-focus{grid-template-columns:1fr}.progress-ring{margin:auto}.progress-copy em{text-align:left}}

/* v50.1 - nav always above lesson/cards, no click interception */
.nav{z-index:2147483000!important;isolation:isolate!important;pointer-events:auto!important;}
.nav *{pointer-events:auto!important;}
#app{position:relative;z-index:1;}
.onb-overlay,#notifOnb,#celebrate{z-index:2147483001!important;}

/* v50.2 - bottom bar pinned to the visual viewport on iOS/PWA/headless mobile */
.nav{top:calc(100dvh - 72px - var(--safe-b) - 10px)!important;bottom:auto!important;}
@supports not (height:100dvh){.nav{top:auto!important;bottom:calc(10px + var(--safe-b))!important;}}

/* ===== Askaci v52 - micro-interactions premium + logo fondu ===== */
:root{--v54-ease:cubic-bezier(.2,.8,.2,1);--v54-spring:cubic-bezier(.18,.89,.32,1.28);}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth;}
  #app.v54-enter>*{animation:v52PageIn .34s var(--v54-ease) both;}
  .v54-stagger{animation:v52StaggerIn .38s var(--v54-ease) both;animation-delay:var(--v54-delay,0ms);}
  @keyframes v52PageIn{from{opacity:0;transform:translateY(8px) scale(.995);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
  @keyframes v52StaggerIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
  .nav button.active .ic{animation:v52NavPop .24s var(--v54-spring) both;}
  @keyframes v52NavPop{0%{transform:scale(.86)}70%{transform:scale(1.12)}100%{transform:scale(1)}}
  .progress-ring span{animation:v52NumberPulse .42s var(--v54-ease) both;}
  @keyframes v52NumberPulse{from{opacity:.4;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
}
.brand-logo,
.auth-screen img[src*="askaci-logo"],
img[src*="askaci-logo-wide"]{
  filter:none!important;
  opacity:.9;
  mix-blend-mode:normal;
  transition:opacity .22s ease, transform .22s ease, filter .22s ease;
}
.home-top .brand-logo{width:112px;opacity:.92;}
.auth-screen img[src*="askaci-logo"]{opacity:.78;}
@media(hover:hover){.brand-logo:hover{opacity:.9;transform:translateY(-1px)}}
.home-top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);opacity:.75;}
.nav{transition:transform .24s var(--v54-ease),opacity .24s var(--v54-ease),background .22s ease,box-shadow .22s ease!important;}
body.v54-scroll-down .nav{transform:translateX(-50%) translateY(7px) scale(.985)!important;opacity:.92;}
.nav button{position:relative;overflow:hidden;transition:color .18s ease,background .18s ease,transform .18s var(--v54-ease)!important;}
.nav button::before{content:"";position:absolute;inset:7px;border-radius:18px;background:radial-gradient(circle at 50% 15%,rgba(255,210,30,.26),transparent 62%);opacity:0;transition:opacity .18s ease;}
.nav button.active::before{opacity:1;}
.nav button>*{position:relative;z-index:1;}
.btn,.action-card,.lesson-tile,.course-shortcuts button,.v54-mode-card,.deck-new,.phrase-new,.alpha-card,.home-avatar,.chip,.option{position:relative;overflow:hidden;transition:transform .18s var(--v54-ease),border-color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease!important;}
@media(hover:hover){
  .btn:hover,.action-card:hover,.course-shortcuts button:hover,.v54-mode-card:hover,.deck-new:hover,.phrase-new:hover,.alpha-card:hover,.option:hover{transform:translateY(-2px);}
  .lesson-tile:hover{transform:translateY(-3px) rotateX(.5deg);}
  .chip:hover{border-color:rgba(255,210,30,.24)!important;color:var(--text)!important;}
}
.v54-press{transform:scale(.975)!important;}
.v54-ripple{position:absolute;border-radius:50%;pointer-events:none;width:12px;height:12px;left:var(--x);top:var(--y);background:rgba(255,255,255,.34);transform:translate(-50%,-50%) scale(1);opacity:.52;animation:v52Ripple .52s ease-out forwards;z-index:3;}
@keyframes v52Ripple{to{transform:translate(-50%,-50%) scale(22);opacity:0}}
.primary-action .v54-ripple,.btn.primary .v54-ripple,.nav button.active .v54-ripple{background:rgba(255,210,30,.38);}
.home-hero-card{transition:transform .22s var(--v54-ease),box-shadow .22s ease;}
@media(hover:hover){.home-hero-card:hover{transform:translateY(-2px);box-shadow:0 34px 90px rgba(0,0,0,.54)!important;}}
.home-hero-card::before{content:"";position:absolute;inset:-2px;background:radial-gradient(260px 180px at var(--mx,80%) var(--my,20%),rgba(255,255,255,.11),transparent 58%);opacity:.58;pointer-events:none;transition:opacity .2s ease;}
.home-hero-card>*{position:relative;z-index:1;}
.progress-ring{position:relative;transition:filter .24s ease,transform .24s var(--v54-ease);}
.progress-ring.v54-pulse{filter:drop-shadow(0 0 18px rgba(123,92,255,.34));transform:scale(1.025);}
.mini-progress i{transition:width .7s var(--v54-ease);}
.lesson-tile i em{transition:transform .22s var(--v54-ease),background .22s ease;}
.lesson-tile:hover i em:nth-child(1){transform:translateY(-2px)}
.lesson-tile:hover i em:nth-child(2){transform:translateY(-2px);transition-delay:.03s}
.lesson-tile:hover i em:nth-child(3){transform:translateY(-2px);transition-delay:.06s}
.lesson-tile:hover i em:nth-child(4){transform:translateY(-2px);transition-delay:.09s}
.action-card span,.course-shortcuts span,.v54-mode-card span{transition:transform .22s var(--v54-spring),background .18s ease;}
.action-card:active span,.course-shortcuts button:active span,.v54-mode-card:active span{transform:scale(.9) rotate(-4deg);}
.deck-new::after,.phrase-new::after,.alpha-card::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.08) 42%,transparent 58%);transform:translateX(-120%);opacity:.0;pointer-events:none;}
@media(hover:hover){.deck-new:hover::after,.phrase-new:hover::after,.alpha-card:hover::after{animation:v52Sheen .68s ease;opacity:1;}}
@keyframes v52Sheen{to{transform:translateX(120%)}}
input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:rgba(255,210,30,.36)!important;box-shadow:0 0 0 4px rgba(255,210,30,.10)!important;background:rgba(255,255,255,.095)!important;}
.quiz-shell .option{animation-duration:.24s!important;}
.option.right{box-shadow:0 0 0 1px rgba(53,211,153,.28) inset,0 12px 30px rgba(53,211,153,.08)!important;}
.option.wrong{box-shadow:0 0 0 1px rgba(255,92,122,.25) inset,0 12px 30px rgba(255,92,122,.08)!important;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.v54-ripple{display:none!important}}

/* ===== Askaci v52 - thème exact photo 1 + menus photo 2 ===== */
:root{
  --bg:#020714!important;
  --bg-2:#040B1C!important;
  --surface:rgba(9,15,30,.78)!important;
  --surface-2:rgba(13,20,38,.86)!important;
  --glass:rgba(255,255,255,.055)!important;
  --line:rgba(255,255,255,.10)!important;
  --line-strong:rgba(160,107,255,.46)!important;
  --text:#F7F8FF!important;
  --text-soft:#BBC3D7!important;
  --muted:#758098!important;
  --blue:#8B3DFF!important;
  --blue-strong:#7628F8!important;
  --blue-soft:rgba(139,61,255,.22)!important;
  --gold:#FFD51E!important;
  --primary:#8B3DFF!important;
  --card:rgba(10,17,33,.82)!important;
  --shadow:0 20px 50px rgba(0,0,0,.34)!important;
  --shadow-lg:0 38px 90px rgba(0,0,0,.52)!important;
}
html{background:#020714!important;overflow-x:hidden!important;}
body{
  width:100%;max-width:100%;overflow-x:hidden!important;
  color:var(--text)!important;
  background:
    radial-gradient(480px 360px at 84% 18%,rgba(119,60,255,.16),transparent 62%),
    radial-gradient(420px 320px at -12% 48%,rgba(47,72,255,.18),transparent 64%),
    radial-gradient(640px 420px at 52% 112%,rgba(95,45,255,.22),transparent 68%),
    linear-gradient(180deg,#020713 0%,#030918 48%,#020510 100%)!important;
  background-attachment:fixed!important;
  padding-bottom:calc(92px + var(--safe-b))!important;
}
body::before{
  background:
    linear-gradient(118deg,transparent 10%,rgba(255,255,255,.025) 45%,transparent 65%),
    radial-gradient(circle at 80% 15%,rgba(255,213,30,.04),transparent 30%)!important;
  opacity:.75!important;
}
#app{box-sizing:border-box!important;width:100%!important;max-width:430px!important;margin:0 auto!important;padding:18px clamp(18px,4.7vw,22px) 28px!important;overflow-x:hidden!important;}
*{box-sizing:border-box;}
button,input,select,textarea{font:inherit;}

/* logo plus fondu dans le fond, pas blanc agressif */
.brand-logo,.askaci-logo-v52,img[src*="askaci-logo-wide"]{
  filter:none!important;
  opacity:.9!important;
  mix-blend-mode:normal!important;
}
.home-top .brand-logo,.v54-brand{width:124px!important;opacity:.92!important;}

/* navigation photo 2 : minimal, sans gros conteneur visible */
.nav{
  position:fixed!important;left:50%!important;right:auto!important;
  top:calc(100dvh - 82px - var(--safe-b))!important;bottom:auto!important;
  transform:translateX(-50%)!important;
  width:min(430px,100%)!important;height:78px!important;
  padding:7px 20px calc(8px + var(--safe-b))!important;
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:4px!important;
  border:0!important;border-radius:0!important;
  background:linear-gradient(180deg,rgba(2,7,20,0),rgba(2,7,20,.84) 22%,rgba(2,7,20,.96) 100%)!important;
  box-shadow:none!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
  z-index:2147483000!important;
}
.nav button{height:64px!important;border-radius:18px!important;background:transparent!important;color:rgba(255,255,255,.72)!important;font-size:11px!important;font-weight:700!important;gap:5px!important;}
.nav .ic{font-size:22px!important;line-height:1!important;color:currentColor!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:12px!important;}
.nav button.active{color:#A33DFF!important;background:transparent!important;}
.nav button.active .ic{background:rgba(139,61,255,.18)!important;box-shadow:0 0 20px rgba(139,61,255,.38)!important;filter:none!important;}
.nav button::before{display:none!important;}
body.v54-scroll-down .nav{transform:translateX(-50%)!important;opacity:1!important;}
body.quiz-open .nav{display:none!important;}
body:has(.quiz-shell) .nav{display:none!important;}

/* home exact */
.v54-home{min-height:calc(100dvh - 108px);padding-top:2px;}
.v54-back{width:42px;height:42px;border-radius:16px;background:transparent!important;color:rgba(255,255,255,.86)!important;border:0!important;display:grid;place-items:center;font-size:31px;line-height:1;margin:0 0 6px -8px;}
.v54-home-logo{display:block;margin:0 0 20px;}
.v54-hello{font-size:23px;line-height:1.2;font-weight:800;letter-spacing:-.03em;margin:0 0 26px;color:#fff;min-height:32px;}
.v54-hello .latin{font-weight:600;font-style:italic;color:rgba(255,255,255,.86);}
.v54-cursor{display:inline-block;width:2px;height:1em;background:rgba(255,255,255,.86);vertical-align:-.12em;margin-left:2px;animation:v52Blink .78s steps(1,end) infinite;}
@keyframes v52Blink{50%{opacity:0}}
.v54-section-title{font-size:18px;font-weight:850;letter-spacing:-.02em;color:#F7F8FF;margin:0 0 24px;}
.v54-progress-layout{display:grid;grid-template-columns:122px 1fr;gap:18px;align-items:center;margin:0 0 34px;}
.v54-ring{--p:68;width:122px;height:122px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#050A18 0 57%,transparent 58%),conic-gradient(#8D36FF calc(var(--p)*1%),rgba(64,70,101,.35) 0);box-shadow:0 18px 42px rgba(0,0,0,.35),inset 0 0 18px rgba(139,61,255,.08);position:relative;}
.v54-ring::after{content:"";position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(255,255,255,.04);}
.v54-ring span{font-size:34px;font-weight:800;color:#fff;letter-spacing:-.06em;}
.v54-progress-copy strong{font-size:22px;line-height:1.1;font-weight:900;color:#fff;display:block;letter-spacing:-.035em;}
.v54-progress-copy small{display:block;color:rgba(255,255,255,.74);font-weight:600;margin-top:4px;font-size:13px;}
.v54-progress-copy p{margin:10px 0 12px;color:rgba(255,255,255,.36);font-size:14px;font-weight:650;}
.v54-mini-progress{height:9px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden;}
.v54-mini-progress i{display:block;height:100%;width:68%;border-radius:999px;background:linear-gradient(90deg,#347CFF 0%,#8B36FF 100%);box-shadow:0 0 18px rgba(139,61,255,.35);}
.v54-progress-copy em{display:block;text-align:right;margin-top:8px;color:rgba(255,255,255,.70);font-style:normal;font-weight:750;font-size:12px;}
.v54-reco-head{font-size:25px;font-weight:850;letter-spacing:-.04em;color:#fff;margin:0 0 16px;}
.v54-recommended{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px;}
.v54-lesson-card{min-height:190px;border:0;border-radius:18px!important;padding:15px 14px!important;text-align:left;background:linear-gradient(180deg,#A9D9FF 0%,#D5ECFF 100%)!important;color:#0E1423!important;box-shadow:0 18px 35px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.62)!important;position:relative;overflow:hidden;}
.v54-lesson-card::before{content:"";position:absolute;inset:0;background:radial-gradient(120px 80px at 78% 12%,rgba(255,255,255,.48),transparent 56%);pointer-events:none;}
.v54-lesson-card>*{position:relative;z-index:1;}
.v54-lesson-visual{height:58px;display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;}
.v54-lesson-emoji{font-size:38px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.18));}
.v54-lesson-chip{font-size:10px;color:#315B84;font-weight:850;background:rgba(255,255,255,.28);border-radius:999px;padding:4px 7px;}
.v54-lesson-card small{display:block;color:#111827!important;font-weight:750;font-size:15px;margin-bottom:8px;}
.v54-lesson-card b{display:block;color:#050A14!important;font-weight:900;font-size:18px;line-height:1.12;letter-spacing:-.04em;}
.v54-dots{display:flex;gap:5px;margin-top:18px;}
.v54-dots i{width:8px;height:8px;border-radius:50%;background:rgba(13,40,72,.22);}
.v54-dots i:first-child{background:#B050E7;}
.v54-dots.green i:first-child{background:#2FAF9E;}
.v54-quick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;}
.v54-mini-action{min-height:80px;border-radius:20px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important;padding:12px 10px!important;text-align:left;}
.v54-mini-action span{display:block;font-size:18px;margin-bottom:7px;color:#A33DFF;}
.v54-mini-action b{display:block;font-size:13px;color:#fff;}

/* pages photo 2 */
.v54-page{min-height:calc(100dvh - 105px);padding-top:12px;}
.v54-titlebar{display:flex;align-items:center;gap:10px;margin:0 0 22px;}
.v54-titlebar h1{font-size:23px;font-weight:850;letter-spacing:-.035em;color:#fff;}
.v54-titlebar .v54-back{margin:0 4px 0 -8px;width:34px;height:34px;font-size:27px;}
.v54-panel,.v54-list,.v54-billing-card,.v54-premium-card{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.038))!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:18px!important;box-shadow:0 18px 48px rgba(0,0,0,.26)!important;}
.v54-feature-card{border-radius:18px!important;overflow:hidden;background:linear-gradient(180deg,rgba(139,61,255,.20),rgba(10,17,35,.92)),radial-gradient(300px 120px at 75% 0%,rgba(122,72,255,.45),transparent 60%)!important;border:1px solid rgba(139,61,255,.36)!important;padding:18px!important;margin-bottom:16px;min-height:124px;position:relative;}
.v54-feature-card::after{content:"⚑";position:absolute;right:28px;bottom:20px;color:#8B3DFF;font-size:44px;filter:drop-shadow(0 0 18px rgba(139,61,255,.5));}
.v54-feature-card h2{font-size:18px;color:#fff;margin:0 0 4px;}
.v54-feature-card p{color:rgba(255,255,255,.72);margin:0;font-size:13px;}
.v54-menu{display:grid;gap:0;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
.v54-menu-item{width:100%;border:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;border-radius:0!important;background:rgba(255,255,255,.025)!important;color:#fff!important;padding:17px 14px!important;display:grid;grid-template-columns:38px 1fr 20px;gap:12px;align-items:center;text-align:left;min-height:72px;}
.v54-menu-item:last-child{border-bottom:0!important;}
.v54-menu-item.selected{outline:1px solid rgba(139,61,255,.70);outline-offset:-1px;background:rgba(139,61,255,.08)!important;border-radius:10px!important;margin:0;}
.v54-menu-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;border:1px solid rgba(139,61,255,.32);background:rgba(139,61,255,.13);color:#B67CFF;font-size:20px;font-weight:900;}
.v54-menu-item b{display:block;color:#fff;font-size:15px;font-weight:800;}
.v54-menu-item small{display:block;color:rgba(255,255,255,.52);font-size:12px;margin-top:2px;}
.v54-chevron{color:rgba(255,255,255,.74);font-size:22px;}
.v54-profile-top{text-align:center;margin:2px 0 24px;}
.v54-avatar{width:98px;height:98px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:radial-gradient(circle at 50% 28%,#AD73FF,#8736F9 52%,#3A1A7A 100%);box-shadow:0 18px 50px rgba(139,61,255,.28);position:relative;color:#fff;font-size:40px;font-weight:900;letter-spacing:-.04em;text-shadow:0 4px 14px rgba(0,0,0,.28);}
.v54-edit{position:absolute;right:4px;bottom:6px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#151B2B;border:1px solid rgba(255,255,255,.16);z-index:2;color:#fff;font-size:15px;}
.v54-profile-top h2{font-size:21px;color:#fff;margin:0 0 4px;font-weight:850;}
.v54-profile-top p{margin:0;color:rgba(255,255,255,.58);font-size:13px;}
.v54-billing-card{padding:18px;margin-bottom:18px;}
.v54-billing-row{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:18px;}
.v54-billing-row span{color:rgba(255,255,255,.56);font-size:13px;display:block;margin-bottom:8px;}
.v54-billing-row strong{font-size:24px;color:#fff;letter-spacing:-.04em;}
.v54-price{font-size:14px;color:#fff;font-weight:750;}
.v54-purple-btn{width:100%;min-height:52px;border:0!important;border-radius:10px!important;background:linear-gradient(180deg,#9B3EFF,#7830EF)!important;color:#fff!important;font-weight:850!important;box-shadow:0 16px 32px rgba(139,61,255,.26)!important;}
.v54-history{margin-top:18px;padding:18px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);}
.v54-history span{display:block;color:#fff;font-weight:750;margin-bottom:16px;}
.v54-history-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:transparent!important;border:0!important;padding:4px 0!important;min-height:28px;color:#fff!important;}
.v54-history-link b{font-weight:750;font-size:15px;color:#fff;}
.v54-code-q{color:rgba(255,255,255,.82);margin:0 0 4px;font-weight:650;}
.v54-code-l{display:block;color:rgba(255,255,255,.6);font-size:14px;margin-bottom:10px;}
.v54-access-input{width:100%;height:54px;border-radius:10px!important;border:1px solid rgba(139,61,255,.72)!important;background:rgba(255,255,255,.025)!important;color:#fff!important;padding:0 14px!important;font-size:18px;font-weight:750;box-shadow:0 0 0 3px rgba(139,61,255,.10)!important;}
.v54-success{text-align:center;margin:28px 0;}
.v54-check{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:rgba(23,132,98,.78);color:#fff;font-size:32px;box-shadow:0 14px 34px rgba(21,160,113,.20);}
.v54-success h2{font-size:23px;color:#fff;margin:0 0 8px;}
.v54-success p{color:rgba(255,255,255,.82);line-height:1.45;margin:0;font-size:17px;}
.v54-premium-card{padding:16px;border-color:rgba(139,61,255,.55)!important;}
.v54-premium-card h3{font-size:18px;color:#fff;margin:0 0 14px;}
.v54-premium-card ul{list-style:none;margin:0;padding:0;display:grid;gap:13px;}
.v54-premium-card li{color:rgba(255,255,255,.78);font-size:13px;display:flex;gap:10px;align-items:center;}
.v54-premium-card li::before{content:"✓";color:#92E461;font-weight:900;font-size:17px;}

/* uniformisation anciens boutons / sous-menus */
.card,.deck-new,.phrase-new,.alpha-card,.dash-stat,.level-card,.quiz-type,.feature,.stat-card{background:linear-gradient(180deg,rgba(255,255,255,.070),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.09)!important;color:#fff!important;border-radius:18px!important;box-shadow:0 18px 42px rgba(0,0,0,.22)!important;}
.btn:not(.v54-purple-btn){border-radius:13px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.10)!important;color:#fff!important;}
.btn.primary:not(.v54-purple-btn){background:linear-gradient(180deg,#9B3EFF,#7830EF)!important;border:0!important;color:#fff!important;box-shadow:0 16px 32px rgba(139,61,255,.24)!important;}
input,select,textarea{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;border-radius:10px!important;}
input:focus,select:focus,textarea:focus{border-color:rgba(139,61,255,.72)!important;box-shadow:0 0 0 3px rgba(139,61,255,.14)!important;}

@media(max-width:380px){
  #app{padding-left:16px!important;padding-right:16px!important;}
  .v54-progress-layout{grid-template-columns:112px 1fr;gap:14px;}
  .v54-ring{width:112px;height:112px;}
  .v54-ring span{font-size:31px;}
  .v54-progress-copy strong{font-size:20px;}
  .v54-recommended{gap:9px;}
  .v54-lesson-card{min-height:184px;padding:14px 12px!important;}
  .v54-lesson-card b{font-size:17px;}
  .nav{padding-left:14px!important;padding-right:14px!important;}
}
@media(max-width:335px){
  .v54-progress-layout{grid-template-columns:1fr;text-align:left;}
  .v54-ring{margin:0;}
  .v54-recommended{grid-template-columns:1fr;}
  .v54-quick-row{grid-template-columns:1fr;}
}

/* ============================================================
   Askaci v54 - THEME NOIR + BLEU + BLANC (override final).
   Prime sur les anciens styles violets/or (chargé en dernier, !important).
   ============================================================ */
:root{
  --bg:#020712!important; --bg-2:#050B14!important;
  --surface:#08111D!important; --surface-2:#0B1724!important; --surface-3:#101C2B!important;
  --glass:rgba(255,255,255,.055)!important; --glass-2:rgba(255,255,255,.085)!important;
  --line:rgba(255,255,255,.095)!important; --line-strong:rgba(10,132,255,.45)!important;
  --text:#FFFFFF!important; --text-soft:#C8D2E1!important; --muted:#7F8CA3!important;
  --blue:#0A84FF!important; --blue-strong:#006DFF!important; --blue-2:#006DFF!important; --blue-3:#37A2FF!important;
  --blue-soft:rgba(10,132,255,.18)!important; --blue-tint:rgba(10,132,255,.10)!important;
  --cyan:#28D7FF!important; --violet:#6D5BFF!important; --violet-soft:rgba(109,91,255,.14)!important;
  --good:#30D158!important; --warn:#FF9F0A!important; --bad:#FF453A!important;
  /* compat : tout ce qui pointait sur --gold devient bleu */
  --gold:#0A84FF!important; --gold-2:#006DFF!important; --gold-soft:rgba(10,132,255,.16)!important;
  --primary:#0A84FF!important; --card:#08111D!important;
}
html{background:#020712!important;}
body{
  background:
    radial-gradient(700px 440px at 78% -12%, rgba(10,132,255,.22), transparent 62%),
    radial-gradient(520px 360px at 6% 4%, rgba(0,109,255,.16), transparent 58%),
    radial-gradient(760px 520px at 50% 112%, rgba(3,42,95,.32), transparent 64%),
    linear-gradient(180deg,#01050D 0%,#030914 48%,#020712 100%)!important;
  background-attachment:fixed!important;
}
body::before{
  background:
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,.035) 42%, transparent 62%),
    radial-gradient(circle at 50% 0%, rgba(10,132,255,.07), transparent 40%)!important;
  opacity:.8!important;
}

/* logo : ne plus forcer en blanc agressif ; halo bleu discret (le PNG est déjà blanc/transparent) */
.brand-logo,.auth-logo,.askaci-logo-v52,img[src*="askaci-logo-wide"]{
  filter:drop-shadow(0 0 18px rgba(10,132,255,.22))!important;
  opacity:.96!important;mix-blend-mode:normal!important;
}
.home-top .brand-logo,.v54-brand,.v54-home-logo{opacity:.96!important;filter:drop-shadow(0 0 18px rgba(10,132,255,.24))!important;}

/* navigation basse : bleu électrique */
.nav{background:rgba(3,8,17,.86)!important;border:1px solid rgba(255,255,255,.10)!important;}
.nav button.active{color:var(--blue)!important;background:linear-gradient(180deg,rgba(10,132,255,.18),rgba(10,132,255,.06))!important;}
.nav button.active .ic{background:rgba(10,132,255,.16)!important;box-shadow:0 0 22px rgba(10,132,255,.42)!important;filter:none!important;}
.nav button::before{display:none!important;}
.primary-action .v54-ripple,.btn.primary .v54-ripple,.nav button.active .v54-ripple{background:rgba(10,132,255,.40)!important;}

/* boutons principaux : bleu */
.btn.primary,.btn.primary:not(.v54-purple-btn),.v54-purple-btn,.primary-action{
  background:linear-gradient(180deg,#0A84FF,#005BEA)!important;color:#fff!important;
  border:1px solid rgba(80,160,255,.34)!important;box-shadow:0 16px 36px rgba(10,132,255,.24)!important;
}
.btn.primary:active,.v54-purple-btn:active{transform:scale(.985)!important;}
.btn:not(.v54-purple-btn):not(.primary){border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.05)!important;color:#fff!important;}

/* cartes & menus sombres bleutés */
.v54-menu,.v54-menu-item,.card,.deck-new,.phrase-new,.alpha-card,.level-card,.quiz-type,.feature,.stat-card,
.v54-billing-card,.v54-history,.v54-premium-card,.v54-panel,.v54-list{
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035))!important;
  border:1px solid rgba(255,255,255,.095)!important;box-shadow:0 14px 34px rgba(0,0,0,.30)!important;
}
.v54-menu-item.selected,.deck-new.active,.level-card.active{
  border-color:rgba(10,132,255,.55)!important;background:rgba(10,132,255,.08)!important;
  box-shadow:0 0 0 1px rgba(10,132,255,.22),0 16px 34px rgba(10,132,255,.12)!important;outline:none!important;
}
@media(hover:hover){.v54-menu-item:hover{border-color:rgba(10,132,255,.45)!important;}}
.v54-menu-icon{color:var(--blue)!important;background:rgba(10,132,255,.13)!important;border:1px solid rgba(10,132,255,.30)!important;}
.v54-chevron{color:rgba(255,255,255,.62)!important;}
.v54-premium-card li::before{color:#30D158!important;}
.v54-check{background:rgba(10,132,255,.92)!important;box-shadow:0 14px 34px rgba(10,132,255,.28)!important;}
.v54-avatar{background:radial-gradient(circle at 50% 28%,#37A2FF,#0A84FF 52%,#012A63 100%)!important;box-shadow:0 18px 50px rgba(10,132,255,.30)!important;}
.v54-feature-card{
  background:linear-gradient(180deg,rgba(10,132,255,.22),rgba(8,17,33,.92)),radial-gradient(300px 120px at 75% 0%,rgba(10,132,255,.42),transparent 60%)!important;
  border:1px solid rgba(10,132,255,.40)!important;
}
.v54-feature-card::after{color:#0A84FF!important;filter:drop-shadow(0 0 18px rgba(10,132,255,.5))!important;}
.v54-access-input{border:1px solid rgba(10,132,255,.72)!important;box-shadow:0 0 0 3px rgba(10,132,255,.12)!important;}
input:focus,select:focus,textarea:focus{border-color:rgba(10,132,255,.72)!important;box-shadow:0 0 0 3px rgba(10,132,255,.16)!important;}

/* anneau & barres de progression : bleu */
.v54-ring,.progress-ring{
  background:radial-gradient(circle at center,#07101D 0 57%,transparent 58%),conic-gradient(from 210deg,#0A84FF calc(var(--p)*1%),rgba(255,255,255,.10) 0)!important;
  box-shadow:inset 0 0 26px rgba(10,132,255,.16),0 0 28px rgba(10,132,255,.15)!important;
}
.v54-ring.v54-pulse,.progress-ring.v54-pulse{filter:drop-shadow(0 0 18px rgba(10,132,255,.40))!important;}
.v54-mini-progress i,.mini-progress i{background:linear-gradient(90deg,#0A84FF,#37A2FF)!important;box-shadow:0 0 18px rgba(10,132,255,.35)!important;}
.v54-mini-action span{color:#37A2FF!important;}
.v54-dots i:first-child{background:#0A84FF!important;}
.v54-dots.green i:first-child{background:#30D158!important;}

/* cartes de leçon : bleu clair lisible */
.v54-lesson-card{background:linear-gradient(180deg,#D9ECFF,#BFDFFF)!important;color:#07111F!important;}
.v54-lesson-card b,.v54-lesson-card small{color:#07111F!important;}
.v54-lesson-chip{color:#0A4DA0!important;background:rgba(10,132,255,.16)!important;}

/* MOT DU JOUR */
.v54-wod-head{margin-top:24px!important;}
.v54-wod-card{width:100%;display:grid;grid-template-columns:54px 1fr 30px;align-items:center;gap:14px;text-align:left;
  padding:16px!important;border-radius:20px!important;border:1px solid rgba(10,132,255,.30)!important;
  background:linear-gradient(180deg,rgba(10,132,255,.14),rgba(255,255,255,.035))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.30)!important;color:#fff!important;position:relative;overflow:hidden;}
.v54-wod-em{width:54px;height:54px;display:grid;place-items:center;font-size:30px;border-radius:16px;background:rgba(10,132,255,.16);border:1px solid rgba(10,132,255,.30);}
.v54-wod-body b{display:block;font-size:22px;font-weight:900;letter-spacing:-.02em;color:#fff;line-height:1.1;}
.v54-wod-body span{display:block;color:#9FC6FF;font-size:13px;font-weight:700;margin-top:2px;}
.v54-wod-body small{display:block;color:var(--text-soft);font-size:13px;margin-top:2px;}
.v54-wod-say{font-size:20px;color:#37A2FF;justify-self:end;}

/* PARAMÈTRES */
.v54-settings-group{display:grid;gap:8px;margin-bottom:18px;}
.v54-group-title{display:block;margin:2px 0 4px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
.v54-setting-row{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px;border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.09);color:#fff;text-align:left;}
.v54-setting-row b{display:block;color:#fff;font-size:14px;}
.v54-setting-row small{display:block;color:var(--text-soft);margin-top:2px;font-size:12px;}
.v54-switch{width:44px;height:26px;border-radius:999px;background:rgba(255,255,255,.16);position:relative;flex:0 0 auto;transition:background .2s ease;}
.v54-switch::after{content:"";position:absolute;width:22px;height:22px;top:2px;left:2px;border-radius:50%;background:#fff;transition:transform .2s ease;}
.v54-switch.on{background:var(--blue);}
.v54-switch.on::after{transform:translateX(18px);}

/* PROGRESSION (app.js) : plus vivante mais sobre */
.dash-stat{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.10)!important;}
.dash-stat::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--blue);border-radius:999px;}
.dash-stat:nth-child(2)::before{background:var(--good);}
.dash-stat:nth-child(3)::before{background:var(--warn);}
.dash-stat:nth-child(4)::before{background:var(--violet);}
.dash-stat:nth-child(1) strong{color:#37A2FF!important;}
.dash-stat:nth-child(2) strong{color:#30D158!important;}
.dash-stat:nth-child(3) strong{color:#FF9F0A!important;}
.dash-stat:nth-child(4) strong{color:#8E7CFF!important;}
.level-bar span,.prog-fill,.prog-bar span,.p-week-bar.on,.p-learn-bar .l{background:linear-gradient(90deg,#0A84FF,#37A2FF)!important;}
.p-learn-bar .m{background:#30D158!important;}
.missed-item{border-color:rgba(255,69,58,.22)!important;background:linear-gradient(180deg,rgba(255,69,58,.09),rgba(255,255,255,.035))!important;}
.heatmap .hm-c[data-v="1"]{background:rgba(10,132,255,.25)!important;}
.heatmap .hm-c[data-v="2"]{background:rgba(10,132,255,.45)!important;}
.heatmap .hm-c[data-v="3"]{background:rgba(10,132,255,.70)!important;}
.heatmap .hm-c[data-v="4"]{background:#0A84FF!important;}

/* nav : forcer largeur app (430) + centrage, même face à l'override pleine largeur de polish.js
   (sélectivité 'body .nav' > '.nav' pour gagner quel que soit l'ordre d'injection) */
body .nav{
  left:50%!important;right:auto!important;transform:translateX(-50%)!important;
  width:min(430px,100%)!important;max-width:430px!important;
}
body.v54-scroll-down .nav{transform:translateX(-50%)!important;}
