*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0a0a0f;min-height:100vh;color:#fff;overflow-x:hidden}.bg-animation{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:radial-gradient(ellipse at 20% 20%,rgba(120,80,255,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(255,100,150,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(50,200,255,.08) 0%,transparent 60%)}.bg-animation:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.03}.portal{max-width:1400px;margin:0 auto;padding:20px 40px;position:relative}.header{text-align:center;padding:60px 0 50px}.header h1{font-size:3.5rem;font-weight:700;background:linear-gradient(135deg,#fff,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px;margin-bottom:15px}.header p{color:#ffffff80;font-size:1.1rem;letter-spacing:3px;text-transform:uppercase}.search-box{max-width:600px;margin:0 auto 50px;position:relative}.search-box input{width:100%;padding:18px 25px 18px 55px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:1rem;transition:all .3s ease}.search-box input::placeholder{color:#ffffff4d}.search-box input:focus{outline:none;border-color:#a78bfa80;background:#ffffff0d;box-shadow:0 0 30px #a78bfa1a}.search-icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:#ffffff4d;font-size:1.2rem}.category-section{margin-bottom:50px}.category-title{font-size:.85rem;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:3px;margin-bottom:25px;padding-left:15px;border-left:2px solid rgba(167,139,250,.5)}.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.link-card{display:flex;align-items:center;padding:24px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:20px;text-decoration:none;color:#fff;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.link-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#a78bfa1a,#f472b60d);opacity:0;transition:opacity .4s ease}.link-card:hover{transform:translateY(-8px);border-color:#a78bfa4d;box-shadow:0 20px 40px #0000004d,0 0 60px #a78bfa1a}.link-card:hover:before{opacity:1}.link-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:linear-gradient(135deg,#a78bfa33,#f472b61a);border-radius:14px;margin-right:18px;flex-shrink:0;position:relative;z-index:1}.link-info{display:flex;flex-direction:column;position:relative;z-index:1}.link-name{font-weight:600;font-size:1.1rem;margin-bottom:6px;transition:color .3s ease}.link-card:hover .link-name{color:#a78bfa}.link-desc{font-size:.85rem;color:#fff6;line-height:1.4}.link-arrow{margin-left:auto;opacity:0;transform:translate(-10px);transition:all .3s ease;color:#a78bfacc;font-size:1.2rem;position:relative;z-index:1}.link-card:hover .link-arrow{opacity:1;transform:translate(0)}.loading{text-align:center;padding:80px 20px}.loading-spinner{width:50px;height:50px;border:3px solid rgba(255,255,255,.1);border-top-color:#a78bfa;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:#ffffff80;font-size:1rem}.error{text-align:center;padding:60px 20px;color:#f87171}.empty{text-align:center;padding:80px 20px;color:#fff6}.footer{text-align:center;padding:40px 0;color:#fff3;font-size:.85rem}@media (max-width: 768px){.portal{padding:15px 20px}.header h1{font-size:2.2rem}.links-grid{grid-template-columns:1fr}.link-card{padding:18px}}
