@import"https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--color-bg: #050505;--color-surface: rgba(255, 255, 255, .03);--color-primary: #FF00FF;--color-secondary: #9D00FF;--color-accent: #00FFEA;--color-text-primary: #FFFFFF;--color-text-secondary: #AAAAAA;--color-text-dim: #666666;--radius-sm: 8px;--radius-md: 24px;--radius-lg: 40px;--radius-blob: 60% 40% 30% 70% / 60% 30% 70% 40%;--font-display: "Syne", sans-serif;--font-body: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;outline:none}html,body{width:100%;height:100%}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-primary);height:100dvh;overflow:hidden;overscroll-behavior:none;position:relative;background-image:radial-gradient(circle at 20% 80%,rgba(255,0,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,255,234,.1) 0%,transparent 50%)}.router-outlet{display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;color:var(--color-text-primary);line-height:1.2}.heading-xl{font-size:clamp(2rem,6vw,4rem);font-weight:800}.heading-lg{font-size:clamp(1.5rem,4vw,2.5rem)}.heading-md{font-size:clamp(1.25rem,3vw,2rem)}.heading-sm{font-size:1.25rem}p,span,label{font-family:var(--font-body)}button{font-family:var(--font-display)}.input-field{width:100%;padding:14px 18px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;border-radius:var(--radius-md);color:#fff;font-size:1rem;font-family:var(--font-body);transition:all .3s ease;outline:none;font-weight:500;box-shadow:0 4px 16px #0000001a}.input-field::placeholder{color:var(--color-text-secondary)}.input-field:focus{border-color:#ff00ff80;background:#ffffff14;box-shadow:0 0 0 2px #f0f3,0 4px 24px #ff00ff26}.input-field[disabled]{opacity:.5;cursor:not-allowed}.card{background:var(--color-surface);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);padding:20px;box-shadow:0 4px 24px #0003;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,0,255,.03) 0%,transparent 40%,transparent 60%,rgba(0,255,234,.03) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none}.card.clickable{cursor:pointer}.card.clickable:hover:before{opacity:1}.card.clickable:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 12px 40px #f0f3;border-color:#ff00ff4d}.card.clickable:active{transform:translateY(-1px) scale(.98)}.btn-primary{width:100%;padding:16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 20px #f0f6}.btn-primary:hover{background:linear-gradient(135deg,#f0f,#9d00ff);box-shadow:0 8px 32px #f0f9;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary[disabled]{opacity:.3;cursor:not-allowed;box-shadow:none}.btn-primary[disabled]:hover{transform:none;background:var(--color-primary);box-shadow:none}.btn-secondary{padding:12px 24px;background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.btn-secondary:hover{background:#ffffff26;border-color:var(--color-primary)}.btn-text{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;padding:8px 16px;transition:color .2s ease;font-weight:500;text-decoration:underline}.btn-text:hover{color:var(--color-primary)}.btn-icon{background:#ffffff1a;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:1.2rem;transition:all .2s ease}.btn-icon:hover{background:#fff3}.btn-icon:active{transform:scale(.9)}@keyframes fadeIn{to{opacity:1}}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.text-accent{color:var(--color-primary)}
