.lumi-character{isolation:isolate;transform-origin:50% 88%;pointer-events:none;flex:none;display:inline-flex;position:relative}.lumi-art{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:50% 88%;filter:drop-shadow(0 8px 12px #3f18a047);width:100%;height:100%;display:block}.lumi-accessory{filter:drop-shadow(0 2px 2px #0005);font-size:30%;position:absolute;top:0;right:2%}.lumi-idle .lumi-art{animation:5s ease-in-out infinite lumi-3d-idle}.lumi-happy .lumi-art{animation:.72s cubic-bezier(.2,.8,.3,1) both lumi-3d-happy}.lumi-cheer .lumi-art{animation:.88s cubic-bezier(.2,.85,.25,1) both lumi-3d-cheer}.lumi-think .lumi-art{animation:3.8s ease-in-out infinite lumi-3d-think}.lumi-wave .lumi-art{animation:4s ease-in-out infinite lumi-3d-wave}.lumi-encourage .lumi-art{animation:3.6s ease-in-out infinite lumi-3d-encourage}.lumi-sleepy .lumi-art{animation:5.2s ease-in-out infinite lumi-3d-sleepy}@keyframes lumi-3d-idle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-1.4%)scale(1.006)}}@keyframes lumi-3d-happy{0%{opacity:.82;transform:translateY(3%)scale(.97)}48%{transform:translateY(-3.5%)scale(1.018)}76%{transform:translateY(.5%)scale(.995,1.006)}to{opacity:1;transform:none}}@keyframes lumi-3d-cheer{0%{transform:translateY(2%)scale(1.02,.97)}42%{transform:translateY(-7%)scale(.99,1.025)}70%{transform:translateY(0)scale(1.025,.98)}86%{transform:translateY(-1%)scale(.998,1.005)}to{transform:none}}@keyframes lumi-3d-think{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-1.2%)rotate(-.8deg)}}@keyframes lumi-3d-wave{0%,to{transform:translateY(0)rotate(0)}45%{transform:translateY(-1.5%)rotate(.7deg)}}@keyframes lumi-3d-encourage{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-1.2%)scale(1.006)}}@keyframes lumi-3d-sleepy{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(.8%)scale(1.004,.996)}}@media (prefers-reduced-motion:reduce){.lumi-character,.lumi-art{animation:none!important;transform:none!important}}
:root{--motion-touch:90ms;--motion-choice:.26s;--motion-progress:.48s;--motion-celebrate:.64s;--ease-touch:cubic-bezier(.2,.8,.25,1);--ease-choice:cubic-bezier(.2,.8,.25,1);--ease-progress:cubic-bezier(.2,.75,.25,1);--ease-celebrate:cubic-bezier(.16,1,.3,1)}:where(.app button:not(:disabled),.app .pressable,.fdx button:not(:disabled),.fdx .pressable){-webkit-tap-highlight-color:transparent;transform-origin:50% 70%;transition-property:scale,translate;transition-duration:var(--motion-touch);transition-timing-function:var(--ease-touch)}@media (hover:hover){:where(.app button:not(:disabled),.app .pressable,.fdx button:not(:disabled),.fdx .pressable):hover{translate:0 -1px;scale:1.008}}:where(.app button:not(:disabled),.app .pressable,.fdx button:not(:disabled),.fdx .pressable):active{translate:0 1px;scale:.985}.feedback-correct,.opt.feedback-correct{animation:feedback-correct var(--motion-progress) var(--ease-celebrate) both}.feedback-wrong,.opt.feedback-wrong{animation:feedback-wrong var(--motion-choice) ease-out both}.feedback-panel,.fb.good,.fb.hint,.fb.bad{animation:feedback-panel var(--motion-choice) var(--ease-choice) both}.answer-motion-surface{position:relative}.answer-feedback-pulse{z-index:3;opacity:0;pointer-events:none;border:2px solid #0000;border-radius:18px;position:absolute;inset:-4px}.answer-feedback-pulse.correct{animation:answer-pulse-correct var(--motion-progress) var(--ease-celebrate) both}.answer-feedback-pulse.wrong{animation:answer-pulse-wrong var(--motion-choice) ease-out both}@keyframes feedback-correct{0%{translate:0 1px;scale:.985}44%{translate:0 -2px;scale:1.018}to{translate:0;scale:1}}@keyframes feedback-wrong{0%,to{translate:0}28%{translate:-3px}58%{translate:3px}80%{translate:-1px}}@keyframes feedback-panel{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0}}@keyframes answer-pulse-correct{0%{opacity:0;border-color:#4fbf942e;scale:.99;box-shadow:0 0 #4fbf942e}34%{opacity:1;border-color:#4fbf94ad;box-shadow:0 0 0 3px #4fbf941a}to{opacity:0;border-color:#4fbf9400;scale:1.018;box-shadow:0 0 0 7px #4fbf9400}}@keyframes answer-pulse-wrong{0%{opacity:0;border-color:#e2687a2e;translate:0}25%{opacity:.9;border-color:#e2687a8c;translate:-2px}55%{opacity:.8;translate:2px}78%{opacity:.55;translate:-1px}to{opacity:0;border-color:#e2687a00;translate:0}}.view-enter{animation:view-enter var(--motion-choice) var(--ease-choice) both}.reward-arrive{animation:reward-arrive var(--motion-celebrate) var(--ease-celebrate) both}@keyframes view-enter{0%{opacity:.45;translate:0 5px}to{opacity:1;translate:0}}@keyframes reward-arrive{0%{opacity:0;translate:0 10px;scale:.92}62%{opacity:1;translate:0 -1px;scale:1.012}to{opacity:1;translate:0;scale:1}}.tab.on .ti{animation:tab-settle var(--motion-choice) var(--ease-celebrate)}.sess-rail-item.done .sess-rail-dot{animation:progress-settle var(--motion-progress) var(--ease-celebrate)}.xp-fill,.daily-fill,.sess-delta-fill,.diag-fill,.pp-fill,.sm-fill{transition:width var(--motion-progress) var(--ease-progress)}@keyframes tab-settle{0%{scale:.9}62%{scale:1.06}to{scale:1}}@keyframes progress-settle{0%{scale:.86}58%{scale:1.08}to{scale:1}}@media (prefers-reduced-motion:reduce){:where(.app button,.app .pressable,.fdx button,.fdx .pressable){transition:none!important}:where(.app button:active,.app .pressable:active,.fdx button:active,.fdx .pressable:active){translate:0!important;scale:1!important}.feedback-correct,.feedback-wrong,.feedback-panel,.fb.good,.fb.hint,.fb.bad,.answer-feedback-pulse,.view-enter,.reward-arrive,.tab.on .ti,.sess-rail-item.done .sess-rail-dot{animation:none!important;translate:0!important;scale:1!important}.tab .ti,.xpfill,.playfill,.daily-fill,.sess-delta-fill,.diag-fill,.pp-fill,.sm-fill,.day1-map-fill,.prog-subj-fill,.pw-hero-fill{transition:none!important}}
