@keyframes mastery-dot-in{0%{opacity:0;transform:translateY(6px) scale(.6)}60%{opacity:1;transform:translateY(-1px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mastery-band-in{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes mastery-count-tick{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes mastery-pulse-correct{0%{box-shadow:0 0 0 0 hsl(var(--success)/.6)}60%{box-shadow:0 0 0 18px hsl(var(--success)/0)}to{box-shadow:0 0 0 0 hsl(var(--success)/0)}}@keyframes mastery-shake-wrong{0%,to{transform:translateX(0)}15%{transform:translateX(-7px)}30%{transform:translateX(6px)}45%{transform:translateX(-5px)}60%{transform:translateX(4px)}75%{transform:translateX(-2px)}90%{transform:translateX(1px)}}@keyframes mastery-slide-in-right{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes mastery-fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes mastery-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes mastery-soft-pulse{0%,to{opacity:.55}50%{opacity:1}}.mastery-hero-pct{font-weight:800;font-size:clamp(4.5rem,9vw,8rem);line-height:.85;letter-spacing:-.03em;color:hsl(var(--foreground));animation:mastery-count-tick .65s cubic-bezier(.22,1,.36,1) both}.mastery-hero-label{font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:hsl(var(--muted-foreground))}.mastery-band{animation:mastery-band-in .4s cubic-bezier(.22,1,.36,1) both}.mastery-dot{animation:mastery-dot-in .4s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(8ms * var(--mast-idx, 0));transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;cursor:pointer}.mastery-dot:hover{transform:scale(1.6);filter:brightness(1.15);z-index:5}.mastery-dot.is-focal{outline:1.5px solid hsl(var(--primary)/.8);outline-offset:2px}.mastery-panel-in{animation:mastery-slide-in-right .32s cubic-bezier(.22,1,.36,1) both}.mastery-modal-bg{animation:mastery-fade-in-up .25s ease both;background:hsl(var(--background)/.88)}.mastery-question-card{animation:mastery-fade-in-up .34s cubic-bezier(.22,1,.36,1) both}.mastery-option-btn{position:relative;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.mastery-option-btn:hover:not(:disabled){transform:translateY(-1px);border-color:hsl(var(--primary)/.5);background-color:hsl(var(--primary)/.05)}.mastery-option-btn.is-correct{border-color:hsl(var(--success))!important;background-color:hsl(var(--success)/.12)!important;animation:mastery-pulse-correct .7s ease-out}.mastery-option-btn.is-wrong{border-color:hsl(var(--destructive))!important;background-color:hsl(var(--destructive)/.08)!important;animation:mastery-shake-wrong .45s ease-out}.mastery-option-btn.is-reveal-correct{border-color:hsl(var(--success))!important;background-color:hsl(var(--success)/.08)!important}.mastery-progress-tick{transition:background-color .25s ease,transform .25s ease}.mastery-skel-shimmer{background-image:linear-gradient(90deg,hsl(var(--muted-foreground)/.06) 0,hsl(var(--muted-foreground)/.16) 50%,hsl(var(--muted-foreground)/.06) 100%);background-size:200% 100%;animation:mastery-shimmer 1.4s ease-in-out infinite}.mastery-recommend-pulse:before{content:"";position:absolute;inset:-2px;border-radius:inherit;border:1px solid hsl(var(--primary)/.5);animation:mastery-soft-pulse 2.2s ease-in-out infinite;pointer-events:none}.mastery-dot-strip{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground)/.25) transparent}.mastery-dot-strip::-webkit-scrollbar{height:4px}.mastery-dot-strip::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground)/.25);border-radius:2px}