:root{font-family:Inter,system-ui,sans-serif;color:#f7f2ff;background:#0d0718;--bg:#0d0718;--panel:#171026;--panel2:#211633;--purple:#8b5cf6;--orange:#ff8a2b;--muted:#a99dbb;--line:#302442}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -20%,#321653 0,#120a22 40%,#0d0718 72%);min-height:100vh}button{font:inherit}.shell{max-width:520px;margin:auto;min-height:100vh;padding:22px 18px 96px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.12em}.title{font-size:30px;line-height:1.05;margin:5px 0 8px}.muted{color:var(--muted)}.card{background:linear-gradient(145deg,rgba(33,22,51,.94),rgba(20,13,34,.92));border:1px solid var(--line);border-radius:22px;padding:18px;margin:12px 0;box-shadow:0 16px 40px #0004}.hero{padding:22px}.btn{border:0;border-radius:16px;padding:14px 18px;font-weight:800;cursor:pointer}.primary{background:var(--orange);color:#1a0e05}.secondary{background:#2a1d40;color:#fff;border:1px solid #43305e}.row{display:flex;gap:10px}.row>*{flex:1}.progress{height:7px;background:#2b203b;border-radius:99px;overflow:hidden;margin:16px 0}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--orange))}.choice{width:100%;text-align:left;margin:7px 0}.good{border-color:#6e4aa4}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);background:#100a1ceF;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:12px 8px 18px;backdrop-filter:blur(14px)}.nav a{color:#9e91b1;text-decoration:none;font-size:12px}.nav a.active{color:var(--orange)}.pill{display:inline-block;padding:6px 9px;border-radius:999px;background:#2a1b3f;color:#d9c8ef;font-size:12px}.quote{font-size:22px;font-weight:750;line-height:1.35}.stage{color:#cbb9e5;font-size:13px}.center{text-align:center}.bigmic{width:92px;height:92px;border-radius:50%;border:0;background:var(--orange);font-size:34px}.feedback{border-left:3px solid var(--orange)}
.status{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;margin:-12px 0 18px}.dot{width:8px;height:8px;border-radius:50%;background:#6ee7a8}.stepper{display:flex;gap:5px;margin:12px 0 18px}.stepper i{height:5px;flex:1;background:#2b203b;border-radius:9px}.stepper i.done{background:var(--orange)}.back{background:none;border:0;color:#cbb9e5;padding:0 0 12px;cursor:pointer}.hidden{display:none!important}.toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);background:#241833;border:1px solid var(--line);padding:10px 14px;border-radius:12px;font-size:13px;z-index:5}.small{font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}
.metricgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{padding:16px}.metric strong{display:block;font-size:1.55rem;margin-top:6px}.reviewList{display:grid;gap:10px}.reviewRow{display:flex;justify-content:space-between;gap:12px;align-items:center}.tiny{font-size:.78rem}.bar{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.bar i{display:block;height:100%;background:currentColor;border-radius:inherit}
.moduleCard{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer}.moduleCard span{font-size:24px;color:var(--orange)}.input{width:100%;border:1px solid var(--line);background:#100a1c;color:#fff;border-radius:14px;padding:13px;margin:10px 0;outline:none}.area{min-height:110px;resize:vertical}.readingText{font-size:18px;line-height:1.75}.chipbox{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.chip{border:1px solid #4a3565;background:#2a1d40;color:#fff;border-radius:999px;padding:10px 12px}.answerbox{min-height:74px;border:1px dashed #604783;border-radius:16px;padding:16px;margin:14px 0;color:#ddd0ed}.full{width:100%;margin-top:8px}
.searchrow{display:flex;gap:8px}.searchrow .input{flex:1}.resultItem{cursor:pointer}.switchrow{display:flex;align-items:center;justify-content:space-between;gap:16px}.toggle{min-width:54px}.activity{border-left:3px solid currentColor;padding-left:12px}.tiny{font-size:.78rem}.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(127,127,127,.12)}
.voiceRoomCard{padding:28px 18px}.vrOrb{width:128px;height:128px;margin:10px auto 22px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;background:radial-gradient(circle at 35% 30%,#ffb15f,#ff7a1a 35%,#8b5cf6 72%,#382050);box-shadow:0 0 0 10px #8b5cf616,0 0 55px #8b5cf655}.vrOrb span{width:6px;height:32px;border-radius:99px;background:#fff9;animation:vrwave 1.05s ease-in-out infinite}.vrOrb span:nth-child(2){height:50px;animation-delay:.12s}.vrOrb span:nth-child(3){animation-delay:.24s}.vrOrb[data-state="listening"]{box-shadow:0 0 0 12px #ff8a2b22,0 0 70px #ff8a2b88}.vrOrb[data-state="thinking"] span{animation-duration:.45s}.vrOrb[data-state="speaking"]{animation:vrpulse 1s ease-in-out infinite}.vrActions{display:flex;gap:10px;justify-content:center}.vrTranscript{max-height:300px;overflow:auto;margin-top:12px}.vrTurn{padding:11px 13px;border-radius:16px;margin:8px 0}.vrTurn.user{background:#2a1d40;margin-left:26px}.vrTurn.alex{background:#3a2119;margin-right:26px}.vrTurn p{margin:5px 0 0;line-height:1.45}@keyframes vrwave{0%,100%{transform:scaleY(.55);opacity:.55}50%{transform:scaleY(1);opacity:1}}@keyframes vrpulse{50%{transform:scale(1.05)}}
/* Master 50 — compact Vocabulary browse cards */
.vocabCompact{padding:18px 20px!important;margin-bottom:14px!important}
.vocabCompact .row{margin-bottom:8px}
.vocabCompactHead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:4px 0 12px}
.vocabCompactHead h2{margin:0;font-size:1.65rem;line-height:1.15}
.vocabArabic{font-size:1.05rem;font-weight:700;text-align:right;color:var(--muted,#b9afc7)}
.vocabExample{margin:0 0 14px;line-height:1.45;font-size:.96rem}
.vocabPracticeBtn{min-height:48px;margin-top:4px}
@media(max-width:520px){.vocabCompact{padding:16px!important}.vocabCompactHead h2{font-size:1.45rem}.vocabCompactHead{gap:10px}.vocabExample{font-size:.92rem}}
/* Master 56 — Home UI Freeze integration */
.homeTop{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 4px 10px}.homeTop h1{font-size:2.15rem;line-height:1.08;margin:7px 0 8px;letter-spacing:-.04em}.homeBell{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#211633;color:#fff;font-size:22px}.homeMission{padding:22px;background:radial-gradient(circle at 90% 0,#52257a66,transparent 42%),linear-gradient(145deg,#211633,#171026)}.missionHead,.sectionLine{display:flex;justify-content:space-between;align-items:center;gap:14px}.homeMission h2{margin:7px 0 0;font-size:1.55rem}.dayPill{padding:7px 10px;border:1px solid #55386f;border-radius:999px;color:#d7c7e8;font-size:.78rem}.missionMeta{display:flex;justify-content:space-between;color:var(--muted);font-size:.76rem;margin:-8px 0 12px}.continueCard h3,.recommended h3{margin:5px 0}.continueCard p,.recommended p{margin:6px 0 0}.roundGo{flex:0 0 46px;width:46px;height:46px;border-radius:50%;border:1px solid #5a3a70;background:#2a1d40;color:var(--orange);font-size:22px}.homeTwin{display:grid;grid-template-columns:1fr 1fr;gap:12px}.homeTwin .card{margin:0 0 12px}.miniAction{min-height:128px;display:flex;flex-direction:column;justify-content:center;cursor:pointer}.miniAction b{font-size:1.02rem;margin:9px 0 5px}.miniAction small{color:var(--muted);line-height:1.35}.miniIcon{font-size:25px;color:var(--orange)}.miniAction.alex{background:radial-gradient(circle at 90% 10%,#ff8a2b22,transparent 48%),linear-gradient(145deg,rgba(33,22,51,.94),rgba(20,13,34,.92))}.insight{min-height:180px}.sectionLine a{color:var(--orange);text-decoration:none;font-size:.78rem}.brainGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.brainGrid span{font-size:.68rem;color:var(--muted)}.brainGrid strong{display:block;color:#fff;font-size:1.18rem;margin-bottom:2px}.cefr{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:5px;margin:25px 0 12px}.cefr strong{font-size:1.35rem}.cefr span{font-size:.65rem;color:var(--muted)}.cefr i{text-align:center;color:var(--orange);font-style:normal}.recommended{margin-top:0}@media(max-width:380px){.homeTwin{grid-template-columns:1fr}.homeTop h1{font-size:1.9rem}.insight{min-height:0}}

/* MASTER 58 — Living Galaxy: decorative, pointer-safe, low-motion background */
html{background:#0d0718}
body{isolation:isolate;overflow-x:hidden}
#app{position:relative;z-index:1;min-height:100vh}
body::before,body::after{content:"";position:fixed;inset:-18%;pointer-events:none;z-index:0;will-change:transform,opacity}
body::before{background:radial-gradient(ellipse 35% 28% at 16% 19%,rgba(113,58,188,.23),transparent 78%),radial-gradient(ellipse 33% 30% at 82% 72%,rgba(255,129,43,.085),transparent 80%),radial-gradient(ellipse 30% 32% at 68% 15%,rgba(93,51,165,.18),transparent 78%);animation:eflGalaxyDrift 24s ease-in-out infinite alternate}
body::after{inset:0;background-image:radial-gradient(circle,rgba(235,210,255,.48) .7px,transparent 1.4px),radial-gradient(circle,rgba(255,181,111,.35) .6px,transparent 1.3px);background-size:137px 163px,211px 197px;background-position:12px 31px,83px 102px;opacity:.24;animation:eflGalaxyStars 13s ease-in-out infinite alternate}
@keyframes eflGalaxyDrift{0%{transform:translate3d(-2%,0,0) scale(1);opacity:.75}100%{transform:translate3d(3%,2%,0) scale(1.06);opacity:1}}
@keyframes eflGalaxyStars{0%{opacity:.12;transform:translate3d(0,0,0)}100%{opacity:.30;transform:translate3d(0,-9px,0)}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none!important;will-change:auto!important}}
@media(max-width:480px){body::before{opacity:.72}body::after{opacity:.17}}

/* MASTER 59 — Cinematic Living Galaxy: presentation layer only */
body::before{inset:-24%;background:radial-gradient(ellipse 35% 34% at 14% 18%,rgba(143,76,255,.40),transparent 74%),radial-gradient(ellipse 34% 30% at 85% 73%,rgba(255,129,43,.25),transparent 75%),radial-gradient(ellipse 37% 30% at 72% 14%,rgba(87,49,203,.30),transparent 78%),radial-gradient(ellipse 26% 30% at 30% 85%,rgba(255,109,75,.12),transparent 80%);filter:saturate(1.25);animation:efl59Nebula 15s ease-in-out infinite alternate;opacity:1}
body::after{background-image:radial-gradient(circle,rgba(244,225,255,.85) 1px,transparent 1.8px),radial-gradient(circle,rgba(255,189,123,.70) .8px,transparent 1.7px),radial-gradient(circle,rgba(193,151,255,.5) .55px,transparent 1.2px);background-size:109px 131px,173px 191px,67px 89px;background-position:11px 31px,83px 102px,22px 49px;opacity:.48;animation:efl59Stars 9s ease-in-out infinite alternate}
@keyframes efl59Nebula{0%{transform:translate3d(-4%,-2%,0) rotate(-3deg) scale(1);opacity:.82}50%{opacity:1}100%{transform:translate3d(5%,4%,0) rotate(4deg) scale(1.14);opacity:.98}}
@keyframes efl59Stars{0%{background-position:11px 31px,83px 102px,22px 49px;opacity:.27}100%{background-position:21px 4px,67px 75px,29px 19px;opacity:.58}}
/* Keep all existing layouts and controls intact; glow is decorative only. */
.homeMission{box-shadow:0 14px 45px rgba(76,30,127,.20),0 0 34px rgba(133,68,239,.10)}
@media(max-width:480px){body::before{opacity:.93}body::after{opacity:.39}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none!important;will-change:auto!important}}

/* MASTER 60 — luminous shooting stars, independent decorative overlay */
.efl-meteor-field{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict}
.efl-meteor-field i{position:absolute;display:block;left:var(--sx);top:var(--sy);width:clamp(100px,28vw,205px);height:2px;border-radius:99px;opacity:0;transform:rotate(-31deg) translate3d(0,0,0);transform-origin:left center;background:linear-gradient(90deg,transparent 0%,rgba(173,107,255,.18) 20%,rgba(255,170,84,.85) 77%,#fff8de 100%);box-shadow:0 0 7px 1px rgba(255,158,59,.65),0 0 16px rgba(179,96,255,.35);animation:eflMeteor 9s linear infinite;animation-delay:var(--delay);will-change:transform,opacity}
.efl-meteor-field i::after{content:"";position:absolute;right:-2px;top:-3px;width:8px;height:8px;border-radius:50%;background:#fffdf0;box-shadow:0 0 8px 3px #ffaf57,0 0 20px 6px rgba(255,128,46,.55)}
.efl-meteor-field i:nth-child(1){--sx:-28%;--sy:12%;--delay:-1s}
.efl-meteor-field i:nth-child(2){--sx:15%;--sy:-10%;--delay:-5s;animation-duration:12s}
.efl-meteor-field i:nth-child(3){--sx:-35%;--sy:51%;--delay:-7s;animation-duration:11s}
.efl-meteor-field i:nth-child(4){--sx:43%;--sy:2%;--delay:-3s;animation-duration:13s}
.efl-meteor-field i:nth-child(5){--sx:-19%;--sy:79%;--delay:-9s;animation-duration:14s}
.efl-meteor-field i:nth-child(6){--sx:6%;--sy:28%;--delay:-11s;animation-duration:15s}
@keyframes eflMeteor{0%,7%{opacity:0;transform:rotate(-31deg) translate3d(0,0,0)}9%{opacity:1}23%{opacity:1}29%,100%{opacity:0;transform:rotate(-31deg) translate3d(145vw,0,0)}}
@media(max-width:480px){.efl-meteor-field i{width:120px;height:2px}.efl-meteor-field i:nth-child(n+5){display:none}}
@media(prefers-reduced-motion:reduce){.efl-meteor-field{display:none!important}}
