/* Reset & Base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --primary:#8b5cf6;
  --primary-glow:rgba(139,92,246,0.5);
  --secondary:#7c3aed;
  --accent:#c4b5fd;
  --accent-glow:rgba(196,181,253,0.3);
  --bg-start:#0d0221;
  --bg-mid:#1e0a3a;
  --bg-end:#080114;
  --card-bg:rgba(30,10,58,0.7);
  --card-border:rgba(139,92,246,0.25);
  --text-primary:#ffffff;
  --text-secondary:#c4b5fd;
  --font-heading:'Montserrat',system-ui,sans-serif;
  --font-body:'Open Sans',system-ui,sans-serif;
  --font-mono:'Source Code Pro',monospace;
  --transition:0.4s ease-out;
  --hover-scale:1.03;
  --radius:6px;
}
body{font-family:var(--font-body);background:linear-gradient(135deg,var(--bg-start) 0%,var(--bg-mid) 50%,var(--bg-end) 100%);background-attachment:fixed;color:var(--text-primary);line-height:1.6;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;}

/* Header & Navigation */
.header{position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);background:rgba(13,2,33,0.85);border-bottom:1px solid var(--card-border);}
.nav-container{max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;}
.logo{font-size:1.5rem;font-weight:800;font-family:var(--font-heading);color:var(--primary);display:flex;align-items:center;gap:0.5rem;}
.logo-icon{width:32px;height:32px;background:var(--primary);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.nav-links{display:flex;gap:2rem;align-items:center;}
.nav-links a{transition:var(--transition);font-weight:500;}
.nav-links a:hover{color:var(--primary);text-shadow:0 0 10px var(--primary-glow);}
.age-badge{background:var(--primary);color:white;padding:0.3rem 0.7rem;border-radius:var(--radius);font-weight:700;font-size:0.9rem;border:2px solid var(--accent);}
.age-badge-lg{font-size:1.2rem;padding:0.5rem 1rem;}
.mobile-toggle{display:none;background:var(--primary);padding:0.5rem;border-radius:var(--radius);font-size:1.5rem;}
@media(max-width:768px){
  .nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(13,2,33,0.98);padding:2rem;gap:1rem;}
  .nav-links.active{display:flex;}
  .mobile-toggle{display:block;}
}

/* Age Verification Modal */
.age-modal{position:fixed;inset:0;background:rgba(0,0,0,0.95);display:flex;align-items:center;justify-content:center;z-index:1000;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(--card-border);border-left:4px solid var(--primary);padding:3rem;max-width:500px;text-align:center;border-radius:var(--radius);box-shadow:0 0 40px var(--primary-glow);}
.age-modal-icon{font-size:4rem;color:var(--primary);margin-bottom:1rem;}
.age-modal h2{font-family:var(--font-heading);font-size:2rem;margin-bottom:1rem;color:var(--primary);}
.age-modal p{margin-bottom:2rem;color:var(--text-secondary);}
.age-modal-buttons{display:flex;gap:1rem;justify-content:center;}
.btn{padding:0.8rem 2rem;font-weight:700;border-radius:var(--radius);transition:var(--transition);font-size:1rem;border:2px solid transparent;}
.btn-primary{background:var(--primary);color:white;border-color:var(--accent);}
.btn-primary:hover{transform:scale(var(--hover-scale));box-shadow:0 0 20px var(--primary-glow);}
.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--card-border);}
.btn-secondary:hover{background:var(--card-bg);border-color:var(--primary);}

/* Hero Section */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;background-size:cover;background-position:center;background-image:url('images/ban.jpg');overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,2,33,0.92),rgba(30,10,58,0.88));}
.hero-container{max-width:1200px;margin:0 auto;padding:4rem 1.5rem;position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.hero-content h1{font-family:var(--font-heading);font-size:4rem;font-weight:800;margin-bottom:1.5rem;line-height:1.1;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-content p{font-size:1.25rem;margin-bottom:2rem;color:var(--text-secondary);}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.hero-disclaimer{font-size:0.9rem;color:var(--accent);display:flex;align-items:center;gap:0.5rem;}
.hero-image{position:relative;}
.hero-badge{position:absolute;top:2rem;right:2rem;background:var(--primary);padding:1rem 1.5rem;border-radius:var(--radius);font-weight:800;font-size:1.5rem;border:3px solid var(--accent);box-shadow:0 0 30px var(--primary-glow);}
@media(max-width:1024px){
  .hero-container{grid-template-columns:1fr;}
  .hero-content h1{font-size:3rem;}
}

/* Container */
.container{max-width:1200px;margin:0 auto;padding:5rem 1.5rem;}
.section-header{text-align:center;margin-bottom:3rem;}
.section-header h2{font-family:var(--font-heading);font-size:2.5rem;font-weight:800;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:1rem;}
.section-header p{color:var(--text-secondary);font-size:1.1rem;}

/* Game Cards */
.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-left:3px solid var(--primary);border-radius:var(--radius);overflow:hidden;transition:var(--transition);cursor:pointer;position:relative;}
.game-card:hover{transform:translateY(-8px) scale(var(--hover-scale));box-shadow:0 10px 30px var(--primary-glow);border-left-color:var(--accent);}
.game-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent,var(--primary-glow));opacity:0;transition:var(--transition);pointer-events:none;}
.game-card:hover::before{opacity:0.3;}
.game-image-container{height:200px;overflow:hidden;background:linear-gradient(135deg,var(--bg-mid),var(--bg-start));position:relative;}
.game-image{width:100%;height:100%;object-fit:cover;}
.game-image-fallback{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;font-weight:700;color:var(--primary);font-family:var(--font-heading);}
.game-info{display:flex;justify-content:space-between;align-items:center;padding:1rem;padding-bottom:0.5rem;}
.game-category{font-size:0.85rem;color:var(--accent);text-transform:uppercase;font-weight:600;}
.game-title{padding:0 1rem 1rem;font-family:var(--font-heading);font-size:1.3rem;font-weight:700;}
.play-demo-btn{width:calc(100% - 2rem);margin:0 1rem 1rem;padding:0.8rem;background:var(--primary);color:white;font-weight:700;border-radius:var(--radius);border:2px solid var(--accent);transition:var(--transition);}
.play-demo-btn:hover{background:var(--secondary);box-shadow:0 0 15px var(--primary-glow);}

