/* CSS Reset & Base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Open Sans',system-ui,sans-serif;font-weight:400;line-height:1.6;color:#f0fdfa;background:linear-gradient(135deg,#042f2e 0%,#134e4a 50%,#021716 100%);background-attachment:fixed;min-height:100vh;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}
button{cursor:pointer;border:none;font-family:inherit;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}
input{font-family:inherit;}

/* CSS Variables */
:root{
--primary:#06b6d4;
--primary-glow:rgba(6,182,212,0.5);
--secondary:#0891b2;
--accent:#67e8f9;
--accent-glow:rgba(103,232,249,0.3);
--card-bg:rgba(19,78,74,0.6);
--card-border:rgba(6,182,212,0.25);
--bg-dark:#042f2e;
--text-light:#f0fdfa;
--text-gray:#ccfbf1;
--border-radius:6px;
--transition:0.3s cubic-bezier(0.4,0,0.2,1);
--spacing:80px;
--container:1200px;
}

/* Typography */
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',system-ui,sans-serif;font-weight:800;line-height:1.2;margin-bottom:1rem;}
h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-0.02em;}
h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-0.01em;}
h3{font-size:clamp(1.5rem,3vw,2rem);}
code,pre{font-family:'Source Code Pro',monospace;}

/* Container */
.container{max-width:var(--container);margin:0 auto;padding:0 1.5rem;}

