.theme-settings[data-v-8d194a1c]{right:calc(var(--fab-edge,var(--ds-page-gutter)) + var(--ds-safe-r));bottom:calc(var(--fab-edge,var(--ds-page-gutter)) + var(--ds-safe-b));z-index:1000;position:fixed}.theme-settings .fab svg[data-v-8d194a1c]{transition:transform var(--ds-motion-slow) var(--ds-ease-spring)}.theme-settings .fab:hover svg[data-v-8d194a1c]{transform:rotate(60deg)}.panel[data-v-8d194a1c]{gap:var(--ds-space-3);flex-direction:column;display:flex}.panel-title[data-v-8d194a1c]{font-size:var(--ds-text-base);letter-spacing:-.01em;font-weight:700}.panel-label[data-v-8d194a1c]{margin-bottom:var(--ds-space-2);font-size:var(--ds-text-sm);color:var(--ds-ink-3);font-weight:600}.palette[data-v-8d194a1c]{flex-wrap:wrap;gap:6px;display:flex}.swatch[data-v-8d194a1c]{width:var(--ds-control-h-sm);height:var(--ds-control-h-sm);border-radius:var(--ds-radius-pill);cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff38, var(--ds-glass-shadow);transition:transform var(--ds-motion-base) var(--ds-ease-spring), border-color var(--ds-motion-fast);border:2px solid #0000;padding:0;position:relative}.swatch[data-v-8d194a1c]:hover{transform:scale(1.12)}.swatch.active[data-v-8d194a1c]{border-color:var(--ds-ink);box-shadow:0 0 0 2px var(--ds-surface), 0 0 0 4px color-mix(in srgb, var(--site-primary) 45%, transparent)}.swatch.custom[data-v-8d194a1c]{border:1px dashed var(--ds-border-strong);background:var(--ds-glass-inset);color:var(--ds-ink-2);font-size:var(--ds-text-lg);justify-content:center;align-items:center;line-height:1;display:flex;overflow:hidden}.swatch.custom input[data-v-8d194a1c]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.palette-value[data-v-8d194a1c]{font-size:var(--ds-text-xs);color:var(--ds-ink-3);font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-top:7px}.switch-row[data-v-8d194a1c]{padding:var(--ds-space-1) 0;font-size:var(--ds-text-sm);justify-content:space-between;align-items:center;display:flex}.switch-label[data-v-8d194a1c]{color:var(--ds-ink-2)}.site-header[data-v-811b0ba4]{--nav-fg:#ffffffdb;--nav-fg-strong:#fff;--nav-hover-bg:#ffffff1f;z-index:100;transition:transform var(--ds-motion-slow) var(--ds-ease-out), background-color var(--ds-motion-slow) ease, border-color var(--ds-motion-slow) ease, box-shadow var(--ds-motion-slow) ease;background:0 0;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.site-header.hidden[data-v-811b0ba4]:not(.no-sticky){transform:translateY(-100%)}.site-header.is-solid[data-v-811b0ba4]{--nav-fg:var(--ds-ink-2);--nav-fg-strong:var(--ds-ink);--nav-hover-bg:var(--ds-glass-inset);background:var(--ds-glass-2);-webkit-backdrop-filter:blur(var(--ds-blur-lg)) saturate(var(--ds-blur-saturate));border-bottom-color:var(--ds-glass-border);box-shadow:0 10px 30px -26px #0f172a99}.site-header.is-ink[data-v-811b0ba4]{--nav-fg:var(--ds-ink-2);--nav-fg-strong:var(--ds-ink);--nav-hover-bg:var(--ds-glass-inset)}.site-header.no-sticky[data-v-811b0ba4]{position:static}.bar[data-v-811b0ba4]{max-width:var(--ds-page-max);padding:0 var(--ds-page-gutter);height:var(--ds-header-h);align-items:center;gap:var(--ds-space-2);margin:0 auto;display:flex}.brand[data-v-811b0ba4]{color:var(--nav-fg-strong);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.brand__mark[data-v-811b0ba4]{border-radius:var(--ds-radius-lg);border:1px solid var(--ds-glass-border);background:var(--ds-grad-accent);width:38px;height:38px;box-shadow:var(--ds-glass-shadow), var(--ds-glass-hi);transition:transform var(--ds-motion-base) var(--ds-ease-spring), box-shadow var(--ds-motion-base) ease;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.brand:hover .brand__mark[data-v-811b0ba4]{box-shadow:0 0 14px color-mix(in srgb, var(--site-primary) 50%, transparent), var(--ds-glass-hi);transform:translateY(-1px)scale(1.04)}.brand__mark img[data-v-811b0ba4]{object-fit:cover;width:100%;height:100%}.logo-fallback[data-v-811b0ba4]{color:#fff;width:100%;height:100%;font-size:var(--ds-text-lg);letter-spacing:.02em;justify-content:center;align-items:center;font-weight:700;display:flex}.brand__name[data-v-811b0ba4]{white-space:nowrap;text-overflow:ellipsis;max-width:22ch;font-size:var(--ds-text-lg);letter-spacing:-.01em;color:var(--nav-fg-strong);font-weight:700;overflow:hidden}.nav[data-v-811b0ba4]{align-items:center;gap:var(--ds-space-1);scrollbar-width:none;margin-left:auto;display:flex;overflow-x:auto}.nav[data-v-811b0ba4]::-webkit-scrollbar{display:none}.nav-item[data-v-811b0ba4]{height:var(--ds-control-h);border-radius:var(--ds-radius-pill);font-size:var(--ds-control-font);color:var(--nav-fg);white-space:nowrap;cursor:pointer;transition:color var(--ds-motion-fast), background var(--ds-motion-fast), box-shadow var(--ds-motion-base) var(--ds-ease-out);background:0 0;border:none;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-weight:500;text-decoration:none;display:flex}.nav-item .icon[data-v-811b0ba4]{fill:none;stroke:currentColor;stroke-width:1.5px;flex-shrink:0;width:17px;height:17px}.nav-item[data-v-811b0ba4]:hover{color:var(--nav-fg-strong);background:var(--nav-hover-bg)}.nav-item.active[data-v-811b0ba4]{color:#fff;background:var(--ds-grad-accent);box-shadow:0 8px 20px -12px color-mix(in srgb, var(--site-primary) 90%, transparent);font-weight:600}.as-btn[data-v-811b0ba4]{font-family:inherit}.icon-only[data-v-811b0ba4]{width:var(--ds-control-h);height:var(--ds-control-h);border-radius:var(--ds-radius-pill);color:var(--nav-fg);cursor:pointer;transition:color var(--ds-motion-fast), background var(--ds-motion-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-only svg[data-v-811b0ba4]{fill:none;stroke:currentColor;stroke-width:1.5px;width:19px;height:19px}.icon-only[data-v-811b0ba4]:hover{color:var(--nav-fg-strong);background:var(--nav-hover-bg)}.theme-btn[data-v-811b0ba4]:hover{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--site-primary) 55%, transparent));color:var(--site-primary)!important}.divider[data-v-811b0ba4]{background:var(--nav-fg);opacity:.28;flex-shrink:0;width:1px;height:18px;margin:0 6px}.user[data-v-811b0ba4]{cursor:default;text-overflow:ellipsis;max-width:110px;overflow:hidden}.hamburger[data-v-811b0ba4]{display:none}.drawer-nav[data-v-811b0ba4]{gap:var(--ds-space-1);flex-direction:column;display:flex}.drawer-link[data-v-811b0ba4]{border-radius:var(--ds-radius-md);color:var(--ds-ink-2);font-size:var(--ds-control-font);transition:background var(--ds-motion-fast), color var(--ds-motion-fast);padding:10px 12px;text-decoration:none}.drawer-link[data-v-811b0ba4]:hover,.drawer-link.active[data-v-811b0ba4]{background:var(--ds-glass-inset);color:var(--site-primary)}.drawer-divider[data-v-811b0ba4]{height:1px;margin:var(--ds-space-2) 0;background:var(--ds-border)}@media (width<=900px){.brand__name[data-v-811b0ba4]{display:none}}@media (width<=1024px){.nav-item[data-v-811b0ba4],.divider[data-v-811b0ba4]{display:none}.hamburger[data-v-811b0ba4]{justify-content:center;align-items:center;display:flex}}@media (width<=820px){.bar[data-v-811b0ba4]{padding:0 12px}}.site-footer[data-v-7e5ed815]{padding:var(--ds-space-6) var(--ds-page-gutter) var(--ds-space-4);color:var(--ds-ink-2);margin-top:auto}.inner[data-v-7e5ed815]{max-width:var(--ds-page-max);padding:var(--ds-space-5) var(--ds-space-5) var(--ds-space-4);border:1px solid var(--ds-glass-border);border-radius:var(--ds-radius-2xl);background:var(--ds-glass-1);-webkit-backdrop-filter:blur(var(--ds-blur)) saturate(var(--ds-blur-saturate));box-shadow:var(--ds-glass-shadow), var(--ds-glass-hi);margin:0 auto}.cols[data-v-7e5ed815]{gap:var(--ds-space-5);grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));align-items:start;display:grid}.col[data-v-7e5ed815]{gap:var(--ds-space-2);flex-direction:column;display:flex}.col--brand[data-v-7e5ed815]{gap:var(--ds-space-2)}.brand-name[data-v-7e5ed815]{font-size:var(--ds-text-xl);letter-spacing:-.02em;color:var(--ds-ink);background:var(--ds-grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800;text-decoration:none}.footer-desc[data-v-7e5ed815]{max-width:46ch;font-size:var(--ds-text-sm);line-height:var(--ds-leading-sm);color:var(--ds-ink-3);margin:0}.col-title[data-v-7e5ed815]{font-size:var(--ds-text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ds-ink-3);font-weight:700}.footer-link[data-v-7e5ed815]{font-size:var(--ds-text-sm);color:var(--ds-ink-2);transition:color var(--ds-motion-fast), transform var(--ds-motion-fast) var(--ds-ease-out);align-self:flex-start;text-decoration:none}.footer-link[data-v-7e5ed815]:hover{color:var(--site-primary);transform:translate(2px)}.base[data-v-7e5ed815]{justify-content:space-between;align-items:center;gap:var(--ds-space-2);margin-top:var(--ds-space-5);padding-top:var(--ds-space-3);border-top:1px solid var(--ds-glass-border);font-size:var(--ds-text-xs);color:var(--ds-ink-3);flex-wrap:wrap;display:flex}.footer-copy[data-v-7e5ed815]{margin:0}.footer-beian[data-v-7e5ed815]{color:inherit;text-decoration:none}.footer-beian[data-v-7e5ed815]:hover{color:var(--site-primary)}@media (width<=820px){.cols[data-v-7e5ed815]{gap:var(--ds-space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.col--brand[data-v-7e5ed815]{grid-column:1/-1}.base[data-v-7e5ed815]{text-align:center;justify-content:center}}@media (width<=560px){.site-footer[data-v-7e5ed815]{padding:var(--ds-space-4) 12px var(--ds-space-3)}.inner[data-v-7e5ed815]{padding:var(--ds-space-4) var(--ds-space-3) var(--ds-space-3)}}.search-overlay[data-v-a9c8aacf]{z-index:2200;padding:12vh var(--ds-page-gutter) var(--ds-space-6);background:var(--ds-scrim);-webkit-backdrop-filter:blur(var(--ds-blur-sm)) saturate(var(--ds-blur-saturate));justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.search-panel[data-v-a9c8aacf]{border:1px solid var(--ds-glass-border);border-radius:var(--ds-radius-xl);background:var(--ds-glass-3);width:100%;max-width:640px;max-height:72vh;color:var(--ds-ink);box-shadow:var(--ds-glass-shadow-lg), var(--ds-glass-hi);-webkit-backdrop-filter:blur(var(--ds-blur-lg)) saturate(var(--ds-blur-saturate));flex-direction:column;display:flex;overflow:hidden}.search-panel[data-v-a9c8aacf]:before{content:"";background:var(--ds-grad-accent);opacity:.75;flex:none;height:2px}.search-input-row[data-v-a9c8aacf]{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-3);border-bottom:1px solid var(--ds-glass-border);transition:background var(--ds-motion-base) var(--ds-ease-out);flex:none;display:flex}.search-input-row[data-v-a9c8aacf]:focus-within{background:var(--ds-glass-inset)}.search-icon[data-v-a9c8aacf]{width:var(--ds-icon-size);height:var(--ds-icon-size);fill:none;stroke:var(--ds-ink-3);stroke-width:1.6px;transition:stroke var(--ds-motion-base) var(--ds-ease-out);flex:none}.search-input-row:focus-within .search-icon[data-v-a9c8aacf]{stroke:var(--site-primary)}.search-input[data-v-a9c8aacf]{min-width:0;color:var(--ds-ink);font-size:var(--ds-text-lg);line-height:var(--ds-leading-lg);background:0 0;border:none;outline:none;flex:1;font-family:inherit}.search-input[data-v-a9c8aacf]::placeholder{color:var(--ds-ink-3)}.search-input[data-v-a9c8aacf]::-webkit-search-cancel-button{appearance:none}.search-kbd[data-v-a9c8aacf]{border:1px solid var(--ds-glass-border);border-radius:var(--ds-radius-xs);background:var(--ds-glass-inset);color:var(--ds-ink-3);font-family:var(--ds-font-mono);font-size:var(--ds-text-2xs);flex:none;padding:1px 6px}.search-loading[data-v-a9c8aacf]{border-radius:var(--ds-radius-pill);border:2px solid var(--ds-glass-inset-strong);border-top-color:var(--site-primary);flex:none;width:14px;height:14px;animation:.8s linear infinite search-spin-a9c8aacf}@keyframes search-spin-a9c8aacf{to{transform:rotate(360deg)}}.search-body[data-v-a9c8aacf]{overscroll-behavior:contain;flex:1;min-height:120px;overflow-y:auto}.search-list[data-v-a9c8aacf]{padding:var(--ds-space-1) var(--ds-space-2) var(--ds-space-3)}.search-group-title[data-v-a9c8aacf]{z-index:1;padding:var(--ds-space-2) var(--ds-space-2) var(--ds-space-1);font-size:var(--ds-text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ds-ink-3);background:var(--ds-glass-3);font-weight:700;position:sticky;top:0}.search-item[data-v-a9c8aacf]{align-items:flex-start;gap:var(--ds-space-2);width:100%;padding:var(--ds-space-2);border-radius:var(--ds-radius-md);color:inherit;text-align:left;cursor:pointer;transition:background var(--ds-motion-fast) var(--ds-ease-out), box-shadow var(--ds-motion-fast) var(--ds-ease-out);background:0 0;border:none;font-family:inherit;display:flex}.search-item.active[data-v-a9c8aacf]{background:var(--ds-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--site-primary) 22%, transparent)}.search-cover[data-v-a9c8aacf]{border-radius:var(--ds-radius-sm);border:1px solid var(--ds-glass-border);object-fit:cover;flex:none;width:46px;height:36px}.search-marker[data-v-a9c8aacf]{width:var(--ds-control-h-sm);height:var(--ds-control-h-sm);border-radius:var(--ds-radius-sm);font-size:var(--ds-text-xs);color:#fff;background:var(--ds-grad-accent);flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.search-marker.分类[data-v-a9c8aacf]{background:var(--ds-info)}.search-marker.标签[data-v-a9c8aacf]{background:var(--ds-accent)}.search-item-main[data-v-a9c8aacf]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.search-item-title[data-v-a9c8aacf]{font-size:var(--ds-control-font);line-height:var(--ds-leading-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.search-item.active .search-item-title[data-v-a9c8aacf]{color:var(--site-primary)}.search-item-title mark[data-v-a9c8aacf],.search-item-snippet[data-v-a9c8aacf] mark{border-radius:var(--ds-radius-xs);color:inherit;background:color-mix(in srgb, var(--site-primary) 24%, transparent);padding:0 2px}.search-item-snippet[data-v-a9c8aacf]{font-size:var(--ds-text-xs);line-height:var(--ds-leading-xs);color:var(--ds-ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.search-item-meta[data-v-a9c8aacf]{font-size:var(--ds-text-xs);line-height:var(--ds-leading-xs);color:var(--ds-ink-3)}.search-enter-hint[data-v-a9c8aacf]{width:var(--ds-control-h-sm);height:var(--ds-control-h-sm);border:1px solid var(--ds-glass-border);border-radius:var(--ds-radius-pill);background:var(--ds-glass-inset);font-size:var(--ds-text-xs);color:var(--ds-ink-3);opacity:0;transition:opacity var(--ds-motion-fast) var(--ds-ease-out), transform var(--ds-motion-base) var(--ds-ease-spring);flex:none;align-self:center;place-items:center;display:grid;transform:translate(-4px)}.search-item.active .search-enter-hint[data-v-a9c8aacf]{opacity:1;color:var(--site-primary);border-color:color-mix(in srgb, var(--site-primary) 34%, transparent);transform:none}.search-state[data-v-a9c8aacf]{padding:var(--ds-space-6) var(--ds-space-4)}.search-state .state__icon[data-v-a9c8aacf]{width:48px;height:48px}.search-state .state__icon svg[data-v-a9c8aacf]{fill:none;stroke:currentColor;stroke-width:1.6px;width:22px;height:22px}.search-footer[data-v-a9c8aacf]{align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-2) var(--ds-space-3);border-top:1px solid var(--ds-glass-border);background:var(--ds-glass-inset);font-size:var(--ds-text-2xs);color:var(--ds-ink-3);flex:none;display:flex}.search-footer kbd[data-v-a9c8aacf]{border:1px solid var(--ds-glass-border);border-radius:var(--ds-radius-xs);background:var(--ds-glass-2);font-family:var(--ds-font-mono);padding:0 5px}.search-footer-link[data-v-a9c8aacf]{font-family:inherit;font-size:var(--ds-text-2xs);color:var(--site-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;margin-left:auto;padding:0;font-weight:700;display:inline-flex}.search-footer-link svg[data-v-a9c8aacf]{fill:none;stroke:currentColor;stroke-width:2px;width:12px;height:12px;transition:transform var(--ds-motion-fast) var(--ds-ease-out)}.search-footer-link:hover svg[data-v-a9c8aacf]{transform:translate(2px)}.search-overlay-enter-active[data-v-a9c8aacf],.search-overlay-leave-active[data-v-a9c8aacf]{transition:opacity var(--ds-motion-base) var(--ds-ease-out)}.search-overlay-enter-active .search-panel[data-v-a9c8aacf],.search-overlay-leave-active .search-panel[data-v-a9c8aacf]{transition:transform var(--ds-motion-slow) var(--ds-ease-spring), opacity var(--ds-motion-base) var(--ds-ease-out)}.search-overlay-enter-from[data-v-a9c8aacf],.search-overlay-leave-to[data-v-a9c8aacf]{opacity:0}.search-overlay-enter-from .search-panel[data-v-a9c8aacf],.search-overlay-leave-to .search-panel[data-v-a9c8aacf]{opacity:0;transform:translateY(-14px)scale(.98)}html.motion-off .search-overlay-enter-active[data-v-a9c8aacf],html.motion-off .search-overlay-leave-active[data-v-a9c8aacf],html.motion-off .search-overlay-enter-active .search-panel[data-v-a9c8aacf],html.motion-off .search-overlay-leave-active .search-panel[data-v-a9c8aacf]{transition:none}html.motion-off .search-loading[data-v-a9c8aacf]{animation-duration:1.6s}@media (width<=640px){.search-overlay[data-v-a9c8aacf]{padding:8vh var(--ds-space-2) var(--ds-space-4)}.search-panel[data-v-a9c8aacf]{max-height:80vh}.search-input[data-v-a9c8aacf]{font-size:var(--ds-text-base)}.search-kbd[data-v-a9c8aacf],.search-enter-hint[data-v-a9c8aacf]{display:none}.search-cover[data-v-a9c8aacf]{width:40px;height:32px}.search-footer[data-v-a9c8aacf]{gap:var(--ds-space-2)}}@media (prefers-reduced-motion:reduce){.search-overlay-enter-active[data-v-a9c8aacf],.search-overlay-leave-active[data-v-a9c8aacf],.search-overlay-enter-active .search-panel[data-v-a9c8aacf],.search-overlay-leave-active .search-panel[data-v-a9c8aacf]{transition:none}.search-loading[data-v-a9c8aacf]{animation:none}}.page-banner[data-v-81a9496d]{z-index:0;background-image:linear-gradient(160deg, color-mix(in srgb, var(--site-primary) 12%, var(--bly-bg)) 0%, color-mix(in srgb, var(--site-primary) 6%, var(--bly-bg)) 45%, var(--bly-bg) 100%);height:100dvh;position:fixed;inset:0;overflow:hidden}.page-banner-img[data-v-81a9496d]{opacity:0;transition:opacity var(--ds-motion-slow) ease;background-position:50%;background-size:cover;position:absolute;inset:0}.page-banner-img.ready[data-v-81a9496d]{opacity:1}.page-banner-aurora[data-v-81a9496d]{background-image:radial-gradient(46% 42% at 14% 10%, color-mix(in srgb, var(--site-primary) 46%, transparent) 0%, transparent 70%), radial-gradient(42% 38% at 86% 18%, #38bdf857 0%, transparent 72%), radial-gradient(54% 48% at 50% 92%, #a78bfa47 0%, transparent 74%);animation:26s ease-in-out infinite alternate banner-aurora-81a9496d;position:absolute;inset:-12% -6%}@keyframes banner-aurora-81a9496d{0%{transform:scale(1)translate(0,0)}to{transform:scale(1.08)translate(-1.5%,-2.5%)}}html.motion-off .page-banner-aurora[data-v-81a9496d]{animation:none}.page-banner-mesh[data-v-81a9496d]{background-image:repeating-linear-gradient(90deg, var(--ds-mesh-line) 0 1px, transparent 1px 96px), repeating-linear-gradient(0deg, var(--ds-mesh-line) 0 1px, transparent 1px 96px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#00000080,#0000 62%);mask-image:linear-gradient(#00000080,#0000 62%)}.page-banner-shade[data-v-81a9496d]{background:linear-gradient(#02061770 0%,#02061738 24%,#02061714 52%,#0206172e 100%);position:absolute;inset:0}html.dark .page-banner-shade[data-v-81a9496d]{background:linear-gradient(#00000094 0%,#0006 28%,#00000047 60%,#00000061 100%)}.loading-bar[data-v-3f55b8e3]{z-index:2000;background:linear-gradient(90deg, var(--site-primary), #8fa6ff);opacity:0;border-radius:0 2px 2px 0;width:0;height:3px;transition:width .2s,opacity .3s;position:fixed;top:0;left:0;box-shadow:0 0 8px #425aef8c}.loading-bar.show[data-v-3f55b8e3]{opacity:1}.state__ring[data-v-c45eac99]{border-radius:var(--ds-radius-pill);border:2px solid var(--ds-glass-inset-strong);border-top-color:var(--site-primary);width:28px;height:28px;animation:.85s linear infinite state-spin-c45eac99}@keyframes state-spin-c45eac99{to{transform:rotate(360deg)}}html.motion-off .state__ring[data-v-c45eac99]{animation-duration:1.6s}@media (prefers-reduced-motion:reduce){.state__ring[data-v-c45eac99]{animation:none}}.music-card__index[data-v-f0334554]{font-variant-numeric:tabular-nums;margin-left:auto}.music-card__sk-disc[data-v-f0334554]{width:var(--ds-space-8);height:var(--ds-space-8);flex-shrink:0}.music-card__sk-lines[data-v-f0334554]{gap:var(--ds-space-2);flex-direction:column;flex:1;min-width:0;display:flex}.music-card__sk-lines .skeleton[data-v-f0334554]{display:block}.music-card__sk-short[data-v-f0334554]{width:58%}.now-playing[data-v-f0334554]{align-items:center;gap:var(--ds-space-3);display:flex}.disc[data-v-f0334554]{width:var(--ds-space-8);height:var(--ds-space-8);border-radius:var(--ds-radius-md);background:var(--ds-glass-inset);color:var(--site-primary);cursor:pointer;transition:transform var(--ds-motion-base) var(--ds-ease-out);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.disc[data-v-f0334554]:hover{transform:scale(1.04)}.disc img[data-v-f0334554]{object-fit:cover;width:100%;height:100%}.disc svg[data-v-f0334554]{width:34px;height:34px}.disc.spinning[data-v-f0334554]:after{content:"";inset:calc(-1 * var(--ds-space-1));border-radius:var(--ds-radius-lg);box-shadow:0 0 0 2px color-mix(in srgb, var(--site-primary) 40%, transparent), 0 0 18px color-mix(in srgb, var(--site-primary) 45%, transparent);animation:2.4s ease-in-out infinite disc-glow-f0334554;position:absolute}@keyframes disc-glow-f0334554{0%,to{opacity:.5}50%{opacity:1}}.info[data-v-f0334554]{flex:1;min-width:0}.song-title[data-v-f0334554]{font-size:var(--ds-text-base);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.song-artist[data-v-f0334554]{margin:var(--ds-space-1) 0 0;font-size:var(--ds-text-xs);color:var(--ds-ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.song-lyric[data-v-f0334554]{margin:var(--ds-space-1) 0 0;font-size:var(--ds-text-sm);color:var(--site-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mini-controls[data-v-f0334554]{align-items:center;gap:var(--ds-space-2);margin-top:var(--ds-space-2);display:flex}.mini-controls button[data-v-f0334554]{color:var(--ds-ink-2);cursor:pointer;width:var(--ds-control-h-lg);height:var(--ds-control-h-lg);border-radius:var(--ds-radius-pill);transition:color var(--ds-motion-fast), background var(--ds-motion-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.mini-controls button[data-v-f0334554]:hover{color:var(--site-primary);background:color-mix(in srgb, var(--site-primary) 10%, transparent)}.mini-controls svg[data-v-f0334554]{width:var(--ds-icon-size);height:var(--ds-icon-size)}.mini-controls .play[data-v-f0334554]{width:var(--ds-control-h-xl);height:var(--ds-control-h-xl);border-radius:var(--ds-radius-pill);background:var(--ds-grad-accent);color:#fff;box-shadow:0 8px 20px -8px color-mix(in srgb, var(--site-primary) 65%, transparent);transition:transform var(--ds-motion-base) var(--ds-ease-out)}.mini-controls .play[data-v-f0334554]:hover{color:#fff;background:var(--ds-grad-accent);transform:scale(1.06)}.mini-controls .play svg[data-v-f0334554]{width:18px;height:18px}.icon-spin[data-v-f0334554]{animation:.9s linear infinite icon-rotate-f0334554}@keyframes icon-rotate-f0334554{to{transform:rotate(360deg)}}.progress[data-v-f0334554]{height:var(--ds-control-h-sm);cursor:pointer;align-items:center;display:flex;position:relative}.progress[data-v-f0334554]:before{content:"";height:var(--ds-space-1);border-radius:var(--ds-radius-pill);background:var(--ds-border);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.progress-inner[data-v-f0334554]{height:var(--ds-space-1);background:var(--ds-grad-accent);border-radius:var(--ds-radius-pill);transition:width var(--ds-motion-base) linear;position:relative}.progress-inner[data-v-f0334554]:after{content:"";right:calc(-1 * var(--ds-space-1));width:var(--ds-space-2);height:var(--ds-space-2);border-radius:var(--ds-radius-pill);background:var(--site-primary);box-shadow:0 0 8px color-mix(in srgb, var(--site-primary) 55%, transparent);position:absolute;top:50%;transform:translateY(-50%)}.time[data-v-f0334554]{margin-top:calc(-1 * var(--ds-space-1));font-size:var(--ds-text-2xs);color:var(--ds-ink-3);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.load-error[data-v-f0334554]{margin:var(--ds-space-2) 0 0;font-size:var(--ds-text-xs);color:var(--ds-error);text-align:center}html.motion-off .disc.spinning[data-v-f0334554]:after,html.motion-off .icon-spin[data-v-f0334554]{animation:none}@media (prefers-reduced-motion:reduce){.disc.spinning[data-v-f0334554]:after,.icon-spin[data-v-f0334554]{animation:none}}@media (width<=640px){.mini-controls[data-v-f0334554]{gap:var(--ds-space-1)}}.stage[data-v-ab68a317]{z-index:2000;color:#fff;flex-direction:column;display:flex;position:fixed;inset:0}.stage-bg[data-v-ab68a317]{inset:calc(-1 * var(--ds-space-6));background-image:linear-gradient(160deg, color-mix(in srgb, var(--site-primary) 34%, #0b0c16) 0%, #241e49 55%, #0b0c16 100%);filter:blur(72px)brightness(.55)saturate(1.3);background-position:50%;background-size:cover;position:absolute;transform:scale(1.1)}.stage-wp[data-v-ab68a317]{opacity:0;background-position:50%;background-size:cover;transition:opacity 1.4s;position:absolute;inset:-20px;transform:scale(1.02)}.stage-wp.active[data-v-ab68a317]{opacity:1}.stage-dim[data-v-ab68a317]{background:linear-gradient(180deg, var(--ds-scrim), color-mix(in srgb, var(--ds-scrim) 60%, #05070c));position:absolute;inset:0}.stage-close[data-v-ab68a317]{top:var(--ds-space-3);right:var(--ds-space-3);z-index:3;width:var(--ds-control-h-xl);height:var(--ds-control-h-xl);border-radius:var(--ds-radius-pill);cursor:pointer;color:var(--ds-ink);transition:color var(--ds-motion-fast), transform var(--ds-motion-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.stage-close[data-v-ab68a317]:hover{color:var(--site-primary);transform:scale(1.06)}.stage-close svg[data-v-ab68a317]{width:20px;height:20px}.stage-main[data-v-ab68a317]{z-index:2;align-items:stretch;gap:var(--ds-space-5);min-height:0;padding:var(--ds-space-8) clamp(var(--ds-space-4), 6vw, var(--ds-space-9)) var(--ds-space-3);flex:1;display:flex;position:relative}.stage-left[data-v-ab68a317]{justify-content:center;align-items:center;gap:var(--ds-space-2);width:min(calc(var(--ds-space-8) * 5), 36vw);flex-direction:column;flex:none;display:flex}.stage-cover[data-v-ab68a317]{width:clamp(calc(var(--ds-space-8) * 3), 22vw, calc(var(--ds-space-8) * 4));height:clamp(calc(var(--ds-space-8) * 3), 22vw, calc(var(--ds-space-8) * 4));border-radius:var(--ds-radius-2xl);color:#fff9;background:#ffffff14;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:0 24px 60px -16px #0009}.stage-cover svg[data-v-ab68a317]{width:50%;height:50%}.stage-cover img[data-v-ab68a317]{object-fit:cover;width:100%;height:100%}.stage-cover.breathing[data-v-ab68a317]{animation:3.6s ease-in-out infinite breathe-ab68a317}@keyframes breathe-ab68a317{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}.stage-title[data-v-ab68a317]{margin:var(--ds-space-3) 0 0;font-size:var(--ds-text-xl);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.stage-artist[data-v-ab68a317]{margin:var(--ds-space-1) 0 0;font-size:var(--ds-text-base);opacity:.72}.stage-right[data-v-ab68a317]{flex:1;min-width:0;display:flex;position:relative}.stage-main.no-lyric[data-v-ab68a317]{justify-content:center}.stage-main.no-lyric .stage-right[data-v-ab68a317]{pointer-events:none;position:absolute;inset:0}.queue[data-v-ab68a317]{z-index:4;pointer-events:auto;width:min(calc(var(--ds-space-9) * 4), 90vw);max-height:min(62vh, calc(var(--ds-space-8) * 8 + var(--ds-space-3)));padding:var(--ds-space-2);border-radius:var(--ds-radius-xl);color:var(--ds-ink);position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.queue-head[data-v-ab68a317]{margin:var(--ds-space-1) var(--ds-space-2) var(--ds-space-2);font-size:var(--ds-text-xs);color:var(--ds-ink-3)}.queue-plists[data-v-ab68a317]{gap:var(--ds-space-2);margin:var(--ds-space-1) var(--ds-space-2) var(--ds-space-2);flex-wrap:wrap;display:flex}.plist-chip[data-v-ab68a317]{min-height:var(--ds-control-h-sm);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-pill);color:var(--ds-ink-2);font-size:var(--ds-text-xs);padding:var(--ds-space-1) var(--ds-space-2);cursor:pointer;transition:background var(--ds-motion-fast), color var(--ds-motion-fast), border-color var(--ds-motion-fast);background:0 0}.plist-chip[data-v-ab68a317]:hover{background:color-mix(in srgb, var(--site-primary) 10%, transparent);color:var(--site-primary)}.plist-chip.active[data-v-ab68a317]{background:color-mix(in srgb, var(--site-primary) 16%, transparent);border-color:var(--site-primary);color:var(--site-primary);font-weight:600}.queue-item[data-v-ab68a317]{align-items:baseline;gap:var(--ds-space-2);width:100%;min-height:var(--ds-control-h);padding:var(--ds-space-2);border-radius:var(--ds-radius-md);color:var(--ds-ink);font-size:var(--ds-text-sm);cursor:pointer;text-align:left;transition:background var(--ds-motion-fast), color var(--ds-motion-fast);background:0 0;border:none;display:flex}.queue-item[data-v-ab68a317]:hover{background:color-mix(in srgb, var(--site-primary) 8%, transparent)}.queue-item.active[data-v-ab68a317]{color:var(--site-primary);background:color-mix(in srgb, var(--site-primary) 12%, transparent)}.queue-name[data-v-ab68a317]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.queue-artist[data-v-ab68a317]{font-size:var(--ds-text-xs);color:var(--ds-ink-3);flex:none}.lyrics[data-v-ab68a317]{min-width:0;padding:24% var(--ds-space-2) 45%;text-align:center;scrollbar-width:none;flex:1;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 82%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 18% 82%,#0000 100%)}.lyrics[data-v-ab68a317]::-webkit-scrollbar{display:none}.lyrics p[data-v-ab68a317]{padding:var(--ds-space-2) var(--ds-space-1);color:var(--lyric-color,#fff);font-size:var(--lyric-size,var(--ds-text-base));line-height:var(--ds-leading-normal);opacity:.45;transition:opacity var(--ds-motion-slow), transform var(--ds-motion-slow), font-size var(--ds-motion-slow);cursor:pointer;margin:0;transform:scale(.96)}.lyrics p[data-v-ab68a317]:hover{opacity:.75}.lyrics p.active[data-v-ab68a317]{font-size:calc(var(--lyric-size,var(--ds-text-base)) + var(--ds-space-1));opacity:1;text-shadow:0 0 22px color-mix(in srgb, var(--lyric-color,#fff) 60%, transparent);font-weight:700;transform:scale(1)}.lyrics-empty[data-v-ab68a317]{opacity:.5;cursor:default}.stage-bar[data-v-ab68a317]{z-index:2;margin:0 var(--ds-page-gutter) var(--ds-page-gutter);padding:var(--ds-space-3) var(--ds-space-4);border-radius:var(--ds-radius-xl);gap:var(--ds-space-2);color:var(--ds-ink);flex-direction:column;flex:none;display:flex;position:relative}.stage-progress[data-v-ab68a317]{align-items:center;gap:var(--ds-space-3);cursor:pointer;display:flex}.stage-time[data-v-ab68a317]{font-size:var(--ds-text-xs);color:var(--ds-ink-2);font-variant-numeric:tabular-nums;min-width:calc(var(--ds-space-5) + var(--ds-space-1));flex:none}.stage-time[data-v-ab68a317]:last-child{text-align:right}.stage-track[data-v-ab68a317]{height:var(--ds-space-1);border-radius:var(--ds-radius-pill);background:var(--ds-border-strong);flex:1;overflow:hidden}.stage-track-inner[data-v-ab68a317]{background:var(--ds-grad-accent);border-radius:var(--ds-radius-pill);height:100%;transition:width var(--ds-motion-base) linear}.stage-controls[data-v-ab68a317]{justify-content:center;align-items:center;gap:var(--ds-space-3);display:flex}.bar-btn[data-v-ab68a317]{color:var(--ds-ink-2);width:var(--ds-control-h-lg);height:var(--ds-control-h-lg);border-radius:var(--ds-radius-pill);cursor:pointer;transition:color var(--ds-motion-fast), background var(--ds-motion-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.bar-btn[data-v-ab68a317]:hover{color:var(--site-primary);background:color-mix(in srgb, var(--site-primary) 10%, transparent)}.bar-btn.lit[data-v-ab68a317]{color:var(--site-primary)}.bar-btn svg[data-v-ab68a317]{width:20px;height:20px}.bar-play[data-v-ab68a317]{width:calc(var(--ds-control-h-xl) + var(--ds-space-2));height:calc(var(--ds-control-h-xl) + var(--ds-space-2));border-radius:var(--ds-radius-pill);background:var(--ds-grad-accent);color:#fff;cursor:pointer;box-shadow:0 8px 24px -6px color-mix(in srgb, var(--site-primary) 70%, transparent);transition:transform var(--ds-motion-base) var(--ds-ease-out);border:none;justify-content:center;align-items:center;display:flex}.bar-play[data-v-ab68a317]:hover{transform:scale(1.06)}.bar-play svg[data-v-ab68a317]{width:26px;height:26px}.icon-spin[data-v-ab68a317]{animation:.9s linear infinite icon-rotate-ab68a317}@keyframes icon-rotate-ab68a317{to{transform:rotate(360deg)}}.volume[data-v-ab68a317]{align-items:center;gap:var(--ds-space-2);color:var(--ds-ink-2);display:flex}.volume svg[data-v-ab68a317]{flex:none;width:18px;height:18px}.volume input[type=range][data-v-ab68a317]{width:calc(var(--ds-control-h-xl) * 2);accent-color:var(--site-primary);cursor:pointer}.lyric-style-wrap[data-v-ab68a317]{position:relative}.lyric-style-panel[data-v-ab68a317]{bottom:calc(100% + var(--ds-space-3));right:calc(-1 * var(--ds-space-2));z-index:5;width:calc(var(--ds-reading-max) / 3);padding:var(--ds-space-3);border-radius:var(--ds-radius-xl);gap:var(--ds-space-3);color:var(--ds-ink);flex-direction:column;display:flex;position:absolute}.panel-head[data-v-ab68a317]{font-size:var(--ds-text-sm);margin:0;font-weight:700}.panel-row[data-v-ab68a317]{gap:var(--ds-space-2);flex-direction:column;display:flex}.panel-label[data-v-ab68a317]{font-size:var(--ds-text-xs);color:var(--ds-ink-2);align-items:center;gap:var(--ds-space-2);display:flex}.panel-label em[data-v-ab68a317]{color:var(--lyric-color);font-variant-numeric:tabular-nums;font-style:normal}.swatch-row[data-v-ab68a317]{align-items:center;gap:var(--ds-space-2);display:flex}.swatch[data-v-ab68a317]{width:var(--ds-control-h-sm);height:var(--ds-control-h-sm);border-radius:var(--ds-radius-pill);border:2px solid var(--ds-border-strong);cursor:pointer;color:#0000008c;transition:transform var(--ds-motion-fast), border-color var(--ds-motion-fast);justify-content:center;align-items:center;padding:0;display:flex}.swatch[data-v-ab68a317]:hover{transform:scale(1.12)}.swatch.active[data-v-ab68a317]{border-color:var(--site-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--site-primary) 35%, transparent)}.swatch.theme[data-v-ab68a317]{background:var(--site-primary);color:#fff}.swatch.theme svg[data-v-ab68a317]{width:var(--ds-space-3);height:var(--ds-space-3)}.swatch.custom[data-v-ab68a317]{color:#fff;background:#8886;position:relative;overflow:hidden}.swatch.custom svg[data-v-ab68a317]{width:var(--ds-space-3);height:var(--ds-space-3)}.swatch.custom input[type=color][data-v-ab68a317]{opacity:0;cursor:pointer;position:absolute;inset:0}.size-range[data-v-ab68a317]{width:100%;accent-color:var(--site-primary);cursor:pointer}.switch-row[data-v-ab68a317]{flex-direction:row;justify-content:space-between;align-items:center}.switch-row .panel-label[data-v-ab68a317]{color:var(--ds-ink)}.mini-switch[data-v-ab68a317]{width:var(--ds-space-6);height:var(--ds-control-h-tiny);border-radius:var(--ds-radius-pill);background:var(--ds-border-strong);cursor:pointer;transition:background var(--ds-motion-base);border:none;padding:0;position:relative}.mini-switch .knob[data-v-ab68a317]{width:calc(var(--ds-control-h-tiny) - var(--ds-space-1) * 2);height:calc(var(--ds-control-h-tiny) - var(--ds-space-1) * 2);border-radius:var(--ds-radius-pill);transition:transform var(--ds-motion-base) var(--ds-ease-out);background:#fff;position:absolute;top:2px;left:2px}.mini-switch.on[data-v-ab68a317]{background:var(--site-primary)}.mini-switch.on .knob[data-v-ab68a317]{transform:translateX(var(--ds-space-3))}.load-error[data-v-ab68a317]{margin:var(--ds-space-2) 0 0;font-size:var(--ds-text-xs);color:var(--ds-error);text-align:center}.stage-enter-active[data-v-ab68a317],.stage-leave-active[data-v-ab68a317]{transition:opacity var(--ds-motion-slow) ease}.stage-enter-active .stage-main[data-v-ab68a317],.stage-leave-active .stage-main[data-v-ab68a317]{transition:transform var(--ds-motion-slow) ease}.stage-enter-from[data-v-ab68a317],.stage-leave-to[data-v-ab68a317]{opacity:0}.stage-enter-from .stage-main[data-v-ab68a317],.stage-leave-to .stage-main[data-v-ab68a317]{transform:translateY(var(--ds-space-4))}html.motion-off .stage-cover.breathing[data-v-ab68a317],html.motion-off .icon-spin[data-v-ab68a317]{animation:none}@media (prefers-reduced-motion:reduce){.stage-cover.breathing[data-v-ab68a317],.icon-spin[data-v-ab68a317]{animation:none}}@media (width<=820px){.stage-main[data-v-ab68a317]{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-6) var(--ds-space-4) var(--ds-space-2);flex-direction:column}.stage-left[data-v-ab68a317]{width:100%}.stage-cover[data-v-ab68a317]{width:calc(var(--ds-space-8) * 2 + var(--ds-space-4));height:calc(var(--ds-space-8) * 2 + var(--ds-space-4))}.stage-right[data-v-ab68a317]{width:100%}.lyrics[data-v-ab68a317]{width:100%;padding:var(--ds-space-2) var(--ds-space-2) 30%;flex:1}.stage-bar[data-v-ab68a317]{margin:0 var(--ds-space-2) var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-3)}.stage-controls[data-v-ab68a317]{gap:var(--ds-space-2)}.volume[data-v-ab68a317]{display:none}}@media (width<=640px){.queue[data-v-ab68a317]{width:min(calc(var(--ds-space-9) * 3), 92vw)}}.fab-music__note[data-v-b4f57042]{transform-origin:50%;animation:6s linear infinite fab-music-spin-b4f57042}@keyframes fab-music-spin-b4f57042{to{transform:rotate(360deg)}}html.motion-off .fab-music__note[data-v-b4f57042]{animation:none}@media (prefers-reduced-motion:reduce){.fab-music__note[data-v-b4f57042]{animation:none}}.float-music__panel[data-v-b4f57042]{--fab-edge:var(--ds-page-gutter);--fab-pitch:54px;right:calc(var(--fab-edge) + var(--ds-safe-r));bottom:calc(var(--fab-edge) + var(--fab-pitch) + var(--ds-control-h-xl) + var(--ds-space-3) + var(--ds-safe-b));z-index:1000;width:min(340px, calc(100vw - var(--fab-edge) * 2 - var(--ds-safe-r) * 2));position:fixed}@media (width<=820px){.float-music__panel[data-v-b4f57042]{--fab-edge:16px;--fab-pitch:52px}}.float-music-enter-active[data-v-b4f57042],.float-music-leave-active[data-v-b4f57042]{transition:opacity var(--ds-motion-base) var(--ds-ease-out), transform var(--ds-motion-base) var(--ds-ease-out)}.float-music-enter-from[data-v-b4f57042],.float-music-leave-to[data-v-b4f57042]{opacity:0;transform:translateY(var(--ds-space-2))}.backtop-enter-active[data-v-5903086e],.backtop-leave-active[data-v-5903086e]{transition:opacity var(--ds-motion-slow) var(--ds-ease-out), transform var(--ds-motion-slow) var(--ds-ease-spring)}.backtop-enter-from[data-v-5903086e],.backtop-leave-to[data-v-5903086e]{opacity:0;transform:translateY(10px)scale(.9)}.boot-loader[data-v-35faf0ce]{background:#f5f6f8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}html.dark .boot-loader[data-v-35faf0ce]{background:#101014}.boot-spinner[data-v-35faf0ce]{border:3px solid #80808040;border-top-color:#425aef;border-radius:50%;width:34px;height:34px;animation:.9s linear infinite boot-spin-35faf0ce}@keyframes boot-spin-35faf0ce{to{transform:rotate(360deg)}}.skip-link[data-v-35faf0ce]{z-index:3000;background:var(--ds-surface);color:var(--ds-ink);box-shadow:var(--ds-shadow-2);transition:transform var(--ds-motion-fast) var(--ds-ease-out);border-radius:8px;padding:8px 14px;font-size:13px;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link[data-v-35faf0ce]:focus{transform:translateY(0)}:root{--ds-bg:#f4f6fb;--ds-bg-glow:#425aef14;--ds-surface:#fff;--ds-surface-2:#eef2f9;--ds-surface-3:#e4eaf4;--ds-glass-1:#ffffffa8;--ds-glass-2:#ffffffd1;--ds-glass-3:#fffffff0;--ds-glass-inset:#0f172a0a;--ds-glass-inset-strong:#0f172a12;--ds-glass-border:#0f172a14;--ds-glass-hi:inset 0 1px 0 #fff9;--ds-glass-shadow:0 12px 32px -20px #0f172a2e;--ds-glass-shadow-lg:0 28px 70px -34px #0f172a52;--ds-blur-sm:10px;--ds-blur:18px;--ds-blur-lg:28px;--ds-blur-saturate:150%;--ds-ink:#0b1220;--ds-ink-2:#0b1220a8;--ds-ink-3:#0b122070;--ds-border:#0f172a14;--ds-border-strong:#0f172a24;--ds-accent:#425aef;--ds-accent-soft:#425aef1a;--ds-success:#0f9f6e;--ds-warning:#b45309;--ds-error:#dc2626;--ds-info:#0284c7;--ds-success-soft:#0f9f6e1f;--ds-warning-soft:#b453091f;--ds-error-soft:#dc26261f;--ds-info-soft:#0284c71f;--ds-header-bg:#ffffffc7;--ds-footer-bg:#0b1220;--ds-header-h:64px;--site-radius:12px;--ds-radius-xs:4px;--ds-radius-sm:8px;--ds-radius-md:var(--site-radius);--ds-radius-lg:calc(var(--site-radius) + 4px);--ds-radius-xl:calc(var(--site-radius) + 8px);--ds-radius-2xl:calc(var(--site-radius) + 12px);--ds-radius-pill:999px;--ds-space-1:4px;--ds-space-2:8px;--ds-space-3:16px;--ds-space-4:24px;--ds-space-5:32px;--ds-space-6:40px;--ds-space-7:48px;--ds-space-8:64px;--ds-space-9:96px;--ds-text-2xs:11px;--ds-text-xs:12px;--ds-text-sm:13px;--ds-text-base:15px;--ds-text-lg:16px;--ds-text-xl:20px;--ds-text-2xl:26px;--ds-text-3xl:32px;--ds-text-display:clamp(32px, 5vw, 56px);--ds-text-hero:clamp(26px, 3.6vw, 42px);--ds-text-lead:clamp(15px, 1.4vw, 18px);--ds-leading-2xs:16px;--ds-leading-xs:18px;--ds-leading-sm:20px;--ds-leading-base:26px;--ds-leading-lg:24px;--ds-leading-xl:28px;--ds-leading-2xl:34px;--ds-leading-3xl:40px;--ds-leading-display:1.08;--ds-leading-normal:1.7;--ds-leading-relaxed:1.85;--ds-control-h-tiny:24px;--ds-control-h-sm:28px;--ds-control-h:32px;--ds-control-h-lg:36px;--ds-control-h-xl:44px;--ds-control-font:14px;--ds-control-font-sm:13px;--ds-icon-size:16px;--ds-page-max:1280px;--ds-shell-wide:1440px;--ds-shell-narrow:960px;--ds-reading-max:760px;--ds-page-gutter:24px;--ds-page-top:84px;--ds-page-top-compact:72px;--ds-sticky-top:76px;--ds-section-gap:40px;--ds-font-sans:"PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--ds-font-serif:"Source Serif 4", "Noto Serif SC", "Songti SC", "SimSun", Georgia, serif;--ds-font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--ds-shadow-1:0 1px 2px #0f172a0a, 0 8px 24px -18px #0f172a29;--ds-shadow-2:0 2px 6px #0f172a0f, 0 18px 40px -22px #0f172a3d;--ds-grad-accent:linear-gradient(135deg, var(--site-primary), color-mix(in srgb, var(--site-primary) 55%, #38bdf8));--ds-grad-sheen:linear-gradient(120deg, transparent 8%, #ffffff61 42%, transparent 68%);--ds-spot:#94a3b838;--ds-mesh-line:#94a3b829;--ds-scrim:#0b122075;--ds-motion-fast:.12s;--ds-motion-base:.2s;--ds-motion-slow:.32s;--ds-ease-out:cubic-bezier(.22, .61, .36, 1);--ds-ease-spring:cubic-bezier(.22, 1, .36, 1)}html.dark{--ds-bg:#070a12;--ds-bg-glow:#5b8cff1f;--ds-surface:#0e131d;--ds-surface-2:#121926;--ds-surface-3:#18202e;--ds-glass-1:#1118279e;--ds-glass-2:#111827c7;--ds-glass-3:#111827eb;--ds-glass-inset:#94a3b812;--ds-glass-inset-strong:#94a3b81f;--ds-glass-border:#94a3b824;--ds-glass-hi:inset 0 1px 0 #ffffff0f;--ds-glass-shadow:inset 0 1px 0 #ffffff0f, 0 24px 64px -32px #000c;--ds-glass-shadow-lg:inset 0 1px 0 #ffffff14, 0 40px 90px -40px #000000e6;--ds-ink:#f3f6fc;--ds-ink-2:#f3f6fcad;--ds-ink-3:#f3f6fc70;--ds-border:#94a3b824;--ds-border-strong:#94a3b83d;--ds-accent:#5b8cff;--ds-accent-soft:#5b8cff29;--ds-success:#34d399;--ds-warning:#fbbf24;--ds-error:#f87171;--ds-info:#38bdf8;--ds-success-soft:#34d39924;--ds-warning-soft:#fbbf2424;--ds-error-soft:#f8717124;--ds-info-soft:#38bdf824;--ds-header-bg:#070a12b8;--ds-footer-bg:#05070c;--ds-shadow-1:inset 0 1px 0 #ffffff0a, 0 8px 24px -18px #0009;--ds-shadow-2:inset 0 1px 0 #ffffff0f, 0 18px 40px -22px #000000b3;--ds-grad-sheen:linear-gradient(120deg, transparent 8%, #ffffff29 42%, transparent 68%);--ds-spot:#5b8cff38}*{box-sizing:border-box;margin:0;padding:0}:root{--ds-safe-b:env(safe-area-inset-bottom,0px);--ds-safe-r:env(safe-area-inset-right,0px);--ds-safe-l:env(safe-area-inset-left,0px);--bly-bg:var(--ds-bg);--bly-card:var(--ds-surface);--bly-card-2:var(--ds-surface-2);--bly-text:var(--ds-ink);--bly-text-2:var(--ds-ink-2);--bly-border:var(--ds-border);--bly-shadow:var(--ds-shadow-1);--bly-shadow-hover:var(--ds-shadow-2);--bly-header-bg:var(--ds-header-bg);--bly-footer-bg:var(--ds-footer-bg);--site-primary:#425aef;--site-radius:12px}html.dark{--bly-bg:var(--ds-bg);--bly-card:var(--ds-surface);--bly-card-2:var(--ds-surface-2);--bly-text:var(--ds-ink);--bly-text-2:var(--ds-ink-2);--bly-border:var(--ds-border);--bly-shadow:var(--ds-shadow-1);--bly-shadow-hover:var(--ds-shadow-2);--bly-header-bg:var(--ds-header-bg);--bly-footer-bg:var(--ds-footer-bg)}html,body{height:100%}a{text-decoration:none}#app,#app>.n-config-provider{flex-direction:column;min-height:100dvh;display:flex}#app .site-footer{margin-top:auto}html{scrollbar-gutter:stable}main.page{z-index:1;width:100%;padding:var(--ds-page-top) var(--ds-page-gutter) var(--ds-space-8);position:relative}html.no-site-header main.page{padding-top:var(--ds-space-6)}.container{width:100%;max-width:var(--ds-page-max);margin-inline:auto}.container--wide{max-width:var(--ds-shell-wide)}.container--narrow{max-width:var(--ds-shell-narrow)}.stack{gap:var(--ds-space-4);flex-direction:column;display:flex}.stack--sm{gap:var(--ds-space-3)}@keyframes page-rise{0%{opacity:0;transform:translateY(14px)}}main.page .container>*{animation:page-rise .7s var(--ds-ease-out) backwards}main.page .container>:first-child{animation-delay:60ms}main.page .container>:nth-child(2){animation-delay:.14s}main.page .container>:nth-child(3){animation-delay:.22s}main.page .container>:nth-child(4){animation-delay:.3s}main.page .container>:nth-child(n+5){animation-delay:.38s}main.page .container.read-mode>*{animation:none}@media (width<=820px){main.page{padding:var(--ds-page-top-compact) calc(12px + var(--ds-safe-r)) calc(var(--ds-space-6) + var(--ds-safe-b)) calc(12px + var(--ds-safe-l,var(--ds-safe-r)))!important}input,textarea,select,.n-input__input-el,.n-input__textarea-el{font-size:16px!important}body{overflow-x:clip}.theme-settings{--fab-edge:16px;--fab-pitch:52px}}@media (pointer:coarse){.n-radio-group .n-radio-button,.n-dropdown .n-dropdown-option-body{height:40px;line-height:40px}.sidebar__social,.swatch{position:relative}.sidebar__social:after,.swatch:after{content:"";border-radius:inherit;position:absolute;inset:-6px}.swatch.custom{overflow:visible}.action{padding-block:10px}.chip:not(.chip--static){min-height:40px}.tag-badge,.badge-wall .badge{position:relative;overflow:visible}.tag-badge:after,.badge-wall .badge:after{content:"";position:absolute;inset:-10px}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}html body{font-family:var(--ds-font-sans);font-variant-numeric:tabular-nums;background:radial-gradient(1200px 620px at 10% -10%, var(--ds-bg-glow), transparent 60%), radial-gradient(900px 520px at 94% 0%, #38bdf80f, transparent 55%), var(--bly-bg);background-attachment:fixed;transition:background-color .3s,color .3s;color:var(--bly-text)!important}.global-glass-bg{z-index:-1;background-position:50%;background-size:cover;background-color:var(--bly-bg);filter:brightness(.92);opacity:0;transition:filter .3s,opacity .8s;position:fixed;inset:0}.global-glass-bg.ready{opacity:1}html.dark .global-glass-bg{filter:brightness(.5)saturate(1.1)}.page-wall-vars{display:contents}.page-wall-bg{z-index:-2;background-position:50%;background-repeat:no-repeat;background-size:cover;background-image:linear-gradient(160deg, color-mix(in srgb, var(--site-primary) 12%, var(--ds-bg)) 0%, color-mix(in srgb, var(--site-primary) 6%, var(--ds-bg)) 45%, var(--ds-bg) 100%);position:fixed;inset:0}.page-wall-bg:after{content:"";background-image:linear-gradient(180deg, #0f121c5c, #0f121c1f 42%, #0f121c47), var(--wall-img);opacity:0;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .4s;position:absolute;inset:0}.page-wall-bg.ready:after{opacity:1}.page-wall-bg-edge{z-index:-1;pointer-events:none;background-image:var(--wall-img);filter:blur(20px)saturate(1.2);opacity:0;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .4s;position:fixed;inset:0;transform:scale(1.06);-webkit-mask-image:radial-gradient(72% 68% at 50% 46%,#0000 52%,#000 88%);mask-image:radial-gradient(72% 68% at 50% 46%,#0000 52%,#000 88%)}.page-wall-bg-edge.ready{opacity:1}main.on-wall .page-hero__title,main.on-wall .page-hero__desc,main.on-wall .page-head__title,main.on-wall .page-head__main .section-desc,main.on-wall .page-head__main .eyebrow,main.on-wall .section-title{color:#fff;text-shadow:0 1px 4px #00000073}main.on-wall .chip{color:#fff;background:#ffffff24;border-color:#ffffff38}@media (prefers-reduced-motion:reduce){.page-wall-bg:after,.page-wall-bg-edge{opacity:1;transition:none}}.img-fade{opacity:0;transition:opacity .5s}.img-fade.img-fade-ready{opacity:1}.page-fade-enter-active{animation:.32s both page-in}.page-fade-leave-active{transition:opacity .12s}.page-fade-leave-to{opacity:0}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}.reveal{opacity:0;transition:opacity .55s,transform .55s cubic-bezier(.22,.61,.36,1);transform:translateY(16px)}.reveal.reveal-in{opacity:1;transform:none}html.motion-off .page-fade-enter-active,html.motion-off .page-fade-leave-active{transition:none;animation:none}html.motion-off .reveal{opacity:1;transition:none;transform:none}html.motion-off .main-col>*,html.motion-off .side-sticky>*,html.motion-off main.page .container>*,html.motion-off main.page>:not([class*=-bg]){animation:none}@media (prefers-reduced-motion:reduce){.img-fade,.global-glass-bg{opacity:1;transition:none;animation:none}.img-fade.img-fade-ready{opacity:1}}.glass{background:var(--ds-glass-1);-webkit-backdrop-filter:blur(var(--ds-blur)) saturate(var(--ds-blur-saturate));border:1px solid var(--ds-glass-border);box-shadow:var(--ds-glass-shadow)}.glass--sm{-webkit-backdrop-filter:blur(var(--ds-blur-sm)) saturate(var(--ds-blur-saturate))}.glass--lg{-webkit-backdrop-filter:blur(var(--ds-blur-lg)) saturate(var(--ds-blur-saturate));box-shadow:var(--ds-glass-shadow-lg)}.bly-card,.card{background:var(--ds-glass-1);-webkit-backdrop-filter:blur(var(--ds-blur)) saturate(var(--ds-blur-saturate));border-radius:var(--ds-radius-lg);border:1px solid var(--ds-glass-border);box-shadow:var(--ds-glass-shadow), var(--ds-glass-hi);transition:box-shadow var(--ds-motion-slow) var(--ds-ease-out), transform var(--ds-motion-slow) var(--ds-ease-out), border-color var(--ds-motion-base) ease, background-color var(--ds-motion-base) ease;position:relative}.card{padding:var(--ds-space-4)}.card--flush{padding:0}.card--inset{background:var(--ds-glass-inset);box-shadow:none;-webkit-backdrop-filter:none;border-color:#0000}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.bly-card,.card,.glass-panel{background:var(--bly-card)}.card--inset{background:var(--ds-surface-2)}}.n-dropdown-menu,.n-select-menu,.n-popover:not(.n-popover--raw),.n-message{-webkit-backdrop-filter:blur(var(--ds-blur-sm)) saturate(var(--ds-blur-saturate))}.n-drawer,.n-dialog,.n-modal.n-card{-webkit-backdrop-filter:blur(var(--ds-blur)) saturate(var(--ds-blur-saturate))}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.n-dropdown-menu.n-dropdown-menu,.n-select-menu.n-select-menu,.n-popover.n-popover:not(.n-popover--raw),.n-message.n-message,.n-drawer.n-drawer,.n-dialog.n-dialog,.n-modal.n-card{background-color:var(--ds-surface)}}.bly-card.hoverable:hover,.card--hover:hover{box-shadow:var(--ds-glass-shadow-lg), var(--ds-glass-hi);border-color:color-mix(in srgb, var(--site-primary) 34%, var(--ds-glass-border))}.card--spot:before{content:"";z-index:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--ds-motion-base) ease;background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%), var(--ds-spot), transparent 62%);position:absolute;inset:0}.card--spot:hover:before{opacity:1}.card--spot>*{z-index:1;position:relative}.card--sheen:after{content:"";border-radius:inherit;pointer-events:none;background:var(--ds-grad-sheen);opacity:0;transition:opacity var(--ds-motion-base) ease;position:absolute;inset:0;overflow:hidden;transform:translate(-100%)}.card--sheen:hover:after{opacity:1;animation:card-sheen 1.1s var(--ds-ease-out)}@keyframes card-sheen{to{transform:translate(100%)}}.module{gap:var(--ds-space-3);flex-direction:column;display:flex}.module__head{align-items:center;gap:var(--ds-space-2);flex:none;display:flex}.module__icon{width:var(--ds-control-h-sm);height:var(--ds-control-h-sm);border-radius:var(--ds-radius-sm);background:var(--ds-accent-soft);color:var(--site-primary);flex:none;place-items:center;display:grid}.module__icon svg{width:var(--ds-icon-size);height:var(--ds-icon-size);fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.module__title{font-size:var(--ds-text-base);line-height:var(--ds-leading-base);letter-spacing:-.005em;color:var(--ds-ink);font-weight:700}.module__action{border-radius:var(--ds-radius-xs);font-size:var(--ds-text-xs);line-height:var(--ds-leading-xs);color:var(--ds-ink-3);cursor:pointer;transition:color var(--ds-motion-fast) var(--ds-ease-out), background var(--ds-motion-fast) var(--ds-ease-out);background:0 0;border:none;align-items:center;gap:2px;margin-left:auto;padding:0 6px;font-weight:600;display:inline-flex}.module__action svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px;transition:transform var(--ds-motion-fast) var(--ds-ease-out)}.module__action:hover{color:var(--site-primary);background:var(--ds-accent-soft)}.module__action:hover svg{transform:translate(2px)}.module__note{font-size:var(--ds-text-xs);line-height:var(--ds-leading-xs);color:var(--ds-ink-3)}#app main.page>.container:not(.read-mode):not([class*=container--]),#app main.home>.container{max-width:var(--ds-page-max)}.section{margin-top:var(--ds-section-gap)}.section:first-child{margin-top:0}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--ds-space-3);margin-bottom:var(--ds-space-3);display:flex}.eyebrow{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-text-xs);line-height:var(--ds-leading-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--ds-ink-3);font-weight:700;display:flex}.eyebrow:before{content:"";border-radius:var(--ds-radius-pill);background:var(--ds-grad-accent);width:20px;height:2px}.section-title{font-size:var(--ds-text-xl);line-height:var(--ds-leading-xl);letter-spacing:-.01em;color:var(--ds-ink);font-weight:700}.section-desc{font-size:var(--ds-text-sm);line-height:var(--ds-leading-sm);color:var(--ds-ink-2);max-width:68ch}.section-actions{align-items:center;gap:var(--ds-space-2);flex-shrink:0;display:flex}.page-hero{gap:var(--ds-space-2);flex-direction:column;display:flex}.page-hero__title{font-size:var(--ds-text-hero);letter-spacing:-.015em;color:var(--ds-ink);font-weight:800;line-height:1.14}.page-hero__desc{font-size:var(--ds-text-lead);line-height:var(--ds-leading-normal);color:var(--ds-ink-2);max-width:62ch}.grid{gap:var(--ds-space-3);display:grid}.grid--auto{grid-template-columns:repeat(auto-fit, minmax(var(--grid-min,260px), 1fr))}.grid--tight{gap:var(--ds-space-2)}.grid--loose{gap:var(--ds-space-4)}.split{grid-template-columns:minmax(0, 1fr) var(--side-w,300px);gap:var(--ds-space-4);align-items:start;display:grid}.split--left{grid-template-columns:var(--side-w,240px) minmax(0, 1fr)}.aside-sticky{top:var(--ds-sticky-top);position:sticky}@media (width<=1080px){.split,.split--left{grid-template-columns:minmax(0,1fr)}.aside-sticky{position:static}}@media (width<=820px){.section-head{flex-direction:column;align-items:flex-start}}.chip-row{align-items:center;gap:var(--ds-space-2);flex-wrap:wrap;display:flex}.chip{height:var(--ds-control-h);border-radius:var(--ds-radius-pill);border:1px solid var(--ds-glass-border);background:var(--ds-glass-inset);color:var(--ds-ink-2);font-family:inherit;font-size:var(--ds-control-font-sm);white-space:nowrap;cursor:pointer;transition:color var(--ds-motion-fast) ease, background var(--ds-motion-base) ease, border-color var(--ds-motion-base) ease, box-shadow var(--ds-motion-base) ease, transform var(--ds-motion-fast) ease;align-items:center;gap:6px;padding:0 14px;font-weight:500;line-height:1;display:inline-flex}.chip:hover{color:var(--site-primary);border-color:color-mix(in srgb, var(--site-primary) 40%, transparent);transform:translateY(-1px)}.chip.active,.chip--active{background:var(--ds-grad-accent);color:#fff;box-shadow:0 8px 20px -12px var(--site-primary);border-color:#0000;font-weight:600}.chip--static{cursor:default;pointer-events:none}.chip__count{font-variant-numeric:tabular-nums;opacity:.72}.toolbar{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-3);border-radius:var(--ds-radius-lg);background:var(--ds-glass-2);border:1px solid var(--ds-glass-border);-webkit-backdrop-filter:blur(var(--ds-blur-sm)) saturate(var(--ds-blur-saturate));box-shadow:var(--ds-shadow-1);flex-wrap:wrap;display:flex}.toolbar__spacer{margin-left:auto}.toolbar__label{font-size:var(--ds-text-sm);color:var(--ds-ink-3);white-space:nowrap}.stat-grid{grid-template-columns:repeat(auto-fit, minmax(var(--stat-min,132px), 1fr));gap:var(--ds-space-2);display:grid}.stat{padding:var(--ds-space-3);border-radius:var(--ds-radius-md);background:var(--ds-glass-inset);flex-direction:column;gap:2px;display:flex}.stat__value{font-size:var(--ds-text-2xl);line-height:var(--ds-leading-2xl);font-variant-numeric:tabular-nums;color:var(--site-primary);font-weight:700}.stat__label{font-size:var(--ds-text-xs);line-height:var(--ds-leading-xs);color:var(--ds-ink-3)}.state{justify-content:center;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-7) var(--ds-space-4);text-align:center;color:var(--ds-ink-3);flex-direction:column;display:flex}.state__icon{border-radius:var(--ds-radius-pill);background:var(--ds-glass-inset);width:56px;height:56px;color:var(--site-primary);place-items:center;font-size:22px;display:grid}.state__title{font-size:var(--ds-text-base);line-height:var(--ds-leading-base);color:var(--ds-ink-2);font-weight:600}.state__desc{font-size:var(--ds-text-sm);max-width:42ch}.skeleton{border-radius:var(--ds-radius-md);background:var(--ds-glass-inset);position:relative;overflow:hidden}.skeleton:after{content:"";background:var(--ds-grad-sheen);animation:1.5s ease-in-out infinite sk-sheen;position:absolute;inset:0;transform:translate(-100%)}@keyframes sk-sheen{60%,to{transform:translate(100%)}}.sk-line{height:12px}.sk-title{height:20px}.sk-block{height:140px}.sk-avatar{border-radius:var(--ds-radius-pill);width:40px;height:40px}.btn{justify-content:center;align-items:center;gap:var(--ds-space-2);height:var(--ds-control-h-lg);border-radius:var(--ds-radius-md);border:1px solid var(--ds-glass-border);background:var(--ds-glass-inset);color:var(--ds-ink);font-family:inherit;font-size:var(--ds-control-font);white-space:nowrap;cursor:pointer;transition:transform var(--ds-motion-fast) ease, background var(--ds-motion-base) ease, border-color var(--ds-motion-base) ease, box-shadow var(--ds-motion-base) ease, color var(--ds-motion-base) ease;padding:0 18px;font-weight:600;line-height:1;display:inline-flex}.btn:hover{border-color:color-mix(in srgb, var(--site-primary) 34%, var(--ds-glass-border));transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--ds-grad-accent);color:#fff;box-shadow:0 12px 28px -14px var(--site-primary);border-color:#0000}.btn--primary:hover{box-shadow:0 16px 34px -14px var(--site-primary)}.btn--ghost{color:var(--ds-ink-2);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--ds-glass-inset);color:var(--ds-ink)}.btn--sm{height:var(--ds-control-h-sm);font-size:var(--ds-control-font-sm);padding:0 12px}.btn--lg{height:var(--ds-control-h-xl);font-size:var(--ds-text-base);padding:0 24px}.btn--block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:var(--ds-text-sm);line-height:var(--ds-leading-sm);color:var(--ds-ink-2);font-weight:500}.field__input{width:100%;height:var(--ds-control-h-xl);border-radius:var(--ds-radius-md);border:1px solid var(--ds-glass-border);background:var(--ds-glass-inset);color:var(--ds-ink);font-family:inherit;font-size:var(--ds-text-base);transition:border-color var(--ds-motion-base) ease, background var(--ds-motion-base) ease, box-shadow var(--ds-motion-base) ease;padding:0 14px}.field__input::placeholder{color:var(--ds-ink-3)}.field__input:hover{border-color:var(--ds-border-strong)}.field__input:focus{border-color:var(--site-primary);background:var(--ds-glass-3);box-shadow:0 0 0 3px var(--ds-accent-soft);outline:none}textarea.field__input{height:auto;min-height:96px;line-height:var(--ds-leading-base);resize:vertical;padding:12px 14px}.field__hint{font-size:var(--ds-text-xs);line-height:var(--ds-leading-xs);color:var(--ds-ink-3)}.hr{height:1px;margin:var(--ds-space-4) 0;background:linear-gradient(90deg, transparent, var(--ds-border-strong), transparent);border:0}.glass-panel{background:var(--ds-glass-1);border:1px solid var(--ds-glass-border);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-glass-shadow), var(--ds-glass-hi);-webkit-backdrop-filter:blur(var(--ds-blur)) saturate(var(--ds-blur-saturate))}.auth-stage{background:radial-gradient(120% 100% at 12% 0%, color-mix(in srgb, var(--site-primary) 22%, transparent), transparent 55%), linear-gradient(165deg, color-mix(in srgb, var(--site-primary) 14%, var(--ds-bg)) 0%, color-mix(in srgb, var(--ds-accent) 20%, var(--ds-surface)) 46%, color-mix(in srgb, var(--site-primary) 30%, var(--ds-bg)) 100%);min-height:100dvh;display:flex;position:relative;overflow:hidden}.auth-stage__bg{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.auth-stage__bg.ready{opacity:1;animation:38s ease-in-out infinite alternate auth-bg-breathe}@keyframes auth-bg-breathe{0%{transform:scale(1)}to{transform:scale(1.08)translateY(-1.5%)}}.auth-stage__tint{background:radial-gradient(120% 90% at 18% 8%, color-mix(in srgb, var(--ds-info) 14%, transparent), transparent 60%), linear-gradient(180deg, color-mix(in srgb, var(--ds-scrim) 28%, transparent) 0%, color-mix(in srgb, var(--ds-scrim) 44%, transparent) 100%);position:absolute;inset:0}.auth-stage__scene{z-index:1;padding:calc(var(--ds-page-top) + 12px) var(--ds-page-gutter) var(--ds-space-6);flex:1;justify-content:center;align-items:center;display:flex;position:relative}.auth-stage__art{z-index:1;border-radius:var(--ds-radius-2xl);width:300px;height:440px;box-shadow:var(--ds-glass-shadow-lg);border:1px solid #ffffff80;flex-shrink:0;margin:0;position:relative;overflow:hidden;transform:translateY(-30px)}.auth-stage__art img{object-fit:cover;width:100%;height:100%;display:block}.auth-panel{z-index:2;width:420px;max-width:94vw;padding:var(--ds-space-5) var(--ds-space-4) var(--ds-space-4);border-radius:var(--ds-radius-2xl);background:linear-gradient(155deg, color-mix(in srgb, var(--site-primary) 14%, transparent), color-mix(in srgb, var(--ds-info) 12%, transparent) 50%, color-mix(in srgb, var(--ds-accent) 10%, transparent)), var(--ds-glass-2);box-shadow:var(--ds-glass-hi), var(--ds-glass-shadow-lg);-webkit-backdrop-filter:blur(var(--ds-blur-lg)) saturate(var(--ds-blur-saturate));color:var(--ds-ink);border:1px solid #ffffff6b;margin-left:-60px;position:relative}.auth-panel--solo{margin-left:0}html.dark .auth-panel{border-color:#ffffff1f}.auth-panel__title{font-size:var(--ds-text-2xl);line-height:var(--ds-leading-2xl);letter-spacing:.04em;margin:0;font-weight:700}.auth-panel__subtitle{margin:var(--ds-space-2) 0 var(--ds-space-5);font-size:var(--ds-text-sm);line-height:var(--ds-leading-sm);color:var(--ds-ink-2)}.auth-form{gap:var(--ds-space-3);flex-direction:column;display:flex}.auth-msg{font-size:var(--ds-text-sm);line-height:var(--ds-leading-sm);margin:0}.auth-msg--error{color:var(--ds-error)}.auth-msg--success{color:var(--ds-success)}@media (width<=860px){.auth-stage__art{display:none}.auth-panel{width:100%;max-width:440px;margin-left:0}}@media (prefers-reduced-motion:reduce){.auth-stage__bg.ready{animation:none}}.fab{--fab-edge:var(--ds-page-gutter);--fab-pitch:54px;--fab-slot:1;right:calc(var(--fab-edge) + var(--ds-safe-r));bottom:calc(var(--fab-edge) + (var(--fab-slot) - 1) * var(--fab-pitch) + var(--ds-safe-b));z-index:999;width:var(--ds-control-h-xl);height:var(--ds-control-h-xl);border:1px solid var(--ds-glass-border);border-radius:var(--ds-radius-pill);background:var(--ds-glass-2);-webkit-backdrop-filter:blur(var(--ds-blur)) saturate(var(--ds-blur-saturate));box-shadow:var(--ds-glass-shadow), var(--ds-glass-hi);color:var(--ds-ink);cursor:pointer;transition:transform var(--ds-motion-slow) var(--ds-ease-spring), box-shadow var(--ds-motion-base) ease, border-color var(--ds-motion-base) ease, color var(--ds-motion-base) ease, background var(--ds-motion-base) ease;place-items:center;padding:0;text-decoration:none;display:grid;position:fixed}.fab:hover{border-color:color-mix(in srgb, var(--site-primary) 40%, var(--ds-glass-border));color:var(--site-primary);box-shadow:var(--ds-glass-shadow-lg), var(--ds-glass-hi);transform:translateY(-3px)scale(1.05)}.fab:active{transform:translateY(-1px)scale(1.01)}.fab svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:21px;height:21px}.fab--slot-2{--fab-slot:2}.fab--slot-3{--fab-slot:3}.fab--slot-4{--fab-slot:4}@media (width<=820px){.fab{--fab-edge:16px;--fab-pitch:52px}}.fab--in-flow{position:static}.fab--accent{background:var(--ds-grad-accent);-webkit-backdrop-filter:none;color:#fff;box-shadow:0 10px 26px -12px color-mix(in srgb, var(--site-primary) 85%, transparent);border-color:#0000}.fab--accent:hover{color:#fff;box-shadow:0 16px 34px -12px color-mix(in srgb, var(--site-primary) 95%, transparent);border-color:#0000}.fab__badge{border-radius:var(--ds-radius-pill);background:var(--ds-error);border:2px solid var(--ds-surface);color:#fff;min-width:18px;height:18px;font-size:var(--ds-text-2xs);text-align:center;animation:fab-badge-pop .3s var(--ds-ease-spring);padding:0 5px;font-weight:700;line-height:14px;position:absolute;top:-4px;right:-4px}@keyframes fab-badge-pop{0%{transform:scale(0)}}main.page>:not([class*=-bg]){animation:page-emerge .9s var(--ds-ease-spring) backwards}@keyframes page-emerge{0%{opacity:0;filter:blur(8px);transform:translateY(48px)}to{opacity:1;filter:blur();transform:translateY(0)}}@media (prefers-reduced-motion:reduce){main.page>:not([class*=-bg]),.skeleton:after{animation:none}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#8080804d;border-radius:4px}::-webkit-scrollbar-track{background:0 0}.bly-ribbon-canvas{z-index:0;pointer-events:none;position:fixed;inset:0}.bly-click-heart{z-index:3100;pointer-events:none;color:#fc6076;text-shadow:0 0 10px #fc6076bf,0 2px 4px #0000002e;font-size:32px;line-height:1;animation:1.1s cubic-bezier(.22,.61,.36,1) forwards bly-heart-up;position:fixed;transform:translate(-50%,-50%)}.bly-click-heart--mini{text-shadow:0 0 8px #ff7d96b3;font-size:18px;animation-duration:.9s}@keyframes bly-heart-up{0%{opacity:0;transform:translate(-50%, -50%) scale(.3) rotate(var(--rot,0deg))}20%{opacity:1;transform:translate(calc(-50% + var(--tx,0px) * .15), calc(-50% + var(--ty,0px) * .2)) scale(1.35) rotate(calc(var(--rot,0deg) * .3))}70%{opacity:.95}to{opacity:0;transform:translate(calc(-50% + var(--tx,0px)), calc(-50% + var(--ty,0px))) scale(.9) rotate(var(--rot,0deg))}}@keyframes bly-heart-pop{0%{opacity:0;scale:.7}30%{opacity:1;scale:1.25}65%{opacity:1;scale:1.1}to{opacity:0;scale:.95}}@media (prefers-reduced-motion:reduce){.bly-click-heart{transform:translate(calc(-50% + var(--tx,0px) * .6), calc(-50% + var(--ty,0px) * .25));animation-name:bly-heart-pop;animation-duration:.7s!important}.bly-click-heart--mini{animation-duration:.6s!important}}.bly-lightbox{z-index:2500;cursor:zoom-out;background:#000000c7;justify-content:center;align-items:center;animation:.2s bly-fade-in;display:flex;position:fixed;inset:0}.bly-lightbox img{border-radius:8px;max-width:92vw;max-height:92vh;box-shadow:0 12px 48px #00000080}@keyframes bly-fade-in{0%{opacity:0}to{opacity:1}}.markdown-body a:not(.bly-img-link){color:var(--site-primary);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--site-primary) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--site-primary) 35%, transparent);text-underline-offset:3px;transition:text-decoration-color var(--ds-motion-fast) var(--ds-ease-out);font-weight:500}.markdown-body a:not(.bly-img-link):hover{-webkit-text-decoration-color:var(--site-primary);text-decoration-color:var(--site-primary)}.markdown-body .bly-img-link{cursor:zoom-in;max-width:100%;line-height:0;display:inline-block}.markdown-body .bly-img-link img{cursor:zoom-in}.markdown-body .bly-code-block{background:#0d1117;border-radius:10px;margin:16px 0;overflow:hidden}.markdown-body .bly-code-header{color:#ffffffa6;-webkit-user-select:none;user-select:none;background:#ffffff0f;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.markdown-body .bly-code-dots{background:#ff5f56;border-radius:50%;flex-shrink:0;width:11px;height:11px;margin-right:42px;box-shadow:17px 0 #ffbd2e,34px 0 #27c93f}.markdown-body .bly-code-lang{text-transform:uppercase;letter-spacing:1px}.markdown-body .bly-code-actions{gap:10px;margin-left:auto;display:flex}.markdown-body .bly-code-btn{color:#ffffffa6;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px;transition:background .2s,color .2s}.markdown-body .bly-code-btn:hover{color:#fff;background:#ffffff1f}.markdown-body .bly-code-wrap pre code{word-break:break-all;white-space:pre-wrap!important}.markdown-body .bly-code-block pre{background:0 0!important;border-radius:0!important;margin:0!important}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--site-primary);outline-offset:2px;border-radius:4px}#main-content:focus{outline:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html:not(.motion-force) *,html:not(.motion-force) :before,html:not(.motion-force) :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