/* Category Filter */
.category-filter{display:flex;gap:1rem;justify-content:center;margin-bottom:3rem;flex-wrap:wrap;}
.filter-btn{padding:0.7rem 1.5rem;background:var(--card-bg);border:2px solid var(--card-border);border-radius:var(--radius);color:var(--text-primary);font-weight:600;transition:var(--transition);}
.filter-btn:hover,.filter-btn.active{background:var(--primary);border-color:var(--accent);box-shadow:0 0 15px var(--primary-glow);}

/* Game Modal */
.game-modal{position:fixed;inset:0;background:rgba(0,0,0,0.95);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:var(--transition);padding:1rem;}
.game-modal.active{opacity:1;pointer-events:all;}
.modal-content{background:var(--bg-start);border:2px solid var(--card-border);border-radius:var(--radius);width:100%;max-width:1200px;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-family:var(--font-heading);font-size:1.5rem;flex:1;}
.close-btn{font-size:2rem;background:var(--card-bg);border:2px solid var(--card-border);width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;transition:var(--transition);}
.close-btn:hover{background:var(--primary);border-color:var(--accent);}
#game-iframe{flex:1;width:100%;border:none;}
.demo-unavailable{display:none;flex:1;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-secondary);}

/* 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-left:3px solid var(--primary);padding:2rem;border-radius:var(--radius);transition:var(--transition);}
.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px var(--primary-glow);}
.feature-icon{font-size:3rem;margin-bottom:1rem;color:var(--primary);}
.feature-card h3{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:0.5rem;font-weight:700;}
.feature-card p{color:var(--text-secondary);}

/* Steps Grid */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;}
.step-card{text-align:center;padding:2rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);transition:var(--transition);}
.step-card:hover{transform:scale(var(--hover-scale));box-shadow:0 5px 20px var(--primary-glow);}
.step-number{width:60px;height:60px;margin:0 auto 1rem;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;border:3px solid var(--accent);}
.step-card h3{font-family:var(--font-heading);font-size:1.3rem;margin-bottom:0.5rem;}
.step-card p{color:var(--text-secondary);font-size:0.95rem;}

/* Responsible Gaming */
.responsible-gaming{background:var(--card-bg);border:2px solid var(--primary);border-radius:var(--radius);padding:3rem;text-align:center;margin:3rem 0;}
.responsible-icon{font-size:4rem;color:var(--primary);margin-bottom:1rem;}
.responsible-gaming h2{font-family:var(--font-heading);font-size:2rem;margin-bottom:1rem;}
.responsible-gaming p{color:var(--text-secondary);margin-bottom:1.5rem;max-width:700px;margin-left:auto;margin-right:auto;}
.responsible-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* FAQ */
.faq-container{max-width:800px;margin:0 auto;}
.faq-item{background:var(--card-bg);border:1px solid var(--card-border);border-left:3px solid var(--primary);padding:1.5rem;margin-bottom:1rem;border-radius:var(--radius);}
.faq-question{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem;}
.faq-answer{color:var(--text-secondary);}

/* Footer */
.footer{background:rgba(13,2,33,0.95);border-top:2px solid var(--card-border);padding:3rem 1.5rem 2rem;}
.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:2rem;}
.footer-section h3{font-family:var(--font-heading);font-size:1.3rem;margin-bottom:1rem;color:var(--primary);}
.footer-links{display:flex;flex-direction:column;gap:0.5rem;}
.footer-links a{color:var(--text-secondary);transition:var(--transition);}
.footer-links a:hover{color:var(--primary);padding-left:5px;}
.footer-disclaimer{background:var(--card-bg);border:2px solid var(--primary);padding:2rem;border-radius:var(--radius);margin-bottom:2rem;text-align:center;}
.footer-disclaimer p{color:var(--text-secondary);margin-bottom:1rem;}
.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid var(--card-border);color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}

/* Legal Pages */
.legal-page{min-height:100vh;padding:2rem 1.5rem;}
.legal-container{max-width:900px;margin:0 auto;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:3rem;}
.legal-container h1{font-family:var(--font-heading);font-size:2.5rem;margin-bottom:2rem;color:var(--primary);}
.legal-container h2{font-family:var(--font-heading);font-size:1.8rem;margin:2rem 0 1rem;color:var(--accent);}
.legal-container p{margin-bottom:1rem;color:var(--text-secondary);line-height:1.8;}
.legal-container ul{margin:1rem 0 1rem 2rem;color:var(--text-secondary);}
.legal-container li{margin-bottom:0.5rem;}

/* Banner */
.age-banner{background:var(--primary);color:white;text-align:center;padding:1rem;font-weight:700;border-bottom:2px solid var(--accent);}

/* Animations */
@keyframes shimmer{0%{background-position:-1000px 0;}100%{background-position:1000px 0;}}
.shimmer{animation:shimmer 3s infinite linear;background:linear-gradient(90deg,transparent,var(--primary-glow),transparent);background-size:1000px 100%;}