@source "../**/*.{ts,tsx}";body{--font-sans:var(--font-raw-montserrat), system-ui, sans-serif;--font-display-frosting:var(--font-raw-frosting), cursive;--font-display-caramel:var(--font-raw-caramel), cursive}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.15)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes chatWiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}@keyframes chatPing{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes zai-launcher-float{0%,to{translate:0}50%{translate:0 -4px}}.zai-launcher{animation:zr-pop-in var(--duration-slow) var(--ease-out-strong) both;background:radial-gradient(circle at 30% 26%,#eaf7fe 0%,#b4def6 38%,#89caee 100%);box-shadow:inset 0 0 0 1.5px #fffffff2,inset 0 -3px #2e78aa38,0 0 0 3px #fff,0 2px 0 3px #60a8d659,0 10px 22px -4px #3c8cc880}.zai-launcher:hover,.zai-launcher[data-dragging=true]{filter:brightness(1.04)saturate(1.06)}.zai-launcher[data-dragging=true]{box-shadow:inset 0 0 0 1.5px #fffffff2,inset 0 -3px #2e78aa38,0 0 0 3px #fff,0 4px 0 3px #60a8d64d,0 16px 30px -6px #3c8cc88c}.zai-launcher-core{animation:3.2s ease-in-out infinite zai-launcher-float}.zai-launcher-ring{border:2px solid #ffffffe6;box-shadow:0 0 0 2px #89caeed9}.zai-launcher-twinkle{transform-origin:50%;animation:6s ease-in-out 2s infinite kid-beta-twinkle}.zai-launcher[data-nudging=true] .zai-launcher-avatar{animation:.8s ease-in-out chatWiggle}.zai-launcher[data-nudging=true] .zai-launcher-ring{animation:1s ease-out chatPing}.zai-launcher[data-dragging=true],.zai-launcher[data-dragging=true] .zai-launcher-core,.zai-launcher[data-dragging=true] .zai-launcher-twinkle{animation:none}.zai-launcher-label{opacity:0;max-width:0;padding-right:0;transition:max-width .32s cubic-bezier(.4,0,.2,1),opacity .25s,padding .32s}.zai-launcher[data-expanded=true] .zai-launcher-label{opacity:1;max-width:120px;padding-right:18px}@media (prefers-reduced-motion:reduce){.zai-launcher,.zai-launcher-core,.zai-launcher-twinkle,.zai-launcher[data-nudging=true] .zai-launcher-avatar,.zai-launcher[data-nudging=true] .zai-launcher-ring{animation:none}.zai-launcher-label{transition:none}}.diagnostic-answer-mode{background:var(--color-neutral-100);border-radius:13px;flex-shrink:0;grid-template-columns:repeat(2,1fr);margin-inline-start:auto;padding:3px;display:inline-grid;position:relative}.diagnostic-answer-mode-thumb{background:#fff;border-radius:10px;width:calc(50% - 3px);transition:transform .15s cubic-bezier(.2,0,0,1);position:absolute;inset:3px auto 3px 3px;box-shadow:0 1px 3px #00000014,0 0 0 1px #0000000a;box-shadow:0 1px 3px lab(0% 0 0/.08),0 0 0 1px lab(0% 0 0/.04)}.diagnostic-answer-mode[data-mode=type] .diagnostic-answer-mode-thumb{transform:translate(100%)}.diagnostic-answer-mode button{min-height:30px;font-size:var(--text-meta);line-height:var(--text-meta--line-height);color:var(--color-neutral-500);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:600;transition:color .15s ease-out,scale .15s ease-out;display:flex;position:relative}.diagnostic-answer-mode button[aria-pressed=true]{color:var(--color-primary-600)}.diagnostic-answer-mode button:hover:not(:disabled){color:var(--color-primary-700)}.diagnostic-answer-mode button:active:not(:disabled){scale:.96}.diagnostic-answer-mode button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.diagnostic-answer-mode button:disabled{opacity:.5}.diagnostic-answer-mode[data-static] button:active:not(:disabled){scale:1}@media (prefers-reduced-motion:reduce){.diagnostic-answer-mode-thumb,.diagnostic-answer-mode button{transition:none}.diagnostic-answer-mode button:active:not(:disabled){scale:1}}@media (min-width:768px){.student-dashboard-grid{grid-template-rows:auto auto auto auto auto auto;grid-template-areas:"greet greet""stats stats""prog prog""assign assign""prac weak""mini prize"}}@media (min-width:1024px){.student-dashboard-grid{grid-template-areas:"greet greet chat""stats stats chat""prog prog chat""assign assign mini""prac weak prize"}}[data-auth-entry]{opacity:1}[data-auth-portal-switch],[data-auth-logo]{animation:zr-enter var(--duration-enter) var(--ease-out-strong) both}[data-auth-logo]{animation-delay:80ms}@media (prefers-reduced-motion:reduce){[data-auth-portal-switch],[data-auth-logo]{animation-name:zr-enter-fade;animation-delay:0s}}.scrollbar-auto-hide{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .2s}.scrollbar-auto-hide.is-scrolling{scrollbar-color:#00000040 transparent}.scrollbar-auto-hide::-webkit-scrollbar{width:8px;height:8px}.scrollbar-auto-hide::-webkit-scrollbar-track{background:0 0}.scrollbar-auto-hide::-webkit-scrollbar-thumb{background-color:#0000;border-radius:9999px;transition:background-color .2s}.scrollbar-auto-hide.is-scrolling::-webkit-scrollbar-thumb{background-color:#00000040}@media (min-width:768px) and (max-height:900px){.auth-compact{padding-block:2rem}}@keyframes kid-beta-twinkle{0%,72%,to{opacity:0;transform:scale(0)rotate(0)}80%{opacity:1;transform:scale(1.2)rotate(45deg)}90%{opacity:.6;transform:scale(.85)rotate(90deg)}}@keyframes streak-gift-shake{0%,to{transform:rotate(0)}12%{transform:rotate(-8deg)}24%{transform:rotate(8deg)}36%{transform:rotate(-6deg)}48%{transform:rotate(6deg)}60%{transform:rotate(0)}}.streak-gift-shake{transform-origin:50% 75%;animation:1.6s ease-in-out infinite streak-gift-shake}@media (prefers-reduced-motion:reduce){.streak-gift-shake{animation:none}}.prize-hero{background:repeating-conic-gradient(at 80% 120%,#ffffff29 0deg 9deg,#fff0 9deg 18deg),linear-gradient(120deg,#e91f62 0%,#f53f78 58%,#ff6b93 100%)}.prize-hero-gift{transform-origin:50% 100%;animation:2.6s ease-in-out infinite prize-gift-bounce}@keyframes prize-gift-bounce{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-8px)rotate(3deg)}}.prize-pop{animation:.5s cubic-bezier(.34,1.4,.64,1) both bounceIn}.prize-float{animation:3.4s ease-in-out infinite prize-art-float}@keyframes prize-art-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.prize-modal-pop{animation:zr-pop-in var(--duration-slow) var(--ease-out-strong) both}.prize-confetti__dot{--dot-angle:calc(var(--dot-index) * 45deg);background:#ffd261;border-radius:999px;width:9px;height:9px;animation:.9s ease-out both prize-confetti-burst;position:absolute;top:50%;left:50%}.prize-confetti__dot:nth-child(3n){background:#ff6b6b}.prize-confetti__dot:nth-child(3n+1){background:#6ecbff}@keyframes prize-confetti-burst{0%{opacity:1;transform:rotate(var(--dot-angle)) translateX(6px) scale(1)}to{opacity:0;transform:rotate(var(--dot-angle)) translateX(64px) scale(.4)}}@media (prefers-reduced-motion:reduce){.prize-hero-gift,.prize-pop,.prize-float,.prize-modal-pop,.prize-confetti__dot{animation:none}}@keyframes result-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes result-pop{0%{opacity:0;transform:scale(.82)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes result-tile{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes result-arc{0%{stroke-dashoffset:var(--arc-full)}to{stroke-dashoffset:var(--arc-offset)}}.result-reveal [data-anim]:not([data-anim=coins-number]){animation:.36s cubic-bezier(.22,1,.36,1) both result-rise;animation-delay:var(--reveal-delay,0s)}.result-reveal [data-anim=mascot]{transform-origin:50% 80%;animation-name:result-pop;animation-duration:.5s}.result-reveal [data-anim=donut]{animation-name:result-pop;animation-duration:.45s}.result-reveal [data-anim=question]{animation-name:result-tile;animation-duration:.28s}.result-reveal .result-donut-arc{animation:.6s cubic-bezier(.22,1,.36,1) .3s both result-arc}@media (prefers-reduced-motion:reduce){.result-reveal [data-anim],.result-reveal .result-donut-arc{animation:none}}@keyframes rc-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes rc-blink{0%,90%,to{transform:scaleY(1)}94%{transform:scaleY(.08)}}@keyframes rc-lid-rock{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes rc-coin-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4px)rotate(-3deg)}}@keyframes rc-twinkle{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.rc-cat{transform-origin:122px 170px;animation:3.4s ease-in-out infinite rc-bob}.rc-eye-left,.rc-eye-right{animation:4.8s ease-in-out 1.2s infinite rc-blink}.rc-eye-left{transform-origin:97px 116px}.rc-eye-right{transform-origin:131px 119px}.rc-lid{transform-origin:178px 134px;animation:2.8s ease-in-out infinite rc-lid-rock}.rc-coin-left,.rc-coin-right{animation:2.6s ease-in-out infinite rc-coin-float}.rc-coin-left{transform-origin:85px 59px}.rc-coin-right{transform-origin:175px 85px;animation-direction:alternate-reverse;animation-delay:.9s}.rc-sparkles>path{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite rc-twinkle}.rc-sparkles>path:nth-child(3n+1){animation-delay:.3s}.rc-sparkles>path:nth-child(3n+2){animation-delay:.9s}.rc-sparkles>path:nth-child(3n){animation-delay:1.4s}@media (prefers-reduced-motion:reduce){.rc-cat,.rc-eye-left,.rc-eye-right,.rc-lid,.rc-coin-left,.rc-coin-right,.rc-sparkles>path{animation:none}}@keyframes zr-loading-sweep{0%{transform:translate(-100%)}to{transform:translate(300%)}}.loading-sweep{animation:zr-loading-sweep 1.4s var(--ease-in-out-strong) infinite;will-change:transform}@media (prefers-reduced-motion:reduce){.loading-sweep{animation:none;transform:translate(100%)}}@keyframes zr-interstitial-leave{to{opacity:0}}.interstitial-leave{animation:zr-interstitial-leave var(--duration-exit) ease-out both;pointer-events:none}