*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--bg-dark:#0f1117;
--bg-card:rgba(255,255,255,0.04);
--bg-card-hover:rgba(255,255,255,0.08);
--glass:rgba(255,255,255,0.06);
--glass-border:rgba(255,255,255,0.1);
--blue:#3b82f6;
--cyan:#00d4ff;
--purple:#7c3aed;
--purple-soft:#a78bfa;
--silver:#c8cdd3;
--silver-light:#e2e8f0;
--text:#f1f5f9;
--text-muted:#94a3b8;
--text-dim:#64748b;
--gradient-hero:linear-gradient(135deg,#0f1117 0%,#1a1b2e 40%,#161a2b 100%);
--gradient-accent:linear-gradient(135deg,#00d4ff,#7c3aed);
--gradient-btn:linear-gradient(135deg,#3b82f6,#7c3aed);
--radius:12px;
--radius-lg:20px;
--radius-sm:8px;
--shadow:0 4px 24px rgba(0,0,0,0.3);
--shadow-glow:0 0 30px rgba(0,212,255,0.1);
--font-stack:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--transition:0.25s cubic-bezier(0.4,0,0.2,1);
--max-w:1200px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-stack);background:var(--bg-dark);color:var(--text);line-height:1.7;min-height:100vh;overflow-x:hidden;font-size:16px}
a{color:var(--cyan);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--purple-soft)}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:700;color:var(--text)}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}
h3{font-size:clamp(1.15rem,2.5vw,1.5rem)}
p{color:var(--silver)}
ul{list-style:none}

.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.75rem;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition);font-family:var(--font-stack);text-decoration:none}
.btn-primary{background:var(--gradient-btn);color:#fff;box-shadow:0 4px 15px rgba(59,130,246,0.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(59,130,246,0.4);color:#fff}
.btn-secondary{background:var(--glass);color:var(--silver-light);border:1px solid var(--glass-border)}
.btn-secondary:hover{background:var(--bg-card-hover);transform:translateY(-2px);color:#fff}
.btn-lg{padding:1rem 2.25rem;font-size:1.1rem;border-radius:var(--radius)}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(15,17,23,0.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border)}
.nav-container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:.6rem;font-size:1.25rem;font-weight:700;color:var(--text);text-decoration:none}
.logo:hover{color:var(--cyan)}
.nav-toggle{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:.25rem}
.nav-links{display:flex;gap:.25rem;align-items:center}
.nav-links a{padding:.5rem .85rem;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.9rem;font-weight:500;transition:all var(--transition)}
.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--glass)}

/* Hero */
.hero{position:relative;padding:6rem 0 5rem;background:var(--gradient-hero);overflow:hidden;text-align:center}
.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(0,212,255,0.08) 0%,transparent 70%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-40%;left:-15%;width:500px;height:500px;background:radial-gradient(circle,rgba(124,58,237,0.08) 0%,transparent 70%);pointer-events:none}
.hero-content{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:0 1.5rem}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:50px;background:var(--glass);border:1px solid var(--glass-border);color:var(--cyan);font-size:.85rem;font-weight:500;margin-bottom:1.5rem}
.hero-badge svg{width:16px;height:16px}
.hero h1{margin-bottom:1rem}
.hero h1 .gradient-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p{font-size:1.15rem;color:var(--silver);max-width:560px;margin:0 auto 2rem}
.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero-cards{display:flex;gap:1.5rem;justify-content:center;margin-top:3.5rem;flex-wrap:wrap}
.hero-stat{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.25rem 1.75rem;min-width:140px;backdrop-filter:blur(8px)}
.hero-stat .stat-num{font-size:1.75rem;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-stat .stat-label{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}

/* Section */
.section{padding:5rem 0}
.section-alt{background:rgba(255,255,255,0.015)}
.section-header{text-align:center;max-width:640px;margin:0 auto 3rem}
.section-header p{margin-top:.75rem;color:var(--text-muted)}
.section-label{display:inline-block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--cyan);margin-bottom:.5rem}

