/* Reset and Base Styles */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
--primary:#a855f7;
--primary-glow:rgba(168,85,247,0.4);
--secondary:#6366f1;
--accent:#f472b6;
--accent-glow:rgba(244,114,182,0.3);
--bg-dark:#0f0a1a;
--bg-mid:#1e1b4b;
--bg-light:#312e81;
--card-bg:rgba(30,27,75,0.6);
--card-border:rgba(168,85,247,0.2);
--text-primary:#ffffff;
--text-secondary:#cbd5e1;
--border-radius:8px;
--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}
body{font-family:'Nunito',system-ui,sans-serif;font-weight:400;background:linear-gradient(135deg,#1e1b4b 0%,#312e81 50%,#0f0a1a 100%);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:'Poppins',system-ui,sans-serif;font-weight:600;line-height:1.3;}
a{text-decoration:none;color:inherit;transition:var(--transition);}
button{font-family:inherit;cursor:pointer;border:none;transition:var(--transition);}
img{max-width:100%;height:auto;display:block;}

/* Container */
.container{max-width:1200px;margin:0 auto;padding:0 20px;}

/* Header & Navigation */
header{position:fixed;top:0;width:100%;z-index:1000;backdrop-filter:blur(10px);background:rgba(15,10,26,0.8);border-bottom:1px solid var(--card-border);}
nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 20px;max-width:1200px;margin:0 auto;}
.logo{font-size:1.5rem;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:10px;}
.logo-icon{width:40px;height:40px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.nav-links{display:flex;gap:2rem;align-items:center;list-style:none;}
.nav-links a{color:var(--text-secondary);transition:var(--transition);}
.nav-links a:hover{color:var(--primary);}
.age-badge{background:var(--accent);color:#fff;padding:4px 12px;border-radius:20px;font-size:0.85rem;font-weight:700;display:inline-flex;align-items:center;gap:4px;}
.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;}

/* Age Verification Modal */
.age-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.95);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;pointer-events:none;transition:var(--transition);}
.age-modal.active{opacity:1;pointer-events:all;}
.age-modal-content{background:var(--card-bg);border:2px solid var(--primary);border-radius:var(--border-radius);padding:3rem;text-align:center;max-width:500px;backdrop-filter:blur(10px);}
.age-modal-icon{font-size:4rem;margin-bottom:1rem;}
.age-modal h2{color:var(--primary);margin-bottom:1rem;font-size:2rem;}
.age-modal p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem;}
.age-modal-buttons{display:flex;gap:1rem;justify-content:center;}
.btn-accept{background:var(--primary);color:#fff;padding:1rem 2rem;border-radius:var(--border-radius);font-weight:600;border:2px solid var(--primary);}
.btn-accept:hover{background:transparent;color:var(--primary);transform:scale(1.05);}
.btn-exit{background:transparent;color:var(--text-secondary);padding:1rem 2rem;border-radius:var(--border-radius);border:2px solid var(--text-secondary);}
.btn-exit:hover{border-color:var(--accent);color:var(--accent);}

/* Hero Section */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;background-image:url('https://images.unsplash.com/photo-1596838132731-3301c3fd4317?w=1600'),linear-gradient(135deg,rgba(30,27,75,0.95),rgba(49,46,129,0.95));background-size:cover;background-position:center;background-blend-mode:overlay;padding:120px 20px 60px;}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(30,27,75,0.8),rgba(49,46,129,0.7));z-index:1;}
.hero-content{position:relative;z-index:2;max-width:800px;}
.hero-badge{position:absolute;top:140px;right:20px;background:var(--accent);padding:10px 20px;border-radius:50px;font-size:1.5rem;font-weight:700;box-shadow:0 0 30px var(--accent-glow);}
.hero h1{font-size:4rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 40px var(--primary-glow);}
.hero p{font-size:1.3rem;color:var(--text-secondary);margin-bottom:2rem;}
.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem;}
.btn-primary{background:var(--primary);color:#fff;padding:1rem 2.5rem;border-radius:var(--border-radius);font-weight:600;font-size:1.1rem;border:2px solid var(--primary);box-shadow:0 0 20px var(--primary-glow);}
.btn-primary:hover{background:transparent;transform:scale(1.02);}
.btn-secondary{background:transparent;color:var(--primary);padding:1rem 2.5rem;border-radius:var(--border-radius);border:2px solid var(--primary);font-weight:600;font-size:1.1rem;}
.btn-secondary:hover{background:var(--primary);color:#fff;box-shadow:0 0 20px var(--primary-glow);}
.hero-disclaimer{color:var(--text-secondary);font-size:0.9rem;margin-top:1rem;}

/* Section Styles */
section{padding:60px 20px;}
.section-header{text-align:center;margin-bottom:3rem;position:relative;}
.section-header h2{font-size:2.5rem;margin-bottom:0.5rem;color:var(--primary);}
.section-header .age-badge{margin-left:10px;}
.section-header p{color:var(--text-secondary);font-size:1.1rem;}

/* Games Grid */
.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;}
.game-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius);overflow:hidden;transition:var(--transition);cursor:pointer;backdrop-filter:blur(10px);}
.game-card:hover{transform:scale(1.02);border-color:var(--primary);box-shadow:0 0 30px var(--primary-glow);}
.game-image-container{width:100%;height:200px;overflow:hidden;background:linear-gradient(135deg,var(--bg-mid),var(--bg-light));position:relative;}
.game-image{width:100%;height:100%;object-fit:cover;}
.game-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:1.2rem;font-weight:600;text-align:center;padding:20px;}
.game-info{display:flex;justify-content:space-between;align-items:center;padding:1rem 1rem 0.5rem;}
.game-category{color:var(--accent);font-size:0.85rem;font-weight:600;text-transform:uppercase;}
.game-title{padding:0 1rem;font-size:1.2rem;margin-bottom:1rem;}
.play-demo-btn{width:calc(100% - 2rem);margin:0 1rem 1rem;background:transparent;color:var(--primary);border:2px solid var(--primary);padding:0.8rem;border-radius:var(--border-radius);font-weight:600;}
.play-demo-btn:hover{background:var(--primary);color:#fff;box-shadow:0 0 20px var(--primary-glow);}

/* Game Modal */
.game-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.95);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:var(--transition);padding:20px;}
.game-modal.active{opacity:1;pointer-events:all;}
.modal-content{background:var(--bg-dark);border:2px solid var(--primary);border-radius:var(--border-radius);width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--card-border);gap:1rem;}
.modal-header h2{font-size:1.5rem;color:var(--primary);}
.close-btn{background:var(--accent);color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.close-btn:hover{background:var(--primary);}
#game-iframe{width:100%;height:600px;border:none;background:#000;}
.demo-unavailable{display:none;padding:3rem;text-align:center;color:var(--text-secondary);font-size:1.2rem;}

/* Features Grid */
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;}
.feature-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius);padding:2rem;text-align:center;transition:var(--transition);backdrop-filter:blur(10px);}
.feature-card:hover{border-color:var(--primary);transform:translateY(-5px);}
.feature-icon{font-size:3rem;margin-bottom:1rem;}
.feature-card h3{color:var(--primary);margin-bottom:0.5rem;}

