@import"https://cdn-font.hyperos.mi.com/font/css?family=MiSans_VF:VF:Chinese_Simplify,Latin&display=swap";.toc-toggles[data-v-a16da004]{display:flex;align-items:center;gap:2px}.theme-toggle[data-v-a16da004]{all:unset;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--bases-white);cursor:pointer;position:relative;transition:color .15s ease,transform .15s ease}.theme-toggle[data-v-a16da004]:hover{color:var(--button-hover)}.theme-toggle[data-v-a16da004]:active{transform:scale(.92);transition:color .15s ease,transform .1s ease-out}.theme-toggle[data-v-a16da004]:focus-visible{outline:2px solid var(--bases-glass-border);outline-offset:2px}.theme-icon[data-v-a16da004]{position:absolute;opacity:0;transform:rotate(90deg) scale(.5);will-change:transform,opacity}@media screen and (max-width:768px){.theme-toggle[data-v-a16da004]{color:var(--text-color)}}.theme-icon.active[data-v-a16da004]{opacity:1;transform:rotate(0) scale(1)}.theme-reveal[data-v-a16da004]{position:fixed;inset:0;z-index:9998;pointer-events:none;display:none}.lang-icon[data-v-a16da004]{position:absolute;will-change:transform,opacity}.user-avatar[data-v-4507f0e0]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--primary-color) 12%,transparent)}.user-avatar img[data-v-4507f0e0]{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.user-avatar-fallback[data-v-4507f0e0]{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;color:var(--primary-color);-webkit-user-select:none;user-select:none}.notif-bell[data-v-bb4e58ef]{position:relative;display:inline-flex}.bell-btn[data-v-bb4e58ef]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:none;border:none;color:#fff;font-family:inherit;cursor:pointer;transition:color .3s}.bell-btn[data-v-bb4e58ef]:hover{color:var(--button-hover)}.bell-btn[data-v-bb4e58ef]:focus-visible{outline:2px solid var(--focus-ring-color, var(--vercel-focus-blue));outline-offset:2px;border-radius:8px}.bell-btn svg[data-v-bb4e58ef]{width:20px;height:20px}.bell-badge[data-v-bb4e58ef]{position:absolute;top:-3px;right:-6px;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:99px;background:var(--error-color, #e5484d);color:#fff;font-size:.62rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--bases-nav-bg, transparent)}.bell-panel[data-v-bb4e58ef]{position:absolute;top:calc(100% + 10px);right:-8px;width:min(21rem,calc(100vw - 2.4rem));background:var(--background-color, #16181f);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 12px 40px #00000059;overflow:hidden;z-index:1200}.bell-head[data-v-bb4e58ef]{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--border-color)}.bell-title[data-v-bb4e58ef]{font-size:.85rem;font-weight:600;color:var(--text-color)}.bell-markall[data-v-bb4e58ef]{padding:.15rem .55rem;background:transparent;border:1px solid var(--border-color);border-radius:99px;color:var(--text-secondary);font-size:.72rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.bell-markall[data-v-bb4e58ef]:hover:not(:disabled){color:var(--primary-color);border-color:color-mix(in srgb,var(--primary-color) 40%,transparent)}.bell-markall[data-v-bb4e58ef]:disabled{opacity:.45;cursor:not-allowed}.bell-state[data-v-bb4e58ef]{display:block;width:100%;padding:1.4rem .9rem;font-size:.84rem;color:var(--text-secondary);text-align:center;background:none;border:none}.bell-retry[data-v-bb4e58ef]{cursor:pointer}.bell-retry[data-v-bb4e58ef]:hover{color:var(--link-color)}.bell-list[data-v-bb4e58ef]{list-style:none;margin:0;padding:0;max-height:21rem;overflow-y:auto}.bell-row+.bell-row[data-v-bb4e58ef]{border-top:1px solid color-mix(in srgb,var(--border-color) 55%,transparent)}.bell-item[data-v-bb4e58ef]{display:flex;flex-direction:column;gap:.3rem;width:100%;padding:.65rem .9rem;background:none;border:none;text-align:left;font-family:inherit;cursor:pointer;transition:background-color .15s ease}.bell-item[data-v-bb4e58ef]:hover{background:color-mix(in srgb,var(--text-color) 5%,transparent)}.bell-item.unread .bell-item-title[data-v-bb4e58ef]{font-weight:600;color:var(--text-color)}.bell-item-meta[data-v-bb4e58ef]{display:flex;align-items:center;gap:.5rem}.bell-type[data-v-bb4e58ef]{flex-shrink:0;padding:.05rem .45rem;border-radius:5px;font-size:.68rem;font-weight:600;color:var(--primary-color);border:1px solid color-mix(in srgb,var(--primary-color) 35%,transparent)}.bell-type[data-type=warning][data-v-bb4e58ef]{color:var(--error-color, #e5484d);border-color:color-mix(in srgb,var(--error-color, #e5484d) 35%,transparent)}.bell-time[data-v-bb4e58ef]{margin-left:auto;font-size:.72rem;color:var(--text-secondary)}.unread-dot[data-v-bb4e58ef]{flex-shrink:0;width:7px;height:7px;border-radius:99px;background:var(--primary-color)}.bell-item-title[data-v-bb4e58ef]{font-size:.84rem;line-height:1.45;color:var(--text-color);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bell-foot[data-v-bb4e58ef]{padding:.55rem .9rem;border-top:1px solid var(--border-color);text-align:center}.bell-view-all[data-v-bb4e58ef]{font-size:.8rem;color:var(--link-color)}.bell-view-all[data-v-bb4e58ef]:hover{text-decoration:underline}.bell-pop-enter-active[data-v-bb4e58ef],.bell-pop-leave-active[data-v-bb4e58ef]{transition:opacity .18s ease,transform .18s ease}.bell-pop-enter-from[data-v-bb4e58ef],.bell-pop-leave-to[data-v-bb4e58ef]{opacity:0;transform:translateY(-6px)}@media(max-width:896px){.bell-btn[data-v-bb4e58ef]{min-width:44px;min-height:44px}.bell-panel[data-v-bb4e58ef]{position:fixed;top:4.5rem;left:.75rem;right:.75rem;width:auto;max-height:min(70dvh,26rem);overflow-y:auto}.bell-list[data-v-bb4e58ef]{max-height:none}}[data-v-68e390be]:root{--radius-md: 12px}nav[data-v-68e390be]{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 2rem;height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--bases-nav-bg);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);transition:all .3s ease}nav.navbar-fixed[data-v-68e390be]{position:fixed;top:0}.burger-input[data-v-68e390be],.side-nav[data-v-68e390be],.side-nav-overlay[data-v-68e390be]{display:none}nav.scrolled[data-v-68e390be]{box-shadow:0 2px 10px #0003}nav a[data-v-68e390be]{display:inline-block;color:#fff;text-decoration:none;font-size:1.1em;transition:color .3s}nav a[data-v-68e390be]:hover{color:var(--button-hover)}.burger[data-v-68e390be]{display:none;width:40px;height:30px;position:relative;cursor:pointer;flex-shrink:0}.logo-and-title[data-v-68e390be]{display:flex;align-items:center;gap:10px;flex-shrink:0;white-space:nowrap}.logo-and-title .logo-container img[data-v-68e390be]{width:36px;height:36px;border-radius:8px;transition:transform .3s ease}.logo-container:hover img[data-v-68e390be]{transform:rotate(10deg) scale(1.05)}.right-align[data-v-68e390be]{margin-left:auto;margin-right:20px}.logo-and-title .logo[data-v-68e390be]{width:100%;height:100%;object-fit:cover}.logo-and-title .logo-and-text[data-v-68e390be]{display:inline-flex;align-items:center;color:var(--bases-white);text-decoration:none;font-size:1.1em;transition:color .3s}.logo-and-title .logo-and-text[data-v-68e390be]:hover{color:var(--button-hover)}.logo-and-title .logo-and-text svg[data-v-68e390be]{margin-left:8px;width:16px;height:16px;vertical-align:middle;flex-shrink:0;opacity:.7;transition:opacity .2s ease}.logo-and-title .logo-and-text:hover svg[data-v-68e390be]{opacity:1}.logo-and-title .logo-and-text[data-v-68e390be]{width:130px}.AAA[data-v-68e390be]{margin:0}.nav-links[data-v-68e390be]{display:flex;align-items:center;gap:75px}.nav-links a[data-v-68e390be]{margin:0}.nav-actions[data-v-68e390be]{justify-self:end;display:flex;align-items:center;gap:14px}.nav-actions a[data-v-68e390be],.nav-actions .nav-auth-btn[data-v-68e390be]{margin:0}.menu-button[data-v-68e390be]{display:none;position:absolute;right:20px;top:19.4px;color:#fff;font-size:1.1em;cursor:pointer;z-index:102}.dropdown[data-v-68e390be]{position:relative}.dropdown-toggle[data-v-68e390be]{display:flex;align-items:center;gap:6px;cursor:pointer}.menu-icon[data-v-68e390be]{display:flex;width:18px;height:18px;margin-left:8px;fill:currentColor;transition:transform .3s}.dropdown:hover .menu-icon[data-v-68e390be]{transform:rotate(90deg)}.dropdown-menu[data-v-68e390be]{position:absolute;top:100%;left:0;width:196px;background:#404350;padding:6px;border-radius:var(--radius-md);box-shadow:0 12px 40px var(--shadow-hover);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .25s ease;border:1px solid var(--glass-border)}.dropdown-menu a[data-v-68e390be]{margin:0;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.85rem;text-decoration:none;transition:all .2s ease}.dropdown:hover .dropdown-menu[data-v-68e390be]{opacity:1;visibility:visible;transform:scaleY(1)}.dropdown-item[data-v-68e390be]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--bases-white);font-size:.85rem;text-decoration:none;transition:all .3s;opacity:0;transform:translateY(-5px)}.dropdown:hover .dropdown-item[data-v-68e390be]{opacity:1;transform:translateY(0)}.dropdown-item[data-v-68e390be]:hover{background:var(--table-row-hover-background-color);color:var(--button-hover)}.dropdown-item svg[data-v-68e390be]{margin-left:8px;width:16px;height:16px}.external-link-icon[data-v-68e390be]{margin-left:4px;width:14px;height:14px;vertical-align:middle;flex-shrink:0;opacity:.7;transition:opacity .2s ease}a:hover .external-link-icon[data-v-68e390be]{opacity:1}.nav-link svg[data-v-68e390be]{margin-left:4px;width:14px;height:14px;vertical-align:middle;flex-shrink:0}.item-icon[data-v-68e390be]{width:16px;height:16px;margin-left:10px;fill:currentColor;transition:transform .3s}.dropdown-item:hover .item-icon[data-v-68e390be]{transform:translate(-3px)}@media(max-width:896px){nav[data-v-68e390be]{display:grid;grid-template-columns:auto auto 1fr;align-items:center;padding:0 1.2rem;backdrop-filter:none;-webkit-backdrop-filter:none}nav .burger[data-v-68e390be],nav .logo-and-title[data-v-68e390be],nav .nav-actions[data-v-68e390be]{min-width:0}.burger[data-v-68e390be]{justify-self:start}.logo-and-title[data-v-68e390be]{justify-self:start;margin-left:.9rem}.nav-actions[data-v-68e390be]{justify-self:end}.AAA[data-v-68e390be]{display:none}.burger-input[data-v-68e390be]{display:block;position:absolute;width:1px;height:1px;margin:-1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}.side-nav[data-v-68e390be]{display:block;position:fixed;top:0;left:0;width:min(290px,82vw);height:100vh;height:calc(100dvh - 64px);background-color:var(--background-color);box-shadow:2px 0 5px #00000026;z-index:9999;will-change:transform;padding:14px .9rem calc(14px + env(safe-area-inset-bottom));margin-top:64px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--primary-color) transparent}.side-nav[data-v-68e390be]::-webkit-scrollbar{width:6px}.side-nav[data-v-68e390be]::-webkit-scrollbar-track{background:transparent}.side-nav[data-v-68e390be]::-webkit-scrollbar-thumb{background-color:var(--primary-color);border-radius:3px}.side-nav[data-v-68e390be]::-webkit-scrollbar-thumb:hover{background-color:var(--secondary-color)}.side-nav a[data-v-68e390be]{display:block;padding:.65rem .8rem;margin:0 0 2px;color:var(--text-secondary);font-size:.9rem;text-decoration:none;border-radius:6px;transition:color .15s ease,background-color .15s ease}.side-nav a[data-v-68e390be]:hover{color:var(--text-color);background:color-mix(in srgb,var(--text-color) 5%,transparent)}.side-nav a.router-link-active[data-v-68e390be]{color:var(--text-color);font-weight:600;background:color-mix(in srgb,var(--primary-color) 10%,transparent)}.side-nav-user-head[data-v-68e390be]{margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px solid var(--border-color)}.side-nav-user[data-v-68e390be]{display:flex;align-items:center;gap:10px;padding:.35rem .8rem;margin:0 0 2px;border-radius:6px;color:var(--text-color);text-decoration:none;transition:background-color .15s ease}.side-nav-user[data-v-68e390be]:hover{background:color-mix(in srgb,var(--text-color) 5%,transparent)}.side-nav-user-name[data-v-68e390be]{font-size:.9rem;font-weight:600;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav-security[data-v-68e390be]{display:block;width:100%;padding:.5rem .8rem;margin:0 0 2px;border:0;border-radius:6px;background:none;color:var(--text-secondary);font-family:inherit;font-size:.85rem;text-align:left;cursor:pointer;transition:color .15s ease,background-color .15s ease}.side-nav-security[data-v-68e390be]:hover{color:var(--text-color);background:color-mix(in srgb,var(--text-color) 5%,transparent)}.side-nav-auth[data-v-68e390be]{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--border-color)}.side-nav .side-nav-logout[data-v-68e390be]{display:block;width:100%;min-width:0;padding:.65rem .8rem;background:none;border:0;border-radius:6px;color:var(--text-secondary);font-family:inherit;font-size:.9rem;text-align:left;cursor:pointer;transition:color .15s ease,background-color .15s ease}.side-nav .side-nav-logout[data-v-68e390be]:hover:not(:disabled){color:var(--text-color);background:color-mix(in srgb,var(--text-color) 5%,transparent)}.side-nav .side-nav-logout[data-v-68e390be]:disabled{opacity:.5;cursor:not-allowed}.side-nav-overlay[data-v-68e390be]{display:block;position:fixed;top:0;left:0;width:100%;height:100vh;background:#00000080;z-index:9998;visibility:hidden;opacity:0}.burger[data-v-68e390be]{position:relative;width:30px;height:20px;background:transparent;cursor:pointer;display:inline-block;z-index:10000;vertical-align:middle}.burger[data-v-68e390be]:after{content:"";position:absolute;inset:-12px}.burger-input:focus-visible+.burger[data-v-68e390be]{outline:2px solid var(--focus-ring-color, var(--vercel-focus-blue));outline-offset:4px;border-radius:4px}.burger span[data-v-68e390be]{display:block;position:absolute;height:4px;width:100%;background:#e8e8e8;border-radius:9px;opacity:1;left:0;will-change:transform,opacity}.burger span[data-v-68e390be]:nth-of-type(1){top:0;transform-origin:center}.burger span[data-v-68e390be]:nth-of-type(2){top:8px;transform-origin:center}.burger span[data-v-68e390be]:nth-of-type(3){top:16px;transform-origin:center}.dropdown-ico svg[data-v-68e390be]{margin-left:8px;width:16px;height:16px;vertical-align:middle}.external-link-icon[data-v-68e390be]{margin-left:4px;width:14px;height:14px;vertical-align:middle;flex-shrink:0;opacity:.7}.nav-links[data-v-68e390be]{display:none}.nav-actions[data-v-68e390be]{gap:8px}nav .nav-actions[data-v-68e390be]>*,nav .logo-and-title a[data-v-68e390be]{min-width:0;min-height:0;padding:0}nav .nav-actions[data-v-68e390be]>*{display:inline-flex;align-items:center;min-height:44px}nav .nav-actions .toc-toggles[data-v-68e390be]{display:none}.nav-actions .nav-auth-admin[data-v-68e390be],.nav-actions .nav-auth-account[data-v-68e390be],.nav-actions .nav-auth-logout[data-v-68e390be],.nav-actions .nav-user-name[data-v-68e390be]{display:none}.nav-actions .nav-login-btn[data-v-68e390be]{padding:.5rem 1rem;min-height:44px;font-size:.95rem;gap:6px}.nav-actions .nav-login-btn svg[data-v-68e390be]{width:14px;height:14px}.text-wrap[data-v-68e390be]{width:auto}.logo-and-text[data-v-68e390be]{width:auto;margin-left:0}.logo-and-title .logo-container[data-v-68e390be]{order:1}.logo-and-title[data-v-68e390be]{display:flex;align-items:center}.logo-and-title .logo-container img[data-v-68e390be]{display:none;width:auto;height:35px;margin-right:10px}.side-nav[data-v-68e390be]{display:flex;flex-direction:column;align-items:stretch}.side-nav .toc-toggles[data-v-68e390be]{margin-top:auto;padding-top:20px;border-top:1px solid var(--border-color);width:100%;justify-content:flex-start}.side-nav .theme-toggle[data-v-68e390be]{color:var(--text-secondary);width:36px;height:36px}.side-nav .theme-toggle[data-v-68e390be]:hover{color:var(--button-hover)}}@media(min-width:897px)and (max-width:1024px){.nav-links[data-v-68e390be]{gap:32px}}@media(max-width:400px){nav[data-v-68e390be]{padding:0 .9rem}.logo-and-text[data-v-68e390be]{font-size:1rem}}.nav-auth-btn[data-v-68e390be]{display:inline-block;background:none;border:none;padding:0;color:#fff;font-size:1.1em;font-family:inherit;cursor:pointer;transition:color .3s}.nav-auth-btn[data-v-68e390be]:hover{color:var(--button-hover)}.nav-auth-btn[data-v-68e390be]:disabled{opacity:.5;cursor:not-allowed}.nav-auth-btn[data-v-68e390be]:focus-visible{outline:2px solid var(--focus-ring-color, var(--vercel-focus-blue));outline-offset:2px}.nav-login-btn[data-v-68e390be]{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;background:var(--primary-color);color:var(--vercel-white);border-radius:10px;font-size:1em;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;box-shadow:0 2px 12px color-mix(in srgb,var(--primary-color) 40%,transparent);transition:filter .2s ease,transform .15s ease,box-shadow .2s ease}.nav-login-btn[data-v-68e390be]:hover{color:var(--vercel-white);filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 4px 18px color-mix(in srgb,var(--primary-color) 55%,transparent)}.nav-login-btn[data-v-68e390be]:active{transform:translateY(0) scale(.98)}.nav-login-btn[data-v-68e390be]:focus-visible{outline:2px solid var(--focus-ring-color, var(--vercel-focus-blue));outline-offset:2px}.nav-login-btn svg[data-v-68e390be]{width:16px;height:16px;flex-shrink:0}.nav-user[data-v-68e390be]{display:inline-flex;align-items:center;gap:8px;min-width:0}.nav-user span[data-v-68e390be]{max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li[data-v-97fa8fc5]{list-style-type:none}p[data-v-97fa8fc5]{color:var(--color-footer-text)}.footer-transition-section[data-v-97fa8fc5]{position:relative;height:150px;overflow:hidden}.footer-wave-divider[data-v-97fa8fc5]{position:absolute;top:0;left:0;width:100%;height:150px;z-index:1}.footer-wave-divider svg[data-v-97fa8fc5]{width:100%;height:100%;display:block}.footer-wave-path[data-v-97fa8fc5]{will-change:transform,opacity}footer[data-v-97fa8fc5]{padding:60px 20px 30px;background:var(--bases-footer-background-color);color:var(--color-footer-text);text-align:center;position:relative;margin-top:-2px}footer p[data-v-97fa8fc5]{text-align:center}.social-links[data-v-97fa8fc5]{margin-bottom:25px}.social-links a[data-v-97fa8fc5]{display:inline-block;margin:0 12px;color:var(--color-footer-text);font-size:1.3em;transition:all .3s}.social-links a[data-v-97fa8fc5]:hover{color:var(--color-footer-text);transform:translateY(-4px)}.website-status-info[data-v-97fa8fc5]{display:flex;justify-content:center;gap:30px;margin:25px 0 15px;flex-wrap:wrap;opacity:.8;font-size:.9em}.status-item[data-v-97fa8fc5]{display:flex;align-items:center;gap:8px;color:#ccc;transition:color .3s ease,background .3s ease;will-change:transform,opacity;padding:8px 12px;border-radius:6px;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.status-item[data-v-97fa8fc5]:hover{color:var(--primary-color);background:#9e94d81a;transform:translateY(-2px)}.status-item i[data-v-97fa8fc5]{font-size:14px;color:var(--primary-color);opacity:.8}.status-item span[data-v-97fa8fc5]{font-family:var(--font-primary);font-weight:500}.status-item span span[data-v-97fa8fc5]{font-weight:600;color:#fff;opacity:.9}#version-status-item.clickable[data-v-97fa8fc5]{cursor:pointer;position:relative}#version-status-item.clickable[data-v-97fa8fc5]:hover{color:var(--primary-color);background:#9e94d826;transform:translateY(-2px);box-shadow:0 4px 12px #9e94d833}#version-status-item.clickable:hover i[data-v-97fa8fc5],#version-status-item:hover span span[data-v-97fa8fc5]{color:var(--primary-color);opacity:1}#version-status-item[data-v-97fa8fc5]:active{transform:translateY(0);background:#9e94d833}.footer-links[data-v-97fa8fc5]{display:flex;justify-content:center;gap:40px;margin:30px 0;flex-wrap:wrap}.footer-column[data-v-97fa8fc5]{will-change:transform,opacity}.footer-column h3[data-v-97fa8fc5]{color:var(--color-footer-text);margin-bottom:15px;font-size:1.2em}.footer-column ul[data-v-97fa8fc5]{list-style:none;padding:0}.footer-column li[data-v-97fa8fc5]{margin-bottom:8px}.footer-column a[data-v-97fa8fc5]{color:var(--color-footer-text);text-decoration:none;transition:color .3s;will-change:transform,opacity}.footer-column a[data-v-97fa8fc5]:hover{color:var(--color-footer-text)}.footer-column svg[data-v-97fa8fc5]{width:18px;height:18px;margin-left:8px}.copyright-info[data-v-97fa8fc5]{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:.9em;color:var(--color-footer-text)}.copyright-info p[data-v-97fa8fc5]{margin:8px 0}.copyright-info a[data-v-97fa8fc5]:any-link{color:var(--color-footer-text)}.copyright-info a[data-v-97fa8fc5]:hover{color:var(--color-footer-text)}.copyright-info svg[data-v-97fa8fc5]{width:12px;height:12px;margin-left:8px}.cake[data-v-12e5e20d]{position:relative;width:17rem;height:16rem;transform-origin:50% 100%}.cake-glow[data-v-12e5e20d]{position:absolute;left:50%;bottom:1rem;width:17rem;height:13rem;translate:-50% 0;border-radius:50%;background:radial-gradient(circle at 50% 58%,color-mix(in srgb,var(--accent-color, #f59e0b) 38%,transparent) 0%,transparent 66%);filter:blur(10px);opacity:.55;pointer-events:none}.cake-candles[data-v-12e5e20d]{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;gap:2.4rem;z-index:4}.cake-candle[data-v-12e5e20d]{position:relative;display:block;width:.58rem;height:3.3rem;pointer-events:none}.cake-stick[data-v-12e5e20d]{position:absolute;inset:auto 0 0;height:2.5rem;border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,rgb(255 255 255 / 55%) 0%,transparent 38%),repeating-linear-gradient(-18deg,color-mix(in srgb,var(--primary-color) 72%,#fff) 0 6px,#fff 6px 12px);box-shadow:0 .2rem .35rem -.2rem #00000073}.cake-wick[data-v-12e5e20d]{position:absolute;top:.42rem;left:50%;width:.1rem;height:.34rem;translate:-50% 0;background:#4a3a2c;border-radius:1px}.cake-flame[data-v-12e5e20d]{position:absolute;top:-.5rem;left:50%;width:.9rem;height:1.45rem;translate:-50% 0;border-radius:50% 50% 46% 46%/68% 68% 32% 32%;background:radial-gradient(circle at 50% 72%,#fffef6 0%,#ffe9a8 38%,color-mix(in srgb,var(--accent-color, #f59e0b) 92%,#fff) 68%,color-mix(in srgb,#ff7a18 70%,transparent) 88%,transparent 100%);box-shadow:0 0 10px 3px color-mix(in srgb,var(--accent-color, #f59e0b) 55%,transparent),0 0 26px 8px color-mix(in srgb,var(--accent-color, #f59e0b) 26%,transparent);transform-origin:50% 100%;will-change:transform,opacity}.cake-flame[data-v-12e5e20d]:after{content:"";position:absolute;left:50%;bottom:.18rem;width:.3rem;height:.5rem;translate:-50% 0;border-radius:50% 50% 45% 45%/62% 62% 38% 38%;background:#fff9e6;filter:blur(.6px)}.cake-smoke[data-v-12e5e20d]{position:absolute;top:-.35rem;left:50%;translate:-50% 0;opacity:0;pointer-events:none}.cake-puff[data-v-12e5e20d]{position:absolute;top:0;left:-.2rem;width:.4rem;height:.4rem;border-radius:50%;background:color-mix(in srgb,var(--text-secondary) 60%,transparent);filter:blur(1.6px)}.cake-body[data-v-12e5e20d]{position:absolute;inset:auto 0 0;height:11.6rem}.cake-tier[data-v-12e5e20d]{position:absolute;left:50%;translate:-50% 0;border-radius:.7rem .7rem .45rem .45rem;background:linear-gradient(180deg,#ffd7ac,#f2b478,#d99a5f);box-shadow:inset 0 -.55rem 1rem -.4rem #783c1457,inset 0 .4rem .65rem -.35rem #ffffff57}.cake-tier[data-v-12e5e20d]:before{content:"";position:absolute;inset:auto 0 0;height:.55rem;border-radius:0 0 .45rem .45rem;background:linear-gradient(180deg,#c9853f,#9d5f28)}.cake-tier[data-v-12e5e20d]:after{content:"";position:absolute;inset:0 auto 0 .55rem;width:1.4rem;border-radius:inherit;background:linear-gradient(90deg,rgb(255 255 255 / 28%) 0%,transparent 100%)}.cake-tier--bottom[data-v-12e5e20d]{bottom:1.6rem;width:12.6rem;height:5.6rem;z-index:2}.cake-tier--top[data-v-12e5e20d]{bottom:7.2rem;width:8.8rem;height:4.6rem;z-index:3}.cake-cream[data-v-12e5e20d]{position:absolute;inset:-.45rem 0 auto;height:1.45rem;border-radius:.55rem .55rem 40% 40%/.55rem .55rem 1.2rem 1.2rem;background:linear-gradient(180deg,#fffdf8,#ffe9cf);box-shadow:0 .3rem .55rem -.3rem #5a321461}.cake-tier--top .cake-cream[data-v-12e5e20d]{background:linear-gradient(180deg,#fffaf4,#ffdcc9)}.cake-drip[data-v-12e5e20d]{position:absolute;top:.9rem;left:.15rem;right:.15rem;height:1rem;background-image:radial-gradient(circle at .6rem 0,#ffe9cf .56rem,color-mix(in srgb,#ffe9cf 65%,transparent) .6rem,transparent .63rem);background-size:1.2rem 1rem;background-repeat:repeat-x}.cake-tier--top .cake-drip[data-v-12e5e20d]{background-image:radial-gradient(circle at .6rem 0,#ffdcc9 .56rem,color-mix(in srgb,#ffdcc9 65%,transparent) .6rem,transparent .63rem)}.cake-sprinkle[data-v-12e5e20d]{position:absolute;width:.2rem;height:.46rem;border-radius:99px;rotate:26deg;z-index:2}.cake-sprinkle.is-1[data-v-12e5e20d]{background:var(--primary-color)}.cake-sprinkle.is-2[data-v-12e5e20d]{background:var(--accent-color, #f59e0b)}.cake-sprinkle.is-3[data-v-12e5e20d]{background:#e05a7a}.cake-light[data-v-12e5e20d]{position:absolute;top:-.5rem;left:50%;width:9rem;height:2.6rem;translate:-50% 0;border-radius:50%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent-color, #f59e0b) 42%,transparent) 0%,transparent 70%);filter:blur(4px);opacity:.55;pointer-events:none}.cake-topping[data-v-12e5e20d]{position:absolute;bottom:11.7rem;left:50%;translate:-50% 0;display:flex;align-items:flex-end;gap:2.2rem;z-index:4}.cake-berry[data-v-12e5e20d]{width:.62rem;height:.62rem;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ff9db0,#d8385c 72%);box-shadow:0 .12rem .28rem -.1rem #00000073}.cake-cherry[data-v-12e5e20d]{position:relative;width:.85rem;height:.85rem;border-radius:50%;background:radial-gradient(circle at 32% 26%,#ff8b8b,#b81f38 74%);box-shadow:0 .14rem .3rem -.1rem #0000007a}.cake-stem[data-v-12e5e20d]{position:absolute;left:55%;bottom:.72rem;width:.42rem;height:.42rem;border-top:1.5px solid #4e7a3a;border-right:1.5px solid #4e7a3a;border-radius:0 60% 0 0;rotate:-12deg}.cake-shadow[data-v-12e5e20d]{position:absolute;bottom:.5rem;left:50%;translate:-50% 0;width:12rem;height:1.5rem;border-radius:50%;background:#0000006b;filter:blur(9px);z-index:1}.cake-plate[data-v-12e5e20d]{position:absolute;bottom:.85rem;left:50%;translate:-50% 0;width:16rem;height:1.15rem;border-radius:50%;background:linear-gradient(180deg,#ffffff3d,#ffffff12 55%,#ffffff05);border:1px solid color-mix(in srgb,var(--border-color) 65%,transparent);box-shadow:inset 0 .2rem .4rem -.2rem #ffffff59;z-index:2}.cake.is-all-out .cake-glow[data-v-12e5e20d]{opacity:.28}.cake.is-all-out .cake-light[data-v-12e5e20d]{opacity:.18}@media(max-width:640px){.cake[data-v-12e5e20d]{width:14rem;height:12.4rem;scale:.94}.cake-candles[data-v-12e5e20d]{gap:1.7rem}.cake-tier--bottom[data-v-12e5e20d]{width:11.8rem;height:4rem}.cake-tier--top[data-v-12e5e20d]{width:8.4rem;height:3.3rem;bottom:5.3rem}.cake-topping[data-v-12e5e20d]{bottom:7.85rem;gap:2rem}.cake-plate[data-v-12e5e20d]{width:13.4rem}}.bday-overlay[data-v-48f6cae0]{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:hidden;background:radial-gradient(120% 80% at 50% 108%,color-mix(in srgb,var(--primary-color) 26%,transparent) 0%,transparent 62%),linear-gradient(180deg,#06080f,#0b1020 48%,#141a2e)}.bday-sky[data-v-48f6cae0]{position:absolute;inset:0;pointer-events:none}.bday-moon[data-v-48f6cae0]{position:absolute;top:12%;right:16%;width:4.6rem;height:4.6rem;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fffdf4,#ffeec4 58%,#f4d79a);box-shadow:0 0 40px 12px #ffeec438,0 0 120px 40px #ffeec41a;will-change:transform,opacity}.bday-aurora[data-v-48f6cae0]{position:absolute;inset:-10% -20% auto;height:62%;background:radial-gradient(50% 60% at 22% 40%,color-mix(in srgb,var(--primary-color) 22%,transparent) 0%,transparent 70%),radial-gradient(45% 55% at 74% 30%,color-mix(in srgb,var(--accent-color, #f59e0b) 14%,transparent) 0%,transparent 72%);filter:blur(22px);will-change:opacity}.bday-star[data-v-48f6cae0]{position:absolute;border-radius:50%;background:#fffdf4;box-shadow:0 0 6px 1px #fffdf473;will-change:transform,opacity}.bday-nebula[data-v-48f6cae0]{position:absolute;border-radius:50%;filter:blur(46px);opacity:.55;will-change:transform}.bday-nebula--one[data-v-48f6cae0]{top:-12%;left:-8%;width:46rem;height:26rem;background:radial-gradient(circle at 40% 45%,color-mix(in srgb,var(--primary-color) 30%,transparent) 0%,transparent 68%)}.bday-nebula--two[data-v-48f6cae0]{bottom:-22%;right:-12%;width:40rem;height:24rem;background:radial-gradient(circle at 55% 50%,color-mix(in srgb,var(--accent-color, #f59e0b) 18%,transparent) 0%,transparent 70%)}.bday-mote[data-v-48f6cae0]{position:absolute;border-radius:50%;background:color-mix(in srgb,var(--accent-color, #f59e0b) 72%,#fff);box-shadow:0 0 8px 2px color-mix(in srgb,var(--accent-color, #f59e0b) 32%,transparent);opacity:0;animation:bday-mote-drift-48f6cae0 9s linear infinite;will-change:transform,opacity}@keyframes bday-mote-drift-48f6cae0{0%{opacity:0;transform:translateZ(0)}12%{opacity:.85}85%{opacity:.5}to{opacity:0;transform:translate3d(1.4rem,-9rem,0)}}.bday-vignette[data-v-48f6cae0]{position:absolute;inset:0;background:radial-gradient(110% 78% at 50% 48%,transparent 42%,rgb(0 0 0 / 42%) 100%);pointer-events:none}.bday-scene[data-v-48f6cae0]{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;width:min(30rem,100%);text-align:center}.bday-copy[data-v-48f6cae0]{display:flex;flex-direction:column;gap:.45rem}.bday-title[data-v-48f6cae0]{margin:0;font-size:clamp(1.7rem,5vw,2.4rem);font-weight:700;letter-spacing:-1px;color:#fffdf7;text-shadow:0 .35rem 1.4rem color-mix(in srgb,var(--primary-color) 45%,transparent)}.bday-char[data-v-48f6cae0]{display:inline-block;will-change:transform,opacity}.bday-sub[data-v-48f6cae0]{margin:0;font-size:.98rem;line-height:1.75;color:#fffdf7d1}.bday-days[data-v-48f6cae0]{margin:0;font-size:.85rem;letter-spacing:.02em;color:color-mix(in srgb,var(--accent-color, #f59e0b) 78%,#fff)}.bday-wish[data-v-48f6cae0]{margin:.15rem 0 0;font-size:.9rem;line-height:1.7;color:#fffdf7b8;opacity:0;visibility:hidden}.bday-actions[data-v-48f6cae0]{display:flex;flex-direction:column;align-items:center;gap:.6rem}.bday-btn[data-v-48f6cae0]{padding:.65rem 1.7rem;border:none;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-color) 88%,#fff) 0%,var(--primary-color) 100%);color:#fff;font-size:.92rem;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 .6rem 1.6rem -.6rem color-mix(in srgb,var(--primary-color) 80%,transparent);transition:translate .15s ease}.bday-btn[data-v-48f6cae0]:hover{translate:0 -1px}.bday-btn[data-v-48f6cae0]:focus-visible{outline:2px solid var(--focus-ring-color, var(--vercel-focus-blue));outline-offset:3px}.bday-hint[data-v-48f6cae0]{margin:0;font-size:.76rem;color:#fffdf77a}.bday-wish-star[data-v-48f6cae0]{position:absolute;top:46%;left:50%;width:.55rem;height:.55rem;margin-left:-.27rem;border-radius:50%;background:radial-gradient(circle,#fffdf4 0%,color-mix(in srgb,var(--accent-color, #f59e0b) 80%,#fff) 45%,transparent 72%);box-shadow:0 0 16px 6px color-mix(in srgb,var(--accent-color, #f59e0b) 42%,transparent);opacity:0;pointer-events:none}@media(max-width:640px){.bday-scene[data-v-48f6cae0]{gap:.9rem}.bday-moon[data-v-48f6cae0]{top:9%;right:10%;width:3.2rem;height:3.2rem}.bday-star[data-v-48f6cae0]:nth-child(3n){display:none}.bday-mote[data-v-48f6cae0]:nth-child(2n){display:none}}@media(prefers-reduced-motion:reduce){.bday-mote[data-v-48f6cae0]{animation:none}}:root{--font-primary: "MiSans VF", "MiSans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, Monaco, "Courier New", monospace;--font-fallback: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-size-micro: .4375rem;--font-size-caption: .75rem;--font-size-small: .875rem;--font-size-body: 1rem;--font-size-body-large: 1.125rem;--font-size-card-title: 1.5rem;--font-size-subheading: 2rem;--font-size-section: 2.5rem;--font-size-display: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tightest: -2.4px;--letter-spacing-tighter: -2px;--letter-spacing-tight: -1.28px;--letter-spacing-normal: -.96px;--letter-spacing-relaxed: -.32px;--letter-spacing-none: 0;--line-height-tightest: 1;--line-height-tight: 1.2;--line-height-snug: 1.25;--line-height-normal: 1.33;--line-height-relaxed: 1.56;--line-height-loose: 1.8;--line-height-button: 1.43}*{font-family:var(--font-primary);font-feature-settings:"liga" 1,"kern" 1;-webkit-font-feature-settings:"liga" 1,"kern" 1;-moz-font-feature-settings:"liga" 1,"kern" 1}body{font-family:var(--font-primary);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed)}.font-mono{font-family:var(--font-mono);text-transform:uppercase;font-feature-settings:"liga" 1,"tnum" 1;-webkit-font-feature-settings:"liga" 1,"tnum" 1}.font-fallback{font-family:var(--font-fallback)}.text-micro{font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-none);line-height:var(--line-height-tightest);text-transform:uppercase}.text-caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-none);line-height:1.33}.text-small{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-none);line-height:var(--line-height-button)}.text-base{font-size:var(--font-size-body);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-none);line-height:var(--line-height-relaxed)}.text-lg{font-size:var(--font-size-body-large);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-none);line-height:var(--line-height-loose)}.text-xl{font-size:var(--font-size-card-title);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);line-height:var(--line-height-normal)}.text-2xl{font-size:var(--font-size-subheading);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-snug)}.text-3xl{font-size:var(--font-size-section);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tighter);line-height:var(--line-height-tight)}.text-4xl{font-size:var(--font-size-display);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tightest);line-height:var(--line-height-tightest)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tightest{line-height:var(--line-height-tightest)}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.tracking-tightest{letter-spacing:var(--letter-spacing-tightest)}.tracking-tighter{letter-spacing:var(--letter-spacing-tighter)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-relaxed{letter-spacing:var(--letter-spacing-relaxed)}.tracking-none{letter-spacing:var(--letter-spacing-none)}.display-hero{font-size:var(--font-size-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tightest);letter-spacing:var(--letter-spacing-tightest)}.section-heading{font-size:var(--font-size-section);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tighter)}.subheading-large{font-size:var(--font-size-subheading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-tight)}.subheading{font-size:var(--font-size-subheading);font-weight:var(--font-weight-normal);line-height:1.5;letter-spacing:var(--letter-spacing-tight)}.card-title{font-size:var(--font-size-card-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}.card-title-light{font-size:var(--font-size-card-title);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}.body-large{font-size:var(--font-size-body-large);font-weight:var(--font-weight-normal);line-height:var(--line-height-loose);letter-spacing:var(--letter-spacing-none)}.body-text{font-size:1.125rem;font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed)}.body-text-sm{font-size:var(--font-size-body);font-weight:var(--font-weight-normal);line-height:1.5}.body-medium{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:1.5}.body-semibold{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:1.5;letter-spacing:var(--letter-spacing-relaxed)}.button-text{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);line-height:var(--line-height-button)}.button-small{font-size:var(--font-size-small);font-weight:var(--font-weight-normal);line-height:1}.caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:1.33}.code-text{font-family:var(--font-mono);font-size:var(--font-size-body);font-weight:var(--font-weight-normal);line-height:1.5}.code-caption{font-family:var(--font-mono);font-size:.8125rem;font-weight:var(--font-weight-medium);line-height:1.54;text-transform:uppercase}.code-small{font-family:var(--font-mono);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:1;text-transform:uppercase}.micro-badge{font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);line-height:1;text-transform:uppercase;letter-spacing:var(--letter-spacing-none)}.number-display{font-family:var(--font-mono);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}.time-display{font-family:var(--font-mono);font-weight:var(--font-weight-normal);font-variant-numeric:tabular-nums}.version-display{font-family:var(--font-mono);font-size:var(--font-size-small);font-weight:var(--font-weight-normal);color:#6b7280}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@supports not (--css: variables){*{font-family:MiSans,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,Monaco,Courier New,monospace}}.debug-fonts *{outline:1px solid rgba(255,0,0,.1)}.debug-fonts *:before{content:attr(class);position:absolute;background:#f00c;color:#fff;font-size:10px;padding:2px 4px;z-index:9999}:root{--vercel-black: #171717;--vercel-white: #ffffff;--vercel-true-black: #000000;--vercel-gray-900: #171717;--vercel-gray-800: #2a2a2a;--vercel-gray-700: #404040;--vercel-gray-600: #4d4d4d;--vercel-gray-500: #666666;--vercel-gray-400: #808080;--vercel-gray-300: #999999;--vercel-gray-200: #b3b3b3;--vercel-gray-100: #ebebeb;--vercel-gray-50: #fafafa;--vercel-ship-red: #ff5b4f;--vercel-preview-pink: #de1d8d;--vercel-develop-blue: #0a72ef;--vercel-console-blue: #0070f3;--vercel-console-purple: #7928ca;--vercel-console-pink: #eb367f;--vercel-link-blue: #0072f5;--vercel-link-hover: #0051cc;--vercel-focus-blue: hsla(212, 100%, 48%, 1);--vercel-ring-color: rgba(147, 197, 253, .5);--vercel-overlay-backdrop: hsla(0, 0%, 98%, 1);--vercel-selection-text: hsla(0, 0%, 95%, 1);--vercel-badge-blue-bg: #ebf5ff;--vercel-badge-blue-text: #0068d6;--bases-white: #ffffff;--bases-white-soft: #f8f8f8;--bases-white-mute: #f2f2f2;--bases-black: #181818;--bases-black-soft: #222222;--bases-black-mute: #282828;--bases-indigo: #2c3e50;--bases-accent-cyan: #ffffff;--bases-text-light-1: var(--bases-indigo);--bases-text-light-2: #3c3c3ca8;--bases-text-color: var(--bases-text-light-1);--bases-text-secondary: var(--bases-text-light-2);--bases-text-primary: #f1f5f9;--bases-bg: #fafafa;--bases-background-color: #fafafa;--bases-background-gradient: linear-gradient(135deg, #ffffff 0%, #fafafa 50%, #f2f2f2 100%);--bases-section-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);--bases-card-bg: rgba(255, 255, 255, .8);--bases-card-bg-hover: rgba(255, 255, 255, .9);--bases-nav-bg: rgba(0, 0, 0, .7);--bases-nav-bg-scroll: #2f2f2f;--bases-color-navbar-bg: rgba(255, 255, 255, .95);--bases-button-hover: #c4b5fd;--bases-glass-bg: rgba(255, 255, 255, .6);--bases-glass-border: rgba(158, 148, 216, .3);--bases-shadow-color: rgba(109, 91, 154, .2);--bases-shadow-hover: rgba(109, 91, 154, .3);--bases-footer-background-color: #000000;--bases-footer-text-color: #888888;--bases-footer-gradient: linear-gradient(135deg, #0a0f1c 0%, #1a1f2e 100%);--bases-color-footer-text: var(--bases-footer-text-color);--bases-success-color: #00BFA6;--bases-error-color: #dc3545;--bases-warning-color: #ffc107;--bases-info-color: #3b82f6;--bases-primary: #a78bfa;--bases-primary-gradient: linear-gradient(135deg, #9e94d8 0%, #b6ade6 100%);--bases-secondary-color: var(--bases-text-light-1);--bases-accent-color: #f59e0b;--bases-online-dot: #00BFA6;--bases-dark-white: #1a1a1a;--bases-dark-white-soft: #2a2a2a;--bases-dark-white-mute: #333333;--bases-dark-black: #f8f8f8;--bases-dark-black-soft: #e8e8e8;--bases-dark-black-mute: #e0e0e0;--bases-dark-indigo: #cbd5e1;--bases-dark-accent-cyan: #1a1a1a;--bases-dark-text-light-1: var(--bases-dark-indigo);--bases-dark-text-light-2: rgba(200, 200, 200, .66);--bases-dark-text-color: #f2eefc;--bases-dark-text-secondary: #f2eefc;--bases-dark-text-primary: #f1f5f9;--bases-dark-bg: #010102;--bases-dark-background-color: var(--bases-dark-bg);--bases-dark-background-gradient: linear-gradient(135deg, #000000 0%, #010102 50%, #0a0a0f 100%);--bases-dark-section-gradient: linear-gradient(135deg, #0a0a0f 0%, #111116 50%, #16161d 100%);--bases-dark-card-bg: #18181e;--bases-dark-card-bg-hover: #222228;--bases-dark-nav-bg: rgba(0, 0, 0, .9);--bases-dark-nav-bg-scroll: #141418;--bases-dark-color-navbar-bg: rgba(15, 15, 20, .95);--bases-dark-button-hover: #9370db;--bases-dark-glass-bg: rgba(24, 24, 30, .6);--bases-dark-glass-border: rgba(158, 148, 216, .2);--bases-dark-shadow-color: rgba(0, 0, 0, .3);--bases-dark-shadow-hover: rgba(0, 0, 0, .4);--bases-dark-footer-background-color: #080810;--bases-dark-footer-text-color: #555566;--bases-dark-footer-gradient: linear-gradient(180deg, #0a0a0f 0%, #080810 100%);--bases-dark-success-color: #009688;--bases-dark-error-color: #c62828;--bases-dark-warning-color: #f57c00;--bases-dark-info-color: #1976d2;--bases-dark-primary: #9370db;--bases-dark-primary-gradient: linear-gradient(135deg, #7b68ee 0%, #9370db 100%);--bases-dark-secondary-color: var(--bases-dark-text-light-1);--bases-dark-accent-color: #f59e0b;--bases-dark-online-dot: #009688;--shadow-border: rgba(0, 0, 0, .08) 0px 0px 0px 1px;--shadow-light-border: rgb(235, 235, 235) 0px 0px 0px 1px;--shadow-subtle: rgba(0, 0, 0, .04) 0px 2px 2px;--shadow-card: rgba(0, 0, 0, .08) 0px 0px 0px 1px, rgba(0, 0, 0, .04) 0px 2px 2px, rgba(0, 0, 0, .04) 0px 8px 8px -8px, #fafafa 0px 0px 0px 1px;--shadow-hover: rgba(0, 0, 0, .08) 0px 0px 0px 1px, rgba(0, 0, 0, .06) 0px 4px 8px, rgba(0, 0, 0, .02) 0px 12px 16px -4px}:root{color-scheme:light;--background-color: var(--bases-background-color);--text-primary: #f1f5f9;--primary-color: var(--bases-primary);--primary-gradient: var(--bases-primary-gradient);--secondary-color: var(--bases-secondary-color);--background-gradient: var(--bases-background-gradient);--card-bg: var(--bases-card-bg);--card-bg-hover: var(--bases-card-bg-hover);--skeleton-block-bg: rgba(0, 0, 0, .06);--skeleton-shimmer-color: rgba(255, 255, 255, .7);--text-color: var(--bases-text-color);--text-secondary: var(--bases-text-secondary);--online-color: var(--bases-online-dot);--nav-bg: var(--bases-nav-bg);--nav-bg-scroll: var(--bases-nav-bg-scroll);--button-hover: var(--bases-button-hover);--link-hover-color: var(--button-hover);--accent-color: var(--bases-accent-color);--glass-bg: var(--bases-glass-bg);--glass-border: var(--bases-glass-border);--shadow-color: var(--bases-shadow-color);--shadow-hover: var(--bases-shadow-hover);--footer-background-color: var(--bases-footer-background-color);--footer-gradient: var(--bases-footer-gradient);--color-footer-text: var(--bases-footer-text-color);--white: var(--bases-white);--black: var(--bases-black);--success-color: var(--bases-success-color);--error-color: var(--bases-error-color);--warning-color: var(--bases-warning-color);--info-color: var(--bases-info-color);--border-color: var(--vercel-gray-100);--divider-color: var(--vercel-gray-100)}html[data-theme=dark]{color-scheme:dark;--background-color: var(--bases-dark-background-color);--primary-color: var(--bases-dark-primary);--primary-gradient: var(--bases-dark-primary-gradient);--secondary-color: var(--bases-dark-secondary-color);--background-gradient: var(--bases-dark-background-gradient);--card-bg: var(--bases-dark-card-bg);--card-bg-hover: var(--bases-dark-card-bg-hover);--skeleton-block-bg: rgba(255, 255, 255, .06);--skeleton-shimmer-color: rgba(255, 255, 255, .12);--text-color: var(--bases-dark-text-color);--text-secondary: var(--bases-dark-text-secondary);--online-color: var(--bases-dark-online-dot);--nav-bg: var(--bases-dark-nav-bg);--nav-bg-scroll: var(--bases-dark-nav-bg-scroll);--button-hover: var(--bases-dark-button-hover);--link-hover-color: var(--button-hover);--accent-color: var(--bases-dark-accent-color);--glass-bg: var(--bases-dark-glass-bg);--glass-border: var(--bases-dark-glass-border);--shadow-color: var(--bases-dark-shadow-color);--shadow-hover: var(--bases-dark-shadow-hover);--footer-background-color: var(--bases-dark-footer-background-color);--footer-gradient: var(--bases-dark-footer-gradient);--white: var(--bases-dark-white);--black: var(--bases-dark-black);--success-color: var(--bases-dark-success-color);--error-color: var(--bases-dark-error-color);--warning-color: var(--bases-dark-warning-color);--info-color: var(--bases-dark-info-color);--border-color: var(--vercel-gray-800);--divider-color: var(--vercel-gray-800)}@property --reveal-size{syntax: "<length>"; inherits: true; initial-value: 0px;}::view-transition,::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){pointer-events:none}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}:root[data-vt] *:not(.theme-icon){transition-duration:0s!important}:root{--font-primary: "MiSans VF", "MiSans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, Monaco, "Courier New", monospace;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-display: 3rem;--font-size-section: 2.5rem;--font-size-subheading: 2rem;--font-size-card-title: 1.5rem;--font-size-body-large: 1.25rem;--font-size-body: 1.125rem;--font-size-body-small: 1rem;--font-size-button: .875rem;--font-size-caption: .75rem;--font-size-mono-caption: .81rem;--font-size-mono-small: .75rem;--font-size-micro: .44rem;--letter-spacing-tightest: -2.4px;--letter-spacing-tighter: -2px;--letter-spacing-tight: -1.28px;--letter-spacing-normal: -.96px;--letter-spacing-relaxed: -.32px;--letter-spacing-none: 0;--line-height-tightest: 1;--line-height-tight: 1.2;--line-height-snug: 1.25;--line-height-normal: 1.33;--line-height-base: 1.5;--line-height-relaxed: 1.56;--line-height-loose: 1.8;--line-height-button: 1.43;--line-height-caption: 1.33;--line-height-mono: 1.5;--line-height-mono-caption: 1.54;--line-height-mono-tight: 1;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-14: 56px;--spacing-16: 64px;--spacing-32: 128px;--spacing-36: 144px;--spacing-40: 160px;--radius-micro: 2px;--radius-subtle: 4px;--radius-standard: 6px;--radius-comfortable: 8px;--radius-image: 12px;--radius-large: 64px;--radius-xl: 100px;--radius-pill: 9999px;--radius-circle: 50%;--transition-fast: .15s ease-out;--transition-normal: .25s ease-out;--transition-slow: .35s ease-out;--shadow-border: rgba(0, 0, 0, .08) 0px 0px 0px 1px;--shadow-light-border: rgb(235, 235, 235) 0px 0px 0px 1px;--shadow-subtle: rgba(0, 0, 0, .04) 0px 2px 2px;--shadow-card: rgba(0, 0, 0, .08) 0px 0px 0px 1px, rgba(0, 0, 0, .04) 0px 2px 2px, rgba(0, 0, 0, .04) 0px 8px 8px -8px, #fafafa 0px 0px 0px 1px;--shadow-hover: rgba(0, 0, 0, .08) 0px 0px 0px 1px, rgba(0, 0, 0, .06) 0px 4px 8px, rgba(0, 0, 0, .02) 0px 12px 16px -4px;--link-color: var(--bases-primary);--focus-ring-color: var(--bases-primary);--heading-font-weight: var(--font-weight-semibold);--heading-line-height: var(--line-height-tight);--heading-margin-bottom: var(--spacing-4);--body-font-weight: var(--font-weight-normal);--body-line-height: var(--line-height-loose);--body-margin-bottom: var(--spacing-4);--button-font-weight: var(--font-weight-medium);--button-line-height: var(--line-height-button);--button-padding: var(--spacing-2) var(--spacing-4);--button-border-radius: var(--radius-standard);--code-font-family: var(--font-mono);--code-font-size: 1rem;--code-background-color: var(--glass-bg, hsla(0, 0%, 98%, 1));--code-padding: var(--spacing-1) var(--spacing-2);--code-border-radius: var(--radius-micro);--list-margin-bottom: var(--spacing-4);--list-padding-left: var(--spacing-6);--list-item-margin-bottom: var(--spacing-2);--table-shadow: var(--shadow-border);--table-cell-padding: var(--spacing-3) var(--spacing-4);--quote-shadow: var(--shadow-border);--quote-background-color: var(--glass-bg, hsla(0, 0%, 98%, 1));--quote-padding: var(--spacing-6);--quote-margin: var(--spacing-6) 0;--quote-border-radius: 0 var(--radius-comfortable) var(--radius-comfortable) 0;--divider-color: #ebebeb;--divider-height: 1px;--divider-margin: var(--spacing-8) 0;--selection-bg: hsla(0, 0%, 95%, 1)}::selection{background-color:var(--selection-bg)}::-moz-selection{background-color:var(--selection-bg)}h1,.h1{font-size:var(--font-size-display);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tightest);letter-spacing:var(--letter-spacing-tightest);margin-bottom:var(--heading-margin-bottom);color:var(--text-color)}h2,.h2{font-size:var(--font-size-section);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tighter);margin-bottom:var(--heading-margin-bottom);color:var(--text-color)}h3,.h3{font-size:var(--font-size-subheading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--heading-margin-bottom);color:var(--text-color)}h4,.h4{font-size:var(--font-size-card-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--heading-margin-bottom);color:var(--text-color)}h5,.h5{font-size:var(--font-size-body-large);font-weight:var(--font-weight-medium);line-height:var(--line-height-loose);letter-spacing:var(--letter-spacing-none);margin-bottom:var(--spacing-3);color:var(--text-color)}h6,.h6{font-size:var(--font-size-button);font-weight:var(--font-weight-medium);line-height:1.75;letter-spacing:.05em;margin-bottom:var(--spacing-2);color:var(--text-secondary)}p{font-weight:var(--body-font-weight);line-height:var(--body-line-height);margin-bottom:var(--body-margin-bottom);color:var(--text-color)}.body-large{font-size:var(--font-size-body-large);font-weight:var(--font-weight-normal);line-height:var(--line-height-loose);color:var(--text-secondary)}.body-text{font-size:var(--font-size-body);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--text-secondary)}.body-small{font-size:var(--font-size-body-small);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--text-color)}.body-medium{font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium);line-height:var(--line-height-base);color:var(--text-color)}.body-semibold{font-size:var(--font-size-body-small);font-weight:var(--font-weight-semibold);line-height:var(--line-height-base);letter-spacing:var(--letter-spacing-relaxed);color:var(--text-color)}ul,ol{margin-bottom:var(--list-margin-bottom);padding-left:var(--list-padding-left)}li{margin-bottom:var(--list-item-margin-bottom);color:var(--text-color);line-height:var(--line-height-relaxed)}ul li{list-style-type:disc}ol li{list-style-type:decimal}a{color:var(--link-color);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}a:hover{color:var(--link-hover-color);text-decoration:underline}a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-subtle)}code{font-family:var(--code-font-family);font-size:.9em;background-color:var(--glass-bg, hsla(0, 0%, 98%, 1));padding:var(--code-padding);border-radius:var(--code-border-radius);color:var(--bases-primary);border:1px solid var(--glass-border, rgba(158, 148, 216, .3))}pre{font-family:var(--code-font-family);font-size:var(--code-font-size);font-weight:var(--font-weight-normal);line-height:var(--line-height-mono);background-color:var(--card-bg, hsla(0, 0%, 98%, 1));padding:var(--spacing-4);border-radius:var(--radius-comfortable);overflow-x:auto;margin-bottom:var(--body-margin-bottom);box-shadow:0 4px 12px var(--shadow-color, rgba(109, 91, 154, .2))}pre code{background-color:transparent;padding:0;border-radius:0;box-shadow:none}.mono-body{font-family:var(--font-mono);font-size:var(--font-size-body-small);font-weight:var(--font-weight-normal);line-height:var(--line-height-mono)}.mono-caption{font-family:var(--font-mono);font-size:var(--font-size-mono-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-mono-caption)}.mono-small{font-family:var(--font-mono);font-size:var(--font-size-mono-small);font-weight:var(--font-weight-medium);line-height:var(--line-height-mono-tight);text-transform:uppercase}table{width:100%;border-collapse:collapse;margin-bottom:var(--body-margin-bottom);background:var(--card-bg, rgba(255, 255, 255, .8));border-radius:var(--radius-comfortable);overflow:hidden;box-shadow:0 2px 8px var(--shadow-color, rgba(109, 91, 154, .2))}th,td{padding:var(--table-cell-padding);text-align:left;color:var(--text-color);border-bottom:1px solid var(--glass-border, #ebebeb)}th{font-weight:var(--font-weight-semibold);background-color:var(--glass-bg, hsla(0, 0%, 98%, 1))}tr:last-child td{border-bottom:none}tr:hover td{background-color:var(--glass-bg, hsla(0, 0%, 98%, .5))}blockquote{border-left:4px solid var(--bases-primary);background-color:var(--quote-background-color);padding:var(--quote-padding);margin:var(--quote-margin);border-radius:var(--quote-border-radius);color:var(--text-secondary);font-style:italic;line-height:var(--line-height-relaxed)}blockquote p{margin-bottom:0;color:inherit}hr{border:none;height:2px;background:linear-gradient(90deg,transparent,var(--bases-primary),transparent);margin:var(--divider-margin)}.button-text{font-size:var(--font-size-button);font-weight:var(--font-weight-medium);line-height:var(--line-height-button);color:var(--bases-primary)}.button-small{font-size:var(--font-size-button);font-weight:var(--font-weight-normal);line-height:var(--line-height-tightest)}.caption{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-caption);color:var(--text-tertiary)}.micro-badge{font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);line-height:var(--line-height-mono-tight);text-transform:uppercase;letter-spacing:.05em}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-underline{text-decoration:underline}.text-no-underline{text-decoration:none}.text-normal{font-style:normal}.text-italic{font-style:italic}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-break{word-break:break-word;overflow-wrap:break-word}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-tightest{line-height:1}.leading-tight{line-height:1.2}.leading-snug{line-height:1.25}.leading-normal{line-height:1.33}.leading-base{line-height:1.5}.leading-relaxed{line-height:1.56}.leading-loose{line-height:1.8}.tracking-tightest{letter-spacing:-2.4px}.tracking-tighter{letter-spacing:-2px}.tracking-tight{letter-spacing:-1.28px}.tracking-normal{letter-spacing:-.96px}.tracking-relaxed{letter-spacing:-.32px}.tracking-none{letter-spacing:0}.space-y-0>:not([hidden])~:not([hidden]){margin-top:0}.space-y-1>:not([hidden])~:not([hidden]){margin-top:4px}.space-y-2>:not([hidden])~:not([hidden]){margin-top:8px}.space-y-3>:not([hidden])~:not([hidden]){margin-top:12px}.space-y-4>:not([hidden])~:not([hidden]){margin-top:16px}.space-y-5>:not([hidden])~:not([hidden]){margin-top:20px}.space-y-6>:not([hidden])~:not([hidden]){margin-top:24px}.space-y-8>:not([hidden])~:not([hidden]){margin-top:32px}.space-y-10>:not([hidden])~:not([hidden]){margin-top:40px}.space-y-12>:not([hidden])~:not([hidden]){margin-top:48px}@media(max-width:1024px){h1,.h1{font-size:var(--font-size-section);letter-spacing:var(--letter-spacing-tighter)}h2,.h2{font-size:var(--font-size-subheading);letter-spacing:var(--letter-spacing-tight)}h3,.h3{font-size:var(--font-size-card-title);letter-spacing:var(--letter-spacing-normal)}h4,.h4{font-size:var(--font-size-body-large);letter-spacing:var(--letter-spacing-none)}}@media(max-width:768px){h1,.h1{font-size:2.5rem;letter-spacing:var(--letter-spacing-tighter)}h2,.h2{font-size:var(--font-size-subheading);letter-spacing:var(--letter-spacing-tight)}h3,.h3{font-size:var(--font-size-body-large);letter-spacing:var(--letter-spacing-none)}h4,.h4{font-size:var(--font-size-body);letter-spacing:var(--letter-spacing-none)}body{font-size:var(--font-size-body-small)}p{line-height:var(--line-height-relaxed)}ul,ol{--list-padding-left: var(--spacing-4)}}@media(max-width:480px){h1,.h1{font-size:var(--font-size-subheading);letter-spacing:var(--letter-spacing-tight)}h2,.h2{font-size:var(--font-size-card-title);letter-spacing:var(--letter-spacing-normal)}h3,.h3{font-size:var(--font-size-body-large);letter-spacing:var(--letter-spacing-none)}h4,.h4{font-size:var(--font-size-body-small);letter-spacing:var(--letter-spacing-none)}body{font-size:var(--font-size-button)}}:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-subtle)}@media(prefers-contrast:high){:root{--text-color: #000000;--text-secondary: #333333;--divider-color: #000000}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}h1,h2,h3,h4,h5,h6{page-break-after:avoid}p,blockquote,ul,ol,dl,table{page-break-inside:avoid}img{max-width:100%!important;page-break-inside:avoid}pre,code{border:1px solid #999;page-break-inside:avoid}}:root{--vercel-black: #171717;--vercel-white: #ffffff;--vercel-true-black: #000000;--vercel-gray-900: #171717;--vercel-gray-800: #2a2a2a;--vercel-gray-700: #404040;--vercel-gray-600: #4d4d4d;--vercel-gray-500: #666666;--vercel-gray-400: #808080;--vercel-gray-300: #999999;--vercel-gray-200: #b3b3b3;--vercel-gray-100: #ebebeb;--vercel-gray-50: #fafafa;--vercel-ship-red: #ff5b4f;--vercel-preview-pink: #de1d8d;--vercel-develop-blue: #0a72ef;--vercel-console-blue: #0070f3;--vercel-console-purple: #7928ca;--vercel-console-pink: #eb367f;--vercel-link-blue: #0072f5;--vercel-link-hover: #0051cc;--vercel-focus-blue: hsla(212, 100%, 48%, 1);--vercel-ring-color: rgba(147, 197, 253, .5);--vercel-overlay-backdrop: hsla(0, 0%, 98%, 1);--vercel-selection-text: hsla(0, 0%, 95%, 1);--vercel-badge-blue-bg: #ebf5ff;--vercel-badge-blue-text: #0068d6;--vercel-shadow-border: rgba(0, 0, 0, .08) 0px 0px 0px 1px;--vercel-shadow-light-border: rgb(235, 235, 235) 0px 0px 0px 1px;--vercel-shadow-subtle: rgba(0, 0, 0, .04) 0px 2px 2px;--vercel-shadow-card: rgba(0, 0, 0, .08) 0px 0px 0px 1px, rgba(0, 0, 0, .04) 0px 2px 2px, rgba(0, 0, 0, .04) 0px 8px 8px -8px, #fafafa 0px 0px 0px 1px;--vercel-shadow-hover: rgba(0, 0, 0, .08) 0px 0px 0px 1px, rgba(0, 0, 0, .06) 0px 4px 8px, rgba(0, 0, 0, .02) 0px 12px 16px -4px;--vercel-shadow-focus: 0 0 0 2px var(--vercel-focus-blue), 0 0 0 4px var(--vercel-ring-color);--vercel-font-family: "MiSans VF", "MiSans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--vercel-mono-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--vercel-weight-normal: 400;--vercel-weight-medium: 500;--vercel-weight-semibold: 600;--vercel-weight-bold: 700;--vercel-tracking-tightest: -2.4px;--vercel-tracking-tighter: -2px;--vercel-tracking-tight: -1.28px;--vercel-tracking-normal: -.96px;--vercel-tracking-relaxed: -.32px;--vercel-tracking-none: 0;--vercel-leading-tightest: 1;--vercel-leading-tight: 1.2;--vercel-leading-snug: 1.25;--vercel-leading-normal: 1.33;--vercel-leading-base: 1.5;--vercel-leading-relaxed: 1.56;--vercel-leading-loose: 1.8;--vercel-leading-button: 1.43;--vercel-leading-caption: 1.33;--vercel-leading-mono: 1.5;--vercel-leading-mono-caption: 1.54;--vercel-leading-mono-tight: 1;--vercel-font-size-display: 3rem;--vercel-font-size-section: 2.5rem;--vercel-font-size-subheading: 2rem;--vercel-font-size-card-title: 1.5rem;--vercel-font-size-body-large: 1.25rem;--vercel-font-size-body: 1.125rem;--vercel-font-size-body-small: 1rem;--vercel-font-size-button: .875rem;--vercel-font-size-caption: .75rem;--vercel-font-size-mono-caption: .81rem;--vercel-font-size-mono-small: .75rem;--vercel-font-size-micro: .44rem;--vercel-space-0: 0;--vercel-space-1: 4px;--vercel-space-2: 8px;--vercel-space-3: 12px;--vercel-space-4: 16px;--vercel-space-5: 20px;--vercel-space-6: 24px;--vercel-space-8: 32px;--vercel-space-10: 40px;--vercel-space-12: 48px;--vercel-space-14: 56px;--vercel-space-16: 64px;--vercel-space-20: 80px;--vercel-space-24: 96px;--vercel-space-32: 128px;--vercel-space-36: 144px;--vercel-space-40: 160px;--vercel-radius-micro: 2px;--vercel-radius-subtle: 4px;--vercel-radius-standard: 6px;--vercel-radius-comfortable: 8px;--vercel-radius-image: 12px;--vercel-radius-large: 64px;--vercel-radius-xl: 100px;--vercel-radius-pill: 9999px;--vercel-radius-circle: 50%;--vercel-duration-instant: 0ms;--vercel-duration-fast: .15s;--vercel-duration-normal: .25s;--vercel-duration-slow: .35s;--vercel-duration-slower: .5s;--vercel-ease-in: cubic-bezier(.4, 0, 1, 1);--vercel-ease-out: cubic-bezier(0, 0, .2, 1);--vercel-ease-in-out: cubic-bezier(.4, 0, .2, 1);--vercel-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--vercel-container-max-width: 1200px;--vercel-container-padding: 32px;--vercel-section-padding: 80px;--vercel-breakpoint-xs: 0;--vercel-breakpoint-sm: 400px;--vercel-breakpoint-md: 600px;--vercel-breakpoint-lg: 768px;--vercel-breakpoint-xl: 1024px;--vercel-breakpoint-2xl: 1200px;--vercel-breakpoint-3xl: 1400px}*{box-sizing:border-box;margin:0;padding:0}*,*:before,*:after{font-feature-settings:"liga" 1,"kern" 1}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--vercel-font-family);font-weight:var(--vercel-weight-normal);line-height:var(--vercel-leading-relaxed);color:var(--text-color, var(--vercel-black));background:var(--background-color, var(--vercel-white))}::selection{background-color:var(--vercel-selection-text)}::-moz-selection{background-color:var(--vercel-selection-text)}.vercel-display-hero{font-size:clamp(2.5rem,5vw,var(--vercel-font-size-display));font-weight:var(--vercel-weight-semibold);line-height:var(--vercel-leading-tightest);letter-spacing:var(--vercel-tracking-tightest);color:var(--text-color, var(--vercel-black))}.vercel-section-heading{font-size:clamp(2rem,4vw,var(--vercel-font-size-section));font-weight:var(--vercel-weight-semibold);line-height:var(--vercel-leading-tight);letter-spacing:var(--vercel-tracking-tighter);color:var(--text-color, var(--vercel-black))}.vercel-subheading-large{font-size:var(--vercel-font-size-subheading);font-weight:var(--vercel-weight-semibold);line-height:var(--vercel-leading-snug);letter-spacing:var(--vercel-tracking-tight);color:var(--text-color, var(--vercel-black))}.vercel-subheading{font-size:var(--vercel-font-size-subheading);font-weight:var(--vercel-weight-normal);line-height:var(--vercel-leading-normal);letter-spacing:var(--vercel-tracking-tight);color:var(--text-color, var(--vercel-black))}.vercel-card-title{font-size:var(--vercel-font-size-card-title);font-weight:var(--vercel-weight-semibold);line-height:var(--vercel-leading-normal);letter-spacing:var(--vercel-tracking-normal);color:var(--text-color, var(--vercel-black))}.vercel-card-title-light{font-size:var(--vercel-font-size-card-title);font-weight:var(--vercel-weight-medium);line-height:var(--vercel-leading-normal);letter-spacing:var(--vercel-tracking-normal);color:var(--text-color, var(--vercel-black))}.vercel-body-large{font-size:var(--vercel-font-size-body-large);font-weight:var(--vercel-weight-normal);line-height:var(--vercel-leading-loose);color:var(--text-secondary, var(--vercel-gray-600))}.vercel-body{font-size:var(--vercel-font-size-body);font-weight:var(--vercel-weight-normal);line-height:var(--vercel-leading-relaxed);color:var(--text-secondary, var(--vercel-gray-600))}.vercel-body-small{font-size:var(--vercel-font-size-body-small);font-weight:var(--vercel-weight-normal);line-height:var(--vercel-leading-base);color:var(--text-color, var(--vercel-black))}.vercel-body-medium{font-size:var(--vercel-font-size-body-small);font-weight:var(--vercel-weight-medium);line-height:var(--vercel-leading-base);color:var(--text-color, var(--vercel-black))}.vercel-body-semibold{font-size:var(--vercel-font-size-body-small);font-weight:var(--vercel-weight-semibold);line-height:var(--vercel-leading-base);letter-spacing:var(--vercel-tracking-relaxed);color:var(--text-color, var(--vercel-black))}.vercel-button-text{font-size:var(--vercel-font-size-button);font-weight:var(--vercel-weight-medium);line-height:var(--vercel-leading-button);color:var(--vercel-link-blue)}.vercel-caption{font-size:var(--vercel-font-size-caption);font-weight:var(--vercel-weight-medium);line-height:var(--vercel-leading-caption);color:var(--text-tertiary, var(--vercel-gray-500))}.vercel-mono-body{font-family:var(--vercel-mono-family);font-size:var(--vercel-font-size-body-small);font-weight:var(--vercel-weight-normal);line-height:var(--vercel-leading-mono)}.vercel-mono-caption{font-family:var(--vercel-mono-family);font-size:var(--vercel-font-size-mono-caption);font-weight:var(--vercel-weight-medium);line-height:var(--vercel-leading-mono-caption)}.vercel-mono-small{font-family:var(--vercel-mono-family);font-size:var(--vercel-font-size-mono-small);font-weight:var(--vercel-weight-medium);line-height:var(--vercel-leading-mono-tight);text-transform:uppercase}.vercel-micro-badge{font-size:var(--vercel-font-size-micro);font-weight:var(--vercel-weight-bold);line-height:var(--vercel-leading-mono-tight);text-transform:uppercase;letter-spacing:.05em}.vercel-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;border-radius:var(--vercel-radius-standard);font-family:var(--vercel-font-family);font-size:14px;font-weight:var(--vercel-weight-medium);line-height:var(--vercel-leading-button);text-decoration:none;border:none;cursor:pointer;transition:all var(--vercel-duration-fast) var(--vercel-ease-out);position:relative;overflow:hidden;letter-spacing:var(--vercel-tracking-none)}.vercel-btn-primary{background:var(--vercel-black);color:var(--vercel-white);box-shadow:var(--vercel-shadow-border)}.vercel-btn-primary:hover{transform:translateY(-1px);box-shadow:var(--vercel-shadow-hover)}.vercel-btn-secondary{background:var(--vercel-white);color:var(--vercel-black);box-shadow:var(--vercel-shadow-border)}.vercel-btn-secondary:hover{transform:translateY(-1px);box-shadow:var(--vercel-shadow-hover)}.vercel-btn:focus-visible{outline:2px solid var(--vercel-focus-blue);outline-offset:2px}.vercel-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--vercel-radius-pill);background:var(--vercel-badge-blue-bg);color:var(--vercel-badge-blue-text);font-size:12px;font-weight:var(--vercel-weight-medium);text-transform:uppercase;letter-spacing:.05em}.vercel-badge-red{background:#fff0ed;color:var(--vercel-ship-red)}.vercel-badge-pink{background:#fcebf4;color:var(--vercel-preview-pink)}.vercel-badge-blue{background:var(--vercel-badge-blue-bg);color:var(--vercel-develop-blue)}.vercel-card{background:var(--card-bg, var(--vercel-white));border-radius:var(--vercel-radius-comfortable);padding:var(--vercel-space-8);box-shadow:var(--vercel-shadow-card);transition:all var(--vercel-duration-fast) var(--vercel-ease-out);position:relative;overflow:hidden}.vercel-card:hover{transform:translateY(-2px);box-shadow:var(--vercel-shadow-hover)}.vercel-card-featured{border-radius:var(--vercel-radius-image);box-shadow:var(--vercel-shadow-card)}.vercel-input{width:100%;padding:10px 14px;border-radius:var(--vercel-radius-standard);font-family:var(--vercel-font-family);font-size:14px;font-weight:var(--vercel-weight-normal);color:var(--text-color, var(--vercel-black));background:var(--vercel-white);box-shadow:var(--vercel-shadow-border);transition:all var(--vercel-duration-fast) var(--vercel-ease-out);outline:none}.vercel-input:focus{box-shadow:var(--vercel-shadow-border),0 0 0 3px #93c5fd26}.vercel-input::placeholder{color:var(--vercel-gray-400)}.vercel-link{color:var(--vercel-link-blue);text-decoration:none;font-weight:var(--vercel-weight-medium);transition:color var(--vercel-duration-fast) var(--vercel-ease-out)}.vercel-link:hover{color:var(--vercel-link-hover);text-decoration:underline}.vercel-workflow-pipeline{display:flex;align-items:flex-start;justify-content:center;gap:var(--vercel-space-8);padding:var(--vercel-space-12) 0}.vercel-workflow-step{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:200px}.vercel-workflow-step-label{font-family:var(--vercel-mono-family);font-size:var(--vercel-font-size-mono-small);font-weight:var(--vercel-weight-medium);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--vercel-space-2)}.vercel-workflow-step-title{font-size:var(--vercel-font-size-card-title);font-weight:var(--vercel-weight-semibold);line-height:var(--vercel-leading-normal);letter-spacing:var(--vercel-tracking-normal);margin-bottom:var(--vercel-space-2)}.vercel-workflow-step-desc{font-size:var(--vercel-font-size-body-small);font-weight:var(--vercel-weight-normal);line-height:var(--vercel-leading-base);color:var(--vercel-gray-600)}.vercel-workflow-step.develop .vercel-workflow-step-label,.vercel-workflow-step.develop .vercel-workflow-step-title{color:var(--vercel-develop-blue)}.vercel-workflow-step.preview .vercel-workflow-step-label,.vercel-workflow-step.preview .vercel-workflow-step-title{color:var(--vercel-preview-pink)}.vercel-workflow-step.ship .vercel-workflow-step-label,.vercel-workflow-step.ship .vercel-workflow-step-title{color:var(--vercel-ship-red)}.vercel-metric-card{background:var(--card-bg, var(--vercel-white));border-radius:var(--vercel-radius-comfortable);padding:var(--vercel-space-8);box-shadow:var(--vercel-shadow-card);text-align:center}.vercel-metric-value{font-size:var(--vercel-font-size-display);font-weight:var(--vercel-weight-semibold);line-height:var(--vercel-leading-tightest);letter-spacing:var(--vercel-tracking-tightest);color:var(--text-color, var(--vercel-black))}.vercel-metric-label{font-size:var(--vercel-font-size-body-small);font-weight:var(--vercel-weight-normal);line-height:var(--vercel-leading-base);color:var(--vercel-gray-600);margin-top:var(--vercel-space-2)}.vercel-trust-bar{display:flex;align-items:center;justify-content:center;gap:var(--vercel-space-10);padding:var(--vercel-space-8) 0;border-top:1px solid var(--vercel-gray-100);border-bottom:1px solid var(--vercel-gray-100);flex-wrap:wrap}.vercel-trust-logo{opacity:.5;filter:grayscale(100%);transition:all var(--vercel-duration-fast) var(--vercel-ease-out);max-height:32px}.vercel-trust-logo:hover{opacity:1;filter:grayscale(0%)}.vercel-container{max-width:var(--vercel-container-max-width);width:100%;margin:0 auto;padding:0 var(--vercel-container-padding)}.vercel-section{padding:var(--vercel-section-padding) 0;position:relative}.vercel-grid{display:grid;gap:var(--vercel-space-6)}.vercel-grid-cols-2{grid-template-columns:repeat(2,1fr)}.vercel-grid-cols-3{grid-template-columns:repeat(3,1fr)}.vercel-grid-cols-4{grid-template-columns:repeat(4,1fr)}.vercel-flex{display:flex;align-items:center;gap:var(--vercel-space-4)}.vercel-flex-between{display:flex;align-items:center;justify-content:space-between}.vercel-flex-center{display:flex;align-items:center;justify-content:center}@media(max-width:1200px){:root{--vercel-container-padding: var(--vercel-space-8)}.vercel-grid-cols-4{grid-template-columns:repeat(3,1fr)}.vercel-section{padding:64px 0}}@media(max-width:1024px){:root{--vercel-container-padding: 24px}.vercel-grid-cols-3,.vercel-grid-cols-4{grid-template-columns:repeat(2,1fr)}.vercel-section{padding:64px 0}.vercel-display-hero{font-size:2.5rem;letter-spacing:var(--vercel-tracking-tighter)}.vercel-section-heading{font-size:2rem;letter-spacing:var(--vercel-tracking-tight)}.vercel-workflow-pipeline{flex-direction:column;gap:var(--vercel-space-6)}}@media(max-width:768px){:root{--vercel-container-padding: var(--vercel-space-4)}.vercel-grid-cols-2,.vercel-grid-cols-3,.vercel-grid-cols-4{grid-template-columns:1fr}.vercel-section{padding:48px 0}.vercel-display-hero{font-size:2.5rem;letter-spacing:var(--vercel-tracking-tighter)}.vercel-section-heading{font-size:2rem;letter-spacing:var(--vercel-tracking-tight)}.vercel-trust-bar{gap:var(--vercel-space-6)}}@media(max-width:600px){:root{--vercel-container-padding: var(--vercel-space-4)}.vercel-section{padding:40px 0}.vercel-display-hero{font-size:2rem;letter-spacing:var(--vercel-tracking-tight)}.vercel-section-heading{font-size:1.75rem;letter-spacing:var(--vercel-tracking-normal)}.vercel-metric-value{font-size:2.5rem}}@media(max-width:400px){:root{--vercel-container-padding: var(--vercel-space-3)}.vercel-section{padding:32px 0}.vercel-display-hero{font-size:1.75rem;letter-spacing:var(--vercel-tracking-normal)}.vercel-section-heading{font-size:1.5rem;letter-spacing:var(--vercel-tracking-none)}}.vercel-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.vercel-focus-ring:focus-visible{outline:2px solid var(--vercel-focus-blue);outline-offset:2px}:root{--breakpoint-mobile-small: 400px;--breakpoint-mobile: 600px;--breakpoint-tablet-small: 768px;--breakpoint-tablet: 1024px;--breakpoint-desktop-small: 1200px;--breakpoint-desktop: 1400px;--container-max-width: 1200px;--container-padding: 32px;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--space-36: 144px;--space-40: 160px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--leading-tightest: 1;--leading-tight: 1.2;--leading-snug: 1.25;--leading-normal: 1.33;--leading-base: 1.5;--leading-relaxed: 1.56;--leading-loose: 1.8;--leading-button: 1.43;--duration-instant: 0ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--shadow-border: rgba(0, 0, 0, .08) 0px 0px 0px 1px;--shadow-light-border: rgb(235, 235, 235) 0px 0px 0px 1px;--shadow-subtle: rgba(0, 0, 0, .04) 0px 2px 2px;--shadow-card: rgba(0, 0, 0, .08) 0px 0px 0px 1px, rgba(0, 0, 0, .04) 0px 2px 2px, rgba(0, 0, 0, .04) 0px 8px 8px -8px, #fafafa 0px 0px 0px 1px;--shadow-hover: rgba(0, 0, 0, .08) 0px 0px 0px 1px, rgba(0, 0, 0, .06) 0px 4px 8px, rgba(0, 0, 0, .02) 0px 12px 16px -4px}.container{max-width:var(--container-max-width);width:100%;margin:0 auto;padding:0 var(--container-padding)}.container-fluid{width:100%;padding:0 var(--space-4)}.container-narrow{max-width:800px;margin:0 auto;padding:0 var(--space-6)}.container-wide{max-width:1400px;margin:0 auto;padding:0 var(--space-4)}.grid{display:grid;gap:var(--space-6)}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-cols-fit{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(min-width:1400px){:root{--container-padding: var(--space-10)}}@media(max-width:1200px){:root{--container-padding: var(--space-8)}.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){:root{--container-padding: 24px}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}body{font-size:var(--font-size-base)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}p{line-height:var(--leading-relaxed)}ul,ol{padding-left:var(--space-4)}}@media(max-width:768px){:root{--container-padding: var(--space-4)}.container,.container-fluid,.container-narrow{padding:0 var(--space-4)}.container-wide{padding:0 var(--space-3)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.grid{gap:var(--space-4)}body{font-size:var(--font-size-base)}h1{font-size:2.5rem}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{line-height:var(--leading-relaxed)}ul,ol{padding-left:var(--space-4)}.card{padding:var(--space-4)}.card-title{font-size:var(--font-size-xl)}.card-content{font-size:var(--font-size-base)}.nav{padding:var(--space-3) var(--space-4)}.nav-menu{flex-direction:column;gap:var(--space-2)}.footer{padding:var(--space-6) var(--space-4)}.footer-content{grid-template-columns:repeat(1,1fr);gap:var(--space-4)}.section{padding:var(--space-16) 0}}@media(max-width:600px){:root{--container-padding: var(--space-4)}.container,.container-fluid,.container-narrow{padding:0 var(--space-3)}.container-wide{padding:0 var(--space-2)}.grid{gap:var(--space-3)}body{font-size:var(--font-size-sm)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base)}p{line-height:var(--leading-relaxed)}ul,ol{padding-left:var(--space-3)}.section{padding:var(--space-12) 0}}@media(max-width:400px){:root{--container-padding: var(--space-3)}.container,.container-fluid,.container-narrow,.container-wide{padding:0 var(--space-2)}.grid{gap:var(--space-2)}body{font-size:var(--font-size-sm)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base)}.section{padding:var(--space-8) 0}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out);will-change:opacity}.animate-slide-up{animation:slideUp var(--duration-normal) var(--ease-out);will-change:opacity,transform}.animate-slide-down{animation:slideDown var(--duration-normal) var(--ease-out);will-change:opacity,transform}.animate-scale-in{animation:scaleIn var(--duration-fast) var(--ease-bounce);will-change:opacity,transform}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.animate-fast{animation-duration:var(--duration-fast)}.animate-normal{animation-duration:var(--duration-normal)}.animate-slow{animation-duration:var(--duration-slow)}.animate-slower{animation-duration:var(--duration-slower)}.hover-lift{transition:all var(--duration-normal) var(--ease-out);will-change:transform,box-shadow}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.hover-scale{transition:all var(--duration-fast) var(--ease-out);will-change:transform}.hover-scale:hover{transform:scale(1.05)}.btn{position:relative;overflow:hidden;transition:all var(--duration-normal) var(--ease-out);transform:translateZ(0)}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--duration-slow) var(--ease-out)}.btn:hover:before{left:100%}.loading{position:relative;color:transparent}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #93c5fd26}.card{transition:all var(--duration-normal) var(--ease-out);transform:translateZ(0)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px)}.card-interactive:active{transform:translateY(0)}::selection{background-color:#f2f2f2;color:inherit}::-moz-selection{background-color:#f2f2f2;color:inherit}@media(max-width:768px){button,a,.btn,.nav-link,.menu-item{min-width:44px;min-height:44px;padding:var(--space-2) var(--space-4)}input,select,textarea{min-height:44px;padding:var(--space-2) var(--space-3)}}img{max-width:100%;height:auto}video{max-width:100%;height:auto}iframe{max-width:100%;height:auto}@media(max-width:768px){.responsive-img{object-fit:cover;width:100%}}@media(max-width:768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}}@media(max-width:600px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}}@media(max-width:400px){.xs\:hidden{display:none}.xs\:block{display:block}.xs\:flex{display:flex}.xs\:grid{display:grid}}@media(max-width:768px){.md\:p-0{padding:0}.md\:p-2{padding:var(--space-2)}.md\:p-3{padding:var(--space-3)}.md\:p-4{padding:var(--space-4)}.md\:m-0{margin:0}.md\:m-2{margin:var(--space-2)}.md\:m-3{margin:var(--space-3)}.md\:m-4{margin:var(--space-4)}.md\:gap-2{gap:var(--space-2)}.md\:gap-3{gap:var(--space-3)}.md\:gap-4{gap:var(--space-4)}.md\:text-center{text-align:center}.md\:flex-col{flex-direction:column}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}}@media(max-width:600px){.sm\:p-0{padding:0}.sm\:p-2{padding:var(--space-2)}.sm\:p-3{padding:var(--space-3)}.sm\:p-4{padding:var(--space-4)}.sm\:m-0{margin:0}.sm\:m-2{margin:var(--space-2)}.sm\:m-3{margin:var(--space-3)}.sm\:m-4{margin:var(--space-4)}.sm\:gap-2{gap:var(--space-2)}.sm\:gap-3{gap:var(--space-3)}.sm\:gap-4{gap:var(--space-4)}.sm\:text-center{text-align:center}.sm\:flex-col{flex-direction:column}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}}@media(max-width:768px){.animate{animation-duration:var(--duration-fast)}.mobile-no-animate{animation:none;transition:none}*{-webkit-overflow-scrolling:touch}html{overflow-x:hidden}body{overflow-x:hidden;position:relative}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.split-char{font-kerning:none;text-rendering:optimizeSpeed;will-change:transform,opacity}.split-word{display:inline-block;will-change:transform,opacity}.split-line{display:block;overflow:hidden;will-change:transform,opacity}.split-char.is-visible,.split-word.is-visible,.split-line.is-visible{opacity:1;transform:none}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--vercel-font-family, var(--font-primary));font-size:var(--vercel-font-size-base, var(--font-size-base));line-height:var(--vercel-leading-relaxed, var(--body-line-height));color:var(--text-color);background-color:var(--background-color)}a{text-decoration:none;color:var(--link-color);transition:all var(--vercel-duration-fast) var(--vercel-ease-out)}a:hover{color:var(--link-hover-color);text-decoration:none}ul li{list-style-type:none}section{padding:var(--spacing-16) 0}.section-title{font-size:var(--vercel-section-heading, var(--font-size-3xl));font-weight:var(--vercel-weight-semibold, var(--font-weight-bold));line-height:var(--vercel-leading-snug, var(--line-height-tight));margin-bottom:var(--spacing-4);color:var(--text-color);text-align:center;letter-spacing:var(--vercel-tracking-tighter)}.section-subtitle{font-size:var(--vercel-body-large, var(--font-size-lg));font-weight:var(--vercel-weight-normal);line-height:var(--vercel-leading-loose, var(--line-height-relaxed));margin-bottom:var(--spacing-8);color:var(--text-secondary);text-align:center;max-width:600px;margin-left:auto;margin-right:auto}.container{max-width:var(--vercel-container-max-width);width:100%;margin:0 auto;padding:0 var(--spacing-4)}.magnetic-corner-frame[data-v-f94cb0e2]{position:relative;--corner-active: 0;--corner-color: var(--ink, #171717);--corner-stroke: color-mix( in srgb, var(--corner-accent, #a78bfa) calc(var(--corner-active) * 100%), var(--corner-color) )}.magnetic-corner-frame__corner[data-v-f94cb0e2]{position:absolute;inset:0 auto auto 0;flex:0 0 auto;box-sizing:border-box;width:var(--corner-arm, 18px);height:var(--corner-arm, 18px);pointer-events:none;opacity:0;visibility:hidden;border-color:var(--corner-stroke);will-change:transform,opacity}.magnetic-corner-frame__corner--tl[data-v-f94cb0e2]{border-top:1px solid;border-left:1px solid}.magnetic-corner-frame__corner--tr[data-v-f94cb0e2]{border-top:1px solid;border-right:1px solid}.magnetic-corner-frame__corner--bl[data-v-f94cb0e2]{border-bottom:1px solid;border-left:1px solid}.magnetic-corner-frame__corner--br[data-v-f94cb0e2]{border-bottom:1px solid;border-right:1px solid}@media(pointer:coarse),(hover:none){.magnetic-corner-frame__corner[data-v-f94cb0e2]{display:none}}.magnetic-corner-frame.mcf-inline[data-v-f94cb0e2]{display:inline-block;width:fit-content}@media(prefers-reduced-motion:reduce){.magnetic-corner-frame__corner[data-v-f94cb0e2]{will-change:auto}}.gradual-blur[data-v-f10cb179]{position:absolute;z-index:5;pointer-events:none;isolation:isolate}.gradual-blur__layer[data-v-f10cb179],.gradual-blur__tint[data-v-f10cb179]{position:absolute;inset:0}.gradual-blur__tint[data-v-f10cb179]{background:linear-gradient(to right,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 100%),transparent) 0%,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 55%),transparent) 42%,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 16%),transparent) 74%,transparent 100%)}.gradual-blur--right .gradual-blur__tint[data-v-f10cb179]{background:linear-gradient(to left,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 100%),transparent) 0%,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 55%),transparent) 42%,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 16%),transparent) 74%,transparent 100%)}.gradual-blur--top .gradual-blur__tint[data-v-f10cb179]{background:linear-gradient(to bottom,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 100%),transparent) 0%,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 55%),transparent) 42%,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 16%),transparent) 74%,transparent 100%)}.gradual-blur--bottom .gradual-blur__tint[data-v-f10cb179]{background:linear-gradient(to top,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 100%),transparent) 0%,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 55%),transparent) 42%,color-mix(in srgb,var(--canvas) calc(var(--gb-edge-fade, .62) * 16%),transparent) 74%,transparent 100%)}@media(prefers-reduced-motion:reduce){.gradual-blur__layer[data-v-f10cb179]{display:none}}:root{--canvas: var(--background-color);--surface-1: #ffffff;--surface-2: #f4f4f5;--ink: var(--vercel-gray-900);--ink-muted: var(--vercel-gray-500);--subtle: #8f8f8f;--hairline: var(--vercel-gray-100);--accent: var(--primary-color);--gutter: 24px;--maxw: 1400px}html[data-theme=dark]{--surface-1: #0f1011;--surface-2: #17181a;--ink: #f7f8f8;--ink-muted: #8a8f98;--subtle: #6b7079;--hairline: #23252a}.home-page{min-height:100vh;background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}.home-page *{box-sizing:border-box}.home-page .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}.home-page .eyebrow{margin:0;font-size:13px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-muted)}.home-page .h2{margin:8px 0 0;font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.6px;color:var(--ink)}.home-page .h3{margin:8px 0 0;font-size:22px;font-weight:500;line-height:1.25;letter-spacing:-.4px;color:var(--ink)}.home-page .lead{margin:12px 0 0;font-size:16px;line-height:1.5;color:var(--ink-muted)}.home-page .body{margin:12px 0 0;max-width:720px;font-size:16px;line-height:1.5;color:var(--ink-muted)}.home-page .hairline{height:1px;background:var(--hairline);margin:24px 0}.home-page .btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 20px;border:1px solid transparent;border-radius:8px;font-size:15px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease}.home-page .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-page .btn--primary{background:var(--accent);color:#fff}.home-page .btn--primary:hover{opacity:.88}.home-page .btn--ghost{background:transparent;color:inherit;border-color:currentColor;opacity:.9}.home-page .btn--ghost:hover{opacity:1}.home-page .hero{position:relative;min-height:100vh;display:grid;place-items:center;padding:128px var(--gutter) 96px;overflow:hidden;--ink: #ffffff;--ink-muted: rgba(255, 255, 255, .74);--subtle: rgba(255, 255, 255, .6);--hairline: rgba(255, 255, 255, .24);color:#fff}@supports (min-height: 100svh){.home-page .hero{min-height:100svh}}.home-page .hero__bg{position:absolute;inset:0}.home-page .hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.home-page .hero__scrim{position:absolute;inset:0;background:#0006}.home-page .hero__inner{position:relative;z-index:2;width:100%;max-width:940px;text-align:center}.home-page .hero__content{padding:40px 24px}.home-page .hero__title{margin:20px 0 0;font-size:56px;font-weight:600;line-height:1.1;letter-spacing:-1.8px;color:#fff}.home-page .hero__rule{height:1px;width:min(320px,70%);margin:28px auto 0;background:linear-gradient(90deg,rgba(167,139,250,0) 0%,var(--accent) 50%,rgba(167,139,250,0) 100%)}.home-page .hero__sub{margin:24px auto 0;max-width:620px;font-size:18px;line-height:1.5;color:#ffffffc7}.home-page .hero__actions{margin-top:32px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.home-page .hero__actions .btn--ghost{color:#fff;border-color:#ffffff5c}.home-page .status{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:64px 0}.home-page .status__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.home-page .status__cell{padding:8px 4px}.home-page .status__value{display:flex;align-items:center;gap:10px;min-height:48px}.home-page .status__num{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:40px;font-weight:600;line-height:1.1;letter-spacing:-1px;color:var(--ink);font-variant-numeric:tabular-nums}.home-page .status__dot.is-offline{background:var(--danger, #e5484d);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger, #e5484d) 16%,transparent)}.home-page .status__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 auto}.home-page .status__label{margin-top:10px;font-size:13px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-muted)}.home-page .demo{padding:96px 0 0}.home-page .demo__grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start;min-height:240vh}.demo__left,.home-page .demo__right{position:sticky;top:120px;align-self:start}.home-page .demo__item{padding:24px 0;opacity:.22;will-change:opacity}.home-page .demo__item.is-active{opacity:1}.home-page .demo__head{display:flex;align-items:baseline;gap:12px}.home-page .demo__num{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.4px;color:var(--ink-muted);transition:color .35s ease}.home-page .demo__item.is-active .demo__num{color:var(--accent)}.home-page .demo__item.is-active .eyebrow{color:var(--ink)}.home-page .demo__title{margin:14px 0 0;font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.6px;color:var(--ink)}.home-page .demo__desc{margin:14px 0 0;max-width:480px;font-size:16px;line-height:1.5;color:var(--ink-muted)}.home-page .demo__media{position:relative;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;background:var(--surface-2)}.home-page .demo__media-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;will-change:transform,opacity}.home-page .gallery{padding:96px 0;overflow-x:clip}.home-page .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:40px}.home-page .section-head__text{max-width:720px}.home-page .progress{position:relative;width:160px;height:1px;background:var(--hairline);flex:0 0 auto;margin-bottom:6px}.home-page .progress__bar{position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left center;will-change:transform}.home-page .gallery__stage{position:relative;margin-inline:calc(50% - 50vw)}.home-page .gallery__rail{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding-inline:calc(50vw - 50%);padding-block:4px;scroll-padding-inline:calc(50vw - 50%);cursor:grab;touch-action:pan-y}.home-page .gallery__rail.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.home-page .gallery__item{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.home-page .gallery__rail::-webkit-scrollbar{display:none}.home-page .gallery__item{flex:0 0 auto;width:22vw;aspect-ratio:16 / 10;height:auto;object-fit:cover;border-radius:10px;display:block}.home-page .compare{padding:96px 0}.home-page .compare__grid{display:grid;grid-template-columns:7fr 5fr;gap:80px;align-items:start}.home-page .compare__col{display:block}.home-page .compare__figure{border-radius:16px;overflow:hidden;background:var(--surface-2)}.home-page .compare__figure img{display:block;width:100%;height:auto;object-fit:cover;will-change:transform}.home-page .compare__figure--wide img{aspect-ratio:16 / 10}.home-page .compare__figure--tall img{aspect-ratio:10 / 7}.home-page .compare__eyebrow{margin-top:28px}.home-page .tags{list-style:none;display:flex;gap:12px;margin:0;padding:0}.home-page .tag{flex:1 1 0;padding:10px 12px;border:1px solid var(--hairline);border-radius:8px;font-size:14px;color:var(--ink-muted);text-align:center;white-space:nowrap}.home-page .team{padding:96px 0}.home-page .team__list{margin-top:40px}.home-page .team__item{border-top:1px solid var(--hairline);padding:24px 0}.home-page .team__item:first-child{border-top:0}.home-page .team__item.is-offset{padding-left:8%}.home-page .team-row{display:block}.home-page .team-row__inner{display:flex;align-items:center;gap:20px}.home-page .team-row__idx{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13px;color:var(--subtle);flex:0 0 auto;width:24px}.home-page .team-row__avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto;box-shadow:0 0 0 1px var(--hairline);transition:transform .25s ease,box-shadow .25s ease}.home-page .team-row:hover .team-row__avatar{transform:scale(1.03);box-shadow:0 0 0 1px var(--accent)}.home-page .team-row__id{min-width:0}.home-page .team-row__name-row{display:flex;align-items:center;gap:10px}.home-page .team-row__name{font-size:22px;font-weight:500;line-height:1.25;letter-spacing:-.4px;color:var(--ink)}.home-page .team-row__owner{font-size:13px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;color:var(--accent)}.home-page .team-row__role{margin-top:4px;font-size:14px;color:var(--ink-muted)}.home-page .team-row__links{display:flex;align-items:center;gap:8px;margin-left:auto}.home-page .team-row__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--subtle);transition:color .18s ease}.home-page .team-row__icon:hover{color:var(--accent)}.home-page .team-row__icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-page .team-row__gh{flex:0 0 auto;font-size:14px;color:var(--ink-muted);text-decoration:none;transition:color .18s ease}.home-page .team-row__gh:hover{color:var(--accent);text-decoration:underline}.home-page .team-row__gh:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.home-page .cta{padding:96px 0 160px}.home-page .cta__panel{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:48px;border-radius:24px;background:var(--surface-2)}.home-page .cta__text .lead{max-width:520px}@media(prefers-reduced-motion:reduce){.team-row__avatar,.btn,.team-row__gh,.home-page .team-row__icon{transition:none}}@media(max-width:1024px){:root{--gutter: 20px}.home-page .hero__title{font-size:44px;letter-spacing:-1.2px}.home-page .status__grid{grid-template-columns:repeat(2,1fr);gap:32px}.home-page .status__grid>:nth-child(3){order:2}.home-page .status__grid>:nth-child(4){order:1}.home-page .demo__grid{grid-template-columns:1fr;gap:40px;min-height:0}.demo__left,.home-page .demo__right{position:static;top:auto}.home-page .demo__item{opacity:1}.home-page .compare__grid{gap:56px}.home-page .gallery__item{width:30vw}}@media(max-width:768px){:root{--gutter: 20px}.home-page .hero{padding:112px var(--gutter) 80px}.home-page .hero__title{font-size:36px;letter-spacing:-.8px}.home-page .hero__sub{font-size:16px}.home-page .demo{padding-top:80px}.home-page .demo__item{padding:20px 0}.home-page .gallery{padding:80px 0}.home-page .section-head{flex-direction:column;align-items:flex-start;gap:20px}.home-page .progress{width:100%}.home-page .gallery__item{width:46vw}.home-page .compare{padding:80px 0}.home-page .compare__grid{grid-template-columns:1fr;gap:56px}.home-page .team{padding:80px 0}.home-page .team__item.is-offset{padding-left:0}.home-page .cta{padding:80px 0 120px}.home-page .cta__panel{flex-direction:column;align-items:flex-start;gap:28px;padding:32px;border-radius:16px}}@media(max-width:480px){:root{--gutter: 16px}.home-page .hero__title{font-size:30px;letter-spacing:-.6px}.home-page .hero__content{padding:28px 16px}.home-page .status{padding:48px 0}.home-page .status__num{font-size:32px}.home-page .gallery__item{width:78vw}.home-page .team-row__idx{display:none}.home-page .team-row__inner{gap:12px;flex-wrap:wrap}.home-page .team-row__avatar{width:48px;height:48px}.home-page .team-row__name{font-size:18px}.home-page .team-row__links{margin-left:0}.home-page .team-row__gh{margin-left:auto}.home-page .tags{flex-direction:column}}.cursor-layer[data-v-792958ce]{position:fixed;inset:0;z-index:9999;pointer-events:none;contain:layout style;--cursor-mark: var(--ink, #171717);--cursor-size: 5px;--cursor-ring-size: 26px;--cursor-ring-opacity: .5;--cursor-ring-scale: 1}.cursor-layer[data-state=hover][data-v-792958ce]{--cursor-mark: var(--accent, #a78bfa);--cursor-size: 9px;--cursor-ring-size: 34px;--cursor-ring-opacity: .9;--cursor-ring-scale: 1.06}.cursor-layer[data-state=drag][data-v-792958ce]{--cursor-mark: var(--accent, #a78bfa);--cursor-size: 9px;--cursor-ring-size: 34px;--cursor-ring-opacity: .9;--cursor-ring-scale: 1.12}.cursor-layer__dot[data-v-792958ce]{position:absolute;top:0;left:0;width:var(--cursor-size);height:var(--cursor-size);border-radius:1px;background:var(--cursor-mark);transition:width .18s ease,height .18s ease,background-color .18s ease;will-change:transform,opacity}.cursor-layer__ring[data-v-792958ce]{position:absolute;top:0;left:0;width:var(--cursor-ring-size);height:var(--cursor-ring-size);border:1px solid color-mix(in srgb,var(--cursor-mark) 55%,transparent);border-radius:50%;opacity:var(--cursor-ring-opacity);scale:var(--cursor-ring-scale);transition:width .18s ease,height .18s ease,border-color .18s ease,border-radius .18s ease,opacity .18s ease,scale .18s ease;will-change:transform,opacity}.cursor-layer[data-state=drag] .cursor-layer__ring[data-v-792958ce]{border-radius:4px;border-style:dashed}:root[data-vt]{transition:none}@media(pointer:coarse),(hover:none),(prefers-reduced-motion:reduce){.cursor-layer[data-v-792958ce]{display:none}}html[data-custom-cursor=on],html[data-custom-cursor=on] body,html[data-custom-cursor=on] body *{cursor:none!important}html[data-custom-cursor=on] body :is(input,textarea,select,[contenteditable=true]){cursor:auto!important}
