.lumi-character{isolation:isolate;transform-origin:50% 88%;pointer-events:none;contain:layout paint style;flex:none;display:inline-flex;position:relative}.lumi-character .lumi-canonical-still img.lumi-still-body{filter:drop-shadow(0 8px 12px #3f18a047) var(--lumi-avatar-filter,none)}.lumi-vector-shell{aspect-ratio:1;isolation:isolate;inline-size:100%;display:inline-flex;position:relative;overflow:visible}.lumi-vector-art{filter:drop-shadow(0 8px 12px #3f18a047);transform-box:fill-box;block-size:100%;inline-size:100%;display:block;overflow:visible}.lumi-vector-accessory{filter:drop-shadow(0 2px 2px #0005);font-size:32px}.lumi-canonical-still{isolation:isolate;pointer-events:none;flex:none;place-items:center;line-height:0;display:inline-grid;position:relative;container-type:inline-size}.lumi-canonical-still img{object-fit:contain;filter:drop-shadow(0 8px 12px #3f18a047);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;grid-area:1/1;width:100%;height:100%;display:block}.lumi-canonical-accessory{z-index:1;filter:var(--lumi-accessory-filter,drop-shadow(0 2px 2px #0005));font-size:clamp(14px,13cqi,32px);line-height:1;position:absolute;top:4%;right:30%}.lumi-3d-character{isolation:isolate;place-items:center;display:inline-grid;position:relative;overflow:visible;container-type:inline-size}.lumi-3d-canvas,.lumi-3d-fallback{pointer-events:none;will-change:opacity;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0;transform:translateZ(0)}.lumi-3d-canvas{z-index:1;opacity:0}.lumi-3d-canvas[data-lumi-initial-presentation-ready=false],.lumi-3d-character[data-lumi-ready=true] .lumi-3d-canvas{opacity:1}.lumi-3d-canvas[data-lumi-status=failed]{opacity:0}.lumi-3d-fallback{z-index:2;opacity:1}.lumi-3d-fallback[data-lumi-visible=false]{visibility:hidden;opacity:0}.lumi-3d-fallback .lumi-canonical-still{width:100%;height:100%}.lumi-3d-fallback .lumi-canonical-still img{filter:none}.lumi-3d-accessory{z-index:3;filter:drop-shadow(0 2px 2px #0005);pointer-events:none;font-size:clamp(14px,13cqi,32px);line-height:1;position:absolute;top:4%;right:30%}.lumi-raster-character{isolation:isolate;place-items:center;display:inline-grid;position:relative;overflow:visible;container-type:inline-size}.lumi-raster-canvas,.lumi-raster-fallback{pointer-events:none;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.lumi-raster-canvas{z-index:2;opacity:0;width:125%;height:125%;inset:-12.5%}.lumi-raster-character[data-lumi-ready=true] .lumi-raster-canvas{opacity:1}.lumi-raster-fallback{z-index:1;opacity:1}.lumi-raster-fallback[data-lumi-visible=false]{visibility:hidden;opacity:0}.lumi-raster-fallback .lumi-canonical-still{width:100%;height:100%}.lumi-raster-fallback .lumi-canonical-still img{filter:none}.lumi-3d-fallback .lumi-canonical-still img.lumi-still-body,.lumi-raster-fallback .lumi-canonical-still img.lumi-still-body{filter:var(--lumi-avatar-filter,none)}.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=idle] .lumi-raster-fallback{animation:4.2s ease-in-out infinite lumi-raster-fallback-idle}.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=opening] .lumi-raster-fallback,.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=wave] .lumi-raster-fallback{animation:5.2s cubic-bezier(.37,0,.3,1) both lumi-raster-fallback-wave}.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=correct] .lumi-raster-fallback,.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=retrySuccess] .lumi-raster-fallback{animation:2.4s cubic-bezier(.2,.9,.25,1) both lumi-raster-fallback-correct}.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=wrong] .lumi-raster-fallback{animation:2.7s cubic-bezier(.22,.7,.2,1) both lumi-raster-fallback-support}.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=levelUp] .lumi-raster-fallback{animation:3.4s cubic-bezier(.2,.85,.2,1) both lumi-raster-fallback-level}.lumi-raster-fallback[data-lumi-visible=false],.fb.feedback-shell[data-active=false] .lumi-raster-fallback{animation:none!important}.lumi-raster-accessory{z-index:5;filter:var(--lumi-accessory-filter,drop-shadow(0 2px 2px #0005));pointer-events:none;font-size:clamp(14px,13cqi,32px);line-height:1;position:absolute;top:4%;right:30%}.lumi-raster-glow{z-index:0;height:18%;filter:var(--lumi-glow-filter,blur(14px));opacity:.45;pointer-events:none;background:#7851f23d;border-radius:50%;position:absolute;bottom:7%;left:22%;right:22%}.lumi-raster-spark{z-index:4;aspect-ratio:1;opacity:0;pointer-events:none;background:#fff;border-radius:2px;width:5.5%;position:absolute;transform:rotate(45deg)scale(.2);box-shadow:0 0 10px #dac9ffe6}.lumi-raster-spark-a{top:24%;left:10%}.lumi-raster-spark-b{width:3.5%;top:38%;right:8%}.lumi-raster-spark-c{width:4%;top:10%;right:19%}:is(.lumi-raster-character:has(.lumi-raster-canvas[data-lumi-performance=correct]) .lumi-raster-spark,.lumi-raster-character:has(.lumi-raster-canvas[data-lumi-performance=retrySuccess]) .lumi-raster-spark,.lumi-raster-character:has(.lumi-raster-canvas[data-lumi-performance=levelUp]) .lumi-raster-spark),.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=correct] .lumi-raster-spark,.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=retrySuccess] .lumi-raster-spark,.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=levelUp] .lumi-raster-spark{animation:1.25s cubic-bezier(.2,.8,.2,1) .32s both lumi-raster-spark}.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=levelUp] .lumi-raster-spark-b{animation-delay:.48s}.lumi-raster-character[data-lumi-fallback-motion=true][data-lumi-performance=levelUp] .lumi-raster-spark-c{animation-delay:.62s}.lumi-raster-character:has(.lumi-raster-canvas[data-lumi-performance=levelUp]) .lumi-raster-spark-b{animation-delay:.48s}.lumi-raster-character:has(.lumi-raster-canvas[data-lumi-performance=levelUp]) .lumi-raster-spark-c{animation-delay:.62s}@keyframes lumi-raster-spark{0%{opacity:0;transform:translateY(12px)rotate(45deg)scale(.2)}28%{opacity:.9;transform:translateY(0)rotate(45deg)scale(1)}to{opacity:0;transform:translateY(-18px)rotate(90deg)scale(.35)}}@keyframes lumi-raster-fallback-idle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2.5%)scale(1.015,1.02)}}@keyframes lumi-raster-fallback-wave{0%{opacity:.9;transform:translateY(8px)scale(.96)}14%{opacity:1;transform:translateY(0)scale(1.015,1.02)}30%{transform:rotate(-1.4deg)}46%{transform:rotate(1.2deg)}62%{transform:rotate(-.8deg)}80%,to{transform:none}}@keyframes lumi-raster-fallback-correct{0%{transform:none}9%{transform:translateY(3px)scale(1.04,.95)}34%{transform:translateY(-10px)scale(.97,1.05)}60%{transform:translateY(-5px)scale(1.01)}to{transform:none}}@keyframes lumi-raster-fallback-support{0%{transform:none}12%{transform:translateY(4px)scale(1.05,.94)}30%{transform:rotate(-3.2deg)translateY(1px)}48%{transform:rotate(2.6deg)}64%{transform:rotate(-1.6deg)translateY(-3px)}82%{transform:translateY(-1px)scale(1.01)}to{transform:none}}@keyframes lumi-raster-fallback-level{0%{transform:none}10%{transform:translateY(4px)scale(1.06,.93)}38%{transform:translateY(-16px)scale(.96,1.08)}68%{transform:translateY(-8px)scale(1.01)}to{transform:none}}.lumi-launch{pointer-events:none;isolation:isolate;justify-content:center;align-items:center;display:inline-flex;position:relative}.lumi-launch-character{display:block}.lumi-opening{background:var(--brandDeep);isolation:isolate;justify-content:center;align-items:center;width:100vw;max-width:none;margin:0;display:flex;position:fixed;inset:0;overflow:hidden}.app:not(.boot-onb){z-index:1;box-shadow:0 0 0 100vmax var(--bg)}.lumi-opening{z-index:1000}.lumi-opening[data-lumi-performance-started=false]{background:0 0}.lumi-opening[data-lumi-performance-started=false] .lumi-opening-destination{opacity:0}.lumi-opening[data-lumi-performance-started=false] .lumi-opening-stage{visibility:hidden}.lumi-opening-destination{pointer-events:none;background:radial-gradient(circle at 50% 43%,#ffffff1a,#0000 38%),linear-gradient(#ffffff09,#0000 30%);position:absolute;inset:0}.lumi-opening-destination-top,.lumi-opening-destination-rail{display:none}.lumi-opening-stage{z-index:1;position:absolute;inset:0;overflow:hidden}.lumi-star-portal{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0;transform:translateY(clamp(-44px,-5dvh,-20px))}.lumi-star-portal-artwork{isolation:isolate;width:clamp(286px,82vw,344px);height:clamp(286px,82vw,344px);opacity:var(--lumi-artwork-opacity,1);will-change:opacity;position:relative}.lumi-star-portal-ambient{z-index:0;filter:blur(22px);opacity:calc(.18 + var(--lumi-arrival-progress,0) * .3 + var(--lumi-ignition-progress,0) * .24);transform:scale(calc(.76 + var(--lumi-arrival-progress,0) * .24 + var(--lumi-ignition-progress,0) * .08));will-change:opacity,transform;background:radial-gradient(circle,#ece2ff57,#bc9cff24 46%,#0000 72%);border-radius:50%;position:absolute;inset:10% 9% 5%}.lumi-star-portal-figure{z-index:1;opacity:var(--lumi-figure-opacity,0);transform:translate3d(0,var(--lumi-figure-y,34px),0) rotate(var(--lumi-figure-rotate,0deg)) scaleX(var(--lumi-figure-scale-x,.78)) scaleY(var(--lumi-figure-scale-y,.72));transform-origin:50% 82%;will-change:opacity,transform;display:block;position:absolute;inset:0}.lumi-star-portal-canonical{filter:var(--lumi-avatar-filter,none);position:absolute;inset:0;width:100%!important;height:100%!important}.lumi-star-portal-canonical img{filter:drop-shadow(0 20px 28px #22085c52);transform:translateZ(0)}.lumi-star-portal-star-halo,.lumi-star-portal-star-core{z-index:4;aspect-ratio:1;pointer-events:none;width:13.5%;position:absolute;top:66.6%;left:52.9%;overflow:visible;translate:-50% -50%}.lumi-star-portal-star-halo{filter:blur(11px);opacity:calc(.12 + var(--lumi-ignition-progress,0) * .88);transform:scale(var(--lumi-star-scale,.88));will-change:opacity,transform}.lumi-star-portal-star-core{filter:drop-shadow(0 0 9px #ffffffeb);width:10.5%;opacity:calc(.18 + var(--lumi-ignition-progress,0) * .82);transform:scale(var(--lumi-star-scale,.88));will-change:opacity,transform}.lumi-star-portal-spark{z-index:5;aspect-ratio:1;width:8px;opacity:calc(var(--lumi-greeting-progress,0) * (1 - var(--lumi-reveal-progress,0)));transform:rotate(45deg) scale(calc(.35 + var(--lumi-greeting-progress,0) * .65));will-change:opacity,transform;background:#fff;border-radius:2px;position:absolute;box-shadow:0 0 12px #f2eaffe6}.lumi-star-portal-spark-one{translate:calc(var(--lumi-greeting-progress,0) * -9px) calc(var(--lumi-greeting-progress,0) * -15px);top:29%;left:14%}.lumi-star-portal-spark-two{width:5px;translate:calc(var(--lumi-greeting-progress,0) * -2px) calc(var(--lumi-greeting-progress,0) * -12px);top:18%;left:24%}.lumi-star-portal-spark-three{width:6px;translate:calc(var(--lumi-greeting-progress,0) * 8px) calc(var(--lumi-greeting-progress,0) * -12px);top:28%;right:14%}.lumi-star-portal-spark-four{width:4px;translate:calc(var(--lumi-greeting-progress,0) * 3px) calc(var(--lumi-greeting-progress,0) * -9px);top:14%;right:23%}.lumi-opening-brand{z-index:3;left:16px;right:16px;bottom:max(calc(env(safe-area-inset-bottom) + 48px),8dvh);min-height:64px;opacity:var(--lumi-artwork-opacity,1);flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute}.lumi-opening-brand span{font-family:var(--font-display),var(--font-body),system-ui,sans-serif;letter-spacing:-.05em;color:#f8f7ff;text-shadow:0 0 #0000;font-size:clamp(37px,10vw,50px);font-weight:860}.lumi-opening-brand small{color:#eee9ff;letter-spacing:.01em;opacity:.82;font-size:14px;font-weight:700}:is(.lumi-opening:has(.lumi-star-portal[data-lumi-portal-phase=reveal]) .lumi-opening-brand,.lumi-opening:has(.lumi-star-portal[data-lumi-portal-phase=handoff]) .lumi-opening-brand){opacity:0;transition:opacity .18s ease-out,transform .18s ease-out;transform:translateY(6px)}.lumi-opening-reduced{animation:.3s ease-out both lumi-opening-reduced-fade}.app-destination-layer{z-index:1;background:var(--bg);display:block;position:fixed;inset:0;overflow:hidden}.app-destination-layer-covered{z-index:1001;pointer-events:none;clip-path:circle(0);will-change:clip-path}.app-destination-layer-covered>*{opacity:var(--lumi-destination-content-opacity,0);will-change:opacity}.app-load-recovery{text-align:center;background:radial-gradient(circle at 50% 36%,#8b7bf738,transparent 32%),var(--bg);isolation:isolate;justify-content:center;align-items:center;gap:20px;padding:32px}.app-load-recovery-glow{filter:blur(44px);pointer-events:none;z-index:-1;background:#8b7bf71f;border-radius:50%;width:240px;height:240px;position:absolute}.app-load-recovery-copy{gap:8px;max-width:340px;display:grid}.app-load-recovery-kicker{color:#b9adff;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}.app-load-recovery-copy h1{font-size:28px;line-height:1.08}.app-load-recovery-copy p:last-child{color:var(--mut);font-size:15px;line-height:1.45}.app-load-recovery-primary{background:linear-gradient(120deg,var(--brand),var(--brand2));color:#fff;border-radius:14px;min-width:190px;min-height:48px;padding:12px 18px;font-weight:850;box-shadow:0 12px 28px #6a57e047}.app-load-recovery-primary:disabled{opacity:.62;cursor:wait}.app-load-recovery-reload{color:#d8d4e8;text-underline-offset:4px;align-items:center;min-height:44px;font-size:14px;font-weight:750;text-decoration:underline;display:inline-flex}@keyframes lumi-opening-reduced-fade{0%{opacity:1}to{opacity:0}}@media (max-height:480px) and (orientation:landscape){.lumi-star-portal{transform:translateY(-10px)}.lumi-star-portal-artwork{width:min(216px,54dvh);height:min(216px,54dvh)}.lumi-opening-brand{bottom:max(calc(env(safe-area-inset-bottom) + 16px),4dvh);min-height:48px}.lumi-opening-brand span{font-size:32px}.lumi-opening-brand small{font-size:12px}}@media (prefers-reduced-motion:reduce){.lumi-raster-spark,.lumi-raster-fallback{animation:none!important}.lumi-star-portal-figure,.lumi-star-portal-ambient,.lumi-star-portal-star-halo,.lumi-star-portal-star-core,.lumi-star-portal-spark{will-change:auto!important}.role-mascot,.role-title,.role-sub,.role-value,.role-cards{transition:none!important}}[data-lumi-appearance=chrome] .lumi-star-portal-ambient{background:radial-gradient(circle,#ecf0f64d,#a8aeba1f 46%,#0000 72%)}[data-lumi-appearance=chrome].app-load-recovery{background:radial-gradient(circle at 50% 36%,#e2e6ee24,transparent 32%),var(--bg)}[data-lumi-appearance=chrome] .app-load-recovery-glow{background:#e2e6ee17}
: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}}
