*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--bg-dark:#0a0e27;--bg-card:#111638;--bg-card-hover:#161b45;
--blue:#60a5fa;--blue-glow:rgba(96,165,250,.25);
--green:#34d399;--green-glow:rgba(52,211,153,.2);
--violet:#a78bfa;--violet-glow:rgba(167,139,250,.2);
--text:#e2e8f0;--text-muted:#94a3b8;--text-heading:#f1f5f9;
--border:rgba(255,255,255,.06);
--radius:12px;--radius-lg:16px;
--font-stack:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;
--max-w:1200px;
--header-h:64px;
}
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.6;min-height:100vh;overflow-x:hidden}
a{color:var(--blue);text-decoration:none;transition:color .2s}
a:hover{color:var(--violet)}
img,svg{display:block;max-width:100%}
ul{list-style:none}
h1,h2,h3,h4{color:var(--text-heading);line-height:1.3}
h1{font-size:clamp(1.75rem,4vw,2.5rem)}
h2{font-size:clamp(1.4rem,3vw,2rem)}
h3{font-size:clamp(1.1rem,2.5vw,1.5rem)}
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 1rem}

/* ---- HEADER ---- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,14,39,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:var(--header-h)}
.nav-container{max-width:var(--max-w);margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;height:100%}
.logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.15rem;color:var(--text-heading)}
.logo-icon{flex-shrink:0}
.nav-links{display:flex;gap:.25rem;align-items:center}
.nav-links a{padding:.5rem .75rem;border-radius:8px;color:var(--text-muted);font-size:.9rem;font-weight:500;transition:background .2s,color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--blue);background:rgba(96,165,250,.08)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s}
@media(max-width:768px){
.nav-toggle{display:flex}
.nav-links{display:none;position:absolute;top:var(--header-h);left:0;right:0;background:rgba(10,14,39,.98);backdrop-filter:blur(12px);flex-direction:column;padding:1rem;border-bottom:1px solid var(--border)}
.nav-links.open{display:flex}
.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
}

/* ---- HERO ---- */
.hero{padding:4rem 0 3rem;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 20%,rgba(96,165,250,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 60%,rgba(167,139,250,.06) 0%,transparent 50%);animation:heroBg 20s ease-in-out infinite alternate;pointer-events:none}
@keyframes heroBg{0%{transform:translate(0,0)}100%{transform:translate(-5%,3%)}}
.hero h1{margin-bottom:1rem}
.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-muted);max-width:700px;margin:0 auto 2rem}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.2);border-radius:99px;font-size:.8rem;color:var(--green);margin-bottom:1.5rem}

/* ---- BUTTONS ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s;font-family:var(--font-stack)}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;box-shadow:0 4px 20px var(--blue-glow)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 28px var(--blue-glow);color:#fff}
.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text)}
.btn-outline:hover{border-color:var(--blue);color:var(--blue)}
.btn-green{background:linear-gradient(135deg,var(--green),#059669);color:#fff;box-shadow:0 4px 20px var(--green-glow)}
.btn-green:hover{transform:translateY(-2px);color:#fff}
.btn-sm{padding:.5rem 1rem;font-size:.85rem}

/* ---- GAME CARDS ---- */
.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:2rem 0}
.game-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.75rem;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden}
.game-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(96,165,250,.04),rgba(167,139,250,.04));opacity:0;transition:opacity .3s}
.game-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(0,0,0,.3);border-color:rgba(96,165,250,.2)}
.game-card:hover::before{opacity:1}
.game-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;position:relative;z-index:1}
.game-card-icon.blue{background:rgba(96,165,250,.12)}
.game-card-icon.green{background:rgba(52,211,153,.12)}
.game-card-icon.violet{background:rgba(167,139,250,.12)}
.game-card h3{margin-bottom:.5rem;position:relative;z-index:1}
.game-card p{color:var(--text-muted);font-size:.9rem;margin-bottom:1.25rem;position:relative;z-index:1}
.game-card .btn{position:relative;z-index:1}

/* ---- SECTIONS ---- */
.section{padding:3rem 0}
.section-title{text-align:center;margin-bottom:.75rem}
.section-subtitle{text-align:center;color:var(--text-muted);max-width:600px;margin:0 auto 2rem}