/* Cards */
.card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2rem;transition:all var(--transition);position:relative;overflow:hidden}
.card:hover{background:var(--bg-card-hover);transform:translateY(-4px);box-shadow:var(--shadow-glow)}
.card-icon{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--glass);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--cyan)}
.card h3{margin-bottom:.5rem}
.card p{font-size:.95rem;color:var(--text-muted)}

/* Grid layouts */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}

/* Game Cards */
.game-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition)}
.game-card:hover{background:var(--bg-card-hover);transform:translateY(-4px);box-shadow:var(--shadow-glow)}
.game-card-thumb{height:180px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.game-card-thumb svg{width:64px;height:64px;opacity:.7;transition:all var(--transition)}
.game-card:hover .game-card-thumb svg{opacity:1;transform:scale(1.1)}
.game-card-body{padding:1.5rem}
.game-card-body h3{margin-bottom:.4rem;font-size:1.15rem}
.game-card-body p{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem}
.game-card-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.game-tag{font-size:.75rem;padding:.2rem .6rem;border-radius:50px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-muted)}

.game-card:nth-child(1) .game-card-thumb{background:linear-gradient(135deg,rgba(59,130,246,0.15),rgba(0,212,255,0.1))}
.game-card:nth-child(2) .game-card-thumb{background:linear-gradient(135deg,rgba(124,58,237,0.15),rgba(167,139,250,0.1))}
.game-card:nth-child(3) .game-card-thumb{background:linear-gradient(135deg,rgba(0,212,255,0.15),rgba(59,130,246,0.1))}
.game-card:nth-child(4) .game-card-thumb{background:linear-gradient(135deg,rgba(236,72,153,0.15),rgba(124,58,237,0.1))}
.game-card:nth-child(5) .game-card-thumb{background:linear-gradient(135deg,rgba(34,197,94,0.15),rgba(0,212,255,0.1))}

/* Features Row */
.features-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;counter-reset:step}
.step{position:relative;padding:2rem;text-align:center}
.step::before{counter-increment:step;content:counter(step);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--gradient-btn);color:#fff;font-weight:700;font-size:1.1rem;margin:0 auto 1.25rem}
.step h3{margin-bottom:.5rem}
.step p{font-size:.9rem;color:var(--text-muted)}

/* Content sections */
.content-section{max-width:860px;margin:0 auto;padding:0 1.5rem}
.content-section h2{margin:2.5rem 0 1rem}
.content-section h3{margin:2rem 0 .75rem}
.content-section p{margin-bottom:1rem}
.content-section ul{margin:1rem 0 1rem 1.5rem;list-style:disc}
.content-section ul li{margin-bottom:.5rem;color:var(--silver)}
.content-section a{color:var(--cyan)}

/* FAQ */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}
.faq-item{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden}
.faq-question{width:100%;padding:1.25rem 1.5rem;background:none;border:none;color:var(--text);font-size:1rem;font-weight:600;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-stack);transition:background var(--transition)}
.faq-question:hover{background:var(--glass)}
.faq-question svg{width:20px;height:20px;color:var(--text-muted);transition:transform var(--transition);flex-shrink:0}
.faq-item.open .faq-question svg{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-answer{max-height:500px}
.faq-answer-inner{padding:0 1.5rem 1.25rem;color:var(--text-muted);font-size:.95rem;line-height:1.7}

/* Game Page */
.game-page{padding:2rem 0 4rem}
.game-page .container{max-width:960px}
.game-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}
.game-header h1{font-size:clamp(1.5rem,3vw,2rem)}
.game-modes{display:flex;gap:.5rem}
.game-modes button{padding:.5rem 1.25rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass);color:var(--text-muted);cursor:pointer;font-family:var(--font-stack);font-weight:500;font-size:.9rem;transition:all var(--transition)}
.game-modes button.active{background:var(--gradient-btn);color:#fff;border-color:transparent}
.game-area{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2rem;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:1.5rem}
.game-stats{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}
.game-stat{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);padding:.75rem 1.5rem;text-align:center}
.game-stat .label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}
.game-stat .value{font-size:1.5rem;font-weight:700;color:var(--cyan)}
.game-instructions{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.5rem}
.game-instructions h3{margin-bottom:.75rem;font-size:1.1rem}
.game-instructions p,.game-instructions li{font-size:.9rem;color:var(--text-muted)}
.game-instructions ul{margin:.75rem 0 0 1.25rem;list-style:disc}
.game-instructions li{margin-bottom:.4rem}

