@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap";.theme-toggle[data-v-91108577]{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center}.toggle-track[data-v-91108577]{position:relative;width:52px;height:28px;background:var(--color-border);border-radius:14px;transition:background .3s ease;display:flex;align-items:center;justify-content:space-between;padding:0 6px}.toggle-track.dark[data-v-91108577]{background:var(--color-text)}.toggle-icon[data-v-91108577]{z-index:1;transition:opacity .3s ease}.sun[data-v-91108577]{color:var(--color-text)}.dark .sun[data-v-91108577]{opacity:.4}.moon[data-v-91108577]{color:var(--color-bg);opacity:.4}.dark .moon[data-v-91108577]{opacity:1}.toggle-thumb[data-v-91108577]{position:absolute;top:3px;left:3px;width:22px;height:22px;background:var(--color-bg);border-radius:50%;transition:transform .3s cubic-bezier(.68,-.15,.27,1.15);box-shadow:0 1px 3px #00000026}.dark .toggle-thumb[data-v-91108577]{transform:translate(24px);background:var(--color-bg-secondary)}.layout[data-v-6ba6fd7d]{min-height:100vh;display:flex;flex-direction:column}.header[data-v-6ba6fd7d]{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:color-mix(in srgb,var(--color-bg) 85%,transparent);transition:background var(--transition-base),border-color var(--transition-base)}.header-inner[data-v-6ba6fd7d]{max-width:1200px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.logo[data-v-6ba6fd7d]{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--color-text);transition:opacity var(--transition-fast)}.logo[data-v-6ba6fd7d]:hover{opacity:.7}.logo-mark[data-v-6ba6fd7d]{width:36px;height:36px;background:var(--color-text);color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;font-family:serif;transition:background var(--transition-base),color var(--transition-base)}.logo-text[data-v-6ba6fd7d]{font-size:18px;font-weight:600;letter-spacing:2px}.nav[data-v-6ba6fd7d]{display:flex;align-items:center;gap:4px}.nav-link[data-v-6ba6fd7d]{padding:8px 14px;font-size:14px;color:var(--color-text-secondary);text-decoration:none;border:none;background:none;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);font-family:inherit;border-radius:var(--radius-md);position:relative}.nav-link[data-v-6ba6fd7d]:after{content:"";position:absolute;bottom:4px;left:14px;right:14px;height:1.5px;background:var(--color-text);transform:scaleX(0);transition:transform var(--transition-base)}.nav-link[data-v-6ba6fd7d]:hover,.nav-link.router-link-active[data-v-6ba6fd7d]{color:var(--color-text)}.nav-link.router-link-active[data-v-6ba6fd7d]:after{transform:scaleX(1)}.nav-link-accent[data-v-6ba6fd7d]{background:var(--color-text);color:var(--color-bg);font-weight:500}.nav-link-accent[data-v-6ba6fd7d]:after{display:none}.nav-link-accent[data-v-6ba6fd7d]:hover{opacity:.85;color:var(--color-bg)}.nav-btn[data-v-6ba6fd7d]{font-size:14px}.main[data-v-6ba6fd7d]{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:40px 24px}.footer[data-v-6ba6fd7d]{border-top:1px solid var(--color-border);padding:24px;transition:border-color var(--transition-base)}.footer-inner[data-v-6ba6fd7d]{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--color-text-tertiary)}.footer-brand[data-v-6ba6fd7d]{font-weight:500;letter-spacing:1px}@media(max-width:768px){.header-inner[data-v-6ba6fd7d]{padding:0 16px}.main[data-v-6ba6fd7d]{padding:24px 16px}.logo-text[data-v-6ba6fd7d]{display:none}.nav-link[data-v-6ba6fd7d]{padding:8px 10px;font-size:13px}}:root,[data-theme=light]{--color-bg: #ffffff;--color-bg-secondary: #fafafa;--color-bg-tertiary: #f5f5f5;--color-bg-elevated: #ffffff;--color-text: #000000;--color-text-secondary: #555555;--color-text-tertiary: #999999;--color-border: #e5e5e5;--color-border-hover: #cccccc;--color-accent: #000000;--color-accent-hover: #333333;--color-error: #cc0000;--color-error-bg: #fff5f5;--color-success: #006600;--color-success-bg: #f5fff5;--color-overlay: rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .08);--shadow-glow: 0 0 0 0 transparent}[data-theme=dark]{--color-bg: #0a0a0a;--color-bg-secondary: #111111;--color-bg-tertiary: #1a1a1a;--color-bg-elevated: #141414;--color-text: #f0f0f0;--color-text-secondary: #a0a0a0;--color-text-tertiary: #666666;--color-border: #262626;--color-border-hover: #404040;--color-accent: #f0f0f0;--color-accent-hover: #cccccc;--color-error: #ff4444;--color-error-bg: #1a0000;--color-success: #44cc44;--color-success-bg: #001a00;--color-overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(255, 255, 255, .03)}:root{--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-full: 9999px;--font-sans: "Inter", "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.16, 1, .3, 1);--transition-bounce: .5s cubic-bezier(.68, -.15, .27, 1.15)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.6;transition:background var(--transition-base),color var(--transition-base)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}.page-enter-active{transition:opacity .3s ease,transform .3s ease}.page-leave-active{transition:opacity .2s ease,transform .2s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-in{animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}.animate-in-delay-1{animation-delay:.05s}.animate-in-delay-2{animation-delay:.1s}.animate-in-delay-3{animation-delay:.15s}.animate-in-delay-4{animation-delay:.2s}.animate-in-delay-5{animation-delay:.25s}.animate-in-delay-6{animation-delay:.3s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:500;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:all var(--transition-base),transform var(--transition-fast),box-shadow var(--transition-base);text-decoration:none;line-height:1.4;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;opacity:0;transition:opacity var(--transition-fast)}.btn:hover{border-color:var(--color-text);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:hover:after{opacity:.04}.btn:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-lg)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--color-bg-tertiary);border-color:transparent;box-shadow:none;transform:none}.btn-sm{padding:6px 14px;font-size:13px}.btn-lg{padding:14px 32px;font-size:16px}.btn-block{width:100%}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:500;color:var(--color-text-secondary);letter-spacing:.5px;text-transform:uppercase}.form-input{padding:10px 14px;font-size:15px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.form-input:focus{border-color:var(--color-text);box-shadow:0 0 0 3px #0000000f}[data-theme=dark] .form-input:focus{box-shadow:0 0 0 3px #ffffff0f}.form-input::placeholder{color:var(--color-text-tertiary)}textarea.form-input{min-height:120px;resize:vertical;line-height:1.6}.card{border:1px solid var(--color-border);background:var(--color-bg-elevated);transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.card-hover:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-body{padding:24px}.page-header{margin-bottom:40px;animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}.page-title{font-size:28px;font-weight:700;letter-spacing:-.5px;line-height:1.2}.page-subtitle{margin-top:8px;font-size:15px;color:var(--color-text-secondary)}.tag{display:inline-flex;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;border:1px solid var(--color-border);color:var(--color-text-secondary);letter-spacing:.5px;transition:all var(--transition-fast)}.tag:hover{border-color:var(--color-text);color:var(--color-text)}.alert{padding:12px 16px;font-size:14px;border:1px solid;animation:slideDown .3s ease both}.alert-error{border-color:var(--color-error);color:var(--color-error);background:var(--color-error-bg)}.alert-success{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-bg)}.meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--color-text-tertiary)}.meta-sep{width:1px;height:12px;background:var(--color-border)}.empty{text-align:center;padding:60px 24px;color:var(--color-text-tertiary);animation:fadeIn .5s ease both}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.3;animation:float 3s ease-in-out infinite}.empty-text{font-size:15px}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-secondary) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);padding:4px 10px;font-size:12px;white-space:nowrap;background:var(--color-text);color:var(--color-bg);opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.page-title{font-size:22px}.container{padding:0 16px}}::selection{background:var(--color-text);color:var(--color-bg)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}
