.lumen-wrap{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;overflow:visible;--lumen-shell: #4a35b5;--lumen-body: #4a35b5;--lumen-core: #7fe3d4;--lumen-face: #fbf5ea;--lumen-hand: #f6ecdc;--lumen-leg: #2f2280;--lumen-foot: #241a63;--lumen-inset: #3b2a97;--lumen-cheek: #f4a9b8;--lumen-line: #241a4a;--lumen-shadow: #241a4a;--lumen-strap: #3b2a97;--lumen-pack: #3b2a97;--lumen-pack-flap: #2f2280;--lumen-tuft: #ffc857;--sprout-stem: #2f9e7a;--sprout-leaf: #35b98d;--sprout-leaf-alt: #57d3a6}.lumen-wrap[data-palette=ember]{--lumen-shell: #c45c2c;--lumen-body: #e07a3a;--lumen-core: #ffc857;--lumen-face: #fff4e8;--lumen-hand: #f8dcc4;--lumen-leg: #4a2414;--lumen-foot: #5c2e18;--lumen-inset: #7a3418;--lumen-cheek: #ff8a6a;--lumen-line: #3d1a0c;--lumen-shadow: #3d1a0c;--lumen-strap: #7a3418;--lumen-pack: #7a3418;--lumen-pack-flap: #5c2e18;--lumen-tuft: #ffd36a;--sprout-stem: #c08a2c;--sprout-leaf: #e0a63a;--sprout-leaf-alt: #f2bf5c}.lumen-wrap--mini{width:64px}.lumen-wrap--small{width:120px}.lumen-wrap--medium{width:220px}.lumen-wrap--large{width:320px}.lumen-wrap--responsive{width:min(42vw,300px);max-width:100%}.lumen-svg{width:100%;height:auto;overflow:visible;display:block}.lumen-arm-l,.lumen-arm-r,.lumen-head,.lumen-body,.lumen-leg{transform-box:view-box}.lumen-arm-l{transform-origin:78px 148px}.lumen-arm-r{transform-origin:122px 148px}.lumen-head{transform-origin:100px 92px}.lumen-body{transform-origin:100px 200px}.lumen-leg-l,.lumen-leg-r{transform-origin:100px 198px}.lumen-sprout,.sprout-leaf,.lumen-tuft,.lumen-pack,.lumen-mark{transform-box:view-box}.lumen-sprout{transform-origin:100px 44px}.sprout-leaf-l{transform-origin:99px 32px}.sprout-leaf-r{transform-origin:101px 27px}.lumen-tuft-l{transform-origin:55px 98px}.lumen-tuft-r{transform-origin:145px 98px}.lumen-sprout,.sprout-leaf,.lumen-tuft{transition:transform var(--dur, .22s) var(--ease, cubic-bezier(.22, 1, .36, 1))}.lumen-pupil,.lumen-brow{transform-box:fill-box;transform-origin:center}.lumen-lid{transform-box:fill-box;transform-origin:top center;transform:scaleY(.08)}.mouth{opacity:0}.mouth-closed{opacity:1}.lumen-wrap[data-visible=true][data-paused=false] .lumen-body{animation:lumenBreathe 3.6s ease-in-out infinite}.lumen-wrap[data-visible=true][data-paused=false] .lumen-head{animation:lumenIdleHead 5.2s ease-in-out infinite}.lumen-wrap[data-visible=true][data-paused=false] .lumen-pupil{animation:lumenGlance 7s ease-in-out infinite}.lumen-wrap.is-blink .lumen-lid{animation:lumenBlink .18s ease-in-out}@keyframes lumenBreathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.015,.985)}}@keyframes lumenIdleHead{0%,to{transform:rotate(-1.4deg) translateY(0)}40%{transform:rotate(1.6deg) translateY(-1px)}70%{transform:rotate(-.6deg) translateY(0)}}@keyframes lumenGlance{0%,30%,to{transform:translate(0)}38%{transform:translate(2px,-1px)}55%{transform:translate(-2px,1px)}72%{transform:translate(1px)}}@keyframes lumenBlink{0%,to{transform:scaleY(.08)}45%,55%{transform:scaleY(1)}}.lumen-wrap[data-emotion=happy] .mouth-closed,.lumen-wrap[data-emotion=happy] .mouth-small,.lumen-wrap[data-emotion=happy] .mouth-open,.lumen-wrap[data-emotion=happy] .mouth-wide,.lumen-wrap[data-emotion=excited] .mouth-closed,.lumen-wrap[data-emotion=sad] .mouth-closed,.lumen-wrap[data-emotion=surprised] .mouth-closed{opacity:0}.lumen-wrap[data-emotion=happy] .mouth-smile,.lumen-wrap[data-emotion=happy] .lumen-cheeks{opacity:1}.lumen-wrap[data-emotion=happy][data-action=none] .lumen{animation:lumenHappyBounce 1.8s ease-in-out infinite}.lumen-wrap[data-emotion=excited] .mouth-smile{opacity:1}.lumen-wrap[data-emotion=excited] .lumen-eye-white{transform-box:fill-box;transform-origin:center;transform:scale(1.12)}.lumen-wrap[data-emotion=excited][data-action=none] .lumen{animation:lumenExcited .7s ease-in-out infinite}.lumen-wrap[data-emotion=sad] .mouth-frown{opacity:1}.lumen-wrap[data-emotion=sad] .lumen-head{animation:lumenSadHead 2.8s ease-in-out infinite}.lumen-wrap[data-emotion=sad] .lumen-brow{transform:translateY(3px) rotate(6deg)}.lumen-wrap[data-emotion=sad] .lumen-brow-r{transform:translateY(3px) rotate(-6deg)}.lumen-wrap[data-emotion=sad] .lumen-body,.lumen-wrap[data-emotion=sad] .lumen-arm{animation:lumenSadSlow 3s ease-in-out infinite}.lumen-wrap[data-emotion=thinking] .lumen-pupil{animation:none;transform:translateY(-8px)}.lumen-wrap[data-emotion=thinking] .lumen-brow-l{transform:translateY(-5px) rotate(-10deg)}.lumen-wrap[data-emotion=thinking] .lumen-brow-r{transform:translateY(-5px) rotate(10deg)}.lumen-wrap[data-emotion=thinking] .lumen-arm-l{animation:lumenChin 2.4s ease-in-out infinite}.lumen-wrap[data-emotion=thinking] .lumen-head{animation:lumenThinkHead 3s ease-in-out infinite}.lumen-wrap[data-emotion=surprised] .mouth-open{opacity:1}.lumen-wrap[data-emotion=surprised] .lumen-eye-white{transform-box:fill-box;transform-origin:center;transform:scale(1.18)}.lumen-wrap[data-emotion=surprised] .lumen-brow{transform:translateY(-5px)}.lumen-wrap[data-emotion=surprised] .lumen{animation:lumenSurprise .45s cubic-bezier(.2,1.4,.3,1) 1}@keyframes lumenHappyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes lumenExcited{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}@keyframes lumenSadHead{0%,to{transform:rotate(4deg) translateY(4px)}50%{transform:rotate(6deg) translateY(5px)}}@keyframes lumenSadSlow{0%,to{transform:translateY(0)}50%{transform:translateY(1px)}}@keyframes lumenChin{0%,to{transform:rotate(18deg) translate(4px,-10px)}50%{transform:rotate(22deg) translate(6px,-12px)}}@keyframes lumenThinkHead{0%,to{transform:rotate(-8deg) translateY(-2px)}50%{transform:rotate(-5deg) translateY(-3px)}}@keyframes lumenSurprise{0%{transform:scale(1)}40%{transform:scale(1.06) translateY(-6px)}to{transform:scale(1)}}.lumen-wrap[data-talking=true] .mouth{opacity:0;animation:none}.lumen-wrap[data-talking=true] .mouth-closed{animation:talkA .42s steps(1) infinite}.lumen-wrap[data-talking=true] .mouth-small{animation:talkB .42s steps(1) infinite}.lumen-wrap[data-talking=true] .mouth-open{animation:talkC .42s steps(1) infinite}.lumen-wrap[data-talking=true] .mouth-wide{animation:talkD .42s steps(1) infinite}.lumen-wrap[data-talking=true] .lumen-head{animation:lumenTalkHead 1.6s ease-in-out infinite}@keyframes talkA{0%,24%{opacity:1}25%,to{opacity:0}}@keyframes talkB{0%,24%{opacity:0}25%,49%{opacity:1}50%,to{opacity:0}}@keyframes talkC{0%,49%{opacity:0}50%,74%{opacity:1}75%,to{opacity:0}}@keyframes talkD{0%,74%{opacity:0}75%,to{opacity:1}}@keyframes lumenTalkHead{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1.5deg)}}.lumen-wrap[data-action=wave] .lumen-arm-r{animation:lumenWave .7s ease-in-out 2}.lumen-wrap[data-action=wave] .lumen{animation:lumenWelcomeBounce .7s cubic-bezier(.2,1.3,.3,1) 2}.lumen-wrap[data-action=correct] .lumen-arm-r{animation:lumenThumb .85s cubic-bezier(.2,1.4,.3,1) 1}.lumen-wrap[data-action=correct] .lumen-thumb{transform-box:fill-box;transform-origin:bottom center;animation:lumenThumbPop .85s ease 1}.lumen-wrap[data-action=wrong] .lumen-head{animation:lumenShake .7s ease-in-out 1}.lumen-wrap[data-action=celebrate] .lumen{animation:lumenJump 1.1s cubic-bezier(.2,1.5,.3,1) 1}.lumen-wrap[data-action=celebrate] .lumen-arm-l,.lumen-wrap[data-action=celebrate] .lumen-arm-r{animation:lumenArmsUp 1.1s cubic-bezier(.2,1.4,.3,1) 1}.lumen-wrap[data-action=explain] .lumen-arm-r{animation:lumenPoint 1.2s ease-in-out infinite}.lumen-wrap[data-action=hint] .lumen-arm-r{animation:lumenHint 1.1s ease-in-out infinite}.lumen-wrap[data-action=goodbye] .lumen-arm-r{animation:lumenWave .7s ease-in-out 2}@keyframes lumenWave{0%,to{transform:rotate(0)}25%{transform:rotate(-48deg)}75%{transform:rotate(-18deg)}}@keyframes lumenWelcomeBounce{0%,to{transform:translateY(0)}40%{transform:translateY(-6px)}70%{transform:translateY(-2px)}}@keyframes lumenThumb{0%{transform:rotate(0)}40%{transform:rotate(-42deg)}70%{transform:rotate(-34deg)}to{transform:rotate(-38deg)}}@keyframes lumenThumbPop{0%,to{transform:rotate(0)}50%{transform:rotate(-12deg)}}@keyframes lumenShake{0%,to{transform:rotate(0)}20%{transform:rotate(-10deg)}40%{transform:rotate(9deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}@keyframes lumenJump{0%{transform:translateY(0) scale(1)}18%{transform:translateY(2px) scale(1.02,.96)}42%{transform:translateY(-8px) scale(.99,1.02)}70%{transform:translateY(1px) scale(1.01,.98)}to{transform:translateY(0) scale(1)}}@keyframes lumenArmsUp{0%{transform:rotate(0)}40%{transform:rotate(-48deg)}to{transform:rotate(-36deg)}}.lumen-wrap[data-action=celebrate] .lumen-arm-l{animation-name:lumenArmsUpL}@keyframes lumenArmsUpL{0%{transform:rotate(0)}40%{transform:rotate(48deg)}to{transform:rotate(36deg)}}@keyframes lumenPoint{0%,to{transform:rotate(-28deg) translate(6px,-8px)}50%{transform:rotate(-38deg) translate(10px,-12px)}}@keyframes lumenHint{0%,to{transform:rotate(-40deg) translate(8px,-14px)}50%{transform:rotate(-52deg) translate(12px,-18px)}}.lumen-confetti{position:absolute;inset:8% 10% 30%;pointer-events:none;overflow:hidden}.lumen-confetti i{position:absolute;top:40%;width:4px;height:8px;border-radius:1px;opacity:0;animation:lumenConfetti .9s ease-out 1}.lumen-confetti i:nth-child(1){left:20%;background:#7ee7f2;animation-delay:.02s}.lumen-confetti i:nth-child(2){left:40%;background:#5dffb2;animation-delay:.08s}.lumen-confetti i:nth-child(3){left:55%;background:#ffd36a;animation-delay:.04s}.lumen-confetti i:nth-child(4){left:70%;background:#ff6b8a;animation-delay:.12s}.lumen-confetti i:nth-child(5){left:30%;background:#7ee7f2;animation-delay:.16s}.lumen-confetti i:nth-child(6){left:62%;background:#5dffb2;animation-delay:.1s}@keyframes lumenConfetti{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(-48px) rotate(120deg)}}.lumen-wrap[data-state=LOADING] .lumen-spark{transform-box:fill-box;transform-origin:center;animation:lumenLoadSpark .9s ease-in-out infinite}@keyframes lumenLoadSpark{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.35);opacity:1}}.lumen-wrap[data-action=read] .lumen-pupil{animation:lumenRead 1.6s ease-in-out infinite}.lumen-wrap[data-action=read] .lumen-head{animation:lumenReadHead 1.6s ease-in-out infinite}.lumen-wrap[data-action=read] .lumen-brow-l{transform:translateY(-2px) rotate(-6deg)}.lumen-wrap[data-action=read] .lumen-brow-r{transform:translateY(-1px) rotate(4deg)}@keyframes lumenRead{0%,to{transform:translate(-5px,1px)}50%{transform:translate(6px,2px)}}@keyframes lumenReadHead{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(4deg) translateY(1px)}}.lumen-wrap[data-action=proud] .lumen-head{animation:lumenProudNod 1.3s ease-in-out 1}.lumen-wrap[data-action=proud] .lumen-cheeks{opacity:1}.lumen-wrap[data-action=proud] .mouth{opacity:0}.lumen-wrap[data-action=proud] .mouth-smile{opacity:1}.lumen-wrap[data-action=proud] .lumen-body{animation:lumenProudPuff 1.3s ease-in-out 1}@keyframes lumenProudNod{0%,to{transform:rotate(0) translateY(0)}30%{transform:rotate(-8deg) translateY(3px)}55%{transform:rotate(4deg) translateY(-2px)}75%{transform:rotate(-2deg) translateY(0)}}@keyframes lumenProudPuff{0%,to{transform:scale(1)}40%{transform:scale(1.04,1.02)}}.lumen-wrap[data-action=sassy] .mouth,.lumen-wrap[data-emotion=sad][data-talking=true] .mouth-frown{opacity:0}.lumen-wrap[data-action=sassy] .mouth-smirk,.lumen-wrap[data-emotion=sad][data-talking=true] .mouth-smirk{opacity:1}.lumen-wrap[data-action=sassy] .lumen-head,.lumen-wrap[data-emotion=sad][data-talking=true] .lumen-head{animation:lumenWrongShake .55s ease-in-out 1,lumenSassyTilt 2.2s ease-in-out .55s infinite}.lumen-wrap[data-action=sassy] .lumen-brow-l,.lumen-wrap[data-emotion=sad][data-talking=true] .lumen-brow-l{transform:translateY(-5px) rotate(-14deg)}.lumen-wrap[data-action=sassy] .lumen-brow-r,.lumen-wrap[data-emotion=sad][data-talking=true] .lumen-brow-r{transform:translateY(3px) rotate(10deg)}.lumen-wrap[data-action=sassy] .lumen-pupil{animation:none;transform:translate(3px,2px)}@keyframes lumenWrongShake{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}50%{transform:rotate(7deg)}75%{transform:rotate(-4deg)}}@keyframes lumenSassyTilt{0%,to{transform:rotate(8deg) translateY(2px)}50%{transform:rotate(11deg) translateY(3px)}}.lumen-wrap[data-pose=peek] .lumen-leg,.lumen-wrap[data-pose=peek] .lumen-shadow,.lumen-wrap[data-pose=peek] .lumen-arm-r{display:none}.lumen-wrap[data-pose=peek][data-emotion=thinking] .lumen-arm-l{animation:none!important;transform:rotate(96deg)}.lumen-wrap[data-pose=peek][data-action=none] .lumen,.lumen-wrap[data-pose=peek][data-emotion=happy][data-action=none] .lumen,.lumen-wrap[data-pose=peek][data-emotion=excited][data-action=none] .lumen{animation:none}.lumen-wrap[data-pose=peek][data-action=proud] .lumen-head{animation:lumenProudPeek 1.15s cubic-bezier(.2,1.3,.3,1) 1}@keyframes lumenProudPeek{0%,to{transform:translateY(0)}35%{transform:translateY(-7px)}60%{transform:translateY(-2px)}}.lumen-wrap[data-pose=peek] .lumen-hand-l{animation:lumenGrip 2.6s ease-in-out infinite}@keyframes lumenGrip{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.lumen-peek-hands .lumen-head,.lumen-peek-hands .lumen-body,.lumen-peek-hands .lumen-leg,.lumen-peek-hands .lumen-shadow,.lumen-peek-hands .lumen-spark,.lumen-peek-hands .lumen-arm-r,.lumen-peek-hands .lumen-confetti,.lumen-peek-body .lumen-arm{visibility:hidden}.lumen-wrap[data-action=sassy][data-talking=true] .mouth-closed,.lumen-wrap[data-action=sassy][data-talking=true] .mouth-small,.lumen-wrap[data-action=sassy][data-talking=true] .mouth-open,.lumen-wrap[data-action=sassy][data-talking=true] .mouth-wide,.lumen-wrap[data-action=sassy][data-talking=true] .mouth-frown{opacity:0!important;animation:none!important}.lumen-wrap[data-action=sassy][data-talking=true] .mouth-smirk{animation:sassyBlab .42s steps(1) infinite}@keyframes sassyBlab{0%,45%{opacity:1}46%,to{opacity:.25}}.lumen-wrap[data-paused=true] .lumen-body,.lumen-wrap[data-paused=true] .lumen-head,.lumen-wrap[data-paused=true] .lumen-pupil,.lumen-wrap[data-paused=true] .lumen{animation-play-state:paused}.lumen-wrap.is-reduced .lumen-confetti{display:none}.lumen-wrap.is-reduced .lumen-body,.lumen-wrap.is-reduced .lumen-head,.lumen-wrap.is-reduced .lumen-pupil,.lumen-wrap.is-reduced .lumen,.lumen-wrap.is-reduced .lumen-arm-l,.lumen-wrap.is-reduced .lumen-arm-r{animation:none!important}.lumen-wrap.is-reduced[data-action=wave] .lumen-arm-r,.lumen-wrap.is-reduced[data-action=correct] .lumen-arm-r,.lumen-wrap.is-reduced[data-action=explain] .lumen-arm-r,.lumen-wrap.is-reduced[data-action=hint] .lumen-arm-r{transform:rotate(-24deg)}@media(prefers-reduced-motion:reduce){.lumen-wrap:not(.is-motion-on) .lumen-confetti{display:none}.lumen-wrap:not(.is-motion-on) .lumen-body,.lumen-wrap:not(.is-motion-on) .lumen-head,.lumen-wrap:not(.is-motion-on) .lumen-pupil,.lumen-wrap:not(.is-motion-on) .lumen,.lumen-wrap:not(.is-motion-on) .lumen-arm-l,.lumen-wrap:not(.is-motion-on) .lumen-arm-r{animation:none!important}}.lumen-wrap:not([data-gaze=center]) .lumen-pupil{animation:none!important}.lumen-wrap[data-gaze=left] .lumen-pupil{transform:translate(-4px)}.lumen-wrap[data-gaze=right] .lumen-pupil{transform:translate(4px)}.lumen-wrap[data-gaze=up] .lumen-pupil{transform:translateY(-4px)}.lumen-wrap[data-gaze=down] .lumen-pupil{transform:translateY(4px)}.lumen-wrap[data-visible=true][data-paused=false] .lumen-sprout{animation:sproutSway 5.8s ease-in-out infinite}@keyframes sproutSway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}.lumen-wrap[data-state=READING] .lumen-head{transform:translateY(2px) rotate(3deg);animation:none}.lumen-wrap[data-state=READING] .lumen-sprout{transform:rotate(9deg);animation:none}.lumen-wrap[data-state=READING] .lumen-brow-l{transform:translateY(-2px) rotate(-5deg)}.lumen-wrap[data-state=READING] .lumen-brow-r{transform:translateY(-1px) rotate(3deg)}.lumen-wrap[data-state=CURIOUS] .lumen-head{animation:sproutTilt 2.4s ease-in-out infinite}.lumen-wrap[data-state=CURIOUS] .sprout-leaf-r{transform:rotate(-22deg) translateY(-2px)}.lumen-wrap[data-state=CURIOUS] .lumen-eye-white{transform:scale(1.06);transform-box:fill-box;transform-origin:center}.lumen-wrap[data-state=CURIOUS] .lumen-brow-l{transform:translateY(-6px) rotate(-12deg)}.lumen-wrap[data-state=CURIOUS] .lumen-brow-r{transform:translateY(-2px) rotate(4deg)}@keyframes sproutTilt{0%,to{transform:rotate(-7deg)}50%{transform:rotate(-2deg)}}.lumen-wrap[data-action=encourage] .lumen-arm-r{animation:sproutOffer 1.6s ease-in-out}.lumen-wrap[data-action=encourage] .lumen-head{animation:sproutNod 1.6s ease-in-out}.lumen-wrap[data-action=encourage] .lumen-cheeks{opacity:1}@keyframes sproutOffer{0%{transform:rotate(0)}35%{transform:rotate(-38deg)}70%{transform:rotate(-30deg)}to{transform:rotate(0)}}@keyframes sproutNod{0%,to{transform:rotate(0) translateY(0)}40%{transform:rotate(2deg) translateY(2px)}70%{transform:rotate(-1deg) translateY(0)}}.lumen-wrap[data-action=streak] .lumen{animation:sproutStreakHop 2s cubic-bezier(.22,1,.36,1)}.lumen-wrap[data-action=streak] .lumen-arm-l{animation:sproutArmL 2s ease-in-out}.lumen-wrap[data-action=streak] .lumen-arm-r{animation:sproutArmR 2s ease-in-out}.lumen-wrap[data-action=streak] .lumen-tuft-l{animation:sproutTuftL 2s ease-in-out}.lumen-wrap[data-action=streak] .lumen-tuft-r{animation:sproutTuftR 2s ease-in-out}.lumen-wrap[data-action=streak] .lumen-sprout{animation:sproutLift 2s ease-in-out}@keyframes sproutStreakHop{0%,to{transform:translateY(0)}18%{transform:translateY(-10px)}36%{transform:translateY(0)}54%{transform:translateY(-6px)}72%{transform:translateY(0)}}.lumen-wrap[data-action=jump] .lumen{animation:sproutJump 2.2s cubic-bezier(.22,1,.36,1)}.lumen-wrap[data-action=jump] .lumen-arm-l{animation:sproutArmL 2.2s ease-in-out}.lumen-wrap[data-action=jump] .lumen-arm-r{animation:sproutArmR 2.2s ease-in-out}.lumen-wrap[data-action=jump] .lumen-sprout{animation:sproutLift 2.2s ease-in-out}.lumen-wrap[data-action=jump] .lumen-leg-l{animation:sproutLegL 2.2s ease-in-out}.lumen-wrap[data-action=jump] .lumen-leg-r{animation:sproutLegR 2.2s ease-in-out}.lumen-wrap[data-action=jump] .lumen-cheeks{opacity:1}@keyframes sproutJump{0%{transform:translateY(0) scaleY(1)}12%{transform:translateY(4px) scaleY(.92)}34%{transform:translateY(-22px) scaleY(1.05)}56%{transform:translateY(0) scaleY(.96)}70%{transform:translateY(-8px) scaleY(1.02)}to{transform:translateY(0) scaleY(1)}}@keyframes sproutArmL{0%,to{transform:rotate(0)}30%,70%{transform:rotate(48deg)}}@keyframes sproutArmR{0%,to{transform:rotate(0)}30%,70%{transform:rotate(-48deg)}}@keyframes sproutTuftL{0%,to{transform:rotate(0)}40%{transform:rotate(-16deg)}}@keyframes sproutTuftR{0%,to{transform:rotate(0)}40%{transform:rotate(16deg)}}@keyframes sproutLift{0%,to{transform:rotate(0) translateY(0)}35%{transform:rotate(-8deg) translateY(-4px)}65%{transform:rotate(6deg) translateY(-2px)}}@keyframes sproutLegL{0%,to{transform:rotate(0)}34%{transform:rotate(-12deg)}}@keyframes sproutLegR{0%,to{transform:rotate(0)}34%{transform:rotate(12deg)}}.lumen-wrap[data-state=WRONG] .sprout-leaf-l{transform:rotate(24deg) translateY(3px)}.lumen-wrap[data-state=WRONG] .sprout-leaf-r{transform:rotate(-20deg) translateY(4px)}.lumen-wrap[data-state=WRONG] .lumen-sprout{animation:none;transform:rotate(-3deg)}.lumen-wrap.is-reduced .lumen-sprout,.lumen-wrap.is-reduced .sprout-leaf,.lumen-wrap.is-reduced .lumen-tuft,.lumen-wrap.is-reduced .lumen-leg-l,.lumen-wrap.is-reduced .lumen-leg-r{animation:none!important}@media(prefers-reduced-motion:reduce){.lumen-wrap:not(.is-motion-on) .lumen-sprout,.lumen-wrap:not(.is-motion-on) .sprout-leaf,.lumen-wrap:not(.is-motion-on) .lumen-tuft,.lumen-wrap:not(.is-motion-on) .lumen-leg-l,.lumen-wrap:not(.is-motion-on) .lumen-leg-r{animation:none!important}}.lumen-wrap[data-palette=cyan]{--lumen-shell: #147d8c;--lumen-body: #147d8c;--lumen-inset: #0e5f6b;--lumen-strap: #0e5f6b;--lumen-pack: #0e5f6b;--lumen-pack-flap: #0a4a54;--lumen-leg: #0e5f6b;--lumen-foot: #0a4a54;--lumen-core: #9beef0}.lumen-wrap[data-palette=amber]{--lumen-shell: #b5761b;--lumen-body: #b5761b;--lumen-inset: #8e5b12;--lumen-strap: #8e5b12;--lumen-pack: #8e5b12;--lumen-pack-flap: #70470c;--lumen-leg: #8e5b12;--lumen-foot: #70470c;--lumen-core: #ffe0a3}.lumen-wrap[data-palette=mint]{--lumen-shell: #1f8a63;--lumen-body: #1f8a63;--lumen-inset: #16694a;--lumen-strap: #16694a;--lumen-pack: #16694a;--lumen-pack-flap: #10513a;--lumen-leg: #16694a;--lumen-foot: #10513a;--lumen-core: #a8f0d0}.lumen-wrap[data-palette=rose]{--lumen-shell: #b23a5c;--lumen-body: #b23a5c;--lumen-inset: #8d2c48;--lumen-strap: #8d2c48;--lumen-pack: #8d2c48;--lumen-pack-flap: #6f2138;--lumen-leg: #8d2c48;--lumen-foot: #6f2138;--lumen-core: #ffc2d2}.lumen-wrap[data-palette=violet]{--lumen-shell: #6b46c9;--lumen-body: #6b46c9;--lumen-inset: #5334a3;--lumen-strap: #5334a3;--lumen-pack: #5334a3;--lumen-pack-flap: #402881;--lumen-leg: #5334a3;--lumen-foot: #402881;--lumen-core: #d9c7ff}.lumen-wrap[data-palette=blue]{--lumen-shell: #2c5cc4;--lumen-body: #2c5cc4;--lumen-inset: #21469b;--lumen-strap: #21469b;--lumen-pack: #21469b;--lumen-pack-flap: #1a377b;--lumen-leg: #21469b;--lumen-foot: #1a377b;--lumen-core: #bcd2ff}.mascot-stage{display:flex;align-items:flex-end;gap:var(--s-3);margin-bottom:var(--s-4);min-height:92px}.mascot-stage__figure{flex:0 0 auto;display:flex;align-items:flex-end;overflow:visible}.mascot-stage__speech{flex:1;min-width:0;display:flex;align-items:flex-end;min-height:44px;padding-bottom:var(--s-3)}.mascot-stage__bubble{position:relative;margin:0;padding:9px 14px;border-radius:4px 14px 14px;border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--text);font-size:var(--text-sm);font-weight:500;line-height:1.4;max-width:42ch;box-shadow:var(--shadow-sm)}.mascot-stage__bubble--quiet{background:var(--surface-sunken);border-color:var(--line);color:var(--text-muted);font-weight:400}.mascot-stage__tail{position:absolute;left:-5px;bottom:11px;width:9px;height:9px;background:inherit;border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);transform:rotate(45deg)}.mascot-stage__bubble--quiet .mascot-stage__tail{border-color:var(--line)}.mascot-stage--recap{flex-direction:column;align-items:center;min-height:0}.mascot-stage--recap .mascot-stage__figure .lumen-wrap{width:150px}.mascot-stage--recap .mascot-stage__speech{justify-content:center;padding-bottom:0}.mascot-stage--recap .mascot-stage__bubble{border-radius:14px;text-align:center}.mascot-stage--recap .mascot-stage__tail{display:none}@media(max-width:560px){.mascot-stage{min-height:68px;gap:var(--s-2)}.mascot-stage__figure .lumen-wrap{width:72px}.mascot-stage__bubble{font-size:var(--text-xs);padding:7px 11px;max-width:none}.mascot-stage__speech{min-height:38px;padding-bottom:var(--s-2)}}.mascot-stage--page{align-items:center;min-height:0;margin-bottom:0}.mascot-stage--page .mascot-stage__figure .lumen-wrap{width:92px}.mascot-stage--page .mascot-stage__speech{align-items:center;min-height:0;padding-bottom:0}@media(max-width:560px){.mascot-stage--page .mascot-stage__figure .lumen-wrap{width:64px}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.4"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.embed-chat{display:flex;flex-direction:column;height:100vh;background:var(--bg, #0a2129);color:var(--text, #eef8fb);font-family:inherit}.embed-chat--error{align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--text-muted, #a8c4cb)}.embed-chat__header{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-bottom:1px solid var(--surface-hover, rgba(255, 255, 255, .12));flex-shrink:0}.embed-chat__header strong{font-size:var(--text-md, 17px)}.embed-chat__subtitle{font-size:var(--text-xs, 12.5px);color:var(--text-faint, #8aabb3)}.embed-chat__messages{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.embed-chat__empty{color:var(--text-faint, #8aabb3);font-size:var(--text-sm, 14px)}.embed-chat__bubble{max-width:85%;padding:8px 12px;border-radius:var(--radius-sm, 10px);font-size:var(--text-sm, 14px);line-height:1.5;word-break:break-word}.embed-chat__bubble--user{align-self:flex-end;background:var(--surface-hover, rgba(126, 231, 242, .16))}.embed-chat__bubble--assistant{align-self:flex-start;background:var(--surface, rgba(16, 52, 63, .78))}.embed-chat__typing{opacity:.6}.embed-chat__feedback{display:flex;gap:6px;margin-top:6px}.embed-chat__vote{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;border-radius:6px;opacity:.55}.embed-chat__vote:hover:not(:disabled){opacity:1;background:var(--surface-hover, rgba(255, 255, 255, .12))}.embed-chat__vote:disabled{cursor:default}.embed-chat__vote--active{opacity:1}.embed-chat__error{margin:0 16px 8px;font-size:var(--text-xs, 12.5px);color:var(--danger, #ff6b8a)}.embed-chat__input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--surface-hover, rgba(255, 255, 255, .12));flex-shrink:0}.embed-chat__input input{flex:1;background:var(--surface-sunken, rgba(2, 12, 16, .55));border:1px solid var(--surface-hover, rgba(255, 255, 255, .12));border-radius:var(--radius-pill, 999px);padding:8px 14px;color:inherit;font:inherit}.embed-chat__input button{border:none;border-radius:var(--radius-pill, 999px);padding:8px 16px;background:var(--accent, #7ee7f2);color:#04161c;font-weight:600;cursor:pointer}.embed-chat__input button:disabled{opacity:.5;cursor:not-allowed}.embed-mastery{display:flex;flex-direction:column;height:100vh;background:var(--bg, #0a2129);color:var(--text, #eef8fb);font-family:inherit;overflow:hidden}.embed-mastery--error,.embed-mastery--loading{align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--text-muted, #a8c4cb)}.embed-mastery__header{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-bottom:1px solid var(--surface-hover, rgba(255, 255, 255, .12));flex-shrink:0}.embed-mastery__header strong{font-size:var(--text-md, 17px)}.embed-mastery__aggregate{font-size:var(--text-xs, 12.5px);color:var(--text-faint, #8aabb3)}.embed-mastery__body{flex:1;overflow-y:auto;padding:12px 16px 16px;display:flex;flex-direction:column;gap:18px}.embed-mastery__empty{padding:16px;color:var(--text-faint, #8aabb3);font-size:var(--text-sm, 14px)}.embed-mastery__section-title{margin:0 0 8px;font-size:var(--text-xs, 12.5px);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint, #8aabb3)}.embed-mastery__list{display:flex;flex-direction:column;gap:10px}.embed-mastery__row{display:flex;flex-direction:column;gap:5px;padding:8px 10px;border-radius:var(--radius-sm, 10px);background:var(--surface, rgba(16, 52, 63, .6))}.embed-mastery__row-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.embed-mastery__row-label{font-size:var(--text-sm, 14px);min-width:0}.embed-mastery__row-meta{font-size:var(--text-xs, 11.5px);color:var(--text-faint, #8aabb3)}.embed-mastery__badge{flex-shrink:0;font-size:var(--text-xs, 11px);font-weight:600;padding:2px 8px;border-radius:var(--radius-pill, 999px)}.embed-mastery__badge--danger{background:#ff6b8a2e;color:var(--danger, #ff6b8a)}.embed-mastery__badge--warn{background:#ffc4542e;color:#ffc454}.embed-mastery__badge--info{background:#7ee7f22e;color:var(--accent, #7ee7f2)}.embed-mastery__badge--ok{background:#78dc962e;color:#78dc96}.embed-mastery__badge--muted{background:var(--surface-hover, rgba(255, 255, 255, .1));color:var(--text-faint, #8aabb3)}.embed-mastery__bar-track{height:5px;border-radius:var(--radius-pill, 999px);background:var(--surface-sunken, rgba(2, 12, 16, .55));overflow:hidden}.embed-mastery__bar-fill{height:100%;border-radius:inherit}.embed-mastery__bar-fill--danger{background:var(--danger, #ff6b8a)}.embed-mastery__bar-fill--warn{background:#ffc454}.embed-mastery__bar-fill--info{background:var(--accent, #7ee7f2)}.embed-mastery__bar-fill--ok{background:#78dc96}.embed-mastery__bar-fill--muted{background:var(--text-faint, #8aabb3)}:root{color-scheme:dark;--accent-rgb: 255 122 176;--accent-deep-rgb: 255 61 120;--ok-rgb: 93 255 178;--warn-rgb: 255 182 72;--danger-rgb: 255 107 138;--ground-rgb: 11 7 16;--scrim-rgb: 5 3 8;--bg: #0b0710;--bg-raised: #150c1f;--surface: rgb(26 16 35 / .78);--surface-solid: #1a1023;--surface-hover: rgb(34 20 46 / .9);--surface-sunken: rgb(var(--scrim-rgb) / .55);--surface-focus: rgb(var(--accent-rgb) / .12);--line: rgb(var(--accent-rgb) / .14);--line-strong: rgb(var(--accent-rgb) / .32);--line-focus: rgb(var(--accent-rgb) / .7);--text: #f5eef7;--text-muted: #b7a8c2;--text-faint: #8f7c93;--cyan: #ff7ab0;--cyan-deep: #ff3d78;--cyan-dim: rgb(var(--accent-rgb) / .55);--amber: #ffb648;--ok: #5dffb2;--warn: #ffb648;--danger: #ff6b8a;--violet: #b494ff;--course-cyan: #7ee7f2;--course-amber: #ffc857;--course-mint: #5dffb2;--course-rose: #ff6b8a;--course-violet: #b494ff;--course-blue: #7aa7ff;--ambient-1: rgb(255 61 120 / .16);--ambient-2: rgb(255 182 72 / .14);--ambient-from: #150c1f;--ambient-to: #0b0710;--ambient-grid-opacity: .28;--on-accent: #fff5f9;--on-danger: #ffd7de;--on-ok: #d3ffec;--question-card-bg: linear-gradient(180deg, rgb(30 15 40 / .9), rgb(var(--ground-rgb) / .8));--choice-bg: rgb(var(--ground-rgb) / .55);--btn-primary-bg: var(--grad-primary);--btn-primary-bg-hover: linear-gradient(135deg, #ff5a8d 0%, #ffc669 100%);--btn-primary-border: transparent;--btn-primary-ink: #180510;--grad-primary: linear-gradient(135deg, #ff3d78 0%, #ffb648 100%);--grad-warm: linear-gradient(135deg, #ff9a6c 0%, #ff6b9d 100%);--grad-cool: linear-gradient(135deg, #b494ff 0%, #ff7ab0 100%);--grad-success: linear-gradient(135deg, #5eead4 0%, #6ee7a8 100%);--grad-ring: conic-gradient(from 180deg, #ff3d78, #ffb648, #b494ff, #ff7ab0, #ff9a6c, #ff3d78);--ring-from: #ff3d78;--ring-mid: #ff7ab0;--ring-to: #ffb648;--hero-bg: linear-gradient(120deg, rgb(255 61 120 / .16) 0%, rgb(255 182 72 / .14) 55%, rgb(180 148 255 / .12) 100%);--shadow-sm: 0 1px 2px rgb(0 0 0 / .3);--shadow: 0 12px 32px rgb(0 0 0 / .34);--shadow-glow: 0 0 24px rgb(var(--accent-deep-rgb) / .22);--font: "Inter", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--text-xs: 12.5px;--text-sm: 14px;--text-base: 15.5px;--text-md: 17px;--text-lg: 21px;--text-xl: 28px;--text-2xl: clamp(28px, 3.4vw, 40px);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--radius: 14px;--radius-sm: 10px;--radius-lg: 22px;--radius-pill: 999px;--ease: cubic-bezier(.22, 1, .36, 1);--dur-fast: .14s;--dur: .22s;--dur-slow: .42s;--sidebar-w: 236px;--topbar-h: 60px;--mobile-nav-h: 62px;--content-max: 1320px}:root[data-theme=light]{color-scheme:light;--accent-rgb: 216 26 95;--accent-deep-rgb: 179 19 74;--ok-rgb: 20 122 82;--warn-rgb: 168 98 10;--danger-rgb: 179 48 82;--ground-rgb: 255 255 255;--scrim-rgb: 38 18 27;--bg: #fdf3f7;--bg-raised: #ffffff;--surface: #ffffff;--surface-solid: #ffffff;--surface-hover: #fbeef4;--surface-sunken: rgb(var(--scrim-rgb) / .05);--surface-focus: rgb(var(--accent-rgb) / .06);--line: rgb(var(--scrim-rgb) / .14);--line-strong: rgb(var(--accent-rgb) / .4);--line-focus: rgb(var(--accent-rgb) / .8);--text: #26121b;--text-muted: #6f5c67;--text-faint: #8a7681;--cyan: #d81a5f;--cyan-deep: #b3134a;--cyan-dim: rgb(var(--accent-rgb) / .6);--amber: #a8620a;--ok: #147a52;--warn: #a8620a;--danger: #b33052;--violet: #5b46a8;--course-cyan: #0b7688;--course-amber: #8a5d00;--course-mint: #147a52;--course-rose: #b33052;--course-violet: #5b46a8;--course-blue: #2f5fc4;--ambient-1: rgb(216 26 95 / .07);--ambient-2: rgb(168 98 10 / .06);--ambient-from: #fdf3f7;--ambient-to: #f8e7ee;--ambient-grid-opacity: .18;--on-accent: #ffffff;--on-danger: #8f2440;--on-ok: #0f5c3e;--question-card-bg: #ffffff;--choice-bg: #fbf5f7;--btn-primary-bg: linear-gradient(135deg, #d81a5f 0%, #a8620a 100%);--btn-primary-bg-hover: linear-gradient(135deg, #b3134a 0%, #8a5108 100%);--btn-primary-border: transparent;--btn-primary-ink: #ffffff;--grad-primary: linear-gradient(135deg, #d81a5f 0%, #a8620a 100%);--grad-warm: linear-gradient(135deg, #c2542e 0%, #c23e6d 100%);--grad-cool: linear-gradient(135deg, #7c5cd6 0%, #d81a5f 100%);--grad-success: linear-gradient(135deg, #12a58a 0%, #2fa565 100%);--grad-ring: conic-gradient(from 180deg, #d81a5f, #a8620a, #7c5cd6, #c2548a, #c2542e, #d81a5f);--ring-from: #d81a5f;--ring-mid: #c2548a;--ring-to: #a8620a;--hero-bg: linear-gradient(120deg, rgb(216 26 95 / .1) 0%, rgb(168 98 10 / .09) 55%, rgb(124 92 214 / .08) 100%);--shadow-sm: 0 1px 2px rgb(38 18 27 / .06);--shadow: 0 12px 32px rgb(38 18 27 / .09);--shadow-glow: 0 0 0 1px rgb(var(--accent-rgb) / .18)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] *:before,:root[data-reduce-motion=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:var(--text-base);line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:650;letter-spacing:-.01em;line-height:1.2}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}ul,ol{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--line-focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}::selection{background:rgb(var(--accent-rgb) / .28)}*{scrollbar-width:thin;scrollbar-color:rgb(var(--accent-rgb) / .24) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:rgb(var(--accent-rgb) / .2);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:rgb(var(--accent-rgb) / .34);background-clip:content-box}.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1200px 620px at 50% -12%,var(--ambient-1),transparent 58%),radial-gradient(820px 520px at 88% 112%,var(--ambient-2),transparent 52%),linear-gradient(180deg,var(--ambient-from) 0%,var(--ambient-to) 100%)}.ambient:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(ellipse at 50% 20%,black 30%,transparent 76%);mask-image:radial-gradient(ellipse at 50% 20%,black 30%,transparent 76%);opacity:var(--ambient-grid-opacity)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-4);top:-60px;z-index:100;padding:var(--s-2) var(--s-4);background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--radius-sm);transition:top var(--dur) var(--ease)}.skip-link:focus{top:var(--s-4)}.kicker{font-size:var(--text-xs);letter-spacing:.02em;color:var(--cyan);margin:0}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.mono{font-family:var(--mono)}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:10px 18px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:500;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn:hover:not(:disabled){border-color:var(--cyan);background:var(--surface-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-border);color:var(--btn-primary-ink);font-weight:700;box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-border);box-shadow:var(--shadow-glow),inset 0 1px #ffffff1a}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:var(--line)}.btn--danger{border-color:rgb(var(--danger-rgb) / .5);color:var(--on-danger)}.btn--danger:hover:not(:disabled){border-color:var(--danger);background:rgb(var(--danger-rgb) / .12)}.btn--lg{padding:12px 22px;font-size:var(--text-md)}.btn--sm{padding:6px 11px;font-size:var(--text-xs)}.btn--block{width:100%}.btn--icon{padding:8px;aspect-ratio:1}.btn .spinner{width:13px;height:13px;border:2px solid rgb(var(--accent-rgb) / .25);border-top-color:var(--cyan);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-sunken);font-size:var(--text-xs);font-weight:600;letter-spacing:0;color:var(--text-muted);cursor:default}button.chip{cursor:pointer;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}button.chip:hover{border-color:var(--line-strong);color:var(--text)}.chip--active{border-color:var(--cyan);color:var(--text);background:rgb(var(--accent-deep-rgb) / .14)}.chip--ok{border-color:rgb(var(--ok-rgb) / .4);color:var(--ok)}.chip--warn{border-color:rgb(var(--warn-rgb) / .4);color:var(--warn)}.chip--danger{border-color:rgb(var(--danger-rgb) / .4);color:var(--danger)}.chip--info{border-color:rgb(var(--accent-rgb) / .4);color:var(--cyan)}.chip--muted{color:var(--text-faint)}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s-5);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card--flush{padding:0;overflow:hidden}.card--interactive{cursor:pointer;text-align:left;width:100%;color:inherit;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card--interactive:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:var(--shadow)}.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.card__title{font-size:var(--text-md);font-weight:600}.card__sub{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.bracketed{border-color:var(--line-strong);background:var(--hero-bg),var(--surface)}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:var(--text-sm);font-weight:600;letter-spacing:0;color:var(--text-muted)}.field__hint{font-size:var(--text-xs);color:var(--text-faint)}.field__error{font-size:var(--text-xs);color:var(--danger)}.input,.textarea,.select{width:100%;padding:10px 12px;background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input:hover,.textarea:hover,.select:hover{border-color:var(--line-strong)}.input:focus,.textarea:focus,.select:focus{border-color:var(--cyan);outline:none;background:var(--surface-focus)}.input[aria-invalid=true]{border-color:var(--danger)}.textarea{min-height:120px;resize:vertical;font-family:var(--mono);font-size:var(--text-sm);line-height:1.6}.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}.switch{display:inline-flex;align-items:center;gap:var(--s-3);cursor:pointer}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch__track{width:38px;height:21px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface-sunken);position:relative;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);flex:0 0 auto}.switch__track:after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--text-muted);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.switch input:checked+.switch__track{background:rgb(var(--accent-deep-rgb) / .28);border-color:var(--cyan)}.switch input:checked+.switch__track:after{transform:translate(17px);background:var(--cyan)}.switch input:focus-visible+.switch__track{outline:2px solid var(--line-focus);outline-offset:2px}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s-3)}.option-tile{display:flex;flex-direction:column;gap:4px;padding:var(--s-4);text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-sunken);color:var(--text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.option-tile:hover{border-color:var(--line-strong);background:var(--surface-hover)}.option-tile[aria-pressed=true],.option-tile[data-selected=true]{border-color:var(--cyan);background:rgb(var(--accent-deep-rgb) / .13);box-shadow:var(--shadow-glow)}.option-tile__title{font-weight:600;font-size:var(--text-base)}.option-tile__desc{font-size:var(--text-xs);color:var(--text-muted);line-height:1.45}.tag-grid{display:flex;flex-wrap:wrap;gap:var(--s-2)}.tag{padding:7px 14px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-sunken);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:all var(--dur-fast) var(--ease)}.tag:hover{border-color:var(--line-strong);color:var(--text)}.tag[aria-pressed=true]{border-color:var(--cyan);background:rgb(var(--accent-deep-rgb) / .16);color:var(--text)}.meter{height:9px;border-radius:var(--radius-pill);background:rgb(var(--scrim-rgb) / .22);overflow:hidden}.meter__fill{display:block;height:100%;border-radius:inherit;background:var(--grad-primary);transition:width var(--dur-slow) var(--ease)}.meter--ok .meter__fill{background:var(--grad-success)}.meter--warn .meter__fill{background:var(--grad-warm)}.meter--danger .meter__fill{background:linear-gradient(90deg,rgb(var(--danger-rgb) / .8),var(--danger))}.meter--xp .meter__fill{background:var(--grad-warm)}.meter--thin{height:6px}.stat{display:flex;flex-direction:column;gap:2px}.stat__label{font-size:var(--text-xs);letter-spacing:.07em;color:var(--text-faint)}.stat__value{font-size:var(--text-lg);font-weight:650;font-variant-numeric:tabular-nums}.stat__delta{font-size:var(--text-xs)}.stat__delta--up{color:var(--ok)}.stat__delta--down{color:var(--danger)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--s-4)}.skeleton{background:linear-gradient(90deg,rgb(var(--accent-rgb) / .05) 25%,rgb(var(--accent-rgb) / .11) 37%,rgb(var(--accent-rgb) / .05) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton--text{height:12px;margin-bottom:var(--s-2)}.skeleton--title{height:20px;width:45%;margin-bottom:var(--s-4)}.skeleton--card{height:132px}.state{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-8) var(--s-5);text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface-sunken)}.state__icon{font-size:28px;line-height:1;opacity:.85}.state__title{font-size:var(--text-md);font-weight:600}.state__body{font-size:var(--text-sm);color:var(--text-muted);max-width:46ch}.state__actions{display:flex;flex-wrap:wrap;gap:var(--s-2);justify-content:center;margin-top:var(--s-2)}.state--error{border-style:solid;border-color:rgb(var(--danger-rgb) / .35)}.state--compact{padding:var(--s-6) var(--s-4)}.alert{display:flex;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-sunken);font-size:var(--text-sm)}.alert--error{border-color:rgb(var(--danger-rgb) / .4);color:var(--on-danger);background:rgb(var(--danger-rgb) / .08)}.alert--ok{border-color:rgb(var(--ok-rgb) / .4);color:var(--on-ok);background:rgb(var(--ok-rgb) / .08)}.alert--info{border-color:rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-rgb) / .07)}.reorderable-list{display:flex;flex-direction:column;gap:var(--s-3)}.reorderable-list__item{display:flex;align-items:flex-start;gap:var(--s-2);cursor:grab}.reorderable-list__item:active{cursor:grabbing}.reorderable-list__item--dragging{opacity:.5}.reorderable-list__content{flex:1;min-width:0}.reorderable-list__controls{display:flex;flex-direction:column;gap:2px;padding-top:var(--s-1)}.reorderable-list__move{display:flex;align-items:center;justify-content:center;width:26px;height:22px;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-muted);font-size:11px;line-height:1;cursor:pointer}.reorderable-list__move:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.reorderable-list__move:disabled{opacity:.35;cursor:not-allowed}.toast-stack{position:fixed;right:var(--s-5);bottom:var(--s-5);z-index:90;display:flex;flex-direction:column;gap:var(--s-2);max-width:min(380px,calc(100vw - var(--s-8)))}@media(max-width:720px){.toast-stack{right:var(--s-3);left:var(--s-3);bottom:calc(var(--mobile-nav-h) + var(--s-3));max-width:none}}.toast{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-solid);box-shadow:var(--shadow);font-size:var(--text-sm)}.toast button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0}.toast--ok{border-color:rgb(var(--ok-rgb) / .45)}.toast--error{border-color:rgb(var(--danger-rgb) / .5)}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:var(--s-4);background:rgb(var(--scrim-rgb) / .72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(520px,100%);max-height:min(80vh,720px);overflow-y:auto;background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:var(--s-6);box-shadow:var(--shadow)}.modal__title{font-size:var(--text-lg);margin-bottom:var(--s-2)}.modal__body{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--s-5)}.modal__actions{display:flex;gap:var(--s-2);justify-content:flex-end;flex-wrap:wrap}.chart{width:100%;display:block;overflow:visible}.chart__grid{stroke:var(--line);stroke-width:1}.chart__line{fill:none;stroke:var(--cyan);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart__area{fill:url(#chartFade);stroke:none}.chart__point{fill:var(--cyan)}.chart__axis{font-size:11px;fill:var(--text-faint)}.chart-scroll{overflow-x:auto;padding-bottom:var(--s-2)}.bars{display:flex;align-items:flex-end;gap:4px;height:120px}.bars__bar{flex:1;min-width:6px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--cyan),rgb(var(--accent-deep-rgb) / .35));transition:height var(--dur-slow) var(--ease)}.bars__bar--empty{background:rgb(var(--accent-rgb) / .08)}.palette-picker{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap}.palette-picker__swatches{display:flex;gap:var(--s-2);flex-wrap:wrap}.palette-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--line-strong);cursor:pointer;padding:0;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.palette-swatch:hover{transform:scale(1.12)}.palette-swatch--active{border-color:var(--bg);box-shadow:0 0 0 2px var(--cyan)}.palette-swatch--lumen{background:#4a35b5}.palette-swatch--cyan{background:#147d8c}.palette-swatch--amber{background:#b5761b}.palette-swatch--mint{background:#1f8a63}.palette-swatch--rose{background:#b23a5c}.palette-swatch--violet{background:#6b46c9}.palette-swatch--blue{background:#2c5cc4}.palette-swatch--ember{background:#c45c2c}.palette-picker__preview{flex:0 0 auto}.tabs__list{display:flex;gap:var(--s-2);border-bottom:1px solid var(--line);margin-bottom:var(--s-4)}.tabs__tab{appearance:none;background:none;border:none;border-bottom:2px solid transparent;padding:var(--s-2) var(--s-3);font-size:var(--text-sm);font-weight:600;color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.tabs__tab:hover{color:var(--text)}.tabs__tab--active{color:var(--text);border-bottom-color:var(--cyan)}.shell{position:relative;z-index:1;min-height:100%;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);grid-template-areas:"brand topbar" "nav   main"}.shell__brand{grid-area:brand;display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-5);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.shell__brand-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--cyan);background:rgb(var(--accent-deep-rgb) / .16);color:var(--cyan);font-size:13px;font-weight:500;flex:0 0 auto}.shell__brand-name{font-size:var(--text-md);font-weight:650;letter-spacing:.02em}.shell__topbar{grid-area:topbar;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:0 var(--s-6);border-bottom:1px solid var(--line);background:rgb(var(--ground-rgb) / .72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:20}.shell__page-title{font-size:var(--text-md);font-weight:600;min-width:0}.shell__topbar-right{display:flex;align-items:center;gap:var(--s-4)}.shell__nav{grid-area:nav;border-right:1px solid var(--line);padding:var(--s-4) var(--s-3);display:flex;flex-direction:column;gap:var(--s-1);overflow-y:auto}.shell__main{grid-area:main;min-width:0;overflow-y:auto}.shell__content{max-width:var(--content-max);margin:0 auto;padding:var(--s-6) var(--s-6) var(--s-10)}.nav-link{display:flex;align-items:center;gap:var(--s-3);padding:9px var(--s-3);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;border:1px solid transparent;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.nav-link:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.nav-link--active{background:rgb(var(--accent-deep-rgb) / .12);border-color:rgb(var(--accent-rgb) / .28);color:var(--text)}.nav-link__icon{width:20px;font-size:14px;line-height:1;display:grid;place-items:center;flex:0 0 auto;opacity:.9}.nav-link__badge{margin-left:auto;min-width:20px;height:18px;padding:0 6px;border-radius:var(--radius-pill);background:rgb(var(--danger-rgb) / .2);border:1px solid rgb(var(--danger-rgb) / .4);color:var(--on-danger);font-size:11px;display:grid;place-items:center}.nav-section{margin:var(--s-5) 0 var(--s-2);padding:0 var(--s-3);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint)}.shell__nav-footer{margin-top:auto;padding-top:var(--s-4)}.hud{display:flex;align-items:center;gap:var(--s-4);font-size:var(--text-xs);color:var(--text-muted)}.hud__item{display:flex;align-items:center;gap:6px;white-space:nowrap}.hud__value{color:var(--text);font-variant-numeric:tabular-nums}.avatar{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-strong);background:rgb(var(--accent-deep-rgb) / .16);color:var(--cyan);display:grid;place-items:center;font-size:var(--text-xs);overflow:hidden;flex:0 0 auto}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--lg{width:56px;height:56px;font-size:var(--text-md)}.account-menu{position:relative}.account-menu__panel{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;padding:var(--s-2);border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-solid);box-shadow:var(--shadow);z-index:40}.account-menu__header{padding:var(--s-2) var(--s-3) var(--s-3);border-bottom:1px solid var(--line);margin-bottom:var(--s-2)}.account-menu__item{display:block;width:100%;text-align:left;padding:8px var(--s-3);border:none;background:none;border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);cursor:pointer;text-decoration:none}.account-menu__item:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.account-menu__section{margin:var(--s-2) 0;padding:var(--s-2) var(--s-3) var(--s-3);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.account-menu__label{font-size:var(--text-xs);color:var(--text-faint);margin-bottom:var(--s-2)}.theme-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-sunken)}.theme-choice__option{padding:6px 4px;border:none;border-radius:4px;background:none;color:var(--text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.theme-choice__option:hover{color:var(--text);background:var(--surface-hover)}.theme-choice__option--active{background:var(--btn-primary-bg);border:1px solid var(--btn-primary-border);color:var(--on-accent);padding:5px 3px}.mobile-nav{display:none}@media(max-width:1024px){.shell{grid-template-columns:1fr;grid-template-rows:var(--topbar-h) minmax(0,1fr);grid-template-areas:"topbar" "main"}.shell__brand,.shell__nav{display:none}.shell__topbar{padding:0 var(--s-4)}.shell__topbar:before{content:"QF";display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-sm);border:1px solid var(--cyan);background:rgb(var(--accent-deep-rgb) / .16);color:var(--cyan);font-size:12px;flex:0 0 auto;margin-right:var(--s-3)}.shell__content{padding:var(--s-5) var(--s-4) calc(var(--mobile-nav-h) + var(--s-8))}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:var(--mobile-nav-h);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgb(var(--ground-rgb) / .94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-nav__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-faint);font-size:11px;letter-spacing:.04em;text-decoration:none;position:relative}.mobile-nav__link:hover{text-decoration:none}.mobile-nav__link--active{color:var(--cyan)}.mobile-nav__link--active:before{content:"";position:absolute;top:0;width:26px;height:2px;border-radius:0 0 3px 3px;background:var(--cyan)}.mobile-nav__icon{font-size:17px;line-height:1}.hud{gap:var(--s-3)}}@media(max-width:560px){.hud__item--xp{display:none}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-6)}.page-head__title{font-size:var(--text-xl)}.page-head__sub{color:var(--text-muted);font-size:var(--text-sm);margin-top:4px;max-width:62ch}.page-head__actions{display:flex;gap:var(--s-2);flex-wrap:wrap}.section{margin-bottom:var(--s-6)}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.section__title{font-size:var(--text-md);font-weight:600}.grid{display:grid;gap:var(--s-4)}.grid--2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.grid--dashboard{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}@media(max-width:900px){.grid--dashboard{grid-template-columns:1fr}}.stack{display:flex;flex-direction:column;gap:var(--s-4)}.stack--sm{gap:var(--s-2)}.stack--lg{gap:var(--s-5)}.row{display:flex;align-items:center;gap:var(--s-3)}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.spacer{flex:1}.list{display:flex;flex-direction:column}.list__item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.list__item:last-child{border-bottom:none}.list__main{min-width:0;flex:1}.list__title{font-size:var(--text-sm);font-weight:500}.list__meta{font-size:var(--text-xs);color:var(--text-faint)}.course-dot{width:9px;height:9px;border-radius:3px;flex:0 0 auto}.auth-shell{position:relative;z-index:1;min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-shell__aside{padding:var(--s-12) var(--s-10);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:var(--s-6)}.auth-shell__form{display:grid;place-items:center;padding:var(--s-8) var(--s-5)}.auth-card{width:min(420px,100%)}.auth-card__title{font-size:var(--text-xl);margin-bottom:6px}.auth-card__sub{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--s-6)}.auth-divider{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-5) 0;color:var(--text-faint);font-size:11px;letter-spacing:.02em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-foot{margin-top:var(--s-5);font-size:var(--text-sm);color:var(--text-muted);text-align:center}@media(max-width:880px){.auth-shell{grid-template-columns:1fr}.auth-shell__aside{display:none}}.feature-list{display:flex;flex-direction:column;gap:var(--s-4)}.feature{display:flex;gap:var(--s-3)}.feature__icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-sunken);color:var(--cyan)}.feature__title{font-weight:600;font-size:var(--text-sm)}.feature__body{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.onboarding{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column}.onboarding__bar{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--line)}.onboarding__steps{display:flex;gap:5px;flex:1;max-width:340px}.onboarding__step{flex:1;height:3px;border-radius:var(--radius-pill);background:rgb(var(--accent-rgb) / .14);transition:background var(--dur) var(--ease)}.onboarding__step--done{background:var(--cyan)}.onboarding__body{flex:1;display:grid;place-items:center;padding:var(--s-8) var(--s-5) var(--s-12)}.onboarding__panel{width:min(720px,100%)}.onboarding__title{font-size:var(--text-2xl);margin:var(--s-3) 0 var(--s-2)}.onboarding__sub{color:var(--text-muted);margin-bottom:var(--s-6);max-width:60ch}.onboarding__actions{display:flex;gap:var(--s-3);justify-content:space-between;margin-top:var(--s-8);align-items:center}.onboarding__hero{display:flex;align-items:center;gap:var(--s-5);margin-bottom:var(--s-4)}.onboarding__hero .lumen-wrap--medium{width:132px;flex:0 0 auto}@media(max-width:620px){.onboarding__hero .lumen-wrap--medium{width:92px}.onboarding__actions{flex-direction:column-reverse;align-items:stretch}}.build-steps{display:flex;flex-direction:column;gap:var(--s-3);font-size:var(--text-sm)}.build-step{display:flex;align-items:center;gap:var(--s-3);color:var(--text-faint);transition:color var(--dur) var(--ease)}.build-step--active{color:var(--text)}.build-step--done{color:var(--ok)}.root-shell{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column}.root-shell__bar{flex:none;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:0 var(--s-5)}.root-shell__brand{display:inline-flex;align-items:center;gap:var(--s-3);color:var(--text);text-decoration:none}.root-shell__brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--cyan);color:var(--bg);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em}.root-shell__brand-name{font-weight:800;letter-spacing:-.01em}.root-shell__main{flex:1;min-height:0;display:flex;flex-direction:column}.lesson-shell{position:relative;z-index:1;height:100dvh;display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);grid-template-areas:"bar  bar" "rail main"}.lesson-shell--chat{grid-template-columns:92px minmax(0,1fr) minmax(320px,420px);grid-template-areas:"bar  bar  bar" "rail main chat"}.lesson-shell__bar{grid-area:bar;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:0 var(--s-5);border-bottom:1px solid var(--line)}.lesson-shell__crumbs{display:flex;align-items:center;gap:var(--s-2);min-width:0;color:var(--text-muted);font-size:var(--text-sm)}.lesson-shell__crumbs a{color:var(--text-muted);text-decoration:none}.lesson-shell__crumbs a:hover{color:var(--text)}.lesson-shell__bar-right{display:flex;align-items:center;gap:var(--s-4)}.lesson-shell__xp{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--amber);font-weight:700;font-size:var(--text-sm)}.lesson-rail{grid-area:rail;display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4) var(--s-2);border-right:1px solid var(--line)}.lesson-rail__link{display:flex;flex-direction:column;align-items:center;gap:var(--s-1);padding:var(--s-3) var(--s-1);border-radius:var(--radius-sm);color:var(--text-faint);text-decoration:none;font-size:var(--text-xs);font-weight:600;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.lesson-rail__link:hover{background:var(--surface);color:var(--text)}.lesson-rail__link--active{color:var(--cyan);background:var(--surface)}.lesson-rail__icon{font-size:var(--text-md);line-height:1}.lesson-shell__main{grid-area:main;min-width:0;min-height:0;overflow-y:auto}.lesson-shell__center{display:grid;place-items:center;min-height:60dvh;padding:var(--s-8) var(--s-5)}.writing-state{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);text-align:center}.writing-state__icon{display:inline-block;font-size:32px;line-height:1}.writing-state__title{font-size:var(--text-md);font-weight:600}.writing-state__stage{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);min-height:3.2em;font-size:var(--text-sm);color:var(--text-muted)}.writing-state__stage .build__typing{padding-top:0}.chat-panel{grid-area:chat;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--surface-sunken)}.chat-panel__head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:var(--s-4) var(--s-4) var(--s-2)}.chat-panel__title{margin:0;font-size:var(--text-base)}.chat-panel__close{border:0;background:none;color:var(--text-faint);font-size:var(--text-lg);line-height:1;cursor:pointer;padding:var(--s-1) var(--s-2);border-radius:var(--radius-sm)}.chat-panel__close:hover{color:var(--text)}.chat-panel__thread{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-4)}.chat-panel__welcome{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-2);padding:var(--s-8) var(--s-4);margin:auto 0}.chat-panel__welcome .lumen-wrap--medium{width:132px}.chat-panel__welcome h3{margin:var(--s-2) 0 0;font-size:var(--text-lg);letter-spacing:-.01em}.chat-panel__welcome p{margin:0;max-width:32ch;font-size:var(--text-sm)}.chat-panel__reply{display:flex;align-items:flex-start;gap:var(--s-3);font-size:var(--text-sm)}.chat-panel__reply .md,.chat-panel__reply-body{min-width:0}.chat-panel__keep{margin-top:var(--s-2);padding:2px 0;background:none;border:0;cursor:pointer;font:inherit;font-size:var(--text-xs);color:var(--text-faint)}.chat-panel__keep:hover:not(:disabled){color:var(--cyan)}.chat-panel__keep:disabled{cursor:default;color:var(--ok)}.chat-panel__error{color:var(--danger);font-size:var(--text-sm)}.chat-panel__composer{flex:none;display:flex;align-items:flex-end;gap:var(--s-2);margin:var(--s-3);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface)}.chat-panel__composer:focus-within{border-color:var(--line-focus)}.chat-panel__composer .composer__input{padding:var(--s-2) 0;font-size:var(--text-sm);max-height:140px}.chat-panel__composer .composer__send{width:32px;height:32px;font-size:var(--text-sm)}.chat-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:5;display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-right:0;border-radius:var(--radius-pill) 0 0 var(--radius-pill);background:var(--surface-solid);color:var(--text);font:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer;box-shadow:var(--shadow)}.chat-tab:hover{background:var(--surface-hover)}.chat-tab__mascot{display:grid;place-items:center;flex:none;width:28px}.chat-tab__mascot .lumen-wrap--mini{width:28px}@media(max-width:900px){.lesson-shell,.lesson-shell--chat{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr) auto;grid-template-areas:"bar" "main" "rail"}.lesson-rail{flex-direction:row;justify-content:space-around;border-right:0;border-top:1px solid var(--line);background:var(--bg-raised);position:sticky;bottom:0}.lesson-rail__link{flex:1}.lesson-shell--chat .chat-panel{position:fixed;inset:var(--topbar-h) 0 0;z-index:20;border-left:0;background:var(--bg)}}.landing{position:relative;z-index:1;min-height:100%;isolation:isolate;--landing-rose: var(--cyan-deep);--landing-rose-2: var(--cyan);--landing-amber: var(--amber);--landing-shadow: rgb(var(--accent-deep-rgb) / .28)}.landing__nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-5) var(--s-6);max-width:var(--content-max);margin:0 auto;flex-wrap:wrap}.landing__hero{position:relative;z-index:2;max-width:var(--content-max);margin:0 auto;padding:var(--s-12) var(--s-6) var(--s-16);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s-10);align-items:center}.landing__headline{font-size:var(--text-2xl);line-height:1.05;margin:var(--s-4) 0 var(--s-4);letter-spacing:-.02em;background:linear-gradient(120deg,var(--text) 45%,var(--landing-rose-2) 100%);background-clip:text;-webkit-background-clip:text;color:transparent}.landing__lede{color:var(--text-muted);font-size:var(--text-md);max-width:54ch;margin-bottom:var(--s-6)}.landing__cta{display:flex;gap:var(--s-3);flex-wrap:wrap}.landing__art{display:grid;place-items:center}.landing__art .lumen-wrap--large{width:min(340px,80%)}.landing__flow{position:relative;z-index:2;max-width:var(--content-max);margin:0 auto;padding:0 var(--s-6) var(--s-16)}@media(max-width:900px){.landing__hero{grid-template-columns:1fr;padding-top:var(--s-8);gap:var(--s-6)}.landing__art{order:-1}.landing__art .lumen-wrap--large{width:min(210px,60%)}}.landing-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.landing-bg__blobs{position:absolute;inset:0}.landing-bg__blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.8;animation:landing-blob-drift 22s ease-in-out infinite alternate;will-change:transform}.landing-bg__blob--1{width:38vw;height:38vw;left:6%;top:-6%;background:radial-gradient(circle,rgb(255 61 120 / .28),transparent 70%);animation-duration:23s}.landing-bg__blob--2{width:32vw;height:32vw;right:6%;top:-10%;background:radial-gradient(circle,rgb(255 182 72 / .22),transparent 70%);animation-duration:19s;animation-delay:-6s}.landing-bg__blob--3{width:46vw;height:46vw;left:30%;bottom:-18%;background:radial-gradient(circle,rgb(255 122 176 / .22),transparent 70%);animation-duration:26s;animation-delay:-12s}@keyframes landing-blob-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-6%,5%,0) scale(1.12)}}.landing-bg__canvas{position:absolute;inset:0;width:100%;height:100%}body.landing-tab-hidden .landing-bg__blob{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.landing-bg__blob{animation:none}}.landing-sound{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:6px 12px;cursor:pointer;font:inherit;color:var(--text-muted)}.landing-sound__label{font-size:var(--text-xs)}.landing-sound__switch{position:relative;width:34px;height:20px;border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--line);flex:none}.landing-sound__switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:transform .18s ease,background .18s ease}.landing-sound.is-on .landing-sound__switch{background:#ff3d7859}.landing-sound.is-on .landing-sound__switch:after{transform:translate(14px);background:var(--landing-rose)}.landing-sound__vol{width:64px;accent-color:var(--landing-rose)}.landing .btn{position:relative;overflow:hidden;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.landing .btn--primary:hover:not(:disabled){transform:translateY(-1px)}.landing-ripple{position:absolute;border-radius:50%;background:#ffffff80;transform:scale(0);animation:landing-ripple .5s ease-out forwards;pointer-events:none}@keyframes landing-ripple{to{transform:scale(2.6);opacity:0}}.landing-feature{--mx: 50%;--my: 50%;position:relative;overflow:hidden}.landing-feature:before{content:"";position:absolute;inset:0;background:radial-gradient(220px 220px at var(--mx) var(--my),rgb(255 61 120 / .16),transparent 70%);opacity:0;transition:opacity .25s ease;pointer-events:none}.landing-feature:hover:before{opacity:1}.greeting{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);flex-wrap:wrap;margin-bottom:var(--s-6)}.greeting__text{min-width:0;flex:1 1 18rem}.greeting__title{font-size:var(--text-2xl);letter-spacing:-.02em}.greeting__sub{color:var(--text-muted);margin-top:4px}.hero-card{position:relative;padding:var(--s-6);border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:var(--hero-bg),var(--surface);box-shadow:var(--shadow);overflow:hidden}.hero-card__label{font-size:var(--text-xs);letter-spacing:.2em;color:var(--cyan)}.hero-card__title{font-size:var(--text-lg);margin:var(--s-2) 0 var(--s-2)}.hero-card__reason{color:var(--text-muted);font-size:var(--text-sm);max-width:60ch;margin-bottom:var(--s-5)}.hero-card__meta{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-5)}.goal-ring{display:flex;align-items:center;gap:var(--s-4)}.goal-ring__svg{flex:0 0 auto;transform:rotate(-90deg)}.goal-ring__track{fill:none;stroke:rgb(var(--scrim-rgb) / .28);stroke-width:9}.goal-ring__value{fill:none;stroke:url(#goalRingGradient);stroke-width:9;stroke-linecap:round;transition:stroke-dasharray var(--dur-slow) var(--ease)}.goal-ring__label{font-size:var(--text-xs);color:var(--text-muted)}.streak-flame{font-size:22px;line-height:1}.topic-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.topic-row:last-child{border-bottom:none}.topic-row__main{flex:1;min-width:0}.topic-row__name{font-size:var(--text-sm);font-weight:500}.topic-row__meta{font-size:var(--text-xs);color:var(--text-faint);margin-top:2px}.topic-row__bar{width:92px;flex:0 0 auto}@media(max-width:560px){.topic-row__bar{width:60px}}.runner{max-width:860px;margin:0 auto}.generating-state{display:flex;flex-direction:column;align-items:center;gap:var(--s-4);padding:var(--s-8) var(--s-4);text-align:center}.generating-state__title{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text)}.generating-state__bar{width:200px;height:5px;border-radius:999px;background:var(--surface-sunken);overflow:hidden;position:relative}.generating-state__bar-fill{position:absolute;inset:0;width:40%;border-radius:999px;background:linear-gradient(90deg,rgb(var(--accent-rgb)),rgb(var(--accent-deep-rgb)));animation:generating-bar-slide 1.6s ease-in-out infinite}@keyframes generating-bar-slide{0%{transform:translate(-110%)}50%{transform:translate(150%)}to{transform:translate(360%)}}@media(prefers-reduced-motion:reduce){.generating-state__bar-fill{animation:none;left:0}}.lesson-building{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-8) var(--s-4);text-align:center;max-width:480px;margin:0 auto}.lesson-building__figure{margin-bottom:var(--s-2)}.lesson-building__kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--accent-deep-rgb))}.lesson-building__title{margin:0 0 var(--s-4);font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em;line-height:1.25}.lesson-building__bar-row{display:flex;align-items:center;gap:var(--s-3);width:100%;max-width:320px}.lesson-building__bar{flex:1;height:6px;border-radius:999px;background:var(--surface-sunken);overflow:hidden}.lesson-building__bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,rgb(var(--accent-rgb)),rgb(var(--accent-deep-rgb)));transition:width .3s ease-out}.lesson-building__percent{flex:none;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:2.5em;text-align:right}.lesson-building__stage{margin:var(--s-4) 0 0;font-size:var(--text-sm);color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.lesson-building__bar-fill{transition:none}}.runner__bar{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-5);flex-wrap:wrap}.runner__progress{flex:1;min-width:140px}.runner__clock{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-muted)}.runner__clock--urgent{color:var(--danger)}.question-card{position:relative;padding:var(--s-6);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--question-card-bg);box-shadow:var(--shadow)}.question-card__meta{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-4)}.question-card__topic{font-size:var(--text-sm);font-weight:600;color:var(--cyan)}.question-card__tags{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.difficulty-pill{font-size:var(--text-xs);padding:3px 10px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-sunken);color:var(--text-muted);white-space:nowrap}.question-card__stem{font-size:clamp(17px,2.1vw,23px);line-height:1.3;font-weight:650;margin-bottom:var(--s-5)}.choices{display:flex;flex-direction:column;gap:var(--s-2)}.choice{display:flex;align-items:flex-start;gap:var(--s-3);width:100%;text-align:left;padding:15px 18px;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--choice-bg);color:var(--text);font-size:var(--text-base);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.choice:hover:not(:disabled){border-color:var(--cyan);background:var(--surface-hover)}.choice__key{font-size:var(--text-xs);width:20px;height:20px;border-radius:var(--radius-sm);border:1px solid var(--line);display:grid;place-items:center;flex:0 0 auto;margin-top:2px;color:var(--text-muted)}.choice--correct{border-color:var(--ok);background:rgb(var(--ok-rgb) / .1)}.choice--correct .choice__key{border-color:var(--ok);color:var(--ok)}.choice--wrong{border-color:var(--danger);background:rgb(var(--danger-rgb) / .1)}.feedback{margin-top:var(--s-5);padding:var(--s-4);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-sunken)}.feedback__verdict{display:flex;align-items:center;gap:var(--s-2);font-weight:600;margin-bottom:var(--s-2)}.feedback__verdict--ok{color:var(--ok)}.feedback__verdict--wrong{color:var(--danger)}.feedback__text{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6}.feedback__evidence{margin-top:var(--s-3);padding-left:var(--s-3);border-left:2px solid var(--line-strong);font-family:var(--mono);font-size:var(--text-xs);color:var(--text-faint);line-height:1.6}.choice__text{flex:1;min-width:0}.choice__mark{flex:0 0 auto;font-weight:700;margin-left:var(--s-2)}.choice--correct .choice__mark{color:var(--ok)}.choice--wrong .choice__mark{color:var(--danger)}.choices__hint{margin-top:var(--s-3);font-size:var(--text-xs);color:var(--text-faint)}.feedback__evidence-label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s-1)}.feedback__move{margin-top:var(--s-3);font-size:var(--text-sm);font-weight:500;color:var(--cyan)}.session-intro{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-4)}.session-intro__hint{font-size:var(--text-sm);color:var(--text-muted)}.runner__count{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.runner__clock-label{display:block;font-family:var(--font);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.runner__clock--urgent .runner__clock-label{color:var(--danger)}.hero-card__hint{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--s-3)}.activity-icon{flex:0 0 auto;font-size:15px;line-height:1;width:22px;text-align:center}.spark{width:100%;height:26px;display:block}.lives{display:flex;gap:5px}.life{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 8px rgb(var(--danger-rgb) / .5)}.life--spent{background:rgb(var(--danger-rgb) / .2);box-shadow:none}.recap{max-width:640px;margin:0 auto;text-align:center}.recap__mascot{width:min(360px,100%);margin:0 auto var(--s-4)}.recap__title{font-size:var(--text-2xl);margin-bottom:var(--s-2)}.recap__message{color:var(--text-muted);margin-bottom:var(--s-6)}.recap__xp{font-size:34px;font-weight:500;color:var(--cyan);letter-spacing:-.02em}.recap__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3);margin:var(--s-6) 0}.recap__stat{padding:var(--s-4) var(--s-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken)}.recap__list{text-align:left;margin-bottom:var(--s-5)}.recap__actions{display:flex;gap:var(--s-3);justify-content:center;flex-wrap:wrap}.achievement-pop{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);border:1px solid rgb(var(--warn-rgb) / .4);background:rgb(var(--warn-rgb) / .08);text-align:left}.notes-layout{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:var(--s-5);align-items:start}@media(max-width:940px){.notes-layout{grid-template-columns:1fr}}.note-item{display:block;width:100%;text-align:left;padding:var(--s-3);border-radius:var(--radius-sm);border:1px solid transparent;background:none;color:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.note-item:hover{background:var(--surface-hover)}.note-item--active{background:rgb(var(--accent-deep-rgb) / .12);border-color:rgb(var(--accent-rgb) / .28)}.note-item__title{font-size:var(--text-sm);font-weight:500}.note-item__meta{font-size:11px;color:var(--text-faint);margin-top:3px}.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--s-6) var(--s-4);border:1px dashed var(--cyan-dim);border-radius:var(--radius);background:var(--surface-sunken);cursor:pointer;text-align:center;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.dropzone:hover,.dropzone--hot{border-color:var(--cyan);background:var(--surface-hover)}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone__title{font-size:var(--text-sm)}.dropzone__hint{font-size:11px;letter-spacing:.1em;color:var(--text-faint)}.file-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-muted)}.note-editor{min-height:320px;font-family:var(--mono);line-height:1.7}.flashcard{perspective:1000px;cursor:pointer}.flashcard__inner{position:relative;min-height:150px;padding:var(--s-5);border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-sunken);display:grid;place-items:center;text-align:center}.flashcard__face{font-size:var(--text-md);line-height:1.5}.flashcard__hint{position:absolute;bottom:var(--s-3);font-size:11px;letter-spacing:.02em;color:var(--text-faint)}.tutor-layout{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:var(--s-5);align-items:start;height:calc(100vh - var(--topbar-h) - var(--s-12));min-height:480px}@media(max-width:940px){.tutor-layout{grid-template-columns:1fr;height:auto}}.chat{display:flex;flex-direction:column;height:100%;min-height:0}.chat__scroll{flex:1;min-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-2) var(--s-1) var(--s-4)}.bubble{max-width:82%;padding:var(--s-3) var(--s-4);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-sunken);font-size:var(--text-sm);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.bubble--user{align-self:flex-end;border-color:rgb(var(--accent-rgb) / .35);background:rgb(var(--accent-deep-rgb) / .12)}.bubble--assistant{align-self:flex-start}.bubble__context{margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px dashed var(--line);font-family:var(--mono);font-size:11px;color:var(--text-faint);letter-spacing:.04em}.chat__composer{display:flex;gap:var(--s-2);align-items:flex-end;padding-top:var(--s-3);border-top:1px solid var(--line)}.chat__composer .textarea{min-height:46px;max-height:160px}.mode-bar{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-3)}.typing{display:inline-flex;gap:4px;align-items:center}.typing span{width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:bounce 1.1s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.game-card{display:flex;flex-direction:column;gap:var(--s-3);height:100%}.game-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.game-card__name{font-size:var(--text-md);font-weight:600}.game-card__tagline{font-size:11px;letter-spacing:.02em;color:var(--cyan);margin-top:2px}.game-card__desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.55;flex:1}.game-card__stats{display:flex;gap:var(--s-2);flex-wrap:wrap}.game-card--locked{opacity:.62}.settings-layout{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:var(--s-6);align-items:start}@media(max-width:820px){.settings-layout{grid-template-columns:1fr}.settings-tabs{flex-direction:row!important;overflow-x:auto;padding-bottom:var(--s-2)}}.settings-tabs{display:flex;flex-direction:column;gap:var(--s-1);position:sticky;top:var(--s-4)}.settings-tab{padding:9px var(--s-3);border-radius:var(--radius-sm);border:1px solid transparent;background:none;color:var(--text-muted);font-size:var(--text-sm);text-align:left;cursor:pointer;white-space:nowrap}.settings-tab:hover{background:var(--surface-hover);color:var(--text)}.settings-tab--active{background:rgb(var(--accent-deep-rgb) / .12);border-color:rgb(var(--accent-rgb) / .28);color:var(--text)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.settings-row:last-child{border-bottom:none}.settings-row__label{font-size:var(--text-sm);font-weight:500}.settings-row__hint{font-size:var(--text-xs);color:var(--text-faint);margin-top:2px;max-width:52ch}.settings-row__control{min-width:200px}@media(max-width:560px){.settings-row__control{width:100%}}.danger-zone{border-color:rgb(var(--danger-rgb) / .3)}.greeting{position:relative;padding:var(--s-6) var(--s-6) var(--s-5);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--hero-bg),var(--surface);overflow:hidden}.greeting__title{font-weight:800;letter-spacing:-.025em}.greeting__sub{color:var(--text-muted);font-size:var(--text-md)}.greeting .mascot-stage--page{align-self:center}@media(max-width:640px){.greeting{padding:var(--s-5) var(--s-4)}}.course-tile{width:44px;height:44px;flex:0 0 auto;border-radius:var(--radius);display:grid;place-items:center;font-size:20px;font-weight:800;color:#fff;letter-spacing:-.02em;box-shadow:var(--shadow-sm)}.course-tile--cyan{background:linear-gradient(135deg,#4fd1c5,#2f9fb5)}.course-tile--amber{background:linear-gradient(135deg,#ffc857,#f08a3c)}.course-tile--mint{background:linear-gradient(135deg,#6ee7a8,#2fa565)}.course-tile--rose{background:linear-gradient(135deg,#ff9ab5,#e0567f)}.course-tile--violet{background:linear-gradient(135deg,#c084fc,#7c5cd6)}.course-tile--blue{background:linear-gradient(135deg,#7ab3ff,#3f6fd8)}.course-card__head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}.course-card__name{font-size:var(--text-md);font-weight:700;min-width:0}.goal-ring-row{display:flex;gap:var(--s-4);flex-wrap:wrap}.goal-ring-row .goal-ring{flex:1 1 auto;min-width:0;gap:var(--s-3)}.md{display:flex;flex-direction:column;gap:var(--s-3)}.md>*:first-child{margin-top:0}.md>*:last-child{margin-bottom:0}.md p{line-height:1.6}.md h3,.md h4{font-size:var(--text-md);font-weight:700;margin-top:var(--s-2)}.md h4{font-size:var(--text-base)}.md hr{border:none;border-top:1px solid var(--line);margin:var(--s-1) 0}.md code{font-family:var(--mono);font-size:.9em;padding:1px 5px;border-radius:5px;background:var(--surface-sunken)}.md-list{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:4px;list-style:disc}ol.md-list{list-style:decimal}.md-list li{line-height:1.55}.md-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.md-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.md-table th,.md-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line)}.md-table th{font-weight:700;background:var(--surface-sunken);white-space:nowrap}.md-table tr:last-child td{border-bottom:none}.bubble__sources{margin-top:var(--s-3);font-size:var(--text-xs);color:var(--text-faint)}.bubble__sources summary{cursor:pointer;list-style:none;opacity:.75}.bubble__sources summary::-webkit-details-marker{display:none}.bubble__sources summary:before{content:"▸ "}.bubble__sources[open] summary:before{content:"▾ "}.bubble__sources span{display:block;margin-top:4px;line-height:1.5}.home{position:relative;z-index:1;width:100%;max-width:760px;margin:0 auto;padding:var(--s-12) var(--s-5) var(--s-16)}.home__hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-2);margin-bottom:var(--s-8)}.home__question{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0}.composer{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:var(--s-4);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.composer:focus-within{border-color:var(--line-focus);box-shadow:var(--shadow-glow)}.composer__input{width:100%;border:0;background:none;color:var(--text);font:inherit;font-size:var(--text-md);line-height:1.5;resize:none;padding:var(--s-2) var(--s-2) var(--s-3)}.composer__input:focus{outline:none}.composer__input::placeholder{color:var(--text-faint)}.composer__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.composer__sources{display:flex;flex-wrap:wrap;gap:var(--s-2)}.composer__source{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.composer__source:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.composer__source:disabled{opacity:.5;cursor:not-allowed}.composer__attachment{display:inline-flex;align-items:center;gap:var(--s-2);max-width:100%;padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);border:1px solid var(--cyan);border-radius:var(--radius-pill);background:var(--surface-hover);color:var(--text);font-size:var(--text-sm)}.composer__attachment-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;border:0;border-radius:50%;background:transparent;color:var(--text-muted);font-size:var(--text-md);line-height:1;cursor:pointer}.composer__attachment-remove:hover{background:var(--surface);color:var(--text)}.composer__send{flex:none;width:38px;height:38px;border:0;border-radius:var(--radius-pill);background:var(--cyan);color:var(--bg);font-size:var(--text-md);font-weight:700;cursor:pointer;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.composer__send:hover:not(:disabled){transform:translateY(-1px)}.composer__send:disabled{opacity:.35;cursor:not-allowed}.topic-menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s-3)}.topic-menu__item{display:flex;align-items:center;gap:var(--s-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--s-3) var(--s-4);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.topic-menu__item:hover{border-color:var(--line-strong);background:var(--surface-hover)}.topic-menu__emoji{flex:none;display:grid;place-items:center;width:40px;height:40px;font-size:var(--text-lg)}.topic-menu__text{min-width:0;display:flex;flex-direction:column;gap:2px}.topic-menu__title{font-weight:600}.topic-menu__brief{color:var(--text-muted);font-size:var(--text-sm)}.home__lessons{margin-top:var(--s-12)}.home__lessons-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-4)}.home__lessons-head h2{font-size:var(--text-lg);margin:0}.home__empty{padding:var(--s-6) 0}.lesson-list{display:flex;flex-direction:column;gap:var(--s-3)}.lesson-row{display:flex;align-items:center;gap:var(--s-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--s-3) var(--s-4);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.lesson-row:hover{border-color:var(--line-strong);background:var(--surface-hover)}.lesson-row--building{opacity:.75}.lesson-row__main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--s-4);border:0;background:none;padding:var(--s-2) 0;color:inherit;font:inherit;text-align:left;cursor:pointer}.lesson-row__main:disabled{cursor:default}.lesson-row__emoji{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-md)}.lesson-row__text{min-width:0;display:flex;flex-direction:column;gap:2px}.lesson-row__title{font-weight:700;font-size:var(--text-base)}.lesson-row__meta{color:var(--text-faint);font-size:var(--text-sm)}.lesson-row__actions{flex:none;display:flex;align-items:center;gap:var(--s-3)}.lesson-row__action{color:var(--cyan);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.lesson-row__action--warn{color:var(--warn)}.lesson-row__menu{border:0;background:none;color:var(--text-faint);font-size:var(--text-md);line-height:1;padding:var(--s-2);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.lesson-row:hover .lesson-row__menu,.lesson-row__menu:focus-visible{opacity:1}.lesson-row__menu:hover{color:var(--danger)}.lesson-row__spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--cyan);animation:spin .7s linear infinite}@media(max-width:600px){.home{padding:var(--s-8) var(--s-4) var(--s-12)}.lesson-row__menu{opacity:1}}.build{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:760px;margin:0 auto;padding:0 var(--s-5) var(--s-5)}.build__head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) 0 var(--s-4)}.build__back{color:var(--text-muted);text-decoration:none;font-size:var(--text-sm)}.build__back:hover{color:var(--text)}.build__attachment{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border:1px solid var(--cyan);border-radius:var(--radius-pill);background:var(--surface-hover);color:var(--text-muted);font-size:var(--text-sm)}.build__thread{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-4);padding-bottom:var(--s-6)}.build__opening{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);padding:var(--s-10) 0}.build__greeting{color:var(--text-muted);max-width:44ch}.bubble{max-width:80%;padding:var(--s-3) var(--s-4);border-radius:var(--radius-lg);line-height:1.55;margin:0}.bubble--learner{align-self:flex-end;background:var(--surface-solid);border:1px solid var(--line)}.bubble--tutor{align-self:flex-start;display:flex;align-items:flex-start;gap:var(--s-3);padding-left:0;max-width:92%}.bubble__avatar{flex:none;display:block;width:34px}.bubble__avatar .lumen-wrap--mini{width:34px}.build__typing{display:inline-flex;gap:4px;padding-top:var(--s-2)}.build__typing i{width:6px;height:6px;border-radius:50%;background:var(--text-faint);animation:typing 1.1s var(--ease) infinite}.build__typing i:nth-child(2){animation-delay:.15s}.build__typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.build__chips{display:flex;flex-wrap:wrap;gap:var(--s-2);padding-left:46px}.build__chip{padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.build__chip:hover{background:var(--surface-hover);border-color:var(--line-strong)}.ready-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-solid);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}.ready-card__head{display:flex;align-items:center;gap:var(--s-4)}.ready-card__emoji{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-lg)}.ready-card__kicker{margin:0;color:var(--text-faint);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.ready-card__title{margin:2px 0 0;font-size:var(--text-md)}.ready-card__hint{margin:0;font-size:var(--text-sm);text-align:center}.ready-card__modes{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}.ready-card__mode{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--s-3) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-sunken);color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ready-card__mode:hover{border-color:var(--line-focus)}.ready-card__mode--active{border-color:var(--cyan);background:rgb(var(--accent-rgb) / .1)}.ready-card__mode-title{font-size:var(--text-sm);font-weight:700}.ready-card__mode-sub{font-size:var(--text-xs);color:var(--text-faint)}@media(max-width:480px){.ready-card__modes{grid-template-columns:1fr}}.build__composer{flex:none;display:flex;align-items:flex-end;gap:var(--s-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4)}.build__composer:focus-within{border-color:var(--line-focus)}.build__composer .composer__input{padding:var(--s-2) 0;font-size:var(--text-base);max-height:160px}.notes-tab{max-width:780px;margin:0 auto;padding:var(--s-8) var(--s-6) var(--s-16)}.notes-tab__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-6)}.notes-tab__title{margin:0;font-size:var(--text-xl);letter-spacing:-.02em}.notes-tab__doc{line-height:1.7}.notes-tab__doc .md>h3{margin-top:var(--s-8);font-size:var(--text-lg)}.notes-tab__doc .md>p,.notes-tab__doc .md>ul,.notes-tab__doc .md>ol{font-size:var(--text-md)}.notes-editor{display:flex;flex-direction:column;gap:var(--s-6)}.notes-editor__section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.notes-editor__section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);background:var(--surface-sunken)}.notes-editor__heading-input{flex:1;min-width:0;border:none;background:none;color:var(--text);font-weight:600;font-size:var(--text-md);padding:var(--s-1) var(--s-2);border-radius:var(--radius-sm)}.notes-editor__heading-input:focus{outline:none;background:var(--surface);box-shadow:0 0 0 2px var(--line-focus)}.notes-editor__intro-label{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);padding:var(--s-1) var(--s-2)}.notes-editor__section-actions{display:flex;align-items:center;gap:var(--s-1);flex:none}.notes-editor__icon-btn{width:1.8em;height:1.8em;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:var(--text-sm)}.notes-editor__icon-btn:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.notes-editor__icon-btn:disabled{opacity:.35;cursor:default}.notes-editor__icon-btn--danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.section-editor__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);background:var(--surface-sunken)}.section-editor__tool{min-width:1.9em;height:1.9em;padding:0 var(--s-2);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer;font-size:var(--text-sm)}.section-editor__tool:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.section-editor__tool.is-active{background:rgb(var(--accent-rgb) / .14);color:var(--cyan);border-color:rgb(var(--accent-rgb) / .3)}.section-editor__tool:disabled{opacity:.35;cursor:default}.section-editor__divider{width:1px;align-self:stretch;margin:var(--s-1) var(--s-1);background:var(--line)}.section-editor__highlight-swatch{font-size:.85em;font-weight:700;line-height:1;padding:0 .2em}.section-editor__swatches{display:inline-flex;align-items:center;gap:.3em;padding:0 var(--s-1)}.section-editor__swatch{width:1.1em;height:1.1em;border-radius:var(--radius-pill);border:1px solid var(--line);cursor:pointer;padding:0}.section-editor__swatch[aria-pressed=true]{outline:2px solid var(--text);outline-offset:1px}.section-editor__swatch--none{background:none;display:grid;place-items:center;font-size:.65em;color:var(--text-muted)}.section-editor__body{padding:var(--s-4);min-height:4rem;line-height:1.7;font-size:var(--text-md)}.section-editor__body:focus{outline:none}.section-editor__body p{margin:0 0 var(--s-3)}.section-editor__body h3{font-size:var(--text-lg);margin:var(--s-5) 0 var(--s-2)}.section-editor__body h4{font-size:var(--text-md);margin:var(--s-4) 0 var(--s-2)}.section-editor__body ul,.section-editor__body ol{margin:0 0 var(--s-3);padding-left:1.4em}.section-editor__body hr{border:none;border-top:1px solid var(--line);margin:var(--s-5) 0}.section-editor__body code{background:var(--surface-sunken);border-radius:var(--radius-sm);padding:.1em .35em;font-family:var(--mono);font-size:.9em}.section-editor__body table{border-collapse:collapse;width:100%;margin:0 0 var(--s-3)}.section-editor__body th,.section-editor__body td{border:1px solid var(--line);padding:var(--s-2) var(--s-3);text-align:left}.section-editor__body th{background:var(--surface-sunken)}.section-editor__body .selectedCell{background:rgb(var(--accent-rgb) / .1)}.notes-qa{margin-top:var(--s-10);padding-top:var(--s-6);border-top:1px dashed var(--line-strong)}.notes-qa__head{font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--s-4)}.notes-qa__item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:var(--s-2)}.notes-qa__item>summary{cursor:pointer;list-style:none;padding:var(--s-3) var(--s-4);display:flex;align-items:flex-start;gap:var(--s-3)}.notes-qa__item>summary::-webkit-details-marker{display:none}.notes-qa__item>summary:before{content:"?";flex:none;width:1.4em;height:1.4em;display:grid;place-items:center;border-radius:var(--radius-pill);background:rgb(var(--accent-rgb) / .14);color:var(--cyan);font-size:var(--text-xs);font-weight:700}.notes-qa__item[open]>summary{border-bottom:1px solid var(--line)}.notes-qa__q{font-size:var(--text-sm);font-weight:600}.notes-qa__a{padding:var(--s-4);font-size:var(--text-sm)}.notes-qa__remove{margin-top:var(--s-3);background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:var(--text-xs);color:var(--text-faint)}.notes-qa__remove:hover{color:var(--danger)}.notes-tab__next{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s-3);margin-top:var(--s-12);padding-top:var(--s-8);border-top:1px solid var(--line)}.next-card{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.next-card:hover{border-color:var(--line-strong);background:var(--surface-hover)}.next-card>span:last-child{display:flex;flex-direction:column}.next-card strong{font-size:var(--text-base)}.next-card em{color:var(--text-faint);font-size:var(--text-sm);font-style:normal}.md-math-block{display:block;overflow-x:auto;padding:var(--s-2) 0}.md-math-raw{color:var(--danger)}.md mark,.section-editor__body mark{background:#fde047;color:#1a1a1a;border-radius:.15em;padding:0 .1em}.gate{max-width:640px;margin:0 auto;padding:var(--s-12) var(--s-6) var(--s-16);display:flex;flex-direction:column;gap:var(--s-5);text-align:center}.gate__title{margin:0;font-size:var(--text-xl);letter-spacing:-.02em}.gate__lede{margin:0 auto;max-width:46ch}.gate__choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--s-3)}.gate__choice{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4) var(--s-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.gate__choice strong{font-size:var(--text-lg)}.gate__choice span{color:var(--text-faint);font-size:var(--text-sm)}.gate__choice:hover{border-color:var(--line-strong)}.gate__choice--active{border-color:var(--line-focus);background:var(--surface-hover)}.gate__choice--active strong{color:var(--cyan)}.gate__field{display:flex;flex-direction:column;gap:var(--s-2);text-align:left}.gate__field textarea{width:100%;padding:var(--s-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-sunken);color:var(--text);font:inherit;font-size:var(--text-sm);line-height:1.6;resize:vertical}.gate__field textarea:focus{outline:none;border-color:var(--line-focus)}.gate__row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.gate__hint{font-size:var(--text-sm)}.topic-settings__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}.topic-settings__head p{margin:0}.topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-3)}.topic-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer}.topic-card--on{border-color:var(--line-focus);background:var(--surface-hover)}.topic-card__name{font-weight:700;font-size:var(--text-sm)}.topic-card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.topic-card__badge{padding:2px var(--s-2);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-faint);font-size:var(--text-xs)}.topic-card__tally{display:inline-flex;gap:var(--s-2);font-size:var(--text-xs);font-style:normal}.topic-card__tally .ok{color:var(--ok);font-style:normal}.topic-card__tally .bad{color:var(--danger);font-style:normal}.deck{max-width:720px;margin:0 auto;padding:var(--s-6) var(--s-6) var(--s-12);display:flex;flex-direction:column;gap:var(--s-5)}.deck__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.deck__title{margin:0;font-size:var(--text-lg)}.deck__counts{display:flex;gap:var(--s-2);margin:0}.pill{padding:var(--s-1) var(--s-3);border-radius:var(--radius-pill);border:1px solid var(--line);font-size:var(--text-xs);font-weight:700}.pill--new{color:var(--cyan)}.pill--learning{color:var(--warn)}.pill--mastered{color:var(--ok)}.flip-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-4);min-height:300px;padding:var(--s-8);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease)}.flip-card:hover{border-color:var(--line-strong)}.flip-card--study{min-height:360px}.flip-card__face{font-size:var(--text-md);line-height:1.6;text-align:center;max-width:46ch}.flip-card__hint{font-size:var(--text-xs)}.deck__nav{display:flex;align-items:center;justify-content:center;gap:var(--s-5);color:var(--text-muted);font-size:var(--text-sm)}.deck__nav button{border:0;background:none;color:var(--text-muted);font-size:var(--text-lg);line-height:1;padding:var(--s-2) var(--s-3);border-radius:var(--radius-sm);cursor:pointer}.deck__nav button:hover{color:var(--text);background:var(--surface)}.deck__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.deck__grade{display:flex;justify-content:center;gap:var(--s-4)}.deck__done{text-align:center;display:flex;flex-direction:column;gap:var(--s-4);max-width:520px}.deck__done h1{margin:0;font-size:var(--text-2xl);letter-spacing:-.02em}.deck__done p{margin:0}.deck__done-meter{height:12px;border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}.deck__done-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ring-from),var(--ring-to));transition:width var(--dur-slow) var(--ease)}.quiz-tab,.games-tab{padding:var(--s-5) var(--s-6) var(--s-12);max-width:900px;margin:0 auto}.review-page{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:var(--s-8) var(--s-6) var(--s-16)}.flip-card--study.flip-card--exit,.flip-card--exit{pointer-events:none;transform-origin:50% 120%;animation-duration:.38s;animation-timing-function:cubic-bezier(.45,0,.75,.5);animation-fill-mode:forwards}.flip-card--study.flip-card--know,.flip-card--know{animation-name:card-swipe-right}.flip-card--study.flip-card--unknown,.flip-card--unknown{animation-name:card-swipe-left}.flip-card--know{border-color:var(--ok);background:rgb(var(--ok-rgb) / .22);box-shadow:inset 0 0 0 1px var(--ok)}.flip-card--unknown{border-color:var(--danger);background:rgb(var(--danger-rgb) / .22);box-shadow:inset 0 0 0 1px var(--danger)}@keyframes card-swipe-right{0%{transform:translate(0) rotate(0);opacity:1}60%{opacity:1}to{transform:translate(130%) rotate(12deg);opacity:0}}@keyframes card-swipe-left{0%{transform:translate(0) rotate(0);opacity:1}60%{opacity:1}to{transform:translate(-130%) rotate(-12deg);opacity:0}}.flip-card--study{animation:card-deal-in var(--dur) var(--ease)}@keyframes card-deal-in{0%{transform:translateY(10px) scale(.985);opacity:0}to{transform:none;opacity:1}}.flip-card__stamp{position:absolute;top:var(--s-5);padding:var(--s-2) var(--s-4);border:2px solid currentColor;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.flip-card--know .flip-card__stamp{left:var(--s-5);color:var(--ok);transform:rotate(-6deg);animation:stamp-in-right .2s var(--ease)}.flip-card--unknown .flip-card__stamp{right:var(--s-5);color:var(--danger);transform:rotate(6deg);animation:stamp-in-left .2s var(--ease)}@keyframes stamp-in-right{0%{transform:rotate(-6deg) scale(1.5);opacity:0}to{transform:rotate(-6deg) scale(1);opacity:1}}@keyframes stamp-in-left{0%{transform:rotate(6deg) scale(1.5);opacity:0}to{transform:rotate(6deg) scale(1);opacity:1}}.flip-card{position:relative;overflow:hidden}.deck--study .flip-card--study{will-change:transform,opacity}.toc{max-width:760px;margin:0 auto;padding:var(--s-10) var(--s-6) var(--s-16)}.toc__head{display:flex;align-items:center;gap:var(--s-5);margin-bottom:var(--s-8)}.toc__emoji{flex:none;display:grid;place-items:center;width:72px;height:72px;border-radius:var(--radius-lg);background:var(--surface);font-size:34px}.toc__head-text{min-width:0;flex:1}.toc__lesson-title{margin:0 0 var(--s-3);font-size:var(--text-xl);letter-spacing:-.02em}.toc__progress{display:flex;align-items:center;gap:var(--s-3)}.toc__progress-bar{flex:1;max-width:340px;height:8px;border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}.toc__progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--cyan);transition:width var(--dur-slow) var(--ease)}.toc__percent{color:var(--text-muted);font-size:var(--text-sm);font-weight:700}.toc__continue{display:flex;align-items:center;gap:var(--s-5);margin-bottom:var(--s-10)}.toc__kicker{margin:0;color:var(--text-faint);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.toc__next-title{margin:2px 0 0;font-weight:700}.toc__contents-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4)}.toc__contents-head h2{margin:0;font-size:var(--text-lg)}.toc__list{list-style:none;margin:0;padding:0}.toc__item{position:relative;display:flex;align-items:center;gap:var(--s-4);padding:var(--s-2) 0;min-height:58px}.toc__item:before{content:"";position:absolute;left:21px;top:0;bottom:50%;width:2px;background:var(--line)}.toc__item:first-child:before{display:none}.toc__item--done:before{background:var(--ok)}.toc__marker{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:var(--bg);color:var(--text-faint);font-weight:700;font-size:var(--text-sm)}.toc__marker--done{border-color:var(--ok);background:var(--ok);color:var(--bg)}.toc__marker--active{border-color:var(--cyan);background:var(--cyan);color:var(--bg)}.toc__marker--trophy{border-style:dashed;font-size:var(--text-md)}.toc__row{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);border:0;background:none;padding:var(--s-3) 0;color:inherit;font:inherit;text-align:left;cursor:pointer}.toc__row:disabled{cursor:default}.toc__item--locked .toc__title{color:var(--text-faint)}.toc__item--done .toc__title{color:var(--text-muted)}.toc__title{margin:0;font-weight:700;font-size:var(--text-base)}.toc__meta{display:inline-flex;align-items:center;gap:var(--s-3);flex:none}.toc__tag{color:var(--text-faint);font-size:var(--text-sm)}.toc__check{color:var(--ok)}.toc__lock{opacity:.5;font-size:var(--text-sm)}.toc__card{flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-5);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-solid);box-shadow:var(--shadow-sm)}.toc__card-text{min-width:0}.toc__status{margin:2px 0 0;color:var(--cyan);font-size:var(--text-sm)}.toc__item--finish{min-height:52px}.toc__finish{font-size:var(--text-sm)}.player{display:flex;flex-direction:column;min-height:100%;max-width:720px;margin:0 auto;padding:var(--s-5) var(--s-6) var(--s-12)}.player__bar{display:flex;align-items:center;gap:var(--s-4)}.player__exit{border:0;background:none;color:var(--text-faint);font-size:var(--text-md);line-height:1;padding:var(--s-2);border-radius:var(--radius-sm);cursor:pointer}.player__exit:hover{color:var(--text)}.player__where{flex:1;min-width:0;margin:0;color:var(--text-muted);font-size:var(--text-sm);font-weight:600}.player__xp{display:inline-flex;align-items:center;gap:var(--s-1);color:var(--amber);font-weight:700;font-size:var(--text-sm)}.player__progress{height:6px;margin:var(--s-3) 0 var(--s-10);border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}.player__progress span{display:block;height:100%;background:var(--cyan);border-radius:inherit;transition:width var(--dur-slow) var(--ease)}.player__card{flex:1;animation:card-in var(--dur) var(--ease)}.player__heading{font-size:var(--text-xl);letter-spacing:-.02em;margin:0 0 var(--s-5)}.player__body{font-size:var(--text-md);line-height:1.85;max-width:62ch}.player__body .md>p{margin:0 0 var(--s-4)}.player__question{font-size:var(--text-lg);line-height:1.45;letter-spacing:-.01em;margin:0 0 var(--s-6)}.player__question .md>p{margin:0}.choices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.choice{width:100%;display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.choice:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-hover)}.choice:disabled{cursor:default}.choice__key{flex:none;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-faint);font-size:var(--text-xs);font-weight:700}.choice__text .md>p{margin:0}.choice--picked{border-color:var(--line-focus);background:var(--surface-hover)}.choice--picked .choice__key{border-color:var(--line-focus);color:var(--text)}.choice--right{border-color:var(--ok);background:rgb(var(--ok-rgb) / .14);color:var(--ok)}.choice--right .choice__key{border-color:var(--ok);color:var(--ok)}.choice--wrong{border-color:var(--danger);background:rgb(var(--danger-rgb) / .12);color:var(--danger)}.choice--wrong .choice__key{border-color:var(--danger);color:var(--danger)}.player__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-4);padding-top:var(--s-8)}.player__hint{font-size:var(--text-sm)}.player__kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:var(--s-2);padding:0 5px;border-radius:6px;background:rgb(var(--ground-rgb) / .25);font-family:var(--mono);font-size:var(--text-xs)}.verdict{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-top:var(--s-8);padding:var(--s-4) var(--s-5);border-radius:var(--radius);animation:verdict-in var(--dur) var(--ease)}.verdict--right{background:rgb(var(--ok-rgb) / .14);color:var(--ok)}.verdict--wrong{background:rgb(var(--danger-rgb) / .12);color:var(--danger)}.verdict__text{min-width:0}.verdict__line{display:flex;align-items:center;gap:var(--s-2);margin:0;font-weight:800}.verdict__xp{font-style:normal;color:var(--amber)}.verdict__why{margin:var(--s-2) 0 0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.5}@keyframes verdict-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.player__done{margin:auto;text-align:center;display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-16) 0}.player__done h1{margin:0;font-size:var(--text-2xl);letter-spacing:-.02em}.player__done p{margin:0}@media(max-width:600px){.toc__continue{flex-direction:column;align-items:flex-start}.toc__card{flex-direction:column;align-items:stretch;gap:var(--s-3)}.verdict{flex-direction:column;align-items:stretch}}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.player__card,.verdict{animation:none}}.verdict__why .md>p{margin:0}.verdict__why .md>p+p{margin-top:var(--s-2)}.library{display:flex;flex-direction:column;gap:20px;padding:20px;max-width:1120px;margin:0 auto;width:100%}.library__head{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.library__head h1{margin:0 0 4px;font-size:1.35rem}.library__head p{margin:0;max-width:62ch}.library__actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.library__notice{margin:0;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);color:var(--text-muted)}.library__notice--bad{border-color:rgb(var(--danger-rgb) / .5);color:var(--danger)}.library__search{display:flex;gap:8px;flex-wrap:wrap}.library__search input{flex:1;min-width:240px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-sunken);color:var(--text)}.library__search input:focus{outline:none;border-color:var(--line-focus)}.library__results{display:flex;flex-direction:column;gap:10px}.library__results h2{margin:0;font-size:.95rem;font-weight:600}.library__hit{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:12px 14px}.library__hit header{display:flex;gap:10px;align-items:baseline;justify-content:space-between;margin-bottom:6px;flex-wrap:wrap}.library__hit p{margin:0;font-size:.9rem;line-height:1.55;color:var(--text-muted);white-space:pre-wrap}.library__body{display:grid;grid-template-columns:232px 1fr;gap:16px;align-items:start}@media(max-width:760px){.library__body{grid-template-columns:1fr}}.library__topics{display:flex;flex-direction:column;gap:4px;position:sticky;top:16px}.library__topic{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;text-align:left;font:inherit}.library__topic:hover{background:var(--surface-hover)}.library__topic.is-active{background:var(--surface);border-color:var(--line-strong)}.library__docs{display:flex;flex-direction:column;gap:10px;min-width:0}.library__empty{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:32px 24px;text-align:center}.library__empty p{margin:0 0 6px}.library__doc{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.library__pick{padding-top:2px}.library__doc-main{flex:1;min-width:0}.library__doc-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.library__doc-title strong{overflow-wrap:anywhere}.library__doc-meta{margin:4px 0 0;font-size:.85rem}.library__doc-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.library__doc-actions select{padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-sunken);color:var(--text);font:inherit}.library__hint{margin:8px 0 0;font-size:.85rem;line-height:1.5}.library__hint--warn{color:var(--warn)}.library__hint--bad{color:var(--danger)}.library__hint--pending{color:var(--text-faint)}.library__suggest{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.library__suggest p{margin:0 0 8px;font-size:.85rem}.library__chips{display:flex;gap:6px;flex-wrap:wrap}.badge{font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:3px 8px;border-radius:999px;border:1px solid var(--line-strong);color:var(--text-muted);white-space:nowrap}.badge--ready{color:var(--ok);border-color:rgb(var(--ok-rgb) / .45)}.badge--warn{color:var(--warn);border-color:rgb(var(--warn-rgb) / .45)}.badge--bad{color:var(--danger);border-color:rgb(var(--danger-rgb) / .45)}.badge--pending{color:var(--text-faint)}.home__library-link{margin-top:10px;background:none;border:none;color:var(--text-muted);font:inherit;cursor:pointer;padding:6px 10px;border-radius:var(--radius-pill);transition:color .15s ease,background .15s ease}.home__library-link:hover{color:var(--cyan);background:var(--surface)}.game-card__icon{font-size:26px;line-height:1;flex:0 0 auto}.runner--staged{max-width:1160px}.runner__play{display:flex;align-items:flex-start;gap:var(--s-6)}.runner__stage-rail{flex:0 0 300px;width:300px;display:flex;flex-direction:column;gap:var(--s-4);position:sticky;top:var(--s-4)}.runner__question-col{flex:1;min-width:0}@media(max-width:760px){.runner__play{flex-direction:column}.runner__stage-rail{flex:none;width:100%;position:static}}.runner__stage-rail .mascot-stage{margin-bottom:0;min-height:0;flex-direction:column;align-items:center;text-align:center;gap:var(--s-2)}.runner__stage-rail .mascot-stage__speech{min-height:0;padding-bottom:0;justify-content:center}.runner__stage-rail .mascot-stage__bubble{max-width:100%}.runner__stage-rail .mascot-stage__tail{display:none}.memory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:var(--s-2);padding:var(--s-4);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface)}.memory-card{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--choice-bg);font-size:var(--text-md);font-weight:700;color:var(--text-faint)}.memory-card--active{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .16)}.memory-card--correct{border-color:var(--ok);background:rgb(var(--ok-rgb) / .12);color:var(--ok)}.memory-card--wrong{border-color:var(--danger);background:rgb(var(--danger-rgb) / .12);color:var(--danger)}
