:root{--bg:#080b12;--bg2:#0f1420;--card:#151b2a;--card2:#1c2436;--txt:#f4f6fb;--mut:#9aa6bd;--line:#273149;--blue:#6d7cff;--cyan:#3de6d0;--good:#35d07f;--warn:#f4b740;--bad:#ff5c72;--r:22px;--safe-b:env(safe-area-inset-bottom)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent} body{margin:0;background:radial-gradient(circle at top left,#17203b 0,#080b12 38%,#070910 100%);color:var(--txt);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;min-height:100vh;padding-bottom:calc(82px + var(--safe-b))} button,input{font:inherit}button{border:0;color:inherit;cursor:pointer} #app{width:min(920px,100%);margin:auto;padding:18px 16px 28px}.nav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(700px,calc(100% - 22px));display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:rgba(13,17,28,.82);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.09);padding:8px;border-radius:24px;z-index:50;box-shadow:0 20px 60px rgba(0,0,0,.4)}.nav button{background:transparent;color:var(--mut);border-radius:17px;padding:8px 4px;font-size:11px;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:2px}.nav button.active{background:linear-gradient(135deg,var(--blue),#8c5cff);color:white}.ic{font-size:18px}.hero-new{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:26px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(109,124,255,.22),rgba(61,230,208,.08));border-radius:30px;margin:8px 0 16px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.kicker{color:var(--cyan);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:12px}.hero-new h1,.page-head h1{margin:.15em 0;font-size:clamp(28px,8vw,54px);line-height:.95}.hero-new p,.page-head p,.muted{color:var(--mut);line-height:1.55}.avatar{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#aeb7ff);color:#111827;font-weight:950;font-size:25px}.avatar.big{width:82px;height:82px;font-size:36px;margin:auto}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.stat-card{background:rgba(21,27,42,.78);border:1px solid var(--line);border-radius:20px;padding:15px 8px;text-align:center}.stat-card strong{display:block;font-size:24px}.stat-card span{display:block;color:var(--mut);font-size:12px;font-weight:700}.card{background:rgba(21,27,42,.84);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:14px 0}.big-action{display:flex;justify-content:space-between;align-items:center;gap:14px}.big-action h2,.card h2{margin:0 0 4px}.big-action p,.card p{margin:0;color:var(--mut)}.btn{background:var(--card2);border:1px solid var(--line);color:var(--txt);border-radius:16px;padding:13px 18px;font-weight:900}.btn.primary{background:linear-gradient(135deg,var(--blue),#8c5cff);border-color:transparent;color:white}.btn.danger{background:rgba(255,92,114,.12);border-color:rgba(255,92,114,.45);color:#ff9cac}.btn.wide{width:100%;margin-top:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature,.quiz-type,.deck-new,.phrase-new{background:rgba(21,27,42,.84);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-align:left;transition:.15s}.feature:active,.quiz-type:active,.deck-new:active,.phrase-new:active,.alpha-card:active{transform:scale(.985);background:var(--card2)}.feature b,.quiz-type b{display:block;font-size:17px}.feature span,.quiz-type span,.deck-new small,.phrase-new small{display:block;color:var(--mut);font-size:13px;margin-top:5px}.progress-line,.deck-new i{display:block;height:8px;background:#0b0f19;border-radius:99px;overflow:hidden;margin-top:12px}.progress-line i,.deck-new em{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:99px}.page-head{padding:18px 2px 8px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.alphabet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}.alpha-card{background:rgba(21,27,42,.82);border:1px solid var(--line);border-radius:20px;padding:16px 8px;text-align:center}.alpha-card b{display:block;font-size:38px}.alpha-card small,.alpha-card em{display:block;color:var(--mut);font-style:normal}.alpha-card em{color:var(--warn);font-size:12px;margin-top:6px}.quiz-types{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.section-title{font-size:20px;font-weight:950;margin:18px 0 10px}.deck-list,.phrase-list,.grammar-list{display:grid;gap:10px}.deck-new{display:flex;gap:14px;align-items:center}.deck-icon{width:48px;height:48px;border-radius:16px;background:#0f1420;display:grid;place-items:center;font-size:25px;flex:0 0 auto}.deck-new span:nth-child(2){flex:1}.deck-new b,.phrase-new b{display:block}.phrase-new b{font-size:22px}.phrase-new span{display:block;color:var(--cyan);font-weight:800;margin-top:4px}.gram{background:rgba(21,27,42,.84);border:1px solid var(--line);border-radius:18px;padding:4px 14px}.gram summary{font-weight:900;padding:14px 0;cursor:pointer}.gram p{color:var(--mut);line-height:1.55}.quiz-shell{min-height:calc(100vh - 115px);display:flex;flex-direction:column}.quiz-top{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:18px}.x{width:42px;height:42px;border-radius:15px;background:var(--card);font-size:26px}.quiz-progress{height:10px;background:#111827;border-radius:99px;overflow:hidden}.quiz-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue))}.question-card{margin:auto 0;background:linear-gradient(180deg,rgba(21,27,42,.96),rgba(13,17,28,.96));border:1px solid var(--line);border-radius:30px;padding:24px;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.4)}.tag{display:inline-block;color:var(--cyan);font-weight:950;text-transform:uppercase;letter-spacing:.12em;font-size:11px;background:rgba(61,230,208,.09);padding:7px 12px;border-radius:99px}.question-card h2{font-size:22px}.quiz-display{display:grid;place-items:center;width:100%;min-height:120px;background:#0b0f19;border:1px solid var(--line);border-radius:24px;font-size:42px;font-weight:950;margin:18px 0;color:white}.quiz-display.sound{font-size:56px;color:var(--cyan)}.options{display:grid;gap:10px}.option{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;color:var(--txt);font-weight:900}.option.right,.type-answer.right{border-color:var(--good);background:rgba(53,208,127,.16)}.option.wrong,.type-answer.wrong{border-color:var(--bad);background:rgba(255,92,114,.16)}.hint-line{color:var(--mut);margin-top:16px;font-size:13px}.type-answer{width:100%;background:#0b0f19;border:1px solid var(--line);border-radius:18px;color:var(--txt);padding:16px;text-align:center;font-size:20px;outline:none}.result{text-align:center;padding:28px 0}.result-emoji{font-size:72px}.result h1{font-size:54px;margin:8px 0}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.dialogue{display:grid;gap:10px;margin:18px 0}.bubble{max-width:82%;padding:14px 16px;border-radius:20px;background:var(--card);border:1px solid var(--line)}.bubble.b{margin-left:auto;background:rgba(109,124,255,.18)}.bubble b,.bubble span,.bubble small{display:block}.bubble span{color:var(--cyan);font-size:13px;margin-top:4px}.bubble small{color:var(--mut);margin-top:4px}.auth-wrap{min-height:calc(100vh - 120px);display:grid;place-items:center}.auth-card{width:min(480px,100%);background:rgba(21,27,42,.94);border:1px solid var(--line);border-radius:30px;padding:24px}.brand-big{font-size:42px;font-weight:950;color:var(--cyan)}.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#0b0f19;border-radius:18px;padding:6px;margin:18px 0}.seg button{background:transparent;color:var(--mut);border-radius:13px;padding:12px;font-weight:950}.seg button.on{background:var(--blue);color:white}form{display:grid;gap:10px}input{background:#0b0f19;border:1px solid var(--line);border-radius:16px;color:var(--txt);padding:15px;outline:none}.fineprint{font-size:12px;color:var(--mut);line-height:1.5}.profile-card{text-align:center;background:rgba(21,27,42,.84);border:1px solid var(--line);border-radius:var(--r);padding:22px}.profile-card h2{margin:10px 0 4px}.profile-card p{margin:0;color:var(--mut)}.file-label{position:relative;overflow:hidden}.file-label input{position:absolute;inset:0;opacity:0}.danger-zone{display:grid;gap:10px}#toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%) translateY(20px);background:#f8fafc;color:#0f172a;padding:12px 16px;border-radius:16px;font-weight:900;opacity:0;pointer-events:none;transition:.2s;z-index:100;box-shadow:0 18px 60px rgba(0,0,0,.35)}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(max-width:620px){#app{padding:14px 12px}.stats-row{grid-template-columns:repeat(2,1fr)}.grid2,.quiz-types{grid-template-columns:1fr}.big-action{display:block}.big-action .btn{width:100%;margin-top:14px}.hero-new{grid-template-columns:1fr;padding:20px}.avatar{display:none}.nav{bottom:6px}.question-card{padding:18px}.quiz-display{font-size:34px}.alphabet-grid{grid-template-columns:repeat(3,1fr)}}

/* Extension parcours complet */
.filterbar{display:flex;gap:8px;overflow:auto;padding:4px 2px 14px;margin-bottom:6px}.chip{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:10px 14px;color:var(--text);white-space:nowrap}.chip.on{background:var(--primary);color:white;border-color:var(--primary)}
.level-card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--border);border-radius:24px;padding:16px;margin:14px 0;box-shadow:var(--shadow)}.level-card.locked{opacity:.62;filter:saturate(.55)}.level-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.level-head h2{margin:4px 0}.level-head p{margin:0;color:var(--muted)}.level-code{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:5px 10px;font-size:12px;color:var(--primary);background:rgba(255,255,255,.04);font-weight:800}.deck-new.islocked{cursor:not-allowed}.lesson-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:28px;padding:22px;background:radial-gradient(circle at top right,rgba(112,93,255,.35),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:14px}.lesson-hero h2{margin:8px 0}.lesson-hero p{color:var(--muted);line-height:1.55}.lesson-badge{font-size:54px;min-width:72px;text-align:center}.lesson-points{margin:0;padding-left:20px;color:var(--muted);line-height:1.8}.word-table{display:grid;gap:8px}.word-row{display:grid;grid-template-columns:1.1fr 1fr 1.3fr;gap:10px;align-items:center;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text);border-radius:16px;padding:12px;text-align:left}.word-row b{font-size:18px}.word-row span{color:var(--primary);font-weight:700}.word-row em{font-style:normal;color:var(--muted)}.fact{border-left:3px solid var(--primary);padding:10px 12px;margin:8px 0;background:rgba(255,255,255,.035);border-radius:10px;color:var(--muted);line-height:1.55}.sticky-actions{position:sticky;bottom:80px;display:flex;gap:10px;background:rgba(10,12,22,.78);backdrop-filter:blur(14px);border:1px solid var(--border);padding:10px;border-radius:18px;margin-top:14px}.sticky-actions .btn{flex:1}@media(max-width:640px){.word-row{grid-template-columns:1fr}.lesson-hero{align-items:flex-start}.sticky-actions{bottom:68px}}

/* V4 business/product layer */
.business-panel{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:16px 0;border:1px solid rgba(255,255,255,.12)}
.biz-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border-radius:28px;background:linear-gradient(135deg,rgba(124,58,237,.18),rgba(16,185,129,.12));border:1px solid rgba(255,255,255,.14);margin:16px 0}
.biz-hero h2{margin:.4rem 0 0;line-height:1.18;font-size:clamp(1.3rem,3.5vw,2.2rem)}
.biz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kpi-grid span{padding:12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:.9rem}.fact b{color:#fff}
@media(max-width:780px){.business-panel,.biz-hero{flex-direction:column;align-items:flex-start}.biz-grid,.kpi-grid{grid-template-columns:1fr}}
