@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@700;800&family=Roboto+Mono:wght@500;700&display=swap";.toast-host[data-v-1a5887c3]{bottom:var(--s-5);gap:var(--s-2);z-index:1000;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast[data-v-1a5887c3]{padding:var(--s-3) var(--s-5);border-radius:var(--r-lg);box-shadow:var(--shadow-popup);font:600 14px/1.4 var(--font-sans);color:#fff;animation:toast-in-1a5887c3 var(--dur) var(--ease)}.toast--success[data-v-1a5887c3]{background:var(--success)}.toast--error[data-v-1a5887c3]{background:var(--danger)}@keyframes toast-in-1a5887c3{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.buddy[data-v-c340dc58]{cursor:pointer;--px:0px;--py:0px;display:inline-block;position:relative}.buddy__char[data-v-c340dc58]{filter:drop-shadow(0 8px 14px #0806184d);width:100%;display:block}.buddy__shadow[data-v-c340dc58]{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.buddy__shadow ellipse[data-v-c340dc58]{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite alternate buddy-shadow-bob-c340dc58}@keyframes buddy-shadow-bob-c340dc58{0%{opacity:.25;transform:scale(1)}to{opacity:.18;transform:scale(.86)}}.is-wobbling .buddy__shadow ellipse[data-v-c340dc58]{animation:.45s ease-in-out 3 buddy-shadow-wobble-c340dc58}@keyframes buddy-shadow-wobble-c340dc58{0%,to{transform:scaleX(1)}25%{transform:scaleX(1.12)}75%{transform:scaleX(.9)}}.buddy__bob[data-v-c340dc58]{z-index:1;transform-origin:50% 100%;animation:3.2s ease-in-out infinite alternate buddy-bob-c340dc58;position:relative}@keyframes buddy-bob-c340dc58{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.is-wobbling .buddy__bob[data-v-c340dc58]{animation:.45s ease-in-out 3 buddy-wobble-c340dc58}@keyframes buddy-wobble-c340dc58{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-7deg)scale(1.05,.95)}75%{transform:rotate(7deg)scale(.97,1.03)}}.buddy__arm[data-v-c340dc58]{transform-origin:100px 74px;transition:transform .5s;transform:rotate(135deg)}.is-waving .buddy__arm[data-v-c340dc58]{animation:.9s ease-in-out infinite alternate buddy-wave-c340dc58;transform:rotate(0)}@keyframes buddy-wave-c340dc58{0%{transform:rotate(-4deg)}to{transform:rotate(16deg)}}.buddy__eyes[data-v-c340dc58]{transform-origin:60px 60px;animation:4.8s infinite buddy-blink-c340dc58}@keyframes buddy-blink-c340dc58{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}.buddy__pupils[data-v-c340dc58]{transform:translate(var(--px), var(--py))}.buddy__typearm[data-v-c340dc58]{animation:.18s linear infinite alternate buddy-type-c340dc58}.buddy__typearm--r[data-v-c340dc58]{animation-direction:alternate-reverse}@keyframes buddy-type-c340dc58{0%{transform:translateY(0)}to{transform:translateY(-2.2px)}}.is-work .buddy__pupils[data-v-c340dc58]{transform:translateY(4.4px)}@media (prefers-reduced-motion:reduce){.buddy__bob[data-v-c340dc58],.buddy__arm[data-v-c340dc58],.buddy__eyes[data-v-c340dc58],.buddy__typearm[data-v-c340dc58],.is-wobbling .buddy__bob[data-v-c340dc58]{animation:none}}.vloader--overlay[data-v-6b781f75]{z-index:1200;justify-content:center;align-items:center;gap:var(--s-4);text-align:center;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);flex-direction:column;display:flex;position:fixed;inset:0}.vloader--block[data-v-6b781f75]{justify-content:center;align-items:center;gap:var(--s-3);padding:var(--s-6) var(--s-4);text-align:center;flex-direction:column;display:flex}.vloader--inline[data-v-6b781f75]{align-items:center;gap:var(--s-2);display:inline-flex}.vloader--block.vloader--speech[data-v-6b781f75]{gap:var(--s-5);min-height:156px;padding:var(--s-5) var(--s-6);text-align:left;flex-direction:row}.vloader__char[data-v-6b781f75]{animation:2.6s ease-in-out infinite vloader-pulse-6b781f75;display:inline-flex}.vloader__char[data-v-6b781f75] .buddy{cursor:default}@keyframes vloader-pulse-6b781f75{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.vloader__caption[data-v-6b781f75]{font:600 13.5px/1.4 var(--font-sans);color:var(--fg3);align-items:baseline;gap:4px;min-width:0;display:inline-flex}.vloader__caption--speech[data-v-6b781f75]{max-width:min(420px,70%);margin-top:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid color-mix(in srgb, var(--brand-violet) 26%, var(--line-ghost));border-radius:var(--r-md);background:var(--surface);box-shadow:0 10px 28px color-mix(in srgb, var(--brand-violet) 10%, transparent);color:var(--ink-strong);align-self:flex-start;font-size:14px;line-height:1.45;animation:.22s ease-out vloader-caption-in-6b781f75;position:relative}.vloader__caption--speech[data-v-6b781f75]:before{content:"";border-left:1px solid color-mix(in srgb, var(--brand-violet) 26%, var(--line-ghost));border-bottom:1px solid color-mix(in srgb, var(--brand-violet) 26%, var(--line-ghost));background:var(--surface);width:12px;height:12px;position:absolute;top:22px;left:-7px;transform:rotate(45deg)}@keyframes vloader-caption-in-6b781f75{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.vloader--inline .vloader__caption[data-v-6b781f75]{font-size:13px}.vloader__dots[data-v-6b781f75]{gap:3px;margin-left:2px;display:inline-flex}.vloader__dots i[data-v-6b781f75]{background:var(--brand-violet);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite both vloader-dot-6b781f75}.vloader__dots i[data-v-6b781f75]:nth-child(2){animation-delay:.15s}.vloader__dots i[data-v-6b781f75]:nth-child(3){animation-delay:.3s}@keyframes vloader-dot-6b781f75{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.vloader__char[data-v-6b781f75],.vloader__dots i[data-v-6b781f75],.vloader__caption--speech[data-v-6b781f75]{animation:none}}@media (width<=640px){.vloader--block.vloader--speech[data-v-6b781f75]{gap:var(--s-2);min-height:184px;padding:var(--s-4);text-align:center;flex-direction:column}.vloader__caption--speech[data-v-6b781f75]{text-align:left;align-self:center;max-width:100%;margin-top:0}.vloader__caption--speech[data-v-6b781f75]:before{top:-7px;left:50%;transform:translate(-50%)rotate(135deg)}}.reload-overlay[data-v-7e05dd02]{z-index:9999;background:var(--bg,#f6f7fb);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}:root{--brand-blue:#4c6fff;--brand-blue-hover:#3754db;--brand-violet:#605bff;--brand-violet-50:#efefff;--brand-violet-ink:#4a3aff;--brand-grad:linear-gradient(135deg, #6d5bff, #00c2a8);--brand-grad-hero:linear-gradient(120deg, #2a2660 0%, #3d3a8c 45%, #0e7c6b 100%);--ink:#1a202c;--ink-strong:#121619;--fg2:#4a5568;--fg3:#697077;--fg4:#878d96;--fg5:#a2a9b0;--fg6:#a0aec0;--line:#dde1e6;--line-strong:#cbd5e0;--line-ghost:#e2e8f0;--surface:#fff;--surface-muted:#f2f4f8;--surface-hover:#dde1e6;--success:#24a148;--success-bg:#defbe6;--danger:#f50000;--danger-bg:#fff1f1;--warning:#b76e00;--warning-bg:#fff8e1;--shadow-card:0 6px 24px 0 #1a202c14;--shadow-soft:0 6px 24px 0 #1a202c0f;--shadow-popup:0 6px 24px 0 #1a202c29;--r-pill:32px;--r-xl:16px;--r-lg:12px;--r-md:10px;--r-sm:8px;--r-xs:6px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:"Manrope", "Inter", system-ui, sans-serif;--font-mono:"Roboto Mono", ui-monospace, Menlo, Consolas, monospace;--sidebar-w:248px;--topbar-h:76px;--ease:cubic-bezier(.2, 0, 0, 1);--dur:.18s}*{box-sizing:border-box}html,body{font-family:var(--font-sans);color:var(--ink);background:var(--surface-muted);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}#app{min-height:100dvh}a{color:var(--brand-violet-ink);text-decoration:none}:focus-visible{outline:2px solid var(--brand-violet);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--surface-muted);border-radius:8px}::-webkit-scrollbar-track{background:0 0}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}