/* Header & Navigation */
.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(4,47,46,0.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--card-border);transition:all var(--transition);}
.nav-container{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;max-width:var(--container);margin:0 auto;}
.logo{font-size:1.5rem;font-weight:800;font-family:'Montserrat',sans-serif;color:var(--primary);display:flex;align-items:center;gap:0.5rem;}
.logo-icon{width:40px;height:40px;background:var(--primary);border-radius:4px;display:flex;align-items:center;justify-content:center;color:#042f2e;font-weight:800;font-size:1.25rem;}
.nav-menu{display:flex;align-items:center;gap:2rem;}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{color:var(--text-gray);font-weight:600;position:relative;}
.nav-links a:hover{color:var(--accent);}
.age-badge{background:var(--primary);color:#042f2e;padding:0.5rem 1rem;border-radius:4px;font-weight:800;font-size:0.9rem;border:2px solid var(--accent);}
.mobile-toggle{display:none;background:none;color:var(--primary);font-size:1.5rem;padding:0.5rem;}

/* Hero Section */
.hero{min-height:100vh;display:flex;align-items:center;padding-top:80px;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:url('/ban1.jpeg') center/cover;opacity:0.15;z-index:0;}
.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.hero-text h1{color:var(--accent);margin-bottom:1.5rem;text-shadow:0 0 30px var(--accent-glow);}
.hero-text p{font-size:1.25rem;color:var(--text-gray);margin-bottom:2rem;line-height:1.8;}
.hero-cta{display:inline-flex;align-items:center;gap:1rem;background:var(--primary);color:#042f2e;padding:1rem 2.5rem;font-weight:800;font-size:1.1rem;border:3px solid var(--accent);transition:all var(--transition);position:relative;overflow:hidden;}
.hero-cta::before{content:'';position:absolute;inset:0;background:var(--accent);transform:translateX(-100%);transition:transform var(--transition);z-index:-1;}
.hero-cta:hover{transform:scale(1.02);box-shadow:0 0 30px var(--primary-glow);}
.hero-cta:hover::before{transform:translateX(0);}
.hero-image{position:relative;}
.hero-image img{border-radius:var(--border-radius);border:2px solid var(--card-border);box-shadow:0 0 50px var(--primary-glow);}

/* Download Section */
.download-section{padding:var(--spacing) 0;background:rgba(8,145,178,0.05);}
.section-header{text-align:center;margin-bottom:3rem;}
.section-header h2{color:var(--primary);margin-bottom:1rem;}
.section-header p{color:var(--text-gray);font-size:1.1rem;}
.download-form{max-width:600px;margin:0 auto;background:var(--card-bg);padding:3rem;border-radius:var(--border-radius);border:2px solid var(--card-border);border-left:4px solid var(--primary);}
.form-group{margin-bottom:1.5rem;}
.form-group label{display:block;margin-bottom:0.5rem;color:var(--accent);font-weight:600;}
.form-group input{width:100%;padding:1rem;background:rgba(4,47,46,0.8);border:2px solid var(--card-border);border-radius:4px;color:var(--text-light);font-size:1rem;}
.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 20px var(--primary-glow);}
.submit-btn{width:100%;background:var(--primary);color:#042f2e;padding:1rem 2rem;font-weight:800;font-size:1.1rem;border:2px solid var(--accent);transition:all var(--transition);}
.submit-btn:hover{transform:scale(1.02);box-shadow:0 0 30px var(--primary-glow);}
.success-message{display:none;text-align:center;padding:2rem;background:rgba(103,232,249,0.1);border:2px solid var(--accent);border-radius:var(--border-radius);}
.success-message.show{display:block;}
.success-message h3{color:var(--accent);margin-bottom:1rem;}

/* Features Section */
.features-section{padding:var(--spacing) 0;}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem;}
.feature-card{background:var(--card-bg);padding:2rem;border-radius:var(--border-radius);border:1px solid var(--card-border);border-left:4px solid var(--primary);transition:all var(--transition);backdrop-filter:blur(10px);}
.feature-card:hover{transform:scale(1.02);box-shadow:0 0 30px var(--primary-glow);}
.feature-icon{width:60px;height:60px;background:var(--primary);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:1.5rem;color:#042f2e;}
.feature-card h3{color:var(--accent);margin-bottom:1rem;}
.feature-card p{color:var(--text-gray);}

/* About Section */
.about-section{padding:var(--spacing) 0;background:rgba(8,145,178,0.05);}
.about-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.about-text h2{color:var(--primary);margin-bottom:1.5rem;}
.about-text p{color:var(--text-gray);margin-bottom:1rem;font-size:1.05rem;}
.trust-badges{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap;}
.badge{background:var(--card-bg);padding:0.75rem 1.5rem;border-radius:4px;border:1px solid var(--card-border);color:var(--accent);font-weight:600;}

/* FAQ Section */
.faq-section{padding:var(--spacing) 0;}
.faq-container{max-width:900px;margin:0 auto;}
.faq-item{background:var(--card-bg);margin-bottom:1rem;border-radius:var(--border-radius);border:1px solid var(--card-border);overflow:hidden;}
.faq-question{width:100%;text-align:left;padding:1.5rem;background:none;color:var(--text-light);font-weight:600;font-size:1.1rem;display:flex;justify-content:space-between;align-items:center;}
.faq-question:hover{color:var(--accent);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition);padding:0 1.5rem;}
.faq-answer.active{max-height:500px;padding:0 1.5rem 1.5rem;}
.faq-answer p{color:var(--text-gray);}
.faq-icon{transition:transform var(--transition);}
.faq-question.active .faq-icon{transform:rotate(180deg);}

/* Footer */
.footer{background:rgba(4,47,46,0.95);padding:3rem 0 1.5rem;border-top:2px solid var(--card-border);margin-top:var(--spacing);}
.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:2rem;}
.footer-brand .logo{margin-bottom:1rem;font-size:1.75rem;}
.footer-brand p{color:var(--text-gray);margin-bottom:1rem;}
.footer-section h4{color:var(--primary);margin-bottom:1rem;}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:0.5rem;}
.footer-links a{color:var(--text-gray);}
.footer-links a:hover{color:var(--accent);}
.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid var(--card-border);color:var(--text-gray);}
.footer-age-badge{display:inline-flex;align-items:center;gap:1rem;background:var(--primary);color:#042f2e;padding:1rem 2rem;border-radius:4px;font-weight:800;font-size:1.2rem;margin-bottom:1rem;border:3px solid var(--accent);}
.disclaimer-section{background:rgba(239,68,68,0.1);border:2px solid rgba(239,68,68,0.3);border-radius:var(--border-radius);padding:2rem;margin:3rem 0;text-align:center;}
.disclaimer-section h3{color:#fca5a5;margin-bottom:1rem;}
.disclaimer-section p{color:var(--text-gray);}

/* Age Modal */
.age-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.95);z-index:10000;justify-content:center;align-items:center;}
.age-modal.show{display:flex;}
.age-modal-content{background:var(--bg-dark);padding:3rem;border-radius:var(--border-radius);border:3px solid var(--primary);max-width:500px;text-align:center;box-shadow:0 0 60px var(--primary-glow);}
.age-modal h2{color:var(--accent);margin-bottom:1.5rem;}
.age-modal p{color:var(--text-gray);margin-bottom:2rem;font-size:1.1rem;}
.age-modal-buttons{display:flex;gap:1rem;justify-content:center;}
.age-modal button{padding:1rem 2rem;font-weight:800;font-size:1.1rem;border-radius:4px;}
.btn-confirm{background:var(--primary);color:#042f2e;border:2px solid var(--accent);}
.btn-decline{background:transparent;color:var(--text-gray);border:2px solid var(--card-border);}
.btn-confirm:hover{box-shadow:0 0 30px var(--primary-glow);}

/* Point System Page */
.page-header{padding:120px 0 60px;text-align:center;}
.page-header h1{color:var(--accent);margin-bottom:1rem;}
.scoring-table{width:100%;background:var(--card-bg);border-radius:var(--border-radius);border:2px solid var(--card-border);overflow:hidden;margin:2rem 0;}
.scoring-table th,.scoring-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--card-border);}
.scoring-table th{background:rgba(6,182,212,0.2);color:var(--accent);font-weight:800;}
.scoring-table tr:last-child td{border-bottom:none;}
.scoring-table tr:hover{background:rgba(103,232,249,0.05);}
.tips-section{margin:3rem 0;background:var(--card-bg);padding:2rem;border-radius:var(--border-radius);border-left:4px solid var(--primary);}
.tips-section h3{color:var(--primary);margin-bottom:1rem;}
.tips-section ul{list-style:none;padding-left:1rem;}
.tips-section li{color:var(--text-gray);margin-bottom:0.75rem;position:relative;padding-left:1.5rem;}
.tips-section li::before{content:'⚾';position:absolute;left:0;color:var(--accent);}