/* ---- FEATURES ---- */
.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.feature-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem}
.feature-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;background:rgba(96,165,250,.1)}
.feature-card h3{font-size:1.05rem;margin-bottom:.5rem}
.feature-card p{color:var(--text-muted);font-size:.88rem}

/* ---- CONTENT ---- */
.content-section{padding:3rem 0}
.content-block{max-width:800px;margin:0 auto}
.content-block h1{margin-bottom:1.5rem}
.content-block h2{margin-top:2rem;margin-bottom:1rem;font-size:1.3rem}
.content-block h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.1rem}
.content-block p{margin-bottom:1rem;color:var(--text-muted)}
.content-block ul,.content-block ol{margin-bottom:1rem;padding-left:1.5rem;color:var(--text-muted)}
.content-block li{margin-bottom:.4rem}
.content-block ul{list-style:disc}
.content-block ol{list-style:decimal}
.content-block strong{color:var(--text)}
.content-block a{text-decoration:underline;text-decoration-color:rgba(96,165,250,.3);text-underline-offset:2px}

/* ---- HOMEPAGE TEXT ---- */
.home-content{padding:3rem 0}
.home-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media(max-width:768px){.home-content-grid{grid-template-columns:1fr}}
.home-content-block{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:1.75rem}
.home-content-block h2{font-size:1.15rem;margin-bottom:.75rem;color:var(--blue)}
.home-content-block p{color:var(--text-muted);font-size:.9rem;margin-bottom:.75rem}

/* ---- FAQ ---- */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:1rem;overflow:hidden}
.faq-question{width:100%;padding:1.25rem 1.5rem;background:none;border:none;color:var(--text-heading);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)}
.faq-question::after{content:'+';font-size:1.4rem;color:var(--blue);transition:transform .2s;flex-shrink:0;margin-left:1rem}
.faq-item.open .faq-question::after{transform:rotate(45deg)}
.faq-answer{padding:0 1.5rem;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s}
.faq-item.open .faq-answer{max-height:500px;padding:0 1.5rem 1.25rem}
.faq-answer p{color:var(--text-muted);font-size:.9rem;line-height:1.65}

/* ---- CONTACT FORM ---- */
.contact-form{max-width:600px;margin:0 auto}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;margin-bottom:.4rem;font-size:.9rem;font-weight:500;color:var(--text)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:.95rem;font-family:var(--font-stack);transition:border-color .2s}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--blue)}
.form-group textarea{min-height:120px;resize:vertical}

/* ---- GAME PAGE ---- */
.game-page{padding:2rem 0 3rem}
.game-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.game-header h1{font-size:clamp(1.4rem,3vw,1.8rem)}
.game-modes{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.game-mode-btn{padding:.5rem 1.25rem;border-radius:8px;border:1.5px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-weight:600;font-size:.88rem;font-family:var(--font-stack);transition:all .2s}
.game-mode-btn.active,.game-mode-btn:hover{border-color:var(--blue);color:var(--blue);background:rgba(96,165,250,.08)}
.game-area{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:2rem;min-height:300px;position:relative}
.game-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.stat-box{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:1rem 1.25rem;text-align:center;min-width:100px}
.stat-box .stat-value{font-size:1.5rem;font-weight:700;color:var(--blue)}
.stat-box .stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem}
.game-instructions{background:rgba(96,165,250,.05);border-radius:var(--radius);border:1px solid rgba(96,165,250,.1);padding:1.25rem;margin-bottom:1.5rem}
.game-instructions h3{font-size:.95rem;color:var(--blue);margin-bottom:.5rem}
.game-instructions p,.game-instructions li{font-size:.88rem;color:var(--text-muted)}
.game-instructions ul{padding-left:1.25rem;list-style:disc}

