@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(/assets/fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-latin-400-normal-BTFTIZb-.woff2)format("woff2"),url(/assets/andika-latin-400-normal-BK42By1L.woff)format("woff")}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-latin-700-normal-Dk95f5lc.woff2)format("woff2"),url(/assets/andika-latin-700-normal-CAUSQC6x.woff)format("woff")}.tf{--tf-ease:cubic-bezier(.2, .8, .2, 1);--tf-ring:#7c6cf26b;--tf-comet:#6d5ce8;--tf-orbit:10s;--tf-belt:#f2a740;vertical-align:middle;flex-shrink:0;width:96px;height:96px;display:inline-block;overflow:visible}.tf--xs{width:40px;height:40px}.tf--sm{width:56px;height:56px}.tf--md{width:96px;height:96px}.tf--lg{width:160px;height:160px}.tf--xl{width:240px;height:240px}:root[data-theme=dark] .tf{--tf-ring:#b3a8ff80;--tf-comet:#c9c1ff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tf{--tf-ring:#b3a8ff80;--tf-comet:#c9c1ff}}.tf-hop,.tf-shadow,.tf-body,.tf-head,.tf-eyes,.tf-tail,.tf-ear,.tf-arm,.tf-float,.tf-belt-star{transform-box:fill-box}.tf-hop{transform-origin:50% 100%}.tf-shadow{transform-origin:50%}.tf-body{transform-origin:50% 100%;animation:4s ease-in-out infinite tf-breathe}.tf-head{transform-origin:50% 90%;transition:transform .36s var(--tf-ease)}.tf-eyes{transform-origin:50%;animation:5.2s infinite tf-blink}.tf-tail{transform-origin:0 100%;animation:3.4s ease-in-out infinite alternate tf-tail}.tf-ear{transform-origin:50% 100%}.tf-ear--r{animation:7s ease-in-out infinite tf-ear}.tf-arm{transform-origin:50% 8%;transition:transform .36s var(--tf-ease)}.tf--maternelle .tf-head,.tf--primaire .tf-head{animation:4s ease-in-out -.4s infinite tf-bob}.tf--happy .tf-tail{animation-duration:1.2s}.tf--happy .tf-eyes,.tf--cheer .tf-eyes{animation:none}.tf--cheer .tf-hop{animation:tf-hop .9s var(--tf-ease) 2}.tf--cheer .tf-shadow{animation:tf-hop-shadow .9s var(--tf-ease) 2}.tf--cheer .tf-tail{animation-duration:.7s}.tf--cheer .tf-arm--l{transform:rotate(150deg)}.tf--cheer .tf-arm--r{transform:rotate(-150deg)}.tf--think .tf-head{animation:none;transform:rotate(-7deg)}.tf--think .tf-arm--l{transform:rotate(-122deg)}.tf--think .tf-tail{animation-duration:6s}.tf--wave .tf-arm--r{animation:6s ease-in-out infinite tf-wave;transform:rotate(-150deg)}.tf--wave .tf-head{animation:none;transform:rotate(4deg)}.tf--college .tf-float{animation:4s ease-in-out infinite tf-float}.tf--college .tf-shadow{animation:4s ease-in-out infinite tf-float-shadow}.tf--college .tf-body{transform-origin:50%;transition:transform .36s var(--tf-ease);animation:none}.tf--college .tf-head{transform-origin:50%}.tf-ring-track{stroke:var(--tf-ring)}.tf-ring-comet{stroke:var(--tf-comet);stroke-dasharray:9 91;stroke-dashoffset:100px;animation:tf-orbit var(--tf-orbit) linear infinite}.tf--college.tf--happy{--tf-orbit:5s}.tf--college.tf--cheer{--tf-orbit:1.6s}.tf--college.tf--cheer .tf-ring-comet{stroke-dasharray:22 78}.tf--college.tf--think{--tf-orbit:20s}.tf--college.tf--think .tf-head{animation:2.6s ease-in-out infinite alternate tf-scan}.tf--college.tf--wave .tf-body{animation:tf-tilt-once 1.2s var(--tf-ease) 1 both;transform:rotate(-6deg)}.tf--college.tf--wave .tf-eyes,.tf--college.tf--cheer .tf-hop,.tf--lycee.tf--cheer .tf-hop,.tf--college.tf--cheer .tf-shadow,.tf--lycee.tf--cheer .tf-shadow{animation:none}.tf--college.tf--cheer .tf-shadow{animation:4s ease-in-out infinite tf-float-shadow}.tf--lycee .tf-body{transform-origin:50% 100%;transition:transform .36s var(--tf-ease);animation:5s ease-in-out infinite tf-breathe-slow}.tf--lycee .tf-head{transform-origin:50%}.tf--lycee .tf-eyes{animation:6.4s infinite tf-blink}.tf-belt-star{transform-origin:50%}.tf-belt-dot{fill:var(--tf-belt);opacity:.55;transition:opacity .36s var(--tf-ease)}.tf-belt-glow{fill:var(--tf-belt);opacity:0;transition:opacity .36s var(--tf-ease)}.tf--lycee.tf--happy .tf-belt-dot,.tf--lycee.tf--cheer .tf-belt-dot{opacity:1}.tf--lycee.tf--happy .tf-belt-glow{opacity:.22}.tf--lycee.tf--cheer .tf-belt-glow{opacity:.3}.tf--lycee.tf--cheer .tf-belt-star{animation:tf-belt-pulse 1.1s var(--tf-ease) calc(var(--i,0) * .14s) 2}.tf--lycee.tf--happy .tf-eyes,.tf--lycee.tf--cheer .tf-eyes{animation:none}.tf--lycee.tf--think .tf-body{animation-duration:7s}.tf--lycee.tf--think .tf-head{animation:4s ease-in-out infinite alternate tf-scan}.tf--lycee.tf--think .tf-belt-dot{opacity:.4}.tf--lycee.tf--wave .tf-body{animation:tf-tilt-once 1.2s var(--tf-ease) 1 both;transform:rotate(-5deg)}.tf--lycee.tf--wave .tf-head{animation:none;transform:none}.tf--lycee.tf--wave .tf-belt-dot{opacity:.8}.tutor{align-items:center;gap:12px;min-width:0;display:flex}.tutor-bubble{border:1px solid var(--border);border-radius:var(--radius-sm,12px);background:var(--surface);min-width:0;max-width:42ch;color:var(--text);transform-origin:0%;margin-left:6px;padding:12px 16px;font-weight:700;line-height:1.4;animation:.36s cubic-bezier(.2,.8,.2,1) both tutor-bubble-in;position:relative;box-shadow:0 6px 20px #22283a12}.tutor-bubble>:first-child{margin-top:0}.tutor-bubble>:last-child{margin-bottom:0}.tutor-bubble:before{content:"";background:inherit;border-left:1px solid var(--border);border-bottom:1px solid var(--border);width:12px;height:12px;margin-top:-6px;position:absolute;top:50%;left:-7px;transform:rotate(45deg)}.tutor-sm .tutor-bubble{padding:8px 12px;font-size:.95rem}.tutor-lg .tutor-bubble{padding:16px 20px;font-size:1.1rem}.tutor-college .tutor-bubble,.tutor-lycee .tutor-bubble{box-shadow:none;border-radius:12px;margin-left:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:500}.tutor-college .tutor-bubble:before,.tutor-lycee .tutor-bubble:before{display:none}@media (width<=420px){.tutor-lg{flex-direction:column;align-items:flex-start}.tutor-lg .tutor-bubble{transform-origin:20% 0;margin-left:0}.tutor-lg .tutor-bubble:before{margin-top:0;top:-7px;left:40px;transform:rotate(135deg)}}@keyframes tf-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,1.035)}}@keyframes tf-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.2px)}}@keyframes tf-blink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.1)}}@keyframes tf-tail{0%{transform:rotate(-5deg)}to{transform:rotate(6deg)}}@keyframes tf-ear{0%,88%,to{transform:rotate(0)}91%{transform:rotate(-9deg)}94%{transform:rotate(3deg)}}@keyframes tf-hop{0%{transform:translateY(0)scale(1)}12%{transform:translateY(0)scale(1.05,.94)}40%{transform:translateY(-11px)scale(.97,1.04)}68%{transform:translateY(0)scale(1.04,.96)}84%{transform:translateY(-3px)scale(1)}to{transform:translateY(0)scale(1)}}@keyframes tf-hop-shadow{0%,68%,to{opacity:.12;transform:scale(1)}40%{opacity:.06;transform:scale(.7)}}@keyframes tf-wave{0%{transform:rotate(-10deg)}8%{transform:rotate(-150deg)}14%{transform:rotate(-128deg)}20%{transform:rotate(-156deg)}26%{transform:rotate(-128deg)}32%{transform:rotate(-150deg)}42%,to{transform:rotate(-10deg)}}@keyframes tf-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes tf-float-shadow{0%,to{transform:scale(1)}50%{transform:scale(.88)}}@keyframes tf-orbit{to{stroke-dashoffset:0}}@keyframes tf-scan{0%{transform:translate(-1.5px)}to{transform:translate(2px)}}@keyframes tf-tilt{0%,46%,to{transform:rotate(0)}10%,34%{transform:rotate(-7deg)}}@keyframes tf-tilt-once{0%{transform:rotate(0)}35%{transform:rotate(-9deg)}70%{transform:rotate(-3deg)}to{transform:rotate(-6deg)}}@keyframes tf-breathe-slow{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.02)}}@keyframes tf-belt-pulse{0%,to{transform:scale(1)}40%{transform:scale(1.5)}}@keyframes tutor-bubble-in{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:none}}@keyframes tutor-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.tf *,.tf{transition:none!important;animation:none!important}.tutor-bubble{animation:.16s ease-out both tutor-fade-in}}:root[data-motion=reduce] .tf *,:root[data-motion=reduce] .tf{transition:none!important;animation:none!important}:root[data-motion=reduce] .tutor-bubble{animation:.16s ease-out both tutor-fade-in}
