@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes deal{0%{transform:translate(-100vw,-100vh) rotate(720deg) scale(.5);opacity:0}to{transform:translate(0) rotate(0) scale(1);opacity:1}}@keyframes card-flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}to{transform:rotateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #3b7dff80,0 4px 6px #0000004d}50%{box-shadow:0 0 25px #3bff7dcc,0 0 15px #ffd43b99,0 4px 6px #0000004d}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes celebrate{0%{transform:scale(.5) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg);opacity:1}to{transform:scale(1) rotate(360deg);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes slide-in-bottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-out-top{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.anim-deal{animation:deal .5s cubic-bezier(.68,-.55,.265,1.55) forwards}.anim-float{animation:float 3s ease-in-out infinite}.anim-pulse{animation:pulse-glow 2s ease-in-out infinite}.anim-shimmer{background-size:200% auto;animation:shimmer 3s linear infinite}.anim-celebrate{animation:celebrate .6s cubic-bezier(.68,-.55,.265,1.55) forwards}.anim-shake{animation:shake .5s ease-in-out}.anim-slide-in{animation:slide-in-bottom .3s ease-out forwards}.anim-slide-out{animation:slide-out-top .3s ease-in forwards}.anim-fade-in{animation:fade-in .3s ease-out forwards}.anim-scale-in{animation:scale-in .3s cubic-bezier(.68,-.55,.265,1.55) forwards}.anim-spin{animation:spin 1s linear infinite}.transition-all{transition:all var(--transition-normal)}.transition-transform{transition:transform var(--transition-normal)}.transition-opacity{transition:opacity var(--transition-normal)}:root{--color-uno-red: #ff3b3b;--color-uno-blue: #3b7dff;--color-uno-green: #3bff7d;--color-uno-yellow: #ffd43b;--color-uno-wild: linear-gradient(135deg, #ff3b3b, #3b7dff, #3bff7d, #ffd43b);--bg-primary: #0f0f23;--bg-secondary: #1a1a2e;--bg-tertiary: #16213e;--bg-glass: rgba(255, 255, 255, .08);--bg-glass-strong: rgba(255, 255, 255, .15);--bg-glass-stronger: rgba(255, 255, 255, .25);--text-primary: #ffffff;--text-secondary: #b8b8d1;--text-tertiary: #8a8aa0;--text-accent: #ff3b7d;--glass-blur: 12px;--glass-border: 1px solid rgba(255, 255, 255, .15);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .37);--glass-shadow-lg: 0 12px 48px 0 rgba(31, 38, 135, .5);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);background:radial-gradient(ellipse at top,var(--bg-secondary) 0%,var(--bg-primary) 50%,#050510 100%);min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(59,125,255,.1) 0%,transparent 50%);animation:rotate-background 20s linear infinite;pointer-events:none;z-index:0}@keyframes rotate-background{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#root{position:relative;z-index:1}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--bg-glass);border-radius:var(--radius-sm);border:2px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background:var(--bg-glass-strong)}::selection{background:#3b7dff4d;color:var(--text-primary)}.btn-primary{background:var(--bg-glass-strong);border:var(--glass-border);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-normal);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:0 4px 12px #0003;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:hover:before{width:300px;height:300px}.btn-primary:hover{background:var(--bg-glass-stronger);transform:translateY(-2px);box-shadow:0 8px 20px #3b7dff4d}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #0003}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-danger{background:#ff3b3b26;border:1px solid rgba(255,59,59,.5)}.btn-danger:hover{background:#ff3b3b4d;box-shadow:0 8px 20px #ff3b3b4d}.btn-success{background:#3bff7d26;border:1px solid rgba(59,255,125,.5)}.btn-success:hover{background:#3bff7d4d;box-shadow:0 8px 20px #3bff7d4d}.input-glass{background:var(--bg-glass);border:var(--glass-border);color:var(--text-primary);padding:var(--spacing-md);border-radius:var(--radius-md);width:100%;box-sizing:border-box;font-family:var(--font-family);font-size:1rem;transition:all var(--transition-normal);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.input-glass::placeholder{color:var(--text-tertiary)}.input-glass:focus{outline:none;border-color:var(--color-uno-blue);background:var(--bg-glass-strong);box-shadow:0 0 0 3px #3b7dff1a}.input-glass:hover:not(:focus){border-color:#ffffff40}.card-glass{background:var(--bg-glass);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);padding:var(--spacing-xl);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow);transition:all var(--transition-normal)}.card-glass:hover{border-color:#ffffff40;box-shadow:var(--glass-shadow-lg)}.notification{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);min-width:300px;max-width:400px;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-glass-strong);border:var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--glass-shadow-lg);z-index:1000;pointer-events:auto}.notification-info{border-left:4px solid var(--color-uno-blue)}.notification-success{border-left:4px solid var(--color-uno-green)}.notification-warning{border-left:4px solid var(--color-uno-yellow)}.notification-error{border-left:4px solid var(--color-uno-red)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-glass-strong);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;border:1px solid rgba(255,255,255,.2)}.badge-primary{background:#3b7dff33;color:var(--color-uno-blue);border-color:var(--color-uno-blue)}.badge-success{background:#3bff7d33;color:var(--color-uno-green);border-color:var(--color-uno-green)}.badge-warning{background:#ffd43b33;color:var(--color-uno-yellow);border-color:var(--color-uno-yellow)}.badge-danger{background:#ff3b3b33;color:var(--color-uno-red);border-color:var(--color-uno-red)}.spinner{width:40px;height:40px;border:4px solid var(--bg-glass);border-top-color:var(--color-uno-blue);border-radius:50%;animation:spin 1s linear infinite}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:999}.text-center{text-align:center}.text-bold{font-weight:700}.flex-center{display:flex;align-items:center;justify-content:center}.flex-column{display:flex;flex-direction:column}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}