/* Game-specific */
.game-btn{min-width:160px;padding:1rem 2rem;font-size:1.1rem;border-radius:var(--radius);border:none;cursor:pointer;font-family:var(--font-stack);font-weight:700;transition:all var(--transition)}
.game-btn-start{background:var(--gradient-btn);color:#fff;box-shadow:0 4px 15px rgba(59,130,246,0.3)}
.game-btn-start:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(59,130,246,0.4)}

/* Memory grid */
.memory-board{display:grid;gap:.75rem;justify-content:center}
.memory-cell{width:80px;height:80px;border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.75rem;transition:all var(--transition);user-select:none}
.memory-cell.flipped,.memory-cell.matched{background:var(--bg-card-hover);border-color:var(--cyan)}
.memory-cell.matched{border-color:var(--purple);opacity:.7}

/* Click match */
.click-match-symbols{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:1.5rem 0}
.symbol-btn{width:72px;height:72px;border-radius:var(--radius);background:var(--glass);border:2px solid var(--glass-border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:all var(--transition)}
.symbol-btn:hover{border-color:var(--cyan);background:var(--bg-card-hover)}
.symbol-btn.selected{border-color:var(--cyan);background:rgba(0,212,255,0.15);box-shadow:0 0 15px rgba(0,212,255,0.2)}
.symbol-btn.correct{border-color:#22c55e;background:rgba(34,197,94,0.15)}
.symbol-btn.wrong{border-color:#ef4444;background:rgba(239,68,68,0.15)}

/* Color spin */
.spin-wheel-container{position:relative;width:280px;height:280px;margin:1.5rem auto}
.spin-wheel{width:100%;height:100%;border-radius:50%;border:3px solid var(--glass-border);transition:transform 4s cubic-bezier(0.17,0.67,0.12,0.99)}
.spin-pointer{position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:20px solid var(--cyan);z-index:2}
.spin-result{text-align:center;margin-top:1rem;font-size:1.25rem;font-weight:700;min-height:2rem}

/* Reaction tap */
.tap-zone{width:200px;height:200px;border-radius:50%;background:var(--glass);border:2px solid var(--glass-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;user-select:none;margin:1.5rem auto}
.tap-zone.waiting{background:rgba(239,68,68,0.15);border-color:#ef4444}
.tap-zone.ready{background:rgba(34,197,94,0.2);border-color:#22c55e;animation:pulse-ready .6s ease infinite}
.tap-zone.tapped{background:rgba(0,212,255,0.15);border-color:var(--cyan)}
@keyframes pulse-ready{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,0.3)}50%{box-shadow:0 0 0 15px rgba(34,197,94,0)}}

/* Daily challenge */
.challenge-symbols{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin:1rem 0}
.challenge-target{font-size:3rem;margin:1rem 0;text-align:center}

/* Contact form */
.contact-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.35rem}
.form-group label{font-size:.9rem;font-weight:500;color:var(--silver)}
.form-group input,.form-group textarea,.form-group select{padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--bg-card);color:var(--text);font-family:var(--font-stack);font-size:1rem;transition:border-color var(--transition)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--cyan)}
.form-group textarea{resize:vertical;min-height:120px}

/* Disclaimer bar */
.disclaimer-bar{background:rgba(0,212,255,0.05);border-top:1px solid var(--glass-border);padding:.75rem;text-align:center;font-size:.8rem;color:var(--text-dim)}

/* Age Gate */
.age-gate-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:1;transition:opacity .3s ease}
.age-gate-overlay.hidden{opacity:0;pointer-events:none}
.age-gate-card{background:var(--bg-dark);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2.5rem;max-width:440px;width:100%;text-align:center}
.age-gate-icon{margin-bottom:1.25rem}
.age-gate-card h2{margin-bottom:.75rem;font-size:1.5rem}
.age-gate-card p{font-size:.95rem;color:var(--text-muted);margin-bottom:.75rem}
.age-gate-confirm-text{font-weight:600;color:var(--silver-light)}
.age-gate-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}
.age-gate-buttons .btn{min-width:120px}

