@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500&display=swap";.cmp-sound-toggle{display:inline-grid;place-items:center;width:48px;min-width:48px;height:48px;padding:0;border:1px solid #e1e7ec;border-radius:50%;background:#fff;color:#23415f;box-shadow:0 4px 15px #142c4420;cursor:pointer;touch-action:manipulation}.cmp-sound-toggle.is-floating{position:fixed;z-index:210;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}.cmp-sound-toggle:focus-visible{outline:3px solid #0872e9;outline-offset:4px}.companion.cmp-intro-steps.cmp-onboarding{position:fixed;inset:0;background:#eef1f6;isolation:isolate}.cmp-onboarding .cmp-diorama{z-index:-1}.onboarding-card{grid-template-rows:auto auto minmax(0,1fr) auto}.onboarding-card h1{font:800 clamp(25px,3vw,36px)/1.18 var(--bloop-label)}.onboarding-card h1:focus{outline:none}.onboarding-progress{display:flex;align-items:center;justify-content:space-between}.onboarding-progress>span{font:700 13px var(--bloop-label);color:#536276}.onboarding-ages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.onboarding-ages button{min-height:68px;border:2px solid #d6ddda;border-radius:18px;background:#ffffffcf;color:#172c33;box-shadow:0 3px #263d421c;font:800 30px var(--bloop-label);cursor:pointer}.onboarding-ages button[aria-pressed=true]{background:#dceeff;border-color:#0872e9;box-shadow:0 3px #0872e9}.onboarding-ages button:focus-visible{outline:3px solid #0872e9;outline-offset:3px}.onboarding-card .cmp-characters.is-big{min-height:0;max-height:min(48dvh,390px);grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-card .cmp-intro-actions{align-items:stretch}.onboarding-card .cmp-intro-actions .cmp-chip{min-width:48px;min-height:56px;padding:0 18px;font-size:16px}.onboarding-error{margin:0;color:#a02a36;font:700 15px/1.4 var(--bloop-label)}.onboarding-arrival{position:fixed;inset:0;z-index:220;display:grid;align-content:center;justify-items:center;gap:20px;background:radial-gradient(circle,#fffdf2,#e2f3ce);color:#204263;animation:onboarding-reveal .5s 1s ease-in forwards;pointer-events:none}.onboarding-arrival .mascot{width:200px}.onboarding-arrival p{margin:0;font:800 30px var(--bloop-label)}@keyframes onboarding-reveal{to{opacity:0;transform:scale(1.08)}}@media(max-width:700px),(orientation:portrait){.companion.cmp-intro-steps.cmp-onboarding{grid-template-rows:minmax(90px,1fr) auto;grid-template-areas:"bloop" "card";gap:8px;padding:70px 16px max(20px,env(safe-area-inset-bottom))}.cmp-onboarding .cmp-intro-buddy{align-self:center;padding:0}.cmp-onboarding .cmp-intro-buddy .mascot{width:clamp(110px,22dvh,190px)}.cmp-onboarding .cmp-intro-card{width:min(100%,520px);padding:20px;gap:14px;max-height:calc(100dvh - 190px);border-radius:26px}.cmp-onboarding .cmp-characters.is-big{max-height:35dvh}.cmp-onboarding .cmp-character .mascot{width:65px}.cmp-onboarding .cmp-character small{display:none}.onboarding-card h1{font-size:28px}.cmp-onboarding .cmp-intro-input{min-height:64px;font-size:26px}.onboarding-ages{gap:8px}.onboarding-ages button{min-height:56px}.cmp-sound-toggle.is-floating{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}}@media(max-height:540px)and (min-width:701px){.cmp-onboarding .cmp-intro-card{padding:18px;gap:10px;max-height:calc(100dvh - 24px)}.cmp-onboarding .cmp-characters.is-big{max-height:38dvh}.cmp-onboarding .cmp-intro-input{min-height:56px}.onboarding-ages button{min-height:52px}}@media(prefers-reduced-motion:reduce){.onboarding-arrival{animation:none}.cmp-onboarding *,.onboarding-arrival *{transition:none!important}}@media(max-width:700px)and (max-height:600px){.companion.cmp-intro-steps.cmp-onboarding{grid-template-rows:0 minmax(0,1fr);padding-top:64px}.cmp-onboarding .cmp-intro-buddy{visibility:hidden}.cmp-onboarding .cmp-intro-card{max-height:calc(100dvh - 84px);overflow-y:auto}}@font-face{font-family:Exposure;src:local("Exposure");font-display:swap}.companion{position:fixed;inset:0;z-index:0;isolation:isolate;display:grid;gap:16px;grid-template-columns:minmax(270px,30%) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top top" "side main" "bar bar";padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:var(--meadow-sky-bottom);color:var(--bloop-ink);font-family:var(--bloop-font);overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.companion button{font-family:inherit;cursor:pointer}.companion :is(h1,h2,h3),.cmp-menu :is(h1,h2,h3){font-family:var(--bloop-font);font-weight:400}.companion button:focus-visible,.cmp-menu button:focus-visible,.companion textarea:focus-visible{outline:3px solid var(--bloop-sky);outline-offset:3px}.meadow{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;transition:filter .6s ease}.meadow-motes circle{fill:#fff;opacity:.55;transform-box:fill-box;animation:meadow-mote 8s ease-in-out infinite}@keyframes meadow-mote{0%,to{transform:translateY(0);opacity:.15}50%{transform:translateY(-28px);opacity:.8}}.cmp-lang{padding:4px;border-radius:999px;background:#ffffff8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cmp-lang .ui-segment{min-height:42px;padding:0 18px;border-radius:999px;color:var(--bloop-ink);font:1rem var(--bloop-font)}.cmp-lang .ui-segment[data-pressed]{background:var(--bloop-card);color:var(--bloop-ink);box-shadow:0 2px 8px #0f172a29}@keyframes cmp-msg-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes cmp-typing{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:.9}}.mascot{display:block;width:168px;aspect-ratio:1;max-height:100%;padding:0;border:0;background:none;touch-action:manipulation}.mascot svg{width:100%;height:100%;overflow:visible}.mascot.is-3d,.mascot:has(.mascot-3d){position:relative}.mascot-3d{display:block;width:100%;height:100%}.mascot.is-loading .mascot-3d{visibility:hidden}.mascot-loading{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;min-height:48px;pointer-events:none}.mascot:has(.mascot-3d)>.mascot-loading{position:absolute;inset:0}.mascot-loading i{width:10px;height:10px;border-radius:50%;background:var(--bloop-action);opacity:.65}.mascot:has(.mascot-3d)>svg{position:absolute;inset:0}.mascot-badge{position:absolute;inset:0;pointer-events:none}.mascot-body{transform-origin:100px 120px;animation:mascot-breathe 3.6s ease-in-out infinite}.mascot-shadow{fill:#0f172a38;transform-origin:100px 193px}.mascot-foot{fill:#0d46c9}.mascot-sclera{fill:#fff}.mascot-pupil{fill:#071f5c;transition:cx .25s ease,cy .25s ease}.mascot-glint{fill:#fff;transition:cx .25s ease,cy .25s ease}.mascot-brows{fill:none;stroke:#072a78;stroke-width:4;stroke-linecap:round;transition:d .3s ease}.mascot-mouth-fill{fill:#3a0b2e}.mascot-mouth-line{fill:none;stroke:#072a78;stroke-width:4;stroke-linecap:round}.mascot-tongue{fill:#ff7aa2}.mascot-cheek{fill:#ff9ec0;opacity:.55}.mascot-lid{fill:#1d63dc}.mascot-eye{animation:mascot-blink 5.2s infinite}.mascot-ring{fill:none;stroke:#fff;stroke-width:3;transform-origin:100px 100px;animation:mascot-ring 1.2s ease-out infinite}.mascot-dots circle{fill:#fff;stroke:#0f172a26;stroke-width:1;animation:mascot-dot 1.2s ease-in-out infinite}.mascot-dots circle:nth-child(2){animation-delay:.15s}.mascot-dots circle:nth-child(3){animation-delay:.3s}.mascot-sparkles path{fill:var(--bloop-marker);transform-box:fill-box;transform-origin:center;animation:mascot-sparkle .9s ease-out infinite}.mascot-wifi circle:first-child{fill:var(--bloop-issue)}.mascot-wifi path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}.mascot-wifi circle:last-of-type{fill:#fff}.mascot-talk{transform-origin:100px 122px;animation:mascot-talk .26s ease-in-out infinite alternate}.mascot-thinking .mascot-body{animation:mascot-sway 2.4s ease-in-out infinite}.mascot-speaking .mascot-body{animation:mascot-bob .5s ease-in-out infinite alternate}.mascot-encourage .mascot-body{animation:mascot-hop .7s ease-out 2}.mascot-encourage .mascot-shadow{animation:mascot-shadow .7s ease-out 2}.mascot-error svg{filter:saturate(.35) brightness(.95)}.mascot-error .mascot-body{animation:mascot-breathe 6s ease-in-out infinite}.mascot:active .mascot-body{animation:none;transform:scale(1.07,.9);transition:transform .08s}.mascot-react-wiggle .mascot-body{animation:mascot-wiggle .6s ease-in-out}.mascot-react-giggle .mascot-body{animation:mascot-giggle .5s ease-in-out}.mascot-wink .mascot-sclera,.mascot-wink circle{animation:none}.mascot-wink{transform:scaleY(.12)}@keyframes mascot-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,1.04)}}@keyframes mascot-blink{0%,93%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes mascot-ring{0%{transform:scale(.9);opacity:.75}to{transform:scale(1.18);opacity:0}}@keyframes mascot-dot{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-5px);opacity:1}}@keyframes mascot-sparkle{0%{transform:scale(.2);opacity:0}40%{opacity:1}to{transform:scale(1.2);opacity:0}}@keyframes mascot-talk{0%{transform:scaleY(.5)}to{transform:scaleY(1.1)}}@keyframes mascot-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes mascot-bob{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes mascot-hop{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-16px) scale(1.04,.97)}60%{transform:translateY(0) scale(1.06,.92)}}@keyframes mascot-shadow{0%,to{transform:scale(1);opacity:1}30%{transform:scale(.7);opacity:.6}}@keyframes mascot-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes mascot-giggle{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.style-pixel .mascot-body{animation:px-bob 1.6s steps(1,end) infinite}.style-pixel.mascot-speaking .mascot-body{animation-duration:.5s}.style-pixel.mascot-thinking .mascot-body{animation:px-sway 1.6s steps(1,end) infinite}.style-pixel.mascot-encourage .mascot-body{animation:px-hop .6s steps(1,end) 3}.style-pixel.mascot-error .mascot-body{animation-duration:3.2s}.style-pixel.mascot-react-wiggle .mascot-body,.style-pixel.mascot-react-giggle .mascot-body{animation:px-sway .3s steps(1,end) 3}.style-pixel:active .mascot-body{animation:none;transform:translateY(5px);transition:none}.style-pixel.mascot-encourage .mascot-shadow{animation:none}.px-eyes-shut,.px-talk-b{opacity:0}.px-eyes-open{animation:px-on 5.2s steps(1,end) infinite}.px-eyes-shut{animation:px-off 5.2s steps(1,end) infinite}.px-talk-a,.lucha-talk-a{animation:px-flip-a .36s steps(1,end) infinite}.px-talk-b,.lucha-talk-b{animation:px-flip-b .36s steps(1,end) infinite}.lucha-talk-b{opacity:0}.px-waves path{fill:var(--bloop-ink);animation:px-wave .6s steps(1,end) infinite alternate}.px-dots rect{fill:#fff;stroke:var(--bloop-ink);stroke-width:2}.px-badge rect{fill:var(--bloop-issue)}.px-badge path{fill:#fff}.px-shadow{fill:#0f172a33}@keyframes px-bob{0%,49%{transform:none}50%,to{transform:translateY(5px)}}@keyframes px-sway{0%,49%{transform:translate(-5px)}50%,to{transform:translate(5px)}}@keyframes px-hop{0%,33%{transform:translateY(-10px)}34%,66%{transform:translateY(-20px)}67%,to{transform:none}}@keyframes px-on{0%,94%{opacity:1}95%,to{opacity:0}}@keyframes px-off{0%,94%{opacity:0}95%,to{opacity:1}}@keyframes px-flip-a{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes px-flip-b{0%,49%{opacity:0}50%,to{opacity:1}}@keyframes px-wave{0%{opacity:.2}to{opacity:.85}}.sunset-arm{transform-origin:0 0;animation:sunset-wave 3.2s ease-in-out infinite}.mascot-encourage .sunset-arm,.char-sunset.mascot-react-wiggle .sunset-arm{animation-duration:.7s}@keyframes sunset-wave{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-14deg)}80%{transform:rotate(10deg)}90%{transform:rotate(-8deg)}}.lucha-arm{transform-box:fill-box;transform-origin:50% 100%}.mascot-encourage .lucha-arm{animation:lucha-flex .5s ease-in-out 3}@keyframes lucha-flex{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.pelusa-hair{transform-box:fill-box;transform-origin:50% 100%}.mascot-speaking .pelusa-hair,.mascot-encourage .pelusa-hair{animation:pelusa-hair .5s ease-in-out infinite alternate}@keyframes pelusa-hair{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}@keyframes cmp-photo-drop{0%{transform:translateY(-36px) rotate(-6deg) scale(.92);opacity:.2}70%{transform:rotate(1deg);opacity:1}to{transform:none}}@keyframes ink-draw{to{stroke-dashoffset:0}}@keyframes ink-write{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@keyframes guide-march{to{stroke-dashoffset:-22.2}}@keyframes scan-sweep{0%{top:0;translate:0 -100%}to{top:100%;translate:0 0}}@keyframes peek-up{0%{translate:0 70%}to{translate:0 0}}@keyframes peek-wonder{0%,to{translate:0 0;opacity:.5}50%{translate:0 -8px;opacity:1}}@keyframes read-rise{0%{opacity:0;translate:-50% 16px}to{opacity:1;translate:-50% 0}}.cmp-note{margin:0;font:500 .82rem/1.4 var(--bloop-label);color:var(--bloop-ink-soft)}.teach-math{margin:10px 0;padding:10px 14px;border-radius:18px;background:var(--bloop-card);box-shadow:inset 0 0 0 1.5px #3c3c4324;overflow-x:auto}.teach-math figcaption{margin-top:4px;font:500 .8rem var(--bloop-label);color:var(--bloop-ink-soft)}.teach-equation .katex-display{margin:0}.teach-diagram{display:block;width:100%;height:auto;max-height:210px}.teach-diagram .d-axis{stroke:var(--bloop-ink);stroke-width:2.5;fill:none}.teach-diagram .d-dash{stroke:var(--bloop-sky);stroke-width:2.5;stroke-dasharray:6 5}.teach-diagram .d-shape{fill:#2f7fbf1f;stroke:var(--bloop-sky);stroke-width:3;stroke-linejoin:round}.teach-diagram .d-mark,.teach-diagram .d-fill{fill:var(--bloop-sky)}.teach-diagram .d-empty{fill:#fff;stroke:var(--bloop-sky);stroke-width:2}.teach-diagram .d-line{stroke:#f5a300;stroke-width:3}.teach-diagram text{fill:var(--bloop-ink);font:600 14px var(--bloop-label);text-anchor:middle}.teach-diagram .d-small{font-size:12px;font-weight:500}.teach-steps-diagram{margin:0;padding-left:1.4em;display:grid;gap:6px;font-size:1.05rem}@keyframes cmp-viewfinder-in{0%{opacity:0;transform:translateY(-14px) scale(.98)}to{opacity:1;transform:none}}.teach-words{display:flex;flex-wrap:wrap;gap:8px 6px;align-items:flex-start}.teach-word{display:grid;justify-items:center;gap:3px}.teach-word b{padding:4px 10px;border-radius:10px;font:1.3rem var(--bloop-font);font-weight:400;color:var(--bloop-ink);background:var(--bloop-fill);box-shadow:inset 0 -3px #0f172a14}.teach-word small{font:600 .7rem var(--bloop-label);letter-spacing:.04em;text-transform:uppercase;color:var(--bloop-ink-soft)}.teach-word.role-subject b,.teach-word.role-noun b,.teach-word.role-pronoun b{background:#dbeaff;color:#0f4fc2}.teach-word.role-verb b{background:#ffe1e3;color:#c42a35}.teach-word.role-object b{background:#dff6e6;color:#1b7f45}.teach-word.role-adjective b,.teach-word.role-adverb b{background:#fff1c7;color:#8a5a00}.teach-word.role-article b,.teach-word.role-preposition b,.teach-word.role-conjunction b{background:#efe6ff;color:#6a3fc2}.teach-sentence-note{margin:10px 0 0;font:500 .82rem var(--bloop-label);color:var(--bloop-ink-soft)}.teach-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px;box-shadow:inset 0 0 0 1.5px #3c3c4324;font:1.08rem var(--bloop-font)}.teach-table th,.teach-table td{padding:8px 12px;text-align:left;border-bottom:1.5px solid rgb(60 60 67 / .12)}.teach-table thead th{font:600 .76rem var(--bloop-label);letter-spacing:.05em;text-transform:uppercase;color:var(--bloop-ink-soft);background:var(--bloop-fill)}.teach-table tbody th{font-weight:400;color:var(--bloop-ink-soft)}.teach-table td{color:#c42a35}.teach-table tr:last-child>*{border-bottom:0}.cmp-path{position:absolute;inset:0;z-index:9;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));background:var(--glass-strong);-webkit-backdrop-filter:blur(34px) saturate(1.8);backdrop-filter:blur(34px) saturate(1.8);animation:cmp-path-in .3s ease-out}@keyframes cmp-path-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.cmp-path-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cmp-topics{display:flex;gap:10px}.cmp-topic-tile{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:64px;padding:8px 18px 8px 8px;border:0;border-radius:22px;background:var(--bloop-card);color:var(--bloop-ink);box-shadow:0 4px 14px #0f172a1f,inset 0 0 0 2px transparent;text-align:left}.cmp-topic-tile .cmp-topic-icon{grid-row:span 2;display:grid;place-items:center;width:48px;height:48px;border-radius:16px;color:#fff;background:var(--topic-math);box-shadow:inset 0 -4px #00000024}.cmp-topic-tile .cmp-topic-name{font:1.2rem var(--bloop-font)}.cmp-topic-tile small{font:600 .74rem var(--bloop-label);color:var(--bloop-ink-soft)}.cmp-topic-tile.is-on{box-shadow:0 6px 18px #0f172a29,inset 0 0 0 3px var(--bloop-sky)}.cmp-stats{display:flex;gap:8px;margin-left:auto}.cmp-stat{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;background:var(--bloop-card);font:600 1.05rem var(--bloop-label);box-shadow:0 2px 10px #0f172a1a}.cmp-stat.is-streak{color:#b9a58c}.cmp-stat.is-streak.is-lit{color:var(--streak)}.cmp-stat.is-xp{color:#e2a400}.cmp-stat.is-stars{color:#f0b400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cmp-path-body{display:grid;grid-template-columns:minmax(250px,30%) minmax(0,1fr);gap:22px;min-height:0}.cmp-path-side{min-height:0;overflow-y:auto;padding-bottom:20px}.cmp-path-side h2{margin:6px 0 10px;font:1.25rem var(--bloop-font)}.cmp-plan,.cmp-journey{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}.cmp-plan-card{position:relative;display:grid;gap:4px;padding:16px 16px 14px;border-radius:22px;background:#ffe3ea;box-shadow:0 4px 14px #0f172a14}.cmp-plan-card.is-improve{background:#fff1c9}.cmp-plan-card.is-talk{background:#dff1ff}.cmp-plan-kind{font:600 .72rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase;color:var(--bloop-ink-soft)}.cmp-plan-card strong{font:1.2rem/1.2 var(--bloop-font);font-weight:400}.cmp-plan-card p{margin:0 0 6px;font:.98rem/1.35 var(--bloop-font);color:var(--bloop-ink-soft)}.cmp-plan-start{justify-self:end;display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 18px;border:0;border-radius:999px;background:var(--bloop-ink);color:#fff;font:1rem var(--bloop-font)}.cmp-journey li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;background:var(--bloop-card)}.cmp-journey li>span:last-child{display:grid;gap:2px}.cmp-journey strong{font:1rem var(--bloop-font);font-weight:400}.cmp-journey-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:var(--node, var(--bloop-sky))}.cmp-journey-icon svg{width:20px;height:20px}.cmp-stars{display:inline-flex;gap:2px}.cmp-stars svg{color:#7878804d;fill:#7878804d}.cmp-stars svg.is-on{color:#f0b400;fill:#ffc93c}.cmp-path-map{min-height:0;overflow-y:auto;padding:0 6px 40px;scroll-behavior:smooth;overscroll-behavior:contain}.cmp-unit{margin-bottom:26px}:is(.cmp-unit,.cmp-world-stones){--node: #2f8cff;--node-dark: #1b62c6;--banner: #1f6fe0}:is(.cmp-unit,.cmp-world-stones)[data-tone="1"]{--node: #f0643c;--node-dark: #c4461f;--banner: #c4461f}:is(.cmp-unit,.cmp-world-stones)[data-tone="2"]{--node: #9a6bff;--node-dark: #6d43d6;--banner: #6d43d6}:is(.cmp-unit,.cmp-world-stones)[data-tone="3"]{--node: #1a9e6e;--node-dark: #138358;--banner: #138358}.cmp-unit-banner{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;padding:14px 14px 14px 20px;border-radius:22px;background:var(--banner);color:#fff;box-shadow:inset 0 -5px #00000026,0 8px 20px #0f172a24}.cmp-unit-banner small{font:600 .74rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase;opacity:.85}.cmp-unit-banner h3{margin:2px 0;font:1.6rem/1.1 var(--bloop-font);color:#fff}.cmp-unit-banner p{margin:0;font:.98rem/1.3 var(--bloop-font);opacity:.9}.cmp-unit-guide{display:grid;justify-items:center;gap:2px;flex:none;min-width:72px;min-height:64px;padding:8px 10px;border:0;border-radius:16px;background:#fff3;color:#fff;font:600 .78rem var(--bloop-label);box-shadow:inset 0 0 0 2px #ffffff59}.cmp-nodes{list-style:none;margin:0;padding:12px 0;display:grid;justify-items:center;gap:18px}.cmp-node-row{position:relative;display:grid;justify-items:center;gap:4px;translate:var(--offset) 0}.cmp-node-row:has(.cmp-lesson-card){z-index:3}.cmp-node{position:relative;display:grid;place-items:center;width:84px;height:76px;border:0;border-radius:50%;color:#fff;background:var(--node);box-shadow:inset 0 -8px 0 var(--node-dark),0 8px #0000000f;transition:transform .1s ease}.cmp-node:after{content:"";position:absolute;top:12px;left:20px;width:24px;height:10px;border-radius:99px;background:#ffffff59;rotate:-24deg}.cmp-node:active{transform:translateY(4px);box-shadow:inset 0 -4px 0 var(--node-dark)}.cmp-node.is-locked{color:#8e8e93;background:#e5e5ea;box-shadow:inset 0 -8px #c7c7cc}.cmp-node.is-locked:after{display:none}.cmp-node.is-current{outline:6px solid color-mix(in srgb,var(--node) 30%,transparent);outline-offset:5px;animation:cmp-node-glow 1.8s ease-in-out infinite}.cmp-node.kind-checkpoint{width:96px;height:86px;border-radius:28px}@keyframes cmp-node-glow{0%,to{outline-color:color-mix(in srgb,var(--node) 15%,transparent)}50%{outline-color:color-mix(in srgb,var(--node) 45%,transparent)}}.cmp-node-buddy{position:absolute;top:-22px;left:calc(100% + 18px);width:96px;pointer-events:none}.cmp-node-buddy.is-left{left:auto;right:calc(100% + 18px)}.cmp-node-buddy .mascot{width:96px}.cmp-lesson-card{position:absolute;z-index:3;top:calc(100% + 10px);left:50%;translate:-50% 0;display:grid;gap:6px;width:min(340px,80vw);padding:18px;border-radius:22px;background:var(--node-dark);color:#fff;box-shadow:0 16px 40px #0f172a40;animation:cmp-msg-in .2s ease-out}.cmp-lesson-card:before{content:"";position:absolute;top:-9px;left:50%;translate:-50% 0;border:10px solid transparent;border-top:0;border-bottom-color:var(--node-dark)}.cmp-lesson-kind{font:600 .74rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase;opacity:.85}.cmp-lesson-card strong{font:1.35rem/1.15 var(--bloop-font);font-weight:400}.cmp-lesson-card p{margin:0;font:1rem/1.35 var(--bloop-font);opacity:.95}.cmp-lesson-start{margin-top:8px;min-height:52px;border:0;border-radius:16px;background:#fff;color:var(--node-dark);font:600 1rem var(--bloop-label);letter-spacing:.04em;text-transform:uppercase;box-shadow:inset 0 -4px #0f172a1f}.cmp-lesson-locked{display:flex;align-items:center;gap:6px}.cmp-path-end{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 30px;font:1.2rem var(--bloop-font);color:var(--bloop-ink-soft)}.cmp-guide{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:24px;background:#0f172a4d;animation:cmp-path-in .2s ease-out}.cmp-guide-card{display:grid;gap:12px;width:min(640px,100%);max-height:100%;overflow-y:auto;padding:22px 24px;border-radius:28px;background:var(--bloop-card);box-shadow:0 24px 60px #0f172a4d}.cmp-guide-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cmp-guide-card small{font:600 .74rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase;color:var(--bloop-sky)}.cmp-guide-card h3{margin:2px 0 0;font:1.7rem var(--bloop-font)}.cmp-guide-ideas{margin:0;padding-left:1.2em;display:grid;gap:8px;font:1.1rem/1.45 var(--bloop-font)}.cmp-guide-examples{display:grid;gap:10px}.cmp-celebrate{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:24px;background:#0f172a59;animation:cmp-path-in .25s ease-out}.cmp-celebrate-card{display:grid;justify-items:center;gap:6px;width:min(460px,100%);padding:18px 28px 26px;border-radius:32px;background:var(--bloop-card);text-align:center;box-shadow:0 24px 60px #0f172a59}.cmp-celebrate-card .mascot{width:150px;height:150px;max-height:none;margin-top:-78px}.cmp-celebrate-card small{font:600 .78rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase;color:var(--bloop-ink-soft)}.cmp-celebrate-card h2{margin:0;font:2.1rem var(--bloop-font)}.cmp-celebrate-stars{display:flex;gap:6px;margin:4px 0}.cmp-celebrate-stars svg{color:#7878804d;fill:#7878804d}.cmp-celebrate-stars svg.is-on{color:#f0b400;fill:#ffc93c;animation:cmp-star .5s cubic-bezier(.2,.9,.3,1.5) backwards}@keyframes cmp-star{0%{transform:scale(0) rotate(-40deg)}to{transform:none}}.cmp-celebrate-xp{display:flex;gap:16px;margin:0 0 8px;font:600 1.05rem var(--bloop-label)}.cmp-celebrate-xp span{display:inline-flex;align-items:center;gap:4px}.cmp-celebrate-xp span:first-child{color:#e2a400}.cmp-celebrate-xp span:last-child{color:var(--streak)}.cmp-celebrate-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.cmp-character-field{display:grid;gap:4px}.cmp-character-field>small{font:500 .82rem var(--bloop-label);color:var(--bloop-ink-soft)}.cmp-characters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}.cmp-character{display:grid;justify-items:center;gap:2px;padding:8px 6px 10px;border:0;border-radius:18px;background:var(--bloop-fill);color:var(--bloop-ink);box-shadow:inset 0 0 0 2px transparent}.cmp-character .mascot{width:84px}.cmp-character strong{font:1.02rem var(--bloop-font);font-weight:400}.cmp-character small{font:500 .72rem var(--bloop-label);color:var(--bloop-ink-soft)}.cmp-character.is-on{background:var(--bloop-fill);box-shadow:inset 0 0 0 3px var(--bloop-sky)}.cmp-characters.is-small{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:0;max-height:min(44vh,350px);overflow-y:auto;overscroll-behavior:contain;padding:2px}.cmp-characters.is-small .cmp-character{padding:6px 4px 8px;border-radius:16px}.cmp-characters.is-small .mascot{width:56px}.cmp-characters.is-small strong{font-size:.92rem}.cmp-characters.is-mini{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:0}.cmp-characters.is-mini .cmp-character{padding:6px 2px;border-radius:14px}.cmp-characters.is-mini .mascot{width:100%;max-width:50px}.cmp-action{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;padding:0 20px;border:0;border-radius:999px;background:var(--bloop-frost);color:var(--bloop-ink);font:1.08rem/1.1 var(--bloop-font);text-align:left;white-space:nowrap;box-shadow:0 6px 18px #0f172a29;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .1s ease,background .15s ease}.cmp-action:active:not(:disabled){transform:scale(.96)}.cmp-action:disabled{opacity:.5;cursor:default}.cmp-action.is-wanted{background:var(--bloop-marker);animation:cmp-pulse 1.8s ease-in-out infinite}@keyframes cmp-pulse{0%,to{box-shadow:0 0 #ffc93c99}50%{box-shadow:0 0 0 10px #ffc93c00}}@keyframes cmp-mic{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.cmp-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 18px;border:0;border-radius:999px;background:var(--bloop-card);color:var(--bloop-ink);font:1rem var(--bloop-font);box-shadow:0 2px 10px #0f172a24}.cmp-chip.is-on{background:var(--bloop-fill);color:var(--bloop-sky);box-shadow:inset 0 0 0 2px var(--bloop-sky)}.cmp-chip.is-primary{background:var(--bloop-action);color:var(--bloop-white)}.cmp-chip.is-danger{color:#c4333a;box-shadow:inset 0 0 0 2px #f5c2c5}.cmp-chip:disabled{opacity:.5}.cmp-round{display:grid;place-items:center;flex:none;width:54px;height:54px;border:0;border-radius:50%;background:var(--bloop-card);color:var(--bloop-ink);box-shadow:0 6px 18px #0f172a2e}.cmp-banners{position:absolute;z-index:8;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 76px);left:50%;translate:-50% 0;display:grid;justify-items:center;gap:8px;width:min(680px,calc(100% - 32px));pointer-events:none}.cmp-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;padding:10px 12px 10px 18px;border-radius:26px;background:var(--bloop-toast);color:var(--bloop-white);font:1rem/1.35 var(--bloop-font);box-shadow:0 10px 30px #0f172a4d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;animation:cmp-msg-in .3s ease-out}.cmp-banner.is-error{background:#7a1826db}.cmp-banner.is-reward{padding-right:18px}.cmp-banner.is-reward svg{color:var(--bloop-marker)}.cmp-banner button{min-height:40px;padding:0 16px;border:0;border-radius:999px;background:var(--bloop-white);color:var(--bloop-ink);font:1rem var(--bloop-font)}.cmp-banner button[aria-label]{background:transparent;color:inherit;padding:0 8px}.cmp-menu{font-family:var(--bloop-font);color:var(--bloop-ink);width:min(560px,calc(100vw - 32px));max-height:min(80vh,720px);overflow-y:auto;border-radius:28px}.cmp-menu .ui-dialog-title{font:1.5rem var(--bloop-font);margin-bottom:12px}.cmp-menu .ui-segment{min-height:42px;font:1rem var(--bloop-font)}.companion.cmp-boot{display:flex;align-items:flex-end;justify-content:center;padding-bottom:14vh}@media(orientation:portrait){.companion{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(200px,24%) minmax(0,1fr) auto;grid-template-areas:"top" "side" "main" "bar"}.cmp-banners{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 96px)}.cmp-action{flex-direction:column;gap:4px;min-height:80px;padding:8px 6px;border-radius:28px;font-size:.9rem;line-height:1.1;text-align:center;white-space:normal}.cmp-path-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.cmp-path-side{display:grid;grid-template-columns:minmax(0,1fr);max-height:34vh}.cmp-plan{grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);overflow-x:auto}.cmp-journey{display:none}.cmp-path-side h2:nth-of-type(2),.cmp-path-side>.cmp-note:last-child{display:none}.cmp-stats{margin-left:0}}@media(max-width:1140px)and (orientation:landscape){.cmp-action{padding:0 16px;font-size:1rem}}@media(prefers-reduced-motion:reduce){.mascot *,.px-art *,.cmp-action,.cmp-action svg,.cmp-banner,.meadow-motes circle{animation:none!important;transition:none!important}}.companion,.cmp-menu{--spring: cubic-bezier(.32, 1.4, .56, 1);--edge: inset 0 0 0 1px var(--glass-edge), inset 0 1px 0 rgb(255 255 255 / .5)}.companion{background:var(--paper);color:var(--bloop-ink);font-family:var(--bloop-font);-webkit-font-smoothing:antialiased}.cmp-diorama{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;transition:opacity .32s ease}.cmp-diorama.is-fading{opacity:0}.cmp-unit-world{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:1px 8px;border-radius:999px;background:#ffffff8c;color:inherit}.cmp-celebrate-card,.cmp-guide-card,.cmp-menu{border:0;border-radius:30px;background:var(--glass-sheen),var(--glass-strong);color:var(--bloop-ink);box-shadow:var(--edge),var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.cmp-lang,.cmp-chip,.cmp-round,.cmp-plan-card,.cmp-journey li,.cmp-topic-tile,.cmp-stat{border:0;background:var(--glass-sheen),var(--glass);color:var(--bloop-ink);box-shadow:var(--edge),var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.cmp-banner{border:0;background:var(--glass-dark);color:#fff;box-shadow:inset 0 0 0 1px #ffffff24,0 8px 24px #00000038;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.companion,.cmp-menu{--glass: rgb(250 250 252 / .92);--glass-strong: rgb(255 255 255 / .97);--glass-dark: rgb(28 28 30 / .94)}.companion[data-sky=night]{--glass: rgb(44 44 50 / .92);--glass-strong: rgb(36 36 42 / .97)}}.companion :is(h1,h2,h3),.cmp-menu :is(h1,h2,h3),.cmp-action,.cmp-chip,.cmp-banner,.cmp-lang .ui-segment,.cmp-menu .ui-dialog-title,.cmp-menu .ui-segment,.cmp-character strong,.cmp-plan-card strong,.cmp-lesson-card strong,.cmp-node,.cmp-plan-start,.cmp-lesson-start,.cmp-unit-guide,.cmp-celebrate-xp,.cmp-stat,.cmp-topic-tile .cmp-topic-name,.cmp-path-end{font-family:var(--bloop-display);font-weight:650;letter-spacing:-.01em}.cmp-lang{padding:3px;border-radius:999px}.cmp-lang .ui-segment{min-height:42px;padding:0 16px;border-radius:999px;color:var(--bloop-ink);background:transparent;transition:background .25s ease,box-shadow .25s ease}.cmp-lang .ui-segment[data-pressed],.cmp-menu .ui-segment[data-pressed]{background:#fff;color:#1d1d1f;box-shadow:0 2px 8px #0f172a29,0 0 0 .5px #0f172a0f}.teach-math{background:var(--bloop-fill);box-shadow:none;border-radius:18px;color:var(--bloop-ink)}.cmp-chip{border-radius:999px;min-height:48px;transition:transform .25s var(--spring),background .2s ease}.cmp-chip:active:not(:disabled){transform:scale(.94)}.cmp-chip.is-primary{background:linear-gradient(180deg,rgb(255 255 255 / .22),transparent 55%),var(--bloop-action);color:#fff;box-shadow:inset 0 1px #ffffff59,0 6px 16px #007aff4d}.cmp-chip.is-on{background:var(--bloop-action);color:#fff}.cmp-chip.is-danger{color:var(--bloop-issue)}.cmp-round{border-radius:50%}.cmp-banner{border-radius:999px;font-size:1rem;animation:glass-in .45s var(--spring) both}.cmp-banner.is-error{background:#d7281edb}.cmp-banner.is-reward svg{color:var(--gold)}.cmp-banner button{border:0;border-radius:999px;background:#ffffffe6;color:#1d1d1f;font-family:var(--bloop-display);font-weight:650}.cmp-banner button[aria-label]{min-width:44px;min-height:44px;background:#ffffff29;color:#fff}.cmp-action,.companion .cmp-action{flex-direction:column;gap:5px;width:108px;min-height:80px;padding:10px 6px 9px;border:0;border-radius:28px;background:transparent;color:var(--bloop-ink);font-size:.88rem;line-height:1.1;text-align:center;white-space:normal;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:transform .25s var(--spring),background .2s ease}.cmp-action svg{color:var(--bloop-sky)}.cmp-action:active:not(:disabled){transform:scale(.9);background:var(--bloop-fill)}.cmp-action:disabled{opacity:.4}.cmp-action.is-wanted{background:linear-gradient(180deg,rgb(255 255 255 / .22),transparent 55%),var(--bloop-action);color:#fff;box-shadow:inset 0 1px #ffffff59,0 6px 18px #007aff59;animation:wanted-glow 1.8s ease-in-out infinite}.cmp-action.is-wanted svg{color:#fff}.cmp-menu{border-radius:32px}.cmp-menu .ui-dialog-title{margin:0 0 12px;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--bloop-ink)}.cmp-menu .ui-segmented,.cmp-menu [role=radiogroup]:not(.cmp-characters){border:0;border-radius:999px;background:var(--bloop-fill)}.cmp-character{border-radius:22px;background:var(--bloop-fill);box-shadow:none;transition:transform .25s var(--spring)}.cmp-character:active{transform:scale(.94)}.cmp-character.is-on{background:#007aff1f;box-shadow:inset 0 0 0 2.5px var(--bloop-sky)}.cmp-celebrate{background:#0f172a4d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cmp-celebrate-card{position:relative;animation:card-pop .6s var(--spring) both}.cmp-celebrate-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgb(255 255 255 / .75) 50%,transparent 62%) no-repeat;background-size:260% 100%;background-position:160% 0;animation:card-shine 1.3s ease-out .45s forwards}.cmp-celebrate-card h2{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--bloop-ink)}.cmp-celebrate-stars svg.is-on{color:#ffb300;fill:var(--gold)}.cmp-celebrate-xp span:first-child{color:#ff9500}.cmp-unit-banner{border:0;border-radius:26px;box-shadow:inset 0 1px #ffffff59,0 10px 24px #0f172a29}.cmp-node{border:4px solid rgb(255 255 255 / .85);box-shadow:0 6px 14px #0f172a2e}.cmp-node.is-locked{border-color:#ffffff80}.cmp-lesson-card{border:0;border-radius:26px;box-shadow:var(--edge),var(--glass-shadow)}.cmp-lesson-start,.cmp-plan-start{border-radius:999px}.cmp-plan-start{background:var(--bloop-action);color:#fff}.cmp-plan-card{border-radius:22px}.cmp-plan-card.is-improve{background:var(--glass-sheen),#ffcc0038}.companion[data-sky=night] .cmp-plan-card{background:var(--glass-sheen),#141c32e6}.companion[data-sky=night] .cmp-plan-card.is-improve{background:var(--glass-sheen),#3a2c08e6}.companion[data-sky=night] .cmp-plan-kind{color:#e8ecf5}.cmp-plan-card.is-talk{background:var(--glass-sheen),#34c7592e}.cmp-journey li{border-radius:20px}.cmp-topic-tile{border-radius:24px}.cmp-topic-tile.is-on{box-shadow:var(--edge),var(--glass-shadow),inset 0 0 0 2.5px var(--bloop-sky)}.cmp-stat{border-radius:20px}.cmp-stat.is-xp,.cmp-stat.is-stars{color:#ff9500}.cmp-stars svg.is-on{color:#ffb300;fill:var(--gold)}.cmp-guide{background:#0f172a47}.cmp-path.is-world{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.cmp-path.is-world :is(.cmp-path-top,.cmp-path-side,.cmp-unit-banner,.cmp-world-stones>li,.cmp-guide,.cmp-dialogue,.cmp-worldmap){pointer-events:auto}.cmp-path.is-world .cmp-path-side{align-self:start;max-height:100%;padding:16px 18px;border-radius:30px;background:var(--glass-sheen),var(--glass-strong);box-shadow:var(--edge),var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.cmp-path.is-world .cmp-path-side h2:first-child{margin-top:0}.cmp-world{position:static;min-height:0}.cmp-world .cmp-unit{position:relative;z-index:2;margin:0}.cmp-world .cmp-unit-banner{position:relative;gap:12px;padding:12px;animation:glass-in .45s var(--spring) both}.cmp-world .cmp-unit-banner>div{flex:1;min-width:0}.cmp-unit-step{flex:none;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;background:#ffffff38;color:#fff;box-shadow:inset 0 0 0 2px #ffffff59;transition:transform .25s var(--spring)}.cmp-unit-step:active:not(:disabled){transform:scale(.9)}.cmp-unit-step:disabled{opacity:.35}.cmp-world-stones{position:absolute;inset:0;z-index:1;margin:0;padding:0;list-style:none;pointer-events:none}.cmp-world-stones>li{position:absolute;left:0;top:0;translate:-50% -100%;visibility:hidden}.cmp-world-stones>li[data-placed]{visibility:visible;animation:stone-in .5s var(--spring) both}.cmp-world-stones>li:nth-child(2){animation-delay:.06s}.cmp-world-stones>li:nth-child(3){animation-delay:.12s}.cmp-world-stones>li:nth-child(4){animation-delay:.18s}.cmp-world-stones>li:nth-child(5){animation-delay:.24s}.cmp-world-stones>li:nth-child(6){animation-delay:.3s}.cmp-world-stones .cmp-node{width:76px;height:70px}.cmp-world-stones .cmp-stars{padding:2px 8px;border-radius:999px;background:var(--glass-sheen),var(--glass-strong);box-shadow:var(--edge)}.cmp-world-stones .cmp-lesson-card{top:auto;bottom:calc(100% + 12px);translate:calc(-50% + var(--shift, 0px)) var(--lift, 0px)}.cmp-world-stones .cmp-lesson-card.is-lifted:before{display:none}.cmp-world-stones .cmp-lesson-card:before{top:auto;bottom:-9px;border:10px solid transparent;border-bottom:0;border-top-color:var(--node-dark);translate:calc(-50% - var(--shift, 0px)) 0}.cmp-world-stones .cmp-lesson-card.is-below{top:calc(100% + 12px);bottom:auto}.cmp-world-stones .cmp-lesson-card.is-below:before{top:-9px;bottom:auto;border:10px solid transparent;border-top:0;border-bottom-color:var(--node-dark)}.cmp-world-stones>li:has(.cmp-lesson-card){z-index:3}.cmp-world-stones:has(.cmp-lesson-card){z-index:5}@keyframes stone-in{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}@keyframes glass-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}@keyframes card-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}@keyframes card-shine{to{background-position:-60% 0}}@keyframes star-spin{0%,84%,to{transform:rotate(0)}92%{transform:rotate(144deg) scale(1.12)}}@keyframes count-bump{0%{transform:scale(1.4);color:#ff9500}to{transform:none}}@keyframes wanted-glow{0%,to{box-shadow:inset 0 1px #ffffff59,0 6px 18px #007aff59}50%{box-shadow:inset 0 1px #ffffff59,0 6px 28px #007aff99}}@keyframes talk-listen{0%{opacity:.9;transform:scale(.94)}to{opacity:0;transform:scale(1.18)}}@media(orientation:portrait){.cmp-action,.companion .cmp-action{width:84px;min-height:76px;padding:8px 4px;border-radius:24px;font-size:.8rem}}@media(max-width:1140px)and (orientation:landscape){.cmp-action,.companion .cmp-action{width:96px;padding:8px 4px;font-size:.84rem}}@media(prefers-reduced-motion:reduce){.cmp-banner,.cmp-celebrate-card,.cmp-celebrate-card:after,.cmp-action.is-wanted,.cmp-world-stones>li,.cmp-world .cmp-unit-banner{animation:none!important}.cmp-celebrate-card:after{display:none}}.board-svg{display:block;width:100%;height:100%;max-height:100%;overflow:visible}.board-equation{font-size:2.2rem}.board-equation .katex-display{margin:0}.board-svg text{fill:var(--bloop-ink);font:600 15px var(--bloop-label);text-anchor:middle}.v-place{fill:var(--bloop-fill);opacity:.55;transition:fill .3s ease,opacity .3s ease}.v-place.is-lit{fill:#ffd60a42;opacity:1;stroke:var(--bloop-marker);stroke-width:2.5}.board-svg .v-place-name{font-size:14px;letter-spacing:.02em}.board-svg .v-place-name.is-hundreds{fill:#c62a20}.board-svg .v-place-name.is-tens{fill:#1662d6}.board-svg .v-place-name.is-ones{fill:#2e8b2e}.companion[data-sky=night] .board-svg .v-place-name.is-hundreds{fill:#ff8a80}.companion[data-sky=night] .board-svg .v-place-name.is-tens{fill:#7ab8ff}.companion[data-sky=night] .board-svg .v-place-name.is-ones{fill:#6fe08a}.companion[data-sky=night] .v-place.is-lit{fill:#ffd60a29}.board-svg .v-count{font:700 21px var(--bloop-display)}.v-hundred{fill:#d63a30;stroke:#8f1c15;stroke-width:1.5}.v-ten{fill:#3d8bfd;stroke:#0b4fb3;stroke-width:1.5}.v-one{fill:#8fe36b;stroke:#2e8b2e;stroke-width:1.5}.v-grid,.v-grid line{stroke:#fff9;stroke-width:1}.v-ten-ring{fill:#ff950014;stroke:var(--bloop-caution);stroke-width:2.5;stroke-dasharray:7 5;animation:ring-breathe 1.6s ease-in-out infinite}.v-axis{fill:none;stroke:var(--bloop-ink);stroke-width:2.5;stroke-linecap:round}.board-svg .v-tick{fill:var(--bloop-ink-soft);font-size:15px}.board-svg .v-tick.is-here{fill:var(--bloop-sky);font:700 18px var(--bloop-display)}.v-start{fill:var(--bloop-ink)}.v-arc{fill:none;stroke:var(--bloop-sky);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:v-draw .6s ease-out forwards}.v-land,.v-jump-tag{fill:var(--bloop-sky)}.is-take .v-arc{stroke:var(--bloop-caution)}.is-take .v-land,.is-take .v-jump-tag{fill:var(--bloop-caution)}.board-svg .v-jump-label{fill:#fff;font-weight:700}.board-svg .v-digit{font:600 44px var(--bloop-display);font-variant-numeric:tabular-nums}.board-svg .v-digit.is-answer{fill:var(--bloop-sky)}.board-svg .v-digit.is-crossed,.board-svg .v-op{fill:var(--bloop-ink-soft)}.v-rule{stroke:var(--bloop-ink);stroke-width:3;stroke-linecap:round}.board-svg .v-carry{fill:var(--bloop-caution);font:700 24px var(--bloop-display)}.v-cross{stroke:var(--bloop-issue);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:v-draw .35s ease-out .2s forwards}.v-col-focus{fill:#ffd60a47;stroke:var(--bloop-marker);stroke-width:2;animation:glass-in .3s ease}.v-plate{fill:var(--bloop-white);stroke:#3c3c4329;stroke-width:2}.companion[data-sky=night] .v-plate{fill:#ffffff1a;stroke:#fff3}.v-leftover{fill:none;stroke:var(--bloop-caution);stroke-width:2.5;stroke-dasharray:6 5}.v-apple{fill:#ff3b30;stroke:#c9221a;stroke-width:1}.v-stem{fill:none;stroke:#6d4c2f;stroke-width:2;stroke-linecap:round}.v-leaf{fill:#34c759}.v-shine{fill:#ffffff80}.v-cookie{fill:#d9a066;stroke:#b07a3e;stroke-width:1.2}.v-chip{fill:#5a3a1e}.v-star{fill:#fc0;stroke:#e0a800;stroke-width:1.2;stroke-linejoin:round}.v-coin{fill:#fc0;stroke:#d19b00;stroke-width:1.5}.v-coin-ring{fill:none;stroke:#d19b00;stroke-width:1.2}.v-marble{fill:#5ac8fa;stroke:#0a84ff;stroke-width:1.2}.v-cube{fill:#34c759;stroke:#1f9a3a;stroke-width:1.2}.v-pop{transform-box:fill-box;transform-origin:center;animation:v-pop .42s var(--spring) both}.v-drop{transform-box:fill-box;animation:v-drop .45s var(--spring) both}@keyframes v-pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}@keyframes v-drop{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}@keyframes v-draw{to{stroke-dashoffset:0}}@keyframes ring-breathe{50%{stroke-opacity:.45}}.cmp-lesson-choice{display:grid;gap:8px}.cmp-lesson-alt{min-height:46px;border:2px solid rgb(255 255 255 / .7);border-radius:999px;background:transparent;color:#fff;font:600 .95rem var(--bloop-label);letter-spacing:.02em}@media(prefers-reduced-motion:reduce){.v-arc,.v-cross{stroke-dashoffset:0}}.cmp-celebrate-card{overflow:hidden}.cmp-celebrate.is-complete .cmp-celebrate-card{overflow:visible}.cmp-confetti{position:absolute;inset:-60px 0 0;overflow:hidden;pointer-events:none;border-radius:inherit}.cmp-confetti i{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;opacity:0;animation:confetti-fall 2.6s cubic-bezier(.25,.6,.4,1) forwards}.cmp-confetti i.is-round{width:10px;height:10px;border-radius:50%}@keyframes confetti-fall{0%{opacity:0;transform:translate(0) rotate(0)}10%{opacity:1}to{opacity:0;transform:translate(var(--drift),520px) rotate(calc(var(--spin) + 540deg))}}.cmp-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:6px 0 12px}.cmp-tile{display:grid;overflow:hidden;border-radius:18px;background:var(--tone);box-shadow:0 4px 14px #0f172a24;animation:tile-in .5s var(--spring) both}.cmp-tile.is-xp{--tone: #ffb800;--tone-night: #ffb800}.cmp-tile.is-score{--tone: #1b7f37;--tone-night: #30d158}.cmp-tile.is-time{--tone: #0068d9;--tone-night: #4da3ff}.cmp-tile-label{padding:6px 4px 5px;color:#fff;font:700 .78rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase}.cmp-tile-value{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 3px 3px;padding:12px 4px;border-radius:15px;background:var(--bloop-white);color:var(--tone);font:700 1.45rem var(--bloop-display);font-variant-numeric:tabular-nums}.companion[data-sky=night] .cmp-tile-value{background:#1c1c22}@keyframes tile-in{0%{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}.cmp-celebrate-note{margin:0 0 10px;color:var(--bloop-ink-soft);font:500 1.05rem var(--bloop-font)}.cmp-continue{min-width:220px;min-height:54px;font-size:1.1rem}.cmp-streak-flame{position:relative;display:grid;place-items:center;margin-top:6px;color:var(--streak);animation:flame-in .7s var(--spring) both}.cmp-streak-flame svg{fill:#fc0;filter:drop-shadow(0 8px 18px rgb(255 149 0 / .45))}.cmp-streak-flame b{position:absolute;top:54%;color:#fff;font:800 2.2rem var(--bloop-display);text-shadow:0 2px 6px rgb(200 80 0 / .5)}@keyframes flame-in{0%{opacity:0;transform:scale(.3) translateY(30px)}70%{transform:scale(1.08)}to{opacity:1;transform:none}}.cmp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;width:100%;margin:4px 0 14px;padding:12px;list-style:none;border-radius:20px;background:var(--bloop-fill)}.cmp-week li{display:grid;justify-items:center;gap:6px}.cmp-week span{color:var(--bloop-ink-soft);font:700 .8rem var(--bloop-label);text-transform:uppercase}.cmp-week li.is-today span{color:var(--streak)}.cmp-week i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#78788033;color:#fff}.cmp-week li.is-done i{background:var(--streak);animation:tick-in .45s var(--spring) both}.cmp-week li.is-future i{background:transparent;box-shadow:inset 0 0 0 2px #78788040}@keyframes tick-in{0%{transform:scale(0)}to{transform:none}}.cmp-chest{width:210px;height:auto;margin-top:4px;overflow:visible}.cmp-chest-lid{transform-box:fill-box;transform-origin:50% 100%;animation:lid-open .55s .35s cubic-bezier(.3,1.6,.5,1) both}@keyframes lid-open{0%{transform:none}to{transform:translateY(-26px) rotate(-14deg)}}.cmp-chest-gems path{opacity:0;animation:gem-out .7s cubic-bezier(.2,.9,.3,1.2) both}@keyframes gem-out{0%{opacity:0;transform:translate(100px,100px) scale(.3)}to{opacity:1;transform:translate(calc(100px + var(--x)),calc(100px + var(--y))) scale(1.4)}}.cmp-gems-count{display:inline-flex;align-items:center;gap:8px;color:#1ea7e8;font-variant-numeric:tabular-nums}.cmp-gems-count svg{fill:#5ac8fa}.cmp-stat.is-gems{color:#1ea7e8}.cmp-lesson-best{display:inline-flex;align-items:center;gap:6px;font:600 .95rem var(--bloop-label)}.cmp-lesson-alt{display:inline-flex;align-items:center;justify-content:center;gap:6px}.cmp-lesson-reset{justify-self:center;display:inline-flex;align-items:center;gap:5px;margin-top:2px;padding:6px 10px;border:0;border-radius:999px;background:transparent;color:#ffffffd9;font:600 .85rem var(--bloop-label)}.cmp-lesson-reset.is-asking{display:grid;gap:8px;justify-items:stretch;padding:10px 12px;border-radius:16px;background:#00000029;text-align:center}.cmp-lesson-reset.is-asking p{margin:0;font:500 .9rem/1.3 var(--bloop-font)}.cmp-lesson-reset.is-asking div{display:flex;gap:8px;justify-content:center}.cmp-lesson-reset.is-asking button{flex:1;max-width:150px;min-height:48px;padding:0 18px;border:0;border-radius:999px;background:#ffffffeb;color:var(--node-dark);font:700 1rem var(--bloop-label)}.cmp-lesson-reset.is-asking button.is-danger{background:#c4291f;color:#fff}@media(prefers-reduced-motion:reduce){.cmp-confetti{display:none}.cmp-tile,.cmp-streak-flame,.cmp-week li.is-done i,.cmp-chest-lid,.cmp-chest-gems path{animation-duration:.01s!important;animation-delay:0s!important}}.mascot.style-plush .mascot-shadow{display:none}.cmp-stat.is-shop{border:0;cursor:pointer;font:inherit;font:600 1.05rem var(--bloop-label);transition:transform .25s var(--spring)}.cmp-stat.is-shop:active{transform:scale(.95)}.cmp-stat-shop{margin-left:2px;opacity:.75}.cmp-chip.is-shop svg{color:#1ea7e8}.cmp-shop{position:absolute;inset:0;z-index:11;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:radial-gradient(ellipse at 24% 46%,rgb(255 226 170 / .5),transparent 55%),var(--glass-strong);-webkit-backdrop-filter:blur(34px) saturate(1.8);backdrop-filter:blur(34px) saturate(1.8);animation:cmp-path-in .3s ease-out}.cmp-shop-top{display:flex;align-items:center;gap:14px}.cmp-shop-top h2{margin:0;font:1.7rem var(--bloop-display)}.cmp-shop-gems{margin-left:auto}.cmp-shop-crew{display:flex;gap:10px;overflow-x:auto;padding:4px 4px 8px;scrollbar-width:none}.cmp-shop-crew::-webkit-scrollbar{display:none}.cmp-shop-friend{flex:none;display:grid;justify-items:center;gap:2px;width:86px;padding:6px 4px 8px;border:0;border-radius:22px;background:var(--glass-sheen),var(--glass);color:var(--bloop-ink);box-shadow:var(--edge),var(--glass-shadow);font:600 .8rem var(--bloop-label);transition:transform .25s var(--spring),box-shadow .2s ease}.cmp-shop-friend .mascot{width:66px;height:66px;max-height:none}.cmp-shop-friend.is-on{box-shadow:var(--edge),0 0 0 3px var(--bloop-sky),var(--glass-shadow);transform:translateY(-2px)}.cmp-shop-body{display:grid;grid-template-columns:minmax(260px,2fr) 3fr;gap:18px;min-height:0}.cmp-shop-stand{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;min-height:0;padding-bottom:8px;border-radius:32px;background:radial-gradient(circle at 50% 40%,#ffffffbf,#fff0 68%);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;container-type:size;overflow:hidden}.cmp-shop-stand:active{cursor:grabbing}.cmp-shop-stand .mascot{position:relative;z-index:1;align-self:end;width:min(100cqw,100cqh - 64px);height:auto;max-height:none;pointer-events:none}.cmp-shop-plinth{position:absolute;left:50%;bottom:calc(16px + min(100cqw,100cqh - 64px)*.11);width:min(62%,300px);height:40px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse at 50% 35%,#fff6e4,#f0d9b0 60%,#d9b880);box-shadow:0 10px 24px #78501e38,inset 0 -6px #96692d40}.cmp-shop-wearing{position:relative;z-index:1;margin:0;font:600 .95rem var(--bloop-label);color:var(--bloop-ink-soft);text-align:center}.cmp-shop-note{position:absolute;top:12px;left:50%;z-index:2;transform:translate(-50%);white-space:nowrap;margin:0;padding:6px 14px;border-radius:999px;background:var(--glass-dark);color:#fff;font:600 .9rem var(--bloop-label)}.cmp-shop-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-content:start;gap:12px;min-height:0;margin:0;padding:6px 6px 16px;list-style:none;overflow-y:auto}.cmp-shop-item{position:relative;display:grid;align-content:start;gap:6px}.cmp-shop-card{display:grid;justify-items:center;gap:2px;width:100%;padding:10px 8px 12px;border:0;border-radius:24px;background:var(--glass-sheen),var(--glass);color:var(--bloop-ink);box-shadow:var(--edge),var(--glass-shadow);transition:transform .25s var(--spring),box-shadow .2s ease}.cmp-shop-card:active:not(:disabled){transform:scale(.96)}.cmp-shop-art{position:relative;display:grid;place-items:center;width:78px;height:78px;margin-bottom:4px;border-radius:50%;background:#fffc;box-shadow:inset 0 -4px #0000000f}.cmp-outfit-icon{width:60px;height:60px}.cmp-shop-card strong{font:600 .92rem var(--bloop-label);line-height:1.15;text-align:center}.cmp-shop-card small{font:600 .74rem var(--bloop-label);color:var(--bloop-ink-soft)}.cmp-shop-price{display:inline-flex;align-items:center;gap:3px;margin-top:2px;color:#1ea7e8;font:700 .92rem var(--bloop-label)}.cmp-shop-tag{margin-top:2px;font:600 .7rem var(--bloop-label);color:var(--bloop-ok);text-align:center}.cmp-shop-check{position:absolute;top:-2px;right:-2px;padding:3px;border-radius:50%;background:var(--bloop-ok);color:#fff;box-shadow:0 2px 6px #0003}.cmp-shop-item.is-on .cmp-shop-card{box-shadow:var(--edge),0 0 0 3px var(--bloop-ok),var(--glass-shadow)}.cmp-shop-item.is-trying .cmp-shop-card{box-shadow:var(--edge),0 0 0 3px #1ea7e8,var(--glass-shadow)}.cmp-shop-item.is-off .cmp-shop-card{opacity:.45}.cmp-shop-buy{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;border:0;border-radius:999px;background:#1ea7e8;color:#fff;font:700 .95rem var(--bloop-label);box-shadow:0 6px 16px #1ea7e859;animation:cmp-path-in .2s ease-out}.cmp-shop-buy:disabled{background:var(--bloop-fill);color:var(--bloop-ink-soft);box-shadow:none}.cmp-shop-earn{margin:0;font:600 .74rem var(--bloop-label);color:var(--bloop-ink-soft);text-align:center}.cmp-gem-drop{position:absolute;top:0;left:0;right:0;height:96px;pointer-events:none}.cmp-gem-drop svg{position:absolute;top:40px;left:calc(50% - 9px + (var(--i) - 2.5) * 13px);color:#1ea7e8;fill:#8fdcff;animation:cmp-gem-drop .9s cubic-bezier(.3,.6,.4,1) calc(var(--i) * 70ms) both}@keyframes cmp-gem-drop{0%{transform:translateY(-150px) scale(.6);opacity:0}30%{opacity:1}80%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(8px) scale(.4);opacity:0}}.companion[data-sky=night] .cmp-shop-art{background:#ffffff24}.companion[data-sky=night] .cmp-shop-stand{background:radial-gradient(circle at 50% 40%,#ffffff29,#fff0 68%)}@media(orientation:portrait),(max-width:760px){.cmp-shop-body{grid-template-columns:1fr;grid-template-rows:minmax(250px,44%) minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.cmp-gem-drop svg{animation:none;opacity:0}.cmp-shop-buy{animation:none}}.cmp-views{justify-self:start;padding:4px;border-radius:999px;background:var(--glass-sheen),var(--glass);box-shadow:var(--edge),var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.cmp-views .ui-segment{min-height:40px;padding:0 14px;border-radius:999px;color:var(--bloop-ink);font:600 .92rem var(--bloop-label);white-space:nowrap}.cmp-views .ui-segment[data-pressed]{background:var(--bloop-card);box-shadow:0 2px 8px #0f172a29}.cmp-views.is-face{position:absolute;top:max(16px,env(safe-area-inset-top));left:50%;z-index:5;transform:translate(-50%)}.cmp-face{position:absolute;inset:0;z-index:0;display:grid;place-items:center}.cmp-face .mascot.is-closeup{width:100%;height:100%;aspect-ratio:auto;max-height:none}.cmp-face .mascot.is-closeup .mascot-3d{width:100%;height:100%}.cmp-face .mascot.is-closeup:not(.is-3d)>svg,.cmp-face .mascot.is-closeup>svg:not(.mascot-badge){transform:scale(2.1);transform-origin:50% 40%}.cmp-face-away{padding:12px 20px;border-radius:999px;background:var(--glass-dark);color:#fff;font:600 1.05rem var(--bloop-label)}.cmp-face-card{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 84px);z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;width:min(340px,calc(100% - 40px));padding:12px 16px;border:0;border-radius:22px;text-align:left;background:var(--glass-sheen),var(--glass-strong);color:var(--bloop-ink);box-shadow:var(--edge),var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.cmp-face-card-who{display:flex;gap:8px;font:500 .82rem var(--bloop-label);color:var(--bloop-ink-soft)}.cmp-face-card-who strong{color:var(--bloop-ink)}.cmp-face-card-text{grid-column:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font:1rem/1.3 var(--bloop-font)}.cmp-face-card svg{grid-column:2;grid-row:1 / span 2;align-self:start;color:var(--bloop-ink-soft)}@media(orientation:portrait){.cmp-face-card{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 170px)}}.cmp-menu .cmp-lang{background:var(--bloop-fill)}.companion h1,.cmp-menu h1{font-family:var(--bloop-heading);font-weight:700;font-synthesis:none;letter-spacing:0}.cmp-intro{--intro-paper: #fdf7ea;position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;cursor:pointer;user-select:none;-webkit-user-select:none;background:radial-gradient(120% 90% at 50% 40%,var(--intro-paper) 0 46%,#f8e6c9 100%);color:#d42230}.cmp-intro-rays{position:absolute;inset:-60%;background:repeating-conic-gradient(from 0deg,rgb(255 255 255 / .35) 0deg 9deg,transparent 9deg 18deg);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 62%);mask-image:radial-gradient(circle,#000 0%,transparent 62%);animation:intro-rays 60s linear infinite}.cmp-intro-logo{position:relative;z-index:1;width:min(90vw,1100px);margin:0 0 9vh}.wordmark{display:block;width:100%;height:auto;overflow:visible}.wordmark-ink{fill:#d42230;fill-rule:evenodd;stroke:var(--intro-paper);stroke-width:11;stroke-linejoin:round;paint-order:stroke}.wordmark-glint{fill:url(#wordmark-glint);fill-rule:evenodd}.wordmark-shadow{fill:#96461e1a}.wordmark-letter,.wordmark-hop,.wordmark-shadow{transform-box:fill-box;transform-origin:50% 100%}.wordmark-letter{animation:wordmark-drop .9s cubic-bezier(.3,.7,.4,1) both;animation-delay:calc(var(--i) * .12s + .25s)}.wordmark-hop{animation:wordmark-hop 4.6s ease-in-out infinite;animation-delay:calc(var(--i) * .09s + 2.2s)}.wordmark-shadow{transform-origin:50% 50%;animation:wordmark-shadow-drop .9s cubic-bezier(.3,.7,.4,1) both,wordmark-shadow-hop 4.6s ease-in-out infinite;animation-delay:calc(var(--i) * .12s + .25s),calc(var(--i) * .09s + 2.2s)}@keyframes wordmark-drop{0%{opacity:0;transform:translateY(-460px) scale(.92,1.12)}50%{opacity:1;transform:translateY(0) scale(.94,1.08)}64%{transform:translateY(0) scale(1.16,.82)}80%{transform:translateY(-26px) scale(.96,1.05)}91%{transform:translateY(0) scale(1.04,.96)}to{transform:none}}@keyframes wordmark-hop{0%,16%,to{transform:none}4%{transform:translateY(-48px) scale(.96,1.05)}8.5%{transform:translateY(0) scale(1.08,.9)}12%{transform:scale(.98,1.02)}}@keyframes wordmark-shadow-drop{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1)}64%{transform:scaleX(1.12)}80%{transform:scale(.88)}to{transform:none}}@keyframes wordmark-shadow-hop{0%,16%,to{transform:none}4%{opacity:.55;transform:scale(.72)}8.5%{transform:scaleX(1.1)}}.cmp-intro-start{position:absolute;z-index:2;bottom:max(11vh,calc(env(safe-area-inset-bottom) + 40px));min-height:64px;padding:0 34px;border:0;border-radius:999px;background:#fff;color:#d42230;font:800 1.4rem var(--bloop-label);letter-spacing:.02em;box-shadow:0 10px 30px #a0461440,inset 0 -3px #e8322b26;animation:intro-start 1.6s ease-in-out infinite}.cmp-intro-confetti{position:absolute;inset:0;pointer-events:none}.cmp-intro-confetti i{position:absolute;top:-4%;left:var(--x);width:10px;height:16px;border-radius:3px;background:var(--colour);opacity:.85;animation:intro-confetti var(--speed) linear infinite;animation-delay:calc(var(--delay) * -1)}@keyframes intro-rays{to{transform:rotate(360deg)}}@keyframes intro-start{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes intro-confetti{0%{transform:translateY(0) rotate(0)}to{transform:translateY(112vh) rotate(var(--turn))}}@media(prefers-reduced-motion:reduce){.cmp-intro-rays,.wordmark-letter,.wordmark-hop,.wordmark-shadow,.cmp-intro-start{animation:none}.cmp-intro-confetti,.wordmark-glint{display:none}}.companion.cmp-intro-steps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);grid-template-rows:minmax(0,1fr);grid-template-areas:"bloop card";align-items:center;gap:clamp(20px,5vw,70px);padding-inline:max(6vw,24px)}.cmp-intro-buddy{grid-area:bloop;align-self:end;display:flex;justify-content:center;padding-bottom:7vh}.cmp-intro-buddy .mascot{width:min(34vw,300px)}.cmp-intro-card{grid-area:card;position:relative;z-index:1;display:grid;gap:16px;min-width:0;max-height:calc(100dvh - 48px);padding:28px;border-radius:32px;background:var(--glass-sheen),var(--glass-strong);color:var(--bloop-ink);box-shadow:var(--edge),var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);animation:card-pop .6s var(--spring) both}.cmp-intro-card h1{margin:0;font:700 2.3rem/1.1 var(--bloop-heading);font-synthesis:none;letter-spacing:0}.cmp-intro-howto{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:howto}.cmp-intro-howto li{counter-increment:howto;display:grid;grid-template-columns:auto 52px 1fr;align-items:center;gap:12px;min-height:60px;padding:6px 14px 6px 12px;border-radius:18px;background:var(--field);box-shadow:inset 0 0 0 2px var(--field-edge);color:var(--bloop-ink);font:700 1.15rem/1.25 var(--bloop-label)}.cmp-intro-howto li:before{content:counter(howto);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--bloop-action);color:#fff;font:800 1rem var(--bloop-label)}.cmp-intro-howto-icon{display:grid;place-items:center;width:52px;height:44px;border-radius:12px;background:#fff;color:#0a84ff;box-shadow:0 1px 3px #0f172a26}.cmp-intro-note{margin:0;color:var(--bloop-ink-soft);font:600 1rem/1.4 var(--bloop-label)}.cmp-intro-dots{display:flex;gap:8px;margin:0;padding:0;list-style:none}.cmp-intro-dots li{width:10px;height:10px;border-radius:50%;background:#7878804d;transition:width .3s var(--spring),background .3s ease}.cmp-intro-dots li.is-on{width:28px;border-radius:999px;background:var(--bloop-sky)}.cmp-intro-input{min-height:80px;padding:0 22px;border-radius:24px;font:700 2rem var(--bloop-font);text-align:center}.cmp-intro-actions{display:flex;justify-content:space-between;gap:12px}.cmp-intro-actions .cmp-chip{min-height:62px;padding:0 26px;font-size:1.15rem}.cmp-intro-actions .cmp-chip.is-primary{flex:1}.cmp-characters.is-big{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;max-height:min(52vh,460px);overflow-y:auto;overscroll-behavior:contain;padding:2px;margin:0}.cmp-characters.is-big .cmp-character{padding:10px 6px 12px;border-radius:22px}.cmp-characters.is-big .mascot{width:84px}.cmp-characters.is-big strong{font-size:1.05rem}.cmp-characters.is-big small{font-size:.78rem}@media(orientation:portrait){.companion.cmp-intro-steps{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"card" "bloop";align-content:center;padding-top:60px}.cmp-intro-card{justify-self:center;width:min(100%,600px);max-height:calc(100dvh - 260px)}.cmp-intro-buddy{padding-bottom:3vh}.cmp-intro-buddy .mascot{width:180px}}.cmp-level{position:fixed;inset:0;z-index:30;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#08102099;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);animation:cmp-msg-in .35s var(--spring) both}.cmp-level-top{display:flex;align-items:center;gap:14px}.cmp-level-title{display:grid;padding:8px 18px;border-radius:22px;background:var(--glass-sheen),var(--glass-strong);box-shadow:var(--edge),var(--glass-shadow);color:var(--bloop-ink)}.cmp-level-title small{font:600 .78rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase;color:var(--bloop-ink-soft)}.cmp-level-title strong{font:700 1.35rem/1.15 var(--bloop-heading);font-synthesis:none}.cmp-level-progress{margin-left:auto;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:999px;background:var(--glass-sheen),var(--glass-strong);box-shadow:var(--edge),var(--glass-shadow)}.cmp-level-progress ol{display:flex;gap:6px;margin:0;padding:0;list-style:none}.cmp-level-progress li{width:16px;height:16px;border-radius:50%;background:#78788040;transition:background .3s ease,transform .4s var(--spring)}.cmp-level-progress li.is-on{background:#34c759;transform:scale(1.12)}.cmp-level-progress span{font:700 1rem var(--bloop-label);color:var(--bloop-ink);white-space:nowrap}.cmp-level-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:14px;min-height:0}.cmp-level-board{position:relative;display:flex;flex-direction:column;gap:10px;min-height:0;padding:16px 18px;border-radius:30px;background:var(--glass-sheen),var(--bloop-card);box-shadow:var(--edge),var(--glass-shadow);color:var(--bloop-ink)}.cmp-level.is-right .cmp-level-board{box-shadow:var(--edge),0 0 0 4px #34c7598c,var(--glass-shadow)}.cmp-level.is-retry .cmp-level-board{animation:level-nudge .45s ease}.cmp-level-steps{display:flex;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}.cmp-level-steps button{width:14px;height:14px;padding:0;border:0;border-radius:999px;background:#78788047;transition:width .3s var(--spring),background .3s ease}.cmp-level-steps button.is-on{width:34px;background:var(--bloop-sky)}.cmp-level-steps button.is-done{background:#007aff73}.cmp-level-picture{flex:1;display:grid;place-items:center;min-height:0;overflow:hidden}.cmp-level-picture>.board-svg,.cmp-level-picture>div{width:100%;height:100%;max-height:100%}.cmp-level-picture .board-svg{display:block}.cmp-level-nopic{color:var(--bloop-ink-soft);opacity:.4}.cmp-level-strip{margin:0;padding:10px 16px;border-radius:18px;background:var(--bloop-fill);font:600 clamp(1.1rem,2vw,1.45rem)/1.3 var(--bloop-font);text-align:center}.cmp-level-controls{display:flex;justify-content:center;gap:10px}.cmp-level-controls .cmp-chip{min-height:56px;min-width:110px;font-size:1.05rem}.cmp-level-controls .cmp-chip.is-primary,.cmp-intro-actions .cmp-chip.is-primary{background:var(--bloop-action);color:#fff}.cmp-level-burst{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#34c759}.cmp-level-burst svg{padding:18px;border-radius:50%;background:#ffffffeb;box-shadow:0 10px 30px #34c75959;animation:level-burst .9s var(--spring) both}.cmp-level-side{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0}.cmp-level:not([data-phase=practice]) .cmp-level-answer:not(:has(.cmp-pad,.cmp-choices)){align-self:start;background:none;box-shadow:none;padding:4px 8px}.cmp-level:not([data-phase=practice]) .cmp-level-answer .cmp-level-tip{color:#ffffffd1;font-size:1.05rem}.cmp-level-buddy{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:end;gap:10px}.cmp-level-mascot .mascot{width:96px}.cmp-level-bubble{position:relative;padding:22px 16px 12px;border-radius:22px 22px 22px 8px;background:#fff;color:#1d1d1f;box-shadow:0 8px 22px #0f172a33;animation:cmp-msg-in .4s var(--spring) both}.cmp-level-bubble p{margin:0;font:600 1.12rem/1.35 var(--bloop-font)}.cmp-level-aside{display:block;margin-top:8px;padding-top:8px;border-top:1px dashed rgb(15 23 42 / .15);font:700 1rem/1.3 var(--bloop-font);color:#2563eb}.cmp-level-ribbon{position:absolute;top:-12px;left:12px;padding:3px 12px;border-radius:8px;background:#5b3df5;color:#fff;font:800 .82rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase;transform:rotate(-2deg);box-shadow:0 3px 8px #5b3df559}.cmp-level-bubble.is-right .cmp-level-ribbon{background:#1f9a3a}.cmp-level-bubble.is-hint .cmp-level-ribbon{background:#e08a00}.cmp-level-answer{display:grid;align-content:end;gap:10px;min-height:0;padding:14px;border-radius:28px;background:var(--glass-sheen),var(--glass-strong);box-shadow:var(--edge),var(--glass-shadow)}.cmp-level-tip{display:flex;align-items:center;gap:8px;margin:0;font:600 .95rem/1.3 var(--bloop-label);color:var(--bloop-ink-soft)}.cmp-pad{display:grid;gap:10px}.cmp-pad-entry{display:flex;justify-content:center;align-items:center;gap:4px;min-height:64px;padding:0 12px;border-radius:18px;background:var(--bloop-card);box-shadow:inset 0 0 0 2px #007aff59;font:800 2.2rem var(--bloop-font);color:var(--bloop-ink)}.cmp-pad-entry.is-empty{box-shadow:inset 0 0 0 2px #78788040}.cmp-pad-placeholder{color:var(--bloop-ink-soft);opacity:.5}.cmp-pad-digit.is-ones{color:#2e8b2e}.cmp-pad-digit.is-tens{color:#1662d6}.cmp-pad-digit.is-hundreds{color:#c62a20}.cmp-pad-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cmp-pad-key{min-height:60px;border:0;border-radius:18px;background:var(--bloop-card);color:var(--bloop-ink);font:700 1.6rem var(--bloop-font);box-shadow:0 3px #0f172a1f,0 6px 14px #0f172a1a;transition:transform .12s ease}.cmp-pad-key:active{transform:translateY(2px) scale(.97)}.cmp-pad-key.is-go{background:#34c759;color:#fff}.cmp-pad-key.is-go:disabled{opacity:.4}.cmp-pad-key.is-del{color:var(--bloop-ink-soft)}.cmp-pad-key.is-extra{background:var(--bloop-fill)}.cmp-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.cmp-choice{min-height:72px;padding:8px 12px;border:0;border-radius:22px;background:var(--bloop-card);color:var(--bloop-ink);font:800 1.6rem/1.15 var(--bloop-font);box-shadow:0 4px #0f172a1f,0 8px 18px #0f172a1f}.cmp-choices.is-many .cmp-choice{font-size:1.15rem}.cmp-choice:active{transform:translateY(2px)}.cmp-level-dock{display:flex;justify-content:center;gap:12px}.cmp-level-dock .cmp-action{position:relative}.cmp-level-dock .cmp-action small{position:absolute;top:6px;right:12px;min-width:22px;height:22px;border-radius:11px;background:#ff9500;color:#fff;font:800 .8rem/22px var(--bloop-label)}.cmp-level.is-error,.cmp-level.is-loading{display:grid;place-items:center}.cmp-level.is-loading .cmp-level-note p{display:flex;align-items:center;justify-content:center;gap:10px}.cmp-level-note{display:grid;gap:12px;padding:24px;border-radius:26px;background:var(--bloop-card);color:var(--bloop-ink);text-align:center}@keyframes level-burst{0%{opacity:0;transform:scale(.3) rotate(-20deg)}60%{opacity:1}to{opacity:0;transform:scale(1.2)}}@keyframes level-nudge{20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}@media(orientation:portrait){.cmp-level-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.2fr) auto}.cmp-level-side{grid-template-rows:auto auto}}@media(prefers-reduced-motion:reduce){.cmp-level,.cmp-level-board,.cmp-level-burst svg,.cmp-level-bubble{animation:none}}.sv-mat{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:8px;height:100%}.sv-cards{display:flex;justify-content:center;gap:10px}.sv-card{min-width:76px;padding:8px 14px;border-radius:14px;background:#fff;box-shadow:0 4px 12px #0f172a24;font:800 1.8rem var(--bloop-font);text-align:center;border-bottom:6px solid}.sv-card.is-hundreds{color:#c62a20;border-color:#d63a30}.sv-card.is-tens{color:#1662d6;border-color:#3d8bfd}.sv-card.is-ones{color:#2e8b2e;border-color:#8fe36b}.sv-card.is-lit{outline:3px solid var(--bloop-marker)}.sv-number{display:flex;justify-content:center;gap:2px;font:800 clamp(2.6rem,6vw,4rem)/1 var(--bloop-font)}.sv-digit.is-hundreds{color:#c62a20}.sv-digit.is-tens{color:#1662d6}.sv-digit.is-ones{color:#2e8b2e}.sv-digit.is-zero{text-shadow:0 0 14px rgb(255 214 10 / .9)}.sv-digit.is-lit{text-decoration:underline 4px var(--bloop-marker)}.sv-frame{fill:#fff;stroke:#2c2c2e;stroke-width:3}.sv-frame-cell{fill:none;stroke:#c7c7cc;stroke-width:1.5}.sv-dot{fill:#ff3b30}.sv-dot.is-second{fill:#0a84ff}.sv-dot.is-gone{opacity:.35}.sv-compare{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;height:100%}.sv-compare-side{display:grid;justify-items:center;gap:4px;min-width:0}.sv-compare-side .board-svg{width:100%}.sv-compare-number{font:800 2rem var(--bloop-font)}.sv-sign{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#fff;box-shadow:0 6px 16px #0f172a2e;font:800 2.6rem var(--bloop-font);color:#5b3df5}.sv-sign.is-ask{border:4px dashed #5b3df5;background:#5b3df50f}.sv-bar{fill:#fc0;stroke:#b88a00;stroke-width:2}.sv-bar.is-whole{fill:#dfe7ff;stroke:#5b7bd6}.sv-bar.is-part-0{fill:#ffd166}.sv-bar.is-part-1{fill:#7bdff2}.sv-bar.is-part-2{fill:#c3a6ff}.sv-bar.is-part-3{fill:#a0e8af}.sv-bar.is-ask{fill:#fff;stroke-dasharray:8 6}.sv-gap{fill:#ff3b300f;stroke:#ff3b30;stroke-width:2;stroke-dasharray:7 5}.board-svg .sv-bar-value{font:800 22px var(--bloop-font);text-anchor:middle;fill:#1d1d1f}.board-svg .sv-bar-value.is-gap{fill:#ff3b30}.board-svg .sv-bar-label,.board-svg .sv-bar-name{font:700 16px var(--bloop-label);fill:#3a3a3c;text-anchor:middle}.board-svg .sv-bar-name{text-anchor:end}.sv-coin{fill:#ffd60a;stroke:#b88a00;stroke-width:2}.sv-coin.is-1,.sv-coin.is-2{fill:#d8c9a3;stroke:#8a7a52}.sv-note{fill:#a0e8af;stroke:#2e8b2e;stroke-width:2}.sv-note.is-50{fill:#ffb4c8;stroke:#c2185b}.sv-note.is-100{fill:#c3a6ff;stroke:#5b3df5}.board-svg .sv-money{font:800 18px var(--bloop-font);text-anchor:middle;fill:#1d1d1f}.sv-tag{fill:#fff;stroke:#ff9500;stroke-width:2.5}.sv-mat>.board-svg,.sv-compare-side .board-svg{width:100%;height:100%;min-height:0}.cmp-quest{display:grid;gap:6px;padding:12px 14px;border-radius:20px;background:#fff;color:#1d1d1f;box-shadow:0 6px 18px #0f172a29}.cmp-quest small{font:800 .74rem var(--bloop-label);letter-spacing:.08em;text-transform:uppercase;color:#5b3df5}.cmp-quest ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.cmp-quest li{display:flex;align-items:center;gap:10px;font:600 1rem/1.25 var(--bloop-font)}.cmp-quest-box{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:8px;border:2.5px solid #c7c7cc;color:#fff;transition:background .3s ease,border-color .3s ease}.cmp-quest li.is-done .cmp-quest-box{background:#34c759;border-color:#34c759;animation:v-pop .42s var(--spring) both}.cmp-quest li.is-done .cmp-quest-text{color:#8e8e93;text-decoration:line-through 2px}.cmp-map-button{margin-left:auto}.cmp-path-top .cmp-map-button+.cmp-stats{margin-left:0}.cmp-coach{position:fixed;z-index:60;pointer-events:none;filter:drop-shadow(0 6px 8px rgb(0 0 0 / .25));animation:coach-bob 1.1s ease-in-out infinite;transform-origin:20% 10%}@keyframes coach-bob{0%,to{transform:translate(0) rotate(-14deg)}50%{transform:translate(-6px,-9px) rotate(-14deg) scale(.96)}}.cmp-dialogue{position:fixed;inset:0;z-index:40;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center;gap:12px;padding:max(24px,5vh) max(24px,6vw);background:#08102080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:cmp-msg-in .35s var(--spring) both}.cmp-dialogue-buddy{display:flex;justify-content:flex-end}.cmp-dialogue-buddy .mascot{width:min(30vw,300px)}.cmp-dialogue-card{position:relative;max-width:620px;padding:38px 32px 26px;border-radius:34px;background:#f4f4fb;color:#1d1d1f;box-shadow:0 18px 50px #0000004d;animation:card-pop .5s var(--spring) both}.cmp-dialogue-name{position:absolute;top:-20px;left:26px;padding:6px 18px;border-radius:10px;background:#4f35e8;color:#fff;font:900 1.25rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase;transform:rotate(-3deg);box-shadow:0 4px 10px #4f35e859}.cmp-dialogue-card p{margin:0 0 22px;font:600 clamp(1.3rem,2.4vw,1.75rem)/1.4 var(--bloop-font)}.cmp-dialogue-card strong{color:#3f5ef5;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.cmp-dialogue-answers{display:flex;justify-content:flex-end;gap:14px}.cmp-dialogue-answers button{min-height:64px;min-width:150px;padding:0 26px;border:0;border-radius:22px;font:900 1.35rem var(--bloop-label);letter-spacing:.03em;text-transform:uppercase;box-shadow:0 5px #00000029}.cmp-dialogue-no{background:#fff;color:#1d1d1f}.cmp-dialogue-yes{background:#34c759;color:#fff}.cmp-dialogue-answers button:active{transform:translateY(3px);box-shadow:0 2px #00000029}@media(orientation:portrait){.cmp-dialogue{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:center}.cmp-dialogue-buddy{justify-content:center}.cmp-dialogue-buddy .mascot{width:220px}.cmp-dialogue-card{justify-self:center}}.cmp-worldmap{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#0810208c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.cmp-worldmap-frame{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;width:min(980px,100%);height:min(740px,calc(100dvh - 48px));padding:12px;border-radius:28px;background:linear-gradient(180deg,#fff8e6,#f6e7c1);box-shadow:inset 0 0 0 3px #ffffffb3,0 20px 60px #00000059;animation:card-pop .45s var(--spring) both}.cmp-worldmap-frame header{display:flex;align-items:center;gap:12px;padding:4px 4px 0 14px;color:#3b2a10}.cmp-worldmap-frame header h2{flex:1;margin:0;font:700 1.6rem/1.1 var(--bloop-heading);font-synthesis:none}.cmp-worldmap-tally{display:flex;gap:8px}.cmp-worldmap-tally>span{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 2px #ead7a8;font:800 1rem var(--bloop-label)}.cmp-worldmap-tally svg{color:#e0a100;fill:#ffd23f}.cmp-worldmap-tally>span:first-child svg{color:#2fb350;fill:#c8f0d0}.cmp-worldmap-frame header .cmp-round{background:#fff;color:#3b2a10;box-shadow:inset 0 0 0 2px #ead7a8}.cmp-worldmap-sea{position:relative;overflow:hidden;border-radius:20px;box-shadow:inset 0 0 0 4px #ffffff59,inset 0 10px 30px #00285a40;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='120'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.22' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M14 30q9-8 18 0t18 0'/%3E%3Cpath d='M104 86q9-8 18 0t18 0'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(120% 90% at 30% 10%,#4cc9ff,#1fa3ef 55%,#1186d6)}.cmp-worldmap-scroll{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.cmp-worldmap-ocean{position:relative;min-height:100%}.cmp-worldmap-compass{position:absolute;z-index:2;top:14px;right:14px;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#fff8e6eb;color:#b5651d;box-shadow:0 0 0 4px #ffffff59,0 6px 14px #00285a40;pointer-events:none}.cmp-worldmap-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.cmp-worldmap-route path{fill:none;stroke:#fffc;stroke-width:4;stroke-linecap:round;stroke-dasharray:2 12;vector-effect:non-scaling-stroke}.cmp-worldmap-route path.is-done{stroke:#ffd23f;stroke-width:6;stroke-dasharray:none;filter:drop-shadow(0 2px 0 rgb(150 90 0 / .45))}.cmp-island{position:absolute;display:grid;justify-items:center;gap:10px;width:200px;padding:12px 0 0;border:0;background:none;color:#1d1d1f;transform:translate(-50%);-webkit-tap-highlight-color:transparent}.cmp-island-land{position:relative;display:grid;place-items:center;width:150px;height:104px;border-radius:48% 52% 44% 56%/58% 46% 54% 42%;background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--land) 80%,#fff),var(--land) 45%,var(--shore));box-shadow:0 0 0 7px #f8e6b0,0 0 0 16px #ffffff38,0 12px 0 7px #0032642e;transition:transform .2s var(--spring)}.cmp-island:nth-child(odd) .cmp-island-land{border-radius:56% 44% 52% 48%/44% 58% 42% 56%}.cmp-island:not(:disabled):active .cmp-island-land{transform:scale(.95)}.cmp-island-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 4px #0000001f}.cmp-island-stars{position:absolute;bottom:-14px;display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 10px;border-radius:999px;background:#2b2140;color:#fff;font:800 .9rem var(--bloop-label);box-shadow:0 3px #0000002e}.cmp-island-stars svg{color:#ffd23f;fill:#ffd23f}.cmp-island-check{position:absolute;top:-6px;right:6px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#2fb350;color:#fff;box-shadow:0 0 0 3px #fff,0 3px 0 3px #0000001f}.cmp-island-name{display:grid;max-width:100%;padding:8px 14px;border-radius:14px;background:#fff;font:800 1.05rem/1.15 var(--bloop-label);text-align:center;box-shadow:0 4px #0032642e}.cmp-island-name small{color:color-mix(in srgb,var(--ink) 72%,#000);font:800 .8rem var(--bloop-label);letter-spacing:.06em;text-transform:uppercase}.cmp-island.is-locked .cmp-island-name small{color:#48484a}.cmp-island.is-done .cmp-island-land{box-shadow:0 0 0 7px #ffd23f,0 0 0 16px #ffd23f4d,0 12px 0 7px #0032642e}.cmp-island.is-here .cmp-island-land{animation:island-here 2.4s ease-in-out infinite}.cmp-island-pin{position:absolute;z-index:1;top:-22px;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px 0 10px;border-radius:999px;background:var(--bloop-action);color:#fff;font:800 .95rem var(--bloop-label);white-space:nowrap;box-shadow:0 4px #00286e59;animation:pin-bob 1.6s ease-in-out infinite}.cmp-island-pin:after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;background:inherit;transform:translate(-50%) rotate(45deg);border-radius:0 0 4px;z-index:-1}.cmp-island:disabled{opacity:1;cursor:default}.cmp-island.is-locked .cmp-island-land{background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--land) 30%,#c5d0db),color-mix(in srgb,var(--shore) 30%,#8796a8))}.cmp-island.is-locked .cmp-island-mark{opacity:0}.cmp-island-cloud{position:absolute;display:grid;place-items:center;width:84px;height:56px;border-radius:30px;background:#fff;color:#48484a;box-shadow:-30px 10px 0 -8px #fff,30px 10px 0 -10px #fff,0 12px 20px #00285a40}.cmp-island.is-locked .cmp-island-name{background:#ffffffd1;color:#3a3a3c}.cmp-island-hint{padding:6px 12px;border-radius:12px;background:#00285a8c;color:#fff;font:700 .9rem/1.2 var(--bloop-label);text-align:center}@keyframes pin-bob{50%{transform:translateY(-5px)}}@keyframes island-here{50%{box-shadow:0 0 0 7px #f8e6b0,0 0 0 24px #fff6,0 12px 0 7px #0032642e}}@media(orientation:portrait){.cmp-worldmap-frame{height:min(900px,calc(100dvh - 48px))}}@media(prefers-reduced-motion:reduce){.cmp-coach,.cmp-island-pin,.cmp-island.is-here .cmp-island-land,.cmp-dialogue,.cmp-dialogue-card{animation:none}}.companion,.cmp-menu{--field: #fff;--field-edge: rgb(60 60 67 / .2);--field-hint: rgb(60 60 67 / .5);--field-ring: rgb(0 122 255 / .28)}.companion[data-sky=night],.cmp-menu[data-sky=night]{--field: rgb(255 255 255 / .1);--field-edge: rgb(255 255 255 / .26);--field-hint: rgb(235 235 245 / .55);--field-ring: rgb(10 132 255 / .45)}.cmp-intro-actions .cmp-chip{box-shadow:inset 0 0 0 2px var(--field-edge);background:transparent;color:var(--bloop-ink);font-weight:700}.cmp-intro-actions .cmp-chip.is-primary{background:var(--bloop-action);color:#fff;box-shadow:inset 0 -4px #00000029,0 8px 20px #007aff4d}.cmp-intro-actions .cmp-chip.is-primary:disabled{opacity:1;background:var(--bloop-fill);color:var(--field-hint);box-shadow:none;cursor:default}.cmp-intro-actions .cmp-chip:not(:disabled):active{transform:translateY(2px)}.cmp-path:not(.is-world){background:var(--meadow-sky-bottom);-webkit-backdrop-filter:none;backdrop-filter:none}.cmp-path-scene{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}.cmp-path-scene-sky-top{stop-color:var(--meadow-sky-top)}.cmp-path-scene-sky-bottom{stop-color:var(--meadow-sky-bottom)}.cmp-path-scene-sun{fill:var(--meadow-sun);opacity:.9}.cmp-path-scene-cloud{fill:#ffffffc7;animation:path-cloud var(--drift) linear infinite alternate;animation-delay:var(--from)}.companion[data-sky=night] .cmp-path-scene-cloud{fill:#ffffff1a}.cmp-path-scene-far{fill:var(--meadow-hill-far)}.cmp-path-scene-mid{fill:var(--meadow-hill)}.cmp-path-scene-near{fill:var(--meadow-hill-near)}.cmp-path-scene-tree rect{fill:var(--meadow-rock-shade, #7a5a3a)}.cmp-path-scene-tree circle{fill:var(--meadow-tree)}@keyframes path-cloud{to{transform:translate(90px)}}.cmp-path-views{flex:1 1 auto;display:flex;justify-content:center;min-width:0}.cmp-path-views .cmp-views{position:static;transform:none}.cmp-views{background:var(--glass-sheen),var(--glass-strong)}.cmp-views .ui-segment{color:var(--bloop-ink)}.cmp-views .ui-segment[data-pressed]{background:var(--bloop-action);color:#fff;box-shadow:0 2px 8px #007aff4d}@media(orientation:portrait){.cmp-path-views{order:9;flex-basis:100%}}@keyframes paper-dot{0%,to{transform:translateY(0);opacity:.45}50%{transform:translateY(-8px);opacity:1}}.cmp-level-picture.is-paper{padding:0}@media(orientation:portrait){.cmp-path.is-world .cmp-path-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:10px;padding:10px}}.companion[data-overlay] .cmp-level,.companion[data-overlay=rewards]:not([data-path]) .cmp-celebrate{background:radial-gradient(120% 80% at 50% 0%,rgb(255 255 255 / .14),transparent 62%),linear-gradient(180deg,color-mix(in srgb,var(--meadow-sky-top) 38%,#13285a),color-mix(in srgb,var(--meadow-sky-bottom) 26%,#0d1d40));-webkit-backdrop-filter:none;backdrop-filter:none}.cmp-shop-list{display:grid;align-content:start;gap:12px;min-height:0;overflow-y:auto;padding:0 6px 16px}.cmp-shop-list .cmp-shop-items{overflow:visible;padding:2px 0 0}.cmp-shop-tabs{position:sticky;top:0;z-index:3;justify-self:start;padding:4px;background:var(--glass-strong);box-shadow:var(--edge),var(--glass-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.cmp-shop-tabs .ui-segment{min-height:44px;padding:0 20px;border-radius:999px;color:var(--bloop-ink);font:700 1rem var(--bloop-label);transition:background .25s ease,box-shadow .25s ease}.cmp-shop-tabs .ui-segment[data-pressed]{background:var(--bloop-card);color:var(--bloop-ink);box-shadow:0 2px 8px #0f172a29}.cmp-shop-slot{display:grid;gap:6px}.cmp-shop-slot h3{margin:6px 4px 0;font:700 1rem var(--bloop-label);color:var(--bloop-ink-soft)}.cmp-costumes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:14px;margin:0;padding:2px 0 0;list-style:none}.cmp-costume{position:relative;display:grid;grid-template-rows:minmax(0,1fr);align-content:stretch;gap:8px;--costume: var(--bloop-sky)}.cmp-costume[data-costume=halloween]{--costume: #ff7a00}.cmp-costume[data-costume=muertos]{--costume: #e4007c}.cmp-costume[data-costume=thanksgiving]{--costume: #c8612a}.cmp-costume[data-costume=christmas]{--costume: #d62828}.cmp-costume[data-costume=superhero]{--costume: #2457d6}.cmp-costume[data-costume=pirate]{--costume: #3a3946}.cmp-costume[data-costume=astronaut]{--costume: #2f6bff}.cmp-costume-card{position:relative;display:grid;justify-items:center;align-content:center;gap:6px;width:100%;padding:16px 12px 14px;border:0;border-radius:26px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--costume) 20%,transparent),transparent 62%),var(--glass-sheen),var(--glass);color:var(--bloop-ink);box-shadow:var(--edge),var(--glass-shadow);transition:transform .25s var(--spring),box-shadow .2s ease}.cmp-costume-card:active:not(:disabled){transform:scale(.97)}.cmp-costume.is-season .cmp-costume-card{padding-top:40px}.cmp-costume-card strong{font:800 1.15rem var(--bloop-label);line-height:1.15;text-align:center}.cmp-costume-card small{font:600 .78rem var(--bloop-label);color:var(--bloop-ink-soft)}.cmp-costume-ribbon{position:absolute;top:10px;left:0;max-width:calc(100% - 24px);padding:5px 14px 5px 12px;border-radius:0 999px 999px 0;background:var(--costume);color:#fff;font:800 .78rem var(--bloop-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 3px 10px #0000002e}.cmp-costume-pieces{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.cmp-costume-slot{display:inline-flex;align-items:center;gap:6px}.cmp-costume-slot em{font:600 .74rem var(--bloop-label);font-style:normal;color:var(--bloop-ink-soft)}.cmp-costume-piece{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#ffffffd1;box-shadow:inset 0 -3px #0000000f}.cmp-costume-piece .cmp-outfit-icon{width:44px;height:44px}.cmp-costume-piece .cmp-shop-check{padding:2px}.cmp-costume-piece.is-off{opacity:.35}.cmp-costume-price{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 10px}.cmp-costume-whole{font:600 .74rem var(--bloop-label);color:var(--bloop-ink-soft)}.cmp-costume.is-on .cmp-costume-card{box-shadow:var(--edge),0 0 0 3px var(--bloop-ok),var(--glass-shadow)}.cmp-costume.is-trying .cmp-costume-card{box-shadow:var(--edge),0 0 0 3px #1ea7e8,var(--glass-shadow)}.cmp-costume-wear{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:0;border-radius:999px;background:var(--bloop-ok);color:#fff;font:700 .95rem var(--bloop-label);box-shadow:0 6px 16px #34c7594d;animation:cmp-path-in .2s ease-out}.cmp-costume-wear.is-on{background:var(--bloop-fill);color:var(--bloop-ink);box-shadow:none}.companion[data-sky=night] .cmp-costume-piece{background:#ffffff24}@media(prefers-reduced-motion:reduce){.cmp-costume-wear{animation:none}.cmp-costume-card{transition:none}}.cmp-trail-canvas{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;touch-action:none}.cmp-path.is-world :is(.cmp-trail-goal,.cmp-trail-walk){pointer-events:auto}.cmp-path-show{flex:none}.cmp-path.is-trail .cmp-path-body{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}.cmp-path.is-trail .cmp-path-side{display:grid;gap:10px;padding:10px}.cmp-path.is-trail .cmp-world .cmp-unit{display:flex;justify-content:flex-end}.cmp-trail-goal{display:flex;align-items:center;gap:10px;width:min(580px,100%);padding:10px 12px 10px 18px;border-radius:22px;color:#fff;background:linear-gradient(90deg,#0a101ccc,#0a101ca3);box-shadow:inset 5px 0 #ffd23f,0 10px 30px #00000040;-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);animation:glass-in .45s var(--spring) both}.cmp-trail-goal>div{flex:1;min-width:0;display:grid;gap:3px}.cmp-trail-goal small{color:#ffd23f;font:800 .76rem/1.2 var(--bloop-label);letter-spacing:.05em;text-transform:uppercase}.cmp-trail-goal strong{font:800 1.16rem/1.2 var(--bloop-label)}.cmp-trail-goal p{margin:0;color:#fffc;font:600 .92rem/1.3 var(--bloop-label)}.cmp-trail-goal .cmp-unit-step{width:44px;height:44px}.cmp-trail-goal .cmp-unit-guide{min-width:60px;min-height:56px}.cmp-path.is-trail .cmp-world-stones>li{transition:opacity .25s ease}.cmp-path.is-trail .cmp-world-stones>li>.cmp-node{scale:var(--near, 1);transform-origin:50% 100%}.cmp-path.is-trail .cmp-world-stones>li:is([data-off],[data-crowded]){visibility:hidden;animation:none;pointer-events:none}.cmp-path.is-trail .cmp-world-stones>li.is-current[data-distance]:before{content:attr(data-distance);position:absolute;left:50%;bottom:calc(100% + 34px);translate:-50% 0;padding:3px 12px;border-radius:999px;background:#0a101c9e;color:#ffd23f;font:800 1.02rem var(--bloop-label);white-space:nowrap}.cmp-path.is-trail .cmp-world-stones>li.is-current:after{content:"";position:absolute;left:50%;bottom:calc(100% + 12px);translate:-50% 0;border:10px solid transparent;border-bottom:0;border-top-color:#ffd23f;filter:drop-shadow(0 2px 3px rgb(0 0 0 / .35));animation:trail-bob 1.2s ease-in-out infinite}.cmp-path.is-trail .cmp-world-stones>li.is-current:has(.cmp-lesson-card):before,.cmp-path.is-trail .cmp-world-stones>li.is-current:has(.cmp-lesson-card):after{display:none}@keyframes trail-bob{50%{translate:-50% -7px}}.cmp-path.is-trail .cmp-world-stones .cmp-lesson-card{top:50%;bottom:auto;translate:0 -50%}.cmp-path.is-trail .cmp-world-stones .cmp-lesson-card.is-right{left:calc(100% + 18px)}.cmp-path.is-trail .cmp-world-stones .cmp-lesson-card.is-left{left:auto;right:calc(100% + 18px)}.cmp-path.is-trail .cmp-world-stones .cmp-lesson-card:before{display:none}.cmp-trail-walk{position:absolute;left:50%;bottom:34px;z-index:2;translate:-50% 0;min-height:66px;padding:0 32px;font:800 1.2rem var(--bloop-label);box-shadow:inset 0 -4px #00000029,0 10px 24px #00000047;animation:glass-in .4s var(--spring) both}.cmp-trail-compass{position:absolute;right:28px;bottom:28px;z-index:1;width:96px;height:96px;overflow:visible;pointer-events:none}.cmp-trail-compass path{fill:#ffffff14;stroke:#ffffffeb;stroke-width:2.2;stroke-dasharray:4 4}.cmp-trail-compass path.is-north{fill:#ffd23f40;stroke:#ffd23f}.cmp-trail-compass circle{fill:#0a101c99;stroke:#fff;stroke-width:2}@media(orientation:portrait){.cmp-path.is-trail .cmp-path-body{grid-template-columns:minmax(0,1fr)}.cmp-path.is-trail .cmp-path-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.cmp-trail-goal{width:100%}.cmp-trail-compass{width:76px;height:76px;right:20px;bottom:24px}}@media(prefers-reduced-motion:reduce){.cmp-path.is-trail .cmp-world-stones>li.is-current:after,.cmp-trail-goal,.cmp-trail-walk{animation:none}}.cmp-lang .ui-segment,.cmp-menu .ui-segment,.cmp-views .ui-segment{min-height:44px}.cmp-plan-start{min-height:48px}.cmp-banner button{min-height:44px}.cmp-lesson-reset{min-height:44px;padding:0 14px}.cmp-level-steps{gap:0}.cmp-level-steps button{display:grid;place-items:center;width:44px;height:44px;background:none}.cmp-level-steps button:before{content:"";width:14px;height:14px;border-radius:999px;background:#78788047;transition:width .3s var(--spring),background .3s ease}.cmp-level-steps button.is-on{width:44px;background:none}.cmp-level-steps button.is-on:before{width:34px;background:var(--bloop-sky)}.cmp-level-steps button.is-done{background:none}.cmp-level-steps button.is-done:before{background:#007aff73}.cmp-level-dock .cmp-action{background:var(--glass-sheen),var(--glass-strong);color:var(--bloop-ink);box-shadow:var(--edge),var(--glass-shadow)}.cmp-level-dock .cmp-action.cmp-level-go{background:linear-gradient(180deg,rgb(255 255 255 / .22),transparent 55%),var(--bloop-action);color:#fff}.cmp-level-dock .cmp-action.cmp-level-go svg{color:#fff}.cmp-level-dock .cmp-action.is-wanted{background:linear-gradient(180deg,rgb(255 255 255 / .22),transparent 55%),var(--bloop-action);color:#fff}.cmp-stat.is-streak,.cmp-stat.is-xp,.cmp-stat.is-stars,.cmp-stat.is-gems,.cmp-shop-gems{color:var(--bloop-ink)}.cmp-stat.is-streak svg{color:#b9a58c}.cmp-stat.is-streak.is-lit svg{color:var(--streak)}.cmp-stat.is-xp svg,.cmp-stat.is-stars svg{color:#ff9500}.cmp-stat.is-gems svg,.cmp-shop-gems svg{color:#1ea7e8}.cmp-unit-banner small{font-size:.8rem;opacity:1}.cmp-unit-banner p{opacity:1}.cmp-unit-world{background:#00000038;color:#fff}.cmp-unit-guide{background:#0000002e;font-size:.85rem}.cmp-quest small{font-size:.82rem}.cmp-quest li.is-done .cmp-quest-text{color:#6e6e73}.cmp-plan-kind{font-size:.8rem}.cmp-lesson-kind{font-size:.8rem;opacity:1}.cmp-shop-earn{font-size:.82rem}.cmp-dialogue-yes{background:#1f9446}.cmp-costume-ribbon{background:color-mix(in srgb,var(--costume) 70%,#000);font-size:.8rem}.cmp-level-ribbon{background:#4a2fd6}.cmp-level-bubble.is-right .cmp-level-ribbon{background:#1b7f37}.cmp-level-bubble.is-hint .cmp-level-ribbon{background:#b35400}.cmp-tile-value{color:var(--tone)}.cmp-tile.is-xp .cmp-tile-label{color:#3b2600}.cmp-tile.is-xp .cmp-tile-value{color:#8a5e00}.companion[data-sky=night] .cmp-tile-value{color:var(--tone-night)}.cmp-week li.is-today span{color:var(--bloop-ink);font-weight:900}.cmp-chip.is-danger{color:var(--bloop-danger-text)}.cmp-menu .ui-segment:not([data-pressed]){color:var(--bloop-ink)}.companion :is(input,select):focus-visible,.cmp-menu :is(input,select,textarea):focus-visible{outline:3px solid var(--bloop-sky);outline-offset:2px}.cmp-stat.is-streak.is-lit{color:var(--bloop-ink)}.cmp-banner.is-error{background:#be1c14f0}.cmp-guide-card small{font-size:.8rem;color:var(--bloop-action)}.companion[data-sky=night] .cmp-guide-card small{color:#a9d2ff}.cmp-path.is-world .cmp-topic-tile{background:var(--glass-sheen),#ffffffe6}.companion[data-sky=night] .cmp-path.is-world .cmp-topic-tile{background:var(--glass-sheen),#24242ae6}.companion input.cmp-intro-input{min-height:80px;padding:0 22px;border-radius:24px;font:700 2rem/1.1 var(--bloop-font);text-align:center}:is(.companion,.cmp-menu) .cmp-chip{min-height:48px;font-weight:700}:is(.companion,.cmp-menu) .cmp-chip.is-primary{background:linear-gradient(180deg,rgb(255 255 255 / .22),transparent 55%),var(--bloop-action);color:#fff;box-shadow:inset 0 -4px #00000029,0 6px 16px #0068d947}:is(.companion,.cmp-menu) .cmp-chip.is-primary:disabled{background:var(--bloop-fill);color:var(--field-hint);box-shadow:none;opacity:1}.cmp-track{display:inline-flex;align-items:center;gap:12px}.cmp-track ol{display:flex;gap:6px;margin:0;padding:0;list-style:none}.cmp-track li{width:16px;height:16px;border-radius:50%;background:#78788040}.cmp-track li.is-first,.cmp-track li.is-done{background:#2fb350;box-shadow:inset 0 -2px #00000024}.cmp-track li.is-helped{background:#ff9f0a;box-shadow:inset 0 -2px #00000024}.cmp-track li.is-miss{background:transparent;box-shadow:inset 0 0 0 3px #ff453a}.cmp-track li.is-now{background:var(--bloop-sky);box-shadow:0 0 0 3px #007aff40}.cmp-track li:not(.is-todo){animation:track-pop .45s var(--spring) both}.cmp-track-count{display:inline-flex;align-items:center;gap:4px;font:800 1rem var(--bloop-label);color:var(--bloop-ink);white-space:nowrap}.cmp-track-count svg{color:#2fb350;fill:#2fb350}@keyframes track-pop{0%{transform:scale(.4)}60%{transform:scale(1.3)}to{transform:none}}@media(prefers-reduced-motion:reduce){.cmp-track li{animation:none!important}}@media(orientation:portrait){.cmp-track ol{gap:4px}.cmp-track li{width:13px;height:13px}}.cmp-path-side{display:flex;flex-direction:column;gap:12px}.cmp-path-side>h2{margin:10px 4px 0}.cmp-path-side>h2+*{margin-top:-4px}.cmp-path-side>.cmp-note{margin:0 4px}.cmp-path-side>:is(.cmp-plan,.cmp-journey){margin:0}.cmp-path-side>*{flex:none}.cmp-trail-goal{align-items:center;gap:10px;width:min(560px,100%);padding:12px 12px 12px 14px;border-radius:26px;color:#fff;background:var(--node-dark, var(--banner));box-shadow:inset 0 1px #ffffff59,0 12px 28px #0f172a38;-webkit-backdrop-filter:none;backdrop-filter:none}.cmp-trail-goal-text{display:grid;gap:4px;flex:1;min-width:0}.cmp-trail-goal small{color:#fff;font:800 .8rem/1.2 var(--bloop-label);letter-spacing:.06em;text-transform:uppercase}.cmp-trail-goal strong{font:800 1.3rem/1.15 var(--bloop-label)}.cmp-trail-goal .cmp-track{margin:2px 0}.cmp-trail-goal .cmp-track li{background:#ffffff52;box-shadow:none}.cmp-trail-goal .cmp-track li.is-done{background:#fff}.cmp-trail-goal .cmp-track li.is-now{background:#ffd23f;box-shadow:0 0 0 3px #ffd23f59}.cmp-trail-goal .cmp-track-count{color:#fff;font-size:.92rem}.cmp-trail-goal p{display:flex;align-items:center;gap:6px;margin:0;color:#fff;font:600 .92rem/1.3 var(--bloop-label)}.cmp-trail-goal .cmp-unit-step{background:#0000002e;box-shadow:inset 0 0 0 2px #ffffff4d}.cmp-action.cmp-levels svg{color:#6d43d6}.cmp-auth-card{gap:14px;overflow-y:auto;overscroll-behavior:contain}.cmp-auth-card h1:focus,.cmp-intro-card h1:focus{outline:none}.cmp-auth-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--bloop-action);color:#fff;box-shadow:0 8px 20px #007aff59}.cmp-auth-lead{margin:0;color:var(--bloop-ink-soft);font:600 1.1rem/1.45 var(--bloop-label)}.cmp-auth-label{font:800 1rem var(--bloop-label);color:var(--bloop-ink)}.companion input.cmp-auth-email{font-size:1.45rem;text-align:left}.companion input{-webkit-user-select:text;user-select:text}.cmp-auth-problem{margin:0;padding:10px 14px;border-radius:16px;background:#ff3b301f;color:var(--bloop-danger-text, #b3261e);font:700 1rem/1.35 var(--bloop-label)}.cmp-auth-note{margin:0;color:#16794a;font:700 1rem var(--bloop-label)}.cmp-auth-kids{margin:0;color:var(--bloop-ink-soft);font:600 .9rem var(--bloop-label)}.cmp-auth-resend{justify-self:center;display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--bloop-sky);font:800 1rem var(--bloop-label)}.cmp-auth-resend:disabled{color:var(--bloop-ink-soft);cursor:default}.cmp-auth-captcha:empty{display:none}.cmp-auth-captcha{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:2}.cmp-missing-steps code,.cmp-auth-card code{font:700 .95rem ui-monospace,Menlo,monospace;word-break:break-all}.cmp-missing-steps li{grid-template-columns:auto 1fr}.cmp-code-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(6px,1.4vw,12px);margin:0;padding:0;border:0;min-width:0}.cmp-code-boxes input{box-sizing:border-box;width:100%;min-width:0;height:clamp(64px,11vw,84px);padding:0;border:0;border-radius:20px;background:var(--field, var(--bloop-fill));box-shadow:inset 0 0 0 2px var(--field-edge, rgb(120 120 128 / .25));color:var(--bloop-ink);font:700 clamp(2rem,5vw,2.6rem) var(--bloop-font);text-align:center;caret-color:var(--bloop-sky);transition:box-shadow .2s ease,transform .2s var(--spring)}.cmp-code-boxes input:focus{outline:none;box-shadow:inset 0 0 0 3px var(--bloop-sky),0 0 0 4px #007aff2e;transform:translateY(-2px)}.cmp-code-boxes.is-invalid input{box-shadow:inset 0 0 0 2px #ff3b30;animation:cmp-code-shake .4s ease}.cmp-code-boxes:disabled input{opacity:.6}@keyframes cmp-code-shake{0%,to{translate:0}25%{translate:-6px}75%{translate:6px}}@media(prefers-reduced-motion:reduce){.cmp-code-boxes.is-invalid input{animation:none}}.companion .cmp-account-signout{min-height:56px}.cmp-path-views:has(.cmp-account-signout){order:-1;flex:none;flex-basis:auto;justify-content:flex-start}.cmp-level[data-game] .cmp-level-body{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}.cmp-level[data-game] .cmp-level-picture{display:block}.cmp-level[data-game] .cmp-level-question{flex:none;background:var(--bloop-action);color:#fff}.cmp-level[data-game] .cmp-level-side{grid-template-rows:auto auto minmax(140px,1fr);overflow-y:auto;align-content:start}.cmp-level[data-game] .cmp-level-answer[hidden]{display:none}.cmp-level-how,.cmp-level-reference{padding:14px 16px;border-radius:22px;background:var(--bloop-card);color:var(--bloop-ink)}.cmp-level-how h2,.cmp-level-reference h2{margin:0 0 10px;font:800 1.05rem var(--bloop-label)}.cmp-level-how ol{list-style:none;display:grid;gap:10px;padding:0;margin:0}.cmp-level-how li{display:flex;align-items:center;gap:10px;font:600 1rem/1.3 var(--bloop-font)}.cmp-level-how li>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--bloop-action);color:#fff;font-weight:800}.cmp-level-reference{display:flex;flex-direction:column;min-height:0}.cmp-level-reference>div{flex:1;min-height:120px;display:grid;place-items:center;overflow:hidden}.cmp-level-reference>div>*{max-height:100%;width:100%}@media(orientation:portrait),(max-width:760px){.cmp-level[data-game] .cmp-level-body{display:flex;flex-direction:column;overflow-y:auto}.cmp-level[data-game] .cmp-level-side{order:-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;flex:none;overflow:visible}.cmp-level[data-game] .cmp-level-buddy{grid-column:1 / -1}.cmp-level[data-game] .cmp-level-buddy .cmp-level-mascot{display:none}.cmp-level[data-game] .cmp-level-buddy{grid-template-columns:minmax(0,1fr)}.cmp-level[data-game] .cmp-level-board{flex:1 0 400px}.cmp-level[data-game] .cmp-level-reference>div{min-height:100px;max-height:160px}.cmp-level[data-game] .cmp-level-how,.cmp-level[data-game] .cmp-level-reference{padding:12px}.cmp-level[data-game] .cmp-level-how li{font-size:.9rem;gap:6px}}.cmp-level-top{flex-wrap:wrap}.cmp-level-advance{flex:1;min-width:min(340px,100%);max-width:540px;margin-left:auto;padding:10px 18px;display:grid;gap:7px;border-radius:22px;color:var(--bloop-ink);background:var(--glass-sheen),var(--glass-strong);box-shadow:var(--edge),var(--glass-shadow)}.cmp-level-advance-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 1rem var(--bloop-label)}.cmp-level-advance-label>span{font-size:.85rem;color:var(--bloop-ink-soft)}.cmp-level-meter{width:100%;height:14px;overflow:hidden;border-radius:99px;background:#78788038}.cmp-level-meter>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#167c38,#34c759);transition:width .55s var(--spring)}.cmp-level-advance .cmp-level-progress{justify-content:center;margin:0;padding:0;border-radius:0;background:none;box-shadow:none}.cmp-level-advance .cmp-level-progress ol{gap:8px}.cmp-level-advance .cmp-level-progress li{width:11px;height:11px}.cmp-level-next{min-width:230px;min-height:64px;flex-direction:row;gap:16px;font-size:1.15rem}.cmp-celebrate.is-progress{overflow-y:auto;padding-top:max(72px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.cmp-celebrate.is-progress .cmp-celebrate-card{width:min(530px,100%);gap:10px;padding:18px 24px 24px}.cmp-celebrate.is-progress .mascot{width:105px;height:105px;margin-top:-64px}.cmp-celebrate.is-progress .cmp-tiles{margin:0}.cmp-reward-journey{display:grid;gap:8px;width:100%;font:700 1rem var(--bloop-label)}.cmp-reward-next{display:grid;gap:3px;width:100%;padding:12px 16px;border-radius:18px;background:var(--bloop-fill);color:var(--bloop-ink)}.cmp-reward-next span{color:var(--bloop-ink-soft);font:600 .85rem var(--bloop-label)}.cmp-reward-next strong{font:700 1.15rem var(--bloop-label)}.cmp-reward-chest{display:flex;align-items:center;gap:8px;margin:0;color:var(--bloop-ink);font:600 .95rem var(--bloop-label)}.cmp-reward-streak{width:100%;font:700 .95rem var(--bloop-label)}.cmp-reward-streak>span{display:flex;justify-content:center;align-items:center;gap:6px}.cmp-reward-streak .cmp-week{margin:6px 0 0;padding:8px}.cmp-reward-streak .cmp-week i{width:30px;height:30px}.cmp-celebrate.is-progress .cmp-celebrate-actions{width:100%;margin-top:4px}.cmp-reward-continue{flex-basis:100%;min-height:56px;justify-content:center}@media(max-width:680px){.cmp-level-top{gap:8px}.cmp-level-title{flex:1;min-width:0;padding:8px 12px}.cmp-level-title strong{font-size:1.05rem}.cmp-level-advance{flex-basis:100%;max-width:none;padding:8px 14px}.cmp-celebrate.is-progress .cmp-celebrate-card{padding:18px 16px}}@media(prefers-reduced-motion:reduce){.cmp-level-meter>i{transition:none}}.cmp-title-layer{position:fixed;inset:0;z-index:200;background:#fdf7ea}.cmp-title-layer.is-leaving{pointer-events:none;animation:welcome-into-world .45s ease-in both}.cmp-title-layer .cmp-intro{z-index:0}@keyframes welcome-into-world{to{opacity:0;transform:scale(1.06);filter:blur(5px)}}@media(max-width:600px){.cmp-title-layer .cmp-intro-logo{width:94vw;margin-bottom:12vh}.cmp-title-layer .cmp-intro-start{bottom:max(17vh,calc(env(safe-area-inset-bottom) + 40px))}}@media(prefers-reduced-motion:reduce){.cmp-title-layer.is-leaving{animation-duration:.01s;transform:none;filter:none}}.cmp-title-loading{position:fixed;inset:0;display:grid;place-items:center;background:#fdf7ea;color:#d42230;font:800 36px var(--bloop-label)}:root{color-scheme:light;--ari-bg: #f1f1ef;--ari-surface: #fdfdfb;--ari-subtle: #e6e6e2;--ari-text: #323638;--ari-muted: #696d6c;--ari-border: #d1d3cf;--ari-accent: #176b76;--ari-accent-hover: #10515a;--ari-accent-soft: #e4e8e6;--ari-action: #4d585a;--ari-action-hover: #333e40;--ari-on-accent: #ffffff;--ari-focus: var(--ari-accent);--ari-sun: #c8622a;--ari-sun-shadow: var(--ari-secondary);--ari-sun-shadow-on-dark: #8796a0;--ari-secondary: #596a74;--ari-sidebar: #292f31;--ari-sidebar-active: #484f51;--ari-sidebar-text: #f6f6f1;--ari-sidebar-muted: color-mix(in srgb, var(--ari-sidebar-text) 76%, var(--ari-sidebar));--ari-sidebar-border: color-mix(in srgb, var(--ari-sidebar-text) 30%, var(--ari-sidebar));--ari-success: #3d7054;--ari-success-soft: #e6efe7;--ari-danger: #a13c35;--ari-danger-soft: #fbece8;--ari-overlay: #111b24cc;--ari-photo-bg: #17282f;--ari-user-bubble: color-mix(in srgb, var(--ari-secondary) 9%, var(--ari-surface));--ari-shadow: 0 3px 12px color-mix(in srgb, var(--ari-text) 5%, transparent);--ari-radius: 6px;--ari-control-height: 36px;--ari-control-compact: 30px}.companion,.cmp-menu{--glass: rgb(255 255 255 / .42);--glass-strong: rgb(255 255 255 / .74);--glass-dark: rgb(28 28 30 / .72);--glass-edge: rgb(255 255 255 / .62);--glass-blur: blur(26px) saturate(1.8);--glass-shadow: 0 1px 1px rgb(15 23 42 / .06), 0 10px 30px rgb(15 23 42 / .14);--glass-sheen: linear-gradient(180deg, rgb(255 255 255 / .55), rgb(255 255 255 / 0) 42%);--paper: #eef1f6;--gold: #ffcc00;--gold-dark: #d9a400;--bloop-sky: #007aff;--bloop-action: #0068d9;--bloop-danger-text: #d70015;--bloop-ink: #1d1d1f;--bloop-ink-soft: rgb(60 60 67 / .8);--bloop-fill: rgb(120 120 128 / .14);--bloop-marker: #ffd60a;--bloop-ok: #34c759;--bloop-issue: #ff3b30;--bloop-caution: #ff9500;--ink-blue: #1d4ed8;--ink-green: #12864a;--ink-red: #d6343b;--ink-font: "Caveat", "Marker Felt", "Chalkboard SE", "Bradley Hand", cursive;--bloop-card: var(--glass-strong);--bloop-panel: #f8fafc;--bloop-link: #0054b6;--bloop-success-text: #166534;--bloop-success-panel: #eaf8ee;--bloop-number-hundreds: #bb281f;--bloop-number-tens: #165fc0;--bloop-number-ones: #226b23;--bloop-frost: rgb(255 255 255 / .9);--bloop-learner: #0068d9;--bloop-toast: var(--glass-dark);--bloop-glow: #9ccaff;--bloop-white: #ffffff;--bloop-radius: 26px;--bloop-shadow: var(--glass-shadow);--bloop-display: ui-rounded, "SF Pro Rounded", "Nunito", system-ui, sans-serif;--bloop-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--bloop-label: ui-rounded, "SF Pro Rounded", "Nunito", system-ui, sans-serif;--bloop-heading: "Exposure", var(--bloop-display);--topic-math: #007aff;--streak: #ff9500;--meadow-sky-top: #cfe3fb;--meadow-sky-bottom: #eef1f6;--meadow-sun: #fff3d6;--meadow-hill-far: #b5d36a;--meadow-hill: #7fb547;--meadow-hill-near: #5d9a39;--meadow-rock: #a99c8a;--meadow-rock-shade: #857868;--meadow-tree: #4f8f34;--meadow-tree-dark: #3a7428;color-scheme:light}.companion[data-land=beach]:not([data-sky=night]){--meadow-sky-top: #bfe8f7;--meadow-sky-bottom: #e6f5fb;--meadow-hill-far: #f3e2b5;--meadow-hill: #e9cf98;--meadow-hill-near: #dcbb7c;--meadow-rock: #b7a58c;--meadow-tree: #3f9a3a;--meadow-tree-dark: #2f7a2c}.companion[data-land=snow]:not([data-sky=night]){--meadow-sky-top: #d6e6f7;--meadow-sky-bottom: #eef3fa;--meadow-hill-far: #f4f8fc;--meadow-hill: #e3ecf5;--meadow-hill-near: #cfdceb;--meadow-rock: #8f99a8;--meadow-tree: #2f6b3e;--meadow-tree-dark: #24553a}.companion[data-land=egypt]:not([data-sky=night]){--meadow-sky-top: #f6dcae;--meadow-sky-bottom: #f8eedc;--meadow-hill-far: #f0d394;--meadow-hill: #e0bb72;--meadow-hill-near: #cfa25a;--meadow-rock: #c29a62}.companion[data-land=mexico]:not([data-sky=night]){--meadow-sky-top: #f9cfa8;--meadow-sky-bottom: #fbeee2;--meadow-hill-far: #ecc68d;--meadow-hill: #dcaa66;--meadow-hill-near: #c98f4f;--meadow-rock: #b3875a;--meadow-tree: #5a9a48;--meadow-tree-dark: #457a36}.companion[data-land=space]:not([data-sky=night]){--meadow-sky-top: #0b1040;--meadow-sky-bottom: #1b2150;--meadow-sun: #c9d4ff;--meadow-hill-far: #a49fc2;--meadow-hill: #847fa8;--meadow-hill-near: #6e6a8e;--meadow-rock: #55507a;--meadow-tree: #8fe9ff;--meadow-tree-dark: #6a5bc4}.companion[data-land=forest]:not([data-sky=night]){--meadow-sky-top: #f2dcc0;--meadow-sky-bottom: #f3eee4;--meadow-hill-far: #b8b25a;--meadow-hill: #8f9a42;--meadow-hill-near: #6f7f32;--meadow-tree: #d96a2c;--meadow-tree-dark: #b5481d}.companion[data-land=ocean]:not([data-sky=night]){--meadow-sky-top: #bde6f5;--meadow-sky-bottom: #dff1f8;--meadow-hill-far: #b6dc6a;--meadow-hill: #7fbf55;--meadow-hill-near: #58a84a}.companion[data-land=castle]:not([data-sky=night]){--meadow-sky-top: #dcd2f5;--meadow-sky-bottom: #f0eef8}.companion[data-sky=night]{--meadow-sky-top: #08205e;--meadow-sky-bottom: #2156b4;--meadow-sun: #f1f4ff;--meadow-hill-far: #2f6a7a;--meadow-hill: #2a5d58;--meadow-hill-near: #214c48;--meadow-rock: #5b5f7c;--meadow-rock-shade: #444863;--meadow-tree: #2e6a55;--meadow-tree-dark: #23544a;--glass: rgb(44 44 50 / .45);--glass-strong: rgb(36 36 42 / .74);--glass-edge: rgb(255 255 255 / .18);--glass-shadow: 0 1px 1px rgb(0 0 0 / .2), 0 12px 34px rgb(0 0 0 / .35);--glass-sheen: linear-gradient(180deg, rgb(255 255 255 / .16), rgb(255 255 255 / 0) 42%);--paper: #141a2e;--bloop-sky: #0a84ff;--bloop-action: #0a6fe0;--bloop-panel: #1b293e;--bloop-link: #9ccaff;--bloop-success-text: #b8efc8;--bloop-success-panel: #173b2b;--bloop-number-hundreds: #ffb2a9;--bloop-number-tens: #a8caff;--bloop-number-ones: #b5e79b;--bloop-danger-text: #ff6961;--bloop-ink: #f5f5f7;--bloop-ink-soft: rgb(235 235 245 / .78);--bloop-fill: rgb(120 120 128 / .3);--bloop-ok: #30d158;--bloop-issue: #ff453a;--bloop-caution: #ff9f0a;--bloop-frost: rgb(36 36 42 / .9);--bloop-learner: #0a6fe0;color-scheme:dark}:root{font-family:DM Sans,sans-serif;color:var(--ari-text);background:var(--ari-bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button>svg{flex-shrink:0}button:disabled{cursor:default;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--ari-focus);outline-offset:2px}textarea:focus,.settings-form input:focus{outline:none;box-shadow:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:500}h1{font-size:clamp(2rem,3vw,3rem);line-height:1.1;margin-bottom:0}h2{font-size:1.55rem;margin-bottom:.6rem}h3{font-size:1.25rem}p{line-height:1.55}.eyebrow{color:var(--ari-accent);font-size:.67rem;font-weight:700;letter-spacing:.14em}.app-shell{min-height:100vh;display:flex}.sidebar{width:220px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 12px;background:var(--ari-sidebar);color:var(--ari-sidebar-text);z-index:30;transition:width .2s}.sidebar{--ari-sun-shadow: var(--ari-sun-shadow-on-dark)}.brand{display:flex;align-items:center;padding:0 8px;min-height:43px;overflow:visible}.brand .brand-mark{display:none}.collapse-button{margin:20px 8px 18px;border:1px solid var(--ari-sidebar-border);border-radius:4px;background:transparent;color:var(--ari-sidebar-text);width:32px;height:32px;display:grid;place-items:center}.main-nav{display:grid;gap:4px}.nav-item{width:100%;border:0;border-radius:5px;color:var(--ari-sidebar-muted);background:transparent;display:flex;align-items:center;gap:12px;padding:9px 12px;text-align:left;font-size:.83rem;white-space:nowrap}.nav-item.active,.nav-item:hover{color:var(--ari-sidebar-text);background:var(--ari-sidebar-active)}.nav-item svg{flex:none}.sidebar-foot{margin-top:auto;padding:15px 11px 2px;color:var(--ari-sidebar-muted);font-size:.78rem;overflow:hidden}.learner-name{display:block;margin-bottom:7px;color:var(--ari-sidebar-text)}.completion-count{display:flex;align-items:center;gap:6px;color:var(--ari-sidebar-muted);font-size:.7rem;white-space:nowrap}.completion-count svg{flex:none;color:var(--ari-sidebar-muted)}.completion-count strong{color:var(--ari-sidebar-text);font-weight:600;font-variant-numeric:tabular-nums}.sidebar-collapsed .sidebar{width:66px}.sidebar-collapsed .brand{padding:0 4px}.sidebar-collapsed .brand-wordmark{display:none}.sidebar-collapsed .brand .brand-mark{display:block}.sidebar-collapsed .nav-item span,.sidebar-collapsed .sidebar-foot{display:none}.sidebar-collapsed .nav-item{justify-content:center}.sidebar-collapsed .collapse-button{margin-left:3px}#root{isolation:isolate}.main-area{flex:1;min-width:0}.page{max-width:1520px;margin:auto;padding:28px clamp(22px,3vw,50px) 80px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 24px}.page-header-copy{flex:1;min-width:0}.page-header h1{margin:0;overflow-wrap:anywhere}.page-header p{margin:8px 0 0;color:var(--ari-muted);font-size:.89rem}.page-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;flex:none;gap:12px;max-width:45%}.loading-screen{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:12px;padding:20px;text-align:center}.loading-screen.page-loading{min-height:280px}.loading-screen h1{font-size:2rem}.loading-screen p{color:var(--ari-muted)}.loading-status{display:flex;align-items:center;gap:8px}.tutor-status{font-size:.76rem;color:var(--ari-accent);white-space:nowrap}.tutor-status:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:var(--ari-accent)}.tutor-status.ready:before{background:var(--ari-success)}.desk-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.85fr);align-items:start;gap:24px}.exercise-column,.work-column{min-width:0;display:grid;gap:18px}.exercise-sheet,.next-actions,.reflection-card,.camera-panel,.conversation-panel,.module-detail,.module-list,.journal-card,.settings-form,.week-block{background:var(--ari-surface);border:1px solid var(--ari-border);box-shadow:0 3px 12px color-mix(in srgb,var(--ari-text) 5%,transparent)}.exercise-meta{padding:15px 21px;border-bottom:1px solid var(--ari-border);display:flex;justify-content:space-between;gap:10px;color:var(--ari-accent);font-weight:700;letter-spacing:.1em;font-size:.65rem}.lesson-link{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--ari-border);padding:9px 21px;color:var(--ari-accent);background:var(--ari-accent-soft);font-size:.82rem;font-weight:700}.lesson-link svg:last-child{margin-left:auto}.lesson-link:hover{background:var(--ari-accent-soft)}.exercise-body{padding:22px 25px 28px}.exercise-body .markdown{font-size:1rem;line-height:1.7}.markdown{min-width:0;overflow-x:auto}.markdown p:last-child{margin-bottom:0}.markdown .katex-display{overflow-x:auto;overflow-y:hidden;padding:.25rem 0}.markdown .markdown-table{max-width:100%;margin:.85rem 0;overflow-x:auto;overscroll-behavior-x:contain}.markdown .markdown-table:focus-visible{outline:2px solid var(--ari-accent);outline-offset:2px}.markdown table{width:100%;min-width:20rem;border-collapse:collapse;font-size:.9em;line-height:1.5;text-align:left;white-space:normal}.markdown th,.markdown td{min-width:6rem;padding:.45rem .65rem;border:1px solid var(--ari-border);vertical-align:top}.markdown th{background:var(--ari-bg);font-weight:600}.markdown tbody tr:nth-child(2n){background:var(--ari-subtle)}.next-actions,.reflection-card{padding:20px 22px}.next-actions p{margin:8px 0 14px;color:var(--ari-muted);font-size:.85rem}.next-actions>div{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.reflection-card h2{margin:8px 0 15px}.reflection-card label,.settings-form label,.settings-form .form-field{display:block;color:var(--ari-text);font-size:.8rem;font-weight:700;margin:14px 0}.confidence-field{font-size:.82rem;font-weight:600;color:var(--ari-text)}.confidence-field strong{margin-left:5px;color:var(--ari-accent)}.reflection-card label span{color:var(--ari-muted);font-weight:400}.reflection-card .ui-slider{width:min(280px,100%);margin:8px 0 12px}.reflection-card textarea{margin-top:8px}.status-line{color:var(--ari-success);font-size:.77rem;margin:10px 0 0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px 13px}.panel-heading h2{margin:4px 0 0}.panel-heading>span{color:var(--ari-muted);font-size:.75rem}.camera-stage{position:relative;margin:0 16px;background:var(--ari-subtle)}.camera-image-area{height:clamp(340px,31vw,520px);min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--ari-subtle)}.camera-stage.portrait .camera-image-area{height:auto;aspect-ratio:3 / 4;max-height:600px}.camera-placeholder{padding:25px;text-align:center;max-width:370px}.camera-placeholder>svg{color:var(--ari-accent)}.camera-placeholder strong{display:block;font-family:Newsreader,Georgia,serif;font-size:1.5rem;margin:12px 0 5px}.camera-placeholder p{color:var(--ari-muted);font-size:.83rem}.camera-placeholder>div{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.video-frame,.uploaded-preview{width:100%;height:100%;min-width:0;min-height:0}.video-frame{position:relative;container-type:size;display:grid;place-items:center;overflow:hidden;background:var(--ari-photo-bg);color:var(--ari-on-accent)}.video-frame video,.video-frame img{position:absolute;top:50%;left:50%;width:100cqw;height:100cqh;min-width:0;min-height:0;display:block;object-fit:contain}.video-frame.sideways video,.video-frame.sideways img{width:100cqh;height:100cqw}.uploaded-preview{display:block;object-fit:contain}.live-label{position:absolute;top:11px;left:12px;max-width:calc(100% - 24px);padding:6px 8px;background:color-mix(in srgb,var(--ari-sidebar) 84%,transparent);color:var(--ari-on-accent);font-size:.7rem;border-radius:3px}.camera-controls{min-height:38px;padding:4px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--ari-subtle)}.camera-controls .ui-select-trigger{min-width:0;max-width:270px;border:0;background:transparent;color:var(--ari-text);font-size:.77rem}.camera-controls>div{display:flex;margin-left:auto}.camera-stage.expanded{position:fixed;z-index:100;inset:15px;margin:0;display:flex;flex-direction:column;background:var(--ari-subtle);border:1px solid var(--ari-border);box-shadow:0 0 0 100vmax var(--ari-overlay)}.camera-stage.expanded .camera-image-area{flex:1 1 0;min-height:0;height:0;max-height:none;aspect-ratio:auto}.expanded-toolbar{height:48px;display:flex;justify-content:space-between;align-items:center;padding:5px 14px}.expanded .live-label{top:59px}.focus-tip{padding:9px 14px;margin:0;font-size:.76rem;color:var(--ari-muted)}.upload-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;font-size:.76rem;color:var(--ari-muted)}.upload-selected{margin:0 18px 12px;padding:5px 9px;background:var(--ari-subtle);display:flex;align-items:center;justify-content:space-between;font-size:.77rem}.saved-pages{border-top:1px solid var(--ari-border);padding:10px 18px 13px}.saved-pages-list{display:flex;gap:9px;overflow-x:auto;padding:3px 1px 4px;animation:pages-open .18s ease-out}.saved-page{flex:0 0 72px;position:relative}.saved-page-photo{width:72px;height:92px;padding:3px;border:1px solid var(--ari-border);border-radius:3px;background:var(--ari-surface);position:relative}.saved-page-photo img{display:block;width:100%;height:100%;object-fit:cover;background:var(--ari-subtle)}.saved-page-photo span{position:absolute;left:5px;bottom:5px;min-width:18px;padding:1px 4px;border-radius:2px;background:color-mix(in srgb,var(--ari-sidebar) 90%,transparent);color:var(--ari-on-accent);font-size:.68rem}.saved-page-remove-wrap{position:absolute;top:-5px;right:-5px}.saved-page-remove{display:grid;place-items:center;width:19px;height:19px;padding:0;border:1px solid var(--ari-border);border-radius:50%;background:var(--ari-surface);color:var(--ari-accent)}.saved-page-remove:hover{background:var(--ari-danger-soft)}.page-retry{display:flex;align-items:center;gap:10px;margin-top:9px}.page-retry-error{margin:0 0 3px;color:var(--ari-danger);font-size:.73rem}.page-retry .snapshot-thumb{width:63px}.page-retry .snapshot-thumb img{width:53px;height:39px}.page-retry .snapshot-thumb span{display:none}.saved-pages .inline-error{margin-bottom:0}@keyframes pages-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.conversation-panel{display:flex;flex-direction:column}.lesson-conversation{margin-top:20px;min-width:0}.conversation{max-height:clamp(300px,34vw,520px);overflow-y:auto;padding:17px 20px;background:var(--ari-subtle);border-bottom:1px solid var(--ari-border)}.conversation-empty{display:flex;align-items:center;gap:10px;color:var(--ari-muted);margin:4px 0;font-size:.85rem}.conversation-empty p{margin:0}.conversation-empty svg{color:var(--ari-accent);flex:none}.exchange{display:grid;gap:8px;margin-bottom:8px}.exchange:last-child{margin-bottom:0}.chat-message{position:relative;min-width:0;width:fit-content;max-width:92%;padding-bottom:23px}.user-message{justify-self:end}.assistant-message{justify-self:start}.chat-bubble{padding:13px 15px;border-radius:7px;min-width:0;font-size:.86rem;line-height:1.55;overflow-wrap:anywhere}.chat-bubble p{margin-bottom:8px}.chat-bubble p:last-child{margin-bottom:0}.user-bubble{background:var(--ari-user-bubble);color:var(--ari-text)}.user-bubble>p,.user-bubble .markdown p{white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.is-arriving>.chat-bubble{animation:message-arrive .18s ease-out}.message-meta{position:absolute;bottom:0;left:2px;display:flex;align-items:center;gap:6px;height:20px;width:max-content;white-space:nowrap;color:var(--ari-muted);font-size:.65rem;line-height:1;opacity:0;pointer-events:none;transition:opacity .12s ease}.user-message>.message-meta{left:auto;right:2px}.message-author{display:inline-flex;align-items:center;gap:4px}.message-author svg{color:var(--ari-accent)}.chat-message:hover>.message-meta,.chat-message:focus-within>.message-meta,.chat-message[data-details-open]>.message-meta{opacity:1;pointer-events:auto}.chat-message:focus-visible{outline:none}.chat-message:focus-visible>.chat-bubble{outline:1px solid var(--ari-accent);outline-offset:2px}.message-meta .message-details-button{display:inline-grid;place-items:center;padding:0;min-height:20px;height:20px;width:24px;color:var(--ari-muted);border:0;background:transparent}.message-details-button:hover{color:var(--ari-text)}.message-details-dialog{width:min(480px,calc(100vw - 32px))}.tutor-waiting{display:flex;align-items:center;gap:9px;color:var(--ari-muted);font-size:.78rem;padding:12px 15px}.message-error{justify-self:end;max-width:91%;color:var(--ari-danger);font-size:.76rem}.message-error p{margin:0 0 5px}@keyframes message-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.chat-message.is-arriving>.chat-bubble,.saved-pages-list{animation:none}.message-meta{transition:none}}.assistant-bubble{background:var(--ari-surface);border:1px solid var(--ari-border)}.observation{padding:8px 11px;background:var(--ari-subtle);border-left:2px solid var(--ari-accent)}.score,.next-step{border-top:1px solid var(--ari-border);padding-top:9px;margin-top:10px}.criteria{display:grid;gap:7px}.criteria>div{display:grid;gap:2px;padding:8px 10px;background:var(--ari-subtle)}.criteria span{color:var(--ari-muted)}.criterion-heading{display:flex;justify-content:space-between;align-items:start;gap:10px;font-weight:700}.criterion-heading strong{white-space:nowrap;color:var(--ari-accent)}.criteria .markdown p{margin:0}.tutor-question{font-family:Newsreader,Georgia,serif;font-size:1.1rem;color:var(--ari-accent)}.snapshot-thumb{display:inline-grid;gap:4px;width:130px;border:1px solid var(--ari-border);background:var(--ari-surface);padding:4px;color:var(--ari-text);font-size:.68rem;text-align:left}.snapshot-thumb img{width:120px;height:83px;object-fit:cover;background:var(--ari-subtle)}.snapshot-thumb span{display:flex;align-items:center;gap:4px}.photo-set{display:flex;flex-wrap:wrap;gap:7px;max-width:100%}.photo-set .snapshot-thumb{width:104px;max-width:100%}.photo-set .snapshot-thumb img{width:94px;height:68px;max-width:100%}.composer{padding:15px 18px}.composer-attachment{display:flex;align-items:center;gap:6px;margin:0 0 9px;color:var(--ari-success);font-size:.72rem}.composer-attachment svg{flex:none}.composer textarea{min-height:48px;max-height:180px;resize:none;overflow-y:auto;line-height:1.5}.composer-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-top:9px}.composer-keyboard-hint{margin-right:auto;color:var(--ari-muted);font-size:.68rem}.inline-error,.page-error{background:var(--ari-danger-soft);color:var(--ari-danger);border-left:3px solid var(--ari-accent);padding:10px 12px;margin:10px 0;font-size:.78rem}.page-error{margin-top:20px}.tab-row{display:flex;gap:23px;border-bottom:1px solid var(--ari-border);margin-bottom:20px}.tab-row button{padding:7px 2px;border:0;border-bottom:2px solid transparent;background:transparent;font-weight:700;color:var(--ari-muted)}.tab-row button.selected{border-color:var(--ari-accent);color:var(--ari-accent)}.path-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:19px;align-items:start}.module-list{max-height:75vh;overflow-y:auto}.module-row{display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--ari-border);width:100%;text-align:left;background:transparent;padding:9px 14px}.module-row.selected,.module-row:hover{background:var(--ari-subtle)}.module-row-copy{min-width:0;flex:1}.module-row strong,.module-row small{display:block}.module-row strong{color:var(--ari-text);font-size:.83rem}.module-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:3px 9px;margin-top:3px}.module-row small{color:var(--ari-muted);font-size:.67rem;text-transform:uppercase}.module-complete{display:inline-flex;align-items:center;gap:3px;color:var(--ari-success);font-size:.67rem;white-space:nowrap}.subject-mark{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:var(--ari-on-accent);flex:none;font-family:Georgia,serif}.subject-mark.math{background:var(--ari-accent)}.subject-mark.physics{background:var(--ari-secondary)}.module-detail{padding:27px 32px}.module-detail>h2{font-size:2rem;margin:6px 0 0}.module-detail>em{color:var(--ari-accent)}.module-detail>p{color:var(--ari-muted);margin-top:10px}.module-detail>.markdown{border-top:1px solid var(--ari-border);border-bottom:1px solid var(--ari-border);padding:18px 0;line-height:1.6}.module-detail>h3,.module-detail>.markdown h3,.module-detail>.resources h3{margin:21px 0 8px}.exercise-list>button,.week-block>button{width:100%;border:0;border-bottom:1px solid var(--ari-border);padding:8px 2px;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;color:var(--ari-text)}.exercise-list>button:hover,.week-block>button:hover{background:var(--ari-subtle)}.exercise-list>button strong,.week-block>button strong{flex:1}.exercise-list>button span,.week-block>button span{color:var(--ari-accent);font-size:.72rem}.add-exercise-row{display:flex;align-items:stretch;min-height:38px;gap:10px;border-bottom:1px solid var(--ari-border)}.exercise-list .add-exercise-button{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:8px 2px;text-align:left;flex:1;min-width:0;width:auto;border-bottom:0;color:var(--ari-muted);font-size:.83rem}.add-exercise-row .ui-select-trigger{flex:none;width:112px;align-self:center;border-color:transparent;background:transparent}.resources a{display:flex;gap:6px;color:var(--ari-accent);font-size:.83rem;margin:8px 0}.plan-view{display:grid;grid-template-columns:330px minmax(0,1fr);gap:19px;align-items:start}.plan-intro{background:var(--ari-sidebar);color:var(--ari-sidebar-text);padding:28px}.plan-intro .eyebrow{color:var(--ari-sidebar-muted)}.plan-intro p{color:var(--ari-sidebar-muted);font-size:.86rem}.plan-intro .ui-button-primary{background:var(--ari-sidebar-text);color:var(--ari-sidebar);border-color:var(--ari-sidebar-text)}.weeks{display:grid;gap:13px}.week-block{padding:17px 20px}.week-block h3{margin:6px 0 10px}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.journal-card{padding:20px;max-height:680px;overflow-y:auto}.journal-card h2{margin:0 0 13px}.journal-card h3{font-size:1.1rem;margin:17px 0 4px}.journal-card p,.journal-card li{font-size:.83rem;color:var(--ari-text)}.journal-card small{color:var(--ari-muted);font-size:.7rem}.journal-card ul{padding-left:19px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.journal-entry{border-top:1px solid var(--ari-border);padding:13px 0}.journal-entry p{margin:8px 0;white-space:pre-wrap}.journal-conversation{margin-top:12px}.journal-conversation .chat-bubble p{margin:0 0 8px}.journal-conversation .chat-bubble p:last-child{margin-bottom:0}.entry-title{display:flex;align-items:center;gap:5px;border:0;background:transparent;padding:0;font-weight:700;text-align:left;color:var(--ari-accent)}.entry-title:hover{text-decoration:underline}.sessions-card{grid-column:span 2}.export-note{font-size:.73rem;color:var(--ari-muted);margin-top:16px}.settings-form{width:min(650px,100%);padding:26px 30px}.settings-form input,.settings-form textarea,.settings-form .ui-select-trigger{display:block;margin-top:7px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-menu,.mobile-scrim{display:none}.ui-dialog-content.photo-overlay{width:auto;max-width:calc(100vw - 32px);padding:44px 12px 12px;background:var(--ari-photo-bg);border:0;overflow:hidden}.photo-overlay img{display:block;width:auto;height:auto;max-width:calc(100vw - 40px);max-height:calc(100dvh - 100px);object-fit:contain}.photo-overlay .photo-close{position:absolute;top:8px;right:12px;color:var(--ari-on-accent);background:var(--ari-photo-bg);border:0}.photo-overlay .photo-close:hover{color:var(--ari-on-accent);background:var(--ari-sidebar-active)}@media(max-width:1050px){.desk-grid{grid-template-columns:1fr}.camera-image-area{height:430px}}@media(max-width:700px){.sidebar{position:fixed;transform:translate(-100%);width:220px;box-shadow:10px 0 25px color-mix(in srgb,var(--ari-text) 20%,transparent)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-collapsed .sidebar{width:220px}.sidebar-collapsed .nav-item span,.sidebar-collapsed .sidebar-foot{display:initial}.sidebar-collapsed .brand-wordmark{display:inline-block}.sidebar-collapsed .brand .brand-mark{display:none}.sidebar-collapsed .nav-item{justify-content:flex-start}.mobile-menu{display:grid;place-items:center;margin:12px 0 0 16px;width:34px;height:34px;border:0;background:transparent;color:var(--ari-text)}.mobile-scrim{display:block;position:fixed;inset:0;border:0;background:var(--ari-overlay);z-index:25}.page{padding:16px 16px 55px}.page-header{flex-direction:column;gap:12px}.page-header-actions{max-width:100%;justify-content:flex-start}.path-layout,.plan-view,.journal-grid{grid-template-columns:1fr}.module-list{max-height:270px}.sessions-card{grid-column:auto}.camera-image-area{height:330px}.conversation{max-height:370px}}@media(max-width:430px){.camera-image-area{height:280px}.composer-actions span{width:100%}.two-fields{grid-template-columns:1fr}.camera-stage.expanded{inset:5px}}.nav-item{position:relative}.unread-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none;background:var(--ari-sidebar-muted);box-shadow:0 0 0 2px color-mix(in srgb,var(--ari-accent) 10%,transparent)}.nav-item .unread-dot{margin-left:auto}.sidebar-collapsed .nav-item .unread-dot{position:absolute;top:6px;right:6px}.learning-chat-entry{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 24px;border:1px solid var(--ari-border);border-radius:5px;padding:16px 20px;color:var(--ari-text);background:var(--ari-accent-soft);text-align:left}.learning-chat-entry:hover{border-color:var(--ari-accent);background:var(--ari-accent-soft)}.learning-entry-mark{width:44px;height:44px;background:var(--ari-accent-soft);color:var(--ari-accent);display:grid;place-items:center;border-radius:50%;flex:none}.learning-chat-entry strong,.learning-chat-entry small{display:block}.learning-chat-entry strong{font-family:Newsreader,Georgia,serif;font-size:1.4rem;font-weight:500}.learning-chat-entry small{margin-top:3px;font-size:.8rem;color:var(--ari-muted)}.learning-chat-entry>svg:last-child{margin-left:auto}.curriculum-selector{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-bottom:18px}.curriculum-selector label{color:var(--ari-muted);font-size:.76rem}.curriculum-selector .ui-select-trigger{width:min(460px,100%)}.focus-select .ui-select-trigger{width:100%}.curriculum-selector>.ui-button-ghost{margin-left:auto}.focus-select{font-size:.65rem;color:var(--ari-muted);display:grid;gap:5px;max-width:100%}.main-conversation{border-radius:6px;overflow:hidden}.main-conversation .conversation{max-height:min(65vh,760px);padding:22px}.main-conversation.is-empty .conversation{padding:12px 22px}.main-chat-empty{text-align:center;padding:28px 10px 24px;max-width:540px;margin:auto}.main-chat-empty>svg{color:var(--ari-accent)}.main-chat-empty h3{margin:12px 0 8px;font-size:1.4rem}.main-chat-empty p{color:var(--ari-muted);font-size:.85rem}.main-chat-empty>div{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.main-chat-empty .ui-button-secondary{font-size:.74rem;font-weight:500}.main-message{display:grid;gap:8px;margin-bottom:8px;min-width:0}.main-message:last-child{margin-bottom:0}.provider-note{color:var(--ari-accent);font-size:.73rem;margin:12px 0 0}.proposal-card{background:var(--ari-accent-soft);border:1px solid var(--ari-border);border-left:3px solid var(--ari-accent);border-radius:4px;padding:18px 20px;max-width:100%}.proposal-card h3{font-size:1.55rem;margin:7px 0}.proposal-card>p{font-size:.84rem;color:var(--ari-muted);margin-bottom:10px}.proposal-meta{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.proposal-meta span{padding:3px 7px;background:var(--ari-accent-soft);border-radius:3px;font-size:.69rem;color:var(--ari-accent)}.proposal-card ol{padding-left:20px;font-size:.84rem;margin:14px 0}.proposal-card li{padding:4px 0 7px}.proposal-card li p{margin:3px 0 2px;color:var(--ari-muted);font-size:.8rem}.proposal-card li small{color:var(--ari-muted);font-size:.7rem}.proposal-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.attachment-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.attachment-chips button{display:flex;align-items:center;gap:5px;border:1px solid var(--ari-border);background:var(--ari-success-soft);border-radius:4px;padding:4px 7px;color:var(--ari-success);font-size:.7rem}.material-picker{border-top:1px solid var(--ari-border);padding-top:11px;margin-top:11px;font-size:.79rem}.material-picker p{color:var(--ari-muted);margin-bottom:6px}.material-picker label{display:flex;align-items:center;gap:7px;padding:5px 0}.material-picker small{color:var(--ari-muted)}.message-materials{display:flex;gap:5px;align-items:center;margin-top:8px;font-size:.69rem;color:var(--ari-muted)}.learning-materials{margin:22px 0;padding:17px 20px;border:1px solid var(--ari-border);background:var(--ari-subtle);border-radius:4px}.learning-materials h3{display:flex;gap:7px;align-items:center;margin:0;font-size:1.15rem}.learning-materials h3 small{color:var(--ari-muted);font-size:.72rem}.material-list{display:grid;gap:9px;margin-top:15px}.material-list>div{display:flex;align-items:center;gap:8px;font-size:.77rem}.material-list>div>svg{color:var(--ari-accent);flex:none}.material-list small{color:var(--ari-muted);margin-left:auto;font-size:.66rem}.material-list a{color:var(--ari-accent)}.material-form{display:grid;gap:12px;margin-top:16px}.material-form label,.material-form .form-field{display:grid;gap:5px;color:var(--ari-muted);font-size:.77rem}.material-form .ui-input,.material-form .ui-select-trigger,.material-form .ui-textarea{width:100%}.material-form .ui-button-secondary{justify-self:start}.learner-memory{margin-top:24px}.learner-memory h2{margin:0}.memory-description{margin:12px 0;color:var(--ari-muted);font-size:.8rem}.learner-memory>small{display:block;margin-top:15px;color:var(--ari-muted);font-size:.69rem}.learner-memory>.markdown{font-size:.85rem;line-height:1.6}.personalization-settings{display:grid;gap:20px;margin-top:24px}.personalization-card{min-width:0}.personalization-card h2{margin:0}.personalization-filename{color:var(--ari-muted);font-size:.68rem;overflow-wrap:anywhere}.personalization-content{font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}.personalization-content .markdown>:last-child{margin-bottom:0}.personalization-content h1,.personalization-content h2{font-size:1.25rem}.personalization-content h3{font-size:1.1rem}.personalization-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}.personalization-updated{display:block;margin-top:15px;color:var(--ari-muted);font-size:.69rem}.personalization-revisit{width:min(650px,100%);color:var(--ari-muted);font-size:.8rem}.personalization-revisit p{margin-bottom:5px}.personalization-history.ui-dialog-content{width:min(850px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto}.workspace-document-link.ui-button{display:inline;height:auto;min-height:0;padding:0;border-radius:0;color:var(--ari-accent);font:inherit;white-space:normal;text-decoration:underline;text-underline-offset:2px;vertical-align:baseline}.workspace-document-dialog.ui-dialog-content{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto}.workspace-document-dialog .ui-dialog-title{overflow-wrap:anywhere;padding-right:28px}.workspace-document-content{font-size:.85rem;line-height:1.6;overflow-wrap:anywhere;margin-top:18px}.personalization-history-body{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:20px;margin-top:18px}.personalization-revisions{display:flex;flex-direction:column;align-items:stretch;gap:4px;max-height:450px;overflow-y:auto}.personalization-revisions .ui-button{justify-content:flex-start;text-align:left;height:auto;white-space:normal;padding:9px}.personalization-revisions small{display:block;margin-top:4px;color:var(--ari-muted);font-size:.66rem}.personalization-revision{min-width:0;font-size:.85rem;overflow-wrap:anywhere}.personalization-revision>.markdown{max-height:400px;overflow-y:auto;margin-bottom:16px}.memory-directory{display:flex;gap:7px;align-items:center;font-size:.76rem;color:var(--ari-muted)}.memory-directory>span{overflow-wrap:anywhere}.memory-directory>.ui-button{margin-left:auto}.memory-file-list{display:flex;flex-direction:column;align-items:stretch;gap:3px;margin:12px 0}.memory-file-list .ui-button{justify-content:flex-start;overflow-wrap:anywhere;white-space:normal;height:auto}.memory-file-view{border-top:1px solid var(--ari-border);padding-top:18px;margin-top:18px;font-size:.85rem;overflow-wrap:anywhere}.memory-file-view h3{font-size:1.2rem}.onboarding-conversation{margin:0 0 14px;padding:14px 17px;border:1px solid var(--ari-border);border-radius:6px;background:var(--ari-subtle)}.onboarding-intro{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;justify-content:space-between}.onboarding-intro strong{font-size:.85rem;font-weight:600}.onboarding-intro p{margin:5px 0 0;color:var(--ari-muted);font-size:.77rem;line-height:1.5}.onboarding-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.onboarding-recap{display:grid;gap:14px;margin-top:15px}.onboarding-recap .settings-form{width:100%;padding:18px 20px}.onboarding-recap .personalization-card h2{font-size:1.25rem}.lesson-preparation{padding:26px;background:var(--ari-subtle);margin:20px 0;text-align:center}.lesson-preparation>svg{color:var(--ari-accent)}.conversation-empty .ari-icon,.main-chat-empty>.ari-sun,.lesson-preparation>.ari-sun,.learning-entry-mark .ari-icon,.active-tool .ari-sun{color:var(--ari-text)}.lesson-preparation h3{margin:12px 0 7px}.lesson-preparation p{font-size:.84rem;color:var(--ari-muted)}.subject-mark{background:var(--ari-success)}@media(max-width:700px){.curriculum-selector{align-items:start}.curriculum-selector .ui-select-trigger{width:100%}.curriculum-selector>.ui-button-ghost{margin-left:0}.main-conversation .conversation{padding:15px 12px}.chat-message{max-width:96%}.proposal-card{padding:15px}.module-detail{padding:22px 19px}.composer-keyboard-hint{display:none}.main-chat-empty{padding:20px 0}.main-chat-empty h3{font-size:1.35rem}.personalization-card{padding:20px}.personalization-history-body{grid-template-columns:1fr}.personalization-revisions{max-height:160px}.personalization-card .card-heading{flex-wrap:wrap}.material-list>div{flex-wrap:wrap}.learning-materials{padding:15px}}.tool-activity{margin-top:10px;color:var(--ari-muted);font-size:.69rem}.tool-activity .active-tool{display:flex;align-items:center;gap:5px;margin-bottom:6px;color:var(--ari-accent)}.tool-activity summary{cursor:pointer}.tool-activity ul{list-style:none;margin:7px 0 0;padding:0;display:grid;gap:4px}.tool-activity li{display:flex;align-items:center;gap:5px}.tool-activity li svg{color:var(--ari-success)}.tool-pending-dot{width:5px;height:5px;border-radius:50%;background:var(--ari-accent);margin:0 3px}.settings-form .form-field>label{margin:0}.settings-form .form-field .ui-select-trigger{width:100%}.material-form .form-field>label{margin:0}@media(pointer:coarse){.nav-item,.module-row,.exercise-list>button,.add-exercise-row{min-height:44px}}.remote-settings h3{margin:20px 0 8px;font-size:.9rem}.remote-note{color:var(--ari-muted);font-size:.85rem;line-height:1.5}.remote-note code{font-size:.8rem}.remote-url{word-break:break-all}.remote-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:-4px 0 14px}.pairing-code{display:grid;gap:8px;justify-items:start;padding:14px 16px;border-radius:var(--ari-radius);background:var(--ari-subtle)}.pairing-digits{font:600 2.4rem/1 DM Sans,system-ui,sans-serif;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--ari-text)}.device-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.device-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--ari-border);border-radius:var(--ari-radius)}.device-list li span{display:grid;gap:2px;min-width:0}.device-list small{color:var(--ari-muted)}.companion-entry{padding:0;border:0;background:none;color:var(--ari-accent);font:inherit;font-weight:600;cursor:pointer;text-align:left}.companion-turn{display:grid;gap:6px;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--ari-border)}.companion-turn p{margin:0}@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.2"}.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}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--color-black:#000;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-92{height:calc(var(--spacing) * 92)}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.bg-transparent{background-color:#0000}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.\!shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.data-\[elevation\=flush\]\:border-0[data-elevation=flush]{border-style:var(--tw-border-style);border-width:0}.data-\[elevation\=flush\]\:shadow-none[data-elevation=flush]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(prefers-color-scheme:dark){.dark\:bg-input\/30{background-color:var(--ari-border)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--ari-border) 30%,transparent)}}}}.ui-button:not(.ui-button-plain){min-height:var(--ari-control-height);border-radius:var(--ari-radius);border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:7px 12px;font-size:.79rem;font-weight:600;line-height:1.25;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.ui-button.ui-button-sm:not(.ui-button-plain){min-height:var(--ari-control-compact);padding:5px 10px}.ui-button.ui-button-square:not(.ui-button-plain),.ui-button.ui-button-icon:not(.ui-button-plain){width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.ui-button.ui-button-primary{background:var(--ari-action);color:var(--ari-on-accent);border-color:var(--ari-action)}.ui-button-primary:hover:not(:disabled){background:var(--ari-action-hover);border-color:var(--ari-action-hover)}.ui-button.ui-button-secondary{background:var(--ari-surface);color:var(--ari-text);border-color:var(--ari-border)}.ui-button-secondary:hover:not(:disabled){background:var(--ari-accent-soft);border-color:var(--ari-accent)}.ui-button-ghost,.ui-button-icon{color:var(--ari-muted);background:0 0}.ui-button-ghost:hover:not(:disabled),.ui-button-icon:hover:not(:disabled){background:var(--ari-subtle);color:var(--ari-text)}.ui-button:disabled{cursor:default;opacity:.55}.ui-button[aria-busy=true]{opacity:1;cursor:wait}.ui-button[aria-busy=true]>svg:not(.ari-sun){display:none}.ui-button-primary{--ari-sun-shadow:currentColor}.ui-button>svg{flex-shrink:0}.ui-button:focus-visible,.ui-select-trigger:focus-visible,.ui-input:focus-visible{outline:2px solid var(--ari-focus);outline-offset:2px}.ui-input,.ui-textarea{border:1px solid var(--ari-border);background:var(--ari-surface);width:100%;min-width:0;color:var(--ari-text);font:inherit;border-radius:6px;padding:8px 10px;font-size:.84rem;line-height:1.5;transition:border-color .12s}.ui-input{min-height:var(--ari-control-height);padding-top:6px;padding-bottom:6px}.ui-textarea{resize:vertical;min-height:64px}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--ari-muted);opacity:1}.ui-input:disabled,.ui-textarea:disabled{cursor:default;opacity:.55}.ui-input[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--ari-danger)}.ui-textarea:focus,.ui-textarea:focus-visible{border-color:var(--ari-focus);box-shadow:none;outline:none}.ui-select-trigger{border:1px solid var(--ari-border);background:var(--ari-surface);min-width:0;max-width:100%;min-height:36px;color:var(--ari-text);font:inherit;text-align:left;cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;font-size:.79rem;line-height:1.25;display:inline-flex}.ui-select-trigger[data-size=sm]{min-height:30px;padding-top:5px;padding-bottom:5px}.ui-select-trigger:hover:not(:disabled),.ui-select-trigger[data-popup-open]{border-color:var(--ari-accent)}.ui-select-trigger:disabled{cursor:default;opacity:.55}.ui-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:block;overflow:hidden}.ui-select-icon{color:var(--ari-muted);pointer-events:none;flex-shrink:0;display:flex}.ui-select-positioner{z-index:120;isolation:isolate}.ui-select-content{box-sizing:border-box;width:max(var(--anchor-width),160px);max-width:min(420px,100vw - 24px);max-height:min(320px,var(--available-height));overscroll-behavior:contain;border:1px solid var(--ari-border);background:var(--ari-surface);color:var(--ari-text);box-shadow:0 6px 20px var(--ari-text);border-radius:6px;overflow:hidden auto}@supports (color:color-mix(in lab,red,red)){.ui-select-content{box-shadow:0 6px 20px color-mix(in srgb,var(--ari-text) 14%,transparent)}}.ui-select-content{outline:none}.ui-select-list{padding:4px}.ui-select-item{cursor:default;-webkit-user-select:none;user-select:none;border-radius:4px;outline:none;align-items:center;gap:8px;min-height:30px;padding:6px 28px 6px 8px;font-size:.79rem;line-height:1.35;display:flex;position:relative}.ui-select-item[data-highlighted]{background:var(--ari-accent-soft);color:var(--ari-text)}.ui-select-item[data-disabled]{opacity:.45;pointer-events:none}.ui-select-item-text{overflow-wrap:anywhere;min-width:0}.ui-select-indicator{color:var(--ari-accent);display:flex;position:absolute;right:8px}.ui-select-label{color:var(--ari-muted);padding:5px 8px;font-size:.72rem;font-weight:600}.ui-select-separator{background:var(--ari-border);height:1px;margin:4px 0}.ui-select-scroll{z-index:1;background:var(--ari-surface);color:var(--ari-muted);justify-content:center;padding:2px;display:flex;position:sticky}.ui-select-scroll[data-direction=up]{top:0}.ui-select-scroll[data-direction=down]{bottom:0}.ui-dialog-overlay{z-index:100;background:var(--ari-overlay);position:fixed;inset:0}.ui-dialog-content{z-index:101;border:1px solid var(--ari-border);background:var(--ari-surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ari-text);box-shadow:0 12px 40px var(--ari-overlay);border-radius:6px;outline:none;padding:24px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.ui-dialog-close{position:absolute;top:10px;right:10px}.ui-dialog-title{margin:0;padding-right:24px;font-size:1.1rem;font-weight:600;line-height:1.4}.ui-dialog-description{color:var(--ari-muted);font-size:.84rem;line-height:1.5}.ui-dialog-header{flex-direction:column;gap:8px;display:flex}.ui-dialog-footer{justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;display:flex}.ui-checkbox{border:1px solid var(--ari-border);background:var(--ari-surface);vertical-align:middle;cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.ui-checkbox[data-checked],.ui-checkbox[data-indeterminate]{border-color:var(--ari-accent);background:var(--ari-accent);color:var(--ari-on-accent)}.ui-checkbox-indicator{display:flex}.ui-checkbox:focus-visible,.ui-checkbox:has(input:focus-visible),.ui-slider-thumb:has(input:focus-visible){outline:2px solid var(--ari-focus);outline-offset:3px}.ui-checkbox[data-disabled],.ui-slider[data-disabled]{opacity:.55;cursor:default}.ui-slider-control{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;width:100%;min-height:28px;display:flex;position:relative}.ui-slider-track{background:var(--ari-border);border-radius:99px;width:100%;height:5px;position:relative}.ui-slider-indicator{border-radius:inherit;background:var(--ari-accent);height:100%;position:absolute}.ui-slider-thumb{border:2px solid var(--ari-accent);background:var(--ari-surface);border-radius:50%;width:16px;height:16px}.ui-file-upload{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.ui-file-name{overflow-wrap:anywhere;color:var(--ari-muted);font-size:.78rem}@media(prefers-reduced-motion:reduce){.ui-button,.ui-input,.ui-textarea{transition:none}}@media(pointer:coarse){.ui-button:not(.ui-button-plain),.ui-button.ui-button-sm:not(.ui-button-plain),.ui-select-trigger,.ui-select-trigger[data-size=sm],.ui-select-item{min-height:44px}.ui-button.ui-button-square:not(.ui-button-plain),.ui-button.ui-button-icon:not(.ui-button-plain){width:44px;min-width:44px;height:44px}.ui-input,.ui-textarea{font-size:16px}.ui-slider-control{min-height:44px}}.ui-segmented{background:var(--ari-subtle);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.ui-segment{min-height:32px;color:var(--ari-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-weight:600}.ui-segment[data-pressed]{background:var(--ari-surface);color:var(--ari-text);box-shadow:0 1px 2px #0000001f}.ui-segment:focus-visible{outline:2px solid var(--ari-accent);outline-offset:2px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