/* ---- NUMBER MATCH ---- */
.number-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:.5rem;margin:1.5rem 0}
@media(max-width:600px){.number-grid{grid-template-columns:repeat(5,1fr)}}
.number-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border:1.5px solid var(--border);border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--text-muted);user-select:none}
.number-cell:hover{border-color:var(--blue);color:var(--blue)}
.number-cell.selected{background:rgba(96,165,250,.15);border-color:var(--blue);color:var(--blue)}
.number-cell.matched{background:rgba(52,211,153,.15);border-color:var(--green);color:var(--green);animation:pop .3s ease}
.number-cell.missed{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:rgba(239,68,68,.7)}
#nmSelected{margin:.75rem 0;font-size:.95rem;color:var(--text-muted);min-height:1.5rem}
#nmResult{margin-top:1.5rem;text-align:center;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}
#nmResult.nm-result-visible{opacity:1;transform:translateY(0)}
.nm-result-text{font-size:1.1rem;font-weight:600;color:var(--green);margin-bottom:1rem}
.nm-play-again{margin-top:.5rem}
@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}

/* ---- SPIN PLAY ---- */
.spin-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.spin-wrapper{position:relative;width:280px;height:280px}
.spin-wrapper .spin-wheel{position:absolute;top:0;left:0;width:280px;height:280px}
.spin-wheel{width:280px;height:280px;border-radius:50%;border:4px solid var(--blue);position:relative;transition:transform 4s cubic-bezier(.17,.67,.12,.99);background:conic-gradient(from 0deg,rgba(96,165,250,.2) 0deg 45deg,rgba(167,139,250,.2) 45deg 90deg,rgba(52,211,153,.2) 90deg 135deg,rgba(96,165,250,.15) 135deg 180deg,rgba(167,139,250,.15) 180deg 225deg,rgba(52,211,153,.15) 225deg 270deg,rgba(96,165,250,.1) 270deg 315deg,rgba(167,139,250,.1) 315deg 360deg)}
.spin-pointer{position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:18px solid var(--blue);z-index:2;filter:drop-shadow(0 0 6px var(--blue-glow))}
.spin-segment-label{position:absolute;font-size:.75rem;font-weight:700;color:var(--text)}
.spin-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:var(--bg-dark);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--blue);font-size:.8rem}
.spin-result{font-size:1.5rem;font-weight:700;text-align:center;min-height:2rem;opacity:0;transform:scale(0.95);transition:opacity .3s,transform .3s}
.spin-result .points{color:var(--green)}
.spin-center{z-index:1}

/* ---- CARD MATCH ---- */
#cmResult{margin-top:1.5rem;text-align:center;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s;min-height:2rem}
#cmResult.nm-result-visible{opacity:1;transform:translateY(0)}
.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:500px;margin:0 auto}
@media(max-width:500px){.cards-grid{grid-template-columns:repeat(3,1fr)}}
.match-card{aspect-ratio:3/4;border-radius:10px;border:1.5px solid var(--border);cursor:pointer;transition:transform .3s,border-color .3s;position:relative;transform-style:preserve-3d;perspective:600px}
.match-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .4s}
.match-card.flipped .match-card-inner{transform:rotateY(180deg)}
.match-card-front,.match-card-back{position:absolute;inset:0;border-radius:10px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden}
.match-card-front{background:linear-gradient(135deg,rgba(96,165,250,.1),rgba(167,139,250,.1));font-size:1.5rem}
.match-card-back{background:var(--bg-card);transform:rotateY(180deg);font-size:2rem}
.match-card.matched{border-color:var(--green);opacity:.6;pointer-events:none}

/* ---- DAILY PICK ---- */
#dpResult{opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}
#dpResult.nm-result-visible{opacity:1;transform:translateY(0)}
.symbols-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:400px;margin:0 auto}
.symbol-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:2rem;background:rgba(255,255,255,.04);border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;user-select:none}
.symbol-cell:hover{border-color:var(--violet);background:rgba(167,139,250,.08)}
.symbol-cell.selected{border-color:var(--violet);background:rgba(167,139,250,.15)}
.symbol-cell.correct{border-color:var(--green);background:rgba(52,211,153,.15)}
.symbol-cell.wrong{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.08)}