/* Page hero */
.page-hero{padding:3.5rem 0 2.5rem;text-align:center;background:var(--gradient-hero);position:relative}
.page-hero h1{margin-bottom:.5rem}
.page-hero p{color:var(--text-muted);max-width:560px;margin:0 auto}

/* Responsive */
@media(max-width:1024px){
.grid-4{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
.nav-toggle{display:flex}
.nav-links{position:fixed;top:64px;left:0;right:0;background:rgba(15,17,23,0.97);backdrop-filter:blur(16px);flex-direction:column;padding:1rem;gap:0;transform:translateY(-100%);opacity:0;pointer-events:none;transition:all .3s ease;border-bottom:1px solid var(--glass-border)}
.nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto}
.nav-links a{padding:.75rem 1rem;width:100%}
.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
.hero{padding:4rem 0 3rem}
.hero-cards{flex-direction:column;align-items:center}
.game-header{flex-direction:column;text-align:center}
.game-modes{justify-content:center}
.game-stats{flex-direction:column;align-items:center}
.footer-grid{grid-template-columns:1fr}
.memory-cell{width:64px;height:64px;font-size:1.4rem}
.symbol-btn{width:60px;height:60px;font-size:1.6rem}
}
@media(max-width:480px){
.hero h1{font-size:1.8rem}
.section{padding:3rem 0}
.memory-cell{width:56px;height:56px;font-size:1.2rem}
}

/* Footer */
.footer-container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.site-footer{background:rgba(0,0,0,0.3);border-top:1px solid var(--glass-border);padding:3rem 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2rem}
.footer-col h3{font-size:1.1rem;margin-bottom:.75rem}
.footer-col h4{font-size:.95rem;margin-bottom:.75rem;color:var(--silver-light)}
.footer-col p{font-size:.9rem;color:var(--text-muted);line-height:1.6}
.footer-col ul{display:flex;flex-direction:column;gap:.4rem}
.footer-col a{color:var(--text-muted);font-size:.9rem;transition:color var(--transition)}
.footer-col a:hover{color:var(--cyan)}
.footer-disclaimer{border-top:1px solid var(--glass-border);padding:1rem 0;text-align:center}
.footer-disclaimer p{font-size:.8rem;color:var(--text-dim);font-weight:500}
.footer-bottom{border-top:1px solid var(--glass-border);padding:1.25rem 0;text-align:center}
.footer-bottom p{font-size:.85rem;color:var(--text-dim)}
@media(max-width:768px){
.footer-grid{grid-template-columns:1fr}
}

/* Utility */
.text-center{text-align:center}
.mt-2{margin-top:2rem}
.mb-2{margin-bottom:2rem}
.gradient-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Game result toast */
.game-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);background:var(--bg-dark);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1rem 1.5rem;color:var(--text);font-weight:600;z-index:200;transition:transform .3s ease;box-shadow:var(--shadow)}
.game-toast.show{transform:translateX(-50%) translateY(0)}
