.route-loading-shell[data-v-f31c2f31]{position:fixed;top:0;left:0;z-index:1000;width:100%;height:3px;margin:0;padding:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .18s ease}.route-loading-shell.visible[data-v-f31c2f31]{opacity:1}.route-loading-bar[data-v-f31c2f31]{display:block;width:100%;margin:0;padding:0;line-height:0}.app-container[data-v-f31c2f31]{display:flex;flex-direction:column;min-height:100dvh;width:100%}.app-main[data-v-f31c2f31]{flex:1 0 auto;width:100%;min-height:0}.global-loading-shell[data-v-f31c2f31]{min-height:100dvh;display:flex;flex-direction:column;background:#f5f7fb}.dark .global-loading-shell[data-v-f31c2f31]{background:#0a0a0a}.global-loading-topbar[data-v-f31c2f31]{height:60px;display:flex;align-items:center;justify-content:center;background:#ffffffeb;border-bottom:1px solid rgba(5,5,5,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dark .global-loading-topbar[data-v-f31c2f31]{background:#1a1a1aeb;border-bottom-color:#ffffff1a}.global-loading-topbar-inner[data-v-f31c2f31]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 20px}.global-loading-brand[data-v-f31c2f31]{display:flex;align-items:center;gap:12px;cursor:pointer}.global-loading-logo[data-v-f31c2f31]{width:36px;height:36px;object-fit:contain}.global-loading-brand-copy[data-v-f31c2f31]{display:flex;flex-direction:column}.global-loading-brand-title[data-v-f31c2f31]{color:#111827;font-size:16px;font-weight:700;line-height:1.2}.dark .global-loading-brand-title[data-v-f31c2f31]{color:#f8fafc}.global-loading-brand-subtitle[data-v-f31c2f31]{color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dark .global-loading-brand-subtitle[data-v-f31c2f31]{color:#a1a1aa}.notice-body[data-v-f31c2f31]{padding:8px 0 20px}.notice-content[data-v-f31c2f31]{line-height:1.8;color:#374151}.dark .notice-content[data-v-f31c2f31]{color:#d1d5db}.notice-footer[data-v-f31c2f31]{display:flex;align-items:center;justify-content:space-between;gap:16px}.notice-footer-meta[data-v-f31c2f31],.notice-footer-actions[data-v-f31c2f31]{display:flex;align-items:center;gap:12px}.notice-counter[data-v-f31c2f31]{color:#6b7280;font-size:13px}@media(max-width:768px){.notice-footer[data-v-f31c2f31]{flex-direction:column;align-items:stretch}.notice-footer-meta[data-v-f31c2f31],.notice-footer-actions[data-v-f31c2f31]{justify-content:space-between}}.topbar-shell[data-v-f0f98116]{height:auto;line-height:normal;padding:0;background:#ffffffeb;border-bottom:1px solid rgba(5,5,5,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dark .topbar-shell[data-v-f0f98116]{background:#1a1a1aeb;border-bottom-color:#ffffff1a}.topbar-inner[data-v-f0f98116]{display:flex;align-items:center;justify-content:space-between;min-height:60px;width:100%}.topbar-brand[data-v-f0f98116]{display:flex;align-items:center;gap:12px;box-sizing:border-box;width:196px;min-width:196px;min-height:60px;padding:0 18px;border-right:1px solid rgba(5,5,5,.06);cursor:pointer;overflow:hidden;transition:width .2s ease,min-width .2s ease,padding .2s ease,gap .2s ease}.topbar-brand-collapsed[data-v-f0f98116]{justify-content:center;gap:0;width:64px;min-width:64px;padding:0}.dark .topbar-brand[data-v-f0f98116]{border-right-color:#ffffff14}.topbar-brand-logo[data-v-f0f98116]{width:36px;height:36px;object-fit:contain}.mobile-menu-toggle[data-v-f0f98116]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:-10px;margin-right:-2px;border-radius:10px}.topbar-brand-copy[data-v-f0f98116]{display:flex;flex-direction:column;min-width:0;overflow:hidden;white-space:nowrap;transition:opacity .15s ease,width .2s ease}.topbar-brand-collapsed .topbar-brand-copy[data-v-f0f98116]{width:0;opacity:0;pointer-events:none}.topbar-brand-title[data-v-f0f98116]{color:#111827;font-size:16px;font-weight:700;line-height:1.2}.dark .topbar-brand-title[data-v-f0f98116]{color:#f8fafc}.topbar-brand-subtitle[data-v-f0f98116]{color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dark .topbar-brand-subtitle[data-v-f0f98116]{color:#a1a1aa}.topbar-menu-scroll[data-v-f0f98116]{flex:0 0 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.topbar-menu-scroll[data-v-f0f98116]::-webkit-scrollbar{display:none}.topbar-actions[data-v-f0f98116]{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:0 16px 0 0}.topbar-account[data-v-f0f98116]{cursor:pointer}.topbar-account-name[data-v-f0f98116]{color:#111827;font-size:14px;font-weight:600}.dark .topbar-account-name[data-v-f0f98116]{color:#f8fafc}.theme-toggle[data-v-f0f98116],.color-toggle[data-v-f0f98116]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:all .2s ease}.theme-toggle[data-v-f0f98116]:hover,.color-toggle[data-v-f0f98116]:hover{background:#1677ff14}@media(max-width:1100px){.topbar-inner[data-v-f0f98116]{flex-wrap:wrap}.topbar-brand[data-v-f0f98116]{width:100%;min-width:0;justify-content:flex-start;padding:0 24px;border-right:0;border-bottom:1px solid rgba(5,5,5,.06)}.topbar-brand-collapsed .topbar-brand-copy[data-v-f0f98116]{width:auto;opacity:1}.dark .topbar-brand[data-v-f0f98116]{border-bottom-color:#ffffff14}.topbar-menu-scroll[data-v-f0f98116]{width:100%;margin-left:auto}}@media(max-width:960px){.topbar-menu-scroll[data-v-f0f98116] .n-menu-item-content-header{display:none}}@media(max-width:720px){.topbar-inner[data-v-f0f98116]{min-height:56px;flex-wrap:wrap}.topbar-brand[data-v-f0f98116]{order:1;flex:0 0 auto;width:auto;min-width:0;min-height:56px;padding:0 16px;border-bottom:0}.dark .topbar-brand[data-v-f0f98116]{border-bottom-color:transparent}.topbar-menu-scroll[data-v-f0f98116]{order:2;flex:0 0 100%;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;border-top:1px solid rgba(5,5,5,.06)}.dark .topbar-menu-scroll[data-v-f0f98116]{border-top-color:#ffffff14}.topbar-actions[data-v-f0f98116]{order:1;gap:4px;padding:0 10px 0 0}.theme-toggle[data-v-f0f98116],.color-toggle[data-v-f0f98116],.mobile-menu-toggle[data-v-f0f98116]{width:40px;height:40px;flex:0 0 40px}}.page-header[data-v-03bebe07]{padding:12px 0}.page-header-heading[data-v-03bebe07]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-header-heading-left[data-v-03bebe07]{display:flex;align-items:center;gap:10px;transform:translate(8px)}.page-header-heading-extra[data-v-03bebe07]{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-right:12px}.default-layout[data-v-f7ad9f15]{min-height:100dvh;background:#f8fafc}.default-layout[data-v-f7ad9f15]>.n-layout-scroll-container{display:flex;flex-direction:column;min-height:100dvh}.dark .default-layout[data-v-f7ad9f15]{background:#0f0f11}.default-body[data-v-f7ad9f15]{flex:1;min-height:0;background:transparent;align-items:stretch}.default-body[data-v-f7ad9f15]>.n-layout-scroll-container{position:absolute;inset:0;height:auto;align-items:stretch;overflow:hidden auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.5) transparent}.default-body[data-v-f7ad9f15]>.n-layout-scroll-container::-webkit-scrollbar{width:10px}.default-body[data-v-f7ad9f15]>.n-layout-scroll-container::-webkit-scrollbar-track{background:transparent}.default-body[data-v-f7ad9f15]>.n-layout-scroll-container::-webkit-scrollbar-thumb{min-height:48px;background:#64748b66;border:3px solid transparent;border-radius:999px;background-clip:padding-box}.default-body[data-v-f7ad9f15]>.n-layout-scroll-container::-webkit-scrollbar-thumb:hover{background:#4755699e;background-clip:padding-box}.default-body[data-v-f7ad9f15]>.n-layout-scroll-container::-webkit-scrollbar-thumb:active{background:#334155c2;background-clip:padding-box}.dark .default-body[data-v-f7ad9f15]>.n-layout-scroll-container{scrollbar-color:rgba(148,163,184,.48) transparent}.dark .default-body[data-v-f7ad9f15]>.n-layout-scroll-container::-webkit-scrollbar-thumb{background:#94a3b861;background-clip:padding-box}.dark .default-body[data-v-f7ad9f15]>.n-layout-scroll-container::-webkit-scrollbar-thumb:hover{background:#cbd5e194;background-clip:padding-box}.dark .default-body[data-v-f7ad9f15]>.n-layout-scroll-container::-webkit-scrollbar-thumb:active{background:#e2e8f0b8;background-clip:padding-box}.default-body-main[data-v-f7ad9f15]{display:flex;flex-direction:column;min-width:0;min-height:0;background:transparent}.default-body-main[data-v-f7ad9f15]>.n-layout-scroll-container{display:flex;flex-direction:column;min-height:100%}.default-sider[data-v-f7ad9f15]{position:relative;align-self:stretch;height:auto!important;min-height:0;overflow:hidden;background:#ffffffeb!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.default-sider[data-v-f7ad9f15] .n-layout-sider-scroll-container{position:absolute;inset:0;height:auto}.dark .default-sider[data-v-f7ad9f15]{background:#1a1a1aeb!important}.sidebar-inner[data-v-f7ad9f15]{display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.45) transparent}.sidebar-inner[data-v-f7ad9f15] .n-menu{flex:0 0 auto;height:auto;overflow:visible}.sidebar-inner[data-v-f7ad9f15]::-webkit-scrollbar{width:6px}.sidebar-inner[data-v-f7ad9f15]::-webkit-scrollbar-thumb{background-color:#80808073;border-radius:999px}.sidebar-inner[data-v-f7ad9f15]::-webkit-scrollbar-track{background:transparent}.default-sider[data-v-f7ad9f15] .n-layout-toggle-button{top:50%;transform:translate(50%) translateY(-50%)}.default-main[data-v-f7ad9f15]{flex:1 0 auto;width:100%;padding:0 32px 28px;background:transparent}.default-main[data-v-f7ad9f15]>.n-layout-scroll-container{display:flex;flex-direction:column;min-height:100%}.default-shell[data-v-f7ad9f15]{flex:1 0 auto;display:flex;flex-direction:column;width:100%}.default-shell-contained[data-v-f7ad9f15]{max-width:1440px;margin:0 auto}.current-page-title[data-v-f7ad9f15]{font-size:16px;font-weight:600;line-height:1.5;color:var(--foreground)}.page-breadcrumb[data-v-f7ad9f15] .n-breadcrumb-item{align-items:center}.page-breadcrumb[data-v-f7ad9f15] .n-breadcrumb-item__separator{margin:0 10px}.page-breadcrumb[data-v-f7ad9f15] .breadcrumb-section .n-breadcrumb-item__link,.page-breadcrumb[data-v-f7ad9f15] .breadcrumb-section .n-breadcrumb-item__link:hover,.page-breadcrumb[data-v-f7ad9f15] .breadcrumb-section .n-breadcrumb-item__link:active,.page-breadcrumb[data-v-f7ad9f15] .breadcrumb-section .n-breadcrumb-item__link:focus{background-color:transparent!important;box-shadow:none!important;color:inherit;cursor:default;outline:none;text-shadow:none;transition:none}#layout-header-actions[data-v-f7ad9f15]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;width:100%;min-width:0}.default-content[data-v-f7ad9f15]{flex:1 0 auto;width:100%}.default-content[data-v-f7ad9f15] .page-space,.default-content[data-v-f7ad9f15] .admin-page-space{display:flex;flex-direction:column;gap:24px}#layout-header-actions[data-v-f7ad9f15] .n-space{align-items:center;flex-wrap:nowrap!important;max-width:100%;overflow-x:auto}#layout-header-actions[data-v-f7ad9f15] .n-space{flex:0 0 auto;margin-left:auto}#layout-header-actions[data-v-f7ad9f15] .n-button[title=刷新]{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0;vertical-align:middle}#layout-header-actions[data-v-f7ad9f15] .n-button[title=刷新] .n-button__icon{margin:0}@media(max-width:960px){.default-main[data-v-f7ad9f15]{padding:0 20px 20px}}.default-footer[data-v-f7ad9f15]{flex:0 0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:12px 32px;font-size:11px;color:#9ca3af;border-top:1px solid rgba(0,0,0,.06);margin-top:auto}.dark .default-footer[data-v-f7ad9f15]{border-top-color:#ffffff14;color:#71717a}.default-footer a[data-v-f7ad9f15]{color:#6b7280;text-decoration:none;transition:color .2s}.default-footer a[data-v-f7ad9f15]:hover{color:var(--accent-color)}.dark .default-footer a[data-v-f7ad9f15]{color:#a1a1aa}.footer-sep[data-v-f7ad9f15]{color:#d1d5db}.dark .footer-sep[data-v-f7ad9f15]{color:#3f3f46}.footer-build[data-v-f7ad9f15]{display:inline-flex;align-items:center;gap:4px;line-height:1;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.footer-build svg[data-v-f7ad9f15]{flex-shrink:0}.version-modal-body[data-v-f7ad9f15]{margin:8px 0;font-size:14px;line-height:1.6;color:var(--foreground)}:root{--background: #ffffff;--foreground: #111827;--card: #ffffff;--card-foreground: #111827;--popover: #ffffff;--popover-foreground: #111827;--primary: #111827;--primary-foreground: #f8fafc;--secondary: #f1f5f9;--secondary-foreground: #111827;--muted: #f1f5f9;--muted-foreground: #64748b;--accent: #f1f5f9;--accent-foreground: #111827;--destructive: #ef4444;--destructive-foreground: #ffffff;--border: #e5e7eb;--input: #e5e7eb;--ring: #111827;--radius: .5rem}.dark{--background: #0a0a0a;--foreground: #f8fafc;--card: #1a1a1a;--card-foreground: #f8fafc;--popover: #1a1a1a;--popover-foreground: #f8fafc;--primary: #f8fafc;--primary-foreground: #0a0a0a;--secondary: #27272a;--secondary-foreground: #f8fafc;--muted: #27272a;--muted-foreground: #a1a1aa;--accent: #27272a;--accent-foreground: #f8fafc;--destructive: #dc2626;--destructive-foreground: #f8fafc;--border: #27272a;--input: #27272a;--ring: #d4d4d8}h1{margin-top:0}*{box-sizing:border-box;border-color:var(--border)}html,body,#app{height:100%;min-height:100%;width:100%;margin:0;overflow-x:clip}body,#app{min-height:100dvh}body{margin:0;background:var(--background);color:var(--foreground);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.font-mono,.mono-text,code,pre{overflow-wrap:anywhere;word-break:break-word}@media(max-width:768px){body{font-size:14px}}@media(max-width:480px){body{font-size:14px}}.primary-buttom{width:120px}.container-card{margin:20px;box-shadow:0 4px 12px var(--shadow-color);transition:box-shadow .3s,transform .3s,border-color .3s}@font-face{font-family:JetBrains Mono;src:url(https://gcore.jsdelivr.net/gh/JetBrains/JetBrainsMono/web/woff2/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