/* Steps Grid */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;}
.step-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius);padding:2rem;text-align:center;transition:var(--transition);backdrop-filter:blur(10px);}
.step-number{width:60px;height:60px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;margin:0 auto 1rem;box-shadow:0 0 20px var(--primary-glow);}
.step-card h3{color:var(--primary);margin-bottom:0.5rem;}

/* FAQ Section */
.faq-container{max-width:800px;margin:0 auto;}
.faq-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius);margin-bottom:1rem;overflow:hidden;backdrop-filter:blur(10px);}
.faq-question{padding:1.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--primary);}
.faq-question:hover{background:rgba(168,85,247,0.1);}
.faq-answer{padding:0 1.5rem;max-height:0;overflow:hidden;transition:var(--transition);color:var(--text-secondary);}
.faq-item.active .faq-answer{padding:0 1.5rem 1.5rem;max-height:500px;}
.faq-toggle{font-size:1.5rem;transition:var(--transition);}
.faq-item.active .faq-toggle{transform:rotate(45deg);}

/* Responsible Gaming Section */
.responsible-gaming{background:var(--card-bg);border:2px solid var(--accent);border-radius:var(--border-radius);padding:3rem;text-align:center;margin:60px auto;max-width:900px;backdrop-filter:blur(10px);}
.responsible-gaming-icon{font-size:4rem;margin-bottom:1rem;}
.responsible-gaming h2{color:var(--accent);margin-bottom:1rem;}
.responsible-gaming p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.1rem;}
.responsible-gaming-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.responsible-gaming-links a{color:var(--primary);text-decoration:underline;}

