:root{--np-pink:#ff6b9d;--np-purple:#c44dff;--np-cyan:#00d4ff;--np-gold:#ffd700;--np-green:#4ade80;--np-bg-dark:#0a0a1a;--np-text:#fff;--np-text-muted:rgba(255,255,255,0.7);--np-border:rgba(255,255,255,0.1);--np-gradient-primary:linear-gradient(135deg,#ff6b9d 0,#c44dff 50%,#00d4ff 100%)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Nunito',sans-serif;background:var(--np-bg-dark);color:var(--np-text);min-height:100vh}.bg-cosmos{position:fixed;top:0;left:0;right:0;bottom:0;z-index:0;background:radial-gradient(ellipse at 30% 20%,rgba(196,77,255,0.2) 0,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(0,212,255,0.15) 0,transparent 50%),var(--np-bg-dark)}.stars{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1;pointer-events:none}.star{position:absolute;width:3px;height:3px;background:white;border-radius:50%;animation:twinkle 3s infinite ease-in-out}@keyframes twinkle{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.main-content{position:relative;z-index:10;padding:100px 2rem 4rem;max-width:1400px;margin:0 auto}.hero{text-align:center;padding:3rem 0 4rem}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:rgba(196,77,255,0.2);border:1px solid rgba(196,77,255,0.3);border-radius:50px;color:var(--np-purple);font-weight:600;font-size:.9rem;margin-bottom:1.5rem}.hero-title{font-family:'Fredoka',sans-serif;font-size:3.5rem;font-weight:700;margin-bottom:1rem;line-height:1.1}.hero-title .gradient{background:var(--np-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.3rem;color:var(--np-text-muted);max-width:700px;margin:0 auto 2.5rem;line-height:1.6}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-primary{padding:1rem 2.5rem;background:var(--np-gradient-primary);border:0;border-radius:50px;color:white;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(255,107,157,0.4)}.btn-secondary{padding:1rem 2.5rem;background:transparent;border:2px solid rgba(255,255,255,0.3);border-radius:50px;color:white;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary:hover{border-color:var(--np-cyan);color:var(--np-cyan)}.mascot-showcase{background:rgba(20,20,40,0.8);border:2px solid rgba(255,215,0,0.3);border-radius:30px;padding:3rem;margin:3rem 0;display:flex;gap:3rem;align-items:center;position:relative;overflow:hidden}.mascot-showcase::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 30% 50%,rgba(0,212,255,0.1),transparent 60%)}.mascot-image{flex:0 0 300px;height:300px;background:linear-gradient(135deg,rgba(0,212,255,0.2),rgba(196,77,255,0.2));border-radius:20px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;overflow:hidden}.mascot-image img{width:280px;height:280px;object-fit:cover;object-position:center 20%;border-radius:16px;filter:drop-shadow(0 10px 30px rgba(0,212,255,0.3));transition:transform .3s ease,filter .3s ease;cursor:pointer}.mascot-image img:hover{transform:scale(1.08) rotate(3deg);filter:drop-shadow(0 15px 40px rgba(255,107,157,0.5))}.mascot-image:hover{border-color:rgba(255,107,157,0.5)}.mascot-placeholder{color:var(--np-text-muted);text-align:center}.mascot-placeholder i{font-size:5rem;opacity:.3;display:block;margin-bottom:1rem}.mascot-info{flex:1;position:relative;z-index:1}.mascot-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:rgba(255,215,0,0.2);border:1px solid rgba(255,215,0,0.4);border-radius:20px;color:var(--np-gold);font-size:.8rem;font-weight:700;margin-bottom:1rem;transition:all .3s ease;cursor:default}.mascot-badge:hover{background:rgba(255,215,0,0.35);border-color:rgba(255,215,0,0.7);transform:scale(1.05);box-shadow:0 0 20px rgba(255,215,0,0.3)}.mascot-name{font-family:'Fredoka',sans-serif;font-size:2.5rem;margin-bottom:.5rem}.mascot-types{display:flex;gap:.5rem;margin-bottom:1rem}.type-tag{padding:.3rem .8rem;background:rgba(255,255,255,0.1);border-radius:15px;font-size:.85rem;font-weight:600}.mascot-desc{color:var(--np-text-muted);font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem}.mascot-ability{background:rgba(0,0,0,0.3);padding:1rem 1.5rem;border-radius:15px;margin-bottom:1.5rem}.mascot-ability h4{color:var(--np-cyan);margin-bottom:.5rem;font-size:.9rem}.mascot-ability p{color:var(--np-text-muted);font-size:.95rem}.species-section{margin:4rem 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-title{font-family:'Fredoka',sans-serif;font-size:2rem}.section-link{color:var(--np-pink);text-decoration:none;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.section-link:hover{gap:.75rem}.species-scroll{display:flex;gap:1.5rem;overflow-x:auto;padding:1rem 0;scrollbar-width:thin;scrollbar-color:var(--np-purple) transparent}.species-scroll::-webkit-scrollbar{height:8px}.species-scroll::-webkit-scrollbar-thumb{background:var(--np-purple);border-radius:4px}.species-card{flex:0 0 250px;background:rgba(20,20,40,0.8);border:1px solid var(--np-border);border-radius:20px;overflow:hidden;transition:all .3s ease;cursor:pointer;text-decoration:none;color:var(--np-text)}.species-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,0.3);box-shadow:0 15px 30px rgba(0,0,0,0.3)}.species-image{height:140px;background:linear-gradient(135deg,rgba(196,77,255,0.1),rgba(0,212,255,0.1));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.species-image i{font-size:3rem;opacity:.3}.species-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.rarity-badge{position:absolute;top:.75rem;left:.75rem;padding:.25rem .6rem;border-radius:15px;font-size:.7rem;font-weight:700;text-transform:uppercase}.rarity-badge.common{background:rgba(74,222,128,0.3);color:var(--np-green)}.rarity-badge.uncommon{background:rgba(0,212,255,0.3);color:var(--np-cyan)}.rarity-badge.rare{background:rgba(255,107,157,0.3);color:var(--np-pink)}.species-info{padding:1.25rem}.species-name{font-family:'Fredoka',sans-serif;font-size:1.3rem;margin-bottom:.5rem}.species-types-small{display:flex;gap:.4rem}.type-tag-small{padding:.2rem .5rem;background:rgba(255,255,255,0.1);border-radius:10px;font-size:.7rem;font-weight:600;color:var(--np-text-muted)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:4rem 0}.feature-card{background:rgba(20,20,40,0.8);border:1px solid var(--np-border);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease}.feature-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,0.2)}.feature-icon{width:70px;height:70px;margin:0 auto 1.5rem;background:linear-gradient(135deg,rgba(196,77,255,0.2),rgba(0,212,255,0.2));border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--np-purple)}.feature-title{font-family:'Fredoka',sans-serif;font-size:1.3rem;margin-bottom:.75rem}.feature-desc{color:var(--np-text-muted);line-height:1.6}.feature-desc .coming-badge{display:inline-block;margin-top:.5rem;padding:.2rem .6rem;background:rgba(255,159,67,0.2);border:1px solid rgba(255,159,67,0.4);border-radius:20px;color:#ff9f43;font-size:.7rem;font-weight:700;text-transform:uppercase}.np-footer{padding:3rem 2rem;border-top:1px solid var(--np-border);text-align:center;margin-top:4rem}.footer-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.footer-links a{color:var(--np-text-muted);text-decoration:none;font-weight:500;transition:color .3s ease}.footer-links a:hover{color:var(--np-pink)}.copyright{color:rgba(255,255,255,0.4);font-size:.9rem}@media(max-width:900px){.mascot-showcase{flex-direction:column;text-align:center}.mascot-image{flex:0 0 auto;width:100%;max-width:300px;margin:0 auto}.hero-title{font-size:2.5rem}}