.ripple-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0}.ripple{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid;border-radius:50%;animation:ripple-expand 2s ease-out forwards;opacity:0}@keyframes ripple-expand{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.neon-glow-container{text-align:center;padding:40px 20px}.neon-glow-text{font-size:48px;font-weight:900;letter-spacing:2px;color:#fff;text-shadow:0 0 5px var(--neon-color-1),0 0 10px var(--neon-color-1),0 0 20px var(--neon-color-1),0 0 40px var(--neon-color-2),0 0 80px var(--neon-color-2);animation:neon-flicker 1.5s infinite alternate}@keyframes neon-flicker{0%,19%,21%,23%,25%,54%,56%,to{text-shadow:0 0 5px var(--neon-color-1),0 0 10px var(--neon-color-1),0 0 20px var(--neon-color-1),0 0 40px var(--neon-color-2),0 0 80px var(--neon-color-2)}20%,24%,55%{text-shadow:none}}.gradient-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.1}.gradient-animate{background-size:400% 400%;animation:gradient-shift 15s ease infinite}.star-field{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.star{position:absolute;border-radius:50%;box-shadow:0 0 6px currentColor}.star-twinkle{animation:star-twinkle 3s ease-in-out infinite}@keyframes star-twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.light-trail-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.light-trail{position:absolute;width:4px;height:100px;background:linear-gradient(to bottom,transparent,var(--trail-color),transparent);border-radius:50%;box-shadow:0 0 20px var(--trail-color),0 0 40px var(--trail-color);animation:light-trail-fall 6s linear infinite;left:-100px}@keyframes light-trail-fall{0%{transform:translateY(-100px) translate(0) rotate(45deg);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh) translate(100vw) rotate(45deg);opacity:0}}.morphing-background{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.morphing-background:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 80%,var(--morph-color-1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,var(--morph-color-2) 0%,transparent 50%),radial-gradient(circle at 40% 40%,var(--morph-color-3) 0%,transparent 50%),radial-gradient(circle at 60% 60%,var(--morph-color-4) 0%,transparent 50%);animation:morph-blob 20s ease-in-out infinite;opacity:.15}@keyframes morph-blob{0%,to{transform:translate(0) scale(1) rotate(0)}25%{transform:translate(2%,2%) scale(1.05) rotate(5deg)}50%{transform:translate(-2%,1%) scale(.95) rotate(-5deg)}75%{transform:translate(1%,-2%) scale(1.02) rotate(3deg)}}.enhanced-card{background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000d,inset 0 1px #fffc;transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;position:relative}.enhanced-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s ease}.enhanced-card:hover:before{left:100%}.enhanced-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #667eea33,0 8px 24px #00000026}.enhanced-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 32px;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #667eea66;position:relative;overflow:hidden}.enhanced-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.enhanced-button:hover:before{left:100%}.enhanced-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #667eea80}.enhanced-button:active{transform:translateY(-1px) scale(1.02)}.glass-effect{background:#ffffff26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;box-shadow:0 8px 32px #0000001a}.float-animation{animation:float-slow 6s ease-in-out infinite}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #667eea66}50%{box-shadow:0 0 40px #667eeab3,0 0 60px #f093fb66}}.shimmer-text{background:linear-gradient(90deg,#667eea,#f093fb,#667eea);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s linear infinite}@keyframes shimmer{to{background-position:200% center}}.bounce-in{animation:bounce-in .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounce-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.slide-up-fade{animation:slide-up-fade .5s ease-out}@keyframes slide-up-fade{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.rotate-hover{transition:transform .3s ease}.rotate-hover:hover{transform:rotate(5deg) scale(1.1)}.scale-hover{transition:transform .3s ease}.scale-hover:hover{transform:scale(1.1)}.color-shift-hover{transition:all .3s ease}.color-shift-hover:hover{filter:hue-rotate(30deg);transform:scale(1.05)}.heart-particles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.heart-particle{position:absolute;transform:rotate(45deg);animation:heart-float 15s ease-in-out infinite,heart-rotate 10s linear infinite;opacity:.7;box-shadow:0 4px 12px #ff6b6b4d;transition:all .3s ease}.heart-particle:hover{transform:rotate(45deg) scale(1.2);box-shadow:0 6px 20px #ff6b6b80}.heart-particle:before,.heart-particle:after{content:"";position:absolute;width:100%;height:100%;background:inherit;border-radius:50%;box-shadow:0 2px 8px #ff6b6b66}.heart-particle:before{top:-50%;left:0}.heart-particle:after{top:0;left:-50%}@keyframes heart-float{0%{transform:rotate(45deg) translateY(-20px) scale(.8);opacity:0}10%{opacity:.9}50%{transform:rotate(45deg) translateY(50vh) scale(1.1);opacity:.7}90%{opacity:.4}to{transform:rotate(45deg) translateY(100vh) scale(.5);opacity:0}}@keyframes heart-rotate{0%{transform:rotate(45deg) rotateY(0)}to{transform:rotate(45deg) rotateY(360deg)}}.heart-particle:before,.heart-particle:after{animation:heart-pulse 3s ease-in-out infinite}@keyframes heart-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (prefers-reduced-motion: reduce){.ripple,.neon-glow-text,.gradient-animate,.star-twinkle,.light-trail,.morphing-background:before,.heart-particle,.float-animation,.pulse-glow,.shimmer-text,.bounce-in,.slide-up-fade{animation:none!important}}:root{--global-background: #fff5f7;--global-background-gradient-start: #ffffff;--global-background-gradient-end: #fff5f7;--global-card-background: #ffffff;--global-card-border: rgba(255, 107, 157, .15);--global-card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--global-tag-background: rgba(255, 107, 157, .1);--global-tag-text: #ff6b9d;--global-tag-border: rgba(255, 107, 157, .3);--global-primary: #ff6b9d;--global-secondary: #ff8a80;--global-accent: #FF6B6B;--global-text: #333333;--global-text-secondary: #666666;--global-header-background: rgba(255, 255, 255, .95);--global-header-border: rgba(255, 107, 157, .2);--global-nav-background: rgba(255, 255, 255, .95);--global-nav-border: rgba(255, 107, 157, .2);--global-nav-active-bg: linear-gradient(135deg, #ff6b9d 0%, #ff8a80 100%);--global-nav-active-border: #ff6b9d;--global-button-bg: linear-gradient(135deg, #ff6b9d 0%, #ff8a80 100%);--global-button-text: #ffffff;--global-button-hover-bg: linear-gradient(135deg, #ff8a80 0%, #ff6b9d 100%);--global-input-bg: #ffffff;--global-input-border: rgba(255, 107, 157, .3);--global-input-text: #333333;--global-modal-bg: #ffffff;--global-modal-overlay: rgba(0, 0, 0, .7)}.global-card{background:var(--global-card-background);border:1px solid var(--global-card-border);box-shadow:var(--global-card-shadow);border-radius:12px;padding:16px;transition:all .3s ease}.global-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.global-tag{display:inline-flex;align-items:center;padding:4px 12px;background:var(--global-tag-background);color:var(--global-tag-text);border:1px solid var(--global-tag-border);border-radius:20px;font-size:12px;font-weight:500;transition:all .2s ease}.global-tag:hover{background:var(--global-primary);color:#fff;border-color:var(--global-primary)}.global-button{padding:10px 20px;background:var(--global-button-bg);color:var(--global-button-text);border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.global-button:hover{background:var(--global-button-hover-bg);transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.global-input{width:100%;padding:12px 16px;background:var(--global-input-bg);border:1px solid var(--global-input-border);border-radius:10px;color:var(--global-input-text);font-size:14px;transition:all .3s ease;outline:none}.global-input:focus{border-color:var(--global-primary);box-shadow:0 0 0 3px #667eea33}.global-text{color:var(--global-text)}.global-text-secondary{color:var(--global-text-secondary)}.global-primary-text{color:var(--global-primary)}.global-secondary-text{color:var(--global-secondary)}.global-accent-text{color:var(--global-accent)}.global-gradient-text{background:linear-gradient(135deg,var(--global-primary) 0%,var(--global-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.global-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--global-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.global-modal-content{background:var(--global-modal-bg);border-radius:16px;padding:24px;max-width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.page-container{min-height:100%;animation:pageFadeIn .4s ease-out}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:24px;padding:20px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:2px solid rgba(255,107,157,.2);box-shadow:0 8px 32px #ff6b9d1a;position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,107,157,.1),transparent);animation:pageHeaderShine 6s linear infinite}@keyframes pageHeaderShine{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-title{font-size:28px;font-weight:800;margin:0;background:linear-gradient(135deg,#ff6b9d,#ff8a80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1;text-shadow:0 2px 8px rgba(255,107,157,.2)}.page-subtitle{font-size:14px;color:#666;margin-top:8px;position:relative;z-index:1}.page-content{position:relative;z-index:1}.page-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:2px solid rgba(255,107,157,.2);box-shadow:0 8px 32px #ff6b9d1a;padding:24px;margin-bottom:20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.page-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,107,157,.1),transparent);transition:left .6s ease}.page-card:hover:before{left:100%}.page-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #ff6b9d33;border-color:#ff6b9d66}.page-button{background:linear-gradient(135deg,#ff6b9d,#ff8a80);border:none;border-radius:14px;padding:14px 28px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 20px #ff6b9d4d;position:relative;overflow:hidden}.page-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.page-button:hover:before{left:100%}.page-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 30px #ff6b9d66}.page-button:active{transform:translateY(0) scale(.98)}.page-input{background:#fffffff2;border:2px solid rgba(255,107,157,.2);border-radius:14px;padding:14px 18px;font-size:16px;color:#333;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-input:focus{border-color:#ff6b9d99;box-shadow:0 0 0 4px #ff6b9d26;transform:translateY(-1px);outline:none}.page-input::placeholder{color:#999;transition:all .3s ease}.page-input:focus::placeholder{opacity:.5;transform:translate(8px)}.page-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.page-section{margin-bottom:32px}.page-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-section-title{font-size:22px;font-weight:700;margin:0;background:linear-gradient(135deg,#ff6b9d,#ff8a80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-section-more{color:#ff6b9d;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;padding:8px 16px;border-radius:10px}.page-section-more:hover{background:#ff6b9d1a;transform:translate(4px)}@media (max-width: 768px){.page-header{padding:16px;border-radius:16px}.page-title{font-size:24px}.page-card{padding:20px;border-radius:16px}.page-grid{grid-template-columns:1fr;gap:16px}.page-button{padding:12px 24px;font-size:15px}.page-input{padding:12px 16px;font-size:15px}}@media (prefers-reduced-motion: reduce){.page-container,.page-card,.page-button{transition:none;animation:none}.page-card:hover,.page-button:hover{transform:none}}.particle-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.particle{position:absolute;border-radius:50%;animation:float-up 15s infinite;opacity:.3}@keyframes float-up{0%,to{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.3}90%{opacity:.3}to{transform:translateY(-100vh) rotate(720deg);opacity:0}}@keyframes ripple-effect{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}.ripple-button{position:relative;overflow:hidden}.ripple-button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);animation:none}.ripple-button:active:after{width:300px;height:300px;animation:ripple-effect .6s ease-out}@keyframes magnetic-pull{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.magnetic-card{transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.magnetic-card:hover{animation:magnetic-pull .5s ease-out}@keyframes neon-glow{0%,to{box-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 20px currentColor}50%{box-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 40px currentColor}}.neon-button{animation:neon-glow 2s ease-in-out infinite alternate}@keyframes morphing-shape{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}.morphing-background{animation:morphing-shape 8s ease-in-out infinite}@keyframes typing-effect{0%{width:0}to{width:100%}}.typing-text{overflow:hidden;white-space:nowrap;animation:typing-effect 2s steps(40,end)}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.typing-cursor:after{content:"|";animation:cursor-blink 1s step-end infinite}@keyframes float-in-air{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-20px) rotate(5deg)}50%{transform:translateY(-10px) rotate(0)}75%{transform:translateY(-25px) rotate(-5deg)}}.floating-element{animation:float-in-air 6s ease-in-out infinite}@keyframes slide-in-left-with-bounce{0%{transform:translate(-100%);opacity:0}60%{transform:translate(10%)}80%{transform:translate(-5%)}to{transform:translate(0);opacity:1}}.slide-in-bounce-left{animation:slide-in-left-with-bounce .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes slide-in-right-with-bounce{0%{transform:translate(100%);opacity:0}60%{transform:translate(-10%)}80%{transform:translate(5%)}to{transform:translate(0);opacity:1}}.slide-in-bounce-right{animation:slide-in-right-with-bounce .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes scale-in-elastic{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.scale-in-elastic{animation:scale-in-elastic .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes wave-text{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.wave-text span{display:inline-block;animation:wave-text .6s ease-in-out infinite}.wave-text span:nth-child(2){animation-delay:.1s}.wave-text span:nth-child(3){animation-delay:.2s}.wave-text span:nth-child(4){animation-delay:.3s}.wave-text span:nth-child(5){animation-delay:.4s}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animated-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}@keyframes glitch-effect{0%,to{text-shadow:2px 2px 0 #ff00ff,-2px -2px 0 #00ffff}25%{text-shadow:-2px 2px 0 #ff00ff,2px -2px 0 #00ffff}50%{text-shadow:2px -2px 0 #ff00ff,-2px 2px 0 #00ffff}75%{text-shadow:-2px -2px 0 #ff00ff,2px 2px 0 #00ffff}}.glitch-text:hover{animation:glitch-effect .3s infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-slow{animation:spin-slow 20s linear infinite}@keyframes pulse-heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}.pulse-heartbeat{animation:pulse-heartbeat 1.5s ease-in-out infinite}@keyframes bounce-alternate{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.bounce-alternate{animation:bounce-alternate 1s ease-in-out infinite}@keyframes shake-horizontal{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.shake-horizontal{animation:shake-horizontal .5s ease-in-out}@keyframes pop-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.pop-in{animation:pop-in .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes flip-in-x{0%{transform:perspective(400px) rotateX(90deg);opacity:0}to{transform:perspective(400px) rotateX(0);opacity:1}}.flip-in-x{animation:flip-in-x .5s ease-out}@keyframes flip-in-y{0%{transform:perspective(400px) rotateY(90deg);opacity:0}to{transform:perspective(400px) rotateY(0);opacity:1}}.flip-in-y{animation:flip-in-y .5s ease-out}@keyframes zoom-in-up{0%{transform:scale(.5) translateY(50px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.zoom-in-up{animation:zoom-in-up .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes rotate-in-left{0%{transform:rotate(-180deg);opacity:0}to{transform:rotate(0);opacity:1}}.rotate-in-left{animation:rotate-in-left .8s cubic-bezier(.175,.885,.32,1.275)}@keyframes rotate-in-right{0%{transform:rotate(180deg);opacity:0}to{transform:rotate(0);opacity:1}}.rotate-in-right{animation:rotate-in-right .8s cubic-bezier(.175,.885,.32,1.275)}.highlight-shine{position:relative;overflow:hidden}.highlight-shine:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);transform:rotate(30deg);animation:highlight-shine 3s infinite}@keyframes highlight-shine{0%{transform:translate(-100%) rotate(30deg)}to{transform:translate(100%) rotate(30deg)}}.loading-dots:after{content:"";animation:loading-dots 1.5s infinite}@keyframes loading-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}:root{--primary-color: #ff6b9d;--primary-light: #ff8fab;--primary-dark: #ff4d8a;--secondary-color: #667eea;--secondary-light: #8f9efb;--secondary-dark: #4c63d2;--accent-color: #f093fb;--accent-light: #f5b7ff;--accent-dark: #d975e0;--success-color: #48bb78;--success-light: #68d39a;--success-dark: #38a169;--warning-color: #ed8936;--warning-light: #f6ad55;--warning-dark: #dd6b20;--danger-color: #f5576c;--danger-light: #f88a9a;--danger-dark: #e0354d;--info-color: #4facfe;--info-light: #72c2ff;--info-dark: #2b8fd9;--gray-50: #f7fafc;--gray-100: #edf2f7;--gray-200: #e2e8f0;--gray-300: #cbd5e0;--gray-400: #a0aec0;--gray-500: #718096;--gray-600: #4a5568;--gray-700: #2d3748;--gray-800: #1a202c;--gray-900: #171923;--gradient-primary: linear-gradient(135deg, #ff6b9d 0%, #ff8fab 100%);--gradient-secondary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-accent: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-success: linear-gradient(135deg, #48bb78 0%, #38a169 100%);--gradient-dark: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .25);--shadow-neon: 0 0 20px rgba(102, 126, 234, .5);--shadow-glow: 0 0 30px rgba(255, 107, 157, .3);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--transition-elastic: .6s cubic-bezier(.68, -.6, .32, 1.6);--font-sans: "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "source-code-pro", Menlo, Monaco, Consolas, "Courier New", monospace;--font-xs: 12px;--font-sm: 14px;--font-md: 16px;--font-lg: 18px;--font-xl: 20px;--font-xxl: 24px;--font-xxxl: 32px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-md);line-height:var(--line-height-normal);color:var(--gray-700);background:linear-gradient(135deg,#fff,#f8f9ff,#fff);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}code,pre,kbd,samp{font-family:var(--font-mono)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:none;border:none;cursor:pointer;transition:all var(--transition-normal)}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-normal)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff6b9d1a}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:var(--radius-sm);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}*{scrollbar-width:thin;scrollbar-color:var(--primary-light) var(--gray-100)}::selection{background:var(--primary-color);color:#fff}::-moz-selection{background:var(--primary-color);color:#fff}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #ff6b9d4d}50%{box-shadow:0 0 40px #ff6b9d99}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate3d{0%{transform:perspective(1000px) rotateY(0)}to{transform:perspective(1000px) rotateY(360deg)}}@keyframes flip{0%{transform:perspective(1000px) rotateY(0)}50%{transform:perspective(1000px) rotateY(90deg)}to{transform:perspective(1000px) rotateY(0)}}@keyframes slideFadeIn{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes zoomOut{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05);opacity:1}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(1.05)}to{transform:scale(.3);opacity:0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #667eea66}50%{box-shadow:0 0 40px #667eeacc,0 0 60px #f093fb66}}@keyframes text-shine{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float-bob{0%,to{transform:translateY(0)}25%{transform:translateY(-10px)}50%{transform:translateY(-5px)}75%{transform:translateY(-15px)}}@keyframes stagger-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:var(--font-bold)}.font-semibold{font-weight:var(--font-semibold)}.font-medium{font-weight:var(--font-medium)}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--secondary-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.text-muted{color:var(--gray-500)}.bg-primary{background:var(--primary-color)}.bg-secondary{background:var(--secondary-color)}.bg-success{background:var(--success-color)}.bg-warning{background:var(--warning-color)}.bg-danger{background:var(--danger-color)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.hidden{display:none!important}.visible{display:block!important}.animate-fadeIn{animation:fadeIn .3s ease-in-out}.animate-fadeOut{animation:fadeOut .3s ease-in-out}.animate-slideInUp{animation:slideInUp .4s ease-out}.animate-slideInDown{animation:slideInDown .4s ease-out}.animate-slideInLeft{animation:slideInLeft .4s ease-out}.animate-slideInRight{animation:slideInRight .4s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-scaleOut{animation:scaleOut .3s ease-out}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-breathe{animation:breathe 3s ease-in-out infinite}.animate-wave{animation:wave 2s ease-in-out infinite}.animate-rotate3d{animation:rotate3d 5s linear infinite}.animate-flip{animation:flip 1s ease-in-out}.animate-slideFadeIn{animation:slideFadeIn .6s ease-out}.animate-zoomIn{animation:zoomIn .5s ease-out}.animate-zoomOut{animation:zoomOut .5s ease-out}.animate-bounceIn{animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55)}.animate-bounceOut{animation:bounceOut .6s ease-in-out}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-text-shine{animation:text-shine 3s ease-in-out infinite}.animate-float-bob{animation:float-bob 4s ease-in-out infinite}.animate-stagger-in{animation:stagger-in .5s ease-out}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.animate-delay-600{animation-delay:.6s}.animate-delay-700{animation-delay:.7s}.animate-delay-800{animation-delay:.8s}.animate-delay-900{animation-delay:.9s}.animate-delay-1000{animation-delay:1s}.animate-fill-forwards{animation-fill-mode:forwards}.animate-fill-backwards{animation-fill-mode:backwards}.animate-fill-both{animation-fill-mode:both}@media (max-width: 576px){html{font-size:14px}.p-md{padding:var(--spacing-sm)}.p-lg{padding:var(--spacing-md)}.p-xl{padding:var(--spacing-lg)}.m-md{margin:var(--spacing-sm)}.m-lg{margin:var(--spacing-md)}.m-xl{margin:var(--spacing-lg)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.hidden-mobile{display:none!important}}@media (max-width: 768px){.hidden-mobile{display:none!important}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.card-header{padding:12px 16px}.card-body{padding:16px}}@media (min-width: 769px){.hidden-desktop{display:none!important}}@media (max-width: 992px){.hidden-tablet{display:none!important}.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media (min-width: 577px) and (max-width: 768px){.grid-cols-2{grid-template-columns:1fr}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 769px) and (max-width: 1199px){.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1200px){.grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (hover: none) and (pointer: coarse){button,a{-webkit-tap-highlight-color:transparent}.card-hoverable:hover{transform:none;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:none}button,a{min-height:44px;min-width:44px}}@media (orientation: landscape) and (max-height: 500px){.p-lg{padding:var(--spacing-md)}.card-cover{height:150px}}@media (min-resolution: 192dpi){.card-title{font-weight:700}.btn-primary{box-shadow:var(--shadow-md)}}@media print{body{background:#fff}.no-print{display:none!important}}@media (prefers-color-scheme: light){:root{--gray-50: #f7fafc;--gray-100: #edf2f7;--gray-200: #e2e8f0;--gray-300: #cbd5e0;--gray-400: #a0aec0;--gray-500: #718096;--gray-600: #4a5568;--gray-700: #2d3748;--gray-800: #1a202c;--gray-900: #171923}body{color:var(--gray-700);background:linear-gradient(135deg,#fff,#f8f9ff,#fff)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;background:linear-gradient(135deg,#f8f9ff,#fff,#f8f9ff);padding:var(--spacing-xxl)}.loading-spinner{position:relative;width:60px;height:60px;margin-bottom:var(--spacing-lg)}.loading-spinner .spinner-inner{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid rgba(102,126,234,.2);border-left:3px solid var(--secondary-color);border-radius:50%;animation:spin 1s linear infinite;box-shadow:0 0 15px #667eea33}.loading-spinner .spinner-outer{position:absolute;top:50%;left:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border:3px solid rgba(255,107,157,.2);border-right:3px solid var(--primary-color);border-radius:50%;animation:spin 1.5s linear infinite reverse;box-shadow:0 0 20px #ff6b9d1a}.loading-title{font-size:var(--font-xl);font-weight:var(--font-bold);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-sm);animation:text-shine 3s ease-in-out infinite}.loading-subtitle{font-size:var(--font-md);font-weight:var(--font-medium);color:var(--gray-600);margin-bottom:var(--spacing-lg);animation:pulse 2s ease-in-out infinite}.loading-progress{width:200px;height:4px;background:#667eea33;border-radius:var(--radius-full);overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.loading-progress .progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:var(--radius-full);animation:progress 2s ease-in-out infinite}@keyframes progress{0%{width:0%}50%{width:70%}to{width:0%}}.loading-container p{font-size:var(--font-md);font-weight:var(--font-medium);color:var(--gray-600);margin:0;animation:pulse 2s ease-in-out infinite}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f8f9ff,#fff,#f8f9ff)}.page-loading .loading-spinner{width:80px;height:80px;border-width:5px;margin-bottom:var(--spacing-xl)}.page-loading h2{font-size:var(--font-xxl);font-weight:var(--font-bold);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-md);animation:text-shine 3s ease-in-out infinite}.page-loading p{font-size:var(--font-lg);color:var(--gray-600);margin:0}:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--success-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--warning-gradient: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--dark-gradient: linear-gradient(135deg, #434343 0%, #000000 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .2);--shadow-primary: 0 4px 20px rgba(102, 126, 234, .3);--shadow-secondary: 0 4px 20px rgba(240, 147, 251, .3);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--border-radius-full: 9999px}*{transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}body{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);background-attachment:fixed;position:relative}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(102,126,234,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(240,147,251,.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(79,172,254,.1) 0%,transparent 50%);pointer-events:none;z-index:-1}button{cursor:pointer;position:relative;overflow:hidden}button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}button:active:after{width:200%;height:200%}.glass-effect{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.glass-effect-dark{background:#0000004d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.card-hover{transition:all var(--transition-normal)}.card-hover:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.pulse-animation{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .5s ease forwards}.slide-in-left{animation:slideInLeft .5s ease forwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideInRight .5s ease forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.scale-in{animation:scaleIn .3s ease forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.shimmer{background:linear-gradient(90deg,#fff0,#ffffff80,#fff0);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.gradient-border{position:relative;background:#fff;border-radius:var(--border-radius-md)}.gradient-border:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:var(--primary-gradient);border-radius:calc(var(--border-radius-md) + 2px);z-index:-1}.floating{animation:floating 3s ease-in-out infinite}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.rotate-hover:hover{animation:rotateOnce .5s ease}@keyframes rotateOnce{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.glow-effect{box-shadow:0 0 20px #667eea80;animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:0 0 20px #667eea80}to{box-shadow:0 0 30px #667eeacc}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:8px 12px;background:#000c;color:#fff;font-size:12px;border-radius:6px;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);pointer-events:none;z-index:1000}.tooltip:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.ripple{position:relative;overflow:hidden}.ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff6;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.ripple:active:before{width:300%;height:300%}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}::selection{background:#667eea4d;color:inherit}::-moz-selection{background:#667eea4d;color:inherit}input:focus,textarea:focus,button:focus{outline:none;box-shadow:0 0 0 3px #667eea33}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid #667eea;outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){body{background:linear-gradient(135deg,#f5f7fa,#e8eef5)}.glass-effect{background:#ffffffe6}}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#fff5f8,#fff,#fff5f8);color:var(--gray-700);overflow-x:hidden}#root{width:100%;height:100vh;overflow:hidden}code{font-family:var(--font-mono)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;padding:20px}.loading-spinner{position:relative;width:80px;height:80px;margin-bottom:20px}.spinner-inner,.spinner-outer{position:absolute;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top:4px solid white;animation:spin 1s linear infinite}.spinner-outer{width:80px;height:80px;animation-duration:1.5s}.spinner-inner{width:60px;height:60px;top:10px;left:10px;animation-duration:1s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-title{font-size:24px;font-weight:600;margin-bottom:10px}.loading-subtitle{font-size:16px;opacity:.9;margin-bottom:20px}.loading-progress{width:200px;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-top:20px}.progress-bar{height:100%;background:linear-gradient(90deg,#4facfe,#00f2fe);border-radius:4px;transition:width .3s ease}.loading-percentage{margin-top:10px;font-size:14px;opacity:.9}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#ff9a9e,#fad0c4);color:#333;text-align:center;padding:20px}.error-icon{font-size:48px;margin-bottom:20px}.error-boundary h3{font-size:24px;font-weight:600;margin-bottom:10px}.error-boundary p{font-size:16px;margin-bottom:30px;max-width:400px}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.retry-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}@media (max-width: 768px){.loading-container,.error-boundary{padding:10px}.loading-title,.error-boundary h3{font-size:20px}.loading-subtitle,.error-boundary p{font-size:14px}.loading-spinner,.spinner-outer{width:60px;height:60px}.spinner-inner{width:40px;height:40px;top:10px;left:10px}.loading-progress{width:150px}.retry-button{padding:10px 20px;font-size:14px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--accent-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--glass-bg: rgba(255, 255, 255, .15);--glass-border: rgba(255, 255, 255, .2);--shadow-soft: 0 8px 32px rgba(0, 0, 0, .1);--shadow-medium: 0 12px 40px rgba(0, 0, 0, .15);--shadow-strong: 0 20px 60px rgba(0, 0, 0, .2);--transition-smooth: all .3s cubic-bezier(.175, .885, .32, 1.275);--transition-quick: all .2s ease}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#e8eef5,#f0f4f8);color:#2d3748;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a6fd6,#6a4190)}::selection{background:#667eea4d;color:#2d3748}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:var(--transition-smooth)}button:focus-visible{outline:2px solid #667eea;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit;transition:var(--transition-smooth)}input:focus,textarea:focus,select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}a{color:#667eea;text-decoration:none;transition:var(--transition-smooth)}a:hover{color:#764ba2;text-decoration:underline}img{max-width:100%;height:auto;display:block}.glass-card{background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:var(--shadow-soft);transition:var(--transition-smooth)}.glass-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}.gradient-text{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-bg{background:var(--primary-gradient)}.hover-lift{transition:var(--transition-smooth)}.hover-lift:hover{transform:translateY(-4px)}.hover-glow{transition:var(--transition-smooth)}.hover-glow:hover{box-shadow:0 0 20px #667eea66}.hover-scale{transition:var(--transition-smooth)}.hover-scale:hover{transform:scale(1.05)}.fade-in{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-in-left{animation:slideInLeft .5s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slideInRight .5s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.scale-in{animation:scaleIn .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.pulse-subtle{animation:pulseSubtle 2s ease-in-out infinite}@keyframes pulseSubtle{0%,to{opacity:1}50%{opacity:.7}}.float-animation{animation:floatSlow 6s ease-in-out infinite}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.shimmer-effect{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rotate-slow{animation:rotateSlow 20s linear infinite}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wobble{animation:wobble 1s ease-in-out}@keyframes wobble{0%,to{transform:translate(0)}15%{transform:translate(-25%) rotate(-5deg)}30%{transform:translate(20%) rotate(3deg)}45%{transform:translate(-15%) rotate(-3deg)}60%{transform:translate(10%) rotate(2deg)}75%{transform:translate(-5%) rotate(-1deg)}}.rubber-band{animation:rubberBand 1s ease-in-out}@keyframes rubberBand{0%,to{transform:scaleZ(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}}.jello{animation:jello .9s ease-in-out}@keyframes jello{0%,11.1%,to{transform:none}22.2%{transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{transform:skew(6.25deg) skewY(6.25deg)}44.4%{transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{transform:skew(.390625deg) skewY(.390625deg)}88.8%{transform:skew(-.1953125deg) skewY(-.1953125deg)}}.heart-beat{animation:heartBeat 1.3s ease-in-out infinite}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.flip-in-x{animation:flipInX .75s ease-in-out}@keyframes flipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-20deg)}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px) rotateX(0);opacity:1}}.flip-in-y{animation:flipInY .75s ease-in-out}@keyframes flipInY{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-20deg)}60%{transform:perspective(400px) rotateY(10deg);opacity:1}80%{transform:perspective(400px) rotateY(-5deg)}to{transform:perspective(400px) rotateY(0);opacity:1}}.zoom-in{animation:zoomIn .5s ease-out}@keyframes zoomIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1}to{transform:scale(1)}}.zoom-out{animation:zoomOut .5s ease-out}@keyframes zoomOut{0%{opacity:0;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.light-speed-in{animation:lightSpeedIn .5s ease-out}@keyframes lightSpeedIn{0%{transform:translate(100%) skew(-30deg);opacity:0}60%{transform:translate(-20%) skew(10deg);opacity:1}80%{transform:translate(0) skew(-5deg)}to{transform:translate(0) skew(0);opacity:1}}.roll-in{animation:rollIn 1s ease-out}@keyframes rollIn{0%{opacity:0;transform:translate(-100%) rotate(-120deg)}to{opacity:1;transform:translate(0) rotate(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scroll-smooth{scroll-behavior:auto}}@media (max-width: 768px){.glass-card{border-radius:16px}}
