:root{--glass-bg: linear-gradient(135deg, rgba(255, 255, 255, .68) 0%, rgba(255, 255, 255, .48) 46%, rgba(240, 246, 255, .42) 100%);--glass-bg-strong: linear-gradient(145deg, rgba(255, 255, 255, .78) 0%, rgba(255, 255, 255, .58) 42%, rgba(226, 239, 255, .5) 100%);--glass-bg-deep: linear-gradient(145deg, rgba(255, 255, 255, .6) 0%, rgba(244, 248, 255, .44) 50%, rgba(225, 238, 255, .38) 100%);--glass-bg-nested: linear-gradient(145deg, rgba(255, 255, 255, .56) 0%, rgba(255, 255, 255, .34) 100%);--glass-border: rgba(255, 255, 255, .52);--glass-border-soft: rgba(255, 255, 255, .34);--glass-shadow: 0 28px 80px -34px rgba(32, 62, 118, .3), 0 14px 36px -24px rgba(15, 23, 42, .22), inset 0 1px 0 rgba(255, 255, 255, .72), inset 0 -1px 0 rgba(255, 255, 255, .12);--glass-shadow-strong: 0 34px 96px -38px rgba(24, 45, 88, .36), 0 18px 48px -24px rgba(15, 23, 42, .26), inset 0 1px 0 rgba(255, 255, 255, .82), inset 0 -1px 0 rgba(255, 255, 255, .16);--glass-shadow-press: 0 18px 40px -26px rgba(15, 23, 42, .2), inset 0 1px 0 rgba(255, 255, 255, .65);--glass-blur: blur(42px) saturate(1.8);--glass-blur-deep: blur(56px) saturate(1.95);--glass-radius: 1.75rem;--glass-radius-lg: 2rem;--glass-tint-blue: rgba(96, 165, 250, .14);--glass-tint-violet: rgba(167, 139, 250, .14);--glass-tint-emerald: rgba(52, 211, 153, .14);--glass-text: #1e293b;--glass-text-soft: #334155;--glass-label: rgba(51, 65, 85, .72);--glass-spring: cubic-bezier(.34, 1.56, .64, 1)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.glass-panel{position:relative;overflow:hidden;isolation:isolate;background:#ffffffeb;border:1px solid rgba(226,232,240,.6);box-shadow:0 22px 44px -28px #0f172a2e}.glass-panel:before,.liquid-glass-panel:before,.liquid-glass-card:before,.liquid-glass-tooltip:before,.lesson-card:before,.vocab-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 34%,transparent),radial-gradient(circle at top left,rgba(255,255,255,.08),transparent 38%);opacity:.1}.glass-panel:after,.liquid-glass-panel:after,.liquid-glass-card:after,.liquid-glass-tooltip:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;pointer-events:none;border-radius:inherit;border:1px solid rgba(255,255,255,.16);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;opacity:.2}.editorial-shadow{box-shadow:0 22px 44px -28px #0f172a2e}body{position:relative;color:var(--glass-text);background:radial-gradient(circle at top left,#ffffffdb,#fff0 34%),linear-gradient(180deg,#f8f2ea,#eef4ff 38%,#edf6f1);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 16% 14%,rgba(96,165,250,.18),transparent 18%),radial-gradient(circle at 82% 12%,rgba(167,139,250,.18),transparent 22%),radial-gradient(circle at 74% 78%,rgba(52,211,153,.16),transparent 20%);filter:blur(32px);opacity:.8;z-index:-2}.ambient-stage{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:-1}.ambient-orb{position:absolute;border-radius:999px;filter:blur(70px);opacity:.5;transform:translateZ(0);animation:orbFloat 20s ease-in-out infinite}.ambient-orb.orb-blue{top:8%;left:-8%;width:23rem;height:23rem;background:radial-gradient(circle,rgba(96,165,250,.48),rgba(96,165,250,.16) 40%,transparent 72%)}.ambient-orb.orb-violet{top:12%;right:-4%;width:20rem;height:20rem;background:radial-gradient(circle,rgba(167,139,250,.46),rgba(217,70,239,.14) 42%,transparent 72%);animation-delay:-7s}.ambient-orb.orb-emerald{bottom:4%;left:28%;width:24rem;height:24rem;background:radial-gradient(circle,rgba(52,211,153,.34),rgba(16,185,129,.12) 45%,transparent 74%);animation-delay:-12s}.ambient-orb.orb-warm{bottom:12%;right:8%;width:18rem;height:18rem;background:radial-gradient(circle,rgba(251,191,36,.2),rgba(251,191,36,.08) 45%,transparent 72%);animation-delay:-4s}@keyframes orbFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-18px,0) scale(1.04)}}@keyframes liquidJiggle{0%{transform:translateZ(0) scale(1)}30%{transform:translate3d(0,-2px,0) rotate(-1.2deg) scale(1.03)}60%{transform:translate3d(0,-1px,0) rotate(1.5deg) scale(1.04)}to{transform:translateZ(0) rotate(0) scale(1.04)}}h1,h2,h3{text-shadow:0 1px 0 rgba(255,255,255,.7),0 10px 24px rgba(148,163,184,.18)}p,li,span,label,input,select,button{color:inherit}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.lyrics-flow{position:relative;overflow:hidden;min-height:7rem}.lyrics-track{display:flex;align-items:baseline;gap:1rem;width:max-content;transition:transform .32s ease;padding:1rem 50%}.lyrics-word{flex:0 0 auto;color:#475569;font-family:Playfair Display,serif;font-size:1rem;line-height:1;letter-spacing:.01em;transform:scale(.96);transform-origin:center;transition:color .22s ease,transform .22s ease,opacity .22s ease,text-shadow .22s ease;white-space:nowrap;opacity:.74}.lyrics-word.is-active{color:#2563eb;transform:scale(1.28);opacity:1;text-shadow:0 0 10px rgba(59,130,246,.22)}.lyrics-word.is-near{color:#0f172a;transform:scale(1.02);opacity:.9}.lyrics-subtitle{margin-top:.875rem;text-align:center;min-height:1.75rem;color:#64748b}@keyframes vocabFadeIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes lessonArchiveFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes lessonDetailCardReveal{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lessonTopicPulse{0%,to{box-shadow:0 0 #3b82f600}50%{box-shadow:0 0 18px #3b82f633}}@keyframes lessonKeywordFilterIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.vocab-item{animation:vocabFadeIn .48s ease-out both}.vocab-row{position:relative;overflow:hidden;transition:transform .36s ease-out,background-color .28s ease-out,border-color .28s ease-out,box-shadow .32s ease-out}.vocab-row:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 22px 44px -28px #0f172a38}.vocab-header{cursor:pointer}.vocab-header:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:4px}.vocab-keyword{transition:color .22s ease}.vocab-row:hover .vocab-keyword,.vocab-row.is-expanded .vocab-keyword{color:#0f172a}.vocab-ipa{letter-spacing:.04em}.vocab-chevron{transition:transform .26s ease,color .26s ease}.vocab-row.is-expanded .vocab-chevron{transform:rotate(180deg);color:#2563eb}.vocab-details,.lesson-details,.vocab-collocations{overflow:hidden;max-height:0;opacity:0;transition:max-height .4s ease,opacity .26s ease}.lesson-card.is-expanded>.lesson-details,.vocab-details.is-open,.vocab-collocations.is-open{max-height:99999px;opacity:1;overflow:visible}.vocab-detail-card{position:relative}.vocab-expanded-keyword{transition:opacity .24s ease,transform .24s ease}.vocab-row.is-expanded .vocab-expanded-keyword{transform:translateY(0);opacity:1}.vocab-divider{height:1px;background:linear-gradient(90deg,#94a3b800,#94a3b84d,#94a3b800)}.vocab-action{transition:transform .28s ease-out,border-color .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease}.vocab-action:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 18px 36px -24px #3b82f638}.vocab-action-word{border-color:#bfdbfee6;background:#eff6fff2;color:#0e7490}.vocab-action-word:hover{background:#e0f2fefa}.vocab-action-sentence{border-color:#bfdbfee6;background:#f8fafcf2;color:#0f172a}.vocab-action-sentence:hover{background:#f1f5f9}.vocab-action-youglish{border-color:#fecdd3f2;background:#fff1f2fa;color:#e11d48}.vocab-action-youglish:hover{background:#ffe4e6}.vocab-collocation-toggle{cursor:pointer;color:#475569;border-color:#e2e8f0e6;background:#ffffffe6;transition:transform .22s ease,border-color .22s ease,background-color .22s ease,color .22s ease}.vocab-collocation-toggle:hover{border-color:#7dd3fce6;background:#f0f9fff2;color:#0e7490}.vocab-collocation-toggle.is-open{border-color:#38bdf8f2;background:#eff6fff2;color:#0e7490}.vocab-collocation-toggle .material-symbols-outlined{transition:transform .22s ease}.vocab-collocation-toggle.is-open .material-symbols-outlined{transform:rotate(180deg)}.vocab-collocations.is-open{opacity:1}.vocab-collocation-panel{background:#fffffff0;border:1px solid rgba(226,232,240,.5);box-shadow:inset 0 1px #ffffffb3,0 18px 42px -32px #0f172a2e}.collocation-section-card,.collocation-section-entry{min-width:0}.collocation-section-entry+.collocation-section-entry{border-top:1px solid rgba(226,232,240,.75);padding-top:.85rem}.lessons-shell{position:relative;overflow:hidden;border-radius:2rem;background:#fffffff5;border:1px solid rgba(226,232,240,.6);box-shadow:0 22px 44px -28px #0f172a2e}.lesson-sidebar{background:radial-gradient(circle at top left,rgba(191,219,254,.46),transparent 42%),radial-gradient(circle at bottom right,rgba(167,139,250,.2),transparent 42%),linear-gradient(180deg,#ffffffb8,#f4f8ff8f)}.lesson-profile-avatar{background:linear-gradient(135deg,#3b82f629,#0ea5e947)}.lesson-card{position:relative;overflow:hidden;transition:transform .36s ease-out,border-color .26s ease,box-shadow .3s ease,background-color .26s ease}.lesson-card-item{animation:lessonArchiveFadeIn .44s ease-out both}.lesson-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(59,130,246,.04),transparent 55%);opacity:0;transition:opacity .26s ease;pointer-events:none}.lesson-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 22px 44px -28px #0f172a38}.lesson-card.is-expanded{box-shadow:0 0 0 1px #93c5fd47,0 30px 88px -44px #2563eb85,inset 0 1px #ffffffc7}.lesson-card.is-expanded:before,.lesson-card:hover:before{opacity:1}.lesson-row-header{cursor:pointer}.lesson-row-header:focus-visible{outline:2px solid rgba(59,130,246,.65);outline-offset:4px}.lesson-date-chip,.lesson-keyword-count{letter-spacing:.18em}.lesson-filter-pill{transition:transform .3s ease-out,border-color .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease}.lesson-filter-pill.is-active{background:linear-gradient(135deg,#60a5fa38,#a78bfa2e);border-color:#93c5fdb8;color:#1e40af;box-shadow:0 18px 36px -28px #3b82f680,inset 0 1px #ffffffc7}.lesson-keyword-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;background:#fffffff0;border:1px solid rgba(226,232,240,.5);box-shadow:inset 0 1px #ffffffb8;margin-bottom:.85rem}.lesson-topic-tags{display:flex;flex-wrap:wrap;gap:.5rem}.lesson-topic-tag{position:relative;overflow:hidden;transform:translateZ(0);transition:transform .28s ease-out,box-shadow .22s ease,opacity .22s ease,border-color .22s ease}.topic-show-more{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:3px 10px;background:linear-gradient(135deg,#94a3b81a,#64748b26);border-radius:9999px;cursor:pointer;font-family:var(--font-label, ui-sans-serif, system-ui, sans-serif);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:#64748b;transition:all .2s}.topic-show-more:hover{background:#94a3b833}.lesson-topic-tag:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 55%);opacity:0;transition:opacity .22s ease}.lesson-topic-tag:hover{transform:translateY(-2px) scale(1.04);animation:lessonTopicPulse 1.8s ease-in-out infinite}.lesson-topic-tag:hover:after{opacity:1}.lesson-topic-tag.is-active{box-shadow:0 0 0 2px #fff9,0 0 0 4px #3b82f638}.lesson-topic-clear{min-height:44px;transition:border-color .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease,transform .28s ease-out}.lesson-topic-clear:hover{border-color:#60a5fae6;color:#0f172a;box-shadow:0 12px 24px -18px #2563eb73;transform:translateY(-1px)}.lesson-keyword-list{display:flex;flex-direction:column;gap:.9rem}.lesson-keyword-entry{transition:opacity .24s ease,transform .24s ease,max-height .24s ease}.lesson-keyword-entry.is-filter-hidden{display:none}.lesson-keyword-entry.is-filter-match{animation:lessonKeywordFilterIn .36s ease-out both}.lesson-vocab-detail-card{transform-origin:top center}.vocab-row.is-expanded .lesson-vocab-detail-card{animation:lessonDetailCardReveal .36s ease-out both}.lesson-collocation-empty-state{display:flex;gap:.9rem;align-items:flex-start;border-radius:1rem;background:#fffffff0;padding:1rem;border:1px solid rgba(226,232,240,.5)}.lesson-collocation-empty-state .material-symbols-outlined{color:#0ea5e9}.keyword-spelling-variation-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.46);background:#ffffff6b;color:#475569;box-shadow:inset 0 1px #ffffffd9}.lesson-synonym-card{border:1px solid rgba(191,219,254,.85);background:radial-gradient(circle at top right,rgba(186,230,253,.38),transparent 42%),linear-gradient(180deg,#fffffffa,#f8fafcfa)}.lesson-synonym-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;background:#0ea5e91f;color:#0369a1;border:1px solid rgba(125,211,252,.55)}.lesson-synonym-nuance{border:1px solid rgba(251,191,36,.24);background:linear-gradient(180deg,#fffbebf2,#fff7edfa)}.lesson-learner-notes-card{border:1px solid rgba(253,230,138,.65);background:radial-gradient(circle at top left,rgba(254,240,138,.24),transparent 38%),linear-gradient(180deg,#fffbebf5,#fff7edfa)}.lesson-false-friend-card{border:1px solid rgba(253,186,116,.42);background:linear-gradient(180deg,#fff7edf5,#fff1f2f5)}.lesson-mistake-card{border:1px solid rgba(253,230,138,.5);background:#ffffffd1}@media(max-width:1279px){.lesson-sidebar{position:static}}.liquid-glass-panel{background:linear-gradient(135deg,#ffffff8c,#ffffff59,#f8fafc73);box-shadow:0 0 0 .5px #fff6,0 4px 24px -4px #0000000f,0 1px 2px #0000000a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a}.liquid-glass-card{background:linear-gradient(135deg,#fff9,#fff6,#f8fafc80);box-shadow:0 0 0 .5px #ffffff4d,0 8px 32px -8px #00000014,inset 0 1px #fff6}.liquid-glass-tooltip{background:linear-gradient(135deg,#ffffffbf,#ffffff8c);box-shadow:0 0 0 .5px #ffffff80,0 12px 40px -12px #00000026,inset 0 1px #fff9}.liquid-legend-pill{transition:all .2s ease}.liquid-legend-pill:hover{background:#ffffff80;transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}@keyframes liquidPulse{0%,to{box-shadow:0 0 #3b82f64d,0 0 8px #3b82f626}50%{box-shadow:0 0 0 6px #3b82f600,0 0 12px #3b82f614}}.chart-data-point{position:absolute;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;transition:all .2s ease;z-index:20;border:2px solid white;box-shadow:0 1px 4px #00000026}#chartContainer{position:relative;z-index:0}.progress-chart-wrap{z-index:0;pointer-events:none}#chartDetailPanel{position:relative;z-index:40;isolation:isolate}#detailPanelScores{position:relative;z-index:2}.chart-data-point:hover{transform:translate(-50%,-50%) scale(1.4);z-index:25;box-shadow:0 2px 12px #3b82f640}.chart-data-point.is-latest{animation:liquidPulse 2.5s ease-in-out infinite;width:16px;height:16px}.chart-data-point.active{transform:translate(-50%,-50%) scale(1.5);z-index:30;animation:none}.liquid-score-card{position:relative;z-index:1;cursor:pointer;user-select:none;-webkit-user-select:none;pointer-events:auto;touch-action:manipulation;background:linear-gradient(180deg,#ffffffc7,#ffffff8f);border:none!important;outline:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:1rem;border:1px solid rgba(255,255,255,.3);padding:.5rem .75rem;text-align:center;transition:all .2s ease;display:block;width:100%;font:inherit;color:inherit}.liquid-score-card:hover{background:#fff9;transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.liquid-linked-item{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .6rem;border-radius:.75rem;transition:all .15s ease;cursor:pointer;font-size:.8125rem;line-height:1.5;color:#475569}.liquid-linked-item:hover{background:#3b82f60f;color:#1e40af}.liquid-linked-item:active{transform:scale(.98)}.liquid-linked-item,.verbatim-quote-card,#detailPanelBody>div,#quotesList>div{min-width:0;overflow-wrap:anywhere;word-break:break-word}.verbatim-quote-card{background:#ffffff80;border:1px solid rgba(255,255,255,.3);border-radius:.875rem;padding:.5rem .75rem;transition:all .15s ease}.verbatim-quote-card:hover{background:#ffffffa6;box-shadow:0 2px 8px #0000000a}.verbatim-quote-card .quote-text{font-style:italic!important;color:#475569;font-size:.8125rem;line-height:1.6}.verbatim-quote-card .quote-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.verbatim-quote-card .quote-badge.strength{background:#10b9811a;color:#059669}.verbatim-quote-card .quote-badge.improvement{background:#fb923c1a;color:#d97706}.progress-section{max-width:100%}.tab-chip{position:relative;display:inline-flex;min-width:0;align-items:center;justify-content:center;border-radius:999px;padding:.66rem .45rem;font:700 clamp(10px,2.55vw,12px) Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:#334155;background:linear-gradient(180deg,#ffffff85,#ffffff4d);border:1px solid rgba(255,255,255,.46);box-shadow:inset 0 1px #ffffffc7,0 12px 26px -22px #0f172a38;transition:transform .28s ease-out,background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}.tab-chip:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:linear-gradient(180deg,#fff6,#ffffff14);opacity:.9;pointer-events:none}.tab-chip:hover{box-shadow:0 18px 36px -24px #3b82f647,inset 0 1px #ffffffd1}.tab-chip:active{transform:scale(.97);transition-duration:.12s}.tab-chip:hover,.tab-chip.is-active{color:#0f172a;border-color:#bfdbfed9;box-shadow:0 20px 44px -28px #2563eb66,inset 0 1px #ffffffd6}.tab-chip.is-active{background:linear-gradient(135deg,#dbeafeb3,#ffffff5c 42%,#e9d5ff6b);color:#1d4ed8}.progress-chart-wrap{position:relative;width:100%;height:280px;background:radial-gradient(circle at top left,rgba(96,165,250,.16),transparent 26%),radial-gradient(circle at bottom right,rgba(167,139,250,.16),transparent 26%),linear-gradient(145deg,#ffffff70,#f0f6ff42);border-radius:1.75rem;overflow:hidden;border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 1px #ffffffb8,inset 0 -1px #ffffff1f}.progress-chart-wrap canvas{width:100%!important;height:100%!important}.feedback-dropdown{position:relative}.feedback-dropdown-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.95rem 1rem;background:#fffffff0;border:1px solid rgba(255,255,255,.46);border-radius:1.2rem;cursor:pointer;transition:all .28s ease-out;font-size:.875rem;color:#1e293b;box-shadow:inset 0 1px #fffc,0 18px 34px -26px #0f172a33}.feedback-dropdown-btn:hover{transform:translateY(-2px) scale(1.02);border-color:#93c5fdb3;box-shadow:0 18px 36px -24px #2563eb33,inset 0 1px #ffffffd1}.feedback-dropdown-btn .chevron{transition:transform .2s}.feedback-dropdown-btn.open .chevron{transform:rotate(180deg)}.feedback-dropdown-list{position:absolute;top:100%;left:0;right:0;margin-top:.4rem;background:#fffffff5;border:1px solid rgba(255,255,255,.48);border-radius:1.25rem;box-shadow:0 22px 44px -28px #0f172a2e;z-index:100;max-height:320px;overflow-y:auto;display:none}.feedback-dropdown-list.open{display:block}.feedback-dropdown-item{padding:.75rem 1rem;cursor:pointer;transition:background .2s ease,transform .2s ease;border-bottom:1px solid rgba(255,255,255,.24)}.feedback-dropdown-item:last-child{border-bottom:none}.feedback-dropdown-item:hover{background:#eff6ff80;transform:translateY(-1px)}.feedback-card{background:#ffffffeb;border:1px solid rgba(255,255,255,.46);border-radius:1.5rem;padding:1.25rem;color:#0f172a}.feedback-card h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#64748b;margin-bottom:.5rem}.score-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.score-pill.c1{background:#dbeafe;color:#1d4ed8}.score-pill.b2{background:#fef3c7;color:#b45309}.score-pill.b1{background:#fce7f3;color:#be185d}.score-pill.c2{background:#d1fae5;color:#065f46}.feedback-report-card{background:#fffffff5;border-color:#ffffff7a;color:#0f172a;box-shadow:0 22px 44px -28px #0f172a2e}.feedback-meta-card{border:1px solid rgba(255,255,255,.44);background:#fffffff0}.analysis-score-card{border-radius:1.35rem;border:1px solid rgba(255,255,255,.44);background:#fffffff0;padding:1rem;box-shadow:inset 0 1px #ffffffb3}.analysis-score-value{display:inline-flex;min-width:3.25rem;justify-content:center;align-items:center;padding:.55rem .8rem;border-radius:1rem;color:#fff;font-size:1.4rem;font-weight:800;line-height:1;box-shadow:0 18px 30px -22px #0f172a80}.analysis-score-value.blue{background:linear-gradient(135deg,#2563eb,#38bdf8)}.analysis-score-value.emerald{background:linear-gradient(135deg,#059669,#34d399)}.analysis-score-value.rose{background:linear-gradient(135deg,#e11d48,#fb7185)}.analysis-score-value.amber{background:linear-gradient(135deg,#d97706,#fbbf24)}.analysis-score-value.purple{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.error-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:.9rem;font-size:.875rem;line-height:1.45;font-weight:600;margin:.125rem}.error-tag.grammar{background:#fef2f28c;color:#dc2626;border:1px solid rgba(254,202,202,.7)}.error-tag.vocabulary{background:#eff6ff94;color:#2563eb;border:1px solid rgba(191,219,254,.72)}.error-tag.pronunciation{background:#f0fdf494;color:#16a34a;border:1px solid rgba(187,247,208,.72)}.cefr-badge{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.analysis-score-card{border-radius:1.35rem;border:1px solid rgba(255,255,255,.44);background:#fffffff0;padding:1rem}.analysis-score-bar{height:.55rem;border-radius:999px;background:#e2e8f080;overflow:hidden;box-shadow:inset 0 1px 3px #94a3b82e}.analysis-score-fill{height:100%;border-radius:inherit;transition:width .28s ease}.analysis-section-list li{display:flex;gap:.6rem;align-items:flex-start;color:#334155;font-size:.94rem;line-height:1.55}.analysis-jump-btn,.lesson-link-btn{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.6rem .95rem;font:700 11px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;transition:all .28s ease-out}.analysis-jump-btn{background:#eff6ff7a;color:#1d4ed8;border:1px solid rgba(191,219,254,.78);box-shadow:inset 0 1px #fffc}.analysis-jump-btn:hover,.lesson-link-btn:hover{transform:translateY(-2px) scale(1.03)}.lesson-link-btn{background:#f8fafc73;color:#334155;border:1px solid rgba(203,213,225,.7);box-shadow:inset 0 1px #ffffffc7}.lesson-analysis-summary{border-radius:1.5rem;border:1px solid rgba(255,255,255,.44);background:linear-gradient(135deg,#eff6ff85,#ffffff57);padding:1rem}.lesson-nav-card{transition:all .28s ease-out}.lesson-nav-card.is-active{background:linear-gradient(135deg,#dbeafea8,#ffffff57);border-color:#93c5fdc7;box-shadow:0 18px 40px -30px #2563eb85,inset 0 1px #ffffffd1}.lesson-nav-card:hover{border-color:#bfdbfeb8;transform:translateY(-3px) scale(1.01)}.lesson-mobile-strip{scrollbar-width:none}.lesson-mobile-strip::-webkit-scrollbar{display:none}.keyword-two-col{display:grid;gap:1rem}@media(min-width:960px){.keyword-two-col{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}}#appStickyHeader{transition:transform .28s ease,box-shadow .28s ease;transform-origin:top center}#appStickyHeader .header-brand{display:inline-flex;align-items:center;min-height:2.5rem}#appStickyHeader.compact{transform:scale(.95) translateY(0);box-shadow:0 22px 44px -28px #0f172a38}@media(max-width:640px){#topTabNav{display:flex;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}#topTabNav::-webkit-scrollbar{display:none}#topTabNav .tab-chip{flex:0 0 auto;padding-left:.85rem;padding-right:.85rem}#appStickyHeader{padding-left:.75rem;padding-right:.75rem}#voiceSelectorBtn{padding:.55rem .75rem;gap:.35rem}#currentVoiceLabel{max-width:5.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.glass-accent-orb{position:absolute;border-radius:999px;pointer-events:none;filter:blur(46px);opacity:.34;z-index:0}.glass-accent-orb.orb-section-blue{top:-2rem;right:-1rem;width:9rem;height:9rem;background:radial-gradient(circle,rgba(96,165,250,.56),transparent 70%)}.glass-accent-orb.orb-section-violet{bottom:-2rem;left:-1rem;width:8rem;height:8rem;background:radial-gradient(circle,rgba(167,139,250,.5),transparent 70%)}.liquid-glass-panel{background:#fffffff5;box-shadow:0 22px 44px -28px #0f172a38;border-radius:2rem;border:1px solid rgba(226,232,240,.6)}.liquid-glass-card{background:#ffffffeb;box-shadow:0 22px 44px -28px #0f172a2e;border-radius:1.55rem;border:1px solid rgba(226,232,240,.6)}.liquid-glass-tooltip{background:linear-gradient(145deg,#fffc,#ffffff94);box-shadow:0 22px 44px -28px #0f172a38}.liquid-legend-pill{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff80,#ffffff3d);border-color:#ffffff6b!important;box-shadow:inset 0 1px #ffffffc2,0 14px 26px -24px #0f172a38;transition:transform .28s ease-out,box-shadow .22s ease,background-color .22s ease,border-color .22s ease,color .22s ease}.liquid-legend-pill:hover{transform:scale(1.04);box-shadow:0 20px 36px -26px #3b82f647,inset 0 1px #ffffffd1}.chart-data-point{overflow:hidden;border:1px solid rgba(255,255,255,.88);box-shadow:0 0 0 1px #ffffff5c,0 10px 18px -10px #0f172a6b,inset 0 1px #fffc}.chart-data-point:after{content:"";position:absolute;top:2px;left:3px;width:34%;height:34%;border-radius:999px;background:#ffffffd1}.chart-data-point:hover{transform:translate(-50%,-50%) scale(1.44);box-shadow:0 0 0 1px #ffffff75,0 18px 30px -16px #3b82f666,inset 0 1px #ffffffd1}.chart-data-point.active{transform:translate(-50%,-50%) scale(1.52);box-shadow:0 0 0 2px #bfdbfeb3,0 24px 38px -18px #3b82f670,inset 0 1px #ffffffdb}#chartDetailPanel>div,#detailPanelBody>div,#detailPanelQuotes,#detailPanelAction>button,#detailPanelScores .liquid-score-card,#cumulativeAnalysisCard .rounded-\[1\.5rem\],#cumulativeAnalysisCard .rounded-\[1\.25rem\]{position:relative;overflow:hidden;background:#fffffff0;border-color:#ffffff6b!important;box-shadow:inset 0 1px #ffffffc2,0 22px 48px -36px #0f172a3d}.liquid-score-card{background:linear-gradient(180deg,#ffffffb3,#ffffff7a);border-radius:1.15rem;box-shadow:inset 0 1px #ffffffd6,0 18px 28px -24px #0f172a2e;transition:transform .28s ease-out,box-shadow .22s ease,background-color .22s ease}.liquid-score-card:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 20px 36px -24px #3b82f647,inset 0 1px #ffffffe0}.liquid-score-card:active{transform:scale(.97);box-shadow:0 4px 12px -8px #0f172a26}.liquid-linked-item{border-radius:1rem;background:#ffffff38;border:1px solid rgba(255,255,255,.22);transition:transform .26s ease-out,background-color .2s ease,color .2s ease,box-shadow .2s ease}.liquid-linked-item:hover{background:#eff6ff66;transform:translateY(-2px);box-shadow:0 16px 26px -24px #3b82f63d}.verbatim-quote-card{background:linear-gradient(180deg,#ffffff94,#ffffff57);border:1px solid rgba(255,255,255,.42);box-shadow:inset 0 1px #ffffffc2,0 18px 30px -24px #0f172a29}#page-vocabulary input,#page-vocabulary select,#page-quiz select,#page-quiz input,#voiceSelectorBtn,#voiceDropdown,#ttsInlineToast{background:linear-gradient(180deg,#ffffffb8,#ffffff80)!important;border-color:#ffffff80!important;box-shadow:inset 0 1px #ffffffd1,0 16px 32px -28px #0f172a3d!important}#voiceSelectorBtn{transition:transform .28s ease-out,box-shadow .22s ease,border-color .22s ease}#voiceSelectorBtn:hover{transform:translateY(-2px) scale(1.03)}#page-vocabulary .rounded-\[1\.5rem\],#page-vocabulary .rounded-\[1\.75rem\],#page-quiz .rounded-\[1\.75rem\],#page-dashboard .rounded-\[1\.5rem\],#page-dashboard .rounded-\[2rem\],#page-lessons .rounded-\[2rem\]{position:relative;overflow:hidden}.recent-lesson-details{overflow:hidden;max-height:0;transition:max-height .34s ease}.recent-lesson-details.is-open{max-height:4000px}.recent-lesson-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:1.4rem;border:1px solid rgba(255,255,255,.04);background:transparent;transition:background-color .22s ease,transform .22s ease}.recent-lesson-toggle:hover{background:#fff3}.recent-lesson-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:#ffffffbd;border:1px solid rgba(226,232,240,.76);transition:transform .22s ease,color .22s ease,border-color .22s ease}.recent-lesson-toggle[aria-expanded=true] .recent-lesson-toggle-icon{transform:rotate(180deg);color:#2563eb;border-color:#93c5fdeb}.recent-score-mini{border:1px solid rgba(226,232,240,.7);background:#ffffffdb;border-radius:1rem;padding:.85rem .9rem}.recent-score-track,.flashcard-review-track{height:.45rem;border-radius:999px;overflow:hidden;background:#e2e8f0e6}.recent-score-fill{height:100%;border-radius:inherit}.dashboard-mini-nav-item{width:100%;border-radius:1.15rem;border:1px solid rgba(226,232,240,.76);background:#ffffffd1;padding:.8rem .95rem;text-align:left;transition:transform .24s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease}.dashboard-mini-nav-item:hover{transform:translateY(-2px);border-color:#93c5fde6;box-shadow:0 18px 36px -28px #2563eb6b}.dashboard-mini-nav-item.is-latest{border-color:#60a5faf2;background:linear-gradient(135deg,#eff6fff5,#f8fafce6)}.lesson-jump-item{display:flex;align-items:center;gap:.45rem;min-width:0;white-space:nowrap;overflow:hidden}.lesson-jump-item-date{flex:0 0 auto;font:700 10px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#64748b}.lesson-jump-item-title{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.76rem;font-weight:600;color:#0f172a}.lesson-jump-latest-dot{flex:0 0 auto;width:.42rem;height:.42rem;border-radius:999px;background:#2563eb;box-shadow:0 0 0 3px #bfdbfe8c}.lesson-jump-menu-item{width:100%;padding:.45rem .75rem;border:0;background:transparent;text-align:left;transition:background-color .18s ease,color .18s ease}.lesson-jump-menu-item:hover{background:#eff6ffe6}.lesson-jump-menu-item .lesson-jump-item-title{font-size:.72rem}.dashboard-mini-nav-item.lesson-jump-compact{padding:.55rem .7rem;border-radius:.95rem}.dashboard-mini-nav-item.lesson-jump-compact .lesson-jump-item-title{font-size:.72rem}.dashboard-mini-nav-item.lesson-jump-compact .lesson-jump-item-date{font-size:9px}.dashboard-navigator-search{width:100%;border-radius:1rem;border:1px solid rgba(226,232,240,.8);background:#ffffffe0;padding:.8rem .95rem;font-size:.875rem;color:#0f172a;box-shadow:inset 0 1px #ffffffc7}.dashboard-navigator-search:focus,.recent-topic-search-input:focus{outline:none;border-color:#60a5faeb;box-shadow:0 0 0 3px #bfdbfe94,inset 0 1px #fffc}.dashboard-mini-nav-list{display:grid;gap:.5rem}.dashboard-mini-nav-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dashboard-mini-nav-empty{border-radius:1rem;border:1px dashed rgba(148,163,184,.45);background:#ffffff9e;padding:.9rem 1rem;font-size:.82rem;color:#64748b}.recent-topic-search-shell{position:relative;margin-top:.75rem}.recent-topic-search-input{width:100%;border-radius:1rem;border:1px solid rgba(191,219,254,.9);background:#fffffff0;padding:.75rem .9rem;font-size:.875rem;color:#0f172a}.recent-topic-search-results{position:absolute;top:calc(100% + .45rem);left:0;right:0;z-index:30;border-radius:1rem;border:1px solid rgba(226,232,240,.92);background:#fffffff5;box-shadow:0 24px 40px -28px #0f172a52;overflow:hidden}.recent-topic-search-option{width:100%;padding:.72rem .9rem;text-align:left;font-size:.82rem;color:#0f172a;background:transparent;transition:background-color .18s ease}.recent-topic-search-option:hover{background:#eff6ffeb}.recent-topic-search-empty{padding:.72rem .9rem;font-size:.8rem;color:#64748b}.sticky-header-shell{position:sticky;top:0;z-index:40}.voice-picker-portal[hidden]{display:none!important}.voice-picker-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;display:flex;align-items:flex-end;background:#0f172a7a;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.voice-picker-sheet{width:100%;max-height:min(80vh,40rem);overflow-y:auto;border-radius:1.5rem 1.5rem 0 0;background:#fffffffa;box-shadow:0 -20px 48px #0f172a3d;padding:1.25rem 1.25rem calc(2rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}@media(min-width:640px){.sticky-header-shell{top:.75rem}.voice-picker-portal{align-items:flex-start;justify-content:flex-start;background:transparent;padding:0}.voice-picker-sheet{width:min(18rem,calc(100vw - 2rem));max-height:min(24rem,calc(100vh - 2rem));border-radius:1.5rem;box-shadow:0 20px 48px #0f172a3d;padding:.75rem}}.flashcard-mode-toggle,.flashcard-browse-btn,.flashcard-nav-btn{transition:transform .22s ease,border-color .22s ease,background-color .22s ease,box-shadow .22s ease,color .22s ease}.flashcard-mode-toggle:hover,.flashcard-browse-btn:hover,.flashcard-nav-btn:hover{transform:translateY(-1px)}.flashcard-mode-toggle.is-active{border-color:#60a5fad9;background:#eff6fff5;color:#1d4ed8;box-shadow:0 18px 36px -30px #2563eb73}.flashcard-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid rgba(226,232,240,.8);background:#ffffffe0;color:#334155}.flashcard-nav-btn:disabled,.flashcard-browse-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.flashcard-browse-btn{border-radius:999px;border:1px solid rgba(226,232,240,.8);background:#ffffffe0;padding:.55rem .95rem;font:700 10px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#475569}.flashcard-scene{display:block;position:relative;min-height:26rem;perspective:1200px;cursor:pointer}.flashcard-inner{position:relative;min-height:26rem;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}.flashcard-inner.is-flipped{transform:rotateY(180deg)}.flashcard-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;border-radius:1.6rem;border:1px solid rgba(226,232,240,.72);background:radial-gradient(circle at top left,rgba(191,219,254,.42),transparent 34%),linear-gradient(145deg,#fffffff5,#f7faffe6);padding:1.5rem;box-shadow:inset 0 1px #ffffffd6,0 30px 60px -42px #0f172a42;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flashcard-face-front{display:flex;z-index:1}.flashcard-face-back{z-index:2;overflow-y:auto;-webkit-overflow-scrolling:touch;color:#1e293b;transform:rotateY(180deg);justify-content:flex-start;padding-top:2rem;background:radial-gradient(circle at top right,rgba(254,215,170,.35),transparent 34%),linear-gradient(145deg,#fffffffa,#fff8f0f2)!important}.flashcard-face-back p,.flashcard-face-back h3,.flashcard-face-back span,.flashcard-face-back div{color:inherit}.flashcard-browse-item{width:100%;border-radius:1rem;border:1px solid rgba(226,232,240,.76);background:#ffffffd1;padding:.8rem .9rem;text-align:left;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.flashcard-browse-item:hover,.flashcard-browse-item.is-active{transform:translateY(-1px);border-color:#60a5fae6;box-shadow:0 18px 32px -28px #2563eb73}.flashcard-browse-compact-card{min-height:12rem;display:flex;align-items:center;justify-content:center}.flashcard-browse-compact-card .flashcard-browse-item{min-height:11.5rem}.flashcard-browse-view-select{border-radius:999px;border:1px solid rgba(226,232,240,.82);background:#ffffffe6;padding:.55rem 2.25rem .55rem .9rem;font:700 10px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#475569}.flashcard-browse-view-select:focus{outline:none;border-color:#60a5fad9;box-shadow:0 0 0 3px #bfdbfe8c}.flashcard-browse-grid{display:grid;gap:.75rem}@media(min-width:640px){.flashcard-browse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.flashcard-topic-filter{border-radius:999px;border:1px solid rgba(226,232,240,.82);background:#ffffffdb;padding:.55rem .95rem;font:700 10px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#475569;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.flashcard-topic-filter:hover,.flashcard-topic-filter.is-active{transform:translateY(-1px);border-color:#60a5fae0;box-shadow:0 16px 30px -26px #2563eb6b}.flashcard-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;border-radius:.45rem;border:1px solid rgba(203,213,225,.95);background:#fffffff2;font:700 11px JetBrains Mono,monospace;color:#334155}@media(max-width:640px){.flashcard-inner{min-height:30rem}}@media(max-width:640px){.ambient-orb{filter:blur(52px);opacity:.38}.tab-chip{padding-top:.58rem;padding-bottom:.58rem}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.dashboard-shell{position:relative}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1rem}.dashboard-main{min-width:0;display:grid;gap:1rem}.dashboard-page{position:relative;display:grid;gap:1rem;max-width:1280px;margin:0 auto;padding-bottom:5.5rem;will-change:transform,opacity;transform:translateZ(0)}.dashboard-topbar,.dashboard-section,.dashboard-sidebar{position:relative;overflow:hidden;isolation:isolate;border-radius:1.75rem;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem}.dashboard-user-chip{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem .75rem .6rem .9rem;border-radius:999px;background:#ffffff9e;border:1px solid rgba(255,255,255,.68);box-shadow:inset 0 1px #ffffffbd}.breadcrumb-bar{display:none;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.8rem 1rem;border-radius:1.25rem;background:#ffffff94;border:1px solid rgba(255,255,255,.74);box-shadow:0 24px 48px -34px #0f172a2e;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.breadcrumb-item{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.breadcrumb-link,.breadcrumb-current{font:700 11px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase}.breadcrumb-link{color:#64748b;transition:color .2s ease,transform .2s ease}.breadcrumb-link:hover{color:#6d28d9;transform:translate3d(2px,0,0)}.breadcrumb-current{color:#6d28d9}.breadcrumb-separator{color:#64748b8c}.dashboard-user-badge,.dashboard-type-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.35rem .7rem;font:700 10px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;background:#ede9fee0;color:#6d28d9;border:1px solid rgba(221,214,254,.92)}.dashboard-user-avatar,.dashboard-logo-badge,.student-row-avatar,.dashboard-sidebar-logo{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;font:700 .9rem Inter,sans-serif;letter-spacing:.06em;background:linear-gradient(135deg,#6d28d9eb,#3b82f6eb);box-shadow:0 18px 36px -28px #6d28d9bf}.dashboard-user-avatar,.dashboard-logo-badge{width:3rem;height:3rem}.dashboard-sidebar-logo{width:3.25rem;height:3.25rem;flex:0 0 auto}.dashboard-role-admin,.dashboard-role-school,.dashboard-role-teacher{background:linear-gradient(135deg,#6d28d9f2,#3b82f6eb)}.dashboard-kpi-grid,.dashboard-grid-2,.dashboard-quick-grid,.dashboard-action-grid,.dashboard-list-grid{display:grid;gap:1rem}.dashboard-kpi-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.dashboard-grid-2{grid-template-columns:minmax(0,1fr)}.dashboard-section{padding:1.15rem}.dashboard-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dashboard-eyebrow{font:700 11px Inter,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#6d28d9}.dashboard-section-title{margin-top:.4rem;font-family:Playfair Display,serif;font-size:clamp(1.55rem,2vw,2rem);font-weight:600;letter-spacing:-.04em;color:#0f172a}.dashboard-kpi-card,.dashboard-quick-card,.dashboard-action-card,.dashboard-list-card,.dashboard-course-pill,.student-row{position:relative;overflow:hidden;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;will-change:transform,opacity;transform:translateZ(0)}.dashboard-kpi-card:hover,.dashboard-quick-card:hover,.dashboard-action-card:hover,.dashboard-list-card:hover,.dashboard-course-pill:hover,.student-row:hover{transform:translate3d(0,-4px,0) scale(1.01);box-shadow:0 28px 52px -34px #4c1d9557,inset 0 1px #ffffffd6}.dashboard-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;border-radius:1rem;background:#ffffffb3;color:#6d28d9;border:1px solid rgba(255,255,255,.74)}.dashboard-tone-violet:before{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 34%,transparent),radial-gradient(circle at top left,rgba(196,181,253,.22),transparent 38%)}.dashboard-tone-blue:before{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 34%,transparent),radial-gradient(circle at top left,rgba(147,197,253,.24),transparent 38%)}.dashboard-tone-emerald:before{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 34%,transparent),radial-gradient(circle at top left,rgba(110,231,183,.24),transparent 38%)}.dashboard-tone-amber:before{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 34%,transparent),radial-gradient(circle at top left,rgba(253,230,138,.26),transparent 38%)}.dashboard-quick-card,.dashboard-action-card,.dashboard-list-card{display:grid;gap:.65rem;padding:1rem}.dashboard-quick-icon{display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;border-radius:1rem;color:#6d28d9;background:#ffffffbd;border:1px solid rgba(255,255,255,.78)}.dashboard-activity-list,.dashboard-student-list,.dashboard-course-list{display:grid;gap:.85rem}.dashboard-activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border-radius:1.2rem;background:#ffffff85;border:1px solid rgba(255,255,255,.64);transition:transform .22s ease,box-shadow .22s ease}.dashboard-activity-item:hover{transform:translate3d(0,-2px,0);box-shadow:0 18px 32px -28px #2563eb6b}.dashboard-course-pill{padding:.95rem 1rem;border-radius:1.25rem;background:#ffffff9e;border:1px solid rgba(255,255,255,.68)}.student-row{display:block;text-decoration:none}.student-row-avatar{width:2.8rem;height:2.8rem;flex:0 0 auto;font-size:.8rem}.student-level-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.28rem .65rem;font:700 10px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase}.student-level-a1{background:#dcfce7e6;color:#15803d}.student-level-a2{background:#d1fae5e6;color:#059669}.student-level-b1{background:#fef9c3eb;color:#a16207}.student-level-b2{background:#fed7aaeb;color:#c2410c}.student-level-c1{background:#dbeafeeb;color:#1d4ed8}.student-level-c2{background:#ede9fef0;color:#6d28d9}.dashboard-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a42;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:49}.dashboard-sidebar-overlay.is-open{opacity:1;pointer-events:auto}.dashboard-mobile-toggle{position:fixed;top:1rem;left:1rem;z-index:51;display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:1rem;background:#ffffffd1;border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 36px -28px #0f172a4d;will-change:transform,opacity;transform:translateZ(0)}.dashboard-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(20rem,calc(100vw - 2rem));padding:.9rem;z-index:50;transform:translate3d(calc(-100% - 1rem),0,0);transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .22s ease;will-change:transform;transform-origin:left center;background:linear-gradient(180deg,#ffffffdb,#ffffffb8)}.dashboard-sidebar.is-open{transform:translateZ(0);box-shadow:0 42px 84px -42px #0f172a66}.dashboard-sidebar-shell{display:flex;flex-direction:column;height:100%;gap:1rem}.dashboard-sidebar-brand{display:flex;align-items:center;gap:.85rem;padding:.5rem .35rem .8rem}.dashboard-sidebar-nav{display:grid;gap:.45rem}.dashboard-sidebar-link,.dashboard-sidebar-logout{position:relative;display:flex;align-items:center;gap:.8rem;min-height:3.25rem;padding:.85rem 1rem;border-radius:1.15rem;color:#334155;background:#ffffff6b;border:1px solid transparent;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease;will-change:transform;transform:translateZ(0)}.dashboard-sidebar-link:before{content:"";position:absolute;top:.8rem;left:.32rem;bottom:.8rem;width:.2rem;border-radius:999px;background:linear-gradient(180deg,#7c3aede6,#3b82f6e6);opacity:0;transform:scaleY(.4);transition:opacity .22s ease,transform .22s ease}.dashboard-sidebar-link:hover,.dashboard-sidebar-link.is-active,.dashboard-sidebar-logout:hover{transform:translate3d(4px,0,0);border-color:#d8b4feb8;box-shadow:0 20px 40px -30px #6d28d957}.dashboard-sidebar-link.is-active{color:#6d28d9;background:linear-gradient(135deg,#ede9feb8,#ffffff80);box-shadow:0 0 0 1px #c4b5fd47,0 0 24px #7c3aed1f,0 20px 40px -30px #6d28d957}.dashboard-sidebar-link.is-active:before{opacity:1;transform:scaleY(1)}.dashboard-sidebar-logout{margin-top:auto;width:100%}.dashboard-action-card{align-items:start;text-align:left}.ai-floating-button{position:fixed;right:1rem;bottom:1rem;z-index:45;display:inline-flex;align-items:center;gap:.8rem;padding:.8rem .95rem;border-radius:999px;background:linear-gradient(135deg,#ffffffeb,#f5f3ffdb);border:1px solid rgba(255,255,255,.82);box-shadow:0 26px 56px -34px #6d28d97a,inset 0 1px #ffffffd6;transition:transform .22s ease,box-shadow .22s ease;will-change:transform}.ai-floating-button:hover{transform:translate3d(0,-2px,0) scale(1.02);box-shadow:0 32px 64px -34px #6d28d994,inset 0 1px #ffffffdb}.ai-floating-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;background:linear-gradient(135deg,#7c3aedeb,#3b82f6eb);color:#fff}.ai-floating-copy{display:grid;line-height:1.15}@media(min-width:768px){.dashboard-topbar,.dashboard-section{padding:1.35rem}.dashboard-kpi-grid,.dashboard-quick-grid,.dashboard-action-grid,.dashboard-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.dashboard-layout{grid-template-columns:18.5rem minmax(0,1fr);align-items:start;padding:1.25rem}.dashboard-mobile-toggle,.dashboard-sidebar-overlay{display:none}.dashboard-sidebar{position:sticky;top:1.25rem;width:auto;height:calc(100vh - 2.5rem);transform:none}.dashboard-main{padding-left:.25rem}.dashboard-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid-2{grid-template-columns:minmax(0,1.2fr) minmax(22rem,.8fr)}.dashboard-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.dashboard-layout{padding:4.5rem .75rem .75rem}.dashboard-topbar{align-items:flex-start;flex-direction:column}.dashboard-user-chip{width:100%;justify-content:space-between}.ai-floating-button{left:1rem;right:1rem;justify-content:center;border-radius:1.4rem}.ai-floating-copy{text-align:left}}@keyframes dashboardFadeIn{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}.dashboard-page-enter{animation:dashboardFadeIn .42s ease-out both}.dashboard-toolbar{display:grid;gap:.85rem}.dashboard-search,.dashboard-select{display:grid;gap:.45rem}.dashboard-search{grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:3.4rem;padding:0 1rem;border-radius:1.2rem;background:#ffffffad;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px #ffffffbd}.dashboard-search input,.dashboard-select select,.ai-chat-input{width:100%;border:0;outline:0;background:transparent;color:#0f172a}.dashboard-select{min-width:0;padding:.8rem 1rem;border-radius:1.2rem;background:#ffffffad;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px #ffffffbd}.student-card-grid,.course-card-grid{display:grid;gap:1rem}.student-detail-card,.course-card,.calendar-events-panel{display:grid;gap:1rem;padding:1.1rem;text-decoration:none;will-change:transform,opacity;transform:translateZ(0)}.student-detail-card{transition:transform .24s ease,box-shadow .24s ease}.student-detail-card:hover{transform:translate3d(0,-4px,0) scale(1.01)}.student-detail-metrics{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.student-detail-label{font:700 11px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#475569d1}.student-detail-value{margin-top:.35rem;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:600;letter-spacing:-.03em;color:#0f172a}.progress-track{position:relative;height:.75rem;overflow:hidden;border-radius:999px;background:#e2e8f0b8}.progress-bar{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#7c3aedeb,#3b82f6eb);box-shadow:0 18px 32px -24px #6d28d98c}.dashboard-empty-state{display:grid;place-items:center;gap:.65rem;min-height:14rem;padding:1.5rem;text-align:center;border-radius:1.5rem;background:#ffffff6b;border:1px dashed rgba(196,181,253,.72)}.course-card-header,.course-group-header,.calendar-toolbar,.calendar-events-header,.ai-chat-header,.ai-chat-input-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.course-card{text-align:left;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.course-card:hover{transform:translate3d(0,-4px,0) scale(1.02);border-color:#c4b5fde6;box-shadow:0 28px 52px -34px #4c1d9557,0 0 0 1px #c4b5fd47,inset 0 1px #ffffffd6}.course-level-badge{transition:background-color .22s ease,color .22s ease,box-shadow .22s ease}.course-card:hover .course-level-badge{background:#ddd6fefa;color:#5b21b6;box-shadow:0 12px 26px -18px #6d28d97a}.course-card-meta{display:flex;flex-wrap:wrap;gap:.55rem}.course-card-chip{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .75rem;border-radius:999px;font:700 10px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;background:#ffffff9e;color:#475569;border:1px solid rgba(255,255,255,.72)}.course-group-stack{display:grid;gap:1.25rem}.course-group{display:grid;gap:.9rem}.dashboard-primary-button,.calendar-nav-button,.ai-chat-send{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;padding:0 1rem;border-radius:999px;background:#ffffffd1;border:1px solid rgba(255,255,255,.84);color:#6d28d9;box-shadow:inset 0 1px #fffc;transition:transform .22s ease,box-shadow .22s ease}.dashboard-primary-button:hover,.calendar-nav-button:hover,.ai-chat-send:hover{transform:translate3d(0,-2px,0);box-shadow:0 20px 40px -30px #6d28d957}.calendar-nav-button.is-today{padding-inline:1.05rem}.calendar-shell{display:grid;gap:1rem}.calendar-month-transition{will-change:transform,opacity;transform:translateZ(0);animation:calendarMonthIn .22s ease-out both}.calendar-title{margin-top:.35rem;font-family:Playfair Display,serif;font-size:clamp(1.45rem,2.2vw,1.9rem);font-weight:600;letter-spacing:-.04em;color:#0f172a}.calendar-nav{display:flex;align-items:center;gap:.55rem}.calendar-desktop{display:none}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.calendar-weekday{padding:.45rem 0;text-align:center;font:700 11px Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#64748b}.calendar-day{display:grid;align-content:space-between;min-height:7rem;padding:.75rem;border-radius:1.35rem;background:#fff9;border:1px solid rgba(255,255,255,.7);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease;will-change:transform,opacity;transform:translateZ(0)}.calendar-day:hover{transform:translate3d(0,-2px,0);background:#f8fafce0;box-shadow:0 18px 32px -28px #2563eb6b}.calendar-day.is-muted{opacity:.45}.calendar-day.is-today{border-color:#8b5cf6d1;box-shadow:0 0 0 1px #8b5cf633,0 24px 48px -36px #6d28d96b}.calendar-day.is-selected{background:linear-gradient(135deg,#f3e8ffe6,#eff6ffd6);border-color:#c4b5fdeb;box-shadow:0 0 0 2px #8b5cf62e,0 16px 34px -28px #6d28d96b;animation:selectedDayPulse 1.8s ease-in-out infinite}.calendar-day-number{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:600;color:#0f172a}.calendar-day-dots{display:flex;align-items:center;gap:.35rem}.calendar-day-dot{width:.45rem;height:.45rem;border-radius:999px;background:#94a3b8c7}.calendar-day-pulse{animation:eventDotPulse 1.6s ease-in-out infinite}.calendar-day-dot.is-lesson,.calendar-type-pill.is-lesson{background:#8b5cf62e;color:#6d28d9}.calendar-day-dot.is-planning,.calendar-type-pill.is-planning{background:#bfdbfee0;color:#1d4ed8}.calendar-day-dot.is-review,.calendar-type-pill.is-review{background:#d1fae5eb;color:#059669}.calendar-agenda-list,.calendar-events-list,.ai-chat-messages{display:grid;gap:.75rem}.calendar-agenda-item,.calendar-event-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;text-align:left;border-radius:1.2rem;background:#ffffff94;border:1px solid rgba(255,255,255,.68);transition:transform .22s ease,box-shadow .22s ease;will-change:transform;transform:translateZ(0)}.calendar-agenda-item:hover,.calendar-event-row:hover{transform:translate3d(0,-2px,0);box-shadow:0 18px 32px -28px #2563eb6b}.calendar-agenda-item.is-today{border-color:#c4b5fdeb}.ai-chat-widget{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:44}.ai-chat-widget.is-open{pointer-events:auto}.ai-chat-panel{position:absolute;right:1rem;bottom:5.8rem;width:min(26rem,calc(100vw - 2rem));display:grid;gap:1rem;padding:1rem;border-radius:1.75rem;transform:translate3d(18px,0,0);opacity:0;transition:transform .26s ease,opacity .22s ease;will-change:transform,opacity}.ai-chat-widget.is-open .ai-chat-panel{transform:translateZ(0);opacity:1}.chat-widget-open{animation:chatOpenDesktop .22s ease-out both}.chat-widget-close{animation:chatCloseDesktop .2s ease-out both}.ai-chat-messages{max-height:20rem;overflow:auto;padding-right:.2rem}.ai-chat-bubble{max-width:88%;padding:.85rem 1rem;border-radius:1.25rem;line-height:1.5;font-size:.95rem;will-change:transform,opacity}.ai-chat-message-enter{animation:chatMessageIn .2s ease-out both}.ai-chat-bubble.is-assistant{justify-self:start;background:#ffffffc7;border:1px solid rgba(255,255,255,.78)}.ai-chat-bubble.is-user{justify-self:end;background:linear-gradient(135deg,#7c3aedeb,#3b82f6eb);color:#fff}.ai-chat-typing{display:inline-flex;align-items:center;gap:.35rem;width:max-content}.ai-chat-typing span{width:.45rem;height:.45rem;border-radius:999px;background:#6d28d98c;animation:chatTyping 1s ease-in-out infinite}.ai-chat-typing span:nth-child(2){animation-delay:.12s}.ai-chat-typing span:nth-child(3){animation-delay:.24s}.ai-chat-input-row{align-items:stretch}.ai-chat-input{min-height:3rem;padding:0 1rem;border-radius:1rem;background:#ffffffc2;border:1px solid rgba(255,255,255,.8)}.ai-chat-send{width:3rem;padding:0}@media(min-width:768px){.breadcrumb-bar{display:inline-flex}.dashboard-toolbar,.student-card-grid,.course-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-desktop{display:grid;gap:.55rem}.calendar-agenda{display:none}}@media(min-width:1100px){.student-card-grid,.course-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.calendar-toolbar,.course-card-header,.course-group-header,.calendar-events-header,.ai-chat-header,.ai-chat-input-row{align-items:flex-start;flex-direction:column}.ai-chat-send{width:100%}.chat-widget-open{animation-name:chatOpenMobile}.chat-widget-close{animation-name:chatCloseMobile}}@media(max-width:640px){.student-detail-metrics{grid-template-columns:repeat(1,minmax(0,1fr))}.ai-chat-panel{left:1rem;right:1rem;bottom:5.5rem;width:auto}.dashboard-sidebar-link,.dashboard-sidebar-logout{min-height:3.6rem;padding:.95rem 1rem}}.page-enter,.dashboard-page-enter{animation:pageEnter .2s ease-out both}.kpi-count-up{will-change:transform,opacity;transform:translateZ(0)}.sidebar-slide-in{animation:sidebarSlideIn .22s ease-out both}.auth-guard-overlay{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-guard-shell{width:min(68rem,100%);display:grid;gap:1.25rem;padding:1.25rem;background:radial-gradient(circle at top left,rgba(196,181,253,.26),transparent 26%),linear-gradient(145deg,#ffffffd1,#f8fafcb3)}.auth-guard-brand{display:grid;gap:.65rem}.auth-guard-chip{display:inline-flex;width:max-content;align-items:center;min-height:2rem;padding:.35rem .8rem;border-radius:999px;background:#ede9fee0;border:1px solid rgba(221,214,254,.92);font:700 11px Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#6d28d9}.auth-guard-title{font-size:clamp(2rem,5vw,4rem);font-weight:600;letter-spacing:-.06em;color:#0f172a}.auth-guard-copy{max-width:42rem;color:#475569}.auth-guard-grid{display:grid;gap:1rem}.auth-role-card{display:grid;gap:.9rem;text-align:left;padding:1.1rem;border-radius:1.75rem;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;will-change:transform;transform:translateZ(0)}.auth-role-card:hover{transform:translate3d(0,-4px,0) scale(1.01);box-shadow:0 28px 52px -34px #4c1d9557}.auth-role-card.is-target{border-color:#c4b5fde6;box-shadow:0 0 0 1px #c4b5fd3d,0 24px 44px -34px #4c1d9547}.auth-role-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:1rem;background:linear-gradient(135deg,#7c3aedeb,#3b82f6eb);color:#fff}.auth-role-pill{display:inline-flex;width:max-content;align-items:center;min-height:2rem;padding:.35rem .8rem;border-radius:999px;background:#ffffffc2;border:1px solid rgba(255,255,255,.8);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#475569}@media(min-width:768px){.auth-guard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.auth-guard-shell{padding:1rem}}@keyframes pageEnter{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes sidebarSlideIn{0%{opacity:0;transform:translate3d(-20px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes selectedDayPulse{0%,to{box-shadow:0 0 0 2px #8b5cf62e,0 16px 34px -28px #6d28d96b}50%{box-shadow:0 0 0 4px #8b5cf61f,0 20px 38px -28px #6d28d97a}}@keyframes eventDotPulse{0%,to{transform:scale(1);opacity:.88}50%{transform:scale(1.18);opacity:1}}@keyframes calendarMonthIn{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes chatOpenDesktop{0%{opacity:0;transform:translate3d(20px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes chatCloseDesktop{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(20px,0,0)}}@keyframes chatOpenMobile{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes chatCloseMobile{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,18px,0)}}@keyframes chatMessageIn{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes chatTyping{0%,80%,to{transform:translateZ(0);opacity:.42}40%{transform:translate3d(0,-4px,0);opacity:1}}