/* Privacy/Terms Pages */
.content-page{padding:120px 0 60px;}
.content-page h1{color:var(--accent);margin-bottom:2rem;}
.content-page h2{color:var(--primary);margin-top:2rem;margin-bottom:1rem;}
.content-page p{color:var(--text-gray);margin-bottom:1rem;line-height:1.8;}
.content-page ul{color:var(--text-gray);margin-left:2rem;margin-bottom:1rem;}
.back-link{display:inline-flex;align-items:center;gap:0.5rem;color:var(--primary);font-weight:600;margin-bottom:2rem;}
.back-link:hover{color:var(--accent);}

/* Responsive */
@media (max-width:1024px){
:root{--spacing:60px;}
.hero-content,.about-content{grid-template-columns:1fr;}
.hero-image{order:-1;}
}

@media (max-width:768px){
.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(4,47,46,0.98);flex-direction:column;padding:2rem;border-top:1px solid var(--card-border);}
.nav-links.active{display:flex;}
.mobile-toggle{display:block;}
.nav-menu{gap:1rem;}
.age-badge{padding:0.4rem 0.8rem;font-size:0.8rem;}
h1{font-size:2.5rem;}
.features-grid{grid-template-columns:1fr;}
.footer-content{grid-template-columns:1fr;}
}

@media (max-width:640px){
:root{--spacing:40px;}
.container{padding:0 1rem;}
.hero-text p{font-size:1.1rem;}
.download-form{padding:2rem;}
}