.mobile-practice-hub{display:grid;gap:18px;margin-bottom:24px}.mph-goal{padding:20px;border:1px solid #dfd4fa;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f6f1ff 58%,#edf9f6 100%);box-shadow:0 12px 35px rgba(63,35,110,.08)}.mph-goal-head{display:flex;align-items:center;gap:13px}.mph-goal-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#ece4ff;color:#7140d8;font-size:23px}.mph-goal-head div{flex:1}.mph-goal-head small,.mph-toolbar small{color:#7657a8;font-size:10px;font-weight:900;letter-spacing:.1em}.mph-goal-head h2,.mph-toolbar h2{margin:4px 0 0;font-size:21px}.mph-goal-head strong{font-size:25px;color:#7140d8}.mph-track{height:9px;margin:17px 0 10px;border-radius:999px;background:#e7e0f5;overflow:hidden}.mph-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7040d8,#a14fe7,#20b48c)}.mph-goal-meta{display:flex;justify-content:space-between;gap:12px;color:#756c80;font-size:12px;font-weight:800}.mph-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.mph-filters{display:flex;gap:7px;overflow:auto}.mph-filters button{border:1px solid var(--line);border-radius:999px;padding:8px 13px;background:var(--panel);color:var(--soft);font-weight:800;white-space:nowrap;cursor:pointer}.mph-filters button.active{border-color:#7140d8;background:#7140d8;color:#fff}.mph-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important}.mph-card{min-height:190px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;padding:17px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 6px 20px rgba(35,22,61,.055);cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.mph-card:hover{transform:translateY(-3px);border-color:#bca5ee;box-shadow:0 14px 30px rgba(55,31,97,.12)}.mph-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mph-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#eee8fc;color:#7140d8;font-size:21px;font-weight:950}.mph-card.teal .mph-icon{background:#e5f7f1;color:#09846a}.mph-card.blue .mph-icon{background:#e9f1ff;color:#315fa8}.mph-card.pink .mph-icon{background:#f8eafa;color:#a128a2}.mph-card.amber .mph-icon{background:#fff3da;color:#b46b00}.mph-card.red .mph-icon{background:#ffebea;color:#cf3d38}.mph-premium,.mph-done,.mph-new{padding:5px 8px;border-radius:999px;font-size:9px;font-weight:950}.mph-premium{background:#fff0c7;color:#8f5a00}.mph-done{background:#e4f8f1;color:#087b62}.mph-new{background:#f0ebfc;color:#7040d8}.mph-card h3{margin:16px 0 6px;font-size:17px}.mph-card p{margin:0;color:var(--soft);font-size:12.5px;font-weight:650;line-height:1.45}.mph-open{margin-top:15px;color:#7140d8;font-size:12px;font-weight:900}.adaptive-path{text-align:center;padding:22px 10px}.adaptive-orbit{width:76px;height:76px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:linear-gradient(135deg,#7140d8,#b052e3);color:#fff;font-size:30px;box-shadow:0 12px 28px rgba(113,64,216,.3)}.adaptive-path small{color:#7140d8;font-weight:900;letter-spacing:.1em}.adaptive-path h2{font-size:27px;margin:8px 0}.adaptive-path p{max-width:470px;margin:0 auto;color:var(--soft);line-height:1.55}.adaptive-path>div{display:flex;justify-content:center;gap:8px;margin:17px 0}.adaptive-path>div span{padding:7px 11px;border-radius:999px;background:var(--panel-soft);font-size:11px;font-weight:800}.practice-history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.practice-history-summary span{display:grid;gap:3px;padding:14px;border-radius:14px;background:var(--panel-soft);color:var(--soft);font-size:11px;font-weight:800}.practice-history-summary b{font-size:23px;color:#7140d8}.practice-history-list{display:grid;gap:8px}.practice-history-list button{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;cursor:pointer}.practice-history-list button>span{font-size:23px}.practice-history-list button div{display:grid;gap:3px}.practice-history-list small{color:var(--soft)}
#studyOverlay .overlay-card{width:min(760px,calc(100vw - 28px))!important;max-height:92vh}#studyOverlay .overlay-head{padding:17px 20px}#studyOverlay .overlay-body{padding:20px}
@media(max-width:980px){.mph-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mph-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.mph-grid{grid-template-columns:1fr!important}.mph-card{min-height:165px}.mph-goal{padding:16px}.mph-goal-head h2,.mph-toolbar h2{font-size:18px}.mph-goal-meta{align-items:flex-start;flex-direction:column}.mph-filters{width:100%;padding-bottom:4px}.practice-history-summary{grid-template-columns:1fr}}
.practice-resume{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:16px 19px;border:0;border-radius:18px;background:linear-gradient(110deg,#5f32d7,#a938df);color:#fff;box-shadow:0 12px 28px rgba(98,49,211,.22);cursor:pointer;text-align:left}.practice-resume b{font-size:16px}.practice-resume span{font-size:12px;font-weight:800;opacity:.88}.practice-quick-settings{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.practice-quick-settings button{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--soft);font-size:11px;font-weight:850;cursor:pointer}.practice-quick-settings button[aria-pressed="true"]{border-color:#8f68e6;background:#f0eaff;color:#6332ce}.speaking-card{text-align:center;padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fff,#f7f2ff)}.speaking-card small{color:#7040d8;font-size:10px;font-weight:950;letter-spacing:.11em}.speaking-card h2{margin:12px auto 18px;max-width:520px;font-size:27px;line-height:1.35}.speaking-card .btn{margin:4px}.pronunciation-score{display:grid;gap:10px;margin-top:13px;padding:14px;border-radius:14px;background:#fff}.pronunciation-score strong{font-size:28px;color:#7040d8}.pronunciation-score i{display:inline-block;padding:4px 7px;margin:2px;border-radius:8px;font-style:normal;font-weight:800}.pronunciation-score i.ok{background:#e3f8f0;color:#087d62}.pronunciation-score i.miss{background:#ffe9e8;color:#c83b38}.practice-warning{padding:10px;border-radius:10px;background:#fff3d9;color:#8b5b00;font-weight:750}.practice-reduced-motion *{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.practice-large-text .mobile-practice-hub{font-size:118%}.practice-large-text .mph-card p{font-size:14px}.practice-large-text #studyOverlay .overlay-body{font-size:118%}@media(max-width:620px){.practice-resume{align-items:flex-start;flex-direction:column}.practice-quick-settings{justify-content:flex-start}.speaking-card h2{font-size:22px}}
.practice-rank-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.practice-rank-strip span{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--soft);font-size:12px;font-weight:750;text-align:center}.practice-rank-strip b{color:#6534d2}@media(max-width:620px){.practice-rank-strip{grid-template-columns:1fr}}

/* Learner Practice uses the friendly, single-feed rhythm of the mobile Hub. */
.learner-practice-panel>.grid-2{display:block}.learner-practice-panel #workspaceSide{display:none}.learner-practice-panel>.section-head{max-width:1180px;margin-inline:auto}.learner-practice-panel .profile-box:has(#workspaceActions){max-width:1180px;margin-inline:auto;padding:22px;border:0;background:linear-gradient(180deg,#fbf9ff 0,#fff 42%);box-shadow:0 18px 50px rgba(78,46,132,.08)}.learner-practice-panel #workspaceActions{gap:22px}.learner-practice-panel #workspaceActions>.mobile-practice-hub{padding:0}.learner-practice-panel .mph-goal{border:0;background:linear-gradient(135deg,#6936dd 0%,#9c47e5 56%,#4dc9b0 145%);color:#fff;box-shadow:0 18px 38px rgba(104,53,214,.24)}.learner-practice-panel .mph-goal small,.learner-practice-panel .mph-goal h2,.learner-practice-panel .mph-goal strong,.learner-practice-panel .mph-goal-meta{color:#fff}.learner-practice-panel .mph-goal-icon{background:rgba(255,255,255,.18);color:#fff}.learner-practice-panel .mph-track{background:rgba(255,255,255,.24)}.learner-practice-panel .mph-track i{background:#fff}.learner-practice-panel .practice-rank-strip span{border:0;background:#f6f0ff}.learner-practice-panel .mph-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.learner-practice-panel .mph-card{min-height:205px;padding:18px;border:0;background:linear-gradient(155deg,#fff 58%,#f5efff);box-shadow:0 10px 28px rgba(62,38,103,.09)}.learner-practice-panel .mph-card:nth-child(4n+2){background:linear-gradient(155deg,#fff 58%,#eaf9f4)}.learner-practice-panel .mph-card:nth-child(4n+3){background:linear-gradient(155deg,#fff 58%,#edf4ff)}.learner-practice-panel .mph-card:nth-child(4n+4){background:linear-gradient(155deg,#fff 58%,#fff3e2)}.learner-practice-panel .mph-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(66,36,113,.15)}
#studyOverlay{backdrop-filter:blur(7px)}#studyOverlay .overlay-card{width:min(600px,calc(100vw - 28px))!important;border:0!important;border-radius:26px!important;overflow:hidden;box-shadow:0 30px 90px rgba(34,17,66,.26)!important}#studyOverlay .overlay-head{padding:19px 22px;background:linear-gradient(110deg,#f6f0ff,#fff)}#studyOverlay .overlay-head h2{font-size:19px}#studyOverlay .overlay-body{padding:22px;background:#fff}#studyOverlay #studyLang{margin:0 0 18px;padding:10px 38px 10px 13px;border-radius:13px;background-color:#f7f4fc}#studyOverlay .opt-btn{min-height:52px;padding:13px 16px!important;border:1px solid #e7e0f2!important;border-radius:15px!important;background:#fbfaff!important;font-size:16px;font-weight:800;transition:transform .15s,background .15s,border-color .15s}#studyOverlay .opt-btn:hover{transform:translateY(-1px);border-color:#9b77e8!important;background:#f3edff!important}#studyOverlay textarea{min-height:180px;border:1px solid #e5ddee;border-radius:16px;background:#fcfbff;padding:15px;font-size:16px;line-height:1.55}#studyOverlay .field label{margin-bottom:8px;color:#4d4260}#studyOverlay .btn.primary{border-radius:14px;background:linear-gradient(100deg,#6736dc,#9a40e2);box-shadow:0 9px 20px rgba(105,53,216,.18)}
@media(max-width:1120px){.learner-practice-panel .mph-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:820px){.learner-practice-panel .mph-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.learner-practice-panel .profile-box:has(#workspaceActions){padding:14px}}@media(max-width:560px){.learner-practice-panel .mph-grid{grid-template-columns:1fr!important}.learner-practice-panel .mph-card{min-height:160px}#studyOverlay .overlay-card{width:calc(100vw - 18px)!important;border-radius:22px!important}#studyOverlay .overlay-body{padding:17px}#studyOverlay .opt-btn{min-height:50px}}
.practice-section-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:4px}.practice-section-title h2{margin:4px 0 0;font-size:23px}.practice-section-title small{color:#a16207;font-size:10px;font-weight:950;letter-spacing:.13em}.practice-section-title>span{color:var(--soft);font-size:12px;font-weight:750}.learner-practice-panel .premium-grid,.learner-practice-panel .regular-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.learner-practice-panel .mph-card{min-height:180px}.learner-practice-panel .mph-card-copy{align-self:start}.learner-practice-panel .premium-card{border:1px solid #f5c84c;background:linear-gradient(145deg,#fffdf4 0%,#fff7d7 58%,#f3e9ff 130%);box-shadow:0 13px 30px rgba(190,126,12,.15)}.learner-practice-panel .premium-card:hover{border-color:#eba91b;box-shadow:0 18px 40px rgba(190,126,12,.22)}.learner-practice-panel .premium-card .mph-icon{border:1px solid #f4c64d;background:linear-gradient(145deg,#fff3bd,#f3e7ff);color:#8b5a00}.learner-practice-panel .premium-card .mph-open{display:block;padding:11px 14px;border-radius:13px;background:linear-gradient(100deg,#f0a51a,#783ee0);color:#fff;text-align:center}.learner-practice-panel .mph-premium{border:1px solid #f4c64d;background:#fff1bd;color:#8a5200}.learner-practice-panel .regular-grid .mph-card{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;column-gap:15px;align-items:center;text-align:left}.learner-practice-panel .regular-grid .mph-card-top{grid-row:1 / span 2;display:block;align-self:start}.learner-practice-panel .regular-grid .mph-card-top>span:not(.mph-icon){display:none}.learner-practice-panel .regular-grid .mph-card-copy{grid-column:2}.learner-practice-panel .regular-grid .mph-card h3{margin:0 0 6px;font-size:18px}.learner-practice-panel .regular-grid .mph-open{grid-column:2;display:block;margin-top:13px;padding:10px 13px;border-radius:12px;background:linear-gradient(100deg,#7140d8,#a426ad);color:#fff;text-align:center}.learner-practice-panel .regular-grid .mph-icon{width:56px;height:56px;border-radius:16px}@media(max-width:760px){.learner-practice-panel .premium-grid,.learner-practice-panel .regular-grid{grid-template-columns:1fr!important}.practice-section-title{align-items:flex-start;flex-direction:column}.learner-practice-panel .mph-card{min-height:164px}}
.practice-language-bar{display:flex;gap:10px;padding:12px;border-radius:18px;background:#f4efff}.practice-language-bar>div{display:grid;gap:5px;flex:1}.practice-language-bar small{color:#7657a8;font-size:9px;font-weight:950}.practice-language-bar select{min-height:44px;padding:0 13px;border:1px solid #dfd4f5;border-radius:13px;background:#fff;font-weight:850}.practice-daily{padding:18px;border:1px solid #e6def5;border-radius:22px;background:#fff}.practice-daily-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.practice-daily-head small{color:#7b47e6;font-size:9px;font-weight:950}.practice-daily-head h2{margin:3px 0 0}.practice-daily-head>b{padding:8px 11px;border-radius:999px;background:#eee7ff;color:#7040d8}.practice-daily-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.practice-daily-list button{display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center;padding:12px;border:0;border-radius:15px;background:#f8f5ff;text-align:left}.practice-daily-list i{width:33px;height:33px;display:grid;place-items:center;border-radius:11px;background:#e8ddff;color:#7040d8;font-style:normal}.practice-daily-list span{display:grid}.practice-daily-list small{color:var(--soft);font-size:10px}.practice-daily-list em{color:#7040d8;font-style:normal}.premium-paywall{display:grid;justify-items:center;gap:12px;text-align:center}.premium-paywall>span{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#fff0a8,#e8dcff);font-size:34px}.premium-paywall p{color:var(--soft)}.premium-paywall>div{display:grid;gap:8px;width:100%;padding:15px;border-radius:16px;background:#fff9e7;text-align:left}.premium-paywall>strong{font-size:30px;color:#7040d8}.dictionary-toolbar{display:flex;gap:10px}.dictionary-toolbar input{flex:1;padding:12px;border:1px solid var(--line);border-radius:13px}.dictionary-list{display:grid;gap:8px;margin-top:14px}.dictionary-list article{display:grid;grid-template-columns:1fr auto 38px 38px;gap:8px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px}.dictionary-list p{margin:4px 0;color:var(--soft)}.dictionary-list article>span{padding:5px;border-radius:99px;background:#edf8f4;font-size:10px}.dictionary-list button{height:36px;border:0;border-radius:11px}.calendar-summary,.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.calendar-summary span,.result-stats span{display:grid;justify-items:center;padding:12px;border-radius:14px;background:#f7f3ff}.activity-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:15px}.calendar-day{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;background:#f5f3f7}.calendar-day small{display:none}.calendar-day.active{background:#ddd0ff}.calendar-day.level-2{background:#b89cff;color:#fff}.calendar-day.level-3{background:#7040d8;color:#fff}.achievement-hero,.academy-head,.exam-hub-head{display:flex;align-items:center;gap:13px;padding:15px;border-radius:17px;background:linear-gradient(120deg,#fff6d8,#f0e8ff)}.achievement-hero>span,.academy-head>span,.exam-hub-head>span{font-size:38px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}.achievement-grid article{display:grid;justify-items:center;padding:15px;border-radius:15px;background:#f7f5f9;text-align:center}.achievement-grid article>span{font-size:29px}.achievement-grid .locked{filter:grayscale(1);opacity:.55}.achievement-grid .unlocked{border:1px solid #f3c548;background:#fffaf0}.practice-settings-list{display:grid;gap:8px}.practice-settings-list label{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px}.academy-topics,.exam-modules{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:13px}.academy-topics button,.exam-modules button{display:grid;grid-template-columns:40px 1fr auto;gap:9px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}.academy-topics i,.exam-modules button>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eee7ff;font-style:normal}.session-result{display:grid;justify-items:center;gap:11px;text-align:center}.result-burst{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#7b47e6,#27b68e);color:#fff;font-size:36px}.result-stats{width:100%}.result-progress{width:100%;height:9px;border-radius:99px;background:#ebe6f2}.result-progress i{display:block;height:100%;background:linear-gradient(90deg,#7040d8,#26b68e)}.practice-assigned{float:right;padding:5px;border-radius:99px;background:#fff1cf;font-size:10px}.practice-teacher-feedback{margin-top:10px;padding:10px;border-radius:11px;background:#f2edff}
.grammar-hub{display:grid;gap:16px}.grammar-hub-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:14px;padding:20px;border:1px solid #e3daf5;border-radius:24px;background:linear-gradient(135deg,#fff7dc,#fff 45%,#ebeefe)}.grammar-hub-copy small{color:#6f3fdb;font-size:10px;font-weight:950;letter-spacing:.13em}.grammar-hub-copy h2{margin:6px 0 8px;font-size:30px;line-height:1.05}.grammar-hub-copy p{margin:0;max-width:640px;color:#70657c;font-weight:650;line-height:1.5}.grammar-hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-self:start}.grammar-hub-stats span{display:grid;justify-items:center;padding:14px 10px;border:1px solid rgba(112,64,216,.14);border-radius:18px;background:rgba(255,255,255,.88);text-align:center}.grammar-hub-stats b{font-size:26px;color:#7040d8;line-height:1}.grammar-hub-stats small{margin-top:4px;color:#72667f;font-size:11px;font-weight:850;line-height:1.2}.grammar-bank-note{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:18px;background:#f7f4fb}.grammar-bank-note strong{color:#2d2437;font-size:16px}.grammar-bank-note p{margin:0;max-width:760px;color:#71667e;line-height:1.5}.grammar-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grammar-topic-card{display:grid;gap:12px;padding:18px;border:1px solid #e7def3;border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(44,26,78,.06)}.grammar-topic-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.grammar-topic-top i{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#eee6ff;color:#6840d2;font-style:normal;font-size:22px;font-weight:950}.grammar-topic-top span{padding:7px 10px;border-radius:999px;background:#f4efff;color:#7040d8;font-size:11px;font-weight:900}.grammar-topic-card h3{margin:0;font-size:24px;line-height:1.1}.grammar-topic-card p{margin:0;color:#71657e;line-height:1.5}.grammar-topic-card button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 14px;border:0;border-radius:14px;background:linear-gradient(135deg,#7040d8,#9a52f0);color:#fff;font-weight:900;cursor:pointer}.grammar-topic-card button em{font-style:normal}.grammar-bank-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:15px 18px;border:1px solid #e7def3;border-radius:18px;background:#fff}.grammar-bank-strip b{font-size:14px}.grammar-bank-strip>div{display:flex;gap:8px;flex-wrap:wrap}.grammar-bank-strip span{padding:8px 11px;border-radius:999px;background:#f7f3ff;color:#655775;font-size:12px;font-weight:850}
.vocab-hub{display:grid;gap:16px}.vocab-hub-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:14px;padding:20px;border:1px solid #d8ece4;border-radius:24px;background:linear-gradient(135deg,#effff7,#fff 48%,#eef6ff)}.vocab-hub-copy small{color:#17856a;font-size:10px;font-weight:950;letter-spacing:.13em}.vocab-hub-copy h2{margin:6px 0 8px;font-size:30px;line-height:1.05}.vocab-hub-copy p{margin:0;max-width:640px;color:#5f6f6a;font-weight:650;line-height:1.5}.vocab-hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-self:start}.vocab-hub-stats span{display:grid;justify-items:center;padding:14px 10px;border:1px solid rgba(18,148,113,.14);border-radius:18px;background:rgba(255,255,255,.9);text-align:center}.vocab-hub-stats b{font-size:26px;color:#109172;line-height:1}.vocab-hub-stats small{margin-top:4px;color:#687872;font-size:11px;font-weight:850;line-height:1.2}.vocab-bank-note{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:18px;background:#f1fbf7}.vocab-bank-note strong{color:#1f4036;font-size:16px}.vocab-bank-note p{margin:0;max-width:760px;color:#60716b;line-height:1.5}.vocab-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vocab-topic-card{display:grid;gap:12px;padding:18px;border:1px solid #dcebe5;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(22,80,67,.06)}.vocab-topic-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.vocab-topic-top i{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#ddf7ee;color:#0b7e62;font-style:normal;font-size:22px;font-weight:950}.vocab-topic-top span{padding:7px 10px;border-radius:999px;background:#eefaf5;color:#11886c;font-size:11px;font-weight:900}.vocab-topic-card h3{margin:0;font-size:24px;line-height:1.1}.vocab-topic-card p{margin:0;color:#60706b;line-height:1.5}.vocab-topic-card button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 14px;border:0;border-radius:14px;background:linear-gradient(135deg,#129471,#3dc6a0);color:#fff;font-weight:900;cursor:pointer}.vocab-topic-card button em{font-style:normal}
.skills-hub{display:grid;gap:16px}.skills-hub-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:14px;padding:20px;border:1px solid #d9e4f4;border-radius:24px;background:linear-gradient(135deg,#eef6ff,#fff 46%,#f7efff)}.skills-hub-copy small{color:#3568c8;font-size:10px;font-weight:950;letter-spacing:.13em}.skills-hub-copy h2{margin:6px 0 8px;font-size:30px;line-height:1.05}.skills-hub-copy p{margin:0;max-width:640px;color:#617083;font-weight:650;line-height:1.5}.skills-hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-self:start}.skills-hub-stats span{display:grid;justify-items:center;padding:14px 10px;border:1px solid rgba(52,118,212,.14);border-radius:18px;background:rgba(255,255,255,.9);text-align:center}.skills-hub-stats b{font-size:26px;color:#3476d4;line-height:1}.skills-hub-stats small{margin-top:4px;color:#667587;font-size:11px;font-weight:850;line-height:1.2}.skills-bank-note{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:18px;background:#f2f6fd}.skills-bank-note strong{color:#223248;font-size:16px}.skills-bank-note p{margin:0;max-width:760px;color:#657384;line-height:1.5}.skills-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skills-topic-card{display:grid;gap:12px;padding:18px;border:1px solid #dde7f4;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(36,59,108,.06)}.skills-topic-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.skills-topic-top i{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#e7f0ff;color:#2e65c0;font-style:normal;font-size:22px;font-weight:950}.skills-topic-top span{padding:7px 10px;border-radius:999px;background:#edf3ff;color:#356fcb;font-size:11px;font-weight:900}.skills-topic-card h3{margin:0;font-size:24px;line-height:1.1}.skills-topic-card p{margin:0;color:#607086;line-height:1.5}.skills-topic-card button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 14px;border:0;border-radius:14px;background:linear-gradient(135deg,#3476d4,#6ca5ff);color:#fff;font-weight:900;cursor:pointer}.skills-topic-card button em{font-style:normal}
.progress-hub{display:grid;gap:16px}.progress-hub-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:14px;padding:20px;border:1px solid #eadcbe;border-radius:24px;background:linear-gradient(135deg,#fff7e6,#fff 46%,#fff3d8)}.progress-hub-copy small{color:#ad6c00;font-size:10px;font-weight:950;letter-spacing:.13em}.progress-hub-copy h2{margin:6px 0 8px;font-size:30px;line-height:1.05}.progress-hub-copy p{margin:0;max-width:640px;color:#7a6b57;font-weight:650;line-height:1.5}.progress-hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-self:start}.progress-hub-stats span{display:grid;justify-items:center;padding:14px 10px;border:1px solid rgba(214,154,53,.16);border-radius:18px;background:rgba(255,255,255,.9);text-align:center}.progress-hub-stats b{font-size:26px;color:#b67300;line-height:1}.progress-hub-stats small{margin-top:4px;color:#7e705e;font-size:11px;font-weight:850;line-height:1.2}.progress-bank-note{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:18px;background:#fff8ea}.progress-bank-note strong{color:#4b3821;font-size:16px}.progress-bank-note p{margin:0;max-width:760px;color:#7a6b58;line-height:1.5}.progress-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.progress-topic-card{display:grid;gap:12px;padding:18px;border:1px solid #efe2c7;border-radius:22px;background:rgba(255,255,255,.95);box-shadow:0 12px 30px rgba(101,73,18,.06)}.progress-topic-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-topic-top i{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#fff1cf;color:#a66a00;font-style:normal;font-size:22px;font-weight:950}.progress-topic-top span{padding:7px 10px;border-radius:999px;background:#fff7e5;color:#a56a02;font-size:11px;font-weight:900}.progress-topic-card h3{margin:0;font-size:24px;line-height:1.1}.progress-topic-card p{margin:0;color:#786a58;line-height:1.5}.progress-topic-card button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 14px;border:0;border-radius:14px;background:linear-gradient(135deg,#d69424,#f1b850);color:#fff;font-weight:900;cursor:pointer}.progress-topic-card button em{font-style:normal}
@media(max-width:760px){.practice-daily-list,.academy-topics,.exam-modules{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(2,1fr)}.app:has(.learner-practice-panel){padding-bottom:78px}.app:has(.learner-practice-panel) .sidebar{position:fixed;z-index:300;left:0;right:0;bottom:0;top:auto;height:70px;padding:7px;border-top:1px solid var(--line)}.app:has(.learner-practice-panel) .sidebar>.brand,.app:has(.learner-practice-panel) .sidebar>.role-badge,.app:has(.learner-practice-panel) .sidebar>.role-select,.app:has(.learner-practice-panel) .sidebar>.side-foot{display:none}.app:has(.learner-practice-panel) .sidebar .nav{grid-template-columns:repeat(5,1fr)}.app:has(.learner-practice-panel) .sidebar .nav button{display:none}.app:has(.learner-practice-panel) .sidebar .nav button[data-view=home],.app:has(.learner-practice-panel) .sidebar .nav button[data-view=videos],.app:has(.learner-practice-panel) .sidebar .nav button[data-view=workspace],.app:has(.learner-practice-panel) .sidebar .nav button[data-view=messages],.app:has(.learner-practice-panel) .sidebar .nav button[data-view=profile]{display:flex;flex-direction:column}.app:has(.learner-practice-panel) .sidebar .nav button span:last-child{display:block}}
.practice-skeleton{display:grid;gap:9px}.practice-skeleton i{display:block;height:58px;border-radius:14px;background:linear-gradient(90deg,#eeeaf4,#faf8fc,#eeeaf4);background-size:200%;animation:practiceShimmer 1.2s infinite}@keyframes practiceShimmer{to{background-position:-200%}}.ranking-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end}.ranking-podium article{display:grid;justify-items:center;gap:5px;padding:14px;border-radius:15px;background:#f6f2ff;text-align:center}.ranking-podium article>span{font-size:30px}.ranking-podium .place-1{padding-top:24px;background:#fff5ce}.ranking-list,.recent-session-list{display:grid;gap:7px;margin-top:13px}.ranking-list article,.recent-session-list article{display:grid;grid-template-columns:42px 1fr auto auto;gap:8px;align-items:center;padding:11px;border-radius:12px;background:#f7f5f9}.ranking-list article.me{background:#eee6ff;color:#6030c9}.recent-session-list article{grid-template-columns:1fr auto auto}.recent-session-list article div{display:grid}.recent-session-list small{color:var(--soft)}

/* Learner profile */
.learner-profile-edit>.grid-2{align-items:start;grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr);gap:20px}.learner-profile-edit .profile-box{border:1px solid #e8e2f2;border-radius:24px;box-shadow:0 18px 48px rgba(57,35,94,.09)}.learner-profile-edit #profileForm{overflow:hidden;padding:0}.learner-profile-edit .profile-intro{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 18px;align-items:center;padding:108px 24px 24px;background:linear-gradient(135deg,#f1e8ff 0%,#f9f6ff 50%,#e8faf5 100%)}.learner-profile-edit .profile-intro:before{content:"";position:absolute;inset:0 0 auto;height:88px;background:linear-gradient(115deg,#6034da,#a543e3 65%,#42c6a5)}.learner-profile-edit .profile-head{position:relative;z-index:1}.learner-profile-edit .profile-head .avatar{width:82px;height:82px;border:5px solid #fff;box-shadow:0 9px 24px rgba(68,36,121,.2);font-size:26px}.learner-profile-edit .profile-head h2{font-size:24px;margin:0 0 4px}.learner-profile-edit .profile-head p{margin:0;color:#71677e;font-weight:700}.learner-profile-edit .profile-avatar-tools{align-items:flex-start}.learner-profile-edit .profile-kicker{position:absolute;right:22px;top:20px;z-index:1;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-size:12px;font-weight:900;letter-spacing:.06em}.learner-profile-summary{grid-column:1/-1}.learner-profile-badges{display:flex;flex-wrap:wrap;gap:8px}.learner-profile-badges span{padding:7px 11px;border:1px solid #e3d9f4;border-radius:999px;background:rgba(255,255,255,.85);color:#5f3ab0;font-size:12px;font-weight:900}.learner-profile-welcome{margin:10px 0 0;color:#6c6278;font-weight:700}.learner-profile-edit .profile-section{margin:0;padding:24px;border-top:1px solid #eee9f4}.learner-profile-edit .profile-section-title h3{font-size:18px}.learner-profile-edit .field input,.learner-profile-edit .field textarea{background:#fbfaff;border-color:#e7e1ef}.learner-profile-edit .field input:focus,.learner-profile-edit .field textarea:focus{background:#fff;border-color:#7840e8;box-shadow:0 0 0 3px rgba(120,64,232,.1)}.learner-profile-edit .danger-zone{margin:0 24px 24px;border-radius:18px}.learner-progress-card{position:sticky;top:18px;padding:22px!important;overflow:hidden}.learner-progress-card:before{content:"";display:block;height:5px;margin:-22px -22px 18px;background:linear-gradient(90deg,#6034da,#bf28d4,#43c6a6)}.learner-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 22px}.learner-stat-grid>div{display:flex;min-height:88px;flex-direction:column;align-items:center;justify-content:center;border-radius:17px;background:linear-gradient(145deg,#f2ebff,#fff);border:1px solid #e9e1f8}.learner-stat-grid>div:nth-child(2){background:linear-gradient(145deg,#fff4dc,#fff)}.learner-stat-grid>div:nth-child(3){background:linear-gradient(145deg,#e8faf4,#fff)}.learner-stat-grid b{font-size:23px;color:#6334d9}.learner-stat-grid span{margin-top:5px;color:#756a82;font-size:11px;font-weight:900;text-transform:uppercase}.learner-progress-card .prog-row{padding:10px 0}.learner-progress-card .prog-bar{height:9px;background:#f0ecf6}.learner-progress-card .prog-bar i{background:linear-gradient(90deg,#6737df,#b735db)}
@media(max-width:1100px){.learner-profile-edit>.grid-2{grid-template-columns:1fr}.learner-progress-card{position:static}}@media(max-width:680px){.learner-profile-edit .profile-intro{grid-template-columns:1fr;padding:100px 17px 20px}.learner-profile-edit .profile-section{padding:20px 17px}.learner-profile-edit .danger-zone{margin:0 17px 20px}.learner-stat-grid>div{min-height:76px}.learner-stat-grid b{font-size:19px}}

/* Full training experience: every tool opens as its own mobile-like screen. */
#studyOverlay.practice-immersive{padding:18px;background:rgba(28,16,48,.72);backdrop-filter:blur(14px)}#studyOverlay.practice-immersive .overlay-card{width:min(1040px,100%)!important;height:min(860px,calc(100vh - 36px));max-height:none!important;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid rgba(255,255,255,.7)!important;border-radius:30px!important;background:#fbf9ff;box-shadow:0 35px 110px rgba(25,10,48,.38)!important}#studyOverlay.practice-immersive .overlay-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 22px;border:0;background:rgba(255,255,255,.82);backdrop-filter:blur(12px)}#studyOverlay .practice-back{width:46px;height:46px;border:1px solid #e5ddee;border-radius:15px;background:#fff;color:#30263c;font-size:24px;font-weight:900;cursor:pointer;box-shadow:0 5px 14px rgba(45,27,73,.08)}.practice-head-copy{display:grid;gap:2px}.practice-head-copy small{color:#7742dc;font-size:9px;font-weight:950;letter-spacing:.14em}.practice-head-copy h2{margin:0;font-size:19px}.practice-session-xp{padding:9px 13px;border-radius:999px;background:#eee6ff;color:#6936d7;font-size:12px;font-weight:950}#studyOverlay.practice-immersive .overlay-body{overflow:auto;padding:25px 30px 34px;background:transparent}.practice-stage-intro{display:flex;align-items:center;gap:16px;margin-bottom:14px;padding:18px 20px;border:1px solid rgba(115,65,214,.13);border-radius:22px;background:rgba(255,255,255,.74);box-shadow:0 12px 28px rgba(56,33,91,.07)}.practice-stage-intro>span{width:62px;height:62px;display:grid;place-items:center;flex:none;border-radius:19px;background:#eee6ff;color:#6835d3;font-size:27px;font-weight:950}.practice-stage-intro small{color:#7742dc;font-size:9px;font-weight:950;letter-spacing:.13em}.practice-stage-intro h3{margin:4px 0 3px;font-size:22px}.practice-stage-intro p{margin:0;color:#756a82;font-weight:650}.practice-session-line{display:flex;align-items:center;gap:13px;margin:0 2px 18px}.practice-session-line>div{height:9px;flex:1;overflow:hidden;border-radius:99px;background:rgba(87,57,127,.12)}.practice-session-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7140d8,#b33be0);transition:width .3s}.practice-session-line span{color:#6e617c;font-size:11px;font-weight:900}.practice-workspace{min-height:410px;padding:26px;border:1px solid rgba(81,55,115,.1);border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 18px 45px rgba(50,29,82,.08)}
#studyOverlay[data-practice-accent=teal] .overlay-card{background:radial-gradient(circle at 85% 5%,#c9f4e7 0,transparent 34%),#f5fffb}#studyOverlay[data-practice-accent=teal] .practice-stage-intro>span{background:#dff8ef;color:#087b62}#studyOverlay[data-practice-accent=teal] .practice-session-line i{background:linear-gradient(90deg,#0b9b78,#43d0aa)}#studyOverlay[data-practice-accent=blue] .overlay-card{background:radial-gradient(circle at 85% 5%,#d8e8ff 0,transparent 35%),#f7faff}#studyOverlay[data-practice-accent=blue] .practice-stage-intro>span{background:#e2edff;color:#315fa8}#studyOverlay[data-practice-accent=blue] .practice-session-line i{background:linear-gradient(90deg,#3476d4,#70a8ff)}#studyOverlay[data-practice-accent=pink] .overlay-card{background:radial-gradient(circle at 85% 5%,#f7dafa 0,transparent 35%),#fff8ff}#studyOverlay[data-practice-accent=pink] .practice-stage-intro>span{background:#f9e4fb;color:#9d269e}#studyOverlay[data-practice-accent=amber] .overlay-card{background:radial-gradient(circle at 85% 5%,#ffe9b7 0,transparent 35%),#fffdf7}#studyOverlay[data-practice-accent=amber] .practice-stage-intro>span{background:#fff0ce;color:#a96700}#studyOverlay[data-practice-accent=amber] .practice-session-line i{background:linear-gradient(90deg,#e99b17,#ffd05c)}#studyOverlay[data-practice-accent=red] .overlay-card{background:radial-gradient(circle at 85% 5%,#ffd9d7 0,transparent 35%),#fff9f9}#studyOverlay[data-practice-tool=speaking] .practice-workspace{background:linear-gradient(155deg,rgba(255,255,255,.94),rgba(241,231,255,.92))}#studyOverlay[data-practice-tool=memory] .practice-workspace{background:linear-gradient(145deg,#fff,#fff2fb)}#studyOverlay[data-practice-tool=exam] .practice-workspace{border-color:#f2c45c;background:linear-gradient(145deg,#fffdf5,#fff5d9)}#studyOverlay[data-practice-tool=ai] .practice-workspace{background:linear-gradient(145deg,#f9f4ff,#eefaf7)}#studyOverlay[data-practice-tool=reading] .practice-workspace,#studyOverlay[data-practice-tool=readingarticles] .practice-workspace{background:linear-gradient(90deg,#fff 0 72%,#eef5ff 72%)}
@media(max-width:700px){#studyOverlay.practice-immersive{padding:0}#studyOverlay.practice-immersive .overlay-card{width:100%!important;height:100dvh;max-height:none!important;border:0!important;border-radius:0!important}#studyOverlay.practice-immersive .overlay-head{grid-template-columns:46px minmax(0,1fr) auto;padding:12px 14px}#studyOverlay.practice-immersive .overlay-body{padding:16px 14px 28px}.practice-head-copy h2{font-size:16px}.practice-session-xp{padding:7px 9px}.practice-stage-intro{padding:14px}.practice-stage-intro>span{width:50px;height:50px;border-radius:15px;font-size:22px}.practice-stage-intro h3{font-size:18px}.practice-stage-intro p{font-size:12px}.practice-workspace{min-height:calc(100dvh - 285px);padding:17px;border-radius:20px}#studyOverlay #studyLang{width:100%!important}}
.grammar-hub button,.vocab-hub button,.skills-hub button{font:inherit}@media(max-width:900px){.grammar-hub-hero,.vocab-hub-hero,.skills-hub-hero{grid-template-columns:1fr}.grammar-hub-stats,.vocab-hub-stats,.skills-hub-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.grammar-topic-grid,.vocab-topic-grid,.skills-topic-grid{grid-template-columns:1fr}}@media(max-width:640px){.grammar-hub-copy h2,.vocab-hub-copy h2,.skills-hub-copy h2{font-size:24px}.grammar-hub-stats,.vocab-hub-stats,.skills-hub-stats{grid-template-columns:1fr}.grammar-bank-note,.vocab-bank-note,.skills-bank-note{display:grid}.grammar-topic-card h3,.vocab-topic-card h3,.skills-topic-card h3{font-size:20px}}
.practice-gamebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-5px 0 15px}.practice-gamebar>span,.practice-gamebar button{min-height:36px;padding:8px 11px;border:1px solid rgba(103,62,184,.14);border-radius:12px;background:rgba(255,255,255,.82);color:#62438e;font-size:11px;font-weight:900}.practice-gamebar button{cursor:pointer}.practice-gamebar button:hover{background:#eee6ff}.practice-coach{margin:0 0 14px;padding:13px 15px;border:1px solid #e1d5f7;border-radius:15px;background:#f5f0ff;color:#554667}.practice-coach p{margin:5px 0 0;line-height:1.5}.answer-correct .practice-workspace{animation:practiceCorrect .55s}.answer-wrong .practice-workspace{animation:practiceWrong .42s}@keyframes practiceCorrect{30%{box-shadow:0 0 0 5px rgba(21,181,133,.25),0 18px 45px rgba(50,29,82,.08)}}@keyframes practiceWrong{25%,75%{transform:translateX(-6px)}50%{transform:translateX(6px)}}.sentence-drop{min-height:92px;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;padding:17px;border:2px dashed #a98ae8;border-radius:18px;background:#f8f4ff}.sentence-drop span{color:#796c87}.sentence-drop b,.sentence-bank button{padding:10px 13px;border-radius:12px;background:#fff;box-shadow:0 5px 13px rgba(52,31,83,.1)}.sentence-bank{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:20px 0}.sentence-bank button{border:1px solid #e0d7ef;font-weight:850;cursor:pointer}.sentence-bank button:disabled{opacity:.25}.category-word{padding:30px;text-align:center;font-size:34px;font-weight:950;color:#087d64}.category-instruction{text-align:center;color:#756a82}.category-zones{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.category-zones button{display:grid;justify-items:center;gap:7px;padding:25px 12px;border:1px solid #d8eee7;border-radius:19px;background:#f3fcf9;cursor:pointer}.category-zones span{font-size:31px}.scenario-scene{text-align:center;padding:28px;border-radius:22px;background:linear-gradient(145deg,#f9e9fb,#fff2f7)}.scenario-scene>span{font-size:50px}.scenario-scene small{display:block;color:#9e279c;font-weight:950;letter-spacing:.13em}.scenario-scene h2{margin:8px 0}.scenario-scene p{color:#685d73}.scenario-options{display:grid;gap:9px;margin-top:14px}.scenario-options button{padding:14px;border:1px solid #ead9ec;border-radius:14px;background:#fff;text-align:left;font-weight:800;cursor:pointer}.social-challenge{display:grid;justify-items:center;gap:13px;padding:25px;text-align:center}.social-challenge>span{font-size:58px}.social-challenge small{color:#7040d8;font-weight:950;letter-spacing:.13em}.social-challenge p{max-width:520px;color:#756a82}.social-score{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;width:min(520px,100%);padding:17px;border-radius:18px;background:#f4efff}.social-score b{padding:12px;border-radius:13px;background:#fff}.answer-review{width:100%;padding:13px;border:1px solid #e6dff0;border-radius:15px;text-align:left}.answer-review summary{cursor:pointer;font-weight:900}.answer-review p{margin:8px 0;padding:8px;border-radius:9px}.answer-review p.ok{background:#e8f8f2;color:#087b62}.answer-review p.bad{background:#fff0ef;color:#bc3935}.result-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;width:100%}@media(max-width:650px){.practice-gamebar{display:grid;grid-template-columns:repeat(2,1fr)}.practice-gamebar>span{text-align:center}.category-zones{grid-template-columns:1fr}.category-zones button{grid-template-columns:40px 1fr;padding:14px}.result-actions{display:grid}.result-actions .btn{width:100%}}
.answer-explanation{margin:10px 0 0;padding:10px;border-radius:11px;background:#f4efff;color:#5d4d70;font-size:12px;font-weight:700;line-height:1.5}.voice-wave{height:48px;display:flex;align-items:center;justify-content:center;gap:5px;margin:10px}.voice-wave i{width:5px;height:12px;border-radius:9px;background:#7140d8;animation:voiceWave .7s ease-in-out infinite alternate}.voice-wave i:nth-child(2n){animation-delay:.15s}.voice-wave i:nth-child(3n){animation-delay:.3s}@keyframes voiceWave{to{height:42px;background:#b33be0}}.writing-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.combo-bonus{padding:9px 13px;border-radius:999px;background:#fff1c9;color:#8b5700;font-weight:950}.weekly-report{display:grid;grid-template-columns:minmax(160px,.7fr) 1.3fr;gap:18px;align-items:center;margin:16px 0;padding:18px;border-radius:18px;background:linear-gradient(130deg,#f0e8ff,#f2fbf8)}.weekly-report small{color:#7040d8;font-weight:950}.weekly-report h3{margin:5px 0}.weekly-bars{height:110px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:8px}.weekly-bars span{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.weekly-bars i{width:70%;min-height:6px;border-radius:8px 8px 3px 3px;background:linear-gradient(#9b49e4,#6737db)}.weekly-bars small{font-size:9px;color:#776b83}.submission-review{display:grid;gap:10px;margin:9px 0;padding:14px;border:1px solid #e5deef;border-radius:16px;background:#fbfaff}.submission-review>div:first-child{display:flex;justify-content:space-between}.submission-review small{color:var(--soft)}.submission-review p{margin:0;padding:10px;border-radius:11px;background:#fff}.submission-review-form{display:grid;grid-template-columns:90px 1fr auto;gap:8px}.submission-review-form input{min-width:0;padding:10px;border:1px solid var(--line);border-radius:11px}@media(max-width:650px){.writing-actions,.weekly-report,.submission-review-form{grid-template-columns:1fr}.weekly-bars{height:90px}}
.answer-review article{margin:9px 0;padding:11px;border-radius:12px}.answer-review article.ok{background:#eaf9f3;color:#087b62}.answer-review article.bad{background:#fff0ef;color:#a93431}.answer-review article p{margin:5px 0;padding:0;background:none;color:inherit}.answer-review article small{display:block;margin-top:7px;color:#655970;line-height:1.45}
.practice-gamebar{justify-content:space-between}.practice-status{display:flex;gap:8px}.practice-status span{min-height:36px;padding:8px 12px;border:1px solid rgba(103,62,184,.14);border-radius:12px;background:rgba(255,255,255,.82);color:#62438e;font-size:12px;font-weight:950}.practice-tools{position:relative}.practice-tools summary{padding:9px 12px;border:1px solid rgba(103,62,184,.14);border-radius:12px;background:#fff;color:#62438e;font-size:11px;font-weight:900;cursor:pointer;list-style:none}.practice-tools[open] summary{border-radius:12px 12px 0 0;background:#f3edff}.practice-tools>div{position:absolute;z-index:5;right:0;top:100%;width:210px;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:9px;border:1px solid #ddd1f2;border-radius:14px 0 14px 14px;background:#fff;box-shadow:0 16px 34px rgba(48,27,80,.16)}.practice-tools button{min-height:38px!important}.answer-continue{display:block;margin:12px auto 0;min-width:180px}.inline-answer{display:grid;gap:8px;margin-top:14px;padding:15px;border-radius:16px;text-align:center}.inline-answer.ok{background:#e9f9f3;color:#087b62}.inline-answer.bad{background:#fff0ef;color:#a93b36}.inline-answer p{margin:0}.inline-answer .btn{justify-self:center}@media(max-width:650px){.practice-gamebar{display:flex}.practice-tools>div{position:fixed;left:12px;right:12px;bottom:12px;top:auto;width:auto;grid-template-columns:1fr 1fr;border-radius:18px;box-shadow:0 18px 60px rgba(30,15,54,.28)}}

/* Duel: live learner first, automatic bot fallback. */
.duel-status{min-height:26px;color:#745f8c;font-size:13px;font-weight:850}.duel-search-dot{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:#7a38ea;box-shadow:0 0 0 0 rgba(122,56,234,.45);animation:duelPulse 1.2s infinite}@keyframes duelPulse{70%{box-shadow:0 0 0 10px rgba(122,56,234,0)}}.duel-match-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:20px;padding:17px;border:1px solid #e8dff5;border-radius:22px;background:linear-gradient(135deg,#f7f2ff,#fff6f1)}.duel-match-head>div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:1px 10px}.duel-match-head>div:last-child{text-align:right;grid-template-columns:1fr auto}.duel-match-head>div:last-child .duel-avatar{grid-column:2;grid-row:1/3}.duel-match-head>div:last-child small,.duel-match-head>div:last-child b{grid-column:1}.duel-match-head strong{color:#8a70a8}.duel-match-head small{color:#806b99;font-weight:900}.duel-match-head b{font-size:25px}.duel-avatar{grid-row:1/3;display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#6f39e8;color:#fff;font-size:22px;font-weight:950;box-shadow:0 9px 20px rgba(88,46,173,.2)}.duel-avatar.bot{background:linear-gradient(145deg,#ffae37,#f26c72)}.duel-question{margin-bottom:15px;padding:25px;text-align:center;border:1px solid #eadff5;border-radius:22px;background:#fff}.duel-question small{color:#7b43db;font-weight:950;letter-spacing:.09em}.duel-question h2{margin:9px 0 0;font-size:26px}.duel-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.duel-options button{display:flex;align-items:center;gap:12px;min-height:62px;padding:13px;border:1px solid #e6dcef;border-radius:16px;background:#fff;color:#271f31;text-align:left;font-size:15px;font-weight:850;cursor:pointer;transition:.18s}.duel-options button:hover{border-color:#9d72ec;transform:translateY(-2px)}.duel-options button span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#f1eaff;color:#7040d8}.duel-options button.correct{border-color:#19a77b;background:#eaf9f3}.duel-options button.wrong{border-color:#df625d;background:#fff0ef}.duel-result{display:grid;justify-items:center;gap:12px;padding:30px;text-align:center}.duel-result>span{font-size:64px}.duel-result>small{color:#7040d8;font-weight:950;letter-spacing:.12em}.duel-result h2{margin:0;font-size:32px}.duel-result p{max-width:500px;margin:0;color:#74677f}.duel-final-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(370px,100%);padding:16px;border-radius:20px;background:#f4efff}.duel-final-score b{padding:13px;border-radius:14px;background:#fff;font-size:32px}.duel-result>strong{color:#7440df;font-size:22px}@media(max-width:650px){.duel-options{grid-template-columns:1fr}.duel-match-head{gap:8px;padding:12px}.duel-avatar{width:42px;height:42px}.duel-match-head small{font-size:9px}}

/* Exam journey, weak-pattern map and evaluation rubrics. */
.exam-journey{display:grid;grid-template-columns:minmax(260px,.9fr) 1.1fr;gap:14px;padding:18px;border:1px solid #e2d6f7;border-radius:24px;background:linear-gradient(135deg,#f4edff,#fff 55%,#eaf9f4)}.exam-journey-main small,.weak-map small,.exam-plan-hero small,.speaking-mode-head small,.writing-evaluation header small{color:#7040d8;font-size:9px;font-weight:950;letter-spacing:.12em}.exam-journey-main>div{display:flex;align-items:center;justify-content:space-between}.exam-journey-main h2{margin:5px 0}.exam-journey-main strong{font-size:29px;color:#7040d8}.exam-journey-main p{margin:5px 0 12px;color:#71657e}.exam-readiness-track,.skill-readiness i,.weak-topic-grid i,.speaking-rubric i,.writing-evaluation i{display:block;height:7px;overflow:hidden;border-radius:99px;background:#e9e3f1}.exam-readiness-track i,.skill-readiness em,.weak-topic-grid em,.speaking-rubric em,.writing-evaluation em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7140d8,#30b995)}.exam-journey-main .btn{margin-top:13px}.skill-readiness{display:grid;gap:7px}.skill-readiness button{display:grid;gap:6px;padding:8px 11px;border:0;border-radius:12px;background:rgba(255,255,255,.86);cursor:pointer}.skill-readiness span{display:flex;justify-content:space-between}.skill-readiness strong{color:#7040d8}.weak-map{padding:18px;border:1px solid #ece5f4;border-radius:22px;background:#fff}.weak-map-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.weak-map h2{margin:4px 0}.weak-map-head>span{padding:7px 10px;border-radius:99px;background:#fff0d1;color:#865800;font-size:11px;font-weight:900}.weak-topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.weak-topic-grid button{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border:1px solid #e9e1f2;border-radius:15px;background:#fbf9ff;text-align:left;cursor:pointer}.weak-topic-grid button>span{display:grid}.weak-topic-grid small{color:#776b83;letter-spacing:0}.weak-topic-grid strong{color:#7040d8}.weak-topic-grid i{grid-column:1/-1}.weak-empty{grid-column:1/-1;padding:16px;border-radius:14px;background:#eaf9f3;color:#087b62;font-weight:850}.exam-plan-form{display:grid;gap:16px}.exam-plan-hero,.speaking-mode-head{display:flex;align-items:center;gap:14px;padding:17px;border-radius:20px;background:linear-gradient(130deg,#f1e8ff,#eaf9f4)}.exam-plan-hero>span,.speaking-mode-head>span{font-size:38px}.exam-plan-hero h2,.speaking-mode-head h2{margin:4px 0}.exam-plan-hero p{margin:0;color:#71657e}.exam-plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.exam-plan-fields label{display:grid;gap:6px;color:#625671;font-size:12px;font-weight:900}.exam-plan-fields select,.exam-plan-fields input{min-height:48px;padding:0 12px;border:1px solid #e2daed;border-radius:13px;background:#fff;font:inherit}.exam-plan-preview{display:flex;justify-content:space-between;gap:10px;padding:14px;border-radius:14px;background:#f8f4ff}.exam-plan-preview span{color:#75697f}.speaking-modes{display:grid;gap:9px;margin-top:13px}.speaking-modes button{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:14px;border:1px solid #e8def5;border-radius:16px;background:#fff;text-align:left;cursor:pointer}.speaking-modes i{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eee6ff;color:#7040d8;font-style:normal;font-weight:950}.speaking-modes span{display:grid;gap:3px}.speaking-modes small{color:#786c84}.speaking-rubric,.writing-evaluation>div{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.speaking-rubric>span,.writing-evaluation>div>span{display:grid;grid-template-columns:1fr auto;gap:6px;padding:10px;border-radius:12px;background:#f8f5ff;text-align:left}.speaking-rubric i,.writing-evaluation i{grid-column:1/-1}.writing-evaluation{margin:14px 0;padding:15px;border:1px solid #dfd3f3;border-radius:18px;background:linear-gradient(145deg,#fbf8ff,#f1faf7)}.writing-evaluation header{display:flex;align-items:center;gap:10px}.writing-evaluation header>span{font-size:27px}.writing-evaluation h3{margin:2px 0}.writing-evaluation article{padding:11px;border-radius:12px;background:#fff}.writing-evaluation article p{margin:5px 0;color:#6e6278}.why-panel{display:grid;gap:8px;margin-top:12px;text-align:left}.why-panel header{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;background:#f5efff}.why-panel header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#7040d8;color:#fff}.why-panel header div{display:grid}.why-panel header small,.why-panel article small{color:#7040d8;font-size:9px;font-weight:950;letter-spacing:.09em}.why-panel article{padding:11px;border:1px solid #ebe4f2;border-radius:13px;background:#fff}.why-panel article p{margin:5px 0 0;color:#62566f;line-height:1.45}.why-panel .why-tip{border-color:#eed596;background:#fff9e8}.why-panel.ok header{background:#e8f8f2}.why-panel.ok header>span{background:#149974}
@media(max-width:850px){.exam-journey{grid-template-columns:1fr}.weak-topic-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.weak-topic-grid,.exam-plan-fields,.speaking-rubric,.writing-evaluation>div{grid-template-columns:1fr}.exam-plan-preview,.weak-map-head{align-items:flex-start;flex-direction:column}.writing-actions{grid-template-columns:1fr}}
.adaptive-daily .practice-daily-list button span u{display:block;margin-top:5px;color:#7b6f91;font-size:11px;font-style:normal;text-decoration:none}
.ai-checking{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0;padding:18px;border:1px solid #e5dcff;border-radius:16px;background:#faf8ff;color:#5d3acb;font-weight:800}
.ai-checking i{width:20px;height:20px;border:3px solid #dfd4ff;border-top-color:#7c36ed;border-radius:50%;animation:practiceAiSpin .8s linear infinite}
@keyframes practiceAiSpin{to{transform:rotate(360deg)}}
.ai-evaluation{margin-top:16px}.ai-evaluation .ai-summary{font-size:14px;line-height:1.55;color:#514763}
.ai-evaluation article ul{margin:8px 0 0;padding-left:20px}.ai-evaluation article li{margin:5px 0}
.ai-evaluation .ai-corrections p{padding:10px 0;border-bottom:1px solid #eee8fa}.ai-evaluation .ai-corrections del{color:#b6475b}.ai-evaluation .ai-corrections strong{color:#087f64}.ai-evaluation .ai-corrections small{display:block;margin-top:5px;color:#746a82}
.ai-result-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}
.mock-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.mock-progress span{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:12px;background:#f5f1fb;color:#8b8198;font-size:12px}.mock-progress span.active{background:#7534e9;color:#fff;box-shadow:0 10px 25px rgba(117,52,233,.22)}.mock-progress span.done{background:#e4f8ef;color:#087f64}
.mock-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mock-section-head small{color:#7c36ed;font-weight:900;letter-spacing:.08em}.mock-section-head h2{margin:4px 0 0}.mock-section-head>strong{padding:10px 16px;border-radius:12px;background:#20142e;color:#fff;font-variant-numeric:tabular-nums}
.mock-task,.mock-question{padding:24px;border:1px solid #e5def0;border-radius:20px;background:linear-gradient(145deg,#fff,#fbf8ff)}.mock-task textarea{width:100%;box-sizing:border-box;margin-top:14px;padding:16px;border:1px solid #dcd2eb;border-radius:14px;font:inherit;line-height:1.5;resize:vertical}.mock-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.mock-speaking{text-align:center}.mock-speaking>span{display:block;font-size:42px}.mock-reading-text{max-height:180px;overflow:auto;padding:16px;border-radius:14px;background:#f7f4fb;line-height:1.6}.mock-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.mock-options button{padding:15px;border:1px solid #ded5eb;border-radius:13px;background:#fff;text-align:left;font:inherit;font-weight:750;cursor:pointer}.mock-options button:hover{border-color:#7c36ed;background:#f8f4ff}
.mock-result{text-align:center;padding:28px}.mock-result>span{font-size:52px}.mock-result>small{display:block;margin-top:8px;color:#7c36ed;font-weight:900;letter-spacing:.08em}.mock-result>h2{font-size:52px;margin:8px}.mock-result>p{max-width:620px;margin:0 auto 22px;color:#6d637a}.mock-score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mock-score-grid button{display:flex;flex-direction:column;gap:5px;align-items:center;padding:16px;border:1px solid #e4dcef;border-radius:15px;background:#fff;cursor:pointer}.mock-score-grid button span{font-size:24px}.mock-score-grid button strong{color:#7534e9;font-size:20px}.mock-result-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}
@media(max-width:760px){.mock-progress{grid-template-columns:repeat(5,44px);overflow:auto;justify-content:start}.mock-progress span b{display:none}.mock-score-grid{grid-template-columns:1fr 1fr}.mock-options{grid-template-columns:1fr}.mock-section-head h2{font-size:20px}}
.practice-target-switcher{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;padding:10px;margin-bottom:22px;border:1px solid #e8e0f4;border-radius:24px;background:rgba(255,255,255,.72);box-shadow:0 14px 34px rgba(67,42,103,.08)}
.practice-target-switcher button{min-height:76px;display:flex;align-items:center;gap:13px;padding:13px 16px;border:1px solid #e5ddee;border-radius:19px;background:#fff;color:#21192b;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.practice-target-switcher button:hover{transform:translateY(-2px);border-color:#9e72ef;box-shadow:0 12px 24px rgba(119,53,231,.12)}
.practice-target-switcher button.active{border-color:transparent;background:linear-gradient(135deg,#7133e7,#ad43f0);color:#fff;box-shadow:0 14px 28px rgba(119,53,231,.25)}
.practice-target-switcher button>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:#f1eaff;color:#7040d8;font-size:20px}.practice-target-switcher button.active>span{background:rgba(255,255,255,.18);color:#fff}
.practice-target-switcher button b{display:flex;flex-direction:column;gap:3px;font-size:17px}.practice-target-switcher button small{font-size:12px;opacity:.72}.practice-target-switcher button em{margin-left:auto;font-style:normal;opacity:.55}
.target-chess .exam-journey,.target-chess .weak-map,.target-chess .practice-daily{display:none}
@media(min-width:980px){.practice-target-switcher{grid-template-columns:repeat(3,minmax(210px,1fr));max-width:980px}}
@media(max-width:640px){.practice-target-switcher{grid-template-columns:1fr}.practice-target-switcher button{min-height:68px}}

.practice-home-hero{display:grid;grid-template-columns:1fr;align-items:center;gap:18px;padding:22px;border-radius:28px;background:radial-gradient(circle at 14% 12%,rgba(255,255,255,.28),transparent 28%),linear-gradient(135deg,#5b22c8 0%,#8f38e1 52%,#2db9c8 130%);color:#fff;box-shadow:0 18px 42px rgba(91,34,200,.22)}
.practice-home-hero small{display:block;margin-bottom:6px;color:rgba(255,255,255,.78);font-size:10px;font-weight:950;letter-spacing:.14em}
.practice-home-hero h2{margin:0;font-size:30px;line-height:1.05}
.practice-home-hero p{max-width:620px;margin:8px 0 0;color:rgba(255,255,255,.86);font-weight:750;line-height:1.45}
.practice-home-hero .btn{border-color:rgba(255,255,255,.28);background:#fff;color:#6832d4}
.practice-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:9px;min-width:320px}
.practice-hero-stats span{display:grid;gap:2px;padding:13px 14px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(255,255,255,.15);backdrop-filter:blur(10px);font-size:11px;font-weight:850;text-transform:uppercase}
.practice-hero-stats b{font-size:22px;color:#fff;text-transform:none}
.practice-no-target .practice-home-hero{grid-template-columns:1fr auto;background:linear-gradient(135deg,#fff,#f3efff 60%,#e8faf5);color:#21192b;border:1px solid #e6ddf4;box-shadow:0 14px 34px rgba(67,42,103,.08)}
.practice-no-target .practice-home-hero small{color:#7040d8}.practice-no-target .practice-home-hero p{color:#6f657b}.practice-no-target .practice-home-hero .btn{background:#7040d8;color:#fff}
.subject-practice-note{display:flex;gap:16px;align-items:center;padding:18px;border:1px solid #e5daf5;border-radius:24px;background:linear-gradient(135deg,#fff,#f5efff 58%,#eaf9f4)}
.subject-practice-note>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#eee6ff;color:#7040d8;font-size:27px}
.subject-practice-note small{color:#7040d8;font-size:10px;font-weight:950;letter-spacing:.12em}
.subject-practice-note h2{margin:3px 0;font-size:22px}.subject-practice-note p{margin:0;color:#6f657b;font-weight:700;line-height:1.45}
.subject-practice .exam-journey,.subject-practice .weak-map{display:none}
.practice-teacher-head{padding-top:6px;border-top:1px solid #ece6f5}
@media(max-width:820px){.practice-home-hero{grid-template-columns:1fr}.practice-hero-stats{min-width:0;width:100%}}
@media(max-width:560px){.practice-hero-stats{grid-template-columns:1fr}.practice-home-hero h2{font-size:25px}.subject-practice-note{align-items:flex-start;flex-direction:column}}

.practice-top-actions{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(620px,1.45fr);gap:14px;align-items:stretch;margin-top:-2px}
.practice-top-actions .practice-quick-settings{justify-content:flex-start;align-content:center;padding:12px;border:1px solid #e8def7;border-radius:22px;background:linear-gradient(135deg,#fff,#f8f4ff);box-shadow:0 12px 28px rgba(69,42,109,.07)}
.practice-top-actions .practice-quick-settings button{min-height:44px;padding:10px 14px;border-color:#e3d8f5;background:#fff;color:#5f536e;font-size:12px;font-weight:950;box-shadow:0 7px 16px rgba(53,33,90,.05)}
.practice-top-actions .practice-quick-settings button[aria-pressed="true"]{border-color:#7b4bea;background:linear-gradient(135deg,#f1eaff,#fff);color:#6534d2}
.practice-rank-strip-top{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.learner-practice-panel .practice-rank-strip-top span,.practice-rank-strip-top span{min-height:70px;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 18px;border:1px solid #e7ddf7;border-radius:22px;background:linear-gradient(135deg,#fff,#f6f0ff 68%,#eefaf7);color:#5f536e;font-size:15px;font-weight:950;box-shadow:0 12px 28px rgba(69,42,109,.08)}
.practice-rank-strip-top b{font-size:22px;color:#6534d2}
.mobile-practice-hub>.adaptive-daily{border:0;background:linear-gradient(135deg,#ffffff 0%,#fbf8ff 55%,#effaf7 120%);box-shadow:0 16px 38px rgba(73,43,120,.1)}
.mobile-practice-hub>.adaptive-daily .practice-daily-head h2{font-size:24px}
.mobile-practice-hub>.adaptive-daily .practice-daily-list button{min-height:74px;border:1px solid #e7def6;background:#fff;box-shadow:0 9px 20px rgba(55,32,92,.06);cursor:pointer}
.mobile-practice-hub>.adaptive-daily .practice-daily-list i{width:42px;height:42px;border-radius:14px;font-size:16px;font-weight:950}
.mobile-practice-hub>.adaptive-daily .practice-daily-list b{font-size:15px}
@media(max-width:1120px){.practice-top-actions{grid-template-columns:1fr}.practice-top-actions .practice-quick-settings{justify-content:flex-start}.practice-rank-strip-top{grid-template-columns:repeat(4,1fr)}}
@media(max-width:860px){.practice-rank-strip-top{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.practice-rank-strip-top{grid-template-columns:1fr}.practice-top-actions .practice-quick-settings{display:grid;grid-template-columns:1fr}.practice-top-actions .practice-quick-settings button{width:100%}}

/* Learner profile: one coherent hero, quieter forms and a useful progress rail. */
.learner-profile-edit>.grid-2{
  align-items:start;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  gap:20px
}
.learner-profile-edit #profileForm{
  display:grid;
  gap:14px;
  padding:0;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none
}
.learner-profile-edit #profileForm .profile-intro{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,300px);
  grid-template-rows:auto auto;
  gap:18px 28px;
  align-items:end;
  min-height:260px;
  padding:84px 30px 30px;
  overflow:hidden;
  border:0;
  border-radius:26px;
  color:#fff;
  background:
    radial-gradient(circle at 87% 5%,rgba(75,211,194,.7),transparent 31%),
    radial-gradient(circle at 10% 110%,rgba(204,77,241,.45),transparent 38%),
    linear-gradient(128deg,#2b0d66 0%,#6734d8 54%,#277fa1 118%);
  box-shadow:0 24px 58px rgba(52,27,102,.22)
}
.learner-profile-edit #profileForm .profile-intro::before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-105px;
  top:-240px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:transparent
}
.learner-profile-edit #profileForm .profile-intro::after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:55px;
  top:-145px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%
}
.learner-profile-edit #profileForm .profile-head{
  position:relative;
  z-index:1;
  align-items:center;
  align-self:end;
  min-width:0
}
.learner-profile-edit #profileForm .profile-head .avatar{
  width:94px;
  height:94px;
  flex:0 0 94px;
  border:5px solid rgba(255,255,255,.95);
  background:#6d3fe0;
  box-shadow:0 14px 34px rgba(24,8,56,.32);
  color:#fff;
  font-size:30px
}
.learner-profile-edit #profileForm .profile-head h2,
.learner-profile-edit #profileForm .profile-intro #profileName{
  margin:0 0 5px;
  overflow:hidden;
  color:#fff;
  font-size:27px;
  font-weight:850;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap
}
.learner-profile-edit #profileForm .profile-head p,
.learner-profile-edit #profileForm .profile-intro #profileMeta{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:12.5px;
  font-weight:700
}
.learner-profile-edit #profileForm .profile-avatar-tools{
  position:relative;
  z-index:1;
  align-self:center;
  justify-self:center;
  gap:7px;
  width:min(360px,100%);
  padding:14px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:17px;
  background:rgba(255,255,255,.12);
  text-align:center;
  backdrop-filter:blur(10px)
}
.learner-profile-edit #profileForm .profile-avatar-tools .btn{
  width:100%;
  min-height:42px;
  justify-content:center;
  border-color:rgba(255,255,255,.85);
  background:#fff;
  color:#4f25b4;
  font-weight:850
}
.learner-profile-edit #profileForm .profile-avatar-tools .btn.ghost{
  min-height:36px;
  border-color:rgba(255,255,255,.3);
  background:rgba(255,255,255,.12);
  color:#fff
}
.learner-profile-edit #profileForm .profile-avatar-tools #avatarUploadHint{
  display:block;
  color:rgba(255,255,255,.68)!important;
  font-size:10.5px!important
}
.learner-profile-edit #profileForm .profile-avatar-tools .avatar-upload-status{
  display:block;
  min-height:17px;
  color:rgba(255,255,255,.82);
  font-size:11px;
  font-weight:800;
  line-height:1.35
}
.learner-profile-edit #profileForm .profile-avatar-tools .avatar-upload-status[data-tone="error"]{
  color:#ffe0e0
}
.learner-profile-edit #profileForm .profile-avatar-tools .avatar-upload-status[data-tone="saved"]{
  color:#d7fff0
}
.learner-profile-edit #profileForm .profile-kicker{
  position:absolute;
  z-index:2;
  right:24px;
  top:22px;
  padding:8px 13px;
  border-color:rgba(255,255,255,.38);
  background:rgba(255,255,255,.12);
  color:#fff;
  letter-spacing:.08em;
  backdrop-filter:blur(8px)
}
.learner-profile-edit #profileForm .learner-profile-summary{
  position:relative;
  z-index:1;
  grid-column:1;
  align-self:start
}
.learner-profile-edit #profileForm .learner-profile-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.learner-profile-edit #profileForm .learner-profile-badges span{
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:11px;
  font-weight:850;
  backdrop-filter:blur(8px)
}
.learner-profile-edit #profileForm .learner-profile-welcome{
  margin:10px 0 0;
  max-width:560px;
  color:rgba(255,255,255,.74);
  font-size:12.5px;
  font-weight:700;
  line-height:1.45
}
.learner-profile-edit #profileForm .profile-section{
  display:grid;
  gap:16px;
  margin:0;
  padding:24px;
  border:1px solid #e9e3f1;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 38px rgba(53,34,85,.055)
}
.learner-profile-edit #profileForm .profile-section+.profile-section{
  padding-top:24px
}
.learner-profile-edit #profileForm .profile-section-title{
  position:relative;
  display:grid;
  gap:5px;
  min-height:42px;
  padding-left:54px;
  padding-bottom:14px;
  border-bottom:1px solid #f0ecf5
}
.learner-profile-edit #profileForm .profile-section-title::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,#6d3fe0,#b743df);
  color:#fff;
  box-shadow:0 10px 22px rgba(109,63,224,.2);
  font-size:18px;
  font-weight:950
}
.learner-profile-edit #profileForm .profile-identity-section .profile-section-title::before{
  content:"👤"
}
.learner-profile-edit #profileForm .profile-public-section .profile-section-title::before{
  content:"✨";
  background:linear-gradient(135deg,#36b99b,#4a79d9)
}
.learner-profile-edit #profileForm .profile-contacts-section .profile-section-title::before{
  content:"@";
  background:linear-gradient(135deg,#111827,#7c3aed)
}
.learner-profile-edit #profileForm .profile-section-title h3{
  color:#211a2d;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.02em
}
.learner-profile-edit #profileForm .profile-section-title p{
  max-width:620px;
  color:#7b7287;
  font-size:13px;
  font-weight:750;
  line-height:1.5
}
.learner-profile-edit #profileForm .form-grid{
  gap:16px
}
.learner-profile-edit #profileForm .field{
  gap:8px
}
.learner-profile-edit #profileForm .field label{
  color:#62586f;
  font-size:12px;
  font-weight:900
}
.learner-profile-edit #profileForm .field input,
.learner-profile-edit #profileForm .field textarea,
.learner-profile-edit #profileForm .field select{
  width:100%;
  min-height:58px;
  padding:15px 16px;
  border:1px solid #e2dbe9;
  border-radius:16px;
  background:#fcfbff;
  color:#1f1829;
  font-size:15px;
  font-weight:650;
  transition:border-color .16s,box-shadow .16s,background .16s
}
.learner-profile-edit #profileForm .field textarea{
  min-height:150px;
  resize:vertical;
  line-height:1.6
}
.learner-profile-edit #profileForm .field select{
  appearance:auto;
  cursor:pointer
}
.learner-profile-edit #profileForm .field:focus-within label{
  color:#6d3fe0
}
.learner-profile-edit #profileForm .field input:focus,
.learner-profile-edit #profileForm .field textarea:focus,
.learner-profile-edit #profileForm .field select:focus{
  outline:0;
  border-color:#7945e5;
  background:#fff;
  box-shadow:0 0 0 4px rgba(121,69,229,.1)
}
.learner-profile-edit #profileForm .field input[readonly],
.learner-profile-edit #profileForm .field select:disabled{
  color:#766c82;
  background:linear-gradient(180deg,#f6f3fb,#f9f7fc)
}
.learner-profile-edit #profileForm .profile-identity-section{
  background:
    radial-gradient(circle at 0 0,rgba(109,63,224,.08),transparent 34%),
    #fff
}
.learner-profile-edit #profileForm .profile-public-section{
  background:
    radial-gradient(circle at 100% 0,rgba(54,185,155,.1),transparent 38%),
    #fff
}
.learner-profile-edit #profileForm .profile-contacts-section{
  background:
    radial-gradient(circle at 0 0,rgba(17,24,39,.06),transparent 34%),
    radial-gradient(circle at 100% 0,rgba(124,58,237,.08),transparent 36%),
    #fff
}
.learner-profile-edit #profileForm .profile-contacts-section .form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))
}
.learner-profile-edit #profileForm .profile-contacts-section .field input{
  padding-left:18px;
  background:#fff
}
.learner-profile-edit #profileForm .profile-contacts-section .field:nth-child(1) input:focus{
  border-color:#2aabee;
  box-shadow:0 0 0 4px rgba(42,171,238,.12)
}
.learner-profile-edit #profileForm .profile-contacts-section .field:nth-child(2) input:focus{
  border-color:#d946ef;
  box-shadow:0 0 0 4px rgba(217,70,239,.12)
}
.learner-profile-edit #profileForm .profile-contacts-section .field:nth-child(3) input:focus{
  border-color:#111827;
  box-shadow:0 0 0 4px rgba(17,24,39,.1)
}
.learner-profile-edit #profileForm .profile-public-section .field textarea{
  border-radius:18px;
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)
}
.learner-profile-edit #profileForm .profile-actions{
  gap:9px
}
.learner-profile-edit #profileForm .profile-actions .btn{
  min-height:42px;
  border-radius:12px;
  font-weight:800
}
.learner-profile-edit #profileForm .account-actions-section{
  background:linear-gradient(180deg,#fff,#fbf9ff)
}
.learner-profile-edit #profileForm .learner-account-actions{
  display:grid;
  grid-template-columns:1fr 1fr 150px;
  gap:10px;
  align-items:stretch;
  padding-top:0
}
.learner-profile-edit #profileForm .learner-account-actions .btn{
  position:relative;
  min-height:56px;
  justify-content:center;
  gap:9px;
  padding:12px 16px;
  border-radius:15px;
  box-shadow:0 10px 24px rgba(51,31,88,.06);
  transition:transform .16s,border-color .16s,box-shadow .16s,background .16s
}
.learner-profile-edit #profileForm .learner-account-actions .btn::before{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:10px;
  font-size:14px;
  font-weight:900
}
.learner-profile-edit #profileForm .learner-account-actions .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(51,31,88,.1)
}
.learner-profile-edit #profileForm .learner-account-actions button[type="submit"]::before{
  content:"✓";
  background:rgba(255,255,255,.18);
  color:#fff
}
.learner-profile-edit #profileForm .learner-account-actions #publicProfileLink::before{
  content:"↗";
  background:#f1ebff;
  color:#6d3fe0
}
.learner-profile-edit #profileForm .learner-account-actions #signOut::before{
  content:"⎋";
  background:#fff0ef;
  color:#df3b32
}
.learner-profile-edit #profileForm .learner-account-actions #profileSaved{
  grid-column:1/-1;
  justify-self:start;
  padding:7px 10px;
  border-radius:999px;
  background:#eafaf4;
  color:#168a69!important;
  font-size:12px;
  font-weight:900!important
}
.learner-profile-edit #profileForm .danger-zone{
  margin:0;
  padding:18px 20px;
  border-radius:20px;
  background:#fffafa;
  box-shadow:none
}
.learner-profile-edit #profileForm .learner-danger-zone{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  border-color:rgba(217,45,32,.16);
  background:linear-gradient(135deg,#fff,#fff7f6)
}
.learner-profile-edit #profileForm .learner-danger-zone .danger-zone-copy{
  position:relative;
  min-width:0;
  padding-left:46px
}
.learner-profile-edit #profileForm .learner-danger-zone .danger-zone-copy::before{
  content:"!";
  position:absolute;
  left:0;
  top:1px;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#fff0ef;
  color:#df3b32;
  font-weight:950
}
.learner-profile-edit #profileForm .learner-danger-zone .profile-actions{
  padding-top:0;
  justify-content:flex-end
}
.learner-profile-edit #profileForm .learner-danger-zone .btn.danger{
  min-height:44px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 24px rgba(217,45,32,.06)
}
.learner-profile-edit #progressCard.learner-progress-card{
  position:sticky;
  top:18px;
  padding:22px!important;
  overflow:hidden;
  border:1px solid #e9e3f1;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 48px rgba(53,34,85,.08)
}
.learner-profile-edit #progressCard.learner-progress-card::before{
  content:"";
  display:block;
  height:5px;
  margin:-22px -22px 18px;
  background:linear-gradient(90deg,#6334dc,#b63ddd,#36b99b)
}
.learner-profile-edit .learner-stat-grid{
  gap:8px
}
.learner-profile-edit .learner-stat-grid>div{
  min-height:82px;
  border-radius:16px
}
.learner-profile-edit #progressCard .leaderboard-panel{
  margin-top:18px;
  padding:16px;
  border:1px solid #ece6f5;
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fbf9ff);
  box-shadow:0 12px 30px rgba(70,43,111,.06)
}
.learner-profile-edit #progressCard .leaderboard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px
}
.learner-profile-edit #progressCard .leaderboard-head h3{
  margin:0;
  font-size:17px;
  line-height:1.2
}
.learner-profile-edit #progressCard .leaderboard-head p{
  margin:5px 0 0;
  color:#7b7287;
  font-size:12px;
  font-weight:750;
  line-height:1.4
}
.learner-profile-edit #progressCard .leaderboard-head .role-select{
  width:auto;
  min-width:132px;
  min-height:38px;
  padding:8px 34px 8px 12px;
  border-radius:12px;
  background-color:#fff;
  font-weight:900
}
.learner-profile-edit #progressCard .rank-list{
  display:grid;
  gap:8px;
  margin-top:0
}
.learner-profile-edit #progressCard .rank-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  border-radius:14px;
  background:#f3edff;
  color:#6d3fe0;
  font-size:12px;
  font-weight:900
}
.learner-profile-edit #progressCard .rank-summary span,
.learner-profile-edit #progressCard .rank-summary strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.learner-profile-edit #progressCard .rank-row{
  display:grid;
  grid-template-columns:28px 38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid #eee8f6;
  border-radius:15px;
  background:#fff
}
.learner-profile-edit #progressCard .rank-row.me{
  border-color:#d6c5ff;
  background:#f3edff
}
.learner-profile-edit #progressCard .rank-num{
  color:#9a91a6;
  font-weight:950;
  text-align:center
}
.learner-profile-edit #progressCard .rank-row .avatar{
  width:38px!important;
  height:38px!important;
  border:2px solid #fff;
  font-size:13px!important;
  box-shadow:0 4px 14px rgba(54,38,80,.12)
}
.learner-profile-edit #progressCard .rank-person{
  min-width:0;
  display:grid;
  gap:2px
}
.learner-profile-edit #progressCard .rank-person b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#191323;
  font-size:13px
}
.learner-profile-edit #progressCard .rank-person span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#83778f;
  font-size:11px;
  font-weight:850
}
.learner-profile-edit #progressCard .rank-score{
  display:grid;
  gap:1px;
  min-width:42px;
  color:#6d3fe0;
  text-align:right
}
.learner-profile-edit #progressCard .rank-score b{
  font-size:15px;
  line-height:1
}
.learner-profile-edit #progressCard .rank-score span{
  color:#8b8195;
  font-size:10px;
  font-weight:950
}
@media(max-width:1180px){
  .learner-profile-edit>.grid-2{grid-template-columns:1fr}
  .learner-profile-edit #progressCard.learner-progress-card{position:static}
}
@media(max-width:720px){
  .learner-profile-edit #profileForm .profile-intro{
    grid-template-columns:1fr;
    min-height:0;
    padding:74px 20px 22px
  }
  .learner-profile-edit #profileForm .profile-avatar-tools{
    align-self:stretch;
    justify-self:stretch;
    width:100%
  }
  .learner-profile-edit #profileForm .learner-account-actions{
    grid-template-columns:1fr
  }
  .learner-profile-edit #profileForm .learner-account-actions #profileSaved{
    justify-self:stretch;
    text-align:center
  }
  .learner-profile-edit #profileForm .learner-danger-zone{
    grid-template-columns:1fr
  }
  .learner-profile-edit #progressCard .leaderboard-head{
    display:grid
  }
  .learner-profile-edit #progressCard .leaderboard-head .role-select{
    width:100%
  }
  .learner-profile-edit #profileForm .profile-contacts-section .form-grid{
    grid-template-columns:1fr
  }
  .learner-profile-edit #progressCard .rank-summary{
    align-items:flex-start;
    flex-direction:column
  }
  .learner-profile-edit #progressCard .rank-summary span,
  .learner-profile-edit #progressCard .rank-summary strong{
    max-width:100%
  }
  .learner-profile-edit #profileForm .learner-danger-zone .profile-actions,
  .learner-profile-edit #profileForm .learner-danger-zone .btn.danger{
    width:100%
  }
  .learner-profile-edit #profileForm .learner-profile-summary{
    grid-column:1
  }
  .learner-profile-edit #profileForm .profile-section{
    padding:19px 17px
  }
}
@media(max-width:500px){
  .learner-profile-edit #profileForm .profile-head{
    align-items:flex-start
  }
  .learner-profile-edit #profileForm .profile-head .avatar{
    width:78px;
    height:78px;
    flex-basis:78px;
    font-size:25px
  }
  .learner-profile-edit #profileForm .profile-head h2,
  .learner-profile-edit #profileForm .profile-intro #profileName{
    max-width:calc(100vw - 150px);
    font-size:22px
  }
  .learner-profile-edit #profileForm .profile-kicker{
    right:16px;
    top:16px
  }
}

