:root{--color-primary-purple: #8B5CF6;--color-primary-purple-light: #A78BFA;--color-primary-blue: #3B82F6;--color-primary-blue-light: #60A5FA;--color-secondary-cyan: #06B6D4;--color-secondary-cyan-light: #22D3EE;--color-secondary-teal: #1488A6;--color-accent-green: #10B981;--color-accent-green-light: #34D399;--color-accent-orange: #F97316;--color-accent-orange-light: #FB923C;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-glow-purple: 0 0 40px rgba(139, 92, 246, .3);--shadow-glow-cyan: 0 0 40px rgba(6, 182, 212, .3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e2e8f0);color:#1e293b;line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}.glass-card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.glass-card-light{background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.btn-primary{background:linear-gradient(135deg,var(--color-primary-purple) 0%,var(--color-primary-blue) 100%);color:#fff;font-weight:600;padding:12px 24px;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #8b5cf666}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf680}.btn-secondary{background:linear-gradient(135deg,var(--color-secondary-cyan) 0%,var(--color-accent-green) 100%);color:#fff;font-weight:600;padding:12px 24px;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 14px #06b6d466}.btn-ghost{background:transparent;color:var(--color-primary-purple);font-weight:600;padding:12px 24px;border-radius:var(--radius-lg);border:1px solid rgba(139,92,246,.3);cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-ghost:hover{background:#8b5cf61a;border-color:var(--color-primary-purple)}.input-modern{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;font-size:14px;transition:all .2s ease}.input-modern:focus{outline:none;border-color:var(--color-primary-blue);box-shadow:0 0 0 3px #3b82f61a}.gradient-text-primary{background:linear-gradient(135deg,var(--color-primary-purple) 0%,var(--color-primary-blue) 50%,var(--color-secondary-cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-accent{background:linear-gradient(135deg,var(--color-secondary-cyan) 0%,var(--color-accent-green) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ribbon-decoration{position:absolute;pointer-events:none;z-index:0}.ribbon-purple-blue{background:linear-gradient(180deg,var(--color-primary-purple) 0%,var(--color-primary-blue) 50%,var(--color-secondary-cyan) 100%);border-radius:100px;filter:blur(.5px);opacity:.9}.ribbon-cyan-green{background:linear-gradient(180deg,var(--color-secondary-cyan) 0%,var(--color-accent-green) 50%,var(--color-accent-orange) 100%);border-radius:100px;filter:blur(.5px);opacity:.9}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #8b5cf64d}50%{box-shadow:0 0 40px #8b5cf680}}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-delayed{animation:float 8s ease-in-out infinite;animation-delay:2s}.text-gradient-flow{background:linear-gradient(135deg,#8b5cf6,#3b82f6,#06b6d4,#10b981,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
