.btn[data-v-e53d9b27]{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);cursor:pointer}.btn-sm[data-v-e53d9b27]{padding:8px 12px;font-size:13px}.btn-md[data-v-e53d9b27]{padding:10px 18px;font-size:14px}.btn-lg[data-v-e53d9b27]{padding:14px 24px;font-size:16px}.btn-primary[data-v-e53d9b27]{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary[data-v-e53d9b27]:hover:not(.disabled):not(.loading){background:var(--accent-bright);transform:translateY(-2px)}.btn-primary[data-v-e53d9b27]:active:not(.disabled):not(.loading){transform:scale(.98)}.btn-secondary[data-v-e53d9b27]{background:var(--surface);color:var(--foreground);box-shadow:inset 0 0 0 1px var(--border-default)}.btn-secondary[data-v-e53d9b27]:hover:not(.disabled):not(.loading){background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--border-hover)}.btn-ghost[data-v-e53d9b27]{background:transparent;color:var(--foreground-muted)}.btn-ghost[data-v-e53d9b27]:hover:not(.disabled):not(.loading){background:var(--surface);color:var(--foreground)}.btn.disabled[data-v-e53d9b27],.btn.loading[data-v-e53d9b27]{opacity:.6;cursor:not-allowed}.navbar[data-v-7866798b]{position:sticky;top:0;z-index:100;background:#050506cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-default)}.navbar-content[data-v-7866798b]{display:flex;align-items:center;justify-content:space-between;height:64px}.logo[data-v-7866798b]{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;color:var(--foreground)}.logo svg[data-v-7866798b]{color:var(--accent)}.nav-links[data-v-7866798b]{display:flex;gap:32px}.nav-link[data-v-7866798b]{font-size:14px;color:var(--foreground-muted);transition:color var(--duration-fast)}.nav-link[data-v-7866798b]:hover,.nav-link.router-link-active[data-v-7866798b]{color:var(--foreground)}.nav-actions[data-v-7866798b]{display:flex;align-items:center;gap:12px}.user-name[data-v-7866798b]{font-size:14px;color:var(--foreground-muted)}@media(max-width:768px){.nav-links[data-v-7866798b]{display:none}}.footer[data-v-2c79c997]{margin-top:auto;padding:48px 0 32px;border-top:1px solid var(--border-default);background:var(--background-deep)}.footer-content[data-v-2c79c997]{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}.footer-logo[data-v-2c79c997]{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--foreground)}.footer-logo svg[data-v-2c79c997]{color:var(--accent)}.footer-desc[data-v-2c79c997]{margin-top:8px;font-size:14px;color:var(--foreground-muted)}.footer-links[data-v-2c79c997]{display:flex;gap:24px}.footer-link[data-v-2c79c997]{font-size:14px;color:var(--foreground-muted);transition:color var(--duration-fast)}.footer-link[data-v-2c79c997]:hover{color:var(--foreground)}.footer-copyright[data-v-2c79c997]{font-size:13px;color:var(--foreground-subtle)}.toast-container[data-v-21ff50e4]{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:12px}.toast[data-v-21ff50e4]{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--background-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0006;min-width:280px;max-width:400px}.toast-success[data-v-21ff50e4]{border-left:3px solid var(--success)}.toast-success svg[data-v-21ff50e4]{color:var(--success)}.toast-error[data-v-21ff50e4]{border-left:3px solid var(--error)}.toast-error svg[data-v-21ff50e4]{color:var(--error)}.toast-info[data-v-21ff50e4]{border-left:3px solid var(--accent)}.toast-info svg[data-v-21ff50e4]{color:var(--accent)}.toast-message[data-v-21ff50e4]{flex:1;font-size:14px;color:var(--foreground)}.toast-close[data-v-21ff50e4]{padding:4px;color:var(--foreground-muted);transition:color var(--duration-fast)}.toast-close[data-v-21ff50e4]:hover{color:var(--foreground)}.toast-enter-active[data-v-21ff50e4],.toast-leave-active[data-v-21ff50e4]{transition:all var(--duration-normal) var(--ease-out)}.toast-enter-from[data-v-21ff50e4],.toast-leave-to[data-v-21ff50e4]{opacity:0;transform:translate(100px)}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1}:root{--background-deep: #020203;--background-base: #050506;--background-elevated: #0a0a0c;--surface: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .08);--foreground: #EDEDEF;--foreground-muted: #8A8F98;--foreground-subtle: rgba(255, 255, 255, .6);--accent: #5E6AD2;--accent-bright: #6872D9;--accent-glow: rgba(94, 106, 210, .3);--border-default: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .1);--border-accent: rgba(94, 106, 210, .3);--error: #EF4444;--success: #10B981;--warning: #F59E0B;--font-sans: "Inter", "Geist Sans", system-ui, -apple-system, sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-card: 0 0 0 1px rgba(255, 255, 255, .06), 0 2px 20px rgba(0, 0, 0, .4), 0 0 40px rgba(0, 0, 0, .2);--shadow-card-hover: 0 0 0 1px rgba(255, 255, 255, .1), 0 8px 40px rgba(0, 0, 0, .5), 0 0 80px rgba(94, 106, 210, .1);--shadow-accent: 0 0 0 1px rgba(94, 106, 210, .5), 0 4px 12px rgba(94, 106, 210, .3), inset 0 1px 0 0 rgba(255, 255, 255, .2);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .2s;--duration-normal: .3s;--duration-slow: .6s}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--background-base);color:var(--foreground);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}::selection{background:var(--accent);color:#fff}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}@media(max-width:768px){.container{padding:0 16px}}.gradient-text{background:linear-gradient(to bottom,#fff,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text::selection{-webkit-text-fill-color:white;background:var(--accent)}.accent-text{color:var(--accent)}.accent-text::selection{background:var(--accent);color:#fff}.muted-text{color:var(--foreground-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(1deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 2s ease-in-out infinite}.fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out)}.scale-in{animation:scaleIn var(--duration-normal) var(--ease-out)}.shake{animation:shake .3s ease-in-out}.float{animation:float 8s ease-in-out infinite}