/* ---- RAPID TAP ---- */
#rtResult{opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}
#rtResult.nm-result-visible{opacity:1;transform:translateY(0)}
.tap-zone{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--violet));display:flex;align-items:center;justify-content:center;margin:0 auto;cursor:pointer;transition:transform .1s,box-shadow .1s;user-select:none;font-size:1.5rem;font-weight:700;color:#fff}
.tap-zone:active{transform:scale(.95);box-shadow:0 0 40px var(--blue-glow)}
.tap-zone.waiting{background:linear-gradient(135deg,#374151,#1f2937);cursor:default}
.tap-zone.ready{background:linear-gradient(135deg,var(--green),#059669);animation:pulse 1s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 var(--green-glow)}50%{box-shadow:0 0 0 20px transparent}}
.tap-progress{width:100%;max-width:400px;height:8px;background:rgba(255,255,255,.06);border-radius:99px;margin:1.5rem auto;overflow:hidden}
.tap-progress-bar{height:100%;background:linear-gradient(90deg,var(--blue),var(--violet));border-radius:99px;transition:width .1s}

/* ---- AGE GATE ---- */
.age-gate-overlay{position:fixed;inset:0;z-index:9999;background:rgba(10,14,39,.97);display:flex;align-items:center;justify-content:center;padding:1rem}
.age-gate-modal{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:2.5rem;max-width:440px;width:100%;text-align:center}
.age-gate-icon{margin-bottom:1.25rem}
.age-gate-icon svg{margin:0 auto}
.age-gate-modal h2{margin-bottom:.75rem}
.age-gate-modal p{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}
.age-gate-note{font-weight:600;color:var(--text);margin-bottom:1.5rem!important;font-size:.95rem!important}
.age-gate-buttons{display:flex;gap:1rem;justify-content:center}

/* ---- DISCLAIMER BAR ---- */
.disclaimer-bar{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.12);border-radius:8px;padding:.6rem 1rem;text-align:center;font-size:.78rem;color:var(--text-muted);margin:1rem auto;max-width:var(--max-w)}

/* ---- FOOTER ---- */
.site-footer{margin-top:4rem;background:rgba(0,0,0,.2);border-top:1px solid var(--border);padding:3rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-col h3{font-size:1.1rem;margin-bottom:.75rem}
.footer-col h4{font-size:.95rem;margin-bottom:.75rem;color:var(--text-muted)}
.footer-col p{font-size:.85rem;color:var(--text-muted)}
.footer-col ul li{margin-bottom:.4rem}
.footer-col a{font-size:.85rem;color:var(--text-muted)}
.footer-col a:hover{color:var(--blue)}
.footer-disclaimer{text-align:center;padding:1.25rem;background:rgba(239,68,68,.04);border:1px solid rgba(239,68,68,.08);border-radius:var(--radius);margin-bottom:1.5rem}
.footer-disclaimer p{font-size:.82rem;color:#ef4444;font-weight:600}
.footer-bottom{text-align:center;padding-top:1rem;border-top:1px solid var(--border)}
.footer-bottom p{font-size:.8rem;color:var(--text-muted)}

/* ---- STREAK / BADGE ---- */
.streak-display{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.15);border-radius:99px;font-size:.82rem;font-weight:600;color:var(--green)}

/* ---- UTILITIES ---- */
.text-center{text-align:center}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}
.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}
.flex-center{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.fade-in{animation:fadeIn .4s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ---- SPIN WRAPPER ---- */
.spin-wrapper{position:relative;width:280px;height:280px;margin:0 auto}
.spin-wrapper .spin-wheel{position:absolute;inset:0}
.spin-wrapper .spin-pointer{position:absolute;top:-12px;left:50%;transform:translateX(-50%);z-index:3}

/* ---- GAME RESULTS ---- */
#nmSelected{text-align:center;padding:.75rem;font-size:.9rem;color:var(--text-muted);margin:.75rem 0}
#nmResult,#cmResult,#dpResult,#rtResult{text-align:center;padding:1rem;margin-top:1rem;opacity:0;transition:opacity .4s,transform .4s;transform:translateY(8px)}
#nmResult.nm-result-visible,#cmResult.cm-result-visible,#dpResult.dp-result-visible,#rtResult.rt-result-visible{opacity:1;transform:translateY(0)}
.nm-result-text,.cm-result-text,.dp-result-text,.rt-result-text{font-size:1.25rem;font-weight:700;color:var(--green);margin-bottom:1rem}
.nm-play-again,.cm-play-again,.dp-play-again,.rt-play-again{margin-top:.75rem}
#dpSelected{text-align:center;padding:.75rem;font-size:.9rem;color:var(--text-muted);margin:.75rem 0}