/* Student ranking page */
.student-rank-page{display:grid;gap:20px}
.student-rank-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:22px;align-items:end;padding:28px;border-radius:28px;background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.2),transparent 24%),radial-gradient(circle at 92% 12%,rgba(67,198,166,.28),transparent 28%),linear-gradient(135deg,#3b158e 0%,#7134e6 48%,#3374c8 100%);color:#fff;box-shadow:0 22px 60px rgba(69,40,129,.18)}
.student-rank-hero::before{content:"";position:absolute;inset:-120px auto auto -60px;width:260px;height:260px;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.student-rank-hero>div{position:relative;z-index:1}
.student-rank-hero span{display:inline-flex;margin-bottom:10px;padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.student-rank-hero h2{max-width:720px;margin:0;color:#fff;font-size:34px;font-weight:950;letter-spacing:-.04em}
.student-rank-hero p{max-width:680px;margin:10px 0 0;color:rgba(255,255,255,.82);font-size:14px;font-weight:750;line-height:1.55}
.student-rank-control{display:grid;gap:8px;padding:16px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.14);backdrop-filter:blur(12px)}
.student-rank-control label{display:grid;gap:6px;color:rgba(255,255,255,.8);font-size:12px;font-weight:950}
.student-rank-control .role-select{min-height:48px;border-color:rgba(255,255,255,.34);background:#fff;color:#20172d;border-radius:15px;font-weight:950}
.student-rank-control input.role-select{font:inherit;font-weight:850}
.rank-control-grid{grid-template-columns:1fr 1fr}
.rank-control-grid label:first-child{grid-column:1/-1}
.student-rank-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px;border:1px solid #e8e2f2;border-radius:22px;background:rgba(255,255,255,.76);box-shadow:0 14px 34px rgba(67,42,103,.07)}
.student-rank-tabs button{display:flex;align-items:center;gap:10px;min-height:58px;padding:12px 14px;border:1px solid #ece6f5;border-radius:17px;background:#fff;color:#5f556d;font:inherit;font-weight:900;cursor:pointer;text-align:left;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s,color .16s}
.student-rank-tabs button span{display:grid;width:34px;height:34px;place-items:center;border-radius:12px;background:#f4efff;font-size:18px}
.student-rank-tabs button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.student-rank-tabs button:hover{transform:translateY(-2px);border-color:#d9caf8;box-shadow:0 10px 22px rgba(67,42,103,.08)}
.student-rank-tabs button.active{border-color:transparent;background:linear-gradient(135deg,#6d3fe0,#a642df);color:#fff;box-shadow:0 14px 28px rgba(109,63,224,.22)}
.student-rank-tabs button.active span{background:rgba(255,255,255,.18)}
.student-rank-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:20px;align-items:start}
.student-rank-card{border:1px solid #e8e2f2;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(57,35,94,.08)}
.student-rank-main{padding:22px}
.student-rank-side{display:grid;gap:12px;padding:18px;position:sticky;top:18px;background:radial-gradient(circle at 100% 0,rgba(109,63,224,.08),transparent 38%),#fff}
.student-rank-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.student-rank-section-head h3{margin:0;color:#211a2d;font-size:22px;font-weight:950;letter-spacing:-.025em}
.student-rank-section-head p{margin:4px 0 0;color:#7b7287;font-size:13px;font-weight:850}
.student-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin-bottom:18px}
.student-podium-card{display:grid;justify-items:center;gap:8px;min-height:178px;padding:18px 12px;border:1px solid #ece6f5;border-radius:22px;background:linear-gradient(180deg,#fff,#fbf9ff);text-align:center}
.student-podium-card.place-1{min-height:204px;background:linear-gradient(180deg,#fff7d7,#fff);box-shadow:0 16px 32px rgba(199,139,18,.12)}
.student-podium-card.place-2{background:linear-gradient(180deg,#f3f0ff,#fff)}
.student-podium-card.place-3{background:linear-gradient(180deg,#ecfaf5,#fff)}
.student-medal{font-size:28px}
.student-podium-card .avatar{width:62px;height:62px;border:4px solid #fff;box-shadow:0 10px 22px rgba(45,28,75,.14)}
.student-podium-card b{max-width:100%;overflow:hidden;color:#1f1829;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:950}
.student-podium-card strong{color:#6d3fe0;font-size:13px}
.student-rank-list{display:grid;gap:9px}
.student-rank-row{display:grid;grid-template-columns:34px 46px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #eee8f6;border-radius:18px;background:#fff;transition:transform .16s,box-shadow .16s,border-color .16s}
.student-rank-row:hover{transform:translateY(-2px);border-color:#d9caf8;box-shadow:0 12px 28px rgba(67,42,103,.08)}
.student-rank-row.me{border-color:#cdb7ff;background:linear-gradient(90deg,#f3edff,#fff)}
.student-rank-number{color:#9a91a6;font-size:16px;font-weight:950;text-align:center}
.student-rank-row .avatar{width:46px;height:46px;border:2px solid #fff;box-shadow:0 6px 16px rgba(45,28,75,.1)}
.student-rank-person{min-width:0;display:grid;gap:3px}
.student-rank-person b{overflow:hidden;color:#1f1829;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:950}
.student-rank-person span{overflow:hidden;color:#81768e;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850}
.student-rank-score{display:grid;min-width:66px;color:#6d3fe0;text-align:right}
.student-rank-score b{font-size:18px;line-height:1;font-weight:950}
.student-rank-score span{margin-top:3px;color:#8b8195;font-size:10px;font-weight:950}
.student-rank-profile{min-height:38px;padding:8px 11px;border-radius:12px;white-space:nowrap}
.student-rank-stat{padding:16px;border:1px solid #ece6f5;border-radius:18px;background:linear-gradient(145deg,#fff,#fbf9ff)}
.student-rank-stat span{color:#83778f;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.student-rank-stat b{display:block;margin-top:6px;color:#6d3fe0;font-size:28px;font-weight:950}
.student-rank-stat p{margin:5px 0 0;color:#796f86;font-size:12px;font-weight:750;line-height:1.45}
.student-rank-note{padding:16px;border-radius:18px;background:#191323;color:#fff}
.student-rank-note b{display:block;margin-bottom:6px}
.student-rank-note p{margin:0;color:rgba(255,255,255,.72);font-size:12px;font-weight:700;line-height:1.5}
.student-rank-note span{display:block;margin-top:12px;color:#cfc3ff;font-size:11px;font-weight:900}
.student-rank-loading,.student-rank-empty{padding:24px;border:1px dashed #ded4ef;border-radius:18px;background:#fbf9ff;color:#796f86;font-weight:850;text-align:center}
@media(max-width:1080px){.student-rank-grid,.student-rank-hero{grid-template-columns:1fr}.student-rank-side{position:static}.student-rank-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.student-rank-hero{padding:22px 18px;border-radius:24px}.student-rank-hero h2{font-size:26px}.rank-control-grid{grid-template-columns:1fr}.rank-control-grid label:first-child{grid-column:auto}.student-rank-tabs{grid-template-columns:1fr}.student-podium{grid-template-columns:1fr}.student-podium-card,.student-podium-card.place-1{min-height:0}.student-rank-row{grid-template-columns:28px 40px minmax(0,1fr) auto;gap:9px}.student-rank-profile{grid-column:3/-1;justify-self:start}}

/* Practice library mobile hub */
.learner-practice-panel>.section-head{display:none}
.learner-practice-panel .profile-box:has(#workspaceActions){max-width:596px;margin-inline:auto;padding:0;border:0;border-radius:0;background:#f4f1f8;box-shadow:none}
.learner-practice-panel #workspaceActions{gap:0}
.practice-library-mobile{gap:18px;margin:0;padding:18px 22px 32px;background:#f4f1f8;color:#20172d}
.practice-language-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:9px;border-radius:30px;background:#f7f5fb;box-shadow:inset 0 0 0 1px rgba(138,118,166,.12)}
.practice-language-tabs button{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:74px;padding:14px 16px;border:1px solid #e2ddea;border-radius:23px;background:#fff;color:#1e1727;font:inherit;text-align:left;cursor:pointer;box-shadow:0 5px 14px rgba(43,31,69,.04)}
.practice-language-tabs button:first-child:last-child,.practice-language-tabs button:nth-child(3){grid-column:1/-1}
.practice-language-tabs button.active{border-color:transparent;background:linear-gradient(100deg,#7541e8,#a044f0);color:#fff;box-shadow:0 12px 26px rgba(116,65,232,.22)}
.practice-language-tabs span{grid-row:1/span 2;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f2eaff;color:#7845e8}
.practice-language-tabs span svg{width:24px;height:24px}
.practice-language-tabs button.active span{background:rgba(255,255,255,.17);color:#fff}
.practice-language-tabs b{align-self:end;font-size:19px;font-weight:950;line-height:1}
.practice-language-tabs small{align-self:start;color:inherit;font-size:14px;font-weight:950;opacity:.76}
.practice-goal-progress,.practice-exam-journey{display:grid;gap:16px;padding:22px;border-radius:28px;background:#fff;color:#181221;box-shadow:0 10px 28px rgba(42,31,64,.06)}
.practice-goal-head{display:flex;align-items:center;gap:14px}
.practice-goal-head>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#f1eaff;color:#7744e6}
.practice-goal-head svg{width:30px;height:30px}
.practice-goal-head div{flex:1;min-width:0}
.practice-goal-head small,.practice-exam-title small,.practice-quick-head small{display:block;color:#7544e6;font-size:12px;font-weight:950;letter-spacing:.18em}
.practice-goal-head h2{margin:3px 0 0;color:#171020;font-size:25px;font-weight:950;line-height:1.06}
.practice-goal-head>strong{color:#12a77b;font-size:25px;font-weight:950}
.practice-goal-track{height:13px;border-radius:999px;background:#ece8f3;overflow:hidden}
.practice-goal-track i{display:block;height:100%;border-radius:inherit;background:#16ad83}
.practice-goal-track.exam i{background:linear-gradient(90deg,#7040d8,#a442e7)}
.practice-goal-stats{display:grid;grid-template-columns:1fr 1fr 2.35fr;gap:11px}
.practice-goal-stats>span{display:grid;align-content:start;min-height:105px;padding:15px;border-radius:18px;background:#f8f4ff}
.practice-goal-stats small{color:#787184;font-size:12px;font-weight:950;letter-spacing:.08em}
.practice-goal-stats b{margin-top:5px;color:#171020;font-size:20px;font-weight:950}
.practice-goal-stats .wide{position:relative;overflow:hidden}
.practice-goal-stats .wide>em{position:absolute;right:15px;top:31px;display:inline-flex;align-items:center;height:30px;padding:0 13px;border-radius:999px;background:#be792c;color:#fff;font-style:normal;font-size:13px;font-weight:950}
.practice-goal-stats .wide>i{height:7px;margin:8px 0 14px;border-radius:999px;background:#eadff0;overflow:hidden}
.practice-goal-stats .wide>i u{display:block;height:100%;border-radius:inherit;background:#c47a2c;text-decoration:none}
.practice-goal-stats strong{color:#7544e6;font-size:19px;font-weight:950}
.practice-goal-progress>p{display:flex;align-items:center;gap:10px;margin:0;padding:14px 16px;border-radius:17px;background:#f7f3ff;color:#615970;font-size:16px;font-weight:950}
.practice-goal-progress>p span{display:grid;width:24px;height:24px;color:#7040d8}
.practice-exam-journey{border:1px solid #d8cceb;background:#fbf9ff;box-shadow:none}
.practice-exam-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.practice-exam-title h2{margin:22px 0 0;color:#09070d;font-size:40px;font-weight:950;line-height:1;letter-spacing:0}
.practice-exam-title>strong{color:#7340df;font-size:56px;font-weight:950;line-height:1}
.practice-exam-journey>p{margin:0;color:#5f596b;font-size:22px;font-weight:800;line-height:1.35}
.practice-exam-date{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;padding:13px;border-radius:20px;background:#f0e7fb}
.practice-exam-date>span{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#fff;color:#7544e6}
.practice-exam-date svg{width:27px;height:27px}
.practice-exam-date small{color:#756a84;font-size:12px;font-weight:950;letter-spacing:.08em}
.practice-exam-date b{display:block;color:#15101c;font-size:18px;font-weight:950}
.practice-exam-date em{justify-self:end;padding:10px 14px;border-radius:999px;background:#fff;color:#7544e6;font-style:normal;font-size:15px;font-weight:950}
.practice-exam-actions{display:flex;align-items:center;gap:18px}
.practice-exam-actions button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:62px;padding:0 24px;border:1px solid #ded5e9;border-radius:18px;background:#fff;color:#0f0a15;font:inherit;font-size:20px;font-weight:950;cursor:pointer}
.practice-exam-actions button svg{width:23px;height:23px}
.practice-exam-actions button:last-child{border:0;background:transparent;color:#7544e6}
.practice-exam-actions button:last-child span{font-size:25px}
.practice-skill-readiness{display:grid;gap:18px;margin-top:4px}
.practice-skill-readiness button{display:grid;gap:9px;padding:16px;border:0;border-radius:19px;background:#fff;color:#100b16;font:inherit;text-align:left;cursor:pointer}
.practice-skill-readiness span{display:flex;align-items:center;justify-content:space-between;gap:12px}
.practice-skill-readiness b,.practice-skill-readiness strong{font-size:23px;font-weight:950}
.practice-skill-readiness strong{color:#7544e6}
.practice-skill-readiness i{height:10px;border-radius:999px;background:#ebe3f1;overflow:hidden}
.practice-skill-readiness em{display:block;height:100%;border-radius:inherit;background:#7544e6}
.practice-quick-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:6px 2px -2px}
.practice-quick-head h2{margin:3px 0 0;color:#171020;font-size:29px;font-weight:950;line-height:1}
.practice-quick-head>span{display:grid;place-items:center;min-width:40px;height:40px;border-radius:50%;background:#efe9ff;color:#7040d8;font-size:16px;font-weight:950}
.practice-quick-start{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;overflow:hidden}
.practice-quick-card{display:grid;align-content:start;justify-items:start;gap:20px;min-height:132px;padding:18px 16px;border:0;border-radius:24px;background:#fff;color:#171020;font:inherit;text-align:left;box-shadow:0 10px 26px rgba(42,31,64,.06);cursor:pointer}
.practice-quick-card span{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#e8fff8;color:#14a982}
.practice-quick-card:nth-child(2) span{background:#eef5ff;color:#3b72b5}
.practice-quick-card:nth-child(3) span{background:#fff0fb;color:#bb35a4}
.practice-quick-card svg{width:30px;height:30px}
.practice-quick-card b{font-size:18px;font-weight:950;line-height:1.1}
.practice-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 2px 0}
.practice-library-head small{display:block;margin-bottom:3px;color:#7140d8;font-size:12px;font-weight:950;letter-spacing:.18em}
.practice-library-head h2{margin:0;color:#171020;font-size:31px;font-weight:950;line-height:1;letter-spacing:0}
.practice-library-head>span{display:grid;place-items:center;min-width:44px;height:44px;border-radius:50%;background:#efe9ff;color:#7040d8;font-size:17px;font-weight:950}
.practice-exercise-bank{display:grid;gap:18px}
.mph-exercise-card{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:18px;row-gap:16px;align-items:start;width:100%;min-height:0;padding:22px 22px 20px;border:0;border-radius:28px;background:#fff;color:#20172d;text-align:left;font:inherit;box-shadow:0 8px 24px rgba(42,31,64,.06);cursor:pointer}
.mph-exercise-card.premium-exercise{border:1.5px solid #f2c929;background:#fffdee;box-shadow:none}
.mph-exercise-card.regular-exercise{box-shadow:0 11px 26px rgba(38,28,61,.07)}
.mph-exercise-top{display:contents}
.mph-exercise-icon{grid-column:1;grid-row:1;display:grid;place-items:center;width:68px;height:68px;border:1.5px solid #f2c929;border-radius:19px;background:#f7eefc;color:#7d42e7}
.mph-exercise-icon svg{width:34px;height:34px}
.premium-exercise:nth-child(3) .mph-exercise-icon{color:#e14a58}
.premium-exercise:nth-child(4) .mph-exercise-icon{color:#df4f83}
.premium-exercise:nth-child(5) .mph-exercise-icon{color:#1791ad}
.premium-exercise:nth-child(6) .mph-exercise-icon{color:#8242e6}
.regular-exercise .mph-exercise-icon{border:0;background:#e9fff9;color:#13a982}
.regular-exercise:nth-child(9) .mph-exercise-icon{background:#f1e9ff;color:#7544e6}
.regular-exercise:nth-child(10) .mph-exercise-icon{background:#fff7e5;color:#b17116}
.regular-exercise:nth-child(11) .mph-exercise-icon{background:#eaf8ff;color:#2794c4}
.regular-exercise:nth-child(12) .mph-exercise-icon{background:#fff2e5;color:#ef8a28}
.mph-premium-badge{grid-column:2;grid-row:1;justify-self:end;align-self:start;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 16px;border:1.5px solid #f2c929;border-radius:999px;background:#fffdf1;color:#8a4c0c;font-size:15px;font-weight:950;line-height:1;white-space:nowrap}
.mph-exercise-copy{grid-column:2;grid-row:1;min-width:0;padding-right:132px}
.regular-exercise .mph-exercise-copy{padding-right:0}
.mph-exercise-copy h3{margin:5px 0 3px;color:#20170d;font-size:25px;font-weight:950;line-height:1.03;letter-spacing:0}
.mph-exercise-copy strong{display:block;color:#a94300;font-size:18px;font-weight:950;line-height:1.12}
.regular-exercise .mph-exercise-copy strong{color:#7544e6}
.mph-exercise-copy p{margin:28px 0 0 -88px;color:#5f596b;font-size:19px;font-weight:500;line-height:1.38;letter-spacing:0}
.mph-exercise-action{grid-column:1/-1;display:grid;place-items:center;min-height:58px;border-radius:18px;background:linear-gradient(100deg,#ffa300 0%,#b65aa7 55%,#753ee8 100%);color:#fff;font-size:21px;font-weight:950;text-align:center}
.regular-exercise .mph-exercise-action{background:linear-gradient(100deg,#7d45ed 0%,#b215a6 100%)}
@media(min-width:980px){
  .learner-practice-panel .profile-box:has(#workspaceActions){max-width:1080px}
  .practice-exercise-bank{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mph-exercise-card{grid-template-columns:58px minmax(0,1fr);column-gap:14px;row-gap:14px;padding:18px;border-radius:24px}
  .mph-exercise-icon{width:56px;height:56px;border-radius:17px}
  .mph-exercise-icon svg{width:29px;height:29px}
  .mph-premium-badge{position:absolute;right:18px;top:18px;height:34px;padding:0 12px;font-size:13px}
  .premium-exercise .mph-exercise-copy{padding-right:108px}
  .regular-exercise .mph-exercise-copy{padding-right:0}
  .mph-exercise-copy h3{margin-top:4px;font-size:21px;line-height:1.08}
  .mph-exercise-copy strong{font-size:15px}
  .mph-exercise-copy p{margin:20px 0 0 -72px;font-size:16px;line-height:1.36}
  .mph-exercise-action{min-height:50px;border-radius:16px;font-size:18px}
}
#workspaceActions:not(.show-practice-db) .practice-library-mobile ~ .section-head,
#workspaceActions:not(.show-practice-db) .practice-library-mobile ~ .practice-filterbar,
#workspaceActions:not(.show-practice-db) .practice-library-mobile ~ .practice-tabs,
#workspaceActions:not(.show-practice-db) .practice-library-mobile ~ .practice-card-grid,
#workspaceActions:not(.show-practice-db) .practice-library-mobile ~ .practice-no-results,
#workspaceActions:not(.show-practice-db) .practice-library-mobile ~ .challenge-card-grid{display:none!important}
@media(max-width:700px){
  body:not(.business-mode) .sidebar{position:fixed;left:0;right:0;bottom:0;z-index:220;height:74px;padding:0;border:0;border-top:1px solid rgba(31,23,44,.08);background:rgba(255,255,255,.96);box-shadow:0 -10px 30px rgba(28,20,43,.08);backdrop-filter:blur(14px)}
  body:not(.business-mode) .brand,body:not(.business-mode) .side-status,body:not(.business-mode) .side-foot,body:not(.business-mode) .user-chip,body:not(.business-mode) .role-switcher{display:none!important}
  body:not(.business-mode) .nav{height:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:0}
  body:not(.business-mode) .nav button{display:none}
  body:not(.business-mode) .nav button[data-view="home"],body:not(.business-mode) .nav button[data-view="videos"],body:not(.business-mode) .nav button[data-view="workspace"],body:not(.business-mode) .nav button[data-view="messages"],body:not(.business-mode) .nav button[data-view="profile"]{display:flex;min-width:0;height:74px;flex-direction:column;justify-content:center;gap:4px;padding:0 4px;border-radius:0;background:transparent;color:#908a9c;font-size:13px;font-weight:600}
  body:not(.business-mode) .nav button span:last-child{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body:not(.business-mode) .nav button.active{color:#7140d8}
  body:not(.business-mode) .nav .nav-icon{width:25px;height:25px}
  body:not(.business-mode) .main{padding:0 0 74px;background:#f4f1f8}
  .learner-practice-panel{background:#f4f1f8}
  .learner-practice-panel .grid-2{gap:0}
  .practice-library-mobile{min-height:calc(100dvh - 74px);padding:16px 22px 32px}
}
@media(max-width:430px){
  .practice-library-mobile{padding-inline:16px}
  .mph-exercise-card{grid-template-columns:62px minmax(0,1fr);gap:15px;padding:20px;border-radius:25px}
  .mph-exercise-icon{width:62px;height:62px;border-radius:18px}
  .mph-exercise-copy{padding-right:0}
  .mph-premium-badge{position:absolute;right:20px;top:28px;height:34px;padding:0 12px;font-size:13px}
  .premium-exercise .mph-exercise-copy{padding-right:112px}
  .mph-exercise-copy h3{font-size:22px}
  .mph-exercise-copy strong{font-size:16px}
  .mph-exercise-copy p{margin-top:24px;margin-left:-77px;font-size:17px}
  .mph-exercise-action{min-height:54px;font-size:19px}
}
