@import"https://fonts.loli.net/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-a154f09c]{min-height:100vh;display:flex;flex-direction:column}.header[data-v-a154f09c]{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--color-bg) 85%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}.header.scrolled[data-v-a154f09c]{border-bottom-color:var(--color-border);box-shadow:var(--shadow-sm)}.header-inner[data-v-a154f09c]{max-width:1200px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.logo[data-v-a154f09c]{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--color-text);transition:opacity var(--transition-fast)}.logo[data-v-a154f09c]:hover{opacity:.7}.logo-mark[data-v-a154f09c]{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:transform var(--transition-bounce),background var(--transition-base),color var(--transition-base)}.logo:hover .logo-mark[data-v-a154f09c]{transform:rotate(-6deg) scale(1.05)}.logo-text[data-v-a154f09c]{font-size:18px;font-weight:600;letter-spacing:2px}.nav[data-v-a154f09c]{display:flex;align-items:center;gap:4px}.nav-link[data-v-a154f09c]{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),transform var(--transition-fast);font-family:inherit;border-radius:var(--radius-md);position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;-webkit-tap-highlight-color:transparent}.nav-link[data-v-a154f09c]: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-a154f09c]:hover,.nav-link.router-link-active[data-v-a154f09c]{color:var(--color-text)}.nav-link.router-link-active[data-v-a154f09c]:after{transform:scaleX(1)}.nav-link[data-v-a154f09c]:active{transform:scale(.95)}.nav-link-accent[data-v-a154f09c]{background:var(--color-text);color:var(--color-bg);font-weight:500}.nav-link-accent[data-v-a154f09c]:after{display:none}.nav-link-accent[data-v-a154f09c]:hover{opacity:.85;color:var(--color-bg)}.nav-btn[data-v-a154f09c]{font-size:14px}.main[data-v-a154f09c]{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:40px 24px}.footer[data-v-a154f09c]{border-top:1px solid var(--color-border);padding:24px;transition:border-color var(--transition-base)}.footer-inner[data-v-a154f09c]{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-a154f09c]{font-weight:500;letter-spacing:1px}@media(max-width:768px){.header-inner[data-v-a154f09c]{padding:0 16px}.main[data-v-a154f09c]{padding:24px 16px}.logo-text[data-v-a154f09c]{display:none}.nav-link[data-v-a154f09c]{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-xl: 0 16px 48px rgba(0, 0, 0, .12);--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-xl: 0 16px 48px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(255, 255, 255, .03)}:root{--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--font-sans: "Inter", "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.16, 1, .3, 1);--transition-bounce: .5s cubic-bezier(.68, -.15, .27, 1.15);--transition-spring: .6s cubic-bezier(.34, 1.56, .64, 1)}*,*: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 .35s ease,transform .35s cubic-bezier(.16,1,.3,1)}.page-leave-active{transition:opacity .2s ease,transform .2s ease}.page-enter-from{opacity:0;transform:translateY(12px)}.page-leave-to{opacity:0;transform:translateY(-6px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}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 float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ripple{to{transform:scale(4);opacity:0}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.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}.animate-pop{animation:popIn .4s cubic-bezier(.34,1.56,.64,1) both}.animate-slide-right{animation:slideInRight .4s cubic-bezier(.16,1,.3,1) both}.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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn .ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.12;transform:scale(0);animation:ripple .6s ease-out;pointer-events:none}.btn:hover{border-color:var(--color-text);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.97);box-shadow:var(--shadow-sm);transition-duration:.05s}.btn:disabled{opacity:.35;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:12px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:1px;text-transform:uppercase;transition:color var(--transition-fast)}.form-input{padding:12px 16px;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),transform var(--transition-fast)}.form-input:focus{border-color:var(--color-text);box-shadow:0 0 0 3px #0000000d;transform:translateY(-1px)}[data-theme=dark] .form-input:focus{box-shadow:0 0 0 3px #ffffff0d}.form-input::placeholder{color:var(--color-text-tertiary);transition:color var(--transition-fast)}.form-input:focus::placeholder{color:var(--color-text-tertiary);opacity:.6}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{cursor:pointer}.card-hover:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-hover:active{transform:translateY(-1px);box-shadow:var(--shadow-sm);transition-duration:.08s}.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:4px 12px;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);transform:translateY(-1px)}.alert{padding:14px 18px;font-size:14px;border:1px solid;animation:slideDown .3s cubic-bezier(.16,1,.3,1) both;display:flex;align-items:center;gap:10px}.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);transition:background var(--transition-base)}.empty{text-align:center;padding:60px 24px;color:var(--color-text-tertiary);animation:fadeIn .5s ease both}.empty-icon{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)}.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)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform: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;transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.toast-container{position:fixed;top:80px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:14px 20px;min-width:280px;max-width:420px;background:var(--color-bg-elevated);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);font-size:14px;animation:slideInRight .35s cubic-bezier(.16,1,.3,1) both}.toast.leaving{animation:slideOutRight .25s ease forwards}@keyframes slideOutRight{to{opacity:0;transform:translate(24px)}}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:var(--color-success)}.toast-error .toast-icon{color:var(--color-error)}.toast-info .toast-icon{color:var(--color-text-secondary)}
