:root{--bg-primary: #07060b;--bg-secondary: #0d0a18;--bg-card: rgba(255, 255, 255, .04);--bg-card-hover: rgba(255, 255, 255, .06);--border-card: rgba(255, 255, 255, .08);--border-card-hover: rgba(255, 255, 255, .15);--text-primary: #f0eef5;--text-secondary: rgba(240, 238, 245, .6);--text-muted: rgba(240, 238, 245, .35);--accent-1: #8b5cf6;--accent-2: #6366f1;--accent-3: #a78bfa;--accent-glow: rgba(139, 92, 246, .25);--gradient-accent: linear-gradient(135deg, var(--accent-1), var(--accent-2));--gradient-bg: radial-gradient(ellipse at 20% 50%, rgba(99, 102, 241, .08) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(139, 92, 246, .06) 0%, transparent 50%), radial-gradient(ellipse at 50% 80%, rgba(167, 139, 250, .04) 0%, transparent 50%);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.6}#root{min-height:100vh}.app-wrapper{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;overflow:hidden}.app-wrapper:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--gradient-bg);z-index:0;pointer-events:none}.bg-orb{position:fixed;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none;z-index:0}.bg-orb--1{width:400px;height:400px;background:#8b5cf61f;top:-100px;left:-100px;animation:float-orb 20s ease-in-out infinite}.bg-orb--2{width:300px;height:300px;background:#6366f11a;bottom:-50px;right:-50px;animation:float-orb 25s ease-in-out infinite reverse}.bg-orb--3{width:250px;height:250px;background:#a78bfa14;top:50%;left:60%;animation:float-orb 30s ease-in-out infinite 5s}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-40px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(40px,30px) scale(1.02)}}.invite-card{position:relative;z-index:1;width:100%;max-width:480px;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-xl);padding:3rem 2.5rem;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:card-enter .8s cubic-bezier(.16,1,.3,1) both}.invite-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-xl);padding:1px;background:linear-gradient(135deg,rgba(139,92,246,.2) 0%,transparent 40%,transparent 60%,rgba(99,102,241,.1) 100%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;pointer-events:none}@keyframes card-enter{0%{opacity:0;transform:translateY(30px) scale(.96);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.icon-badge{width:72px;height:72px;margin:0 auto 1.75rem;border-radius:var(--radius-lg);background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;position:relative;animation:icon-pulse 3s ease-in-out infinite}.icon-badge:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:calc(var(--radius-lg) + 4px);background:var(--gradient-accent);opacity:.2;filter:blur(12px);z-index:-1}.icon-badge svg{width:32px;height:32px;color:#fff}@keyframes icon-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 30px 8px var(--accent-glow)}}.invite-title{font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:.75rem;letter-spacing:-.02em;line-height:1.2;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-3) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.invite-subtitle{font-size:.95rem;font-weight:400;text-align:center;color:var(--text-secondary);margin-bottom:2.25rem;line-height:1.65}.cta-button{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:1rem 2rem;font-family:var(--font-family);font-size:1rem;font-weight:600;color:#fff;background:var(--gradient-accent);border:none;border-radius:var(--radius-md);cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-normal);letter-spacing:.01em}.cta-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-normal)}.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 32px var(--accent-glow),0 2px 8px #0000004d}.cta-button:hover:before{opacity:1}.cta-button:active{transform:translateY(0)}.cta-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.cta-button svg{width:18px;height:18px;transition:transform var(--transition-fast)}.cta-button:hover svg{transform:translate(3px)}.status-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-card),transparent);margin:1.5rem 0}.status-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);justify-content:center}.status-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:dot-blink 2s ease-in-out infinite}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.3}}.loading-container{text-align:center}.spinner{width:48px;height:48px;margin:0 auto 1.5rem;border:3px solid rgba(139,92,246,.15);border-top-color:var(--accent-1);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:.95rem;color:var(--text-secondary)}.loading-subtext{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.error-icon{width:72px;height:72px;margin:0 auto 1.75rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ef4444,#dc2626);display:flex;align-items:center;justify-content:center}.error-icon svg{width:32px;height:32px;color:#fff}.error-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:.75rem;color:var(--text-primary)}.error-message{font-size:.95rem;text-align:center;color:var(--text-secondary);line-height:1.65}.warning-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.redirect-animation{text-align:center}.redirect-icon{width:72px;height:72px;margin:0 auto 1.75rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;animation:icon-pulse 1.5s ease-in-out infinite}.redirect-icon svg{width:32px;height:32px;color:#fff}.redirect-text{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.redirect-subtext{font-size:.85rem;color:var(--text-secondary)}.no-token-icon{width:72px;height:72px;margin:0 auto 1.75rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,#64748b,#475569);display:flex;align-items:center;justify-content:center}.no-token-icon svg{width:32px;height:32px;color:#fff}@media (max-width: 640px){.app-wrapper{padding:1rem}.invite-card{padding:2rem 1.5rem;border-radius:var(--radius-lg)}.invite-title{font-size:1.5rem}.invite-subtitle{font-size:.9rem}.bg-orb--1{width:250px;height:250px}.bg-orb--2{width:200px;height:200px}.bg-orb--3{display:none}}::selection{background:#8b5cf64d;color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8b5cf680}