/* Footer */
footer{background:var(--bg-dark);border-top:2px solid var(--card-border);padding:3rem 20px 2rem;}
.footer-content{max-width:1200px;margin:0 auto;text-align:center;}
.footer-logo{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:1rem;}
.footer-badge{font-size:2.5rem;margin:1.5rem 0;display:inline-block;}
.footer-disclaimer{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius);padding:2rem;margin:2rem auto;max-width:800px;color:var(--text-secondary);}
.footer-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin:2rem 0;list-style:none;}
.footer-links a{color:var(--text-secondary);}
.footer-links a:hover{color:var(--primary);}
.footer-copyright{color:var(--text-secondary);font-size:0.9rem;margin-top:2rem;}

/* Games Page */
.page-hero{padding:120px 20px 40px;text-align:center;background:linear-gradient(135deg,rgba(30,27,75,0.5),rgba(49,46,129,0.5));}
.page-hero h1{font-size:3rem;color:var(--primary);margin-bottom:1rem;}
.age-reminder{background:var(--accent);color:#fff;padding:1rem;text-align:center;font-weight:600;margin-top:80px;}
.filter-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem;}
.filter-btn{background:transparent;color:var(--primary);border:2px solid var(--primary);padding:0.8rem 1.5rem;border-radius:var(--border-radius);font-weight:600;}
.filter-btn:hover,.filter-btn.active{background:var(--primary);color:#fff;}

/* Legal Pages */
.legal-page{padding:120px 20px 60px;max-width:900px;margin:0 auto;}
.legal-page h1{color:var(--primary);margin-bottom:2rem;font-size:2.5rem;}
.legal-page h2{color:var(--secondary);margin:2rem 0 1rem;font-size:1.8rem;}
.legal-page p,.legal-page ul{color:var(--text-secondary);margin-bottom:1rem;line-height:1.8;}
.legal-page ul{padding-left:2rem;}
.age-requirement-box{background:var(--card-bg);border:2px solid var(--accent);border-radius:var(--border-radius);padding:2rem;margin:2rem 0;text-align:center;}
.age-requirement-box h2{color:var(--accent);margin-bottom:1rem;}

/* Responsive */
@media(max-width:768px){
.hero h1{font-size:2.5rem;}
.hero-badge{top:100px;right:10px;padding:8px 16px;font-size:1.2rem;}
.nav-links{position:fixed;top:70px;left:-100%;width:80%;height:calc(100vh - 70px);background:var(--bg-dark);flex-direction:column;padding:2rem;align-items:flex-start;transition:var(--transition);border-right:2px solid var(--card-border);}
.nav-links.active{left:0;}
.mobile-menu-btn{display:block;}
.games-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
#game-iframe{height:400px;}
.hero-buttons{flex-direction:column;}
.btn-primary,.btn-secondary{width:100%;max-width:300px;}
.section-header h2{font-size:2rem;}
}
@media(max-width:480px){
.hero h1{font-size:2rem;}
.games-grid{grid-template-columns:1fr;}
.features-grid,.steps-grid{grid-template-columns:1fr;}
}