.navbar[data-v-f3abcdd5]{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 2px 20px #0000001a;border-bottom:2px solid rgba(118,75,162,.3)}.navbar-container[data-v-f3abcdd5]{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:70px}.navbar-brand[data-v-f3abcdd5]{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;color:#764ba2;text-decoration:none}.brand-icon[data-v-f3abcdd5]{font-size:28px;animation:bounce-f3abcdd5 2s infinite}@keyframes bounce-f3abcdd5{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.brand-text[data-v-f3abcdd5]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-menu[data-v-f3abcdd5]{display:flex;list-style:none;gap:30px;margin:0;padding:0;align-items:center}.nav-link[data-v-f3abcdd5]{position:relative;color:#555;text-decoration:none;font-weight:500;padding:8px 16px;border-radius:20px;transition:all .3s ease}.nav-link[data-v-f3abcdd5]:hover{color:#764ba2;background:rgba(118,75,162,.1);transform:translateY(-2px)}.nav-link.active[data-v-f3abcdd5]{color:#764ba2;background:linear-gradient(135deg,rgba(118,75,162,.2) 0%,rgba(102,126,234,.2) 100%);font-weight:600}.nav-link.active[data-v-f3abcdd5]:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px}.login-link[data-v-f3abcdd5]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff!important}.login-link[data-v-f3abcdd5]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #764ba266}.user-menu[data-v-f3abcdd5]{display:flex;align-items:center}.user-info[data-v-f3abcdd5]{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;background:rgba(118,75,162,.06);cursor:pointer;transition:all .3s ease}.user-info[data-v-f3abcdd5]:hover{background:rgba(118,75,162,.12)}.user-avatar[data-v-f3abcdd5]{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600}.user-meta[data-v-f3abcdd5]{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.user-email[data-v-f3abcdd5]{color:#666;font-size:13px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-tag[data-v-f3abcdd5]{font-size:11px;color:#fff;background:linear-gradient(135deg,#f97316 0%,#fb7185 100%);padding:2px 8px;border-radius:999px}.user-arrow[data-v-f3abcdd5]{font-size:10px;color:#999;margin-left:4px;transition:transform .2s ease}.user-arrow.open[data-v-f3abcdd5]{transform:rotate(180deg)}.user-dropdown[data-v-f3abcdd5]{position:absolute;right:0;top:110%;min-width:160px;background:#fff;border-radius:12px;box-shadow:0 12px 30px #0000002e;padding:6px 0;z-index:1100}.dropdown-item[data-v-f3abcdd5]{width:100%;padding:8px 14px;font-size:13px;color:#555;text-align:left;background:none;border:none;cursor:pointer;display:block;text-decoration:none;transition:all .2s ease}.dropdown-item[data-v-f3abcdd5]:hover{background:rgba(118,75,162,.08);color:#764ba2}.dropdown-item.danger[data-v-f3abcdd5]{color:#f97373}.dropdown-item.danger[data-v-f3abcdd5]:hover{background:rgba(248,113,113,.08)}.dropdown-divider[data-v-f3abcdd5]{height:1px;margin:4px 0;background:rgba(0,0,0,.06)}.logout-btn[data-v-f3abcdd5]{padding:6px 14px;background:rgba(248,113,113,.1);color:#f87171;border:1px solid rgba(248,113,113,.3);border-radius:15px;cursor:pointer;font-size:13px;transition:all .3s ease}.logout-btn[data-v-f3abcdd5]:hover{background:rgba(248,113,113,.2);transform:translateY(-2px)}.menu-toggle[data-v-f3abcdd5]{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px}.menu-toggle span[data-v-f3abcdd5]{width:25px;height:3px;background:#764ba2;border-radius:2px;transition:all .3s ease}.fade-enter-active[data-v-f3abcdd5],.fade-leave-active[data-v-f3abcdd5]{transition:opacity .15s ease,transform .15s ease}.fade-enter-from[data-v-f3abcdd5],.fade-leave-to[data-v-f3abcdd5]{opacity:0;transform:translateY(-4px)}@media (max-width: 1024px) and (min-width: 769px){.navbar-container[data-v-f3abcdd5]{padding:0 var(--spacing-lg)}.nav-link[data-v-f3abcdd5]{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}}@media (max-width: 768px){.navbar[data-v-f3abcdd5]{padding:var(--spacing-md) 0}.navbar-container[data-v-f3abcdd5]{padding:0 var(--spacing-lg)}.navbar-brand[data-v-f3abcdd5]{font-size:var(--font-size-lg)}.brand-icon[data-v-f3abcdd5]{font-size:24px}.menu-toggle[data-v-f3abcdd5]{display:flex;width:32px;height:32px;flex-direction:column;justify-content:space-around;align-items:center;padding:4px;background:transparent;border:none;cursor:pointer;z-index:var(--z-fixed)}.menu-toggle span[data-v-f3abcdd5]{width:24px;height:3px;background:var(--color-primary);border-radius:var(--radius-full);transition:all var(--transition-base);transform-origin:center}.menu-toggle:hover span[data-v-f3abcdd5]{background:var(--color-primary-dark)}.menu-toggle.active span[data-v-f3abcdd5]:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.menu-toggle.active span[data-v-f3abcdd5]:nth-child(2){opacity:0}.menu-toggle.active span[data-v-f3abcdd5]:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.navbar-menu[data-v-f3abcdd5]{position:fixed;inset:70px 0 0;flex-direction:column;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);padding:var(--spacing-xl);gap:var(--spacing-md);box-shadow:0 4px 20px #0000001a;transform:translate(-100%);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:var(--z-dropdown);overflow-y:auto;max-height:calc(100vh - 70px)}.navbar-menu.active[data-v-f3abcdd5]{transform:translate(0);opacity:1;visibility:visible}.navbar-menu li[data-v-f3abcdd5]{width:100%}.nav-link[data-v-f3abcdd5]{display:block;width:100%;padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-radius:var(--radius-md);font-size:var(--font-size-base)}.nav-link.active[data-v-f3abcdd5]{background:var(--color-primary-gradient-light)}.user-menu[data-v-f3abcdd5]{width:100%}.user-info[data-v-f3abcdd5]{width:100%;padding:var(--spacing-md);border-radius:var(--radius-md)}.user-dropdown[data-v-f3abcdd5]{position:static;margin-top:var(--spacing-sm);width:100%;box-shadow:none;border-radius:var(--radius-md);border:2px solid var(--color-border-light);background:var(--color-bg-secondary)}.dropdown-item[data-v-f3abcdd5]{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}}@media (max-width: 480px){.navbar-container[data-v-f3abcdd5]{padding:0 var(--spacing-md)}.navbar-brand[data-v-f3abcdd5]{font-size:var(--font-size-base)}.brand-text[data-v-f3abcdd5]{display:none}.navbar-menu[data-v-f3abcdd5]{padding:var(--spacing-lg)}.nav-link[data-v-f3abcdd5]{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}}.layout[data-v-bc203924]{min-height:100vh;position:relative;background-image:url(/beijing.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;overflow-x:hidden}.layout[data-v-bc203924]:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-gradient-primary);background-size:400% 400%;animation:gradientShift-bc203924 15s ease infinite;z-index:var(--z-base);pointer-events:none}@keyframes gradientShift-bc203924{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.main-content[data-v-bc203924]{position:relative;z-index:var(--z-base);padding-top:80px;min-height:calc(100vh - 80px)}.decorative-elements[data-v-bc203924]{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-base);overflow:hidden}.petal[data-v-bc203924]{position:absolute;width:20px;height:20px;background:rgba(255,255,255,.6);border-radius:50% 0;animation:floatPetal-bc203924 20s infinite ease-in-out;opacity:.7;filter:blur(.5px)}.petal-1[data-v-bc203924]{left:10%;animation-delay:0s;animation-duration:18s}.petal-2[data-v-bc203924]{left:30%;animation-delay:2s;animation-duration:22s}.petal-3[data-v-bc203924]{left:50%;animation-delay:4s;animation-duration:20s}.petal-4[data-v-bc203924]{left:70%;animation-delay:6s;animation-duration:19s}.petal-5[data-v-bc203924]{left:90%;animation-delay:8s;animation-duration:21s}@keyframes floatPetal-bc203924{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translateY(-100px) rotate(360deg);opacity:0}}.star[data-v-bc203924]{position:absolute;font-size:20px;animation:floatStar-bc203924 15s infinite ease-in-out;opacity:.8;filter:drop-shadow(0 0 4px rgba(255,255,255,.5))}.star-1[data-v-bc203924]{left:15%;animation-delay:0s;animation-duration:12s}.star-2[data-v-bc203924]{left:35%;animation-delay:3s;animation-duration:14s}.star-3[data-v-bc203924]{left:55%;animation-delay:6s;animation-duration:13s}.star-4[data-v-bc203924]{left:75%;animation-delay:9s;animation-duration:15s}.star-5[data-v-bc203924]{left:95%;animation-delay:12s;animation-duration:11s}@keyframes floatStar-bc203924{0%{transform:translateY(100vh) rotate(0) scale(.5);opacity:0}10%{opacity:.8;transform:scale(1)}50%{transform:rotate(180deg) scale(1.2)}90%{opacity:.8;transform:scale(1)}to{transform:translateY(-100px) rotate(360deg) scale(.5);opacity:0}}.light[data-v-bc203924]{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);animation:pulseLight-bc203924 8s infinite ease-in-out;filter:blur(40px)}.light-1[data-v-bc203924]{top:10%;left:20%;animation-delay:0s}.light-2[data-v-bc203924]{top:60%;right:20%;animation-delay:2s}.light-3[data-v-bc203924]{bottom:20%;left:50%;animation-delay:4s}@keyframes pulseLight-bc203924{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.5)}}@media (max-width: 768px){.main-content[data-v-bc203924]{padding-top:70px}}.back-to-top[data-v-ffad8d19]{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--color-primary-gradient);border:none;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-base);z-index:var(--z-fixed);display:flex;align-items:center;justify-content:center;position:relative;will-change:transform}.back-to-top[data-v-ffad8d19]:hover{transform:translateY(-5px) scale(1.1);box-shadow:var(--shadow-glow)}.back-to-top[data-v-ffad8d19]:active{transform:translateY(-3px) scale(1.05)}.back-to-top[data-v-ffad8d19]:focus{outline:none;box-shadow:var(--shadow-glow),0 0 0 3px var(--color-primary-gradient-light)}.arrow[data-v-ffad8d19]{display:block;animation:bounce-ffad8d19 2s infinite;position:relative;z-index:2}.progress-ring[data-v-ffad8d19]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.progress-svg[data-v-ffad8d19]{width:100%;height:100%;transform:rotate(-90deg)}.progress-circle[data-v-ffad8d19]{fill:none;stroke:#ffffff4d;stroke-width:2;stroke-linecap:round;transition:stroke-dashoffset .1s linear}.progress-circle[data-v-ffad8d19]{stroke:#ffffff80}.fade-enter-active[data-v-ffad8d19]{transition:opacity var(--transition-base),transform var(--transition-base)}.fade-leave-active[data-v-ffad8d19]{transition:opacity var(--transition-fast),transform var(--transition-fast)}.fade-enter-from[data-v-ffad8d19],.fade-leave-to[data-v-ffad8d19]{opacity:0;transform:scale(.8) translateY(10px)}@keyframes bounce-ffad8d19{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (max-width: 768px){.back-to-top[data-v-ffad8d19]{width:45px;height:45px;bottom:20px;right:20px;font-size:20px}}@media (prefers-reduced-motion: reduce){.back-to-top[data-v-ffad8d19],.arrow[data-v-ffad8d19],.progress-circle[data-v-ffad8d19]{animation:none;transition:none}}.toast-container[data-v-677db4ab]{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-md);max-width:400px;pointer-events:none}@media (max-width: 768px){.toast-container[data-v-677db4ab]{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);max-width:none}}.toast[data-v-677db4ab]{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-primary);backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:2px solid var(--color-border-light);cursor:pointer;pointer-events:auto;transition:all var(--transition-base);animation:slideInRight-677db4ab .3s ease}.toast[data-v-677db4ab]:hover{transform:translate(-4px);box-shadow:var(--shadow-2xl)}.toast--success[data-v-677db4ab]{border-color:#4ade804d;background:linear-gradient(135deg,rgba(74,222,128,.1) 0%,rgba(74,222,128,.05) 100%)}.toast--error[data-v-677db4ab]{border-color:#f871714d;background:linear-gradient(135deg,rgba(248,113,113,.1) 0%,rgba(248,113,113,.05) 100%)}.toast--warning[data-v-677db4ab]{border-color:#fbbf244d;background:linear-gradient(135deg,rgba(251,191,36,.1) 0%,rgba(251,191,36,.05) 100%)}.toast--info[data-v-677db4ab]{border-color:#3b82f64d;background:linear-gradient(135deg,rgba(59,130,246,.1) 0%,rgba(59,130,246,.05) 100%)}.toast__icon[data-v-677db4ab]{font-size:20px;line-height:1;flex-shrink:0}.toast__content[data-v-677db4ab]{flex:1;min-width:0}.toast__title[data-v-677db4ab]{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.toast__message[data-v-677db4ab]{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.toast__close[data-v-677db4ab]{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);font-size:20px;line-height:1;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);opacity:.6}.toast__close[data-v-677db4ab]:hover{opacity:1;background:rgba(0,0,0,.05)}.toast-enter-active[data-v-677db4ab]{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-leave-active[data-v-677db4ab]{transition:all .25s cubic-bezier(.4,0,.2,1)}.toast-enter-from[data-v-677db4ab]{opacity:0;transform:translate(100%)}.toast-leave-to[data-v-677db4ab]{opacity:0;transform:translate(100%) scale(.9)}.toast-move[data-v-677db4ab]{transition:transform .3s cubic-bezier(.4,0,.2,1)}@keyframes slideInRight-677db4ab{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.error-boundary[data-v-ab7b7e44]{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.error-boundary__content[data-v-ab7b7e44]{max-width:500px;width:100%;background:white;border-radius:12px;padding:2rem;box-shadow:0 10px 40px #0000001a;text-align:center}.error-boundary__icon[data-v-ab7b7e44]{font-size:4rem;margin-bottom:1rem}.error-boundary__title[data-v-ab7b7e44]{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:.5rem}.error-boundary__message[data-v-ab7b7e44]{color:#666;margin-bottom:1.5rem;line-height:1.6}.error-boundary__actions[data-v-ab7b7e44]{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.error-boundary__button[data-v-ab7b7e44]{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.error-boundary__button--primary[data-v-ab7b7e44]{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.error-boundary__button--primary[data-v-ab7b7e44]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.error-boundary__button[data-v-ab7b7e44]:not(.error-boundary__button--primary){background:#f5f5f5;color:#333}.error-boundary__button[data-v-ab7b7e44]:not(.error-boundary__button--primary):hover{background:#e0e0e0}.error-boundary__details[data-v-ab7b7e44]{margin-top:1.5rem;text-align:left}.error-boundary__details summary[data-v-ab7b7e44]{cursor:pointer;color:#666;font-size:.9rem;margin-bottom:.5rem}.error-boundary__details summary[data-v-ab7b7e44]:hover{color:#333}.error-boundary__stack[data-v-ab7b7e44]{background:#f5f5f5;padding:1rem;border-radius:6px;font-size:.85rem;color:#666;overflow-x:auto;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}#app[data-v-9421c850]{min-height:100vh}.page-forward-enter-active[data-v-9421c850]{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.page-forward-leave-active[data-v-9421c850]{transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.page-forward-enter-from[data-v-9421c850]{opacity:0;transform:translate(30px) scale(.98)}.page-forward-leave-to[data-v-9421c850]{opacity:0;transform:translate(-30px) scale(.98)}.page-back-enter-active[data-v-9421c850]{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.page-back-leave-active[data-v-9421c850]{transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.page-back-enter-from[data-v-9421c850]{opacity:0;transform:translate(-30px) scale(.98)}.page-back-leave-to[data-v-9421c850]{opacity:0;transform:translate(30px) scale(.98)}.page-enter-active[data-v-9421c850]{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.page-leave-active[data-v-9421c850]{transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.page-enter-from[data-v-9421c850]{opacity:0;transform:translateY(20px) scale(.98)}.page-leave-to[data-v-9421c850]{opacity:0;transform:translateY(-20px) scale(.98)}:root{--color-primary: #764ba2;--color-primary-light: #9d7bb8;--color-primary-dark: #5a3a7a;--color-primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-primary-gradient-light: linear-gradient(135deg, rgba(102, 126, 234, .1) 0%, rgba(118, 75, 162, .1) 100%);--color-primary-gradient-dark: linear-gradient(135deg, rgba(102, 126, 234, .2) 0%, rgba(118, 75, 162, .2) 100%);--color-accent: #f093fb;--color-accent-light: #f5b8fc;--color-accent-dark: #e06dd0;--color-accent-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--color-success: #22c55e;--color-success-light: #4ade80;--color-success-dark: #16a34a;--color-success-gradient: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);--color-success-bg: rgba(74, 222, 128, .1);--color-success-border: rgba(74, 222, 128, .3);--color-warning: #fbbf24;--color-warning-light: #fcd34d;--color-warning-dark: #f59e0b;--color-warning-gradient: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--color-warning-bg: rgba(251, 191, 36, .1);--color-warning-border: rgba(251, 191, 36, .3);--color-error: #ef4444;--color-error-light: #f87171;--color-error-dark: #dc2626;--color-error-gradient: linear-gradient(135deg, #f87171 0%, #ef4444 100%);--color-error-bg: rgba(248, 113, 113, .1);--color-error-border: rgba(248, 113, 113, .3);--color-info: #3b82f6;--color-info-light: #60a5fa;--color-info-dark: #2563eb;--color-info-gradient: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);--color-info-bg: rgba(59, 130, 246, .1);--color-info-border: rgba(59, 130, 246, .3);--color-text-primary: #1f2937;--color-text-secondary: #4b5563;--color-text-tertiary: #6b7280;--color-text-disabled: #9ca3af;--color-bg-primary: #ffffff;--color-bg-secondary: rgba(255, 255, 255, .95);--color-bg-tertiary: rgba(255, 255, 255, .8);--color-bg-overlay: rgba(0, 0, 0, .5);--color-bg-glass: rgba(255, 255, 255, .1);--color-border-light: rgba(118, 75, 162, .1);--color-border-medium: rgba(118, 75, 162, .2);--color-border-dark: rgba(118, 75, 162, .3);--bg-gradient-primary: linear-gradient( 135deg, rgba(102, 126, 234, .4) 0%, rgba(118, 75, 162, .4) 25%, rgba(240, 147, 251, .3) 50%, rgba(79, 172, 254, .3) 75%, rgba(0, 242, 254, .3) 100% );--shadow-sm: 0 2px 4px rgba(118, 75, 162, .1);--shadow-md: 0 4px 12px rgba(118, 75, 162, .15);--shadow-lg: 0 8px 32px rgba(118, 75, 162, .2);--shadow-xl: 0 12px 48px rgba(118, 75, 162, .25);--shadow-glow: 0 0 20px rgba(118, 75, 162, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 40px;--spacing-5xl: 48px;--font-family-base: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-size-4xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 1000;--z-modal: 1100;--z-popover: 1200;--z-tooltip: 1300;--z-toast: 2000;--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-xs: 100%;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1400px}.hide-xs{@media (max-width: 480px){display:none!important}}.hide-sm{@media (max-width: 640px){display:none!important}}.hide-md{@media (max-width: 768px){display:none!important}}.hide-lg{@media (max-width: 1024px){display:none!important}}.show-xs{display:none!important;@media (max-width: 480px){display:block!important}}.show-sm{display:none!important;@media (max-width: 640px){display:block!important}}.show-md{display:none!important;@media (max-width: 768px){display:block!important}}.show-lg{display:none!important;@media (max-width: 1024px){display:block!important}}.container-responsive{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}@media (min-width: 640px){.container-responsive{max-width:var(--container-sm)}}@media (min-width: 768px){.container-responsive{max-width:var(--container-md);padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}}@media (min-width: 1024px){.container-responsive{max-width:var(--container-lg)}}@media (min-width: 1280px){.container-responsive{max-width:var(--container-xl)}}@media (min-width: 1536px){.container-responsive{max-width:var(--container-2xl)}}.grid-responsive{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr}@media (min-width: 640px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.grid-responsive{grid-template-columns:repeat(4,1fr)}}.text-responsive{font-size:var(--font-size-base)}@media (max-width: 768px){.text-responsive{font-size:var(--font-size-sm)}}@media (min-width: 1280px){.text-responsive{font-size:var(--font-size-lg)}}.p-responsive{padding:var(--spacing-lg)}@media (max-width: 768px){.p-responsive{padding:var(--spacing-md)}}@media (min-width: 1280px){.p-responsive{padding:var(--spacing-xl)}}.m-responsive{margin:var(--spacing-lg)}@media (max-width: 768px){.m-responsive{margin:var(--spacing-md)}}@media (min-width: 1280px){.m-responsive{margin:var(--spacing-xl)}}.flex-responsive{display:flex;flex-direction:column}@media (min-width: 768px){.flex-responsive{flex-direction:row}}.flex-wrap-responsive{flex-wrap:wrap}@media (max-width: 768px){.flex-wrap-responsive{flex-direction:column}}.img-responsive{max-width:100%;height:auto;display:block}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:600px}.modal-responsive{width:100%;max-width:500px;margin:var(--spacing-xl) auto}@media (max-width: 768px){.modal-responsive{max-width:100%;margin:0;border-radius:0}}.navbar-responsive{padding:var(--spacing-lg) var(--spacing-xl)}@media (max-width: 768px){.navbar-responsive{padding:var(--spacing-md) var(--spacing-lg)}}.cards-grid{display:grid;gap:var(--spacing-xl);grid-template-columns:1fr}@media (min-width: 640px){.cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.cards-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.cards-grid{grid-template-columns:repeat(4,1fr)}}.text-center-responsive{text-align:center}@media (min-width: 768px){.text-center-responsive{text-align:left}}.visible-mobile{display:block}@media (min-width: 769px){.visible-mobile{display:none}}.visible-desktop{display:none}@media (min-width: 769px){.visible-desktop{display:block}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes bounceOut{0%{transform:scale(1)}30%{transform:scale(1.05)}to{opacity:0;transform:scale(.3)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes expandHeight{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}@keyframes collapseHeight{0%{max-height:1000px;opacity:1}to{max-height:0;opacity:0}}@keyframes numberRoll{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes progress{0%{width:0%}to{width:100%}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateScale{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-fade-in-up{animation:fadeInUp .6s ease}.animate-fade-in-down{animation:fadeInDown .6s ease}.animate-fade-in-left{animation:fadeInLeft .6s ease}.animate-fade-in-right{animation:fadeInRight .6s ease}.animate-scale-in{animation:scaleIn var(--transition-base)}.animate-bounce-in{animation:bounceIn .6s ease}.animate-spin{animation:spin 1s linear infinite}.animate-spin-slow{animation:spin 2s linear infinite}.animate-spin-fast{animation:spin .5s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-pulse-fast{animation:pulse 1s ease-in-out infinite}.animate-blink{animation:blink 1s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-slow{animation:float 5s ease-in-out infinite}.animate-float-fast{animation:float 2s ease-in-out infinite}.animate-slide-in-left{animation:slideInLeft .5s ease}.animate-slide-in-right{animation:slideInRight .5s ease}.animate-slide-in-up{animation:slideInUp .5s ease}.animate-slide-in-down{animation:slideInDown .5s ease}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.animate-progress{animation:progress 2s ease-out}.animate-shimmer{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);background-size:1000px 100%}.animate-optimize{will-change:transform,opacity}.animate-gpu{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.animate-delay-1000{animation-delay:1s}.animate-duration-fast{animation-duration:.15s}.animate-duration-base{animation-duration:.3s}.animate-duration-slow{animation-duration:.6s}.animate-duration-slower{animation-duration:1s}.animate-ease{animation-timing-function:ease}.animate-ease-in{animation-timing-function:ease-in}.animate-ease-out{animation-timing-function:ease-out}.animate-ease-in-out{animation-timing-function:ease-in-out}.animate-linear{animation-timing-function:linear}.animate-once{animation-iteration-count:1}.animate-infinite{animation-iteration-count:infinite}.transition-all{transition:all var(--transition-base)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.hover-lift{transition:transform var(--transition-base)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.number-update{animation:numberRoll .3s ease}.list-item-enter{animation:fadeInUp .3s ease}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:pulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border:2px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family-base);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;white-space:nowrap;user-select:none;will-change:transform}.btn:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-gradient-light)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--primary{background:var(--color-primary-gradient);color:#fff}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn--secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-medium)}.btn--secondary:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border-dark);transform:translateY(-2px)}.btn--success{background:var(--color-success-gradient);color:#fff}.btn--warning{background:var(--color-warning-gradient);color:#fff}.btn--error{background:var(--color-error-gradient);color:#fff}.btn--ghost{background:transparent;color:var(--color-text-primary);border-color:var(--color-border-medium)}.btn--text{background:transparent;color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-md)}.btn--small{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}.btn--large{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}.btn--block{width:100%}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.form-label.required:after{content:" *";color:var(--color-error)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-base);background:var(--color-bg-tertiary);color:var(--color-text-primary);transition:all var(--transition-base)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);background:var(--color-bg-primary);box-shadow:0 0 0 3px var(--color-primary-gradient-light)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-secondary)}.form-input.error,.form-textarea.error,.form-select.error{border-color:var(--color-error);background:rgba(248,113,113,.05)}.form-input.success,.form-textarea.success,.form-select.success{border-color:var(--color-success);background:rgba(74,222,128,.05)}.form-hint{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.form-error{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-error)}.form-success{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-success)}.alert{padding:var(--spacing-lg);border-radius:var(--radius-lg);border:2px solid transparent;display:flex;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.alert--success{background:rgba(74,222,128,.1);border-color:#4ade804d;color:#16a34a}.alert--error{background:rgba(248,113,113,.1);border-color:#f871714d;color:#dc2626}.alert--warning{background:rgba(251,191,36,.1);border-color:#fbbf244d;color:#d97706}.alert--info{background:rgba(59,130,246,.1);border-color:#3b82f64d;color:#2563eb}.alert__icon{font-size:20px;line-height:1;flex-shrink:0}.alert__content{flex:1;min-width:0}.alert__title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.alert__message{font-size:var(--font-size-sm);line-height:1.5}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap;border:1px solid transparent}.badge--primary{background:var(--color-primary-gradient);color:#fff}.badge--success{background:rgba(74,222,128,.2);color:#16a34a;border-color:#4ade804d}.badge--warning{background:rgba(251,191,36,.2);color:#d97706;border-color:#fbbf244d}.badge--error{background:rgba(248,113,113,.2);color:#dc2626;border-color:#f871714d}.badge--info{background:rgba(59,130,246,.2);color:#2563eb;border-color:#3b82f64d}.badge--secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border-color:var(--color-border-medium)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4xl) var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.empty-state__icon{font-size:64px;line-height:1;margin-bottom:var(--spacing-lg);opacity:.6}.empty-state__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state__description{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:400px;line-height:1.6}.card--interactive{cursor:pointer}.card--bordered{border-width:2px}.card--shadow-sm{box-shadow:var(--shadow-sm)}.card--shadow-md{box-shadow:var(--shadow-md)}.card--shadow-lg{box-shadow:var(--shadow-lg)}.card--shadow-xl{box-shadow:var(--shadow-xl)}.tooltip{position:relative;display:inline-block}.tooltip__content{position:absolute;z-index:var(--z-tooltip);padding:var(--spacing-xs) var(--spacing-sm);background:rgba(0,0,0,.8);color:#fff;font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.tooltip:hover .tooltip__content{opacity:1}.tooltip__content--top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:var(--spacing-xs)}.tooltip__content--bottom{top:100%;left:50%;transform:translate(-50%);margin-top:var(--spacing-xs)}.tooltip__content--left{right:100%;top:50%;transform:translateY(-50%);margin-right:var(--spacing-xs)}.tooltip__content--right{left:100%;top:50%;transform:translateY(-50%);margin-left:var(--spacing-xs)}:root{--color-primary-gradient-light: linear-gradient(135deg, rgba(102, 126, 234, .1) 0%, rgba(118, 75, 162, .1) 100%);--color-primary-gradient-medium: linear-gradient(135deg, rgba(102, 126, 234, .2) 0%, rgba(118, 75, 162, .2) 100%);--color-primary-gradient-dark: linear-gradient(135deg, rgba(102, 126, 234, .3) 0%, rgba(118, 75, 162, .3) 100%);--color-success-gradient: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);--color-success-gradient-light: linear-gradient(135deg, rgba(74, 222, 128, .1) 0%, rgba(34, 197, 94, .1) 100%);--color-warning-gradient: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--color-warning-gradient-light: linear-gradient(135deg, rgba(251, 191, 36, .1) 0%, rgba(245, 158, 11, .1) 100%);--color-error-gradient: linear-gradient(135deg, #f87171 0%, #ef4444 100%);--color-error-gradient-light: linear-gradient(135deg, rgba(248, 113, 113, .1) 0%, rgba(239, 68, 68, .1) 100%);--color-info-gradient: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--color-info-gradient-light: linear-gradient(135deg, rgba(59, 130, 246, .1) 0%, rgba(37, 99, 235, .1) 100%);--color-bg-level-1: rgba(255, 255, 255, .95);--color-bg-level-2: rgba(255, 255, 255, .9);--color-bg-level-3: rgba(255, 255, 255, .85);--color-bg-level-4: rgba(255, 255, 255, .8);--color-text-level-1: rgba(0, 0, 0, .95);--color-text-level-2: rgba(0, 0, 0, .85);--color-text-level-3: rgba(0, 0, 0, .65);--color-text-level-4: rgba(0, 0, 0, .45);--color-border-level-1: rgba(118, 75, 162, .3);--color-border-level-2: rgba(118, 75, 162, .2);--color-border-level-3: rgba(118, 75, 162, .1);--color-border-level-4: rgba(118, 75, 162, .05)}.bg-level-1{background:var(--color-bg-level-1)}.bg-level-2{background:var(--color-bg-level-2)}.bg-level-3{background:var(--color-bg-level-3)}.bg-level-4{background:var(--color-bg-level-4)}.text-level-1{color:var(--color-text-level-1)}.text-level-2{color:var(--color-text-level-2)}.text-level-3{color:var(--color-text-level-3)}.text-level-4{color:var(--color-text-level-4)}.border-level-1{border-color:var(--color-border-level-1)}.border-level-2{border-color:var(--color-border-level-2)}.border-level-3{border-color:var(--color-border-level-3)}.border-level-4{border-color:var(--color-border-level-4)}.bg-gradient-primary{background:var(--color-primary-gradient)}.bg-gradient-success{background:var(--color-success-gradient)}.bg-gradient-warning{background:var(--color-warning-gradient)}.bg-gradient-error{background:var(--color-error-gradient)}.bg-gradient-info{background:var(--color-info-gradient)}.bg-gradient-primary-light{background:var(--color-primary-gradient-light)}.bg-gradient-success-light{background:var(--color-success-gradient-light)}.bg-gradient-warning-light{background:var(--color-warning-gradient-light)}.bg-gradient-error-light{background:var(--color-error-gradient-light)}.bg-gradient-info-light{background:var(--color-info-gradient-light)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.bg-primary{background-color:var(--color-primary)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-error{background-color:var(--color-error)}.bg-info{background-color:var(--color-info)}.border-primary{border-color:var(--color-primary)}.border-success{border-color:var(--color-success)}.border-warning{border-color:var(--color-warning)}.border-error{border-color:var(--color-error)}.border-info{border-color:var(--color-info)}.shadow-level-1{box-shadow:0 1px 2px #0000000d}.shadow-level-2{box-shadow:0 2px 4px #0000001a}.shadow-level-3{box-shadow:0 4px 8px #00000026}.shadow-level-4{box-shadow:0 8px 16px #0003}.shadow-level-5{box-shadow:0 16px 32px #00000040}.glass{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-strong{background:rgba(255,255,255,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3)}.glass-light{background:rgba(255,255,255,.05);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1)}.decorative-gradient-1{background:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%)}.decorative-gradient-2{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.decorative-gradient-3{background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%)}.decorative-gradient-4{background:linear-gradient(135deg,#fa709a 0%,#fee140 100%)}.decorative-gradient-5{background:linear-gradient(135deg,#30cfd0 0%,#330867 100%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;z-index:10000;border-radius:0 0 var(--radius-md) 0;transition:top var(--transition-base)}.skip-link:focus{top:0;outline:3px solid var(--color-primary);outline-offset:2px}.keyboard-navigation *:focus{outline:2px solid var(--color-primary);outline-offset:2px}.keyboard-navigation *:focus:not(:focus-visible){outline:none}body:not(.keyboard-navigation) *:focus{outline:none}@media (prefers-contrast: high){*{border-color:currentColor!important}button,a{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}[disabled],[aria-disabled=true]{cursor:not-allowed;opacity:.6;pointer-events:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visually-hidden:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;line-height:1.6}#app{min-height:100vh}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-primary-gradient);border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box;transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-gradient-dark)}*{scrollbar-width:thin;scrollbar-color:var(--color-primary) var(--color-border-light)}a{text-decoration:none;color:inherit;transition:color var(--transition-base)}a:hover{color:var(--color-primary)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;font-size:inherit;outline:none;transition:all var(--transition-base)}input:focus,textarea:focus,select:focus{outline:none}img{max-width:100%;height:auto;display:block}.text-gradient{background:var(--color-primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card{background:var(--color-bg-secondary);backdrop-filter:blur(10px);border-radius:var(--radius-xl);padding:var(--spacing-4xl);box-shadow:var(--shadow-lg);border:2px solid var(--color-border-light);transition:all var(--transition-base)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--color-border-medium)}.btn-primary{background:var(--color-primary-gradient);color:#fff;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);transition:all var(--transition-base)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}
